@ensuro/account-abstraction 0.0.5 → 0.2.0

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,5 +1,5 @@
1
1
  {
2
- "_format": "hh-sol-artifact-1",
2
+ "_format": "hh3-artifact-1",
3
3
  "contractName": "AccessControlAccount",
4
4
  "sourceName": "contracts/AccessControlAccount.sol",
5
5
  "abi": [
@@ -56,17 +56,6 @@
56
56
  "name": "AddressEmptyCode",
57
57
  "type": "error"
58
58
  },
59
- {
60
- "inputs": [
61
- {
62
- "internalType": "address",
63
- "name": "account",
64
- "type": "address"
65
- }
66
- ],
67
- "name": "AddressInsufficientBalance",
68
- "type": "error"
69
- },
70
59
  {
71
60
  "inputs": [],
72
61
  "name": "ECDSAInvalidSignature",
@@ -94,9 +83,41 @@
94
83
  "name": "ECDSAInvalidSignatureS",
95
84
  "type": "error"
96
85
  },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "index",
91
+ "type": "uint256"
92
+ },
93
+ {
94
+ "internalType": "bytes",
95
+ "name": "error",
96
+ "type": "bytes"
97
+ }
98
+ ],
99
+ "name": "ExecuteError",
100
+ "type": "error"
101
+ },
97
102
  {
98
103
  "inputs": [],
99
- "name": "FailedInnerCall",
104
+ "name": "FailedCall",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [
109
+ {
110
+ "internalType": "uint256",
111
+ "name": "balance",
112
+ "type": "uint256"
113
+ },
114
+ {
115
+ "internalType": "uint256",
116
+ "name": "needed",
117
+ "type": "uint256"
118
+ }
119
+ ],
120
+ "name": "InsufficientBalance",
100
121
  "type": "error"
101
122
  },
102
123
  {
@@ -272,6 +293,36 @@
272
293
  "stateMutability": "nonpayable",
273
294
  "type": "function"
274
295
  },
296
+ {
297
+ "inputs": [
298
+ {
299
+ "components": [
300
+ {
301
+ "internalType": "address",
302
+ "name": "target",
303
+ "type": "address"
304
+ },
305
+ {
306
+ "internalType": "uint256",
307
+ "name": "value",
308
+ "type": "uint256"
309
+ },
310
+ {
311
+ "internalType": "bytes",
312
+ "name": "data",
313
+ "type": "bytes"
314
+ }
315
+ ],
316
+ "internalType": "struct BaseAccount.Call[]",
317
+ "name": "calls",
318
+ "type": "tuple[]"
319
+ }
320
+ ],
321
+ "name": "executeBatch",
322
+ "outputs": [],
323
+ "stateMutability": "nonpayable",
324
+ "type": "function"
325
+ },
275
326
  {
276
327
  "inputs": [
277
328
  {
@@ -536,8 +587,42 @@
536
587
  "type": "receive"
537
588
  }
538
589
  ],
539
- "bytecode": "0x60a06040523480156200001157600080fd5b50604051620024e4380380620024e483398181016040528101906200003791906200049e565b8273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620000806000801b83620000f660201b60201c565b5060005b8151811015620000ec57620000dd7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63838381518110620000c957620000c862000519565b5b6020026020010151620000f660201b60201c565b50808060010191505062000084565b5050505062000548565b60006200010a8383620001f960201b60201c565b620001ee57600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200018a6200026360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050620001f3565b600090505b92915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002ac826200027f565b9050919050565b6000620002c0826200029f565b9050919050565b620002d281620002b3565b8114620002de57600080fd5b50565b600081519050620002f281620002c7565b92915050565b62000303816200029f565b81146200030f57600080fd5b50565b6000815190506200032381620002f8565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000379826200032e565b810181811067ffffffffffffffff821117156200039b576200039a6200033f565b5b80604052505050565b6000620003b06200026b565b9050620003be82826200036e565b919050565b600067ffffffffffffffff821115620003e157620003e06200033f565b5b602082029050602081019050919050565b600080fd5b60006200040e6200040884620003c3565b620003a4565b90508083825260208201905060208402830185811115620004345762000433620003f2565b5b835b818110156200046157806200044c888262000312565b84526020840193505060208101905062000436565b5050509392505050565b600082601f83011262000483576200048262000329565b5b815162000495848260208601620003f7565b91505092915050565b600080600060608486031215620004ba57620004b962000275565b5b6000620004ca86828701620002e1565b9350506020620004dd8682870162000312565b925050604084015167ffffffffffffffff8111156200050157620005006200027a565b5b6200050f868287016200046b565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b608051611f806200056460003960006109270152611f806000f3fe6080604052600436106101025760003560e01c80634d44560d11610095578063b61d27f611610064578063b61d27f614610331578063c399ec881461035a578063d087d28814610385578063d547741f146103b0578063e02023a1146103d957610109565b80634d44560d1461027557806391d148541461029e578063a217fddf146102db578063b0d691fe1461030657610109565b80632f2ff15d116100d15780632f2ff15d146101f057806336568abe1461021957806347e1da2a146102425780634a58db191461026b57610109565b806301ffc9a71461010e57806307bd02651461014b57806319822f7c14610176578063248a9ca3146101b357610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101356004803603810190610130919061154e565b610404565b6040516101429190611596565b60405180910390f35b34801561015757600080fd5b5061016061047e565b60405161016d91906115ca565b60405180910390f35b34801561018257600080fd5b5061019d6004803603810190610198919061166c565b6104a2565b6040516101aa91906116ea565b60405180910390f35b3480156101bf57600080fd5b506101da60048036038101906101d59190611705565b6104d5565b6040516101e791906115ca565b60405180910390f35b3480156101fc57600080fd5b5061021760048036038101906102129190611790565b6104f4565b005b34801561022557600080fd5b50610240600480360381019061023b9190611790565b610516565b005b34801561024e57600080fd5b50610269600480360381019061026491906118e1565b610591565b005b61027361079a565b005b34801561028157600080fd5b5061029c600480360381019061029791906119d3565b61080f565b005b3480156102aa57600080fd5b506102c560048036038101906102c09190611790565b6108b2565b6040516102d29190611596565b60405180910390f35b3480156102e757600080fd5b506102f061091c565b6040516102fd91906115ca565b60405180910390f35b34801561031257600080fd5b5061031b610923565b6040516103289190611a72565b60405180910390f35b34801561033d57600080fd5b5061035860048036038101906103539190611ae3565b61094b565b005b34801561036657600080fd5b5061036f6109a9565b60405161037c91906116ea565b60405180910390f35b34801561039157600080fd5b5061039a610a31565b6040516103a791906116ea565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d29190611790565b610abc565b005b3480156103e557600080fd5b506103ee610ade565b6040516103fb91906115ca565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610477575061047682610b02565b5b9050919050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60006104ac610b6c565b6104b68484610be3565b90506104c58460200135610c98565b6104ce82610c9b565b9392505050565b6000806000838152602001908152602001600020600101549050919050565b6104fd826104d5565b61050681610d37565b6105108383610d4b565b50505050565b61051e610e3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610582576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61058c8282610e44565b505050565b610599610f36565b81819050868690501415806105c45750600084849050141580156105c35750818190508484905014155b5b156105fb576040517f2a00e5c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084849050036106c25760005b868690508110156106bc576106ae87878381811061062a57610629611b57565b5b905060200201602081019061063f9190611b86565b84848481811061065257610651611b57565b5b90506020028101906106649190611bc2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610fe4565b508080600101915050610609565b50610792565b60005b86869050811015610790576107828787838181106106e6576106e5611b57565b5b90506020020160208101906106fb9190611b86565b84848481811061070e5761070d611b57565b5b90506020028101906107209190611bc2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087878581811061077657610775611b57565b5b90506020020135610fe4565b5080806001019150506106c5565b505b505050505050565b6107a2610923565b73ffffffffffffffffffffffffffffffffffffffff1663b760faf934306040518363ffffffff1660e01b81526004016107db9190611c34565b6000604051808303818588803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b5050505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec61083981610d37565b610841610923565b73ffffffffffffffffffffffffffffffffffffffff1663205c287884846040518363ffffffff1660e01b815260040161087b929190611c5e565b600060405180830381600087803b15801561089557600080fd5b505af11580156108a9573d6000803e3d6000fd5b50505050505050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b610953610f36565b6109a28483838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085610fe4565b5050505050565b60006109b3610923565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109eb9190611c34565b602060405180830381865afa158015610a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2c9190611c9c565b905090565b6000610a3b610923565b73ffffffffffffffffffffffffffffffffffffffff166335567e1a3060006040518363ffffffff1660e01b8152600401610a76929190611d28565b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab79190611c9c565b905090565b610ac5826104d5565b610ace81610d37565b610ad88383610e44565b50505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610b74610923565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890611dae565b60405180910390fd5b565b600080610bef836110b1565b90506000610c508286806101000190610c089190611bc2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506110e7565b9050610c7c7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63826108b2565b610c8b57600192505050610c92565b6000925050505b92915050565b50565b60008114610d345760003373ffffffffffffffffffffffffffffffffffffffff16827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90604051610ceb90611dff565b600060405180830381858888f193505050503d8060008114610d29576040519150601f19603f3d011682016040523d82523d6000602084013e610d2e565b606091505b50509050505b50565b610d4881610d43610e3c565b611113565b50565b6000610d5783836108b2565b610e3157600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610dce610e3c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610e36565b600090505b92915050565b600033905090565b6000610e5083836108b2565b15610f2b57600080600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ec8610e3c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050610f30565b600090505b92915050565b610f3e610923565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610fa05750610f9e7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63336108b2565b155b15610fe257336040517ff1a1fdac000000000000000000000000000000000000000000000000000000008152600401610fd99190611c34565b60405180910390fd5b565b60608147101561102b57306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016110229190611c34565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516110549190611e7a565b60006040518083038185875af1925050503d8060008114611091576040519150601f19603f3d011682016040523d82523d6000602084013e611096565b606091505b50915091506110a6868383611164565b925050509392505050565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b6000806000806110f786866111f3565b925092509250611107828261124f565b82935050505092915050565b61111d82826108b2565b6111605780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611157929190611e91565b60405180910390fd5b5050565b60608261117957611174826113b3565b6111eb565b600082511480156111a1575060008473ffffffffffffffffffffffffffffffffffffffff163b145b156111e357836040517f9996b3150000000000000000000000000000000000000000000000000000000081526004016111da9190611c34565b60405180910390fd5b8190506111ec565b5b9392505050565b600080600060418451036112385760008060006020870151925060408701519150606087015160001a905061122a888285856113f8565b955095509550505050611248565b60006002855160001b9250925092505b9250925092565b6000600381111561126357611262611eba565b5b82600381111561127657611275611eba565b5b03156113af57600160038111156112905761128f611eba565b5b8260038111156112a3576112a2611eba565b5b036112da576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156112ee576112ed611eba565b5b82600381111561130157611300611eba565b5b03611346578060001c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161133d91906116ea565b60405180910390fd5b60038081111561135957611358611eba565b5b82600381111561136c5761136b611eba565b5b036113ae57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016113a591906115ca565b60405180910390fd5b5b5050565b6000815111156113c65780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c11156114385760006003859250925092506114e2565b60006001888888886040516000815260200160405260405161145d9493929190611f05565b6020604051602081039080840390855afa15801561147f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114d357600060016000801b935093509350506114e2565b8060008060001b935093509350505b9450945094915050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61152b816114f6565b811461153657600080fd5b50565b60008135905061154881611522565b92915050565b600060208284031215611564576115636114ec565b5b600061157284828501611539565b91505092915050565b60008115159050919050565b6115908161157b565b82525050565b60006020820190506115ab6000830184611587565b92915050565b6000819050919050565b6115c4816115b1565b82525050565b60006020820190506115df60008301846115bb565b92915050565b600080fd5b60006101208284031215611601576116006115e5565b5b81905092915050565b611613816115b1565b811461161e57600080fd5b50565b6000813590506116308161160a565b92915050565b6000819050919050565b61164981611636565b811461165457600080fd5b50565b60008135905061166681611640565b92915050565b600080600060608486031215611685576116846114ec565b5b600084013567ffffffffffffffff8111156116a3576116a26114f1565b5b6116af868287016115ea565b93505060206116c086828701611621565b92505060406116d186828701611657565b9150509250925092565b6116e481611636565b82525050565b60006020820190506116ff60008301846116db565b92915050565b60006020828403121561171b5761171a6114ec565b5b600061172984828501611621565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061175d82611732565b9050919050565b61176d81611752565b811461177857600080fd5b50565b60008135905061178a81611764565b92915050565b600080604083850312156117a7576117a66114ec565b5b60006117b585828601611621565b92505060206117c68582860161177b565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126117f5576117f46117d0565b5b8235905067ffffffffffffffff811115611812576118116117d5565b5b60208301915083602082028301111561182e5761182d6117da565b5b9250929050565b60008083601f84011261184b5761184a6117d0565b5b8235905067ffffffffffffffff811115611868576118676117d5565b5b602083019150836020820283011115611884576118836117da565b5b9250929050565b60008083601f8401126118a1576118a06117d0565b5b8235905067ffffffffffffffff8111156118be576118bd6117d5565b5b6020830191508360208202830111156118da576118d96117da565b5b9250929050565b600080600080600080606087890312156118fe576118fd6114ec565b5b600087013567ffffffffffffffff81111561191c5761191b6114f1565b5b61192889828a016117df565b9650965050602087013567ffffffffffffffff81111561194b5761194a6114f1565b5b61195789828a01611835565b9450945050604087013567ffffffffffffffff81111561197a576119796114f1565b5b61198689828a0161188b565b92509250509295509295509295565b60006119a082611732565b9050919050565b6119b081611995565b81146119bb57600080fd5b50565b6000813590506119cd816119a7565b92915050565b600080604083850312156119ea576119e96114ec565b5b60006119f8858286016119be565b9250506020611a0985828601611657565b9150509250929050565b6000819050919050565b6000611a38611a33611a2e84611732565b611a13565b611732565b9050919050565b6000611a4a82611a1d565b9050919050565b6000611a5c82611a3f565b9050919050565b611a6c81611a51565b82525050565b6000602082019050611a876000830184611a63565b92915050565b60008083601f840112611aa357611aa26117d0565b5b8235905067ffffffffffffffff811115611ac057611abf6117d5565b5b602083019150836001820283011115611adc57611adb6117da565b5b9250929050565b60008060008060608587031215611afd57611afc6114ec565b5b6000611b0b8782880161177b565b9450506020611b1c87828801611657565b935050604085013567ffffffffffffffff811115611b3d57611b3c6114f1565b5b611b4987828801611a8d565b925092505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611b9c57611b9b6114ec565b5b6000611baa8482850161177b565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611bdf57611bde611bb3565b5b80840192508235915067ffffffffffffffff821115611c0157611c00611bb8565b5b602083019250600182023603831315611c1d57611c1c611bbd565b5b509250929050565b611c2e81611752565b82525050565b6000602082019050611c496000830184611c25565b92915050565b611c5881611995565b82525050565b6000604082019050611c736000830185611c4f565b611c8060208301846116db565b9392505050565b600081519050611c9681611640565b92915050565b600060208284031215611cb257611cb16114ec565b5b6000611cc084828501611c87565b91505092915050565b6000819050919050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d12611d0d611d0884611cc9565b611a13565b611cd3565b9050919050565b611d2281611cf7565b82525050565b6000604082019050611d3d6000830185611c25565b611d4a6020830184611d19565b9392505050565b600082825260208201905092915050565b7f6163636f756e743a206e6f742066726f6d20456e747279506f696e7400000000600082015250565b6000611d98601c83611d51565b9150611da382611d62565b602082019050919050565b60006020820190508181036000830152611dc781611d8b565b9050919050565b600081905092915050565b50565b6000611de9600083611dce565b9150611df482611dd9565b600082019050919050565b6000611e0a82611ddc565b9150819050919050565b600081519050919050565b60005b83811015611e3d578082015181840152602081019050611e22565b60008484015250505050565b6000611e5482611e14565b611e5e8185611dce565b9350611e6e818560208601611e1f565b80840191505092915050565b6000611e868284611e49565b915081905092915050565b6000604082019050611ea66000830185611c25565b611eb360208301846115bb565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060ff82169050919050565b611eff81611ee9565b82525050565b6000608082019050611f1a60008301876115bb565b611f276020830186611ef6565b611f3460408301856115bb565b611f4160608301846115bb565b9594505050505056fea2646970667358221220f45cf532076da15ffdc15ce4a03c724d863da895a69586be352bdd1305c718cb64736f6c63430008180033",
540
- "deployedBytecode": "0x6080604052600436106101025760003560e01c80634d44560d11610095578063b61d27f611610064578063b61d27f614610331578063c399ec881461035a578063d087d28814610385578063d547741f146103b0578063e02023a1146103d957610109565b80634d44560d1461027557806391d148541461029e578063a217fddf146102db578063b0d691fe1461030657610109565b80632f2ff15d116100d15780632f2ff15d146101f057806336568abe1461021957806347e1da2a146102425780634a58db191461026b57610109565b806301ffc9a71461010e57806307bd02651461014b57806319822f7c14610176578063248a9ca3146101b357610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101356004803603810190610130919061154e565b610404565b6040516101429190611596565b60405180910390f35b34801561015757600080fd5b5061016061047e565b60405161016d91906115ca565b60405180910390f35b34801561018257600080fd5b5061019d6004803603810190610198919061166c565b6104a2565b6040516101aa91906116ea565b60405180910390f35b3480156101bf57600080fd5b506101da60048036038101906101d59190611705565b6104d5565b6040516101e791906115ca565b60405180910390f35b3480156101fc57600080fd5b5061021760048036038101906102129190611790565b6104f4565b005b34801561022557600080fd5b50610240600480360381019061023b9190611790565b610516565b005b34801561024e57600080fd5b50610269600480360381019061026491906118e1565b610591565b005b61027361079a565b005b34801561028157600080fd5b5061029c600480360381019061029791906119d3565b61080f565b005b3480156102aa57600080fd5b506102c560048036038101906102c09190611790565b6108b2565b6040516102d29190611596565b60405180910390f35b3480156102e757600080fd5b506102f061091c565b6040516102fd91906115ca565b60405180910390f35b34801561031257600080fd5b5061031b610923565b6040516103289190611a72565b60405180910390f35b34801561033d57600080fd5b5061035860048036038101906103539190611ae3565b61094b565b005b34801561036657600080fd5b5061036f6109a9565b60405161037c91906116ea565b60405180910390f35b34801561039157600080fd5b5061039a610a31565b6040516103a791906116ea565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d29190611790565b610abc565b005b3480156103e557600080fd5b506103ee610ade565b6040516103fb91906115ca565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610477575061047682610b02565b5b9050919050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60006104ac610b6c565b6104b68484610be3565b90506104c58460200135610c98565b6104ce82610c9b565b9392505050565b6000806000838152602001908152602001600020600101549050919050565b6104fd826104d5565b61050681610d37565b6105108383610d4b565b50505050565b61051e610e3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610582576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61058c8282610e44565b505050565b610599610f36565b81819050868690501415806105c45750600084849050141580156105c35750818190508484905014155b5b156105fb576040517f2a00e5c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084849050036106c25760005b868690508110156106bc576106ae87878381811061062a57610629611b57565b5b905060200201602081019061063f9190611b86565b84848481811061065257610651611b57565b5b90506020028101906106649190611bc2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610fe4565b508080600101915050610609565b50610792565b60005b86869050811015610790576107828787838181106106e6576106e5611b57565b5b90506020020160208101906106fb9190611b86565b84848481811061070e5761070d611b57565b5b90506020028101906107209190611bc2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505087878581811061077657610775611b57565b5b90506020020135610fe4565b5080806001019150506106c5565b505b505050505050565b6107a2610923565b73ffffffffffffffffffffffffffffffffffffffff1663b760faf934306040518363ffffffff1660e01b81526004016107db9190611c34565b6000604051808303818588803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b5050505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec61083981610d37565b610841610923565b73ffffffffffffffffffffffffffffffffffffffff1663205c287884846040518363ffffffff1660e01b815260040161087b929190611c5e565b600060405180830381600087803b15801561089557600080fd5b505af11580156108a9573d6000803e3d6000fd5b50505050505050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b610953610f36565b6109a28483838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505085610fe4565b5050505050565b60006109b3610923565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109eb9190611c34565b602060405180830381865afa158015610a08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2c9190611c9c565b905090565b6000610a3b610923565b73ffffffffffffffffffffffffffffffffffffffff166335567e1a3060006040518363ffffffff1660e01b8152600401610a76929190611d28565b602060405180830381865afa158015610a93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab79190611c9c565b905090565b610ac5826104d5565b610ace81610d37565b610ad88383610e44565b50505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610b74610923565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890611dae565b60405180910390fd5b565b600080610bef836110b1565b90506000610c508286806101000190610c089190611bc2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506110e7565b9050610c7c7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63826108b2565b610c8b57600192505050610c92565b6000925050505b92915050565b50565b60008114610d345760003373ffffffffffffffffffffffffffffffffffffffff16827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90604051610ceb90611dff565b600060405180830381858888f193505050503d8060008114610d29576040519150601f19603f3d011682016040523d82523d6000602084013e610d2e565b606091505b50509050505b50565b610d4881610d43610e3c565b611113565b50565b6000610d5783836108b2565b610e3157600160008085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610dce610e3c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610e36565b600090505b92915050565b600033905090565b6000610e5083836108b2565b15610f2b57600080600085815260200190815260200160002060000160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610ec8610e3c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050610f30565b600090505b92915050565b610f3e610923565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610fa05750610f9e7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63336108b2565b155b15610fe257336040517ff1a1fdac000000000000000000000000000000000000000000000000000000008152600401610fd99190611c34565b60405180910390fd5b565b60608147101561102b57306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016110229190611c34565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516110549190611e7a565b60006040518083038185875af1925050503d8060008114611091576040519150601f19603f3d011682016040523d82523d6000602084013e611096565b606091505b50915091506110a6868383611164565b925050509392505050565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b6000806000806110f786866111f3565b925092509250611107828261124f565b82935050505092915050565b61111d82826108b2565b6111605780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611157929190611e91565b60405180910390fd5b5050565b60608261117957611174826113b3565b6111eb565b600082511480156111a1575060008473ffffffffffffffffffffffffffffffffffffffff163b145b156111e357836040517f9996b3150000000000000000000000000000000000000000000000000000000081526004016111da9190611c34565b60405180910390fd5b8190506111ec565b5b9392505050565b600080600060418451036112385760008060006020870151925060408701519150606087015160001a905061122a888285856113f8565b955095509550505050611248565b60006002855160001b9250925092505b9250925092565b6000600381111561126357611262611eba565b5b82600381111561127657611275611eba565b5b03156113af57600160038111156112905761128f611eba565b5b8260038111156112a3576112a2611eba565b5b036112da576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156112ee576112ed611eba565b5b82600381111561130157611300611eba565b5b03611346578060001c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161133d91906116ea565b60405180910390fd5b60038081111561135957611358611eba565b5b82600381111561136c5761136b611eba565b5b036113ae57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016113a591906115ca565b60405180910390fd5b5b5050565b6000815111156113c65780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08460001c11156114385760006003859250925092506114e2565b60006001888888886040516000815260200160405260405161145d9493929190611f05565b6020604051602081039080840390855afa15801561147f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114d357600060016000801b935093509350506114e2565b8060008060001b935093509350505b9450945094915050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61152b816114f6565b811461153657600080fd5b50565b60008135905061154881611522565b92915050565b600060208284031215611564576115636114ec565b5b600061157284828501611539565b91505092915050565b60008115159050919050565b6115908161157b565b82525050565b60006020820190506115ab6000830184611587565b92915050565b6000819050919050565b6115c4816115b1565b82525050565b60006020820190506115df60008301846115bb565b92915050565b600080fd5b60006101208284031215611601576116006115e5565b5b81905092915050565b611613816115b1565b811461161e57600080fd5b50565b6000813590506116308161160a565b92915050565b6000819050919050565b61164981611636565b811461165457600080fd5b50565b60008135905061166681611640565b92915050565b600080600060608486031215611685576116846114ec565b5b600084013567ffffffffffffffff8111156116a3576116a26114f1565b5b6116af868287016115ea565b93505060206116c086828701611621565b92505060406116d186828701611657565b9150509250925092565b6116e481611636565b82525050565b60006020820190506116ff60008301846116db565b92915050565b60006020828403121561171b5761171a6114ec565b5b600061172984828501611621565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061175d82611732565b9050919050565b61176d81611752565b811461177857600080fd5b50565b60008135905061178a81611764565b92915050565b600080604083850312156117a7576117a66114ec565b5b60006117b585828601611621565b92505060206117c68582860161177b565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126117f5576117f46117d0565b5b8235905067ffffffffffffffff811115611812576118116117d5565b5b60208301915083602082028301111561182e5761182d6117da565b5b9250929050565b60008083601f84011261184b5761184a6117d0565b5b8235905067ffffffffffffffff811115611868576118676117d5565b5b602083019150836020820283011115611884576118836117da565b5b9250929050565b60008083601f8401126118a1576118a06117d0565b5b8235905067ffffffffffffffff8111156118be576118bd6117d5565b5b6020830191508360208202830111156118da576118d96117da565b5b9250929050565b600080600080600080606087890312156118fe576118fd6114ec565b5b600087013567ffffffffffffffff81111561191c5761191b6114f1565b5b61192889828a016117df565b9650965050602087013567ffffffffffffffff81111561194b5761194a6114f1565b5b61195789828a01611835565b9450945050604087013567ffffffffffffffff81111561197a576119796114f1565b5b61198689828a0161188b565b92509250509295509295509295565b60006119a082611732565b9050919050565b6119b081611995565b81146119bb57600080fd5b50565b6000813590506119cd816119a7565b92915050565b600080604083850312156119ea576119e96114ec565b5b60006119f8858286016119be565b9250506020611a0985828601611657565b9150509250929050565b6000819050919050565b6000611a38611a33611a2e84611732565b611a13565b611732565b9050919050565b6000611a4a82611a1d565b9050919050565b6000611a5c82611a3f565b9050919050565b611a6c81611a51565b82525050565b6000602082019050611a876000830184611a63565b92915050565b60008083601f840112611aa357611aa26117d0565b5b8235905067ffffffffffffffff811115611ac057611abf6117d5565b5b602083019150836001820283011115611adc57611adb6117da565b5b9250929050565b60008060008060608587031215611afd57611afc6114ec565b5b6000611b0b8782880161177b565b9450506020611b1c87828801611657565b935050604085013567ffffffffffffffff811115611b3d57611b3c6114f1565b5b611b4987828801611a8d565b925092505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611b9c57611b9b6114ec565b5b6000611baa8482850161177b565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611bdf57611bde611bb3565b5b80840192508235915067ffffffffffffffff821115611c0157611c00611bb8565b5b602083019250600182023603831315611c1d57611c1c611bbd565b5b509250929050565b611c2e81611752565b82525050565b6000602082019050611c496000830184611c25565b92915050565b611c5881611995565b82525050565b6000604082019050611c736000830185611c4f565b611c8060208301846116db565b9392505050565b600081519050611c9681611640565b92915050565b600060208284031215611cb257611cb16114ec565b5b6000611cc084828501611c87565b91505092915050565b6000819050919050565b600077ffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d12611d0d611d0884611cc9565b611a13565b611cd3565b9050919050565b611d2281611cf7565b82525050565b6000604082019050611d3d6000830185611c25565b611d4a6020830184611d19565b9392505050565b600082825260208201905092915050565b7f6163636f756e743a206e6f742066726f6d20456e747279506f696e7400000000600082015250565b6000611d98601c83611d51565b9150611da382611d62565b602082019050919050565b60006020820190508181036000830152611dc781611d8b565b9050919050565b600081905092915050565b50565b6000611de9600083611dce565b9150611df482611dd9565b600082019050919050565b6000611e0a82611ddc565b9150819050919050565b600081519050919050565b60005b83811015611e3d578082015181840152602081019050611e22565b60008484015250505050565b6000611e5482611e14565b611e5e8185611dce565b9350611e6e818560208601611e1f565b80840191505092915050565b6000611e868284611e49565b915081905092915050565b6000604082019050611ea66000830185611c25565b611eb360208301846115bb565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060ff82169050919050565b611eff81611ee9565b82525050565b6000608082019050611f1a60008301876115bb565b611f276020830186611ef6565b611f3460408301856115bb565b611f4160608301846115bb565b9594505050505056fea2646970667358221220f45cf532076da15ffdc15ce4a03c724d863da895a69586be352bdd1305c718cb64736f6c63430008180033",
590
+ "bytecode": "0x60a060405234801561000f575f5ffd5b506040516116b63803806116b683398101604081905261002e91610190565b6001600160a01b0383166080526100455f836100ac565b505f5b81518110156100a35761009a7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6383838151811061008757610087610282565b60200260200101516100ac60201b60201c565b50600101610048565b50505050610296565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1661014c575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556101043390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161014f565b505f5b92915050565b6001600160a01b0381168114610169575f5ffd5b50565b805161017781610155565b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f606084860312156101a2575f5ffd5b83516101ad81610155565b60208501519093506101be81610155565b60408501519092506001600160401b038111156101d9575f5ffd5b8401601f810186136101e9575f5ffd5b80516001600160401b038111156102025761020261017c565b604051600582901b90603f8201601f191681016001600160401b03811182821017156102305761023061017c565b60405291825260208184018101929081018984111561024d575f5ffd5b6020850194505b83851015610273576102658561016c565b815260209485019401610254565b50809450505050509250925092565b634e487b7160e01b5f52603260045260245ffd5b6080516113de6102d85f395f81816102c5015281816106d70152818161077d015281816108870152818161091c0152818161097a0152610c5d01526113de5ff3fe608060405260043610610108575f3560e01c80634d44560d11610092578063b61d27f611610062578063b61d27f6146102ef578063c399ec881461030e578063d087d28814610322578063d547741f14610336578063e02023a114610355575f5ffd5b80634d44560d1461025b57806391d148541461027a578063a217fddf14610299578063b0d691fe146102ac575f5ffd5b80632f2ff15d116100d85780632f2ff15d146101d557806334fcd5be146101f657806336568abe1461021557806347e1da2a146102345780634a58db1914610253575f5ffd5b806301ffc9a71461011357806307bd02651461014757806319822f7c14610188578063248a9ca3146101a7575f5ffd5b3661010f57005b5f5ffd5b34801561011e575f5ffd5b5061013261012d36600461100d565b610388565b60405190151581526020015b60405180910390f35b348015610152575f5ffd5b5061017a7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60405190815260200161013e565b348015610193575f5ffd5b5061017a6101a2366004611034565b6103be565b3480156101b2575f5ffd5b5061017a6101c1366004611083565b5f9081526020819052604090206001015490565b3480156101e0575f5ffd5b506101f46101ef3660046110ae565b6103e3565b005b348015610201575f5ffd5b506101f4610210366004611124565b61040d565b348015610220575f5ffd5b506101f461022f3660046110ae565b6104f7565b34801561023f575f5ffd5b506101f461024e366004611163565b61052f565b6101f46106d5565b348015610266575f5ffd5b506101f4610275366004611202565b610751565b348015610285575f5ffd5b506101326102943660046110ae565b6107f7565b3480156102a4575f5ffd5b5061017a5f81565b3480156102b7575f5ffd5b506040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016815260200161013e565b3480156102fa575f5ffd5b506101f461030936600461122c565b61081f565b348015610319575f5ffd5b5061017a610868565b34801561032d575f5ffd5b5061017a6108f6565b348015610341575f5ffd5b506101f46103503660046110ae565b61094b565b348015610360575f5ffd5b5061017a7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b5f6001600160e01b03198216637965db0b60e01b14806103b857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f6103c761096f565b6103d184846109e9565b90506103dc82610aab565b9392505050565b5f828152602081905260409020600101546103fd81610af0565b6104078383610afa565b50505050565b610415610b89565b805f5b818110156104075736848483818110610433576104336112b1565b905060200281019061044591906112c5565b90505f6104a361045860208401846112e3565b602084013561046a60408601866112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a610b91565b9050806104ed57836001036104bf576104ba610ba7565b6104ed565b826104c95f610bb8565b604051635a15467560e01b81526004016104e4929190611341565b60405180910390fd5b5050600101610418565b6001600160a01b03811633146105205760405163334bd91960e11b815260040160405180910390fd5b61052a8282610be9565b505050565b610537610c52565b8481141580610550575082158015906105505750828114155b1561056e5760405163150072e360e11b815260040160405180910390fd5b5f839003610616575f5b8581101561061057610607878783818110610595576105956112b1565b90506020020160208101906105aa91906112e3565b8484848181106105bc576105bc6112b1565b90506020028101906105ce91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610cd2915050565b50600101610578565b506106cd565b5f5b858110156106cb576106c2878783818110610635576106356112b1565b905060200201602081019061064a91906112e3565b84848481811061065c5761065c6112b1565b905060200281019061066e91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a92508991508690508181106106b6576106b66112b1565b90506020020135610cd2565b50600101610618565b505b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610738575f5ffd5b505af115801561074a573d5f5f3e3d5ffd5b5050505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec61077b81610af0565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03858116600483015260248201859052919091169063205c2878906044015f604051808303815f87803b1580156107e5575f5ffd5b505af11580156106cb573d5f5f3e3d5ffd5b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610827610c52565b61074a8483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250610cd2915050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa1580156108cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f1919061137d565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a906044016108b2565b5f8281526020819052604090206001015461096581610af0565b6104078383610be9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109e75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016104e4565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c81205f610a6382610a2a6101008801886112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610d9e92505050565b9050610a8f7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63826107f7565b610a9e576001925050506103b8565b505f949350505050565b50565b8015610aa8576040515f90339083908381818185875af1925050503d805f811461074a576040519150601f19603f3d011682016040523d82523d5f602084013e61074a565b610aa88133610dc6565b5f610b0583836107f7565b610b82575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610b3a3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016103b8565b505f6103b8565b6109e761096f565b5f5f5f845160208601878987f195945050505050565b6109e7610bb35f610bb8565b610e03565b60603d8215610bcc5782811115610bcc5750815b604051602082018101604052818152815f602083013e9392505050565b5f610bf483836107f7565b15610b82575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016103b8565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610cb25750610cb07fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63336107f7565b155b156109e757604051633c687f6b60e21b81523360048201526024016104e4565b606081471015610cfe5760405163cf47918160e01b8152476004820152602481018390526044016104e4565b5f610d0a858486610e0b565b9050808015610d2b57505f3d1180610d2b57505f856001600160a01b03163b115b15610d4057610d38610e20565b9150506103dc565b8015610d6a57604051639996b31560e01b81526001600160a01b03861660048201526024016104e4565b3d15610d7d57610d78610e39565b610d96565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f5f5f5f610dac8686610e44565b925092509250610dbc8282610e8d565b5090949350505050565b610dd082826107f7565b610dff5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104e4565b5050565b805160208201fd5b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f8351604103610e7b576020840151604085015160608601515f1a610e6d88828585610f45565b955095509550505050610e86565b505081515f91506002905b9250925092565b5f826003811115610ea057610ea0611394565b03610ea9575050565b6001826003811115610ebd57610ebd611394565b03610edb5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610eef57610eef611394565b03610f105760405163fce698f760e01b8152600481018290526024016104e4565b6003826003811115610f2457610f24611394565b03610dff576040516335e2f38360e21b8152600481018290526024016104e4565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610f7e57505f91506003905082611003565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610fcf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610ffa57505f925060019150829050611003565b92505f91508190505b9450945094915050565b5f6020828403121561101d575f5ffd5b81356001600160e01b0319811681146103dc575f5ffd5b5f5f5f60608486031215611046575f5ffd5b833567ffffffffffffffff81111561105c575f5ffd5b8401610120818703121561106e575f5ffd5b95602085013595506040909401359392505050565b5f60208284031215611093575f5ffd5b5035919050565b6001600160a01b0381168114610aa8575f5ffd5b5f5f604083850312156110bf575f5ffd5b8235915060208301356110d18161109a565b809150509250929050565b5f5f83601f8401126110ec575f5ffd5b50813567ffffffffffffffff811115611103575f5ffd5b6020830191508360208260051b850101111561111d575f5ffd5b9250929050565b5f5f60208385031215611135575f5ffd5b823567ffffffffffffffff81111561114b575f5ffd5b611157858286016110dc565b90969095509350505050565b5f5f5f5f5f5f60608789031215611178575f5ffd5b863567ffffffffffffffff81111561118e575f5ffd5b61119a89828a016110dc565b909750955050602087013567ffffffffffffffff8111156111b9575f5ffd5b6111c589828a016110dc565b909550935050604087013567ffffffffffffffff8111156111e4575f5ffd5b6111f089828a016110dc565b979a9699509497509295939492505050565b5f5f60408385031215611213575f5ffd5b823561121e8161109a565b946020939093013593505050565b5f5f5f5f6060858703121561123f575f5ffd5b843561124a8161109a565b935060208501359250604085013567ffffffffffffffff81111561126c575f5ffd5b8501601f8101871361127c575f5ffd5b803567ffffffffffffffff811115611292575f5ffd5b8760208284010111156112a3575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e198336030181126112d9575f5ffd5b9190910192915050565b5f602082840312156112f3575f5ffd5b81356103dc8161109a565b5f5f8335601e19843603018112611313575f5ffd5b83018035915067ffffffffffffffff82111561132d575f5ffd5b60200191503681900382131561111d575f5ffd5b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f6020828403121561138d575f5ffd5b5051919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220491d2b258d918821ceda2e7f4dcb1c4371ac2d966aa2cddbec4027cec506283464736f6c634300081e0033",
591
+ "deployedBytecode": "0x608060405260043610610108575f3560e01c80634d44560d11610092578063b61d27f611610062578063b61d27f6146102ef578063c399ec881461030e578063d087d28814610322578063d547741f14610336578063e02023a114610355575f5ffd5b80634d44560d1461025b57806391d148541461027a578063a217fddf14610299578063b0d691fe146102ac575f5ffd5b80632f2ff15d116100d85780632f2ff15d146101d557806334fcd5be146101f657806336568abe1461021557806347e1da2a146102345780634a58db1914610253575f5ffd5b806301ffc9a71461011357806307bd02651461014757806319822f7c14610188578063248a9ca3146101a7575f5ffd5b3661010f57005b5f5ffd5b34801561011e575f5ffd5b5061013261012d36600461100d565b610388565b60405190151581526020015b60405180910390f35b348015610152575f5ffd5b5061017a7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60405190815260200161013e565b348015610193575f5ffd5b5061017a6101a2366004611034565b6103be565b3480156101b2575f5ffd5b5061017a6101c1366004611083565b5f9081526020819052604090206001015490565b3480156101e0575f5ffd5b506101f46101ef3660046110ae565b6103e3565b005b348015610201575f5ffd5b506101f4610210366004611124565b61040d565b348015610220575f5ffd5b506101f461022f3660046110ae565b6104f7565b34801561023f575f5ffd5b506101f461024e366004611163565b61052f565b6101f46106d5565b348015610266575f5ffd5b506101f4610275366004611202565b610751565b348015610285575f5ffd5b506101326102943660046110ae565b6107f7565b3480156102a4575f5ffd5b5061017a5f81565b3480156102b7575f5ffd5b506040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016815260200161013e565b3480156102fa575f5ffd5b506101f461030936600461122c565b61081f565b348015610319575f5ffd5b5061017a610868565b34801561032d575f5ffd5b5061017a6108f6565b348015610341575f5ffd5b506101f46103503660046110ae565b61094b565b348015610360575f5ffd5b5061017a7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b5f6001600160e01b03198216637965db0b60e01b14806103b857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f6103c761096f565b6103d184846109e9565b90506103dc82610aab565b9392505050565b5f828152602081905260409020600101546103fd81610af0565b6104078383610afa565b50505050565b610415610b89565b805f5b818110156104075736848483818110610433576104336112b1565b905060200281019061044591906112c5565b90505f6104a361045860208401846112e3565b602084013561046a60408601866112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a610b91565b9050806104ed57836001036104bf576104ba610ba7565b6104ed565b826104c95f610bb8565b604051635a15467560e01b81526004016104e4929190611341565b60405180910390fd5b5050600101610418565b6001600160a01b03811633146105205760405163334bd91960e11b815260040160405180910390fd5b61052a8282610be9565b505050565b610537610c52565b8481141580610550575082158015906105505750828114155b1561056e5760405163150072e360e11b815260040160405180910390fd5b5f839003610616575f5b8581101561061057610607878783818110610595576105956112b1565b90506020020160208101906105aa91906112e3565b8484848181106105bc576105bc6112b1565b90506020028101906105ce91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610cd2915050565b50600101610578565b506106cd565b5f5b858110156106cb576106c2878783818110610635576106356112b1565b905060200201602081019061064a91906112e3565b84848481811061065c5761065c6112b1565b905060200281019061066e91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a92508991508690508181106106b6576106b66112b1565b90506020020135610cd2565b50600101610618565b505b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610738575f5ffd5b505af115801561074a573d5f5f3e3d5ffd5b5050505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec61077b81610af0565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03858116600483015260248201859052919091169063205c2878906044015f604051808303815f87803b1580156107e5575f5ffd5b505af11580156106cb573d5f5f3e3d5ffd5b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610827610c52565b61074a8483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250610cd2915050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa1580156108cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f1919061137d565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a906044016108b2565b5f8281526020819052604090206001015461096581610af0565b6104078383610be9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109e75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016104e4565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c81205f610a6382610a2a6101008801886112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610d9e92505050565b9050610a8f7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63826107f7565b610a9e576001925050506103b8565b505f949350505050565b50565b8015610aa8576040515f90339083908381818185875af1925050503d805f811461074a576040519150601f19603f3d011682016040523d82523d5f602084013e61074a565b610aa88133610dc6565b5f610b0583836107f7565b610b82575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610b3a3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016103b8565b505f6103b8565b6109e761096f565b5f5f5f845160208601878987f195945050505050565b6109e7610bb35f610bb8565b610e03565b60603d8215610bcc5782811115610bcc5750815b604051602082018101604052818152815f602083013e9392505050565b5f610bf483836107f7565b15610b82575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016103b8565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610cb25750610cb07fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63336107f7565b155b156109e757604051633c687f6b60e21b81523360048201526024016104e4565b606081471015610cfe5760405163cf47918160e01b8152476004820152602481018390526044016104e4565b5f610d0a858486610e0b565b9050808015610d2b57505f3d1180610d2b57505f856001600160a01b03163b115b15610d4057610d38610e20565b9150506103dc565b8015610d6a57604051639996b31560e01b81526001600160a01b03861660048201526024016104e4565b3d15610d7d57610d78610e39565b610d96565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f5f5f5f610dac8686610e44565b925092509250610dbc8282610e8d565b5090949350505050565b610dd082826107f7565b610dff5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104e4565b5050565b805160208201fd5b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f8351604103610e7b576020840151604085015160608601515f1a610e6d88828585610f45565b955095509550505050610e86565b505081515f91506002905b9250925092565b5f826003811115610ea057610ea0611394565b03610ea9575050565b6001826003811115610ebd57610ebd611394565b03610edb5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610eef57610eef611394565b03610f105760405163fce698f760e01b8152600481018290526024016104e4565b6003826003811115610f2457610f24611394565b03610dff576040516335e2f38360e21b8152600481018290526024016104e4565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610f7e57505f91506003905082611003565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610fcf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610ffa57505f925060019150829050611003565b92505f91508190505b9450945094915050565b5f6020828403121561101d575f5ffd5b81356001600160e01b0319811681146103dc575f5ffd5b5f5f5f60608486031215611046575f5ffd5b833567ffffffffffffffff81111561105c575f5ffd5b8401610120818703121561106e575f5ffd5b95602085013595506040909401359392505050565b5f60208284031215611093575f5ffd5b5035919050565b6001600160a01b0381168114610aa8575f5ffd5b5f5f604083850312156110bf575f5ffd5b8235915060208301356110d18161109a565b809150509250929050565b5f5f83601f8401126110ec575f5ffd5b50813567ffffffffffffffff811115611103575f5ffd5b6020830191508360208260051b850101111561111d575f5ffd5b9250929050565b5f5f60208385031215611135575f5ffd5b823567ffffffffffffffff81111561114b575f5ffd5b611157858286016110dc565b90969095509350505050565b5f5f5f5f5f5f60608789031215611178575f5ffd5b863567ffffffffffffffff81111561118e575f5ffd5b61119a89828a016110dc565b909750955050602087013567ffffffffffffffff8111156111b9575f5ffd5b6111c589828a016110dc565b909550935050604087013567ffffffffffffffff8111156111e4575f5ffd5b6111f089828a016110dc565b979a9699509497509295939492505050565b5f5f60408385031215611213575f5ffd5b823561121e8161109a565b946020939093013593505050565b5f5f5f5f6060858703121561123f575f5ffd5b843561124a8161109a565b935060208501359250604085013567ffffffffffffffff81111561126c575f5ffd5b8501601f8101871361127c575f5ffd5b803567ffffffffffffffff811115611292575f5ffd5b8760208284010111156112a3575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e198336030181126112d9575f5ffd5b9190910192915050565b5f602082840312156112f3575f5ffd5b81356103dc8161109a565b5f5f8335601e19843603018112611313575f5ffd5b83018035915067ffffffffffffffff82111561132d575f5ffd5b60200191503681900382131561111d575f5ffd5b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f6020828403121561138d575f5ffd5b5051919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220491d2b258d918821ceda2e7f4dcb1c4371ac2d966aa2cddbec4027cec506283464736f6c634300081e0033",
541
592
  "linkReferences": {},
542
- "deployedLinkReferences": {}
543
- }
593
+ "deployedLinkReferences": {},
594
+ "immutableReferences": {
595
+ "11576": [
596
+ {
597
+ "length": 32,
598
+ "start": 709
599
+ },
600
+ {
601
+ "length": 32,
602
+ "start": 1751
603
+ },
604
+ {
605
+ "length": 32,
606
+ "start": 1917
607
+ },
608
+ {
609
+ "length": 32,
610
+ "start": 2183
611
+ },
612
+ {
613
+ "length": 32,
614
+ "start": 2332
615
+ },
616
+ {
617
+ "length": 32,
618
+ "start": 2426
619
+ },
620
+ {
621
+ "length": 32,
622
+ "start": 3165
623
+ }
624
+ ]
625
+ },
626
+ "inputSourceName": "project/contracts/AccessControlAccount.sol",
627
+ "buildInfoId": "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865"
628
+ }
@@ -0,0 +1,27 @@
1
+ // This file was autogenerated by Hardhat, do not edit it.
2
+ // prettier-ignore
3
+ // tslint:disable
4
+ // eslint-disable
5
+ // biome-ignore format: see above
6
+
7
+ export interface AccessControlAccount$Type {
8
+ readonly _format: "hh3-artifact-1";
9
+ readonly contractName: "AccessControlAccount";
10
+ readonly sourceName: "contracts/AccessControlAccount.sol";
11
+ readonly abi: [{"inputs":[{"internalType":"contract IEntryPoint","name":"anEntryPoint","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"address[]","name":"executors","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes","name":"error","type":"bytes"}],"name":"ExecuteError","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"RequiredEntryPointOrExecutor","type":"error"},{"inputs":[],"name":"WrongArrayLength","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EXECUTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAW_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"entryPoint","outputs":[{"internalType":"contract IEntryPoint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dest","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"func","type":"bytes"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct BaseAccount.Call[]","name":"calls","type":"tuple[]"}],"name":"executeBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"dest","type":"address[]"},{"internalType":"uint256[]","name":"value","type":"uint256[]"},{"internalType":"bytes[]","name":"func","type":"bytes[]"}],"name":"executeBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple"},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"missingAccountFunds","type":"uint256"}],"name":"validateUserOp","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawDepositTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}];
12
+ readonly bytecode: "0x60a060405234801561000f575f5ffd5b506040516116b63803806116b683398101604081905261002e91610190565b6001600160a01b0383166080526100455f836100ac565b505f5b81518110156100a35761009a7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6383838151811061008757610087610282565b60200260200101516100ac60201b60201c565b50600101610048565b50505050610296565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1661014c575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556101043390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161014f565b505f5b92915050565b6001600160a01b0381168114610169575f5ffd5b50565b805161017781610155565b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f606084860312156101a2575f5ffd5b83516101ad81610155565b60208501519093506101be81610155565b60408501519092506001600160401b038111156101d9575f5ffd5b8401601f810186136101e9575f5ffd5b80516001600160401b038111156102025761020261017c565b604051600582901b90603f8201601f191681016001600160401b03811182821017156102305761023061017c565b60405291825260208184018101929081018984111561024d575f5ffd5b6020850194505b83851015610273576102658561016c565b815260209485019401610254565b50809450505050509250925092565b634e487b7160e01b5f52603260045260245ffd5b6080516113de6102d85f395f81816102c5015281816106d70152818161077d015281816108870152818161091c0152818161097a0152610c5d01526113de5ff3fe608060405260043610610108575f3560e01c80634d44560d11610092578063b61d27f611610062578063b61d27f6146102ef578063c399ec881461030e578063d087d28814610322578063d547741f14610336578063e02023a114610355575f5ffd5b80634d44560d1461025b57806391d148541461027a578063a217fddf14610299578063b0d691fe146102ac575f5ffd5b80632f2ff15d116100d85780632f2ff15d146101d557806334fcd5be146101f657806336568abe1461021557806347e1da2a146102345780634a58db1914610253575f5ffd5b806301ffc9a71461011357806307bd02651461014757806319822f7c14610188578063248a9ca3146101a7575f5ffd5b3661010f57005b5f5ffd5b34801561011e575f5ffd5b5061013261012d36600461100d565b610388565b60405190151581526020015b60405180910390f35b348015610152575f5ffd5b5061017a7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60405190815260200161013e565b348015610193575f5ffd5b5061017a6101a2366004611034565b6103be565b3480156101b2575f5ffd5b5061017a6101c1366004611083565b5f9081526020819052604090206001015490565b3480156101e0575f5ffd5b506101f46101ef3660046110ae565b6103e3565b005b348015610201575f5ffd5b506101f4610210366004611124565b61040d565b348015610220575f5ffd5b506101f461022f3660046110ae565b6104f7565b34801561023f575f5ffd5b506101f461024e366004611163565b61052f565b6101f46106d5565b348015610266575f5ffd5b506101f4610275366004611202565b610751565b348015610285575f5ffd5b506101326102943660046110ae565b6107f7565b3480156102a4575f5ffd5b5061017a5f81565b3480156102b7575f5ffd5b506040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016815260200161013e565b3480156102fa575f5ffd5b506101f461030936600461122c565b61081f565b348015610319575f5ffd5b5061017a610868565b34801561032d575f5ffd5b5061017a6108f6565b348015610341575f5ffd5b506101f46103503660046110ae565b61094b565b348015610360575f5ffd5b5061017a7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b5f6001600160e01b03198216637965db0b60e01b14806103b857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f6103c761096f565b6103d184846109e9565b90506103dc82610aab565b9392505050565b5f828152602081905260409020600101546103fd81610af0565b6104078383610afa565b50505050565b610415610b89565b805f5b818110156104075736848483818110610433576104336112b1565b905060200281019061044591906112c5565b90505f6104a361045860208401846112e3565b602084013561046a60408601866112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a610b91565b9050806104ed57836001036104bf576104ba610ba7565b6104ed565b826104c95f610bb8565b604051635a15467560e01b81526004016104e4929190611341565b60405180910390fd5b5050600101610418565b6001600160a01b03811633146105205760405163334bd91960e11b815260040160405180910390fd5b61052a8282610be9565b505050565b610537610c52565b8481141580610550575082158015906105505750828114155b1561056e5760405163150072e360e11b815260040160405180910390fd5b5f839003610616575f5b8581101561061057610607878783818110610595576105956112b1565b90506020020160208101906105aa91906112e3565b8484848181106105bc576105bc6112b1565b90506020028101906105ce91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610cd2915050565b50600101610578565b506106cd565b5f5b858110156106cb576106c2878783818110610635576106356112b1565b905060200201602081019061064a91906112e3565b84848481811061065c5761065c6112b1565b905060200281019061066e91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a92508991508690508181106106b6576106b66112b1565b90506020020135610cd2565b50600101610618565b505b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610738575f5ffd5b505af115801561074a573d5f5f3e3d5ffd5b5050505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec61077b81610af0565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03858116600483015260248201859052919091169063205c2878906044015f604051808303815f87803b1580156107e5575f5ffd5b505af11580156106cb573d5f5f3e3d5ffd5b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610827610c52565b61074a8483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250610cd2915050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa1580156108cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f1919061137d565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a906044016108b2565b5f8281526020819052604090206001015461096581610af0565b6104078383610be9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109e75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016104e4565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c81205f610a6382610a2a6101008801886112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610d9e92505050565b9050610a8f7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63826107f7565b610a9e576001925050506103b8565b505f949350505050565b50565b8015610aa8576040515f90339083908381818185875af1925050503d805f811461074a576040519150601f19603f3d011682016040523d82523d5f602084013e61074a565b610aa88133610dc6565b5f610b0583836107f7565b610b82575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610b3a3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016103b8565b505f6103b8565b6109e761096f565b5f5f5f845160208601878987f195945050505050565b6109e7610bb35f610bb8565b610e03565b60603d8215610bcc5782811115610bcc5750815b604051602082018101604052818152815f602083013e9392505050565b5f610bf483836107f7565b15610b82575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016103b8565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610cb25750610cb07fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63336107f7565b155b156109e757604051633c687f6b60e21b81523360048201526024016104e4565b606081471015610cfe5760405163cf47918160e01b8152476004820152602481018390526044016104e4565b5f610d0a858486610e0b565b9050808015610d2b57505f3d1180610d2b57505f856001600160a01b03163b115b15610d4057610d38610e20565b9150506103dc565b8015610d6a57604051639996b31560e01b81526001600160a01b03861660048201526024016104e4565b3d15610d7d57610d78610e39565b610d96565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f5f5f5f610dac8686610e44565b925092509250610dbc8282610e8d565b5090949350505050565b610dd082826107f7565b610dff5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104e4565b5050565b805160208201fd5b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f8351604103610e7b576020840151604085015160608601515f1a610e6d88828585610f45565b955095509550505050610e86565b505081515f91506002905b9250925092565b5f826003811115610ea057610ea0611394565b03610ea9575050565b6001826003811115610ebd57610ebd611394565b03610edb5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610eef57610eef611394565b03610f105760405163fce698f760e01b8152600481018290526024016104e4565b6003826003811115610f2457610f24611394565b03610dff576040516335e2f38360e21b8152600481018290526024016104e4565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610f7e57505f91506003905082611003565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610fcf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610ffa57505f925060019150829050611003565b92505f91508190505b9450945094915050565b5f6020828403121561101d575f5ffd5b81356001600160e01b0319811681146103dc575f5ffd5b5f5f5f60608486031215611046575f5ffd5b833567ffffffffffffffff81111561105c575f5ffd5b8401610120818703121561106e575f5ffd5b95602085013595506040909401359392505050565b5f60208284031215611093575f5ffd5b5035919050565b6001600160a01b0381168114610aa8575f5ffd5b5f5f604083850312156110bf575f5ffd5b8235915060208301356110d18161109a565b809150509250929050565b5f5f83601f8401126110ec575f5ffd5b50813567ffffffffffffffff811115611103575f5ffd5b6020830191508360208260051b850101111561111d575f5ffd5b9250929050565b5f5f60208385031215611135575f5ffd5b823567ffffffffffffffff81111561114b575f5ffd5b611157858286016110dc565b90969095509350505050565b5f5f5f5f5f5f60608789031215611178575f5ffd5b863567ffffffffffffffff81111561118e575f5ffd5b61119a89828a016110dc565b909750955050602087013567ffffffffffffffff8111156111b9575f5ffd5b6111c589828a016110dc565b909550935050604087013567ffffffffffffffff8111156111e4575f5ffd5b6111f089828a016110dc565b979a9699509497509295939492505050565b5f5f60408385031215611213575f5ffd5b823561121e8161109a565b946020939093013593505050565b5f5f5f5f6060858703121561123f575f5ffd5b843561124a8161109a565b935060208501359250604085013567ffffffffffffffff81111561126c575f5ffd5b8501601f8101871361127c575f5ffd5b803567ffffffffffffffff811115611292575f5ffd5b8760208284010111156112a3575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e198336030181126112d9575f5ffd5b9190910192915050565b5f602082840312156112f3575f5ffd5b81356103dc8161109a565b5f5f8335601e19843603018112611313575f5ffd5b83018035915067ffffffffffffffff82111561132d575f5ffd5b60200191503681900382131561111d575f5ffd5b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f6020828403121561138d575f5ffd5b5051919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220491d2b258d918821ceda2e7f4dcb1c4371ac2d966aa2cddbec4027cec506283464736f6c634300081e0033";
13
+ readonly deployedBytecode: "0x608060405260043610610108575f3560e01c80634d44560d11610092578063b61d27f611610062578063b61d27f6146102ef578063c399ec881461030e578063d087d28814610322578063d547741f14610336578063e02023a114610355575f5ffd5b80634d44560d1461025b57806391d148541461027a578063a217fddf14610299578063b0d691fe146102ac575f5ffd5b80632f2ff15d116100d85780632f2ff15d146101d557806334fcd5be146101f657806336568abe1461021557806347e1da2a146102345780634a58db1914610253575f5ffd5b806301ffc9a71461011357806307bd02651461014757806319822f7c14610188578063248a9ca3146101a7575f5ffd5b3661010f57005b5f5ffd5b34801561011e575f5ffd5b5061013261012d36600461100d565b610388565b60405190151581526020015b60405180910390f35b348015610152575f5ffd5b5061017a7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b60405190815260200161013e565b348015610193575f5ffd5b5061017a6101a2366004611034565b6103be565b3480156101b2575f5ffd5b5061017a6101c1366004611083565b5f9081526020819052604090206001015490565b3480156101e0575f5ffd5b506101f46101ef3660046110ae565b6103e3565b005b348015610201575f5ffd5b506101f4610210366004611124565b61040d565b348015610220575f5ffd5b506101f461022f3660046110ae565b6104f7565b34801561023f575f5ffd5b506101f461024e366004611163565b61052f565b6101f46106d5565b348015610266575f5ffd5b506101f4610275366004611202565b610751565b348015610285575f5ffd5b506101326102943660046110ae565b6107f7565b3480156102a4575f5ffd5b5061017a5f81565b3480156102b7575f5ffd5b506040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016815260200161013e565b3480156102fa575f5ffd5b506101f461030936600461122c565b61081f565b348015610319575f5ffd5b5061017a610868565b34801561032d575f5ffd5b5061017a6108f6565b348015610341575f5ffd5b506101f46103503660046110ae565b61094b565b348015610360575f5ffd5b5061017a7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec81565b5f6001600160e01b03198216637965db0b60e01b14806103b857506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f6103c761096f565b6103d184846109e9565b90506103dc82610aab565b9392505050565b5f828152602081905260409020600101546103fd81610af0565b6104078383610afa565b50505050565b610415610b89565b805f5b818110156104075736848483818110610433576104336112b1565b905060200281019061044591906112c5565b90505f6104a361045860208401846112e3565b602084013561046a60408601866112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a610b91565b9050806104ed57836001036104bf576104ba610ba7565b6104ed565b826104c95f610bb8565b604051635a15467560e01b81526004016104e4929190611341565b60405180910390fd5b5050600101610418565b6001600160a01b03811633146105205760405163334bd91960e11b815260040160405180910390fd5b61052a8282610be9565b505050565b610537610c52565b8481141580610550575082158015906105505750828114155b1561056e5760405163150072e360e11b815260040160405180910390fd5b5f839003610616575f5b8581101561061057610607878783818110610595576105956112b1565b90506020020160208101906105aa91906112e3565b8484848181106105bc576105bc6112b1565b90506020028101906105ce91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610cd2915050565b50600101610578565b506106cd565b5f5b858110156106cb576106c2878783818110610635576106356112b1565b905060200201602081019061064a91906112e3565b84848481811061065c5761065c6112b1565b905060200281019061066e91906112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a92508991508690508181106106b6576106b66112b1565b90506020020135610cd2565b50600101610618565b505b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610738575f5ffd5b505af115801561074a573d5f5f3e3d5ffd5b5050505050565b7f5d8e12c39142ff96d79d04d15d1ba1269e4fe57bb9d26f43523628b34ba108ec61077b81610af0565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03858116600483015260248201859052919091169063205c2878906044015f604051808303815f87803b1580156107e5575f5ffd5b505af11580156106cb573d5f5f3e3d5ffd5b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610827610c52565b61074a8483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250610cd2915050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa1580156108cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f1919061137d565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a906044016108b2565b5f8281526020819052604090206001015461096581610af0565b6104078383610be9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109e75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016104e4565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c81205f610a6382610a2a6101008801886112fe565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610d9e92505050565b9050610a8f7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63826107f7565b610a9e576001925050506103b8565b505f949350505050565b50565b8015610aa8576040515f90339083908381818185875af1925050503d805f811461074a576040519150601f19603f3d011682016040523d82523d5f602084013e61074a565b610aa88133610dc6565b5f610b0583836107f7565b610b82575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610b3a3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016103b8565b505f6103b8565b6109e761096f565b5f5f5f845160208601878987f195945050505050565b6109e7610bb35f610bb8565b610e03565b60603d8215610bcc5782811115610bcc5750815b604051602082018101604052818152815f602083013e9392505050565b5f610bf483836107f7565b15610b82575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016103b8565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610cb25750610cb07fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63336107f7565b155b156109e757604051633c687f6b60e21b81523360048201526024016104e4565b606081471015610cfe5760405163cf47918160e01b8152476004820152602481018390526044016104e4565b5f610d0a858486610e0b565b9050808015610d2b57505f3d1180610d2b57505f856001600160a01b03163b115b15610d4057610d38610e20565b9150506103dc565b8015610d6a57604051639996b31560e01b81526001600160a01b03861660048201526024016104e4565b3d15610d7d57610d78610e39565b610d96565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f5f5f5f610dac8686610e44565b925092509250610dbc8282610e8d565b5090949350505050565b610dd082826107f7565b610dff5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104e4565b5050565b805160208201fd5b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f8351604103610e7b576020840151604085015160608601515f1a610e6d88828585610f45565b955095509550505050610e86565b505081515f91506002905b9250925092565b5f826003811115610ea057610ea0611394565b03610ea9575050565b6001826003811115610ebd57610ebd611394565b03610edb5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610eef57610eef611394565b03610f105760405163fce698f760e01b8152600481018290526024016104e4565b6003826003811115610f2457610f24611394565b03610dff576040516335e2f38360e21b8152600481018290526024016104e4565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610f7e57505f91506003905082611003565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610fcf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610ffa57505f925060019150829050611003565b92505f91508190505b9450945094915050565b5f6020828403121561101d575f5ffd5b81356001600160e01b0319811681146103dc575f5ffd5b5f5f5f60608486031215611046575f5ffd5b833567ffffffffffffffff81111561105c575f5ffd5b8401610120818703121561106e575f5ffd5b95602085013595506040909401359392505050565b5f60208284031215611093575f5ffd5b5035919050565b6001600160a01b0381168114610aa8575f5ffd5b5f5f604083850312156110bf575f5ffd5b8235915060208301356110d18161109a565b809150509250929050565b5f5f83601f8401126110ec575f5ffd5b50813567ffffffffffffffff811115611103575f5ffd5b6020830191508360208260051b850101111561111d575f5ffd5b9250929050565b5f5f60208385031215611135575f5ffd5b823567ffffffffffffffff81111561114b575f5ffd5b611157858286016110dc565b90969095509350505050565b5f5f5f5f5f5f60608789031215611178575f5ffd5b863567ffffffffffffffff81111561118e575f5ffd5b61119a89828a016110dc565b909750955050602087013567ffffffffffffffff8111156111b9575f5ffd5b6111c589828a016110dc565b909550935050604087013567ffffffffffffffff8111156111e4575f5ffd5b6111f089828a016110dc565b979a9699509497509295939492505050565b5f5f60408385031215611213575f5ffd5b823561121e8161109a565b946020939093013593505050565b5f5f5f5f6060858703121561123f575f5ffd5b843561124a8161109a565b935060208501359250604085013567ffffffffffffffff81111561126c575f5ffd5b8501601f8101871361127c575f5ffd5b803567ffffffffffffffff811115611292575f5ffd5b8760208284010111156112a3575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e198336030181126112d9575f5ffd5b9190910192915050565b5f602082840312156112f3575f5ffd5b81356103dc8161109a565b5f5f8335601e19843603018112611313575f5ffd5b83018035915067ffffffffffffffff82111561132d575f5ffd5b60200191503681900382131561111d575f5ffd5b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f6020828403121561138d575f5ffd5b5051919050565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220491d2b258d918821ceda2e7f4dcb1c4371ac2d966aa2cddbec4027cec506283464736f6c634300081e0033";
14
+ readonly linkReferences: {};
15
+ readonly deployedLinkReferences: {};
16
+ readonly immutableReferences: {"11576":[{"length":32,"start":709},{"length":32,"start":1751},{"length":32,"start":1917},{"length":32,"start":2183},{"length":32,"start":2332},{"length":32,"start":2426},{"length":32,"start":3165}]};
17
+ readonly inputSourceName: "project/contracts/AccessControlAccount.sol";
18
+ readonly buildInfoId: "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865";
19
+ };
20
+
21
+ import "hardhat/types/artifacts";
22
+ declare module "hardhat/types/artifacts" {
23
+ interface ArtifactMap {
24
+ ["AccessControlAccount"]: AccessControlAccount$Type;
25
+ ["contracts/AccessControlAccount.sol:AccessControlAccount"]: AccessControlAccount$Type;
26
+ }
27
+ }