5 txs
9 calls
constructor
constructor(address _governance)
functions
futureGovernance
viewfunction futureGovernance() view returns (address)
getBalance
viewfunction getBalance() view returns (uint256)
governance
viewfunction governance() view returns (address)
isAllowed
viewfunction isAllowed(address) view returns (bool)
planStaticCall
viewfunction planStaticCall(address to, bytes data) view returns (bytes ret)
acceptGovernance
nonpayablefunction acceptGovernance()
allowAddress
nonpayablefunction allowAddress(address _address)
disallowAddress
nonpayablefunction disallowAddress(address _address)
execute
payablefunction execute(bytes32[] commands, bytes[] state) payable returns (bytes[])
planCall
nonpayablefunction planCall(address to, uint256 value, bytes data) returns (bytes ret)
planDelegateCall
nonpayablefunction planDelegateCall(address to, bytes data) returns (bytes ret)
transferGovernance
nonpayablefunction transferGovernance(address _governance)
withdraw
nonpayablefunction withdraw(address[] _tokens, uint256[] _amount, address _recipient)
events
AddressAllowed
event AddressAllowed(address indexed allowed)
AddressDisallowed
event AddressDisallowed(address indexed disallowed)
GovernanceChanged
event GovernanceChanged(address indexed newGovernance)
GovernanceProposed
event GovernanceProposed(address indexed newGovernance)
PlanExecuted
event PlanExecuted(address indexed executor, uint256 commandsCount)
errors
ExecutionFailed
error ExecutionFailed(uint256 command_index, address target, string message)
GOVERNANCE
error GOVERNANCE()
NOT_ALLOWED
error NOT_ALLOWED()
ONLY_SELF
error ONLY_SELF()
WRONG_LENGTH
error WRONG_LENGTH()
creation bytecode
0x60a060405234801561000f575f5ffd5b506040516126c53803806126c5833981810160405281019061003191906101a0565b3073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7760405160405180910390a2506101cb565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61016f82610146565b9050919050565b61017f81610165565b8114610189575f5ffd5b50565b5f8151905061019a81610176565b92915050565b5f602082840312156101b5576101b4610142565b5b5f6101c28482850161018c565b91505092915050565b6080516124e56101e05f395f50506124e55ff3fe6080604052600436106100c5575f3560e01c80638070c5031161007e578063babcc53911610058578063babcc53914610254578063d38bfff414610290578063de792d5f146102b8578063ebe28064146102e8576100cc565b80638070c503146101c6578063a758d888146101f0578063b7c58d7a1461022c576100cc565b806308af4d88146100d057806312065fe0146100f8578063238efcbc1461012257806326f91506146101385780635aa6e675146101605780637d3902e41461018a576100cc565b366100cc57005b5f5ffd5b3480156100db575f5ffd5b506100f660048036038101906100f19190611700565b610324565b005b348015610103575f5ffd5b5061010c610444565b6040516101199190611743565b60405180910390f35b34801561012d575f5ffd5b5061013661044b565b005b348015610143575f5ffd5b5061015e60048036038101906101599190611812565b610553565b005b34801561016b575f5ffd5b5061017461070a565b60405161018191906118b2565b60405180910390f35b348015610195575f5ffd5b506101b060048036038101906101ab919061194a565b61072e565b6040516101bd9190611a2b565b60405180910390f35b3480156101d1575f5ffd5b506101da61081d565b6040516101e791906118b2565b60405180910390f35b3480156101fb575f5ffd5b5061021660048036038101906102119190611a4b565b610842565b6040516102239190611a2b565b60405180910390f35b348015610237575f5ffd5b50610252600480360381019061024d9190611700565b61092d565b005b34801561025f575f5ffd5b5061027a60048036038101906102759190611700565b610a4c565b6040516102879190611ac2565b60405180910390f35b34801561029b575f5ffd5b506102b660048036038101906102b19190611700565b610a69565b005b6102d260048036038101906102cd9190611d36565b610b72565b6040516102df9190611eb2565b60405180910390f35b3480156102f3575f5ffd5b5061030e60048036038101906103099190611a4b565b610c59565b60405161031b9190611a2b565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a9576040517f1462783400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f5d20d7597e8195aa92d4ad63482761cfbbe7c4afdef190f27182702924c9af7760405160405180910390a250565b5f47905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104d1576040517f1462783400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905573ffffffffffffffffffffffffffffffffffffffff167fa6a85f15b976d399f39ad43e515e75910bac714bc55eeff6131fb90780d6f74660405160405180910390a2565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105d8576040517f1462783400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828290508585905014610617576040517f5547877e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f90505b85859050811015610702575f73ffffffffffffffffffffffffffffffffffffffff1686868381811061065157610650611ed2565b5b90506020020160208101906106669190611700565b73ffffffffffffffffffffffffffffffffffffffff16036106a9576106a48285858481811061069857610697611ed2565b5b90506020020135610d44565b6106f5565b6106f48686838181106106bf576106be611ed2565b5b90506020020160208101906106d49190611700565b838686858181106106e8576106e7611ed2565b5b90506020020135610d61565b5b808060010191505061061c565b505050505050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60603073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610795576040517f46ac008500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f8673ffffffffffffffffffffffffffffffffffffffff168686866040516107bf929190611f2d565b5f6040518083038185875af1925050503d805f81146107f9576040519150601f19603f3d011682016040523d82523d5f602084013e6107fe565b606091505b50915091508161081057805160208201fd5b8092505050949350505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60603073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f46ac008500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f8573ffffffffffffffffffffffffffffffffffffffff1685856040516108d2929190611f2d565b5f60405180830381855afa9150503d805f811461090a576040519150601f19603f3d011682016040523d82523d5f602084013e61090f565b606091505b50915091508161092157805160208201fd5b80925050509392505050565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b2576040517f1462783400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f5f1b0fa787087c297cc2ee3a7641860058ab750c330ac3ea5d6d5b9b777f353d60405160405180910390a250565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aee576040517f1462783400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905573ffffffffffffffffffffffffffffffffffffffff167f1f95fb40be3a947982072902a887b521248d1d8931a39eb38f84f4d6fd758b6960405160405180910390a250565b606060025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610bf4576040517f95c31a5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167fec6bc47979499e97e26dec48279a98e2d73290e0ace85381c5714426c6c1166185859050604051610c3d9190611743565b60405180910390a2610c50848484610db5565b90509392505050565b60603073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cc0576040517f46ac008500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f8573ffffffffffffffffffffffffffffffffffffffff168585604051610ce9929190611f2d565b5f60405180830381855af49150503d805f8114610d21576040519150601f19603f3d011682016040523d82523d5f602084013e610d26565b606091505b509150915081610d3857805160208201fd5b80925050509392505050565b5f385f3884865af1610d5d5763b12d13eb5f526004601cfd5b5050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416610dab57803d853b151710610daa576390b8ec185f526004601cfd5b5b5f60345250505050565b60605f5f5f5f60605f8989905090505f5b81811015611241578a8a82818110610de157610de0611ed2565b5b90506020020135965060ff60d888901c5f1c1695505f6040871614610e2d578a8a82610e0c90611f72565b925082818110610e1f57610e1e611ed2565b5b905060200201359450610e55565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff602888901b5f1c175f1b94505b5f6003871603610ee557865f1c73ffffffffffffffffffffffffffffffffffffffff16610e8d88878c6112529092919063ffffffff16565b604051610e9a9190611fe9565b5f60405180830381855af49150503d805f8114610ed2576040519150601f19603f3d011682016040523d82523d5f602084013e610ed7565b606091505b508094508195505050611156565b60016003871603610f7757865f1c73ffffffffffffffffffffffffffffffffffffffff16610f1e88878c6112529092919063ffffffff16565b604051610f2b9190611fe9565b5f604051808303815f865af19150503d805f8114610f64576040519150601f19603f3d011682016040523d82523d5f602084013e610f69565b606091505b508094508195505050611155565b6002600387160361100857865f1c73ffffffffffffffffffffffffffffffffffffffff16610fb088878c6112529092919063ffffffff16565b604051610fbd9190611fe9565b5f60405180830381855afa9150503d805f8114610ff5576040519150601f19603f3d011682016040523d82523d5f602084013e610ffa565b606091505b508094508195505050611154565b600380871603611118575f5f8a8760f81c60ff168151811061102d5761102c611ed2565b5b60200260200101519050602081511461107b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110729061207f565b60405180910390fd5b60208101519150885f1c73ffffffffffffffffffffffffffffffffffffffff16826110bc8b60ff60088c901b5f1c175f1b8f6112529092919063ffffffff16565b6040516110c99190611fe9565b5f6040518083038185875af1925050503d805f8114611103576040519150601f19603f3d011682016040523d82523d5f602084013e611108565b606091505b5080965081975050505050611153565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906120e7565b60405180910390fd5b5b5b5b836111f2575f8351111561116b576044830192505b5f875f1c5f8551116111b2576040518060400160405280600781526020017f556e6b6e6f776e000000000000000000000000000000000000000000000000008152506111b4565b845b6040517fef3dcb2f0000000000000000000000000000000000000000000000000000000081526004016111e993929190612189565b60405180910390fd5b5f608087161461121a57611215605888901b848b61149c9092919063ffffffff16565b611236565b611233605888901b848b6115519092919063ffffffff16565b98505b806001019050610dc6565b508796505050505050509392505050565b60605f5f5f5b602081101561129a5784816020811061127457611273611ed2565b5b1a60f81b60f81c60ff16915060ff82031561129a57602083019250806001019050611258565b505f6040519350600481019050601f19601f60208301011684016040528560208501525f5f905060605f5b602081101561148c578781602081106112e1576112e0611ed2565b5b1a60f81b60f81c60ff16945060ff85031561148c575f60808616146114365760fe85036113ae57602084019350601f19601f602086010116870160405285836024890101525f825103611351578960405160200161133f9190611eb2565b60405160208183030381529060405291505b815184019350601f19601f602086010116870160405261138e8260208960048a61137b91906121c5565b6020875161138991906121f8565b61167b565b6020825161139c91906121f8565b866113a791906121c5565b9550611431565b5f8a607f8716815181106113c5576113c4611ed2565b5b602002602001015190505f81519050602086019550601f19601f6020880101168901604052878560248b0101528086019550601f19601f6020880101168901604052611420825f8b60048c61141a91906121c5565b8561167b565b808861142c91906121c5565b975050505b61147b565b5f8a607f87168151811061144d5761144c611ed2565b5b60200260200101519050805185019450601f19601f602087010116880160405260208101518460248a010152505b6020830192508060010190506112c5565b5082865250505050509392505050565b5f8260f81c60ff16905060ff81036114b4575061154c565b5f602083516114c391906121c5565b67ffffffffffffffff8111156114dc576114db611b30565b5b6040519080825280601f01601f19166020018201604052801561150e5781602001600182028036833780820191505090505b5085607f84168151811061152557611524611ed2565b5b602002602001018190529050611540835f836020875161167b565b82518060208301525050505b505050565b60605f8360f81c60ff16905060ff810361156e5784915050611674565b5f60808216146116085760fe810361159b5782806020019051810190611594919061234c565b9450611603565b5f60208401519050602081146115e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dd90612403565b60405180910390fd5b60208451036020850152602084016020607f841602602088010152505b61166f565b602083511461164c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164390612491565b60405180910390fd5b8285607f83168151811061166357611662611ed2565b5b60200260200101819052505b849150505b9392505050565b808260208501018286602089010160045afa505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6116cf826116a6565b9050919050565b6116df816116c5565b81146116e9575f5ffd5b50565b5f813590506116fa816116d6565b92915050565b5f602082840312156117155761171461169e565b5b5f611722848285016116ec565b91505092915050565b5f819050919050565b61173d8161172b565b82525050565b5f6020820190506117565f830184611734565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261177d5761177c61175c565b5b8235905067ffffffffffffffff81111561179a57611799611760565b5b6020830191508360208202830111156117b6576117b5611764565b5b9250929050565b5f5f83601f8401126117d2576117d161175c565b5b8235905067ffffffffffffffff8111156117ef576117ee611760565b5b60208301915083602082028301111561180b5761180a611764565b5b9250929050565b5f5f5f5f5f6060868803121561182b5761182a61169e565b5b5f86013567ffffffffffffffff811115611848576118476116a2565b5b61185488828901611768565b9550955050602086013567ffffffffffffffff811115611877576118766116a2565b5b611883888289016117bd565b93509350506040611896888289016116ec565b9150509295509295909350565b6118ac816116c5565b82525050565b5f6020820190506118c55f8301846118a3565b92915050565b6118d48161172b565b81146118de575f5ffd5b50565b5f813590506118ef816118cb565b92915050565b5f5f83601f84011261190a5761190961175c565b5b8235905067ffffffffffffffff81111561192757611926611760565b5b60208301915083600182028301111561194357611942611764565b5b9250929050565b5f5f5f5f606085870312156119625761196161169e565b5b5f61196f878288016116ec565b9450506020611980878288016118e1565b935050604085013567ffffffffffffffff8111156119a1576119a06116a2565b5b6119ad878288016118f5565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6119fd826119bb565b611a0781856119c5565b9350611a178185602086016119d5565b611a20816119e3565b840191505092915050565b5f6020820190508181035f830152611a4381846119f3565b905092915050565b5f5f5f60408486031215611a6257611a6161169e565b5b5f611a6f868287016116ec565b935050602084013567ffffffffffffffff811115611a9057611a8f6116a2565b5b611a9c868287016118f5565b92509250509250925092565b5f8115159050919050565b611abc81611aa8565b82525050565b5f602082019050611ad55f830184611ab3565b92915050565b5f5f83601f840112611af057611aef61175c565b5b8235905067ffffffffffffffff811115611b0d57611b0c611760565b5b602083019150836020820283011115611b2957611b28611764565b5b9250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b66826119e3565b810181811067ffffffffffffffff82111715611b8557611b84611b30565b5b80604052505050565b5f611b97611695565b9050611ba38282611b5d565b919050565b5f67ffffffffffffffff821115611bc257611bc1611b30565b5b602082029050602081019050919050565b5f5ffd5b5f67ffffffffffffffff821115611bf157611bf0611b30565b5b611bfa826119e3565b9050602081019050919050565b828183375f83830152505050565b5f611c27611c2284611bd7565b611b8e565b905082815260208101848484011115611c4357611c42611bd3565b5b611c4e848285611c07565b509392505050565b5f82601f830112611c6a57611c6961175c565b5b8135611c7a848260208601611c15565b91505092915050565b5f611c95611c9084611ba8565b611b8e565b90508083825260208201905060208402830185811115611cb857611cb7611764565b5b835b81811015611cff57803567ffffffffffffffff811115611cdd57611cdc61175c565b5b808601611cea8982611c56565b85526020850194505050602081019050611cba565b5050509392505050565b5f82601f830112611d1d57611d1c61175c565b5b8135611d2d848260208601611c83565b91505092915050565b5f5f5f60408486031215611d4d57611d4c61169e565b5b5f84013567ffffffffffffffff811115611d6a57611d696116a2565b5b611d7686828701611adb565b9350935050602084013567ffffffffffffffff811115611d9957611d986116a2565b5b611da586828701611d09565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f611df2826119bb565b611dfc8185611dd8565b9350611e0c8185602086016119d5565b611e15816119e3565b840191505092915050565b5f611e2b8383611de8565b905092915050565b5f602082019050919050565b5f611e4982611daf565b611e538185611db9565b935083602082028501611e6585611dc9565b805f5b85811015611ea05784840389528151611e818582611e20565b9450611e8c83611e33565b925060208a01995050600181019050611e68565b50829750879550505050505092915050565b5f6020820190508181035f830152611eca8184611e3f565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81905092915050565b5f611f148385611eff565b9350611f21838584611c07565b82840190509392505050565b5f611f39828486611f09565b91508190509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611f7c8261172b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611fae57611fad611f45565b5b600182019050919050565b5f611fc3826119bb565b611fcd8185611eff565b9350611fdd8185602086016119d5565b80840191505092915050565b5f611ff48284611fb9565b915081905092915050565b5f82825260208201905092915050565b7f5f657865637574653a2076616c75652063616c6c20686173206e6f2076616c755f8201527f6520696e646963617465642e0000000000000000000000000000000000000000602082015250565b5f612069602c83611fff565b91506120748261200f565b604082019050919050565b5f6020820190508181035f8301526120968161205d565b9050919050565b7f496e76616c69642063616c6c74797065000000000000000000000000000000005f82015250565b5f6120d1601083611fff565b91506120dc8261209d565b602082019050919050565b5f6020820190508181035f8301526120fe816120c5565b9050919050565b5f819050919050565b5f819050919050565b5f61213161212c61212784612105565b61210e565b61172b565b9050919050565b61214181612117565b82525050565b5f81519050919050565b5f61215b82612147565b6121658185611fff565b93506121758185602086016119d5565b61217e816119e3565b840191505092915050565b5f60608201905061219c5f830186612138565b6121a960208301856118a3565b81810360408301526121bb8184612151565b9050949350505050565b5f6121cf8261172b565b91506121da8361172b565b92508282019050808211156121f2576121f1611f45565b5b92915050565b5f6122028261172b565b915061220d8361172b565b925082820390508181111561222557612224611f45565b5b92915050565b5f61223d61223884611bd7565b611b8e565b90508281526020810184848401111561225957612258611bd3565b5b6122648482856119d5565b509392505050565b5f82601f8301126122805761227f61175c565b5b815161229084826020860161222b565b91505092915050565b5f6122ab6122a684611ba8565b611b8e565b905080838252602082019050602084028301858111156122ce576122cd611764565b5b835b8181101561231557805167ffffffffffffffff8111156122f3576122f261175c565b5b808601612300898261226c565b855260208501945050506020810190506122d0565b5050509392505050565b5f82601f8301126123335761233261175c565b5b8151612343848260208601612299565b91505092915050565b5f602082840312156123615761236061169e565b5b5f82015167ffffffffffffffff81111561237e5761237d6116a2565b5b61238a8482850161231f565b91505092915050565b7f4f6e6c79206f6e652072657475726e2076616c7565207065726d6974746564205f8201527f287661726961626c652900000000000000000000000000000000000000000000602082015250565b5f6123ed602a83611fff565b91506123f882612393565b604082019050919050565b5f6020820190508181035f83015261241a816123e1565b9050919050565b7f4f6e6c79206f6e652072657475726e2076616c7565207065726d6974746564205f8201527f2873746174696329000000000000000000000000000000000000000000000000602082015250565b5f61247b602883611fff565b915061248682612421565b604082019050919050565b5f6020820190508181035f8301526124a88161246f565b905091905056fea2646970667358221220839a25e760d41efb0297bbd715e5c60aafeb08ea788fb4a9db75365d6050c2e264736f6c634300081c00330000000000000000000000008898502ba35ab64b3562abc509befb7eb178d4df