13.7k txs
13.7k calls
constructor
constructor(address _owner, address _solverSigner)
functions
hash
viewfunction hash(uint256 nonce, tuple[] actions, tuple fulfillment) view returns (bytes32)
hash
viewfunction hash(uint256 nonce, tuple[] actions) view returns (bytes32)
nominee
viewfunction nominee() view returns (address)
nonceUsed
viewfunction nonceUsed(uint256) view returns (bool)
owner
viewfunction owner() view returns (address)
verifySignature
viewfunction verifySignature(bytes32 messageHash, bytes signature) view
claimOwner
nonpayablefunction claimOwner()
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
performActions
nonpayablefunction performActions(tuple[] actions, uint256 nonce, bytes signature)
performActionsAndFulfill
nonpayablefunction performActionsAndFulfill(tuple[] actions, tuple fulfillment, uint256 nonce, bytes signature)
rescueFunds
nonpayablefunction rescueFunds(address token_, address rescueTo_, uint256 amount_)
events
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
errors
ActionFailed
error ActionFailed(uint256 index)
InvalidNonce
error InvalidNonce()
InvalidSigner
error InvalidSigner()
InvalidTokenAddress
error InvalidTokenAddress()
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a06040523480156200001157600080fd5b50604051620019ec380380620019ec8339810160408190526200003491620000c4565b81620000408162000054565b506001600160a01b031660805250620000fc565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b80516001600160a01b0381168114620000bf57600080fd5b919050565b60008060408385031215620000d857600080fd5b620000e383620000a7565b9150620000f360208401620000a7565b90509250929050565b6080516118d46200011860003960006103d401526118d46000f3fe60806040526004361061009a5760003560e01c80638da5cb5b116100615780638da5cb5b1461014f57806394d0d3a61461016d578063c5c19ec1146101ad578063daca6f78146101cd578063e26d4391146101ed578063f2962ff41461021b57005b806320f99c0a146100a35780633bd1adec146100da5780635b94db27146100ef57806368ea4fb51461010f5780636ccae0541461012f57005b366100a157005b005b3480156100af57600080fd5b506001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100e657600080fd5b506100a161023b565b3480156100fb57600080fd5b506100a161010a366004610b73565b610271565b34801561011b57600080fd5b506100a161012a366004610c3b565b6102e6565b34801561013b57600080fd5b506100a161014a366004610cd8565b610326565b34801561015b57600080fd5b506000546001600160a01b03166100bd565b34801561017957600080fd5b5061019d610188366004610d19565b60026020526000908152604090205460ff1681565b60405190151581526020016100d1565b3480156101b957600080fd5b506100a16101c8366004610d32565b610361565b3480156101d957600080fd5b506100a16101e8366004610dab565b610389565b3480156101f957600080fd5b5061020d610208366004610df6565b61041a565b6040519081526020016100d1565b34801561022757600080fd5b5061020d610236366004610e68565b610457565b6001546001600160a01b0316331461026657604051637c91ccdd60e01b815260040160405180910390fd5b61026f33610491565b565b6000546001600160a01b0316331461029c57604051635fc483c560e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b6102fc6102f58488888861041a565b8383610389565b610305836104e4565b841561031557610315868661052f565b61031e84610627565b505050505050565b6000546001600160a01b0316331461035157604051635fc483c560e01b815260040160405180910390fd5b61035c838383610773565b505050565b61036f6102f5848787610457565b610378836104e4565b610382858561052f565b5050505050565b6103c98383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506107ff92505050565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461035c57604051632057875960e21b815260040160405180910390fd5b600030854686868660405160200161043796959493929190611339565b604051602081830303815290604052805190602001209050949350505050565b6000308446858560405160200161047295949392919061141b565b6040516020818303038152906040528051906020012090509392505050565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b60008181526002602052604090205460ff161561051457604051633ab3447f60e11b815260040160405180910390fd5b6000908152600260205260409020805460ff19166001179055565b60005b8181101561035c57600083838381811061054e5761054e611454565b9050602002810190610560919061146a565b610569906115e0565b8051519091501561057f57805161057f9061086d565b600081602001516001600160a01b0316826040015183606001516040516105a691906116fb565b60006040518083038185875af1925050503d80600081146105e3576040519150601f19603f3d011682016040523d82523d6000602084013e6105e8565b606091505b50509050806106125760405163a6a7dbbd60e01b8152600481018490526024015b60405180910390fd5b5050808061061f9061170d565b915050610532565b60006106338280611734565b9050111561069e5761069e6106488280611734565b808060200260200160405190810160405280939291908181526020016000905b82821015610694576106856060830286013681900381019061177c565b81526020019060010190610668565b505050505061086d565b6106ae6040820160208301610b73565b6001600160a01b0316632a02224160408301356106ce6060850185611798565b6040516024016106df9291906117e1565b60408051601f198184030181529181526020820180516001600160e01b031663cf376c1d60e01b179052516001600160e01b031960e085901b16815261072891906004016117f5565b60006040518083038185885af1158015610746573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261076f9190810190611828565b5050565b6001600160a01b03821661079a5760405163d92e233d60e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016107c95761035c8282610900565b826001600160a01b03163b6000036107f457604051630f58058360e11b815260040160405180910390fd5b61035c838383610951565b600080610859846040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b905061086581846109d8565b949350505050565b60005b815181101561076f576108ee82828151811061088e5761088e611454565b6020026020010151602001518383815181106108ac576108ac611454565b6020026020010151604001518484815181106108ca576108ca611454565b6020026020010151600001516001600160a01b0316610a579092919063ffffffff16565b806108f88161170d565b915050610870565b600080600080600085875af190508061035c5760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606401610609565b600060405163a9059cbb60e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806109d25760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606401610609565b50505050565b6000806000806109e785610ad7565b6040805160008152602081018083528b905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015610a42573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b600060405163095ea7b360e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806109d25760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b6044820152606401610609565b60008060008351604114610b2d5760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e67746800000000000000006044820152606401610609565b50505060208101516040820151606090920151909260009190911a90565b6001600160a01b0381168114610b6057600080fd5b50565b8035610b6e81610b4b565b919050565b600060208284031215610b8557600080fd5b8135610b9081610b4b565b9392505050565b60008083601f840112610ba957600080fd5b5081356001600160401b03811115610bc057600080fd5b6020830191508360208260051b8501011115610bdb57600080fd5b9250929050565b600060808284031215610bf457600080fd5b50919050565b60008083601f840112610c0c57600080fd5b5081356001600160401b03811115610c2357600080fd5b602083019150836020828501011115610bdb57600080fd5b60008060008060008060808789031215610c5457600080fd5b86356001600160401b0380821115610c6b57600080fd5b610c778a838b01610b97565b90985096506020890135915080821115610c9057600080fd5b610c9c8a838b01610be2565b9550604089013594506060890135915080821115610cb957600080fd5b50610cc689828a01610bfa565b979a9699509497509295939492505050565b600080600060608486031215610ced57600080fd5b8335610cf881610b4b565b92506020840135610d0881610b4b565b929592945050506040919091013590565b600060208284031215610d2b57600080fd5b5035919050565b600080600080600060608688031215610d4a57600080fd5b85356001600160401b0380821115610d6157600080fd5b610d6d89838a01610b97565b9097509550602088013594506040880135915080821115610d8d57600080fd5b50610d9a88828901610bfa565b969995985093965092949392505050565b600080600060408486031215610dc057600080fd5b8335925060208401356001600160401b03811115610ddd57600080fd5b610de986828701610bfa565b9497909650939450505050565b60008060008060608587031215610e0c57600080fd5b8435935060208501356001600160401b0380821115610e2a57600080fd5b610e3688838901610b97565b90955093506040870135915080821115610e4f57600080fd5b50610e5c87828801610be2565b91505092959194509250565b600080600060408486031215610e7d57600080fd5b8335925060208401356001600160401b03811115610e9a57600080fd5b610de986828701610b97565b6000808335601e19843603018112610ebd57600080fd5b83016020810192503590506001600160401b03811115610edc57600080fd5b606081023603821315610bdb57600080fd5b8183526000602080850194508260005b85811015610f4d578135610f1181610b4b565b6001600160a01b0390811688528284013590610f2c82610b4b565b16878401526040828101359088015260609687019690910190600101610efe565b509495945050505050565b6000808335601e19843603018112610f6f57600080fd5b83016020810192503590506001600160401b03811115610f8e57600080fd5b803603821315610bdb57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b81019150846000805b8881101561107f578385038a528235607e19893603018112611001578283fd5b8801608061100f8280610ea6565b82895261101f838a018284610eee565b925050508782013561103081610b4b565b6001600160a01b03168789015260408281013590880152606061105581840184610f58565b9350888303828a0152611069838583610f9d565b9d8a019d98505050938701935050600101610fe1565b509298975050505050505050565b803563ffffffff81168114610b6e57600080fd5b6000823560be198336030181126110b757600080fd5b90910192915050565b81835260006020808501808196508560051b810191508460005b8781101561132c5782840389526110f182886110a1565b803561023e1982360301811261110657600080fd5b818101905060c08652803560c08701528681013560e087015261010060408201358188015261012060608301358189015261114360808401610b63565b61014061115a818b01836001600160a01b03169052565b60a09150611169828601610b63565b610160611180818d01836001600160a01b03169052565b61118c60c08801610b63565b91506101806111a5818e01846001600160a01b03169052565b6111b160e08901610b63565b92506101a06111ca818f01856001600160a01b03169052565b6111d5888a0161108d565b97506101c093506111ed848f018963ffffffff169052565b6111f8878a01610b63565b97506101e09650611213878f01896001600160a01b03169052565b610200975084890135888f015261122b838a01610b63565b94506102209250611246838f01866001600160a01b03169052565b610240945081890135858f0152808901356102608f0152505061126a828801610b63565b6001600160a01b0381166102808e01529150848701356102a08d0152858701356102c08d015261129c81880188610f58565b975095505050806102e08b0152506112b96103008a018585610f9d565b93506112c68a8601610b63565b6001600160a01b0381168a8c01529250604085013560408a0152606085013560608a01526112f76080860186610f58565b9350915088840360808a015261130e848484610f9d565b948101359801979097525050988501989350908401906001016110da565b5091979650505050505050565b600060018060a01b03808916835287602084015286604084015260a0606084015261136860a084018688610fc6565b838103608085015261137a8586610ea6565b6080835261138c608084018284610eee565b915050602086013561139d81610b4b565b90921660208201526040858101359082015260608501359136869003601e190183126113c857600080fd5b602092860192830192356001600160401b038111156113e657600080fd5b8060051b36038413156113f857600080fd5b828203606084015261140b8282866110c0565b9c9b505050505050505050505050565b60018060a01b0386168152846020820152836040820152608060608201526000611449608083018486610fc6565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60008235607e1983360301811261148057600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156114c2576114c261148a565b60405290565b604051601f8201601f191681016001600160401b03811182821017156114f0576114f061148a565b604052919050565b60006060828403121561150a57600080fd5b604051606081018181106001600160401b038211171561152c5761152c61148a565b604052905080823561153d81610b4b565b8152602083013561154d81610b4b565b6020820152604092830135920191909152919050565b60006001600160401b0382111561157c5761157c61148a565b50601f01601f191660200190565b600082601f83011261159b57600080fd5b81356115ae6115a982611563565b6114c8565b8181528460208386010111156115c357600080fd5b816020850160208301376000918101602001919091529392505050565b6000608082360312156115f257600080fd5b6115fa6114a0565b82356001600160401b038082111561161157600080fd5b9084019036601f83011261162457600080fd5b81356020828211156116385761163861148a565b611646818360051b016114c8565b8281526060928302850182019282820191903685111561166557600080fd5b958301955b8487101561168b5761167c36886114f8565b8352958601959183019161166a565b818852611699848b01610b63565b8489015260408a01356040890152808a01359650858711156116ba57600080fd5b6116c636888c0161158a565b908801525094979650505050505050565b60005b838110156116f25781810151838201526020016116da565b50506000910152565b600082516114808184602087016116d7565b60006001820161172d57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000808335601e1984360301811261174b57600080fd5b8301803591506001600160401b0382111561176557600080fd5b6020019150606081023603821315610bdb57600080fd5b60006060828403121561178e57600080fd5b610b9083836114f8565b6000808335601e198436030181126117af57600080fd5b8301803591506001600160401b038211156117c957600080fd5b6020019150600581901b3603821315610bdb57600080fd5b6020815260006108656020830184866110c0565b60208152600082518060208401526118148160408501602087016116d7565b601f01601f19169190910160400192915050565b60006020828403121561183a57600080fd5b81516001600160401b0381111561185057600080fd5b8201601f8101841361186157600080fd5b805161186f6115a982611563565b81815285602083850101111561188457600080fd5b6118958260208301602086016116d7565b9594505050505056fea2646970667358221220aa80d00945a3eb590ab6e6ed6c6d2471d9ecbad4a735ef60cc70d29c5086498364736f6c63430008130033000000000000000000000000a5acba07788f16b4790fcbb09ca3b7fc8dd053a20000000000000000000000001bbfc77ec4125e2afda04e768f689aaca79ac59f