@latticexyz/paymaster 2.2.23-a8c404b4b10462f5f390a82f9e40ceb80bc5eb23 → 2.2.23-b84bcc6141e8fecb564eaecfc6e60c764d91bf39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"_entryPoint","type":"address","internalType":"contract IEntryPoint"}],"stateMutability":"nonpayable"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"deposit","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"entryPoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEntryPoint"}],"stateMutability":"view"},{"type":"function","name":"getDeposit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"postOp","inputs":[{"name":"mode","type":"uint8","internalType":"enum IPaymaster.PostOpMode"},{"name":"context","type":"bytes","internalType":"bytes"},{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"actualUserOpFeePerGas","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validatePaymasterUserOp","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":"maxCost","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"context","type":"bytes","internalType":"bytes"},{"name":"validationData","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a060405234801561000f575f80fd5b50604051610c21380380610c2183398101604081905261002e91610185565b80338061005557604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61005e8161007a565b50610068816100c9565b6001600160a01b0316608052506101d1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516301ffc9a760e01b815263122a0e9b60e31b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610112573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013691906101b2565b6101825760405162461bcd60e51b815260206004820152601e60248201527f49456e747279506f696e7420696e74657266616365206d69736d617463680000604482015260640161004c565b50565b5f60208284031215610195575f80fd5b81516001600160a01b03811681146101ab575f80fd5b9392505050565b5f602082840312156101c2575f80fd5b815180151581146101ab575f80fd5b608051610a0761021a5f395f81816101bf015281816102990152818161035f015281816103e4015281816104ac0152818161052f015281816105e0015261070a0152610a075ff3fe6080604052600436106100c3575f3560e01c8063b0d691fe11610071578063c399ec881161004c578063c399ec8814610214578063d0e30db014610236578063f2fde38b1461023e575f80fd5b8063b0d691fe146101ae578063bb9fe6bf146101e1578063c23a5cea146101f5575f80fd5b8063715018a6116100a1578063715018a6146101315780637c627b21146101455780638da5cb5b14610164575f80fd5b80630396cb60146100c7578063205c2878146100dc57806352b7512c146100fb575b5f80fd5b6100da6100d5366004610805565b61025d565b005b3480156100e7575f80fd5b506100da6100f6366004610850565b61030b565b348015610106575f80fd5b5061011a61011536600461087a565b6103a0565b6040516101289291906108c9565b60405180910390f35b34801561013c575f80fd5b506100da6103b8565b348015610150575f80fd5b506100da61015f366004610939565b6103cb565b34801561016f575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610128565b3480156101b9575f80fd5b506101897f000000000000000000000000000000000000000000000000000000000000000081565b3480156101ec575f80fd5b506100da6103da565b348015610200575f80fd5b506100da61020f3660046109c8565b61045f565b34801561021f575f80fd5b506102286104ff565b604051908152602001610128565b6100da6105b2565b348015610249575f80fd5b506100da6102583660046109c8565b610638565b6102656106a0565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024015f604051808303818588803b1580156102f1575f80fd5b505af1158015610303573d5f803e3d5ffd5b505050505050565b6103136106a0565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044015f604051808303815f87803b1580156102f1575f80fd5b60605f6103ab6106f2565b506060945f945092505050565b6103c06106a0565b6103c95f610791565b565b6103d36106f2565b5050505050565b6103e26106a0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610447575f80fd5b505af1158015610459573d5f803e3d5ffd5b50505050565b6104676106a0565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea906024015f604051808303815f87803b1580156104ed575f80fd5b505af11580156103d3573d5f803e3d5ffd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610589573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ad91906109e3565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024015f604051808303818588803b1580156104ed575f80fd5b6106406106a0565b73ffffffffffffffffffffffffffffffffffffffff8116610694576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b61069d81610791565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146103c9576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161068b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e740000000000000000000000604482015260640161068b565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610815575f80fd5b813563ffffffff81168114610828575f80fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461069d575f80fd5b5f8060408385031215610861575f80fd5b823561086c8161082f565b946020939093013593505050565b5f805f6060848603121561088c575f80fd5b833567ffffffffffffffff8111156108a2575f80fd5b840161012081870312156108b4575f80fd5b95602085013595506040909401359392505050565b604081525f83518060408401525f5b818110156108f557602081870181015160608684010152016108d8565b505f6060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b5f805f805f6080868803121561094d575f80fd5b85356003811061095b575f80fd5b9450602086013567ffffffffffffffff80821115610977575f80fd5b818801915088601f83011261098a575f80fd5b813581811115610998575f80fd5b8960208285010111156109a9575f80fd5b9699602092909201985095966040810135965060600135945092505050565b5f602082840312156109d8575f80fd5b81356108288161082f565b5f602082840312156109f3575f80fd5b505191905056fea164736f6c6343000818000a","sourceMap":"665:2712:69:-:0;;;713:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;764:11;950:10:1;;1269:95:20;;1322:31;;-1:-1:-1;;;1322:31:20;;1350:1;1322:31;;;475:51:72;448:18;;1322:31:20;;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;972:41:1::1;1001:11:::0;972:28:::1;:41::i;:::-;-1:-1:-1::0;;;;;1023:24:1::1;;::::0;-1:-1:-1;665:2712:69;;2912:187:20;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:20;;;-1:-1:-1;;;;;;3020:17:20;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;1173:218:1:-;1271:78;;-1:-1:-1;;;1271:78:1;;-1:-1:-1;;;1271:78:1;;;681:52:72;-1:-1:-1;;;;;1271:47:1;;;;;654:18:72;;1271:78:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1263:121;;;;-1:-1:-1;;;1263:121:1;;1228:2:72;1263:121:1;;;1210:21:72;1267:2;1247:18;;;1240:30;1306:32;1286:18;;;1279:60;1356:18;;1263:121:1;1026:354:72;1263:121:1;1173:218;:::o;14:310:72:-;104:6;157:2;145:9;136:7;132:23;128:32;125:52;;;173:1;170;163:12;125:52;199:16;;-1:-1:-1;;;;;244:31:72;;234:42;;224:70;;290:1;287;280:12;224:70;313:5;14:310;-1:-1:-1;;;14:310:72:o;744:277::-;811:6;864:2;852:9;843:7;839:23;835:32;832:52;;;880:1;877;870:12;832:52;912:9;906:16;965:5;958:13;951:21;944:5;941:32;931:60;;987:1;984;977:12;1026:354;665:2712:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100c3575f3560e01c8063b0d691fe11610071578063c399ec881161004c578063c399ec8814610214578063d0e30db014610236578063f2fde38b1461023e575f80fd5b8063b0d691fe146101ae578063bb9fe6bf146101e1578063c23a5cea146101f5575f80fd5b8063715018a6116100a1578063715018a6146101315780637c627b21146101455780638da5cb5b14610164575f80fd5b80630396cb60146100c7578063205c2878146100dc57806352b7512c146100fb575b5f80fd5b6100da6100d5366004610805565b61025d565b005b3480156100e7575f80fd5b506100da6100f6366004610850565b61030b565b348015610106575f80fd5b5061011a61011536600461087a565b6103a0565b6040516101289291906108c9565b60405180910390f35b34801561013c575f80fd5b506100da6103b8565b348015610150575f80fd5b506100da61015f366004610939565b6103cb565b34801561016f575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610128565b3480156101b9575f80fd5b506101897f000000000000000000000000000000000000000000000000000000000000000081565b3480156101ec575f80fd5b506100da6103da565b348015610200575f80fd5b506100da61020f3660046109c8565b61045f565b34801561021f575f80fd5b506102286104ff565b604051908152602001610128565b6100da6105b2565b348015610249575f80fd5b506100da6102583660046109c8565b610638565b6102656106a0565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024015f604051808303818588803b1580156102f1575f80fd5b505af1158015610303573d5f803e3d5ffd5b505050505050565b6103136106a0565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044015f604051808303815f87803b1580156102f1575f80fd5b60605f6103ab6106f2565b506060945f945092505050565b6103c06106a0565b6103c95f610791565b565b6103d36106f2565b5050505050565b6103e26106a0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610447575f80fd5b505af1158015610459573d5f803e3d5ffd5b50505050565b6104676106a0565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea906024015f604051808303815f87803b1580156104ed575f80fd5b505af11580156103d3573d5f803e3d5ffd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610589573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ad91906109e3565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024015f604051808303818588803b1580156104ed575f80fd5b6106406106a0565b73ffffffffffffffffffffffffffffffffffffffff8116610694576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b61069d81610791565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146103c9576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161068b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e740000000000000000000000604482015260640161068b565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610815575f80fd5b813563ffffffff81168114610828575f80fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461069d575f80fd5b5f8060408385031215610861575f80fd5b823561086c8161082f565b946020939093013593505050565b5f805f6060848603121561088c575f80fd5b833567ffffffffffffffff8111156108a2575f80fd5b840161012081870312156108b4575f80fd5b95602085013595506040909401359392505050565b604081525f83518060408401525f5b818110156108f557602081870181015160608684010152016108d8565b505f6060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b5f805f805f6080868803121561094d575f80fd5b85356003811061095b575f80fd5b9450602086013567ffffffffffffffff80821115610977575f80fd5b818801915088601f83011261098a575f80fd5b813581811115610998575f80fd5b8960208285010111156109a9575f80fd5b9699602092909201985095966040810135965060600135945092505050565b5f602082840312156109d8575f80fd5b81356108288161082f565b5f602082840312156109f3575f80fd5b505191905056fea164736f6c6343000818000a","sourceMap":"665:2712:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4651:140:1;;;;;;:::i;:::-;;:::i;:::-;;4255:171;;;;;;;;;;-1:-1:-1;4255:171:1;;;;;:::i;:::-;;:::i;1428:321::-;;;;;;;;;;-1:-1:-1;1428:321:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2293:101:20;;;;;;;;;;;;;:::i;2225:278:1:-;;;;;;;;;;-1:-1:-1;2225:278:1;;;;;:::i;:::-;;:::i;1638:85:20:-;;;;;;;;;;-1:-1:-1;1684:7:20;1710:6;;;1638:85;;;3072:42:72;3060:55;;;3042:74;;3030:2;3015:18;1638:85:20;2896:226:72;544:39:1;;;;;;;;;;;;;;;5144:83;;;;;;;;;;;;;:::i;5448:133::-;;;;;;;;;;-1:-1:-1;5448:133:1;;;;;:::i;:::-;;:::i;4874:111::-;;;;;;;;;;;;;:::i;:::-;;;3792:25:72;;;3780:2;3765:18;4874:111:1;3646:177:72;3986:104:1;;;:::i;2543:215:20:-;;;;;;;;;;-1:-1:-1;2543:215:20;;;;;:::i;:::-;;:::i;4651:140:1:-;1531:13:20;:11;:13::i;:::-;4730:54:1::1;::::0;;;;4262:10:72;4250:23;;4730:54:1::1;::::0;::::1;4232:42:72::0;4730:10:1::1;:19;;::::0;::::1;::::0;4757:9:::1;::::0;4205:18:72;;4730:54:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;4651:140:::0;:::o;4255:171::-;1531:13:20;:11;:13::i;:::-;4373:46:1::1;::::0;;;;:21:::1;4493:55:72::0;;;4373:46:1::1;::::0;::::1;4475:74:72::0;4565:18;;;4558:34;;;4373:10:1::1;:21;::::0;::::1;::::0;4448:18:72;;4373:46:1::1;;;;;;;;;;;;;;;;;::::0;::::1;1428:321:::0;1592:20;1614:22;1648:24;:22;:24::i;:::-;-1:-1:-1;2290:20:69;;2312:22;;-1:-1:-1;1428:321:1;-1:-1:-1;;;1428:321:1:o;2293:101:20:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2225:278:1:-;2402:24;:22;:24::i;:::-;2225:278;;;;;:::o;5144:83::-;1531:13:20;:11;:13::i;:::-;5196:10:1::1;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5144:83::o:0;5448:133::-;1531:13:20;:11;:13::i;:::-;5533:41:1::1;::::0;;;;:24:::1;3060:55:72::0;;;5533:41:1::1;::::0;::::1;3042:74:72::0;5533:10:1::1;:24;::::0;::::1;::::0;3015:18:72;;5533:41:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;4874:111:::0;4943:35;;;;;4972:4;4943:35;;;3042:74:72;4917:7:1;;4943:10;:20;;;;;3015:18:72;;4943:35:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4936:42;;4874:111;:::o;3986:104::-;4030:53;;;;;4077:4;4030:53;;;3042:74:72;4030:10:1;:20;;;;;4058:9;;3015:18:72;;4030:53:1;;;;;;;;;;;;;;;;;;;2543:215:20;1531:13;:11;:13::i;:::-;2627:22:::1;::::0;::::1;2623:91;;2672:31;::::0;::::1;::::0;;2700:1:::1;2672:31;::::0;::::1;3042:74:72::0;3015:18;;2672:31:20::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;1855:23;1710:6;735:10:32;1855:23:20;1851:101;;1901:40;;;;;735:10:32;1901:40:20;;;3042:74:72;3015:18;;1901:40:20;2896:226:72;5660:135:1;5729:10;:33;5751:10;5729:33;;5721:67;;;;;;;5241:2:72;5721:67:1;;;5223:21:72;5280:2;5260:18;;;5253:30;5319:23;5299:18;;;5292:51;5360:18;;5721:67:1;5039:345:72;2912:187:20;2985:16;3004:6;;;3020:17;;;;;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:276:72:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:10;223:5;219:22;212:5;209:33;199:61;;256:1;253;246:12;199:61;279:5;14:276;-1:-1:-1;;;14:276:72:o;295:162::-;389:42;382:5;378:54;371:5;368:65;358:93;;447:1;444;437:12;462:331;538:6;546;599:2;587:9;578:7;574:23;570:32;567:52;;;615:1;612;605:12;567:52;654:9;641:23;673:39;706:5;673:39;:::i;:::-;731:5;783:2;768:18;;;;755:32;;-1:-1:-1;;;462:331:72:o;798:535::-;914:6;922;930;983:2;971:9;962:7;958:23;954:32;951:52;;;999:1;996;989:12;951:52;1039:9;1026:23;1072:18;1064:6;1061:30;1058:50;;;1104:1;1101;1094:12;1058:50;1127:22;;1183:3;1165:16;;;1161:26;1158:46;;;1200:1;1197;1190:12;1158:46;1223:2;1272;1257:18;;1244:32;;-1:-1:-1;1323:2:72;1308:18;;;1295:32;;798:535;-1:-1:-1;;;798:535:72:o;1338:661::-;1513:2;1502:9;1495:21;1476:4;1545:6;1539:13;1588:6;1583:2;1572:9;1568:18;1561:34;1613:1;1623:144;1637:6;1634:1;1631:13;1623:144;;;1750:4;1734:14;;;1730:25;;1724:32;1719:2;1700:17;;;1696:26;1689:68;1652:12;1623:144;;;1627:3;1816:1;1811:2;1802:6;1791:9;1787:22;1783:31;1776:42;1945:2;1875:66;1870:2;1862:6;1858:15;1854:88;1843:9;1839:104;1835:113;1827:121;;;1986:6;1979:4;1968:9;1964:20;1957:36;1338:661;;;;;:::o;2004:887::-;2116:6;2124;2132;2140;2148;2201:3;2189:9;2180:7;2176:23;2172:33;2169:53;;;2218:1;2215;2208:12;2169:53;2257:9;2244:23;2296:1;2289:5;2286:12;2276:40;;2312:1;2309;2302:12;2276:40;2335:5;-1:-1:-1;2391:2:72;2376:18;;2363:32;2414:18;2444:14;;;2441:34;;;2471:1;2468;2461:12;2441:34;2509:6;2498:9;2494:22;2484:32;;2554:7;2547:4;2543:2;2539:13;2535:27;2525:55;;2576:1;2573;2566:12;2525:55;2616:2;2603:16;2642:2;2634:6;2631:14;2628:34;;;2658:1;2655;2648:12;2628:34;2703:7;2698:2;2689:6;2685:2;2681:15;2677:24;2674:37;2671:57;;;2724:1;2721;2714:12;2671:57;2004:887;;2755:2;2747:11;;;;;-1:-1:-1;2777:6:72;;2830:2;2815:18;;2802:32;;-1:-1:-1;2881:2:72;2866:18;2853:32;;-1:-1:-1;2004:887:72;-1:-1:-1;;;2004:887:72:o;3378:263::-;3445:6;3498:2;3486:9;3477:7;3473:23;3469:32;3466:52;;;3514:1;3511;3504:12;3466:52;3553:9;3540:23;3572:39;3605:5;3572:39;:::i;4850:184::-;4920:6;4973:2;4961:9;4952:7;4948:23;4944:32;4941:52;;;4989:1;4986;4979:12;4941:52;-1:-1:-1;5012:16:72;;4850:184;-1:-1:-1;4850:184:72:o","linkReferences":{},"immutableReferences":{"153":[{"start":447,"length":32},{"start":665,"length":32},{"start":863,"length":32},{"start":996,"length":32},{"start":1196,"length":32},{"start":1327,"length":32},{"start":1504,"length":32},{"start":1802,"length":32}]}},"methodIdentifiers":{"addStake(uint32)":"0396cb60","deposit()":"d0e30db0","entryPoint()":"b0d691fe","getDeposit()":"c399ec88","owner()":"8da5cb5b","postOp(uint8,bytes,uint256,uint256)":"7c627b21","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","unlockStake()":"bb9fe6bf","validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":"52b7512c","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"_entryPoint\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IPaymaster.PostOpMode\",\"name\":\"mode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualUserOpFeePerGas\",\"type\":\"uint256\"}],\"name\":\"postOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"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\":\"maxCost\",\"type\":\"uint256\"}],\"name\":\"validatePaymasterUserOp\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract is a simple paymaster that sponsors all user operations. It is intended for local development purposes.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- The unstake delay for this paymaster. Can only be increased.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"params\":{\"actualGasCost\":\"- Actual gas used so far (without this postOp call).\",\"actualUserOpFeePerGas\":\"- the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas and maxPriorityFee (and basefee) It is not the same as tx.gasprice, which is what the bundler pays.\",\"context\":\"- The context value returned by validatePaymasterUserOp\",\"mode\":\"- Enum with the following options: opSucceeded - User operation succeeded. opReverted - User op reverted. The paymaster still has to pay for gas. postOpReverted - never passed in a call to postOp().\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"params\":{\"maxCost\":\"- The maximum cost of this transaction (based on maximum gas and gas price from userOp).\",\"userOp\":\"- The user operation.\",\"userOpHash\":\"- Hash of the user's request data.\"},\"returns\":{\"context\":\" - Value to send to a postOp. Zero length to signify postOp is not required.\",\"validationData\":\"- Signature and time-range of this operation, encoded the same as the return value of validateUserOperation. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, other values are invalid for paymaster. <6-byte> validUntil - last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"amount\":\"- Amount to withdraw.\",\"withdrawAddress\":\"- Target to send to.\"}}},\"title\":\"Generous Paymaster\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add stake for this paymaster. This method can also carry eth value to add to the current stake.\"},\"deposit()\":{\"notice\":\"Add a deposit for this paymaster, used for paying for transaction fees.\"},\"getDeposit()\":{\"notice\":\"Return current paymaster's deposit on the entryPoint.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"notice\":\"Post-operation handler. Must verify sender is the entryPoint.\"},\"unlockStake()\":{\"notice\":\"Unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted). The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw value from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/experimental/GenerousPaymaster.sol\":\"GenerousPaymaster\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@account-abstraction/contracts/core/BasePaymaster.sol\":{\"keccak256\":\"0x156dd80127599c02937985a4fe44dd6424e29445af9aae886aff0f1993af43ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9a6afd9203f905b1d9a95f354e06d9b61328e5d27844d96100175718edb859ef\",\"dweb:/ipfs/QmYyKGTMaTyjDKY1QyThLJL8BZgUrTAxrHL3SNmRJLqnji\"]},\"node_modules/@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"node_modules/@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"node_modules/@account-abstraction/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"node_modules/@account-abstraction/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"node_modules/@account-abstraction/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"node_modules/@account-abstraction/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"node_modules/@account-abstraction/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"node_modules/@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"src/experimental/GenerousPaymaster.sol\":{\"keccak256\":\"0x1e8d827bca862e60b636f2361ea9528d94cc9c568e89447b4d0ead6f568fbba3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74f4330ec5668e78236114421cafc90d151360fe194f9b052c6df4c889b8561e\",\"dweb:/ipfs/QmaSfVWm31vGPg6sipaaKxq9x2xw9xWCk9oVsDhgVgfgPf\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IEntryPoint","name":"_entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[],"stateMutability":"payable","type":"function","name":"deposit"},{"inputs":[],"stateMutability":"view","type":"function","name":"entryPoint","outputs":[{"internalType":"contract IEntryPoint","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"enum IPaymaster.PostOpMode","name":"mode","type":"uint8"},{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"actualUserOpFeePerGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"postOp"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"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":"maxCost","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"validatePaymasterUserOp","outputs":[{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"validationData","type":"uint256"}]},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"}],"devdoc":{"kind":"dev","methods":{"addStake(uint32)":{"params":{"unstakeDelaySec":"- The unstake delay for this paymaster. Can only be increased."}},"owner()":{"details":"Returns the address of the current owner."},"postOp(uint8,bytes,uint256,uint256)":{"params":{"actualGasCost":"- Actual gas used so far (without this postOp call).","actualUserOpFeePerGas":"- the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas and maxPriorityFee (and basefee) It is not the same as tx.gasprice, which is what the bundler pays.","context":"- The context value returned by validatePaymasterUserOp","mode":"- Enum with the following options: opSucceeded - User operation succeeded. opReverted - User op reverted. The paymaster still has to pay for gas. postOpReverted - never passed in a call to postOp()."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":{"params":{"maxCost":"- The maximum cost of this transaction (based on maximum gas and gas price from userOp).","userOp":"- The user operation.","userOpHash":"- Hash of the user's request data."},"returns":{"context":" - Value to send to a postOp. Zero length to signify postOp is not required.","validationData":"- Signature and time-range of this operation, encoded the same as the return value of validateUserOperation. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, other values are invalid for paymaster. <6-byte> validUntil - last timestamp this operation is valid. 0 for \"indefinite\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly."}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"amount":"- Amount to withdraw.","withdrawAddress":"- Target to send to."}}},"version":1},"userdoc":{"kind":"user","methods":{"addStake(uint32)":{"notice":"Add stake for this paymaster. This method can also carry eth value to add to the current stake."},"deposit()":{"notice":"Add a deposit for this paymaster, used for paying for transaction fees."},"getDeposit()":{"notice":"Return current paymaster's deposit on the entryPoint."},"postOp(uint8,bytes,uint256,uint256)":{"notice":"Post-operation handler. Must verify sender is the entryPoint."},"unlockStake()":{"notice":"Unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again"},"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":{"notice":"Payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted). The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns."},"withdrawStake(address)":{"notice":"Withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)"},"withdrawTo(address,uint256)":{"notice":"Withdraw value from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction/=node_modules/@account-abstraction/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/experimental/GenerousPaymaster.sol":"GenerousPaymaster"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@account-abstraction/contracts/core/BasePaymaster.sol":{"keccak256":"0x156dd80127599c02937985a4fe44dd6424e29445af9aae886aff0f1993af43ab","urls":["bzz-raw://9a6afd9203f905b1d9a95f354e06d9b61328e5d27844d96100175718edb859ef","dweb:/ipfs/QmYyKGTMaTyjDKY1QyThLJL8BZgUrTAxrHL3SNmRJLqnji"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/core/Helpers.sol":{"keccak256":"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6","urls":["bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e","dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/core/UserOperationLib.sol":{"keccak256":"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b","urls":["bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc","dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f","urls":["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8","dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"node_modules/@account-abstraction/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"src/experimental/GenerousPaymaster.sol":{"keccak256":"0x1e8d827bca862e60b636f2361ea9528d94cc9c568e89447b4d0ead6f568fbba3","urls":["bzz-raw://74f4330ec5668e78236114421cafc90d151360fe194f9b052c6df4c889b8561e","dweb:/ipfs/QmaSfVWm31vGPg6sipaaKxq9x2xw9xWCk9oVsDhgVgfgPf"],"license":"MIT"}},"version":1},"id":69}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_entryPoint","type":"address","internalType":"contract IEntryPoint"}],"stateMutability":"nonpayable"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"deposit","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"entryPoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEntryPoint"}],"stateMutability":"view"},{"type":"function","name":"getDeposit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"postOp","inputs":[{"name":"mode","type":"uint8","internalType":"enum IPaymaster.PostOpMode"},{"name":"context","type":"bytes","internalType":"bytes"},{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"actualUserOpFeePerGas","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validatePaymasterUserOp","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":"maxCost","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"context","type":"bytes","internalType":"bytes"},{"name":"validationData","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a060405234801561000f575f80fd5b50604051610c21380380610c2183398101604081905261002e91610185565b80338061005557604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61005e8161007a565b50610068816100c9565b6001600160a01b0316608052506101d1565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516301ffc9a760e01b815263122a0e9b60e31b60048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015610112573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013691906101b2565b6101825760405162461bcd60e51b815260206004820152601e60248201527f49456e747279506f696e7420696e74657266616365206d69736d617463680000604482015260640161004c565b50565b5f60208284031215610195575f80fd5b81516001600160a01b03811681146101ab575f80fd5b9392505050565b5f602082840312156101c2575f80fd5b815180151581146101ab575f80fd5b608051610a0761021a5f395f81816101bf015281816102990152818161035f015281816103e4015281816104ac0152818161052f015281816105e0015261070a0152610a075ff3fe6080604052600436106100c3575f3560e01c8063b0d691fe11610071578063c399ec881161004c578063c399ec8814610214578063d0e30db014610236578063f2fde38b1461023e575f80fd5b8063b0d691fe146101ae578063bb9fe6bf146101e1578063c23a5cea146101f5575f80fd5b8063715018a6116100a1578063715018a6146101315780637c627b21146101455780638da5cb5b14610164575f80fd5b80630396cb60146100c7578063205c2878146100dc57806352b7512c146100fb575b5f80fd5b6100da6100d5366004610805565b61025d565b005b3480156100e7575f80fd5b506100da6100f6366004610850565b61030b565b348015610106575f80fd5b5061011a61011536600461087a565b6103a0565b6040516101289291906108c9565b60405180910390f35b34801561013c575f80fd5b506100da6103b8565b348015610150575f80fd5b506100da61015f366004610939565b6103cb565b34801561016f575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610128565b3480156101b9575f80fd5b506101897f000000000000000000000000000000000000000000000000000000000000000081565b3480156101ec575f80fd5b506100da6103da565b348015610200575f80fd5b506100da61020f3660046109c8565b61045f565b34801561021f575f80fd5b506102286104ff565b604051908152602001610128565b6100da6105b2565b348015610249575f80fd5b506100da6102583660046109c8565b610638565b6102656106a0565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024015f604051808303818588803b1580156102f1575f80fd5b505af1158015610303573d5f803e3d5ffd5b505050505050565b6103136106a0565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044015f604051808303815f87803b1580156102f1575f80fd5b60605f6103ab6106f2565b506060945f945092505050565b6103c06106a0565b6103c95f610791565b565b6103d36106f2565b5050505050565b6103e26106a0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610447575f80fd5b505af1158015610459573d5f803e3d5ffd5b50505050565b6104676106a0565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea906024015f604051808303815f87803b1580156104ed575f80fd5b505af11580156103d3573d5f803e3d5ffd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610589573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ad91906109e3565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024015f604051808303818588803b1580156104ed575f80fd5b6106406106a0565b73ffffffffffffffffffffffffffffffffffffffff8116610694576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b61069d81610791565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146103c9576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161068b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e740000000000000000000000604482015260640161068b565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610815575f80fd5b813563ffffffff81168114610828575f80fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461069d575f80fd5b5f8060408385031215610861575f80fd5b823561086c8161082f565b946020939093013593505050565b5f805f6060848603121561088c575f80fd5b833567ffffffffffffffff8111156108a2575f80fd5b840161012081870312156108b4575f80fd5b95602085013595506040909401359392505050565b604081525f83518060408401525f5b818110156108f557602081870181015160608684010152016108d8565b505f6060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b5f805f805f6080868803121561094d575f80fd5b85356003811061095b575f80fd5b9450602086013567ffffffffffffffff80821115610977575f80fd5b818801915088601f83011261098a575f80fd5b813581811115610998575f80fd5b8960208285010111156109a9575f80fd5b9699602092909201985095966040810135965060600135945092505050565b5f602082840312156109d8575f80fd5b81356108288161082f565b5f602082840312156109f3575f80fd5b505191905056fea164736f6c6343000818000a","sourceMap":"665:2712:65:-:0;;;713:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;764:11;950:10:1;;1269:95:20;;1322:31;;-1:-1:-1;;;1322:31:20;;1350:1;1322:31;;;475:51:68;448:18;;1322:31:20;;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;972:41:1::1;1001:11:::0;972:28:::1;:41::i;:::-;-1:-1:-1::0;;;;;1023:24:1::1;;::::0;-1:-1:-1;665:2712:65;;2912:187:20;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:20;;;-1:-1:-1;;;;;;3020:17:20;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;1173:218:1:-;1271:78;;-1:-1:-1;;;1271:78:1;;-1:-1:-1;;;1271:78:1;;;681:52:68;-1:-1:-1;;;;;1271:47:1;;;;;654:18:68;;1271:78:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1263:121;;;;-1:-1:-1;;;1263:121:1;;1228:2:68;1263:121:1;;;1210:21:68;1267:2;1247:18;;;1240:30;1306:32;1286:18;;;1279:60;1356:18;;1263:121:1;1026:354:68;1263:121:1;1173:218;:::o;14:310:68:-;104:6;157:2;145:9;136:7;132:23;128:32;125:52;;;173:1;170;163:12;125:52;199:16;;-1:-1:-1;;;;;244:31:68;;234:42;;224:70;;290:1;287;280:12;224:70;313:5;14:310;-1:-1:-1;;;14:310:68:o;744:277::-;811:6;864:2;852:9;843:7;839:23;835:32;832:52;;;880:1;877;870:12;832:52;912:9;906:16;965:5;958:13;951:21;944:5;941:32;931:60;;987:1;984;977:12;1026:354;665:2712:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100c3575f3560e01c8063b0d691fe11610071578063c399ec881161004c578063c399ec8814610214578063d0e30db014610236578063f2fde38b1461023e575f80fd5b8063b0d691fe146101ae578063bb9fe6bf146101e1578063c23a5cea146101f5575f80fd5b8063715018a6116100a1578063715018a6146101315780637c627b21146101455780638da5cb5b14610164575f80fd5b80630396cb60146100c7578063205c2878146100dc57806352b7512c146100fb575b5f80fd5b6100da6100d5366004610805565b61025d565b005b3480156100e7575f80fd5b506100da6100f6366004610850565b61030b565b348015610106575f80fd5b5061011a61011536600461087a565b6103a0565b6040516101289291906108c9565b60405180910390f35b34801561013c575f80fd5b506100da6103b8565b348015610150575f80fd5b506100da61015f366004610939565b6103cb565b34801561016f575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610128565b3480156101b9575f80fd5b506101897f000000000000000000000000000000000000000000000000000000000000000081565b3480156101ec575f80fd5b506100da6103da565b348015610200575f80fd5b506100da61020f3660046109c8565b61045f565b34801561021f575f80fd5b506102286104ff565b604051908152602001610128565b6100da6105b2565b348015610249575f80fd5b506100da6102583660046109c8565b610638565b6102656106a0565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024015f604051808303818588803b1580156102f1575f80fd5b505af1158015610303573d5f803e3d5ffd5b505050505050565b6103136106a0565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044015f604051808303815f87803b1580156102f1575f80fd5b60605f6103ab6106f2565b506060945f945092505050565b6103c06106a0565b6103c95f610791565b565b6103d36106f2565b5050505050565b6103e26106a0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610447575f80fd5b505af1158015610459573d5f803e3d5ffd5b50505050565b6104676106a0565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea906024015f604051808303815f87803b1580156104ed575f80fd5b505af11580156103d3573d5f803e3d5ffd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610589573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ad91906109e3565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024015f604051808303818588803b1580156104ed575f80fd5b6106406106a0565b73ffffffffffffffffffffffffffffffffffffffff8116610694576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b61069d81610791565b50565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146103c9576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161068b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e740000000000000000000000604482015260640161068b565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215610815575f80fd5b813563ffffffff81168114610828575f80fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461069d575f80fd5b5f8060408385031215610861575f80fd5b823561086c8161082f565b946020939093013593505050565b5f805f6060848603121561088c575f80fd5b833567ffffffffffffffff8111156108a2575f80fd5b840161012081870312156108b4575f80fd5b95602085013595506040909401359392505050565b604081525f83518060408401525f5b818110156108f557602081870181015160608684010152016108d8565b505f6060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b5f805f805f6080868803121561094d575f80fd5b85356003811061095b575f80fd5b9450602086013567ffffffffffffffff80821115610977575f80fd5b818801915088601f83011261098a575f80fd5b813581811115610998575f80fd5b8960208285010111156109a9575f80fd5b9699602092909201985095966040810135965060600135945092505050565b5f602082840312156109d8575f80fd5b81356108288161082f565b5f602082840312156109f3575f80fd5b505191905056fea164736f6c6343000818000a","sourceMap":"665:2712:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4651:140:1;;;;;;:::i;:::-;;:::i;:::-;;4255:171;;;;;;;;;;-1:-1:-1;4255:171:1;;;;;:::i;:::-;;:::i;1428:321::-;;;;;;;;;;-1:-1:-1;1428:321:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2293:101:20;;;;;;;;;;;;;:::i;2225:278:1:-;;;;;;;;;;-1:-1:-1;2225:278:1;;;;;:::i;:::-;;:::i;1638:85:20:-;;;;;;;;;;-1:-1:-1;1684:7:20;1710:6;;;1638:85;;;3072:42:68;3060:55;;;3042:74;;3030:2;3015:18;1638:85:20;2896:226:68;544:39:1;;;;;;;;;;;;;;;5144:83;;;;;;;;;;;;;:::i;5448:133::-;;;;;;;;;;-1:-1:-1;5448:133:1;;;;;:::i;:::-;;:::i;4874:111::-;;;;;;;;;;;;;:::i;:::-;;;3792:25:68;;;3780:2;3765:18;4874:111:1;3646:177:68;3986:104:1;;;:::i;2543:215:20:-;;;;;;;;;;-1:-1:-1;2543:215:20;;;;;:::i;:::-;;:::i;4651:140:1:-;1531:13:20;:11;:13::i;:::-;4730:54:1::1;::::0;;;;4262:10:68;4250:23;;4730:54:1::1;::::0;::::1;4232:42:68::0;4730:10:1::1;:19;;::::0;::::1;::::0;4757:9:::1;::::0;4205:18:68;;4730:54:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;4651:140:::0;:::o;4255:171::-;1531:13:20;:11;:13::i;:::-;4373:46:1::1;::::0;;;;:21:::1;4493:55:68::0;;;4373:46:1::1;::::0;::::1;4475:74:68::0;4565:18;;;4558:34;;;4373:10:1::1;:21;::::0;::::1;::::0;4448:18:68;;4373:46:1::1;;;;;;;;;;;;;;;;;::::0;::::1;1428:321:::0;1592:20;1614:22;1648:24;:22;:24::i;:::-;-1:-1:-1;2290:20:65;;2312:22;;-1:-1:-1;1428:321:1;-1:-1:-1;;;1428:321:1:o;2293:101:20:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2225:278:1:-;2402:24;:22;:24::i;:::-;2225:278;;;;;:::o;5144:83::-;1531:13:20;:11;:13::i;:::-;5196:10:1::1;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5144:83::o:0;5448:133::-;1531:13:20;:11;:13::i;:::-;5533:41:1::1;::::0;;;;:24:::1;3060:55:68::0;;;5533:41:1::1;::::0;::::1;3042:74:68::0;5533:10:1::1;:24;::::0;::::1;::::0;3015:18:68;;5533:41:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;4874:111:::0;4943:35;;;;;4972:4;4943:35;;;3042:74:68;4917:7:1;;4943:10;:20;;;;;3015:18:68;;4943:35:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4936:42;;4874:111;:::o;3986:104::-;4030:53;;;;;4077:4;4030:53;;;3042:74:68;4030:10:1;:20;;;;;4058:9;;3015:18:68;;4030:53:1;;;;;;;;;;;;;;;;;;;2543:215:20;1531:13;:11;:13::i;:::-;2627:22:::1;::::0;::::1;2623:91;;2672:31;::::0;::::1;::::0;;2700:1:::1;2672:31;::::0;::::1;3042:74:68::0;3015:18;;2672:31:20::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;1855:23;1710:6;735:10:32;1855:23:20;1851:101;;1901:40;;;;;735:10:32;1901:40:20;;;3042:74:68;3015:18;;1901:40:20;2896:226:68;5660:135:1;5729:10;:33;5751:10;5729:33;;5721:67;;;;;;;5241:2:68;5721:67:1;;;5223:21:68;5280:2;5260:18;;;5253:30;5319:23;5299:18;;;5292:51;5360:18;;5721:67:1;5039:345:68;2912:187:20;2985:16;3004:6;;;3020:17;;;;;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:276:68:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:10;223:5;219:22;212:5;209:33;199:61;;256:1;253;246:12;199:61;279:5;14:276;-1:-1:-1;;;14:276:68:o;295:162::-;389:42;382:5;378:54;371:5;368:65;358:93;;447:1;444;437:12;462:331;538:6;546;599:2;587:9;578:7;574:23;570:32;567:52;;;615:1;612;605:12;567:52;654:9;641:23;673:39;706:5;673:39;:::i;:::-;731:5;783:2;768:18;;;;755:32;;-1:-1:-1;;;462:331:68:o;798:535::-;914:6;922;930;983:2;971:9;962:7;958:23;954:32;951:52;;;999:1;996;989:12;951:52;1039:9;1026:23;1072:18;1064:6;1061:30;1058:50;;;1104:1;1101;1094:12;1058:50;1127:22;;1183:3;1165:16;;;1161:26;1158:46;;;1200:1;1197;1190:12;1158:46;1223:2;1272;1257:18;;1244:32;;-1:-1:-1;1323:2:68;1308:18;;;1295:32;;798:535;-1:-1:-1;;;798:535:68:o;1338:661::-;1513:2;1502:9;1495:21;1476:4;1545:6;1539:13;1588:6;1583:2;1572:9;1568:18;1561:34;1613:1;1623:144;1637:6;1634:1;1631:13;1623:144;;;1750:4;1734:14;;;1730:25;;1724:32;1719:2;1700:17;;;1696:26;1689:68;1652:12;1623:144;;;1627:3;1816:1;1811:2;1802:6;1791:9;1787:22;1783:31;1776:42;1945:2;1875:66;1870:2;1862:6;1858:15;1854:88;1843:9;1839:104;1835:113;1827:121;;;1986:6;1979:4;1968:9;1964:20;1957:36;1338:661;;;;;:::o;2004:887::-;2116:6;2124;2132;2140;2148;2201:3;2189:9;2180:7;2176:23;2172:33;2169:53;;;2218:1;2215;2208:12;2169:53;2257:9;2244:23;2296:1;2289:5;2286:12;2276:40;;2312:1;2309;2302:12;2276:40;2335:5;-1:-1:-1;2391:2:68;2376:18;;2363:32;2414:18;2444:14;;;2441:34;;;2471:1;2468;2461:12;2441:34;2509:6;2498:9;2494:22;2484:32;;2554:7;2547:4;2543:2;2539:13;2535:27;2525:55;;2576:1;2573;2566:12;2525:55;2616:2;2603:16;2642:2;2634:6;2631:14;2628:34;;;2658:1;2655;2648:12;2628:34;2703:7;2698:2;2689:6;2685:2;2681:15;2677:24;2674:37;2671:57;;;2724:1;2721;2714:12;2671:57;2004:887;;2755:2;2747:11;;;;;-1:-1:-1;2777:6:68;;2830:2;2815:18;;2802:32;;-1:-1:-1;2881:2:68;2866:18;2853:32;;-1:-1:-1;2004:887:68;-1:-1:-1;;;2004:887:68:o;3378:263::-;3445:6;3498:2;3486:9;3477:7;3473:23;3469:32;3466:52;;;3514:1;3511;3504:12;3466:52;3553:9;3540:23;3572:39;3605:5;3572:39;:::i;4850:184::-;4920:6;4973:2;4961:9;4952:7;4948:23;4944:32;4941:52;;;4989:1;4986;4979:12;4941:52;-1:-1:-1;5012:16:68;;4850:184;-1:-1:-1;4850:184:68:o","linkReferences":{},"immutableReferences":{"153":[{"start":447,"length":32},{"start":665,"length":32},{"start":863,"length":32},{"start":996,"length":32},{"start":1196,"length":32},{"start":1327,"length":32},{"start":1504,"length":32},{"start":1802,"length":32}]}},"methodIdentifiers":{"addStake(uint32)":"0396cb60","deposit()":"d0e30db0","entryPoint()":"b0d691fe","getDeposit()":"c399ec88","owner()":"8da5cb5b","postOp(uint8,bytes,uint256,uint256)":"7c627b21","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","unlockStake()":"bb9fe6bf","validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":"52b7512c","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"_entryPoint\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IPaymaster.PostOpMode\",\"name\":\"mode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"actualUserOpFeePerGas\",\"type\":\"uint256\"}],\"name\":\"postOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"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\":\"maxCost\",\"type\":\"uint256\"}],\"name\":\"validatePaymasterUserOp\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract is a simple paymaster that sponsors all user operations. It is intended for local development purposes.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- The unstake delay for this paymaster. Can only be increased.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"params\":{\"actualGasCost\":\"- Actual gas used so far (without this postOp call).\",\"actualUserOpFeePerGas\":\"- the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas and maxPriorityFee (and basefee) It is not the same as tx.gasprice, which is what the bundler pays.\",\"context\":\"- The context value returned by validatePaymasterUserOp\",\"mode\":\"- Enum with the following options: opSucceeded - User operation succeeded. opReverted - User op reverted. The paymaster still has to pay for gas. postOpReverted - never passed in a call to postOp().\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"params\":{\"maxCost\":\"- The maximum cost of this transaction (based on maximum gas and gas price from userOp).\",\"userOp\":\"- The user operation.\",\"userOpHash\":\"- Hash of the user's request data.\"},\"returns\":{\"context\":\" - Value to send to a postOp. Zero length to signify postOp is not required.\",\"validationData\":\"- Signature and time-range of this operation, encoded the same as the return value of validateUserOperation. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, other values are invalid for paymaster. <6-byte> validUntil - last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"amount\":\"- Amount to withdraw.\",\"withdrawAddress\":\"- Target to send to.\"}}},\"title\":\"Generous Paymaster\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add stake for this paymaster. This method can also carry eth value to add to the current stake.\"},\"deposit()\":{\"notice\":\"Add a deposit for this paymaster, used for paying for transaction fees.\"},\"getDeposit()\":{\"notice\":\"Return current paymaster's deposit on the entryPoint.\"},\"postOp(uint8,bytes,uint256,uint256)\":{\"notice\":\"Post-operation handler. Must verify sender is the entryPoint.\"},\"unlockStake()\":{\"notice\":\"Unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)\":{\"notice\":\"Payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted). The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw value from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/experimental/GenerousPaymaster.sol\":\"GenerousPaymaster\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@account-abstraction/contracts/core/BasePaymaster.sol\":{\"keccak256\":\"0x156dd80127599c02937985a4fe44dd6424e29445af9aae886aff0f1993af43ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9a6afd9203f905b1d9a95f354e06d9b61328e5d27844d96100175718edb859ef\",\"dweb:/ipfs/QmYyKGTMaTyjDKY1QyThLJL8BZgUrTAxrHL3SNmRJLqnji\"]},\"node_modules/@account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"node_modules/@account-abstraction/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"node_modules/@account-abstraction/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"node_modules/@account-abstraction/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"node_modules/@account-abstraction/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"node_modules/@account-abstraction/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"node_modules/@account-abstraction/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"node_modules/@account-abstraction/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"src/experimental/GenerousPaymaster.sol\":{\"keccak256\":\"0x1e8d827bca862e60b636f2361ea9528d94cc9c568e89447b4d0ead6f568fbba3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74f4330ec5668e78236114421cafc90d151360fe194f9b052c6df4c889b8561e\",\"dweb:/ipfs/QmaSfVWm31vGPg6sipaaKxq9x2xw9xWCk9oVsDhgVgfgPf\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IEntryPoint","name":"_entryPoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[],"stateMutability":"payable","type":"function","name":"deposit"},{"inputs":[],"stateMutability":"view","type":"function","name":"entryPoint","outputs":[{"internalType":"contract IEntryPoint","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"enum IPaymaster.PostOpMode","name":"mode","type":"uint8"},{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"actualUserOpFeePerGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"postOp"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"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":"maxCost","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"validatePaymasterUserOp","outputs":[{"internalType":"bytes","name":"context","type":"bytes"},{"internalType":"uint256","name":"validationData","type":"uint256"}]},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"}],"devdoc":{"kind":"dev","methods":{"addStake(uint32)":{"params":{"unstakeDelaySec":"- The unstake delay for this paymaster. Can only be increased."}},"owner()":{"details":"Returns the address of the current owner."},"postOp(uint8,bytes,uint256,uint256)":{"params":{"actualGasCost":"- Actual gas used so far (without this postOp call).","actualUserOpFeePerGas":"- the gas price this UserOp pays. This value is based on the UserOp's maxFeePerGas and maxPriorityFee (and basefee) It is not the same as tx.gasprice, which is what the bundler pays.","context":"- The context value returned by validatePaymasterUserOp","mode":"- Enum with the following options: opSucceeded - User operation succeeded. opReverted - User op reverted. The paymaster still has to pay for gas. postOpReverted - never passed in a call to postOp()."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":{"params":{"maxCost":"- The maximum cost of this transaction (based on maximum gas and gas price from userOp).","userOp":"- The user operation.","userOpHash":"- Hash of the user's request data."},"returns":{"context":" - Value to send to a postOp. Zero length to signify postOp is not required.","validationData":"- Signature and time-range of this operation, encoded the same as the return value of validateUserOperation. <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, other values are invalid for paymaster. <6-byte> validUntil - last timestamp this operation is valid. 0 for \"indefinite\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly."}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"amount":"- Amount to withdraw.","withdrawAddress":"- Target to send to."}}},"version":1},"userdoc":{"kind":"user","methods":{"addStake(uint32)":{"notice":"Add stake for this paymaster. This method can also carry eth value to add to the current stake."},"deposit()":{"notice":"Add a deposit for this paymaster, used for paying for transaction fees."},"getDeposit()":{"notice":"Return current paymaster's deposit on the entryPoint."},"postOp(uint8,bytes,uint256,uint256)":{"notice":"Post-operation handler. Must verify sender is the entryPoint."},"unlockStake()":{"notice":"Unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again"},"validatePaymasterUserOp((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),bytes32,uint256)":{"notice":"Payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted). The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns."},"withdrawStake(address)":{"notice":"Withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)"},"withdrawTo(address,uint256)":{"notice":"Withdraw value from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction/=node_modules/@account-abstraction/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/experimental/GenerousPaymaster.sol":"GenerousPaymaster"},"evmVersion":"cancun","libraries":{}},"sources":{"node_modules/@account-abstraction/contracts/core/BasePaymaster.sol":{"keccak256":"0x156dd80127599c02937985a4fe44dd6424e29445af9aae886aff0f1993af43ab","urls":["bzz-raw://9a6afd9203f905b1d9a95f354e06d9b61328e5d27844d96100175718edb859ef","dweb:/ipfs/QmYyKGTMaTyjDKY1QyThLJL8BZgUrTAxrHL3SNmRJLqnji"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/core/Helpers.sol":{"keccak256":"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6","urls":["bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e","dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/core/UserOperationLib.sol":{"keccak256":"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b","urls":["bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc","dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f","urls":["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8","dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"],"license":"GPL-3.0"},"node_modules/@account-abstraction/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"node_modules/@account-abstraction/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"src/experimental/GenerousPaymaster.sol":{"keccak256":"0x1e8d827bca862e60b636f2361ea9528d94cc9c568e89447b4d0ead6f568fbba3","urls":["bzz-raw://74f4330ec5668e78236114421cafc90d151360fe194f9b052c6df4c889b8561e","dweb:/ipfs/QmaSfVWm31vGPg6sipaaKxq9x2xw9xWCk9oVsDhgVgfgPf"],"license":"MIT"}},"version":1},"id":65}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@latticexyz/paymaster",
|
|
3
|
-
"version": "2.2.23-
|
|
3
|
+
"version": "2.2.23-b84bcc6141e8fecb564eaecfc6e60c764d91bf39",
|
|
4
4
|
"description": "Paymaster contracts",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@account-abstraction/contracts": "0.7.0",
|
|
25
25
|
"@openzeppelin/contracts": "5.1.0",
|
|
26
|
-
"forge-std": "https://github.com/foundry-rs/forge-std.git#
|
|
26
|
+
"forge-std": "https://github.com/foundry-rs/forge-std.git#60acb7aaadcce2d68e52986a0a66fe79f07d138f",
|
|
27
27
|
"solhint": "^3.3.7",
|
|
28
|
-
"@latticexyz/abi-ts": "2.2.23-
|
|
28
|
+
"@latticexyz/abi-ts": "2.2.23-b84bcc6141e8fecb564eaecfc6e60c764d91bf39"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|