1.2k txs
647 calls
constructor
No constructor.
functions
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
getNonce
viewfunction getNonce(address account, uint192 key) view returns (uint64)
getOwner
viewfunction getOwner(address account) view returns (address)
isInitialized
viewfunction isInitialized(address smartAccount) view returns (bool)
isModuleType
purefunction isModuleType(uint256 typeID) pure returns (bool)
execute
payablefunction execute(address account, bytes32 mode, bytes executionCalldata, uint256 nonce, uint256 expiration, bytes signature) payable returns (bytes[] returnData)
incrementNonce
nonpayablefunction incrementNonce(uint192 key)
onInstall
payablefunction onInstall(bytes _data) payable
onUninstall
payablefunction onUninstall(bytes) payable
events
ExecutionRequested
event ExecutionRequested(address indexed kernel, bytes32 indexed executionHash)
OwnerRegistered
event OwnerRegistered(address indexed kernel, address indexed owner)
OwnerUnregistered
event OwnerUnregistered(address indexed kernel, address indexed owner)
errors
AlreadyInitialized
error AlreadyInitialized(address smartAccount)
InvalidNonce
error InvalidNonce(address account, uint256 expected, uint256 actual)
InvalidOwner
error InvalidOwner()
InvalidSignature
error InvalidSignature()
NotInitialized
error NotInitialized(address smartAccount)
SignatureExpired
error SignatureExpired(address account, uint256 expiration)
creation bytecode
0x610120604052348015610010575f5ffd5b50306080524660a05260608061005e604080518082018252600d81526c22a1a229a0a2bc32b1baba37b960991b602080830191909152825180840190935260018352603160f81b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a0902061010052506100c79050565b60805160a05160c05160e05161010051610e736101045f395f6107c101525f61087b01525f61085501525f61080501525f6107e20152610e735ff3fe608060405260043610610084575f3560e01c80638a91b0e3116100575780638a91b0e31461011f578063d60b347f14610132578063db5c7e8814610161578063ecd0596114610181578063fa544161146101a1575f5ffd5b80630bd28e3b1461008857806335567e1a146100a95780636d61fe70146100e557806384b0196e146100f8575b5f5ffd5b348015610093575f5ffd5b506100a76100a236600461097c565b6101f0565b005b3480156100b4575f5ffd5b506100c86100c33660046109b3565b61027d565b6040516001600160401b0390911681526020015b60405180910390f35b6100a76100f3366004610a2a565b6102ba565b348015610103575f5ffd5b5061010c610371565b6040516100dc9796959493929190610ab5565b6100a761012d366004610a2a565b6103d1565b34801561013d575f5ffd5b5061015161014c366004610b4b565b610453565b60405190151581526020016100dc565b61017461016f366004610b66565b61045d565b6040516100dc9190610c01565b34801561018c575f5ffd5b5061015161019b366004610c64565b60021490565b3480156101ac575f5ffd5b506101d86101bb366004610b4b565b6001600160a01b039081165f908152602081905260409020541690565b6040516001600160a01b0390911681526020016100dc565b6101f9336106b3565b61021d5760405163f91bd6f160e01b81523360048201526024015b60405180910390fd5b335f908152602081815260408083206001600160c01b0385168452600101909152812080546001600160401b03169161025583610c8f565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505050565b6001600160a01b0382165f908152602081815260408083206001600160c01b03851684526001019091529020546001600160401b03165b92915050565b6102c3336106b3565b156102e3576040516393360fbf60e01b8152336004820152602401610214565b5f6102f082840184610b4b565b90506001600160a01b038116610319576040516349e27cff60e01b815260040160405180910390fd5b335f8181526020819052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917fa5e1f8b4009110f5525798d04ae2125421a12d0590aa52c13682ff1bd3c492ca91a3505050565b600f60f81b6060805f8080836103bf604080518082018252600d81526c22a1a229a0a2bc32b1baba37b960991b602080830191909152825180840190935260018352603160f81b9083015291565b97989097965046955030945091925090565b6103da336106b3565b6103f95760405163f91bd6f160e01b8152336004820152602401610214565b335f8181526020819052604080822080546001600160a01b0319811690915590516001600160a01b0390911692839290917f2b019c4af52bef00865aed6c1141af64d6b25de072499d6ca81d9afcb20e86c39190a3505050565b5f6102b4826106b3565b6060610468896106b3565b6104905760405163f91bd6f160e01b81526001600160a01b038a166004820152602401610214565b834211156104c357604051631872770b60e01b81526001600160a01b038a16600482015260248101859052604401610214565b6104cd89866106d2565b5f7f57163c36638b3a6c9b132da8051a766c3e21740a25b58e5d1671652192034d548a8a8a8a604051610501929190610cb9565b604051908190038120610549949392918b908b906020019586526001600160a01b0394909416602086015260408501929092526060840152608083015260a082015260c00190565b6040516020818303038152906040528051906020012090505f61056b826107bf565b9050808b6001600160a01b03167f8a887d1329b2ab70e3590efa71d8d5608fd795ad7798f4062b7e92bc87ab720c60405160405180910390a36001600160a01b03808c165f9081526020818152604091829020548251601f8901839004830281018301909352878352909216916105fd91849189908990819084018382808284375f920191909152506108d592505050565b6001600160a01b0316816001600160a01b03161461062e57604051638baa579f60e01b815260040160405180910390fd5b6040516335a4725960e21b81526001600160a01b038d169063d691c964903490610660908f908f908f90600401610cc8565b5f6040518083038185885af115801561067b573d5f5f3e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526106a39190810190610d41565b9c9b505050505050505050505050565b6001600160a01b039081165f9081526020819052604090205416151590565b6001600160a01b0382165f9081526020818152604080832084821c8085526001909101909252909120546001600160401b03808416911680821461075d578467ffffffffffffffff19604085901b166001600160401b03831617604051630ec5782360e11b81526001600160a01b039092166004830152602482015260448101859052606401610214565b610768826001610e60565b6001600160a01b03959095165f908152602081815260408083206001600160c01b039690961683526001909501905292909220805467ffffffffffffffff19166001600160401b0390951694909417909355505050565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f00000000000000000000000000000000000000000000000000000000000000004614166108b25750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b6719010000000000005f5280601a5281603a52604260182090505f603a52919050565b5f6040518251604081146108f15760418114610912575061094d565b604084015160ff81901c601b016020526001600160ff1b0316606052610925565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5191505f606052806040523d61095a575b638baa579f5f526004601cfd5b5092915050565b80356001600160c01b0381168114610977575f5ffd5b919050565b5f6020828403121561098c575f5ffd5b61099582610961565b9392505050565b6001600160a01b03811681146109b0575f5ffd5b50565b5f5f604083850312156109c4575f5ffd5b82356109cf8161099c565b91506109dd60208401610961565b90509250929050565b5f5f83601f8401126109f6575f5ffd5b5081356001600160401b03811115610a0c575f5ffd5b602083019150836020828501011115610a23575f5ffd5b9250929050565b5f5f60208385031215610a3b575f5ffd5b82356001600160401b03811115610a50575f5ffd5b610a5c858286016109e6565b90969095509350505050565b5f5b83811015610a82578181015183820152602001610a6a565b50505f910152565b5f8151808452610aa1816020860160208601610a68565b601f01601f19169290920160200192915050565b60ff60f81b8816815260e060208201525f610ad360e0830189610a8a565b8281036040840152610ae58189610a8a565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015610b3a578351835260209384019390920191600101610b1c565b50909b9a5050505050505050505050565b5f60208284031215610b5b575f5ffd5b81356109958161099c565b5f5f5f5f5f5f5f5f60c0898b031215610b7d575f5ffd5b8835610b888161099c565b97506020890135965060408901356001600160401b03811115610ba9575f5ffd5b610bb58b828c016109e6565b909750955050606089013593506080890135925060a08901356001600160401b03811115610be1575f5ffd5b610bed8b828c016109e6565b999c989b5096995094979396929594505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015610c5857603f19878603018452610c43858351610a8a565b94506020938401939190910190600101610c27565b50929695505050505050565b5f60208284031215610c74575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f6001600160401b0382166001600160401b038103610cb057610cb0610c7b565b60010192915050565b818382375f9101908152919050565b83815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610d3957610d39610cfd565b604052919050565b5f60208284031215610d51575f5ffd5b81516001600160401b03811115610d66575f5ffd5b8201601f81018413610d76575f5ffd5b80516001600160401b03811115610d8f57610d8f610cfd565b8060051b610d9f60208201610d11565b91825260208184018101929081019087841115610dba575f5ffd5b6020850192505b83831015610e555782516001600160401b03811115610dde575f5ffd5b8501603f81018913610dee575f5ffd5b60208101516001600160401b03811115610e0a57610e0a610cfd565b610e1d601f8201601f1916602001610d11565b8181526040838301018b1015610e31575f5ffd5b610e42826020830160408601610a68565b8452505060209283019290910190610dc1565b979650505050505050565b808201808211156102b4576102b4610c7b56