0 txs
1 call
constructor
constructor(address initialAuthority_, address[] approvedTargets_)
functions
authority
viewfunction authority() view returns (address)
CHAIN_ID
viewfunction CHAIN_ID() view returns (uint256)
getApprovedTargets
viewfunction getApprovedTargets() view returns (address[])
getNonce
viewfunction getNonce(address sender_) view returns (uint256)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
isTargetApproved
viewfunction isTargetApproved(address target_) view returns (bool)
addApprovedTargets
nonpayablefunction addApprovedTargets(address[] targets_) returns (uint256 approvedCount)
removeApprovedTargets
nonpayablefunction removeApprovedTargets(address[] targets_) returns (uint256 removedCount)
runWithContext
nonpayablefunction runWithContext(tuple executeData_) returns (bytes[] results)
runWithContextAndSignature
nonpayablefunction runWithContextAndSignature(tuple[] contextDataArray_) returns (bytes[] results)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
events
ApprovedTargetAdded
event ApprovedTargetAdded(address indexed target)
ApprovedTargetRemoved
event ApprovedTargetRemoved(address indexed target)
AuthorityUpdated
event AuthorityUpdated(address authority)
ContextCall
event ContextCall(address indexed target, bytes data, bytes result)
Initialized
event Initialized(uint64 version)
NonceUpdated
event NonceUpdated(address indexed target, uint256 newNonce)
TargetApproved
event TargetApproved(address indexed target)
TargetRemoved
event TargetRemoved(address indexed target)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
ECDSAInvalidSignature
error ECDSAInvalidSignature()
ECDSAInvalidSignatureLength
error ECDSAInvalidSignatureLength(uint256 length)
ECDSAInvalidSignatureS
error ECDSAInvalidSignatureS(bytes32 s)
EmptyArrayNotAllowed
error EmptyArrayNotAllowed()
FailedInnerCall
error FailedInnerCall()
InvalidAuthority
error InvalidAuthority()
InvalidInitialization
error InvalidInitialization()
InvalidSignature
error InvalidSignature()
LengthMismatch
error LengthMismatch()
NonceTooLow
error NonceTooLow()
NonceTooLow
error NonceTooLow()
NotInitializing
error NotInitializing()
SignatureExpired
error SignatureExpired()
TargetNotApproved
error TargetNotApproved(address target)
creation bytecode
0x60a060405234801561000f575f80fd5b5060405161254c38038061254c83398101604081905261002e91610447565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff1615906001600160401b03165f811580156100775750825b90505f826001600160401b031660011480156100925750303b155b9050811580156100a0575080155b156100be5760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b031916600117855583156100ec57845460ff60401b1916680100000000000000001785555b6001600160a01b03871661011357604051636f6a1b8760e11b815260040160405180910390fd5b85515f81900361013657604051630a132f2160e11b815260040160405180910390fd5b61013f8861021d565b5f5b818110156101c5575f6001600160a01b031688828151811061016557610165610525565b60200260200101516001600160a01b03160361019457604051636f6a1b8760e11b815260040160405180910390fd5b6101bc8882815181106101a9576101a9610525565b602002602001015161023160201b60201c565b50600101610141565b505046608052831561021157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050610539565b610225610355565b61022e816103a5565b50565b5f6001600160a01b038216158061027e57506001600160a01b0382165f9081527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad180060205260409020546001145b1561028a57505f919050565b6001600160a01b0382165f8181527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad1800602081905260408083206001908190557fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad18018054918201815584527fe3f3ae7b196cced940680d4b91c0bf3a6add93a05a7252f22847105e99844adb0180546001600160a01b03191685179055519092917fcaaf0f7954430f867d6da96de538614d8b55c5796705ffff89bf715977b9781491a250600192915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166103a357604051631afcd79f60e31b815260040160405180910390fd5b565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b80516001600160a01b038116811461042e575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610458575f80fd5b61046183610418565b60208401519092506001600160401b0381111561047c575f80fd5b8301601f8101851361048c575f80fd5b80516001600160401b038111156104a5576104a5610433565b604051600582901b90603f8201601f191681016001600160401b03811182821017156104d3576104d3610433565b6040529182526020818401810192908101888411156104f0575f80fd5b6020850194505b838510156105165761050885610418565b8152602094850194016104f7565b50809450505050509250929050565b634e487b7160e01b5f52603260045260245ffd5b608051611ff46105585f395f818161015e01526111e00152611ff45ff3fe608060405234801561000f575f80fd5b50600436106100c4575f3560e01c806385e1f4d01161007d578063b76461dd11610058578063b76461dd146101ce578063bf7e214f146101e1578063d74f00391461021b575f80fd5b806385e1f4d0146101595780638fb3603714610180578063ae52c569146101b9575f80fd5b806355577209116100ad57806355577209146101115780636955cebb146101245780637a9e5e4b14610144575f80fd5b80632d0335ab146100c85780633308c3b5146100ee575b5f80fd5b6100db6100d636600461186e565b61022e565b6040519081526020015b60405180910390f35b6101016100fc36600461186e565b61026c565b60405190151581526020016100e5565b6100db61011f3660046118cf565b6102ab565b61013761013236600461190e565b6103b0565b6040516100e59190611991565b61015761015236600461186e565b610572565b005b6100db7f000000000000000000000000000000000000000000000000000000000000000081565b610188610659565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016100e5565b6101c16106cc565b6040516100e59190611a12565b6100db6101dc3660046118cf565b6106db565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546040516001600160a01b0390911681526020016100e5565b6101376102293660046118cf565b610733565b6001600160a01b0381165f9081527f0409b94a090b90a18fc2f85ddcc3023733517210eae8ad3941f503bbcf96a60060205260408120545b92915050565b6001600160a01b0381165f9081527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad18006020526040812054600114610266565b5f6102b8335b5f366108ea565b815f8190036102f3576040517f14265e4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b818110156103a8575f85858381811061031057610310611a5d565b9050602002016020810190610325919061186e565b6001600160a01b031603610365576040517fded4370e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61039485858381811061037a5761037a611a5d565b905060200201602081019061038f919061186e565b610b62565b156103a0578260010192505b6001016102f5565b505092915050565b60605f6103bd8380611a8a565b90509050805f036103fa576040517f14265e4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806104086020850185611a8a565b905014610441576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8067ffffffffffffffff81111561045a5761045a611aee565b60405190808252806020026020018201604052801561048d57816020015b60608152602001906001900390816104785790505b5091505f5b8181101561056b575f6104a58580611a8a565b838181106104b5576104b5611a5d565b90506020020160208101906104ca919061186e565b90506001600160a01b03811661050c576040517fded4370e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610545813361051e6020890189611a8a565b8681811061052e5761052e611a5d565b90506020028101906105409190611b1b565b610c9e565b84838151811061055757610557611a5d565b602090810291909101015250600101610492565b5050919050565b336105a47ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146105fe576040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b5f0361064c576040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016105f5565b61065582610e78565b5050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080545f919074010000000000000000000000000000000000000000900460ff166106a4575f6106c6565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b60606106d6610f03565b905090565b5f6106e5336102b1565b815f5b818110156103a85761071f85858381811061070557610705611a5d565b905060200201602081019061071a919061186e565b610f85565b1561072b578260010192505b6001016106e8565b6060815f819003610770576040517f14265e4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8067ffffffffffffffff81111561078957610789611aee565b6040519080825280602002602001820160405280156107bc57816020015b60608152602001906001900390816107a75790505b509150365f5b828110156108e1578585828181106107dc576107dc611a5d565b90506020028101906107ee9190611b7c565b9150816020013542111561082e576040517f0819bdcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083f61083a83611c8a565b6111c3565b610875576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088f610885602084018461186e565b836040013561124d565b6108bc6108a2608084016060850161186e565b6108af602085018561186e565b6105406080860186611b1b565b8482815181106108ce576108ce611a5d565b60209081029190910101526001016107c2565b50505092915050565b5f6108f86004828486611d2e565b61090191611d55565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f87ef0b8700000000000000000000000000000000000000000000000000000000148061099457507fffffffff0000000000000000000000000000000000000000000000000000000081167fdb99bddd00000000000000000000000000000000000000000000000000000000145b1561099d573393505b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005f80610a116109f47ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b8830610a0360045f8b8d611d2e565b610a0c91611d55565b611310565b9150915081610b595763ffffffff811615610b1c5782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178355610a947ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b03166394c7d7ee8888886040518463ffffffff1660e01b8152600401610ac393929190611e02565b5f604051808303815f87803b158015610ada575f80fd5b505af1158015610aec573d5f803e3d5ffd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16855550610b599050565b6040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b03881660048201526024016105f5565b50505050505050565b5f6001600160a01b0382161580610baf57506001600160a01b0382165f9081527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad180060205260409020546001145b15610bbb57505f919050565b6001600160a01b0382165f8181527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad1800602081905260408083206001908190557fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad18018054918201815584527fe3f3ae7b196cced940680d4b91c0bf3a6add93a05a7252f22847105e99844adb0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001685179055519092917fcaaf0f7954430f867d6da96de538614d8b55c5796705ffff89bf715977b9781491a250600192915050565b6060610ce0856001600160a01b03165f9081527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad1800602052604090205460011490565b610d21576040517f7f611ac80000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024016105f5565b6040517f87ef0b870000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301528616906387ef0b87906024015f604051808303815f87803b158015610d7a575f80fd5b505af1158015610d8c573d5f803e3d5ffd5b505050505f610dda84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250506001600160a01b038a169291505061147c565b9050856001600160a01b031663db99bddd6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610e14575f80fd5b505af1158015610e26573d5f803e3d5ffd5b50505050856001600160a01b03167fad6cb565dd8ac3e17ffb9e56c7a3cd58adce93d59ad87c77b5548a47588012c3858584604051610e6793929190611e2d565b60405180910390a295945050505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b60607fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad1800600101805480602002602001604051908101604052809291908181526020018280548015610f7b57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610f5d575b5050505050905090565b5f6001600160a01b0382161580610fd357506001600160a01b0382165f9081527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad18006020526040902054600114155b15610fdf57505f919050565b6001600160a01b0382165f9081527fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad18006020819052604082208290557fba0b14fc3b5f6eb62b63f24324d3267b78a7c3121b0d922dabc8df20fcad18015490915b818110156111bb57846001600160a01b031683600101828154811061106657611066611a5d565b5f918252602090912001546001600160a01b0316036111b35761108a600183611e52565b811461110a57826001016001836110a19190611e52565b815481106110b1576110b1611a5d565b5f918252602090912001546001840180546001600160a01b0390921691839081106110de576110de611a5d565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8260010180548061111d5761111d611e8a565b5f8281526020812082017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559091019091556040516001600160a01b038716917fb35a32a8f9bb4901ff5ee33940c4ac6dd6d7367174d482f025f44c3537ae835e91a2506001949350505050565b60010161103f565b505050919050565b5f815f01516001600160a01b031661123d836020015184604001517f00000000000000000000000000000000000000000000000000000000000000008660600151876080015160405160200161121d959493929190611ece565b604051602081830303815290604052805190602001208460a00151611490565b6001600160a01b03161492915050565b6001600160a01b0382165f9081527f0409b94a090b90a18fc2f85ddcc3023733517210eae8ad3941f503bbcf96a600602081905260409091205482116112bf576040517fd24d82a400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0383165f818152602083815260409182902085905590518481527f2ddf4902150368e68ca3b1565faf1e0603da0895a2699dc884f1db788c8396a2910160405180910390a2505050565b6040516001600160a01b03848116602483015283811660448301527fffffffff00000000000000000000000000000000000000000000000000000000831660648301525f91829182918291891690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb700961300000000000000000000000000000000000000000000000000000000179052516113e29190611f21565b5f60405180830381855afa9150503d805f811461141a576040519150601f19603f3d011682016040523d82523d5f602084013e61141f565b606091505b5091509150811561147157604081511061145157808060200190518101906114479190611f3b565b9094509250611471565b6020815110611471578080602001905181019061146e9190611f78565b93505b505094509492505050565b606061148983835f6114b8565b9392505050565b5f805f8061149e868661156a565b9250925092506114ae82826115b3565b5090949350505050565b6060814710156114f6576040517fcd7860590000000000000000000000000000000000000000000000000000000081523060048201526024016105f5565b5f80856001600160a01b031684866040516115119190611f21565b5f6040518083038185875af1925050503d805f811461154b576040519150601f19603f3d011682016040523d82523d5f602084013e611550565b606091505b50915091506115608683836116b6565b9695505050505050565b5f805f83516041036115a1576020840151604085015160608601515f1a6115938882858561172b565b9550955095505050506115ac565b505081515f91506002905b9250925092565b5f8260038111156115c6576115c6611f91565b036115cf575050565b60018260038111156115e3576115e3611f91565b0361161a576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561162e5761162e611f91565b03611668576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105f5565b600382600381111561167c5761167c611f91565b03610655576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105f5565b6060826116cb576116c682611811565b611489565b81511580156116e257506001600160a01b0384163b155b15611724576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024016105f5565b5080611489565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561176457505f91506003905082611807565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156117b5573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166117fe57505f925060019150829050611807565b92505f91508190505b9450945094915050565b8051156118215780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80356001600160a01b0381168114611869575f80fd5b919050565b5f6020828403121561187e575f80fd5b61148982611853565b5f8083601f840112611897575f80fd5b50813567ffffffffffffffff8111156118ae575f80fd5b6020830191508360208260051b85010111156118c8575f80fd5b9250929050565b5f80602083850312156118e0575f80fd5b823567ffffffffffffffff8111156118f6575f80fd5b61190285828601611887565b90969095509350505050565b5f6020828403121561191e575f80fd5b813567ffffffffffffffff811115611934575f80fd5b820160408185031215611489575f80fd5b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611a06577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526119f1858351611945565b945060209384019391909101906001016119b7565b50929695505050505050565b602080825282518282018190525f918401906040840190835b81811015611a525783516001600160a01b0316835260209384019390920191600101611a2b565b509095945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611abd575f80fd5b83018035915067ffffffffffffffff821115611ad7575f80fd5b6020019150600581901b36038213156118c8575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b4e575f80fd5b83018035915067ffffffffffffffff821115611b68575f80fd5b6020019150368190038213156118c8575f80fd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112611bae575f80fd5b9190910192915050565b60405160c0810167ffffffffffffffff81118282101715611bdb57611bdb611aee565b60405290565b5f82601f830112611bf0575f80fd5b813567ffffffffffffffff811115611c0a57611c0a611aee565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611c5757611c57611aee565b604052818152838201602001851015611c6e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60c08236031215611c9a575f80fd5b611ca2611bb8565b611cab83611853565b81526020838101359082015260408084013590820152611ccd60608401611853565b6060820152608083013567ffffffffffffffff811115611ceb575f80fd5b611cf736828601611be1565b60808301525060a083013567ffffffffffffffff811115611d16575f80fd5b611d2236828601611be1565b60a08301525092915050565b5f8085851115611d3c575f80fd5b83861115611d48575f80fd5b5050820193919092039150565b80357fffffffff000000000000000000000000000000000000000000000000000000008116906004841015611db4577fffffffff00000000000000000000000000000000000000000000000000000000808560040360031b1b82161691505b5092915050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6001600160a01b0384168152604060208201525f611e24604083018486611dbb565b95945050505050565b604081525f611e40604083018587611dbb565b82810360208401526115608185611945565b81810381811115610266577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f81518060208401855e5f93019283525090919050565b8581528460208201528360408201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660608201525f611f166074830184611eb7565b979650505050505050565b5f6114898284611eb7565b80518015158114611869575f80fd5b5f8060408385031215611f4c575f80fd5b611f5583611f2c565b9150602083015163ffffffff81168114611f6d575f80fd5b809150509250929050565b5f60208284031215611f88575f80fd5b61148982611f2c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220d03a3250584a971874113fedeba816f71f02629389ca249ff3bd8163677a145064736f6c634300081a0033000000000000000000000000cc9a3e8205ab60e613a044efcea5d3479187acee000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002d71cc054aa096a1b3739d67303f88c75b1d59dc