-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathERC4337v07.json
More file actions
1 lines (1 loc) · 73.3 KB
/
Copy pathERC4337v07.json
File metadata and controls
1 lines (1 loc) · 73.3 KB
1
{"abi":[{"type":"function","name":"entrypoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"execute","inputs":[{"name":"_payload","type":"bytes","internalType":"bytes"},{"name":"_signature","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeUserOp","inputs":[{"name":"_payload","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStaticSignature","inputs":[{"name":"_hash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isValidSignature","inputs":[{"name":"_hash","type":"bytes32","internalType":"bytes32"},{"name":"_signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"readNonce","inputs":[{"name":"_space","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverPartialSignature","inputs":[{"name":"_payload","type":"tuple","internalType":"struct Payload.Decoded","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"noChainId","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Payload.Call[]","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"parentWallets","type":"address[]","internalType":"address[]"}]},{"name":"_signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"isValidImage","type":"bool","internalType":"bool"},{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"checkpoint","type":"uint256","internalType":"uint256"},{"name":"opHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"recoverSapientSignature","inputs":[{"name":"_payload","type":"tuple","internalType":"struct Payload.Decoded","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"noChainId","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Payload.Call[]","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"parentWallets","type":"address[]","internalType":"address[]"}]},{"name":"_signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"selfExecute","inputs":[{"name":"_payload","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setStaticSignature","inputs":[{"name":"_hash","type":"bytes32","internalType":"bytes32"},{"name":"_address","type":"address","internalType":"address"},{"name":"_timestamp","type":"uint96","internalType":"uint96"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateImageHash","inputs":[{"name":"_imageHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateUserOp","inputs":[{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"missingAccountFunds","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"event","name":"CallAborted","inputs":[{"name":"_opHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_index","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_returnData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"CallFailed","inputs":[{"name":"_opHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_index","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_returnData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"CallSkipped","inputs":[{"name":"_opHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_index","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CallSucceeded","inputs":[{"name":"_opHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"_index","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NonceChange","inputs":[{"name":"_space","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_newNonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StaticSignatureSet","inputs":[{"name":"_hash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_address","type":"address","indexed":false,"internalType":"address"},{"name":"_timestamp","type":"uint96","indexed":false,"internalType":"uint96"}],"anonymous":false},{"type":"error","name":"BadNonce","inputs":[{"name":"_space","type":"uint256","internalType":"uint256"},{"name":"_provided","type":"uint256","internalType":"uint256"},{"name":"_current","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ChainedSignatureNestedInChainedSignature","inputs":[]},{"type":"error","name":"ERC4337Disabled","inputs":[]},{"type":"error","name":"InvalidERC1271Signature","inputs":[{"name":"_opHash","type":"bytes32","internalType":"bytes32"},{"name":"_signer","type":"address","internalType":"address"},{"name":"_signature","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidEntryPoint","inputs":[{"name":"_entrypoint","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidKind","inputs":[{"name":"kind","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"InvalidPackedLength","inputs":[]},{"type":"error","name":"InvalidSapientSignature","inputs":[{"name":"_payload","type":"tuple","internalType":"struct Payload.Decoded","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"noChainId","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Payload.Call[]","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"parentWallets","type":"address[]","internalType":"address[]"}]},{"name":"_signature","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidSignature","inputs":[{"name":"_payload","type":"tuple","internalType":"struct Payload.Decoded","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"noChainId","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Payload.Call[]","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"parentWallets","type":"address[]","internalType":"address[]"}]},{"name":"_signature","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"InvalidSignatureFlag","inputs":[{"name":"_flag","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidSignatureWeight","inputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_weight","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidStaticSignatureExpired","inputs":[{"name":"_opHash","type":"bytes32","internalType":"bytes32"},{"name":"_expires","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidStaticSignatureWrongCaller","inputs":[{"name":"_opHash","type":"bytes32","internalType":"bytes32"},{"name":"_caller","type":"address","internalType":"address"},{"name":"_expectedCaller","type":"address","internalType":"address"}]},{"type":"error","name":"LowWeightChainedSignature","inputs":[{"name":"_signature","type":"bytes","internalType":"bytes"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_weight","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotEnoughGas","inputs":[{"name":"_payload","type":"tuple","internalType":"struct Payload.Decoded","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"noChainId","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Payload.Call[]","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"parentWallets","type":"address[]","internalType":"address[]"}]},{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_gasLeft","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OnlySelf","inputs":[{"name":"_sender","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrantCall","inputs":[]},{"type":"error","name":"Reverted","inputs":[{"name":"_payload","type":"tuple","internalType":"struct Payload.Decoded","components":[{"name":"kind","type":"uint8","internalType":"uint8"},{"name":"noChainId","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Payload.Call[]","components":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"gasLimit","type":"uint256","internalType":"uint256"},{"name":"delegateCall","type":"bool","internalType":"bool"},{"name":"onlyFallback","type":"bool","internalType":"bool"},{"name":"behaviorOnError","type":"uint256","internalType":"uint256"}]},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"message","type":"bytes","internalType":"bytes"},{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"parentWallets","type":"address[]","internalType":"address[]"}]},{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"UnusedSnapshot","inputs":[{"name":"_snapshot","type":"tuple","internalType":"struct Snapshot","components":[{"name":"imageHash","type":"bytes32","internalType":"bytes32"},{"name":"checkpoint","type":"uint256","internalType":"uint256"}]}]},{"type":"error","name":"WrongChainedCheckpointOrder","inputs":[{"name":"_nextCheckpoint","type":"uint256","internalType":"uint256"},{"name":"_checkpoint","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"entrypoint()":"a65d69d4","execute(bytes,bytes)":"1f6a1eb9","executeUserOp(bytes)":"9c145aed","getStaticSignature(bytes32)":"92dcb3fc","isValidSignature(bytes32,bytes)":"1626ba7e","readNonce(uint256)":"8c3f5563","recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)":"ad55366b","recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)":"13792a4a","selfExecute(bytes)":"6ea44577","setStaticSignature(bytes32,address,uint96)":"f727ef1c","updateImageHash(bytes32)":"29561426","validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":"19822f7c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_space\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_current\",\"type\":\"uint256\"}],\"name\":\"BadNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ChainedSignatureNestedInChainedSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC4337Disabled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"InvalidERC1271Signature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_entrypoint\",\"type\":\"address\"}],\"name\":\"InvalidEntryPoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"}],\"name\":\"InvalidKind\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPackedLength\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"noChainId\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"parentWallets\",\"type\":\"address[]\"}],\"internalType\":\"struct Payload.Decoded\",\"name\":\"_payload\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"InvalidSapientSignature\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"noChainId\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"parentWallets\",\"type\":\"address[]\"}],\"internalType\":\"struct Payload.Decoded\",\"name\":\"_payload\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_flag\",\"type\":\"uint256\"}],\"name\":\"InvalidSignatureFlag\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_weight\",\"type\":\"uint256\"}],\"name\":\"InvalidSignatureWeight\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_expires\",\"type\":\"uint256\"}],\"name\":\"InvalidStaticSignatureExpired\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_expectedCaller\",\"type\":\"address\"}],\"name\":\"InvalidStaticSignatureWrongCaller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_weight\",\"type\":\"uint256\"}],\"name\":\"LowWeightChainedSignature\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"noChainId\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"parentWallets\",\"type\":\"address[]\"}],\"internalType\":\"struct Payload.Decoded\",\"name\":\"_payload\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gasLeft\",\"type\":\"uint256\"}],\"name\":\"NotEnoughGas\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"OnlySelf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"noChainId\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"parentWallets\",\"type\":\"address[]\"}],\"internalType\":\"struct Payload.Decoded\",\"name\":\"_payload\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_returnData\",\"type\":\"bytes\"}],\"name\":\"Reverted\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"checkpoint\",\"type\":\"uint256\"}],\"internalType\":\"struct Snapshot\",\"name\":\"_snapshot\",\"type\":\"tuple\"}],\"name\":\"UnusedSnapshot\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextCheckpoint\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_checkpoint\",\"type\":\"uint256\"}],\"name\":\"WrongChainedCheckpointOrder\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_returnData\",\"type\":\"bytes\"}],\"name\":\"CallAborted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"_returnData\",\"type\":\"bytes\"}],\"name\":\"CallFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"CallSkipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"CallSucceeded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_space\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newNonce\",\"type\":\"uint256\"}],\"name\":\"NonceChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint96\",\"name\":\"_timestamp\",\"type\":\"uint96\"}],\"name\":\"StaticSignatureSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"entrypoint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_payload\",\"type\":\"bytes\"}],\"name\":\"executeUserOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"}],\"name\":\"getStaticSignature\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_space\",\"type\":\"uint256\"}],\"name\":\"readNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"noChainId\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"parentWallets\",\"type\":\"address[]\"}],\"internalType\":\"struct Payload.Decoded\",\"name\":\"_payload\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"recoverPartialSignature\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isValidImage\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"checkpoint\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"noChainId\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"onlyFallback\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"behaviorOnError\",\"type\":\"uint256\"}],\"internalType\":\"struct Payload.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"imageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"parentWallets\",\"type\":\"address[]\"}],\"internalType\":\"struct Payload.Decoded\",\"name\":\"_payload\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"recoverSapientSignature\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_payload\",\"type\":\"bytes\"}],\"name\":\"selfExecute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"_timestamp\",\"type\":\"uint96\"}],\"name\":\"setStaticSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_imageHash\",\"type\":\"bytes32\"}],\"name\":\"updateImageHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"missingAccountFunds\",\"type\":\"uint256\"}],\"name\":\"validateUserOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Agustin Aguilar, Michael Standen\",\"kind\":\"dev\",\"methods\":{\"execute(bytes,bytes)\":{\"params\":{\"_payload\":\"The payload\",\"_signature\":\"The signature\"}},\"executeUserOp(bytes)\":{\"details\":\"This is the execute function for the EntryPoint to call.\",\"params\":{\"_payload\":\"The packed payload\"}},\"getStaticSignature(bytes32)\":{\"params\":{\"_hash\":\"The hash to get the static signature for\"},\"returns\":{\"_0\":\"address The address associated with the static signature\",\"_1\":\"timestamp The timestamp of the static signature\"}},\"isValidSignature(bytes32,bytes)\":{\"details\":\"MUST return the correct magic value if the signature provided is valid for the provided hash > The bytes4 magic value to return when signature is valid is 0x1626ba7e : bytes4(keccak256(\\\"isValidSignature(bytes32,bytes)\\\") > This function MAY modify Ethereum's state\",\"params\":{\"_hash\":\"keccak256 hash that was signed\",\"_signature\":\"Signature byte array associated with _data\"},\"returns\":{\"_0\":\"Magic value 0x1626ba7e if the signature is valid and 0x0 otherwise\"}},\"readNonce(uint256)\":{\"params\":{\"_space\":\"The space\"},\"returns\":{\"_0\":\"nonce The nonce\"}},\"recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)\":{\"params\":{\"_payload\":\"The payload\",\"_signature\":\"The signature to recover\"},\"returns\":{\"checkpoint\":\"The checkpoint identifier\",\"imageHash\":\"The derived image hash\",\"isValidImage\":\"Whether the image hash is valid\",\"opHash\":\"The hash of the payload\",\"threshold\":\"The signature threshold\",\"weight\":\"The derived weight\"}},\"recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)\":{\"params\":{\"payload\":\"The payload to recover the signature from\",\"signature\":\"The signature to recover the image hash from\"},\"returns\":{\"_0\":\"The recovered image hash\"}},\"selfExecute(bytes)\":{\"details\":\"Callable only by the contract itself\",\"params\":{\"_payload\":\"The payload\"}},\"setStaticSignature(bytes32,address,uint96)\":{\"details\":\"Only callable by the wallet itself\",\"params\":{\"_address\":\"The address to associate with the static signature\",\"_hash\":\"The hash to set the static signature for\",\"_timestamp\":\"The timestamp of the static signature\"}},\"updateImageHash(bytes32)\":{\"details\":\"Only callable by the wallet itself\",\"params\":{\"_imageHash\":\"The new image hash\"}},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"details\":\"Must validate caller is the entryPoint. Must validate the signature and nonce\",\"params\":{\"missingAccountFunds\":\"- Missing funds on the account's deposit in the entrypoint. This is the minimum amount to transfer to the sender(entryPoint) to be able to make the call. The excess is left as a deposit in the entrypoint for future calls. Can be withdrawn anytime using \\\"entryPoint.withdrawTo()\\\". In case there is a paymaster in the request (or the current deposit is high enough), this value will be zero.\",\"userOp\":\"- The operation that is about to be executed.\",\"userOpHash\":\"- Hash of the user's request data. can be used as the basis for signature.\"},\"returns\":{\"validationData\":\" - Packaged ValidationData structure. use `_packValidationData` and `_unpackValidationData` to encode and decode. <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \\\"aggregator\\\" contract. <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \\\"indefinitely\\\" <6-byte> validAfter - First timestamp this operation is valid If an account doesn't use time-range, it is enough to return SIG_VALIDATION_FAILED value (1) for signature failure. Note that the validation code cannot use block.timestamp (or block.number) directly.\"}}},\"title\":\"ERC4337v07\",\"version\":1},\"userdoc\":{\"errors\":{\"BadNonce(uint256,uint256,uint256)\":[{\"notice\":\"Error thrown when the nonce is bad\"}],\"ChainedSignatureNestedInChainedSignature()\":[{\"notice\":\"Error thrown when a chained signature is nested inside another chained signature\"}],\"InvalidERC1271Signature(bytes32,address,bytes)\":[{\"notice\":\"Error thrown when the ERC1271 signature is invalid\"}],\"InvalidKind(uint8)\":[{\"notice\":\"Error thrown when the kind is invalid\"}],\"InvalidPackedLength()\":[{\"notice\":\"Error thrown when the encoding is invalid\"}],\"InvalidSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)\":[{\"notice\":\"Error thrown when the sapient signature is invalid\"}],\"InvalidSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)\":[{\"notice\":\"Error thrown when a signature is invalid\"}],\"InvalidSignatureFlag(uint256)\":[{\"notice\":\"Error thrown when the signature flag is invalid\"}],\"InvalidSignatureWeight(uint256,uint256)\":[{\"notice\":\"Error thrown when the signature weight is invalid\"}],\"InvalidStaticSignatureExpired(bytes32,uint256)\":[{\"notice\":\"Error thrown when the static signature has expired\"}],\"InvalidStaticSignatureWrongCaller(bytes32,address,address)\":[{\"notice\":\"Error thrown when the static signature has the wrong caller\"}],\"LowWeightChainedSignature(bytes,uint256,uint256)\":[{\"notice\":\"Error thrown when the weight is too low for a chained signature\"}],\"NotEnoughGas((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),uint256,uint256)\":[{\"notice\":\"Error thrown when there is not enough gas\"}],\"OnlySelf(address)\":[{\"notice\":\"Error thrown when the caller is not the same as the contract\"}],\"ReentrantCall()\":[{\"notice\":\"Error thrown when a reentrant call is detected\"}],\"Reverted((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),uint256,bytes)\":[{\"notice\":\"Error thrown when a call reverts\"}],\"UnusedSnapshot((bytes32,uint256))\":[{\"notice\":\"Error thrown when the snapshot is unused\"}],\"WrongChainedCheckpointOrder(uint256,uint256)\":[{\"notice\":\"Error thrown when the checkpoint order is wrong\"}]},\"events\":{\"CallAborted(bytes32,uint256,bytes)\":{\"notice\":\"Emitted when a call is aborted\"},\"CallFailed(bytes32,uint256,bytes)\":{\"notice\":\"Emitted when a call fails\"},\"CallSkipped(bytes32,uint256)\":{\"notice\":\"Emitted when a call is skipped\"},\"CallSucceeded(bytes32,uint256)\":{\"notice\":\"Emitted when a call succeeds\"},\"NonceChange(uint256,uint256)\":{\"notice\":\"Emitted when the nonce is changed\"},\"StaticSignatureSet(bytes32,address,uint96)\":{\"notice\":\"Event emitted when a static signature is set\"}},\"kind\":\"user\",\"methods\":{\"execute(bytes,bytes)\":{\"notice\":\"Execute a call\"},\"executeUserOp(bytes)\":{\"notice\":\"Execute a user operation\"},\"getStaticSignature(bytes32)\":{\"notice\":\"Get the static signature for a specific hash\"},\"isValidSignature(bytes32,bytes)\":{\"notice\":\"Verifies whether the provided signature is valid with respect to the provided hash\"},\"readNonce(uint256)\":{\"notice\":\"Read the nonce\"},\"recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)\":{\"notice\":\"Recover the partial signature\"},\"recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)\":{\"notice\":\"Recovers the image hash of a given signature\"},\"selfExecute(bytes)\":{\"notice\":\"Execute a call\"},\"setStaticSignature(bytes32,address,uint96)\":{\"notice\":\"Set the static signature for a specific hash\"},\"updateImageHash(bytes32)\":{\"notice\":\"Update the image hash\"},\"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Validate user's signature and nonce the entryPoint will make the call to the recipient only if this validation call returns successfully. signature failure should be reported by returning SIG_VALIDATION_FAILED (1). This allows making a \\\"simulation call\\\" without a valid signature Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure.\"}},\"notice\":\"ERC4337 v7 support\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/ERC4337v07.sol\":\"ERC4337v07\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/account-abstraction/contracts/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"src/modules/Calls.sol\":{\"keccak256\":\"0xa1341a9dc102ceec53bcdff123322e7ecb19cec6101086944c87552284969eeb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://36619e8abb171d9f812be49572fba6d64dd62c0d7a6fb674cde1a0cf28a5f919\",\"dweb:/ipfs/QmWR45P7Q4M44QfyNQvA3ThMyApz3snMJVRin8ujq2ouQK\"]},\"src/modules/ERC4337v07.sol\":{\"keccak256\":\"0x4c73f4de4d7652935731b539c8055b822b83c7c2d2220a5d54025e263f54b188\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c310e22792d3d057ae14abb22bd6979a240fb46bd2566efc78425c0b37f46c9b\",\"dweb:/ipfs/QmWAUctttbEEJnRHnRHtfGPT5YDzqo1Zw72z82LiusESKn\"]},\"src/modules/Nonce.sol\":{\"keccak256\":\"0x56fbf6dc9b34ab60ae8a32ffb6f583c003bb8f4a5223ce704e982400fa403fab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://492f53628633b862702cf8f9b726067a722c94028133a8a4c4fcf3d0e73ad803\",\"dweb:/ipfs/QmTHNy4XbH47YZaqKDpknb5aApjRH9HVAREHN7N5vEFWEV\"]},\"src/modules/Payload.sol\":{\"keccak256\":\"0xc29dbd28bc2aa9b2d1cbb4e2c15dddb1e1ddc9e1b7934a060053a0896a80f436\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://09d0dcf9c7d51de70daf2fe662d19dbe7efcfe25932881d5f572edca00c23662\",\"dweb:/ipfs/QmZpCcESwCtvLqZPQY8sZuRt7CzcaLqQACUmmD9pDu3vGJ\"]},\"src/modules/ReentrancyGuard.sol\":{\"keccak256\":\"0x566e105b1a53f49cf099037f3cb4a9739522d72739dc65f1169b97e4fbe07b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d811a16613746e5290eab76eb4055d98a1e64e1086632697d09b0a3759a6bac5\",\"dweb:/ipfs/QmPJ33JvAxwn1sTCNvYG2TWsFo991KND2ia8JcvZ26Dge9\"]},\"src/modules/Storage.sol\":{\"keccak256\":\"0xa6bc516642ea99194f3ac4375853daee3190272c4006d1e32f84ba88ec30173f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://209ba57704f952514910c54896df70197c695c2b4eeb1166a2c6ed29380741da\",\"dweb:/ipfs/QmNmQpemo7qQxb2aDXdFooE6xNW1cp7gXGYa8xUUcJ4WWn\"]},\"src/modules/auth/BaseAuth.sol\":{\"keccak256\":\"0x1aea32726fe1e8c204805a01fde5a7c832caa76960bf57bbaa2cf13e6804b9dc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://851b09d56bfc9b2f2025f1351ca2a4ae5e9c82e8fb26e58216cff849fc9f8320\",\"dweb:/ipfs/QmeHcagSWRPXR1ac1jEChoYTDzfhLyvfGKAgfu4nc3uctc\"]},\"src/modules/auth/BaseSig.sol\":{\"keccak256\":\"0x2c95341b76f935db82b58523835e0d1888c839ceba9cb03ec8b3fc6f835e65ca\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://26eb2b3617d77b917b7a12264245e9d37e7acd52d103b0ffe7810c959956eb46\",\"dweb:/ipfs/QmSU8cbdWizZyMbCf8gPg4pMsQBGdAsPdRBUgu2nK4nJkJ\"]},\"src/modules/auth/SelfAuth.sol\":{\"keccak256\":\"0x4d517af51c3af39a19a4ed00f3fc89e965e45942c264189085bc24f1987a526c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1be166f75d2821e305b6906c34311a62629b1b3c90ac306d775e7330f23d5b42\",\"dweb:/ipfs/QmYFLASBDFzcTXioV5459qvQ1NGaqzWMoLzGJeMas3Lg5W\"]},\"src/modules/interfaces/IAccount.sol\":{\"keccak256\":\"0x64ca3bb59ec4fc0a60d80402802365e2d5226afe7e7aabe3b21df936c84f2bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccfd2381e1874cdec2f473a9a17799a3b57360c0593d68ee66fcea9c16eb39b4\",\"dweb:/ipfs/QmcjbJpGz3Exmu4fsj953Y2bG8rtQaVMEFUgT6W2dUXomr\"]},\"src/modules/interfaces/IAuth.sol\":{\"keccak256\":\"0xf6fa30af2ec91d5fbeac17c9b1f2aa73b7883c9ac98745605007e57666394b91\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6e90a87978519462f9612f4a17e38fddc1c7bcf700ff834a1de7dce326f30353\",\"dweb:/ipfs/QmXmWAsRRK6t4jPs4VcXrouyokxdALM28D3odX7ub48WEp\"]},\"src/modules/interfaces/ICheckpointer.sol\":{\"keccak256\":\"0xf65f67ce53f3e3e7d5a875de689d3ad4817e997c4a2df640df5960fc4fdf220f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b6d1a23f8cc4063012b5d0099a042da047808d82a4e0c31a32ff7f7d5025c15\",\"dweb:/ipfs/QmVn9Bqejb75dBrY9eiT7ta5QMpPBPbfWtHQ5xgrQXGieF\"]},\"src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/modules/interfaces/IERC1271.sol\":{\"keccak256\":\"0xb33a198eb641c43c3ab89705f693e342ad87fcc28bfa48d63b5ed105968434c9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a1abd7475b239c551d34325466804b09e587b62559faf9109ad1ac019eb57a6b\",\"dweb:/ipfs/Qmd3MDHAmpFpLXdHY5Tnb7niJjPDr5hEnc4d63tpyFGmgF\"]},\"src/modules/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0xd19922ea7a8ae09072a721138dc93e175fa77ecaa3ac6f2d759d5e5e944fb665\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20ecea69ddd4d8787c0bdc4487dea03e90f63f4296674a12728e331a78e62620\",\"dweb:/ipfs/QmZUrX8zEqfHZEJQjNtDUXGS47bj2UuRCLfbkLPrXsot1c\"]},\"src/modules/interfaces/IPartialAuth.sol\":{\"keccak256\":\"0x0d1aa021615d8e90696e71a9468331457a1babfa2ffe169654b7456e5bcb7a73\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://bbacd149a6358ab0d4b9c588d2e3a55fc71ed4723269150d7b91ca70092f6519\",\"dweb:/ipfs/QmUSwtrYCrRcRFsy5rCzdMPrw1FCU7ZoeXdsW6kK9yc8FK\"]},\"src/modules/interfaces/ISapient.sol\":{\"keccak256\":\"0x3668daa83a61af054146345e53e571daf403f9bca9c3cc702f6f1cb655770359\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://13aa453c7021c83d305ac7d714a93f78a03a8cc0032cb06cf54d5ebf09100489\",\"dweb:/ipfs/QmSxar3KETtMzHXQuqQA9b8iK8cG3Z62EpWSeu8hhKW2xn\"]},\"src/utils/LibBytes.sol\":{\"keccak256\":\"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c\",\"dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3\"]},\"src/utils/LibOptim.sol\":{\"keccak256\":\"0x1d1e2234eec89069c3f8d59e370fd3470faaef9c1641cd722bae83f4e4921bde\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4c3d8b24e6c11fcea3462017b2df71ed4b9b32b2dab8a591cc91afc0b6c8dd81\",\"dweb:/ipfs/QmXtrdWcNTfaYHodKRovkdDyRCQJcffDUZQAdgQCJNoq2x\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"_space","type":"uint256"},{"internalType":"uint256","name":"_provided","type":"uint256"},{"internalType":"uint256","name":"_current","type":"uint256"}],"type":"error","name":"BadNonce"},{"inputs":[],"type":"error","name":"ChainedSignatureNestedInChainedSignature"},{"inputs":[],"type":"error","name":"ERC4337Disabled"},{"inputs":[{"internalType":"bytes32","name":"_opHash","type":"bytes32"},{"internalType":"address","name":"_signer","type":"address"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"type":"error","name":"InvalidERC1271Signature"},{"inputs":[{"internalType":"address","name":"_entrypoint","type":"address"}],"type":"error","name":"InvalidEntryPoint"},{"inputs":[{"internalType":"uint8","name":"kind","type":"uint8"}],"type":"error","name":"InvalidKind"},{"inputs":[],"type":"error","name":"InvalidPackedLength"},{"inputs":[{"internalType":"struct Payload.Decoded","name":"_payload","type":"tuple","components":[{"internalType":"uint8","name":"kind","type":"uint8"},{"internalType":"bool","name":"noChainId","type":"bool"},{"internalType":"struct Payload.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]},{"internalType":"uint256","name":"space","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"bytes32","name":"digest","type":"bytes32"},{"internalType":"address[]","name":"parentWallets","type":"address[]"}]},{"internalType":"bytes","name":"_signature","type":"bytes"}],"type":"error","name":"InvalidSapientSignature"},{"inputs":[{"internalType":"struct Payload.Decoded","name":"_payload","type":"tuple","components":[{"internalType":"uint8","name":"kind","type":"uint8"},{"internalType":"bool","name":"noChainId","type":"bool"},{"internalType":"struct Payload.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]},{"internalType":"uint256","name":"space","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"bytes32","name":"digest","type":"bytes32"},{"internalType":"address[]","name":"parentWallets","type":"address[]"}]},{"internalType":"bytes","name":"_signature","type":"bytes"}],"type":"error","name":"InvalidSignature"},{"inputs":[{"internalType":"uint256","name":"_flag","type":"uint256"}],"type":"error","name":"InvalidSignatureFlag"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"uint256","name":"_weight","type":"uint256"}],"type":"error","name":"InvalidSignatureWeight"},{"inputs":[{"internalType":"bytes32","name":"_opHash","type":"bytes32"},{"internalType":"uint256","name":"_expires","type":"uint256"}],"type":"error","name":"InvalidStaticSignatureExpired"},{"inputs":[{"internalType":"bytes32","name":"_opHash","type":"bytes32"},{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address","name":"_expectedCaller","type":"address"}],"type":"error","name":"InvalidStaticSignatureWrongCaller"},{"inputs":[{"internalType":"bytes","name":"_signature","type":"bytes"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"uint256","name":"_weight","type":"uint256"}],"type":"error","name":"LowWeightChainedSignature"},{"inputs":[{"internalType":"struct Payload.Decoded","name":"_payload","type":"tuple","components":[{"internalType":"uint8","name":"kind","type":"uint8"},{"internalType":"bool","name":"noChainId","type":"bool"},{"internalType":"struct Payload.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]},{"internalType":"uint256","name":"space","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"bytes32","name":"digest","type":"bytes32"},{"internalType":"address[]","name":"parentWallets","type":"address[]"}]},{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"uint256","name":"_gasLeft","type":"uint256"}],"type":"error","name":"NotEnoughGas"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"}],"type":"error","name":"OnlySelf"},{"inputs":[],"type":"error","name":"ReentrantCall"},{"inputs":[{"internalType":"struct Payload.Decoded","name":"_payload","type":"tuple","components":[{"internalType":"uint8","name":"kind","type":"uint8"},{"internalType":"bool","name":"noChainId","type":"bool"},{"internalType":"struct Payload.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]},{"internalType":"uint256","name":"space","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"bytes32","name":"digest","type":"bytes32"},{"internalType":"address[]","name":"parentWallets","type":"address[]"}]},{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"bytes","name":"_returnData","type":"bytes"}],"type":"error","name":"Reverted"},{"inputs":[{"internalType":"struct Snapshot","name":"_snapshot","type":"tuple","components":[{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"uint256","name":"checkpoint","type":"uint256"}]}],"type":"error","name":"UnusedSnapshot"},{"inputs":[{"internalType":"uint256","name":"_nextCheckpoint","type":"uint256"},{"internalType":"uint256","name":"_checkpoint","type":"uint256"}],"type":"error","name":"WrongChainedCheckpointOrder"},{"inputs":[{"internalType":"bytes32","name":"_opHash","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_index","type":"uint256","indexed":false},{"internalType":"bytes","name":"_returnData","type":"bytes","indexed":false}],"type":"event","name":"CallAborted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_opHash","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_index","type":"uint256","indexed":false},{"internalType":"bytes","name":"_returnData","type":"bytes","indexed":false}],"type":"event","name":"CallFailed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_opHash","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_index","type":"uint256","indexed":false}],"type":"event","name":"CallSkipped","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_opHash","type":"bytes32","indexed":true},{"internalType":"uint256","name":"_index","type":"uint256","indexed":false}],"type":"event","name":"CallSucceeded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_space","type":"uint256","indexed":false},{"internalType":"uint256","name":"_newNonce","type":"uint256","indexed":false}],"type":"event","name":"NonceChange","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32","indexed":false},{"internalType":"address","name":"_address","type":"address","indexed":false},{"internalType":"uint96","name":"_timestamp","type":"uint96","indexed":false}],"type":"event","name":"StaticSignatureSet","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"entrypoint","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"stateMutability":"payable","type":"function","name":"execute"},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"executeUserOp"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticSignature","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"stateMutability":"view","type":"function","name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"uint256","name":"_space","type":"uint256"}],"stateMutability":"view","type":"function","name":"readNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct Payload.Decoded","name":"_payload","type":"tuple","components":[{"internalType":"uint8","name":"kind","type":"uint8"},{"internalType":"bool","name":"noChainId","type":"bool"},{"internalType":"struct Payload.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]},{"internalType":"uint256","name":"space","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"bytes32","name":"digest","type":"bytes32"},{"internalType":"address[]","name":"parentWallets","type":"address[]"}]},{"internalType":"bytes","name":"_signature","type":"bytes"}],"stateMutability":"view","type":"function","name":"recoverPartialSignature","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"bool","name":"isValidImage","type":"bool"},{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"uint256","name":"checkpoint","type":"uint256"},{"internalType":"bytes32","name":"opHash","type":"bytes32"}]},{"inputs":[{"internalType":"struct Payload.Decoded","name":"_payload","type":"tuple","components":[{"internalType":"uint8","name":"kind","type":"uint8"},{"internalType":"bool","name":"noChainId","type":"bool"},{"internalType":"struct Payload.Call[]","name":"calls","type":"tuple[]","components":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bool","name":"delegateCall","type":"bool"},{"internalType":"bool","name":"onlyFallback","type":"bool"},{"internalType":"uint256","name":"behaviorOnError","type":"uint256"}]},{"internalType":"uint256","name":"space","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes32","name":"imageHash","type":"bytes32"},{"internalType":"bytes32","name":"digest","type":"bytes32"},{"internalType":"address[]","name":"parentWallets","type":"address[]"}]},{"internalType":"bytes","name":"_signature","type":"bytes"}],"stateMutability":"view","type":"function","name":"recoverSapientSignature","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_payload","type":"bytes"}],"stateMutability":"payable","type":"function","name":"selfExecute"},{"inputs":[{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint96","name":"_timestamp","type":"uint96"}],"stateMutability":"nonpayable","type":"function","name":"setStaticSignature"},{"inputs":[{"internalType":"bytes32","name":"_imageHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateImageHash"},{"inputs":[{"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"missingAccountFunds","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"validateUserOp","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"execute(bytes,bytes)":{"params":{"_payload":"The payload","_signature":"The signature"}},"executeUserOp(bytes)":{"details":"This is the execute function for the EntryPoint to call.","params":{"_payload":"The packed payload"}},"getStaticSignature(bytes32)":{"params":{"_hash":"The hash to get the static signature for"},"returns":{"_0":"address The address associated with the static signature","_1":"timestamp The timestamp of the static signature"}},"isValidSignature(bytes32,bytes)":{"details":"MUST return the correct magic value if the signature provided is valid for the provided hash > The bytes4 magic value to return when signature is valid is 0x1626ba7e : bytes4(keccak256(\"isValidSignature(bytes32,bytes)\") > This function MAY modify Ethereum's state","params":{"_hash":"keccak256 hash that was signed","_signature":"Signature byte array associated with _data"},"returns":{"_0":"Magic value 0x1626ba7e if the signature is valid and 0x0 otherwise"}},"readNonce(uint256)":{"params":{"_space":"The space"},"returns":{"_0":"nonce The nonce"}},"recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)":{"params":{"_payload":"The payload","_signature":"The signature to recover"},"returns":{"checkpoint":"The checkpoint identifier","imageHash":"The derived image hash","isValidImage":"Whether the image hash is valid","opHash":"The hash of the payload","threshold":"The signature threshold","weight":"The derived weight"}},"recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)":{"params":{"payload":"The payload to recover the signature from","signature":"The signature to recover the image hash from"},"returns":{"_0":"The recovered image hash"}},"selfExecute(bytes)":{"details":"Callable only by the contract itself","params":{"_payload":"The payload"}},"setStaticSignature(bytes32,address,uint96)":{"details":"Only callable by the wallet itself","params":{"_address":"The address to associate with the static signature","_hash":"The hash to set the static signature for","_timestamp":"The timestamp of the static signature"}},"updateImageHash(bytes32)":{"details":"Only callable by the wallet itself","params":{"_imageHash":"The new image hash"}},"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":{"details":"Must validate caller is the entryPoint. Must validate the signature and nonce","params":{"missingAccountFunds":"- Missing funds on the account's deposit in the entrypoint. This is the minimum amount to transfer to the sender(entryPoint) to be able to make the call. The excess is left as a deposit in the entrypoint for future calls. Can be withdrawn anytime using \"entryPoint.withdrawTo()\". In case there is a paymaster in the request (or the current deposit is high enough), this value will be zero.","userOp":"- The operation that is about to be executed.","userOpHash":"- Hash of the user's request data. can be used as the basis for signature."},"returns":{"validationData":" - Packaged ValidationData structure. use `_packValidationData` and `_unpackValidationData` to encode and decode. <20-byte> aggregatorOrSigFail - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \"aggregator\" contract. <6-byte> validUntil - Last timestamp this operation is valid at, or 0 for \"indefinitely\" <6-byte> validAfter - First timestamp this operation is valid If an account doesn't use time-range, it is enough to return SIG_VALIDATION_FAILED value (1) for signature failure. Note that the validation code cannot use block.timestamp (or block.number) directly."}}},"version":1},"userdoc":{"kind":"user","methods":{"execute(bytes,bytes)":{"notice":"Execute a call"},"executeUserOp(bytes)":{"notice":"Execute a user operation"},"getStaticSignature(bytes32)":{"notice":"Get the static signature for a specific hash"},"isValidSignature(bytes32,bytes)":{"notice":"Verifies whether the provided signature is valid with respect to the provided hash"},"readNonce(uint256)":{"notice":"Read the nonce"},"recoverPartialSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)":{"notice":"Recover the partial signature"},"recoverSapientSignature((uint8,bool,(address,uint256,bytes,uint256,bool,bool,uint256)[],uint256,uint256,bytes,bytes32,bytes32,address[]),bytes)":{"notice":"Recovers the image hash of a given signature"},"selfExecute(bytes)":{"notice":"Execute a call"},"setStaticSignature(bytes32,address,uint96)":{"notice":"Set the static signature for a specific hash"},"updateImageHash(bytes32)":{"notice":"Update the image hash"},"validateUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":{"notice":"Validate user's signature and nonce the entryPoint will make the call to the recipient only if this validation call returns successfully. signature failure should be reported by returning SIG_VALIDATION_FAILED (1). This allows making a \"simulation call\" without a valid signature Other failures (e.g. nonce mismatch, or invalid signature format) should still revert to signal failure."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","account-abstraction/=lib/account-abstraction/contracts/","erc2470-libs/=lib/erc2470-libs/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":4294967295},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/modules/ERC4337v07.sol":"ERC4337v07"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/modules/Calls.sol":{"keccak256":"0xa1341a9dc102ceec53bcdff123322e7ecb19cec6101086944c87552284969eeb","urls":["bzz-raw://36619e8abb171d9f812be49572fba6d64dd62c0d7a6fb674cde1a0cf28a5f919","dweb:/ipfs/QmWR45P7Q4M44QfyNQvA3ThMyApz3snMJVRin8ujq2ouQK"],"license":"Apache-2.0"},"src/modules/ERC4337v07.sol":{"keccak256":"0x4c73f4de4d7652935731b539c8055b822b83c7c2d2220a5d54025e263f54b188","urls":["bzz-raw://c310e22792d3d057ae14abb22bd6979a240fb46bd2566efc78425c0b37f46c9b","dweb:/ipfs/QmWAUctttbEEJnRHnRHtfGPT5YDzqo1Zw72z82LiusESKn"],"license":"Apache-2.0"},"src/modules/Nonce.sol":{"keccak256":"0x56fbf6dc9b34ab60ae8a32ffb6f583c003bb8f4a5223ce704e982400fa403fab","urls":["bzz-raw://492f53628633b862702cf8f9b726067a722c94028133a8a4c4fcf3d0e73ad803","dweb:/ipfs/QmTHNy4XbH47YZaqKDpknb5aApjRH9HVAREHN7N5vEFWEV"],"license":"Apache-2.0"},"src/modules/Payload.sol":{"keccak256":"0xc29dbd28bc2aa9b2d1cbb4e2c15dddb1e1ddc9e1b7934a060053a0896a80f436","urls":["bzz-raw://09d0dcf9c7d51de70daf2fe662d19dbe7efcfe25932881d5f572edca00c23662","dweb:/ipfs/QmZpCcESwCtvLqZPQY8sZuRt7CzcaLqQACUmmD9pDu3vGJ"],"license":"Apache-2.0"},"src/modules/ReentrancyGuard.sol":{"keccak256":"0x566e105b1a53f49cf099037f3cb4a9739522d72739dc65f1169b97e4fbe07b32","urls":["bzz-raw://d811a16613746e5290eab76eb4055d98a1e64e1086632697d09b0a3759a6bac5","dweb:/ipfs/QmPJ33JvAxwn1sTCNvYG2TWsFo991KND2ia8JcvZ26Dge9"],"license":"MIT"},"src/modules/Storage.sol":{"keccak256":"0xa6bc516642ea99194f3ac4375853daee3190272c4006d1e32f84ba88ec30173f","urls":["bzz-raw://209ba57704f952514910c54896df70197c695c2b4eeb1166a2c6ed29380741da","dweb:/ipfs/QmNmQpemo7qQxb2aDXdFooE6xNW1cp7gXGYa8xUUcJ4WWn"],"license":"Apache-2.0"},"src/modules/auth/BaseAuth.sol":{"keccak256":"0x1aea32726fe1e8c204805a01fde5a7c832caa76960bf57bbaa2cf13e6804b9dc","urls":["bzz-raw://851b09d56bfc9b2f2025f1351ca2a4ae5e9c82e8fb26e58216cff849fc9f8320","dweb:/ipfs/QmeHcagSWRPXR1ac1jEChoYTDzfhLyvfGKAgfu4nc3uctc"],"license":"Apache-2.0"},"src/modules/auth/BaseSig.sol":{"keccak256":"0x2c95341b76f935db82b58523835e0d1888c839ceba9cb03ec8b3fc6f835e65ca","urls":["bzz-raw://26eb2b3617d77b917b7a12264245e9d37e7acd52d103b0ffe7810c959956eb46","dweb:/ipfs/QmSU8cbdWizZyMbCf8gPg4pMsQBGdAsPdRBUgu2nK4nJkJ"],"license":"Apache-2.0"},"src/modules/auth/SelfAuth.sol":{"keccak256":"0x4d517af51c3af39a19a4ed00f3fc89e965e45942c264189085bc24f1987a526c","urls":["bzz-raw://1be166f75d2821e305b6906c34311a62629b1b3c90ac306d775e7330f23d5b42","dweb:/ipfs/QmYFLASBDFzcTXioV5459qvQ1NGaqzWMoLzGJeMas3Lg5W"],"license":"Apache-2.0"},"src/modules/interfaces/IAccount.sol":{"keccak256":"0x64ca3bb59ec4fc0a60d80402802365e2d5226afe7e7aabe3b21df936c84f2bcb","urls":["bzz-raw://ccfd2381e1874cdec2f473a9a17799a3b57360c0593d68ee66fcea9c16eb39b4","dweb:/ipfs/QmcjbJpGz3Exmu4fsj953Y2bG8rtQaVMEFUgT6W2dUXomr"],"license":"MIT"},"src/modules/interfaces/IAuth.sol":{"keccak256":"0xf6fa30af2ec91d5fbeac17c9b1f2aa73b7883c9ac98745605007e57666394b91","urls":["bzz-raw://6e90a87978519462f9612f4a17e38fddc1c7bcf700ff834a1de7dce326f30353","dweb:/ipfs/QmXmWAsRRK6t4jPs4VcXrouyokxdALM28D3odX7ub48WEp"],"license":"Apache-2.0"},"src/modules/interfaces/ICheckpointer.sol":{"keccak256":"0xf65f67ce53f3e3e7d5a875de689d3ad4817e997c4a2df640df5960fc4fdf220f","urls":["bzz-raw://9b6d1a23f8cc4063012b5d0099a042da047808d82a4e0c31a32ff7f7d5025c15","dweb:/ipfs/QmVn9Bqejb75dBrY9eiT7ta5QMpPBPbfWtHQ5xgrQXGieF"],"license":"Apache-2.0"},"src/modules/interfaces/IDelegatedExtension.sol":{"keccak256":"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90","urls":["bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11","dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL"],"license":"Apache-2.0"},"src/modules/interfaces/IERC1271.sol":{"keccak256":"0xb33a198eb641c43c3ab89705f693e342ad87fcc28bfa48d63b5ed105968434c9","urls":["bzz-raw://a1abd7475b239c551d34325466804b09e587b62559faf9109ad1ac019eb57a6b","dweb:/ipfs/Qmd3MDHAmpFpLXdHY5Tnb7niJjPDr5hEnc4d63tpyFGmgF"],"license":"Apache-2.0"},"src/modules/interfaces/IEntryPoint.sol":{"keccak256":"0xd19922ea7a8ae09072a721138dc93e175fa77ecaa3ac6f2d759d5e5e944fb665","urls":["bzz-raw://20ecea69ddd4d8787c0bdc4487dea03e90f63f4296674a12728e331a78e62620","dweb:/ipfs/QmZUrX8zEqfHZEJQjNtDUXGS47bj2UuRCLfbkLPrXsot1c"],"license":"MIT"},"src/modules/interfaces/IPartialAuth.sol":{"keccak256":"0x0d1aa021615d8e90696e71a9468331457a1babfa2ffe169654b7456e5bcb7a73","urls":["bzz-raw://bbacd149a6358ab0d4b9c588d2e3a55fc71ed4723269150d7b91ca70092f6519","dweb:/ipfs/QmUSwtrYCrRcRFsy5rCzdMPrw1FCU7ZoeXdsW6kK9yc8FK"],"license":"Apache-2.0"},"src/modules/interfaces/ISapient.sol":{"keccak256":"0x3668daa83a61af054146345e53e571daf403f9bca9c3cc702f6f1cb655770359","urls":["bzz-raw://13aa453c7021c83d305ac7d714a93f78a03a8cc0032cb06cf54d5ebf09100489","dweb:/ipfs/QmSxar3KETtMzHXQuqQA9b8iK8cG3Z62EpWSeu8hhKW2xn"],"license":"Apache-2.0"},"src/utils/LibBytes.sol":{"keccak256":"0x4fe0b4786b2157e12384b90ae9daa1009b74b2547a8a24b800a8b998278c874b","urls":["bzz-raw://065129e32d1a318e89fb7587e136c33177a7848393f9055c0ac601b84741cd8c","dweb:/ipfs/QmVWucfHSHRJriRFNoJqoeDcVB4fDfqbccM8KPBmwcxVu3"],"license":"Apache-2.0"},"src/utils/LibOptim.sol":{"keccak256":"0x1d1e2234eec89069c3f8d59e370fd3470faaef9c1641cd722bae83f4e4921bde","urls":["bzz-raw://4c3d8b24e6c11fcea3462017b2df71ed4b9b32b2dab8a591cc91afc0b6c8dd81","dweb:/ipfs/QmXtrdWcNTfaYHodKRovkdDyRCQJcffDUZQAdgQCJNoq2x"],"license":"Apache-2.0"}},"version":1},"id":63}