PageSourceSearch

https://0xmint.io/_next/static/chunks/3841.261a17584fc16d0b.js

js 0xmint.io collected 2026-09-28 06:51:18 UTC 352,035 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3841],{51364:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports,p)||__createBinding(exports,m,p)};exports.__esModule=!0,__exportStar(__webpack_require__(66358),exports)},11912:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.BaseAccount__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[],name:"entryPoint",outputs:[{internalType:"contract IEntryPoint",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"}],BaseAccount__factory=function(){function BaseAccount__factory(){}return BaseAccount__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},BaseAccount__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},BaseAccount__factory.abi=_abi,BaseAccount__factory}();exports.BaseAccount__factory=BaseAccount__factory},43678:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.BasePaymaster__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,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"}],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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"}],BasePaymaster__factory=function(){function BasePaymaster__factory(){}return BasePaymaster__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},BasePaymaster__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},BasePaymaster__factory.abi=_abi,BasePaymaster__factory}();exports.BasePaymaster__factory=BasePaymaster__factory},28319:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.
1setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.BrokenBLSAccountFactory__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"contract IEntryPoint",name:"entryPoint",type:"address"},{internalType:"address",name:"aggregator",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"accountImplementation",outputs:[{internalType:"contract BrokenBLSAccount",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"uint256[4]",name:"aPublicKey",type:"uint256[4]"}],name:"createAccount",outputs:[{internalType:"contract BrokenBLSAccount",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"uint256[4]",name:"aPublicKey",type:"uint256[4]"}],name:"getAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],_bytecode="0x60a060405234801561001057600080fd5b50604051612ede380380612ede83398101604081905261002f916100aa565b818160405161003d90610085565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015610070573d6000803e3d6000fd5b506001600160a01b0316608052506100e49050565b6120c680610e1883390190565b6001600160a01b03811681146100a757600080fd5b50565b600080604083850312156100bd57600080fd5b82516100c881610092565b60208401519092506100d981610092565b809150509250929050565b608051610d0d61010b60003960008181604b0152818160f7015261020d0152610d0d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe1461004657806319c2a1b214610096578063de3398dd146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461038e565b6100bc565b61006d6100b736600461038e565b6101de565b6000806100c984846101de565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101d8565b8460001b7f0000000000000000000000000000000000000000000000000000000000000000856040516024016101279190610418565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee472f3600000000000000000000000000000000000000000000000000000000179052516101a790610352565b6101b2929190610479565b8190604051809103906000f59050801580156101d2573d6000803e3d6000fd5b50925050505b92915050565b60006103198360001b604051806020016101f790610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008560405160240161023d9190610418565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee472f360000000000000000000000000000000000000000000000000000000017905290516102c293929101610479565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526102fe92916020016104e7565b60405160208183030381529060405280519060200120610320565b9392505050565b60006103198383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6107c18061051783390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060a083850312156103a157600080fd5b82359150602084603f8501126103b657600080fd5b6040516080810181811067ffffffffffffffff821117156103d9576103d961035f565b6040528060a08601878111156103ee57600080fd5b8387015b8181101561040957803583529184019184016103f2565b50505080925050509250929050565b60808101818360005b6004811015610440578151835260209283019290910190600101610421565b50505092915050565b60005b8381101561046457818101518382015260200161044c565b83811115610473576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600082518060408401526104b4816060850160208701610449565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104f9818460208801610449565b83519083019061050d818360208801610449565b0194935050505056fe60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b
16040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a47065a7c8ac5bac8ed56ef1cf7419a59dfdae21ba812180654b545d4faab85f64736f6c634300080f003360e0604052306080523480156200001557600080fd5b50604051620020c6380380620020c683398101604081905262000038916200013f565b6001600160a01b03821660a052816200005062000064565b506001600160a01b031660c052506200017e565b600054610100900460ff1615620000d15760405162461bcd60e51b8152
160206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013c57600080fd5b50565b600080604083850312156200015357600080fd5b8251620001608162000126565b6020840151909250620001738162000126565b809150509250929050565b60805160a05160c051611ecb620001fb60003960008181610137015261068a01526000818161029001528181610703015281816107aa01528181610b8c01528181610f2e0152818161128a015261152c015260008181610486015281816105360152818161086e0152818161091e0152610a670152611ecb6000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c399ec8811610059578063c399ec88146102d4578063c4d66de8146102e9578063e02afbae14610309578063ee472f361461032b57600080fd5b80638da5cb5b14610221578063affed0e01461025e578063b0d691fe14610281578063b61d27f6146102b457600080fd5b80634a58db19116100c65780634a58db19146101d15780634d44560d146101d95780634f1ef286146101f957806352d1902d1461020c57600080fd5b806318dfb3c714610103578063245a7bfc146101255780633659cfe6146101835780633a871cdd146101a357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046118ef565b61034b565b005b34801561013157600080fd5b506101597f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018f57600080fd5b5061012361019e36600461197d565b61046f565b3480156101af57600080fd5b506101c36101be36600461199a565b610674565b60405190815260200161017a565b610123610701565b3480156101e557600080fd5b506101236101f43660046119ee565b6107a0565b610123610207366004611a98565b610857565b34801561021857600080fd5b506101c3610a4d565b34801561022d57600080fd5b50600154610159906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561026a57600080fd5b506001546bffffffffffffffffffffffff166101c3565b34801561028d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610159565b3480156102c057600080fd5b506101236102cf366004611b5e565b610b39565b3480156102e057600080fd5b506101c3610b88565b3480156102f557600080fd5b5061012361030436600461197d565b610c40565b34801561031557600080fd5b5061031e610dd3565b60405161017a9190611be7565b34801561033757600080fd5b50610123610346366004611c18565b610de8565b610353610f16565b8281146103c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b83811015610468576104568585838181106103e1576103e1611c96565b90506020020160208101906103f6919061197d565b600085858581811061040a5761040a611c96565b905060200281019061041c9190611cc5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b8061046081611d59565b9150506103c4565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b61065581611066565b604080516000808252602082019092526106719183919061106e565b50565b600061067e611272565b604080516060810182527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168082526000602083018190529
119092015290506106df6040850185611cc5565b90506000036106f1576106f184611311565b6106fa826113da565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561078c57600080fd5b505af1158015610468573d6000803e3d6000fd5b6107a8611445565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b610a3d82611066565b610a498282600161106e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103b8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b41610f16565b610b82848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611d91565b905090565b600054610100900460ff1615808015610c605750600054600160ff909116105b80610c7a5750303b158015610c7a575060005460ff166001145b610d06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d826114e0565b8015610a4957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610ddb611885565b610de3611885565b919050565b600054610100900460ff1615808015610e085750600054600160ff909116105b80610e225750303b158015610e22575060005460ff166001145b610eae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d60006114e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610f8157506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016103b8565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110129190611dd6565b60006040518083038185875af1925050503d806000811461104f576040519150601f19603f3d011682016040523d82523d6000602084013e611054565b606091505b50915091508161046857805160208201fd5b610671611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a6576110a183611578565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561112b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261112891810190611d91565b
160015b6111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103b8565b506110a1838383611682565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016103b8565b600180546020830135916bffffffffffffffffffffffff90911690600061133783611df2565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e63650000000000000000000060448201526064016103b8565b80156106715760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e610468565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061147a57503330145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f
16e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016103b8565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b61161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b836116a7565b6000825111806116985750805b156110a157610b8283836116f4565b6116b081611578565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106fa8383604051806060016040528060278152602001611e6f6027913960606000808573ffffffffffffffffffffffffffffffffffffffff168560405161173e9190611dd6565b600060405180830381855af49150503d8060008114611779576040519150601f19603f3d011682016040523d82523d6000602084013e61177e565b606091505b509150915061178f86838387611799565b9695505050505050565b6060831561182f5782516000036118285773ffffffffffffffffffffffffffffffffffffffff85163b611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b8565b5081611839565b6118398383611841565b949350505050565b8151156118515781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b89190611e1d565b60405180608001604052806004906020820280368337509192915050565b60008083601f8401126118b557600080fd5b50813567ffffffffffffffff8111156118cd57600080fd5b6020830191508360208260051b85010111156118e857600080fd5b9250929050565b6000806000806040858703121561190557600080fd5b843567ffffffffffffffff8082111561191d57600080fd5b611929888389016118a3565b9096509450602087013591508082111561194257600080fd5b5061194f878288016118a3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067157600080fd5b60006020828403121561198f57600080fd5b81356106fa8161195b565b60008060006060848
160312156119af57600080fd5b833567ffffffffffffffff8111156119c657600080fd5b840161016081870312156119d957600080fd5b95602085013595506040909401359392505050565b60008060408385031215611a0157600080fd5b8235611a0c8161195b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a9057611a90611a1a565b604052919050565b60008060408385031215611aab57600080fd5b8235611ab68161195b565b915060208381013567ffffffffffffffff80821115611ad457600080fd5b818601915086601f830112611ae857600080fd5b813581811115611afa57611afa611a1a565b611b2a847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a49565b91508082528784828501011115611b4057600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060008060608587031215611b7457600080fd5b8435611b7f8161195b565b935060208501359250604085013567ffffffffffffffff80821115611ba357600080fd5b818701915087601f830112611bb757600080fd5b813581811115611bc657600080fd5b886020828501011115611bd857600080fd5b95989497505060200194505050565b60808101818360005b6004811015611c0f578151835260209283019290910190600101611bf0565b50505092915050565b600060808284031215611c2a57600080fd5b82601f830112611c3957600080fd5b6040516080810181811067ffffffffffffffff82111715611c5c57611c5c611a1a565b604052806080840185811115611c7157600080fd5b845b81811015611c8b578035835260209283019201611c73565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cfa57600080fd5b83018035915067ffffffffffffffff821115611d1557600080fd5b6020019150368190038213156118e857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8a57611d8a611d2a565b5060010190565b600060208284031215611da357600080fd5b5051919050565b60005b83811015611dc5578181015183820152602001611dad565b83811115610b825750506000910152565b60008251611de8818460208701611daa565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611e1357611e13611d2a565b6001019392505050565b6020815260008251806020840152611e3c816040850160208701611daa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205cf49810dc1024bbe2d76f8f79dcc489e3b6a79d7f0e35498db5239b1077074564736f6c634300080f0033",BrokenBLSAccountFactory__factory=function(_super){function BrokenBLSAccountFactory__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(BrokenBLSAccountFactory__factory,_super),BrokenBLSAccountFactory__factory.prototype.deploy=function(entryPoint,aggregator,overrides){return _super.prototype.deploy.call(this,entryPoint,aggregator,overrides||{})},BrokenBLSAccountFactory__factory.prototype.getDeployTransaction=function(entryPoint,aggregator,overrides){return _super.prototype.getDeployTransaction.call(this,entryPoint,aggregator,overrides||{})},BrokenBLSAccountFactory__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},BrokenBLSAccountFactory__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},BrokenBLSAccountFactory__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},BrokenBLSAccountFactory__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},BrokenBLSAccountFactory__factory.bytecode=_bytecode,BrokenBLSAccountFactory__factory.abi=_abi,BrokenBLSAccountFactory__factory}(ethers_1.ContractFactory);exports.BrokenBLSAccountFactory__factory=BrokenBLSAccountFactory__factory},17588:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.
1setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.BrokenBLSAccount__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"contract IEntryPoint",name:"anEntryPoint",type:"address"},{internalType:"address",name:"anAggregator",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256[4]",name:"oldPublicKey",type:"uint256[4]"},{indexed:!1,internalType:"uint256[4]",name:"newPublicKey",type:"uint256[4]"}],name:"PublicKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IEntryPoint",name:"entryPoint",type:"address"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"SimpleAccountInitialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"addDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"aggregator",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",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:[{internalType:"address[]",name:"dest",type:"address[]"},{internalType:"bytes[]",name:"func",type:"bytes[]"}],name:"executeBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getBlsPublicKey",outputs:[{internalType:"uint256[4]",name:"",type:"uint256[4]"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getDeposit",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"anOwner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256[4]",name:"aPublicKey",type:"uint256[4]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"}],_bytecode="0x60e0604052306080523480156200001557600080fd5b50604051620020c6380380620020c683398101604081905262000038916200013f565b6001600160a01b03821660a052816200005062000064565b506001600160a01b031660c052506200017e565b600054610100900460ff1615620000d15760405162461bcd60e51b8152
160206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013c57600080fd5b50565b600080604083850312156200015357600080fd5b8251620001608162000126565b6020840151909250620001738162000126565b809150509250929050565b60805160a05160c051611ecb620001fb60003960008181610137015261068a01526000818161029001528181610703015281816107aa01528181610b8c01528181610f2e0152818161128a015261152c015260008181610486015281816105360152818161086e0152818161091e0152610a670152611ecb6000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c399ec8811610059578063c399ec88146102d4578063c4d66de8146102e9578063e02afbae14610309578063ee472f361461032b57600080fd5b80638da5cb5b14610221578063affed0e01461025e578063b0d691fe14610281578063b61d27f6146102b457600080fd5b80634a58db19116100c65780634a58db19146101d15780634d44560d146101d95780634f1ef286146101f957806352d1902d1461020c57600080fd5b806318dfb3c714610103578063245a7bfc146101255780633659cfe6146101835780633a871cdd146101a357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046118ef565b61034b565b005b34801561013157600080fd5b506101597f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018f57600080fd5b5061012361019e36600461197d565b61046f565b3480156101af57600080fd5b506101c36101be36600461199a565b610674565b60405190815260200161017a565b610123610701565b3480156101e557600080fd5b506101236101f43660046119ee565b6107a0565b610123610207366004611a98565b610857565b34801561021857600080fd5b506101c3610a4d565b34801561022d57600080fd5b50600154610159906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561026a57600080fd5b506001546bffffffffffffffffffffffff166101c3565b34801561028d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610159565b3480156102c057600080fd5b506101236102cf366004611b5e565b610b39565b3480156102e057600080fd5b506101c3610b88565b3480156102f557600080fd5b5061012361030436600461197d565b610c40565b34801561031557600080fd5b5061031e610dd3565b60405161017a9190611be7565b34801561033757600080fd5b50610123610346366004611c18565b610de8565b610353610f16565b8281146103c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b83811015610468576104568585838181106103e1576103e1611c96565b90506020020160208101906103f6919061197d565b600085858581811061040a5761040a611c96565b905060200281019061041c9190611cc5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b8061046081611d59565b9150506103c4565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b61065581611066565b604080516000808252602082019092526106719183919061106e565b50565b600061067e611272565b604080516060810182527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168082526000602083018190529
119092015290506106df6040850185611cc5565b90506000036106f1576106f184611311565b6106fa826113da565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561078c57600080fd5b505af1158015610468573d6000803e3d6000fd5b6107a8611445565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b610a3d82611066565b610a498282600161106e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103b8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b41610f16565b610b82848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611d91565b905090565b600054610100900460ff1615808015610c605750600054600160ff909116105b80610c7a5750303b158015610c7a575060005460ff166001145b610d06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d826114e0565b8015610a4957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610ddb611885565b610de3611885565b919050565b600054610100900460ff1615808015610e085750600054600160ff909116105b80610e225750303b158015610e22575060005460ff166001145b610eae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d60006114e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610f8157506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016103b8565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110129190611dd6565b60006040518083038185875af1925050503d806000811461104f576040519150601f19603f3d011682016040523d82523d6000602084013e611054565b606091505b50915091508161046857805160208201fd5b610671611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a6576110a183611578565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561112b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261112891810190611d91565b
160015b6111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103b8565b506110a1838383611682565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016103b8565b600180546020830135916bffffffffffffffffffffffff90911690600061133783611df2565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e63650000000000000000000060448201526064016103b8565b80156106715760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e610468565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061147a57503330145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f
16e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016103b8565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b61161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b836116a7565b6000825111806116985750805b156110a157610b8283836116f4565b6116b081611578565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106fa8383604051806060016040528060278152602001611e6f6027913960606000808573ffffffffffffffffffffffffffffffffffffffff168560405161173e9190611dd6565b600060405180830381855af49150503d8060008114611779576040519150601f19603f3d011682016040523d82523d6000602084013e61177e565b606091505b509150915061178f86838387611799565b9695505050505050565b6060831561182f5782516000036118285773ffffffffffffffffffffffffffffffffffffffff85163b611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b8565b5081611839565b6118398383611841565b949350505050565b8151156118515781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b89190611e1d565b60405180608001604052806004906020820280368337509192915050565b60008083601f8401126118b557600080fd5b50813567ffffffffffffffff8111156118cd57600080fd5b6020830191508360208260051b85010111156118e857600080fd5b9250929050565b6000806000806040858703121561190557600080fd5b843567ffffffffffffffff8082111561191d57600080fd5b611929888389016118a3565b9096509450602087013591508082111561194257600080fd5b5061194f878288016118a3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067157600080fd5b60006020828403121561198f57600080fd5b81356106fa8161195b565b60008060006060848
160312156119af57600080fd5b833567ffffffffffffffff8111156119c657600080fd5b840161016081870312156119d957600080fd5b95602085013595506040909401359392505050565b60008060408385031215611a0157600080fd5b8235611a0c8161195b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a9057611a90611a1a565b604052919050565b60008060408385031215611aab57600080fd5b8235611ab68161195b565b915060208381013567ffffffffffffffff80821115611ad457600080fd5b818601915086601f830112611ae857600080fd5b813581811115611afa57611afa611a1a565b611b2a847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a49565b91508082528784828501011115611b4057600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060008060608587031215611b7457600080fd5b8435611b7f8161195b565b935060208501359250604085013567ffffffffffffffff80821115611ba357600080fd5b818701915087601f830112611bb757600080fd5b813581811115611bc657600080fd5b886020828501011115611bd857600080fd5b95989497505060200194505050565b60808101818360005b6004811015611c0f578151835260209283019290910190600101611bf0565b50505092915050565b600060808284031215611c2a57600080fd5b82601f830112611c3957600080fd5b6040516080810181811067ffffffffffffffff82111715611c5c57611c5c611a1a565b604052806080840185811115611c7157600080fd5b845b81811015611c8b578035835260209283019201611c73565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cfa57600080fd5b83018035915067ffffffffffffffff821115611d1557600080fd5b6020019150368190038213156118e857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8a57611d8a611d2a565b5060010190565b600060208284031215611da357600080fd5b5051919050565b60005b83811015611dc5578181015183820152602001611dad565b83811115610b825750506000910152565b60008251611de8818460208701611daa565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611e1357611e13611d2a565b6001019392505050565b6020815260008251806020840152611e3c816040850160208701611daa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205cf49810dc1024bbe2d76f8f79dcc489e3b6a79d7f0e35498db5239b1077074564736f6c634300080f0033",BrokenBLSAccount__factory=function(_super){function BrokenBLSAccount__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(BrokenBLSAccount__factory,_super),BrokenBLSAccount__factory.prototype.deploy=function(anEntryPoint,anAggregator,overrides){return _super.prototype.deploy.call(this,anEntryPoint,anAggregator,overrides||{})},BrokenBLSAccount__factory.prototype.getDeployTransaction=function(anEntryPoint,anAggregator,overrides){return _super.prototype.getDeployTransaction.call(this,anEntryPoint,anAggregator,overrides||{})},BrokenBLSAccount__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},BrokenBLSAccount__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},BrokenBLSAccount__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},BrokenBLSAccount__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},BrokenBLSAccount__factory.bytecode=_bytecode,BrokenBLSAccount__factory.abi=_abi,BrokenBLSAccount__factory}(ethers_1.ContractFactory);exports.BrokenBLSAccount__factory=BrokenBLSAccount__factory},22066:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.
1setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.DepositPaymaster__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"contract IEntryPoint",name:"_entryPoint",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"COST_OF_POST",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"addDepositFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"contract IOracle",name:"tokenPriceOracle",type:"address"}],name:"addToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"balances",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"depositInfo",outputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"_unlockBlock",type:"uint256"}],stateMutability:"view",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:"lockTokenDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"",type:"address"}],name:"oracles",outputs:[{internalType:"contract IOracle",name:"",type:"address"}],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"}],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:[{internalType:"address",name:"",type:"address"}],name:"unlockBlock",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"unlockStake",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unlockTokenDeposit",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdrawTokensTo",outputs:[],stateMutability:"nonpayable",type:"function"}],_bytecode="0x60a06040523480156200001157600080fd5b5060405162001fa938038062001fa98339810160408190526200003491620000bb565b8062000040336200006b565b6001600160a01b031660805262000064336000908152600360205260409020439055565b50620000ed565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620000ce57600080fd5b81516001600160a01b0381168114620000e657600080fd5b9392505050565b608051611e6f6200013a600039600081816103b30152818161052b015281816105f50152818161089001528181610957015281816109e701528181610bb90152610ed70152611e6f6000f3fe6080604052600436106101755760003560e01c8063addd5099116100cb578063c399ec881161007f578063d0e30db011610059578063d0e30db0146104995
178063f2fde38b146104a1578063f465c77e146104c157600080fd5b8063c399ec8814610442578063cc9c837c14610457578063cd8f80c21461047757600080fd5b8063bb9fe6bf116100b0578063bb9fe6bf146103d5578063c23a5cea146103ea578063c23f001f1461040a57600080fd5b8063addd50991461035e578063b0d691fe146103a157600080fd5b80635476bd721161012d5780638da5cb5b116101075780638da5cb5b146102ce5780639ed0fb681461031a578063a9a234091461033e57600080fd5b80635476bd7214610283578063715018a6146102a3578063796d4371146102b857600080fd5b8063382edd9e1161015e578063382edd9e146101af578063493b0170146101cf5780634a6f84cf1461024857600080fd5b80630396cb601461017a578063205c28781461018f575b600080fd5b61018d610188366004611915565b6104ef565b005b34801561019b57600080fd5b5061018d6101aa36600461195d565b6105a1565b3480156101bb57600080fd5b5061018d6101ca366004611989565b610639565b3480156101db57600080fd5b5061022e6101ea3660046119ca565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291825282812054600390925291909120549091565b604080519283526020830191909152015b60405180910390f35b34801561025457600080fd5b50610275610263366004611a03565b60036020526000908152604090205481565b60405190815260200161023f565b34801561028f57600080fd5b5061018d61029e3660046119ca565b61076e565b3480156102af57600080fd5b5061018d610858565b3480156102c457600080fd5b506102756188b881565b3480156102da57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023f565b34801561032657600080fd5b5061018d336000908152600360205260409020439055565b34801561034a57600080fd5b5061018d610359366004611a20565b61086c565b34801561036a57600080fd5b506102f5610379366004611a03565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ad57600080fd5b506102f57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e157600080fd5b5061018d610886565b3480156103f657600080fd5b5061018d610405366004611a03565b61090a565b34801561041657600080fd5b506102756104253660046119ca565b600260209081526000928352604080842090915290825290205481565b34801561044e57600080fd5b506102756109b6565b34801561046357600080fd5b5061018d610472366004611989565b610a6c565b34801561048357600080fd5b5061018d33600090815260036020526040812055565b61018d610b8b565b3480156104ad57600080fd5b5061018d6104bc366004611a03565b610c13565b3480156104cd57600080fd5b506104e16104dc366004611aaf565b610cca565b60405161023f929190611b79565b6104f7610ced565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024016000604051808303818588803b15801561058557600080fd5b505af1158015610599573d6000803e3d6000fd5b505050505050565b6105a9610ced565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b15801561058557600080fd5b61065b73ffffffffffffffffffffffffffffffffffffffff8416333084610d6e565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260016020526040902054166106ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f756e737570706f7274656420746f6b656e00000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600090815260026020908152604080832093861683529290529081208054839290610732908490611bca565b909155505073ffffffffffffffffffffffffffffffffffffffff821633036107695761076933600090815260036020526040812055565b505050565b610776610ced565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160205260409020541615610805576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f546f6b656e20616c72656164792073657400000000000000000000000000000060448201526064016106e5565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b610860610ced565b61086a6000610e4a565b565b610874610ebf565b61088084848484610f5e565b50505050565b61088e610ced565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108f657600080fd5b505af1158015610880573d6000803e3d6000fd5b610912610ced565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b15801561099b57600080fd5b505af11580156109af573d6000803e3d6000fd5b5050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a679190611be2565b905090565b3360009081526003602052604090205415801590610a9857503360009081526003602052604090205443115b610b24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4465706f7369745061796d61737465723a206d75737420756e6c6f636b546f6b60448201527f656e4465706f736974000000000000000000000000000000000000000000000060648201526084016106e5565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020908152604080832033845290915281208054839290610b64908490611bfb565b90915550610769905073ffffffffffffffffffffffffffffffffffffffff841683836110d6565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024016000604051808303818588803b15801561099b57600080fd5b610c1b610ced565b73ffffffffffffffffffffffffffffffffffffffff8116610cbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106e5565b610cc781610e4a565b50565b60606000610cd6610ebf565b610ce185858561112c565b91509150935093915050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106e5565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526108809085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611475565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e74000000000000000000000060448201526064016106e5565b600080808080610f7087890189611c12565b9450945094509450945060008183856188b8610f8c9190611c63565b610f96908a611bca565b610fa09190611c63565b610faa9190611ca0565b905060028a6002811115610fc057610fc0611cdb565b14610fec57610fe773ffffffffffffffffffffffffffffffffffffffff8616873084610d6e565b611036565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600260209081526040808320938a1683529290529081208054839290611030908490611bfb565b90915550505b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602052
160408120829161107c60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110c59190611bca565b909155505050505050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526107699084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610dc8565b606060006188b88560a00135116111c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4465706f7369745061796d61737465723a2067617320746f6f206c6f7720666f60448201527f7220706f73744f7000000000000000000000000000000000000000000000000060648201526084016106e5565b3660006111d6610120880188611d0a565b90925090506028811461126b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4465706f7369745061796d61737465723a207061796d6173746572416e64446160448201527f7461206d757374207370656369667920746f6b656e000000000000000000000060648201526084016106e5565b600061127a8260148186611d76565b61128391611da0565b60601c9050873560006112968389611581565b905060006112a38b6116cf565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604090205490915015611358576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4465706f7369745061796d61737465723a206465706f736974206e6f74206c6f60448201527f636b65640000000000000000000000000000000000000000000000000000000060648201526084016106e5565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526002602090815260408083209387168352929052205482111561141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4465706f7369745061796d61737465723a206465706f73697420746f6f206c6f60448201527f770000000000000000000000000000000000000000000000000000000000000060648201526084016106e5565b6040805173ffffffffffffffffffffffffffffffffffffffff948516602082015294909316848401526060840152608083015260a0808301979097528051808303909701875260c09091019052509295600095509350505050565b60006114d7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166116f69092919063ffffffff16565b80519091501561076957808060200190518101906114f59190611de8565b610769576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106e5565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526001602052604081205490911680611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4465706f7369745061796d61737465723a20756e737570706f7274656420746f60448201527f6b656e000000000000000000000000000000000000000000000000000000000060648201526084016106e5565b6040517fd1eca9cf0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff82169063d1eca9cf90602401602060405180830381865afa1580156116a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c79190611be2565b949350505050565b600060e08201356101008301358082036116ea575092915050565b6116c782488301611705565b60606116c7848460008561171d565b60008183106117145781611716565b825b9392505050565b6060824710156117af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106e5565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516117d89190611e0a565b60006040518083038185875af1925050503d8060008114611815576040519150601f19603f3d011682016040523d82523d6000602084013e61181a565b606091505b509150915061182b87838387611836565b979650505050505050565b606083156118cc5782516000036118c55773ffffffffffffffffffffffffffffffffffffffff85163b6118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106e5565b50816116c7565b6116c783838151156118e15781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e59190611e26565b
160006020828403121561192757600080fd5b813563ffffffff8116811461171657600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610cc757600080fd5b6000806040838503121561197057600080fd5b823561197b8161193b565b946020939093013593505050565b60008060006060848603121561199e57600080fd5b83356119a98161193b565b925060208401356119b98161193b565b929592945050506040919091013590565b600080604083850312156119dd57600080fd5b82356119e88161193b565b915060208301356119f88161193b565b809150509250929050565b600060208284031215611a1557600080fd5b81356117168161193b565b60008060008060608587031215611a3657600080fd5b843560038110611a4557600080fd5b9350602085013567ffffffffffffffff80821115611a6257600080fd5b818701915087601f830112611a7657600080fd5b813581811115611a8557600080fd5b886020828501011115611a9757600080fd5b95986020929092019750949560400135945092505050565b600080600060608486031215611ac457600080fd5b833567ffffffffffffffff811115611adb57600080fd5b84016101608187031215611aee57600080fd5b95602085013595506040909401359392505050565b60005b83811015611b1e578181015183820152602001611b06565b838111156108805750506000910152565b60008151808452611b47816020860160208601611b03565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000611b8c6040830185611b2f565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115611bdd57611bdd611b9b565b500190565b600060208284031215611bf457600080fd5b5051919050565b600082821015611c0d57611c0d611b9b565b500390565b600080600080600060a08688031215611c2a57600080fd5b8535611c358161193b565b94506020860135611c458161193b565b94979496505050506040830135926060810135926080909101359150565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c9b57611c9b611b9b565b500290565b600082611cd6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d3f57600080fd5b83018035915067ffffffffffffffff821115611d5a57600080fd5b602001915036819003821315611d6f57600080fd5b9250929050565b60008085851115611d8657600080fd5b83861115611d9357600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611de05780818660140360031b1b83161692505b505092915050565b600060208284031215611dfa57600080fd5b8151801515811461171657600080fd5b60008251611e1c818460208701611b03565b9190910192915050565b6020815260006117166020830184611b2f56fea2646970667358221220f935cbe4ea2ae13e8fff0cb7f87458bc2f28e69d759658a51d6206dc7702573a64736f6c634300080f0033",DepositPaymaster__factory=function(_super){function DepositPaymaster__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(DepositPaymaster__factory,_super),DepositPaymaster__factory.prototype.deploy=function(_entryPoint,overrides){return _super.prototype.deploy.call(this,_entryPoint,overrides||{})},DepositPaymaster__factory.prototype.getDeployTransaction=function(_entryPoint,overrides){return _super.prototype.getDeployTransaction.call(this,_entryPoint,overrides||{})},DepositPaymaster__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},DepositPaymaster__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},DepositPaymaster__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},DepositPaymaster__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},DepositPaymaster__factory.bytecode=_bytecode,DepositPaymaster__factory.abi=_abi,DepositPaymaster__factory}(ethers_1.ContractFactory);exports.DepositPaymaster__factory=DepositPaymaster__factory},47229:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.
1setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.EntryPoint__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"uint256",name:"preOpGas",type:"uint256"},{internalType:"uint256",name:"paid",type:"uint256"},{internalType:"uint48",name:"validAfter",type:"uint48"},{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"bool",name:"targetSuccess",type:"bool"},{internalType:"bytes",name:"targetResult",type:"bytes"}],name:"ExecutionResult",type:"error"},{inputs:[{internalType:"uint256",name:"opIndex",type:"uint256"},{internalType:"string",name:"reason",type:"string"}],name:"FailedOp",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"SenderAddressResult",type:"error"},{inputs:[{internalType:"address",name:"aggregator",type:"address"}],name:"SignatureValidationFailed",type:"error"},{inputs:[{components:[{internalType:"uint256",name:"preOpGas",type:"uint256"},{internalType:"uint256",name:"prefund",type:"uint256"},{internalType:"bool",name:"sigFailed",type:"bool"},{internalType:"uint48",name:"validAfter",type:"uint48"},{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"bytes",name:"paymasterContext",type:"bytes"}],internalType:"struct IEntryPoint.ReturnInfo",name:"returnInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"senderInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"factoryInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"paymasterInfo",type:"tuple"}],name:"ValidationResult",type:"error"},{inputs:[{components:[{internalType:"uint256",name:"preOpGas",type:"uint256"},{internalType:"uint256",name:"prefund",type:"uint256"},{internalType:"bool",name:"sigFailed",type:"bool"},{internalType:"uint48",name:"validAfter",type:"uint48"},{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"bytes",name:"paymasterContext",type:"bytes"}],internalType:"struct IEntryPoint.ReturnInfo",name:"returnInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"senderInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"factoryInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"paymasterInfo",type:"tuple"},{components:[{internalType:"address",name:"aggregator",type:"address"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"stakeInfo",type:"tuple"}],internalType:"struct IEntryPoint.AggregatorStakeInfo",name:"aggregatorInfo",type:"tuple"}],name:"ValidationResultWithAggregation",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"address",name:"paymaster",type:"address"}],name:"AccountDeployed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"aggregator",type:"address"}],name:"SignatureAggregatorChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalStaked",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"paymaster",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bool",name:"success",type:"bool"},{indexed:!1,internalType:"uint256",name:"actualGasCost",type:"uint256"},{indexed:!1,internalType:"uint256",name:"actualGasUsed",type:"uint256"}],name:"UserOperationEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bytes",name:"revertReason",type:"bytes"}],name:"UserOperationRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[],name:"SIG_VALIDATION_FAILED",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"address",name:"sender",type:"address"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"}],name:"_validateSenderAndPaymaster",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"deposits",outputs:[{internalType:"uint112",name:"deposit",type:"uint112"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{internalType:"uint112",name:"deposit",type:"uint112"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],internalType:"struct IStakeManager.DepositInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"initCode",type:"bytes"}],name:"getSenderAddress",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"userOp",type:"tuple"}],name:"getUserOpHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation[]",name:"userOps",type:"tuple[]"},{internalType:"contract IAggregator",name:"aggregator",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct IEntryPoint.UserOpsPerAggregator[]",name:"opsPerAggregator",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleAggregatedOps",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation[]",name:"ops",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleOps",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"callData",type:"bytes"},{components:[{components:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"address",name:"paymaster",type:"address"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"}
1],internalType:"struct EntryPoint.MemoryUserOp",name:"mUserOp",type:"tuple"},{internalType:"bytes32",name:"userOpHash",type:"bytes32"},{internalType:"uint256",name:"prefund",type:"uint256"},{internalType:"uint256",name:"contextOffset",type:"uint256"},{internalType:"uint256",name:"preOpGas",type:"uint256"}],internalType:"struct EntryPoint.UserOpInfo",name:"opInfo",type:"tuple"},{internalType:"bytes",name:"context",type:"bytes"}],name:"innerHandleOp",outputs:[{internalType:"uint256",name:"actualGasCost",type:"uint256"}],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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"op",type:"tuple"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"targetCallData",type:"bytes"}],name:"simulateHandleOp",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"userOp",type:"tuple"}],name:"simulateValidation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unlockStake",outputs:[],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:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],_bytecode="0x60a08060405234620000845761022c8181016001600160401b038111838210176200006e57829162005773833903906000f0801562000062576080526040516156e990816200008a8239608051818181611321015281816139700152613c910152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021614f9c565b005b60003560e01c80630396cb60146101775780631d7327561461016e5780631fad948c14610165578063205c28781461015c5780634b1d7cf5146101535780635287ce121461014a57806370a08231146101415780638f41ec5a14610138578063957122ab1461012f5780639b249f6914610126578063a61935311461011d578063b760faf914610114578063bb9fe6bf1461010b578063c23a5cea14610102578063d6383f94146100f9578063ee219423146100f05763fc7e286d0361000e576100eb611b0f565b61000e565b506100eb6118f7565b506100eb61178f565b506100eb6115f6565b506100eb611478565b506100eb611439565b506100eb611418565b506100eb611279565b506100eb6110a6565b506100eb61106b565b506100eb610fe6565b506100eb610e96565b506100eb610b6b565b506100eb6109cc565b506100eb61071c565b506100eb610549565b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5760043563ffffffff811680820361031d576103187fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916102356102053373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b91610211811515615102565b61022e610225600185015463ffffffff1690565b63ffffffff1690565b1115615167565b54926102fa6dffffffffffffffffffffffffffff946102b861025c34888460781c166120aa565b966102688815156151cc565b61027481891115615231565b61029881610280610409565b941684906dffffffffffffffffffffffffffff169052565b6001602084015287166dffffffffffffffffffffffffffff166040830152565b63ffffffff83166060820152600060808201526102f53373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b615296565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761036e57604052565b610376610322565b604052565b610100810190811067ffffffffffffffff82111761036e57604052565b67ffffffffffffffff811161036e57604052565b6060810190811067ffffffffffffffff82111761036e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761036e57604052565b6040519061041682610352565b56
15b6040519060c0820182811067ffffffffffffffff82111761036e57604052565b604051906040820182811067ffffffffffffffff82111761036e57604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111610494575b01160190565b61049c610322565b61048e565b9291926104ad82610458565b916104bb60405193846103c8565b82948184528183011161031d578281602093846000960137010152565b73ffffffffffffffffffffffffffffffffffffffff81160361031d57565b60243590610416826104d8565b60c43590610416826104d8565b3590610416826104d8565b9181601f8401121561031d5782359167ffffffffffffffff831161031d576020838186019501011161031d57565b503461031d576101c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5767ffffffffffffffff60043581811161031d573660238201121561031d576105ac9036906024816004013591016104a1565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601610180811261031d57610100604051916105e983610352565b1261031d576040516105fa8161037b565b6106026104f6565b815260443560208201526064356040820152608435606082015260a435608082015261062c610503565b60a082015260e43560c08201526101043560e082015281526101243560208201526101443560408201526101643560608201526101843560808201526101a43591821161031d576106a09261068861069093369060040161051b565b929091612786565b6040519081529081906020820190565b0390f35b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261031d5760043567ffffffffffffffff9283821161031d578060238301121561031d57816004013593841161031d5760248460051b8301011161031d576024019190602435610719816104d8565b90565b503461031d5761072b366106a4565b610736829392611c6f565b60005b848110610788575060009283915b858310610758576100218585611dac565b90919360019061077e61076c878987611d2e565b6107768886611d0c565b519088612214565b0194019190610747565b6107b36107ac61079a83859795611d0c565b516107a6848987611d2e565b84612fc4565b9190612d9b565b73ffffffffffffffffffffffffffffffffffffffff9291831661095e576108f0576107dd90612d9b565b9116610882576107f257600101929092610739565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a490fd5b0390fd5b61087e826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b61087e836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b61087e846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b503461031d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57600435610a08816104d8565b6024359060009133835282602052604083206dffffffffffffffffffffffffffff81541692838311610b0d57848373ffffffffffffffffffffffffffffffffffffffff829593610ab08496610a77610a648798610b0a9c612095565b6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610b04611d7c565b5061560d565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461031d57610b7a366106a4565b6000805b838210610d3c57610b8f9150611c6f565b6000805b848110610ca257505060008093815b818110610bd957610021868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2611dac565b610c3d610be782848a6123a0565b610c12610bf9610bf960208401612442565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a2806123ee565b906000915b808310610c5a57505050610c5590612366565b610ba2565b90919497610c95610c8f610c9b92610c898c8b610c8282610c7c8e8b8d611d2e565b92611d0c565b5191612214565b906120aa565b99612366565b95612366565b9190610c42565b610cad8186886123a0565b6020610cc5610cbc83806123ee565b92909301612442565b9173ffffffffffffffffffffffffffffffffffffffff60009316905b828410610cfa5750505050610cf590612366565b610b93565b90919294610c9581610d2f85610d28610d16610d34968d611d0c565b51610d228c8b8a611d2e565b85612fc4565b908b612d53565b612366565b929190610ce1565b610d478285876123a0565b90610d5282806123ee565b92610d62610bf960208301612442565b9173ffffffffffffffffffffffffffffffffffffffff8316610d87600182141561244c565b610da8575b505050610da291610d9c916120aa565b91612366565b90610b7e565b909592610dc16040999693999895989788810190611e9d565b92908a3b1561031d5789938b918a5193849283927fe3563a4f00000000000000000000000000000000000000000000000000000000845260049e8f850193610e08946125e6565b03815a93600094fa9081610e7d575b50610e675786517f86a9f75000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a16818a0190815281906020010390fd5b9497509295509093509181610d9c610da2610d8c565b80610e8a610e9092610398565b80611060565b38610e17565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d576106a073ffffffffffffffffffffffffffffffffffffffff600435610eea816104d8565b608060409283928351610efc81610352565b600093818580935282602082015282878201528260608201520152168152806020522090610f8b65ffffffffffff6001835194610f3886610352565b80546dffffffffffffffffffffffffffff8082168852607082901c60ff161515602089015260789190911c1685870152015463ffffffff811660608601
15260201c16608084019065ffffffffffff169052565b5191829182919091608065ffffffffffff8160a08401956dffffffffffffffffffffffffffff808251168652602082015115156020870152604082015116604086015263ffffffff6060820151166060860152015116910152565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5773ffffffffffffffffffffffffffffffffffffffff600435611037816104d8565b16600052600060205260206dffffffffffffffffffffffffffff60406000205416604051908152f35b600091031261031d57565b503461031d5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57602060405160018152f35b503461031d5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57600467ffffffffffffffff813581811161031d576110f7903690840161051b565b905060243591611106836104d8565b60443590811161031d5761111d903690850161051b565b92909115908161126f575b50611208576014821015611178575b61087e836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160409060208152600060208201520190565b6111886111949261118e926129ab565b906129b9565b60601c90565b3b156111a1573880611137565b61087e906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601b60208201527f41413330207061796d6173746572206e6f74206465706c6f796564000000000060408201520190565b61087e836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601960208201527f41413230206163636f756e74206e6f74206465706c6f7965640000000000000060408201520190565b90503b1538611128565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5760043567ffffffffffffffff811161031d576112cb602491369060040161051b565b906113016040519283927f570e1a3600000000000000000000000000000000000000000000000000000000845260048401612b4f565b0360208273ffffffffffffffffffffffffffffffffffffffff92816000857f0000000000000000000000000000000000000000000000000000000000000000165af19182156113b3575b600092611383575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b6113a591925060203d81116113ac575b61139d81836103c8565b810190612b3a565b9038611353565b503d611393565b6113bb612058565b61134b565b908161016091031261031d5790565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261031d576004359067ffffffffffffffff821161031d57610719916004016113c0565b503461031d57602061143161142c366113cf565b6128e1565b604051908152f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57610021600435611473816104d8565b615096565b503461031d576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126115f3573381528060205260408120600181019063ffffffff825416908115611595576115326114f761155a936114e96114e4855460ff9060701c1690565b6153fa565b65ffffffffffff421661545f565b84547fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff16602082901b69ffffffffffff000000001617909455565b7fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff8154169055565b60405165ffffffffffff91909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b80fd5b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d57600435611632816104d8565b610b0a73ffffffffffffffffffffffffffffffffffffffff6116743373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9261172c611697610a6486546dffffffffffffffffffffffffffff9060781c1690565b946116a3861515615479565b611704600182016116dc65ffffffffffff6116c8835465ffffffffffff9060201c1690565b166116d48115156154de565b421015615543565b80547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000169055565b7fffffff0000000000000000000000000000ffffffffffffffffffffffffffffff8154169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810186905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2600080809581948294165af1611789611d7c565b506155a8565b503461031d5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5767ffffffffffffffff60043581811161031d576117e09036906004016113c0565b602435916117ed836104d8565b60443590811161031d5761180861087e91369060040161051b565b611810611bec565b61181985612c4e565b61182c6118268287612e5c565b90614e95565b9461183c826000924384526120b7565b96438252819360609573ffffffffffffffffffffffffffffffffffffffff83166118c3575b5050505060800151936118906040611882602084015165ffffffffffff1690565b92015165ffffffffffff1690565b906040519687967f8b7ac980000000000000000000000000000000000000000000000000000000008852600488016126b6565b839550839496506118dd60409492939451809481936126a8565b03925af19060806118ec611d7c565b929190388080611861565b503461031d57611906366113cf565b61190e611bec565b61191782612c4e565b6119218183612e5c565b825160a0015191939161194e9073ffffffffffffffffffffffffffffffffffffffff16614f47565b614f47565b90611972611949855173ffffffffffffffffffffffffffffffffffffffff90511690565b9461197b612973565b506119aa61198e60409586810190611e9d565b90600060148310611b0757506111886119499261118e926129ab565b916119b491614e95565b805173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff821660018114916080880151978781015191886020820151611a099065ffffffffffff1690565b91015165ffffffffffff16916060015192611a22610418565b9a8b5260208b0152841515898b015265ffffffffffff1660608a015265ffffffffffff16608089015260a088015215159081611afe575b50611a93575061087e92519485947fe0cff05f00000000000000000000000000000000000000000000000000000000865260048601612ae0565b919061087e93611aa284614f47565b611ac9611aad610438565b73ffffffffffffffffffffffffffffffffffffffff909616865256
15b6020850152519586957ffaecb4e400000000000000000000000000000000000000000000000000000000875260048701612a4e565b90501538611a59565b915050614f47565b503461031d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031d5773ffffffffffffffffffffffffffffffffffffffff600435611b60816104d8565b16600052600060205260a0604060002065ffffffffffff60018254920154604051926dffffffffffffffffffffffffffff90818116855260ff8160701c161515602086015260781c16604084015263ffffffff8116606084015260201c166080820152f35b60209067ffffffffffffffff8111611bdf575b60051b0190565b611be7610322565b611bd8565b60405190611bf982610352565b604051608083610100830167ffffffffffffffff811184821017611c62575b60405260009283815283602082015283604082015283606082015283838201528360a08201528360c08201528360e082015281528260208201528260408201528260608201520152565b611c6a610322565b611c18565b90611c7982611bc5565b611c8660405191826103c8565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611cb48294611bc5565b019060005b828110611cc557505050565b602090611cd0611bec565b82828501015201611cb9565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020918151811015611d21575b60051b010190565b611d29611cdc565b611d19565b9190811015611d6f575b60051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea18136030182121561031d570190565b611d77611cdc565b611d38565b3d15611da7573d90611d8d82610458565b91611d9b60405193846103c8565b82523d6000602084013e565b606090565b73ffffffffffffffffffffffffffffffffffffffff168015611e3f57600080809381935af1611dd9611d7c565b5015611de157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561031d570180359067ffffffffffffffff821161031d5760200191813603831361031d57565b9081602091031261031d575190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b60005b838110611f4f5750506000910152565b8181015183820152602001611f3f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611f9b81518092818752878088019101611f3c565b0116010190565b90611fbc60809161071996946101c0808652850191611efd565b9360e0815173ffffffffffffffffffffffffffffffffffffffff80825116602087015260208201516040870152604082015160608701526060820151858701528482015160a087015260a08201511660c086015260c081015182860152015161010084015260208101516101208401526040810151610140840152606081015161016084015201516101808201526101a0818403910152611f5f565b506040513d6000823e3d90fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082039182116120a257565b610416612065565b919082018092116120a257565b905a918160206120d06060830151936060810190611e9d565b906121098560405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601611fa2565b03816000305af1600091816121e4575b506121dd575060206000803e7fdeaddead00000000000000000000000000000000000000000000000000000000600051146121705761216a61215f610719945a90612095565b6080840151906120aa565b916145d7565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9250505090565b61220691925060203d811161220d575b6121fe81836103c8565b810190611eee565b9038612119565b503d6121f4565b909291925a938060206122306060830151946060810190611e9d565b906122698660405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601611fa2565b03816000305af160009181612346575b5061233f575060206000803e7fdeaddead00000000000000000000000000000000000000000000000000000000600051146122d1576122cb6122c061071995965a90612095565b6080830151906120aa565b926148ba565b61087e836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9450505050565b61235f91925060203d811161220d576121fe81836103c8565b9038612279565b6001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612394570190565b61239c612065565b0190565b91908110156123e1575b60051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561031d570190565b6123e9611cdc565b6123aa565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561031d570180359067ffffffffffffffff821161031d57602001918160051b3603831361031d57565b35610719816104d8565b1561245357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561031d57016020813591019167ffffffffffffffff821161031d57813603831361031d57565b6107199161252c8161251284610510565b73ffffffffffffffffffffffffffffffffffffffff169052565b602082013560208201526125c761257861255d61254c60408601866124b1565b
1610160806040880152860191611efd565b61256a60608601866124b1565b908583036060870152611efd565b6080840135608084015260a084013560a084015260c084013560c084015260e084013560e084015261010080850135908401526101206125ba818601866124b1565b9185840390860152611efd565b916125d861014091828101906124b1565b929091818503910152611efd565b949391929083604087016040885252606086019360608160051b8801019482600090815b8483106126295750505050505084602061071995968503910152611efd565b9091929394977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08b820301855288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea1843603018112156126a457600191846126929201612501565b9860209081019695019301919061260a565b8280fd5b908092918237016000815290565b92909361071996959260c0958552602085015265ffffffffffff8092166040850152166060830152151560808201528160a08201520190611f5f565b156126f957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b90604061071992600081528160208201520190611f5f565b604090610719939281528160208201520190611f5f565b909291925a936127973033146126f2565b8151946040860151955a6113886060830151890101116128b7576107199660009580516127de575b505050906127d8915a90036080840151019436916104a1565b91614b22565b61280d9161280991612804855173ffffffffffffffffffffffffffffffffffffffff1690565b615672565b1590565b612819575b80806127bf565b6127d892919450612828615684565b90815161283c575b50506001939091612812565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20173ffffffffffffffffffffffffffffffffffffffff6020870151926128ad602061289b835173ffffffffffffffffffffffffffffffffffffffff1690565b9201519560405193849316968361276f565b0390a33880612830565b7fdeaddead0000000000000000000000000000000000000000000000000000000060005260206000fd5b806128f0610140820182611e9d565b50037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081016040519182016040528082526020820192833751902060405160208101918252306040820152466060820152606081526080810181811067ffffffffffffffff821117612966575b60405251902090565b61296e610322565b61295d565b604051906040820182811067ffffffffffffffff82111761299e575b60405260006020838281520152565b6129a6610322565b61298f565b9060141161031d5790601490565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090358181169392601481106129ee57505050565b60140360031b82901b16169150565b9060c060a061071993805184526020810151602085015260408101511515604085015265ffffffffffff80606083015116606086015260808201511660808501520151918160a08201520190611f5f565b9294612aaf61041695612a9d610100959998612a8b612a77602097610140808c528b01906129fd565b9b878a019060208091805184520151910152565b80516060890152602001516080880152565b805160a08701526020015160c0860152565b73ffffffffffffffffffffffffffffffffffffffff81511660e0850152015191019060208091805184520151910152565b612b2961041694612b17612b0260a0959998969960e0865260e08601906129fd565b98602085019060208091805184520151910152565b80516060840152602001516080830152565b019060208091805184520151910152565b9081602091031261031d5751610719816104d8565b916020610719938181520191611efd565b90612b8f73ffffffffffffffffffffffffffffffffffffffff9161071997959694606085526060850191611efd565b941660208201526040818503910152611efd565b60009060033d11612bb057565b905060046000803e60005160e01c90565b600060443d10610719576040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc91823d016004833e815167ffffffffffffffff918282113d602484011117612c3d57818401948551938411612c45573d85010160208487010111612c3d5750610719929101602001906103c8565b949350505050565b50949350505050565b612c5b6040820182611e9d565b612c73612c6784612442565b93610120810190611e9d565b9290303b1561031d57600093612cb79160405196879586957f957122ab00000000000000000000000000000000000000000000000000000000875260048701612b60565b0381305afa9081612d40575b50610416576001612cd2612ba3565b6308c379a014612ceb575b612ce357565b610416612058565b612cf3612bc1565b80612cff575b50612cdd565b80516000925015612cf95761087e906040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301612757565b80610e8a612d4d92610398565b38612cc3565b929190612d5f90612d9b565b909273ffffffffffffffffffffffffffffffffffffffff8080951691160361095e576108f057612d8e90612d9b565b9116610882576107f25750565b8015612dee57612daa90614e3a565b73ffffffffffffffffffffffffffffffffffffffff65ffffffffffff806040840151164211908115612dde575b5091511691565b9050602083015116421038612dd7565b50600090600090565b15612dfe57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b916000915a93815190612e6f828261318e565b612e78816128e1565b6020840152612eb66effffffffffffffffffffffffffffff60808401516060850151176040850151176101008401359060e085013517171115612df7565b612ebf82613250565b612eca818584613311565b9790612ed543600052565b73ffffffffffffffffffffffffffffffffffffffff612f0d60a0606097015173ffffffffffffffffffffffffffffffffffffffff1690565b16612faa575b505a810360a084013510612f3d5760809360c092604087015260608601525a900391013501910152565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601e60408201527f41413430206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b90935081612fbb9297508584614037565b95909238612f13565b9290916000925a8251612fd7818461318e565b612fe0836128e1565b602085015261301e6effffffffffffffffffffffffffffff60808301516060840151176040840151176101008601359060e087013517171115612df7565b61302781613250565b6130338186868b61367d565b989061303e43600052565b73ffffffffffffffffffffffffffffffffffffffff61307660a0606096015173ffffffffffffffffffffffffffffffffffffffff1690565b1661310e575b505a840360a0860135106130a85750604085015260608401526080919060c0905a900391013501910152565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413430206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b909250816131209298508686856142ca565b9690913861307c565b1561313057565b
160646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b613200906131b861319e82612442565b73ffffffffffffffffffffffffffffffffffffffff168452565b602081013560208401526080810135604084015260a0810135606084015260c0810135608084015260e081013560c084015261010081013560e0840152610120810190611e9d565b9081156132455761322a61118e6111888460a094613225601461041699981015613129565b6129ab565b73ffffffffffffffffffffffffffffffffffffffff16910152565b505060a06000910152565b60a081015173ffffffffffffffffffffffffffffffffffffffff16156132925760c060035b60ff60408401519116606084015102016080830151019101510290565b60c06001613275565b6132b360409295949395606083526060830190612501565b9460208201520152565b90610416602f60405180947f414132332072657665727465643a20000000000000000000000000000000000060208301526133018151809260208686019101611f3c565b810103600f8101855201836103c8565b916000926000925a936133df6020835193613340855173ffffffffffffffffffffffffffffffffffffffff1690565b956133586133516040830183611e9d565b90846138e8565b60a086015173ffffffffffffffffffffffffffffffffffffffff169061337d43600052565b85809373ffffffffffffffffffffffffffffffffffffffff809416159889613615575b60600151908601516040517f3a871cdd00000000000000000000000000000000000000000000000000000000815297889687958693906004850161329b565b03938a1690f18291816135f5575b506135ec57506001906133fe612ba3565b6308c379a014613598575b5061352b575b61341c575b50505a900391565b6134469073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b613461610a6482546dffffffffffffffffffffffffffff1690565b8083116134be576134b7926dffffffffffffffffffffffffffff9103166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b3880613414565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b6135a0612bc1565b90816135ac5750613409565b61087e916135ba91506132bd565b6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301612757565b955061340f9050565b61360e91925060203d811161220d576121fe81836103c8565b90386133ed565b945061365b610a646136478c73ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b546dffffffffffffffffffffffffffff1690565b8b8111156136725750856060835b969150506133a0565b606087918d03613669565b90926000936000935a946136c660208351936136ad855173ffffffffffffffffffffffffffffffffffffffff1690565b956133586136be6040830183611e9d565b90848c613c06565b03938a1690f18291816138c8575b506138bf57506001906136e5612ba3565b6308c379a014613869575b506137fb575b613704575b5050505a900391565b61372e9073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9161374a610a6484546dffffffffffffffffffffffffffff1690565b90818311613795575082547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000169190036dffffffffffffffffffffffffffff161790553880806136fb565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61087e846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b613871612bc1565b908161387d57506136f0565b869161388991506132bd565b9061087e6040519283927f220266b60000000000000000000000000000000000000000000000000000000084526004840161276f565b96506136f69050565b6138e191925060203d811161220d576121fe81836103c8565b90386136d4565b9091806138f457505050565b81515173ffffffffffffffffffffffffffffffffffffffff1692833b613b9957606083510151604051907f570e1a3600000000000000000000000000000000000000000000000000000000825260208280613953878760048401612b4f565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f00000000000000000000000000000000000000000000000000000000000000001690f1918215613b8c575b600092613b6c575b50808216958615613aff5716809503613a92573b15613a255761118e6111887fd
151a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936139ec936129ab565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a3565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152602060408201527f4141313520696e6974436f6465206d757374206372656174652073656e64657260608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b613b8591925060203d81116113ac5761139d81836103c8565b90386139a2565b613b94612058565b61399a565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601f60408201527f414131302073656e64657220616c726561647920636f6e73747275637465640060608201520190565b92909181613c15575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff1693843b613ebd57606084510151604051907f570e1a3600000000000000000000000000000000000000000000000000000000825260208280613c74888860048401612b4f565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f00000000000000000000000000000000000000000000000000000000000000001690f1918215613eb0575b600092613e90575b50808216968715613e225716809603613db4573b15613d4e575061118e6111887fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d93613d0e936129ab565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a338808080613c0f565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b61087e826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b61087e846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b613ea991925060203d81116113ac5761139d81836103c8565b9038613cc3565b613eb8612058565b613cbb565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b15613f2a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4141343120746f6f206c6974746c6520766572696669636174696f6e476173006044820152fd5b919060408382031261031d57825167ffffffffffffffff811161031d5783019080601f8301121561031d57815191613fbf83610458565b91613fcd60405193846103c8565b8383526020848301011161031d57602092613fed91848085019101611f3c565b92015190565b90610416602f60405180947f414133332072657665727465643a20000000000000000000000000000000000060208301526133018151809260208686019101611f3c565b93919260609460009460009380519261407660a08a8601519561405b888811613f23565b015173ffffffffffffffffffffffffffffffffffffffff1690565b916140a18373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b946140bd610a6487546dffffffffffffffffffffffffffff1690565b9685881061425d5773ffffffffffffffffffffffffffffffffffffffff60208a98946141338a966dffffffffffffffffffffffffffff8b61416c9e03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b015194604051998a98899788937ff465c77e0000000000000000000000000000000000000000000000000000000085526004850161329b565b0395169103f1908183918493614237575b5061423057505060019061418f612ba3565b6308c379a01461420e575b506141a157565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601660408201527f4141333320726576657274656420286f72204f4f47290000000000000000000060608201520190565b614216612bc1565b9081614222575061419a565b61087e916135ba9150613ff3565b9450925050565b90925061425691503d8085833e61424e81836103c8565b810190613f88565b913861417d565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b9194929390936060956000956000938251906142f160a08b8401519361405b848611613f23565b9361431c8573ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b614337610a6482546dffffffffffffffffffffffffffff1690565b878110614492579273ffffffffffffffffffffffffffffffffffffffff60208a989693946141338a966dffffffffffffffffffffffffffff8d6143b19e9c9a03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b0395169103f1908183918493614474575b5061446c5750506001906143d4612ba3565b6308c379a01461444d575b506143e75750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601660448201527f4141333320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b614455612bc1565b908161446157506143df565b613889925050613ff3565b955093505050565b90925061448b91503d8085833e61424e81836103c8565b91386143c2565b61087e8a6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b6003111561450a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b92919061455760409160028652606060208701526060860190611f5f565b930152565b93929190600381101561450a57604091614557918652606060208701526060860190611f5f565b90610416603660405180947f4141353020706f73744f702072657665727465643a200000000000000000000060208301526145c78151809260208686019101611f3c565b81010360168101855201836103c8565b929190925a936000918051916145ec83614df3565b9260a0810195614610875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff9390848116908161477f57505050614651825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614712577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f9461469d6020928c61470d95510390614fa5565b0151948960206146df6146c4865173ffffffffffffffffffffffffffffffffffffffff1690565b9a5173ffffffffffffffffffffffffffffffffffffffff1690565b9401519785604051968796169a16988590949392606092608083019683521515602083015260408201520152565b0390a4565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152602060408201527f414135312070726566756e642062656c6f772061637475616c476173436f737460608201520190565b9a91805161478f575b5050614653565b6060850151600099509091803b156148b65791899189836147e2956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c029060048401614539565b0393f190816148a3575b5061489e5760016147fb612ba3565b6308c379a01461487f575b614812575b3880614788565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614887612bc1565b806148925750614806565b6135ba61087e91614583565b61480b565b80610e8a6148b092610398565b386147ec565b8980fd5b9392915a906000928051906148ce82614df3565b9360a08301966148f2885173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff959086811690816149e857505050614933845173ffffffffffffffffffffffffffffffffffffffff1690565b915b5a9003019485029860408301908a82511061498257507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f94939261469d61470d938c602094510390614fa5565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f414135312070726566756e642062656c6f772061637475616c476173436f73746064820152608490fd5b939180516149f8575b5050614935565b606087015160009a509091803b15614b1e57918a918a83614a4b956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c029060048401614539565b0393f19081614b0b575b50614b06576001614a64612ba3565b6308c379a014614ae9575b614a7b575b38806149f1565b61087e8b6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614af1612bc1565b80614afc5750614a6f565b6138898d91614583565b614a74565b80610e8a614b1892610398565b38614a55565b8a80fd5b909392915a94805191614b3483614df3565b9260a0810195614b58875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff938185169182614c4057505050614b98825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614712577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f94614be46020928c61470d95510390614fa5565b614bed88614500565b015194896020614c146146c4865173ffffffffffffffffffffffffffffffffffffffff1690565b940151604080519182529815602082015297880152606087015290821695909116939081906080820190565b9a918151614c50575b5050614b9a565b878402614c5c8a614500565b60028a14614ce75760608601
151823b1561031d57614caf93600080948d604051978896879586937fa9a234090000000000000000000000000000000000000000000000000000000085526004850161455c565b0393f18015614cda575b614cc7575b505b3880614c49565b80610e8a614cd492610398565b38614cbe565b614ce2612058565b614cb9565b6060860151823b1561031d57614d3293600080948d604051978896879586937fa9a234090000000000000000000000000000000000000000000000000000000085526004850161455c565b0393f19081614de0575b50614ddb576001614d4b612ba3565b6308c379a014614dc8575b15614cc0576040517f220266b60000000000000000000000000000000000000000000000000000000081528061087e600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614dd0612bc1565b806148925750614d56565b614cc0565b80610e8a614ded92610398565b38614d3c565b60e060c0820151910151808214614e1757480180821015614e12575090565b905090565b5090565b60405190614e28826103ac565b60006040838281528260208201520152565b614e42614e1b565b5065ffffffffffff808260a01c168015614e8e575b60405192614e64846103ac565b73ffffffffffffffffffffffffffffffffffffffff8116845260d01c602084015216604082015290565b5080614e57565b614eaa614eb091614ea4614e1b565b50614e3a565b91614e3a565b9073ffffffffffffffffffffffffffffffffffffffff9182825116928315614f3c575b65ffffffffffff928391826040816020850151169301511693836040816020840151169201511690808410614f34575b50808511614f2c575b5060405195614f1a876103ac565b16855216602084015216604082015290565b935038614f0c565b925038614f03565b815181169350614ed3565b9073ffffffffffffffffffffffffffffffffffffffff614f65612973565b9216600052600060205263ffffffff600160406000206dffffffffffffffffffffffffffff815460781c1685520154166020830152565b61041633615096565b73ffffffffffffffffffffffffffffffffffffffff16600052600060205260406000206dffffffffffffffffffffffffffff80825416928301809311615089575b80831161502b5761041692166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6465706f736974206f766572666c6f77000000000000000000000000000000006044820152fd5b615091612065565b614fe6565b73ffffffffffffffffffffffffffffffffffffffff906150b63482614fa5565b168060005260006020527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206dffffffffffffffffffffffffffff60406000205416604051908152a2565b1561510957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561516e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b156151d357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561523857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b9065ffffffffffff60806001610416946152f66dffffffffffffffffffffffffffff86511682906dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b602085015115156eff000000000000000000000000000082549160701b16807fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff83161783557fffffff000000000000000000000000000000ffffffffffffffffffffffffffff7cffffffffffffffffffffffffffff000000000000000000000000000000604089015160781b16921617178155019263ffffffff6060820151167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008554161784550151167fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff69ffffffffffff0000000083549260201b169116179055565b1561540157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374
1616b696e670000000000000000000000000000006044820152fd5b91909165ffffffffffff808094169116019182116120a257565b1561548057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b156154e557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b1561554a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b156155af57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b1561561457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b9060009283809360208451940192f190565b3d6108008082116156ab575b50604051906020818301016040528082526000602083013e90565b90503861569056fea2646970667358221220ae4a26a2417d41eec912cee72664fcf55e9abebe95b0def4d185ac695cb88b5564736f6c634300081100336080806040523461001657610210908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c63570e1a361461002857600080fd5b346100c95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c95760043567ffffffffffffffff918282116100c957366023830112156100c95781600401359283116100c95736602484840101116100c9576100c561009e84602485016100fc565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90806014116101bb5767ffffffffffffffff917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec82018381116101cd575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81600b8701160116850190858210908211176101c0575b604052808452602084019036848401116101bb576020946000600c819682946014880187378301015251923560601c5af19060005191156101b557565b60009150565b600080fd5b6101c86100cc565b610178565b6101d56100cc565b61013a56fea26469706673582212201927e80b76ab9b71c952137dd676621a9fdf520c25928815636594036eb1c40364736f6c63430008110033",EntryPoint__factory=function(_super){function EntryPoint__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(EntryPoint__factory,_super),EntryPoint__factory.prototype.deploy=function(overrides){return _super.prototype.deploy.call(this,overrides||{})},EntryPoint__factory.prototype.getDeployTransaction=function(overrides){return _super.prototype.getDeployTransaction.call(this,overrides||{})},EntryPoint__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},EntryPoint__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},EntryPoint__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},EntryPoint__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},EntryPoint__factory.bytecode=_bytecode,EntryPoint__factory.abi=_abi,EntryPoint__factory}(ethers_1.ContractFactory);exports.EntryPoint__factory=EntryPoint__factory},51426:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.IAccount__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"}],IAccount__factory=function(){function IAccount__factory(){}return IAccount__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},IAccount__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},IAccount__factory.abi=_abi,IAccount__factory}();exports.IAccount__factory=IAccount__factory},42942:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.IAggregator__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation[]",name:"userOps",type:"tuple[]"}],name:"aggregateSignatures",outputs:[{internalType:"bytes",name:"aggregatedSignature",type:"bytes"}],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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation[]",name:"userOps",type:"tuple[]"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"validateSignatures",outputs:[],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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"userOp",type:"tuple"}],name:"validateUserOpSignature",outputs:[{internalType:"bytes",name:"sigForUserOp",type:"bytes"}],stateMutability:"view",type:"function"}],IAggregator__factory=function(){function IAggregator__factory(){}return IAggregator__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},IAggregator__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},IAggregator__factory.abi=_abi,IAggregator__factory}();exports.IAggregator__factory=IAggregator__factory},71817:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.IEntryPoint__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"uint256",name:"preOpGas",type:"uint256"},{internalType:"uint256",name:"paid",type:"uint256"},{internalType:"uint48",name:"validAfter",type:"uint48"},{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"bool",name:"targetSuccess",type:"bool"},{internalType:"bytes",name:"targetResult",type:"bytes"}],name:"ExecutionResult",type:"error"},{inputs:[{internalType:"uint256",name:"opIndex",type:"uint256"},{internalType:"string",name:"reason",type:"string"}],name:"FailedOp",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"SenderAddressResult",type:"error"},{inputs:[{internalType:"address",name:"aggregator",type:"address"}],name:"SignatureValidationFailed",type:"error"},{inputs:[{components:[{internalType:"uint256",name:"preOpGas",type:"uint256"},{internalType:"uint256",name:"prefund",type:"uint256"},{internalType:"bool",name:"sigFailed",type:"bool"},{internalType:"uint48",name:"validAfter",type:"uint48"},{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"bytes",name:"paymasterContext",type:"bytes"}],internalType:"struct IEntryPoint.ReturnInfo",name:"returnInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"senderInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"factoryInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"paymasterInfo",type:"tuple"}],name:"ValidationResult",type:"error"},{inputs:[{components:[{internalType:"uint256",name:"preOpGas",type:"uint256"},{internalType:"uint256",name:"prefund",type:"uint256"},{internalType:"bool",name:"sigFailed",type:"bool"},{internalType:"uint48",name:"validAfter",type:"uint48"},{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"bytes",name:"paymasterContext",type:"bytes"}],internalType:"struct IEntryPoint.ReturnInfo",name:"returnInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"senderInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"factoryInfo",type:"tuple"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"paymasterInfo",type:"tuple"},{components:[{internalType:"address",name:"aggregator",type:"address"},{components:[{internalType:"uint256",name:"stake",type:"uint256"},{internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],internalType:"struct IStakeManager.StakeInfo",name:"stakeInfo",type:"tuple"}],internalType:"struct IEntryPoint.AggregatorStakeInfo",name:"aggregatorInfo",type:"tuple"}],name:"ValidationResultWithAggregation",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"address",name:"paymaster",type:"address"}],name:"AccountDeployed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"aggregator",type:"address"}],name:"SignatureAggregatorChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalStaked",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"paymaster",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bool",name:"success",type:"bool"},{indexed:!1,internalType:"uint256",name:"actualGasCost",type:"uint256"},{indexed:!1,internalType:"uint256",name:"actualGasUsed",type:"uint256"}],name:"UserOperationEvent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"userOpHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"bytes",name:"revertReason",type:"bytes"}],name:"UserOperationRevertReason",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[{internalType:"uint32",name:"_unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{internalType:"uint112",name:"deposit",type:"uint112"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],internalType:"struct IStakeManager.DepositInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"initCode",type:"bytes"}],name:"getSenderAddress",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"userOp",type:"tuple"}],name:"getUserOpHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{components:[{internalTyp
1e:"address",name:"sender",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"bytes",name:"initCode",type:"bytes"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation[]",name:"userOps",type:"tuple[]"},{internalType:"contract IAggregator",name:"aggregator",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct IEntryPoint.UserOpsPerAggregator[]",name:"opsPerAggregator",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleAggregatedOps",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation[]",name:"ops",type:"tuple[]"},{internalType:"address payable",name:"beneficiary",type:"address"}],name:"handleOps",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"op",type:"tuple"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"targetCallData",type:"bytes"}],name:"simulateHandleOp",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"userOp",type:"tuple"}],name:"simulateValidation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unlockStake",outputs:[],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:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"}],IEntryPoint__factory=function(){function IEntryPoint__factory(){}return IEntryPoint__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},IEntryPoint__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},IEntryPoint__factory.abi=_abi,IEntryPoint__factory}();exports.IEntryPoint__factory=IEntryPoint__factory},45721:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.IPaymaster__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"enum IPaymaster.PostOpMode",name:"mode",type:"uint8"},{internalType:"bytes",name:"context",type:"bytes"},{internalType:"uint256",name:"actualGasCost",type:"uint256"}],name:"postOp",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"}],IPaymaster__factory=function(){function IPaymaster__factory(){}return IPaymaster__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},IPaymaster__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},IPaymaster__factory.abi=_abi,IPaymaster__factory}();exports.IPaymaster__factory=IPaymaster__factory},37343:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.IStakeManager__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalStaked",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[{internalType:"uint32",name:"_unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{internalType:"uint112",name:"deposit",type:"uint112"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],internalType:"struct IStakeManager.DepositInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"unlockStake",outputs:[],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:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"}],IStakeManager__factory=function(){function IStakeManager__factory(){}return IStakeManager__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},IStakeManager__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},IStakeManager__factory.abi=_abi,IStakeManager__factory}();exports.IStakeManager__factory=IStakeManager__factory},47217:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.
1setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.MaliciousAccount__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"contract IEntryPoint",name:"_ep",type:"address"}],stateMutability:"payable",type:"constructor"},{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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"userOp",type:"tuple"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"uint256",name:"missingAccountFunds",type:"uint256"}],name:"validateUserOp",outputs:[{internalType:"uint256",name:"validationData",type:"uint256"}],stateMutability:"nonpayable",type:"function"}],_bytecode="0x608060405260405161034a38038061034a83398101604081905261002291610047565b600080546001600160a01b0319166001600160a01b0392909216919091179055610077565b60006020828403121561005957600080fd5b81516001600160a01b038116811461007057600080fd5b9392505050565b6102c4806100866000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80633a871cdd14610030575b600080fd5b61004361003e3660046101a1565b610055565b60405190815260200160405180910390f35b600080546040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9091169063b760faf99084906024016000604051808303818588803b1580156100c257600080fd5b505af11580156100d6573d6000803e3d6000fd5b505050505060008460c001358560a0013586608001356100f69190610224565b6101009190610224565b9050600061010e828561023c565b9050600061012161010088013583610277565b905086602001358114610194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f5265766572742061667465722066697273742076616c69646174696f6e000000604482015260640160405180910390fd5b5060009695505050505050565b60008060006060848
160312156101b657600080fd5b833567ffffffffffffffff8111156101cd57600080fd5b840161016081870312156101e057600080fd5b95602085013595506040909401359392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610237576102376101f5565b500190565b600082610272577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082821015610289576102896101f5565b50039056fea2646970667358221220233c1b53bed3630405955a2809bf977fcd3053b67e56cf39bd460d18cc03844c64736f6c634300080f0033",MaliciousAccount__factory=function(_super){function MaliciousAccount__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(MaliciousAccount__factory,_super),MaliciousAccount__factory.prototype.deploy=function(_ep,overrides){return _super.prototype.deploy.call(this,_ep,overrides||{})},MaliciousAccount__factory.prototype.getDeployTransaction=function(_ep,overrides){return _super.prototype.getDeployTransaction.call(this,_ep,overrides||{})},MaliciousAccount__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},MaliciousAccount__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},MaliciousAccount__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},MaliciousAccount__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},MaliciousAccount__factory.bytecode=_bytecode,MaliciousAccount__factory.abi=_abi,MaliciousAccount__factory}(ethers_1.ContractFactory);exports.MaliciousAccount__factory=MaliciousAccount__factory},75654:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.SenderCreator__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"bytes",name:"initCode",type:"bytes"}],name:"createSender",outputs:[{internalType:"address",name:"sender",type:"address"}],stateMutability:"nonpayable",type:"function"}],_bytecode="0x608060405234801561001057600080fd5b50610213806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063570e1a3614610030575b600080fd5b61004361003e3660046100f9565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008061007c601482858761016b565b61008591610195565b60601c90506000610099846014818861016b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525084519495509360209350849250905082850182875af190506000519350806100f057600093505b50505092915050565b6000806020838503121561010c57600080fd5b823567ffffffffffffffff8082111561012457600080fd5b818501915085601f83011261013857600080fd5b81358181111561014757600080fd5b86602082850101111561015957600080fd5b60209290920196919550909350505050565b6000808585111561017b57600080fd5b8386111561018857600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156101d55780818660140360031b1b83161692505b50509291505056fea2646970667358221220d5d7cb55b3123d86b2710028be2074a469cca162ad2a26c50fb1cfdce4424b9464736f6c634300080f0033",SenderCreator__factory=function(_super){function SenderCreator__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(SenderCreator__factory,_super),SenderCreator__factory.prototype.deploy=function(overrides){return _super.prototype.deploy.call(this,overrides||{})},SenderCreator__factory.prototype.getDeployTransaction=function(overrides){return _super.prototype.getDeployTransaction.call(this,overrides||{})},SenderCreator__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},SenderCreator__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},SenderCreator__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},SenderCreator__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},SenderCreator__factory.bytecode=_bytecode,SenderCreator__factory.abi=_abi,SenderCreator__factory}(ethers_1.ContractFactory);exports.SenderCreator__factory=SenderCreator__factory},61094:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.
1setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.SimpleAccountFactory__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"contract IEntryPoint",name:"_entryPoint",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"accountImplementation",outputs:[{internalType:"contract SimpleAccount",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"salt",type:"uint256"}],name:"createAccount",outputs:[{internalType:"contract SimpleAccount",name:"ret",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"salt",type:"uint256"}],name:"getAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],_bytecode="0x60a060405234801561001057600080fd5b50604051612f0f380380612f0f83398101604081905261002f91610088565b8060405161003c9061007b565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b0316608052506100b8565b61218980610d8683390190565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b608051610ca66100e060003960008181604b0152818161011401526102580152610ca66000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe146100465780635fbfb9cf146100965780638cb84e18146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461039d565b6100bc565b61006d6100b736600461039d565b6101ee565b6000806100c984846101ee565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101e8565b60405173ffffffffffffffffffffffffffffffffffffffff8616602482015284907f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052516101b790610390565b6101c2929190610412565b8190604051809103906000f59050801580156101e2573d6000803e3d6000fd5b50925050505b92915050565b60006103578260001b6040518060200161020790610390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff871660248201527f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161030093929101610412565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261033c9291602001610480565b6040516020818303038152906040528051906020012061035e565b9392505050565b60006103578383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6107c1806104b083390190565b600080604083850312156103b057600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146103d457600080fd5b946020939093013593505050565b60005b838110156103fd5781810151838201526020016103e5565b8381111561040c576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000825180604084015261044d8160608501602087016103e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104928184602088016103e2565b8351908301906104a68183602088016103e2565b0194935050505056fe60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b
16040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122030a4cd3aed4a6d9ec37ebc1d87061b12ed9906b5ba9c82d2d00395cabba20fbd64736f6c634300080f003360c0604052306080523480156200001557600080fd5b506040516200218938038062002189833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611fd3620001b66000396000818161023b01528181610624015281816106cb01528181610aad01528181610d0c0152818161106801526113fc0152600081816103ef0152818161049f0152818161078f0152818161083f01526109880152611fd36000f3fe6080604052600436106100d65760003560e01c806352d1902d1161007f578063b0d691fe11610059578063b0d691fe1461022c578063b61d27f61461025f578063c399ec881461027f578063c4d66de81461029457600080fd5b806352d1902d146101925780638da5cb5b146101a7578063affed0e01461020957600080fd5b80634a58db19116100b05780634a58db19146101575780634d44560d1461015f5780634f1ef2861461017f57600080fd5b806318dfb3c7146100e25780633659cfe6146101045780633a871cdd1461012457600080fd5b366100dd57005b600080fd5b3480156100ee57600080fd5b506101026100fd366004611aaa565b6102b4565b005b34801561011057600080fd5b5061010261011f366004611b38565b6103d8565b34801561013057600080fd5b5061014461013f366004611b55565b6105dd565b6040519081526020015b60405180910390f35b610102610622565b34801561016b57600080fd5b5061010261017a366004611ba9565b6106c1565b61010261018d366004611c04565b610778565b34801561019e57600080fd5b5061014461096e565b3480156101b357600080fd5b506001546101e4906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014e565b34801561021557600080fd5b506001546bffffffffffffffffffffffff16610144565b34801561023857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101e4565b34801561026b57600080fd5b5061010261027a366004611ce6565b
1610a5a565b34801561028b57600080fd5b50610144610aa9565b3480156102a057600080fd5b506101026102af366004611b38565b610b61565b6102bc610cf4565b82811461032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b838110156103d1576103bf85858381811061034a5761034a611d6f565b905060200201602081019061035f9190611b38565b600085858581811061037357610373611d6f565b90506020028101906103859190611d9e565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc792505050565b806103c981611e32565b91505061032d565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361049d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610321565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105127f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146105b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610321565b6105be81610e44565b604080516000808252602082019092526105da91839190610e4c565b50565b60006105e7611050565b6105f184846110ef565b90506106006040850185611d9e565b905060000361061257610612846111e1565b61061b826112aa565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b1580156106ad57600080fd5b505af11580156103d1573d6000803e3d6000fd5b6106c9611315565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561075c57600080fd5b505af1158015610770573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610321565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108b27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610321565b61095e82610e44565b61096a82826001610e4c565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610321565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610a62610cf4565b610aa3848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc792505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c9190611e6a565b905090565b600054610100900460ff1615808015610b815750600054600160ff909116105b80610b9b5750303b158015610b9b575060005460ff166001145b610c27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610321565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c8557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c8e826113b0565b801561096a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610d5f57506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e746044820152606401610321565b565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051610df09190611eaf565b60006040518083038185875af1925050503d8060008114610e2d576040519150601f19603f3d011682016040523d82523d6000602084013e610e32565b606091505b5091509150816103d157805160208201fd5b6105da611315565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e8457610e7f83611448565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f09575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f0691810190611e6a565b60015b610f95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f
16e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610321565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610321565b50610e7f838383611552565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606401610321565b600080611149836040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b905061119961115c610140860186611d9e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085939250506115779050565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff9081169116146111d55760019150506111db565b60009150505b92915050565b600180546020830135916bffffffffffffffffffffffff90911690600061120783611ecb565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff16146105da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e6365000000000000000000006044820152606401610321565b80156105da5760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d80600081146103d1576040519150601f19603f3d011682016040523d82523d6000602084013e6103d1565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061134a57503330145b610dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f
16e6c79206f776e6572000000000000000000000000000000000000000000006044820152606401610321565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b6114ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610321565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61155b8361159b565b6000825111806115685750805b15610e7f57610aa383836115e8565b6000806000611586858561160d565b9150915061159381611652565b509392505050565b6115a481611448565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061061b8383604051806060016040528060278152602001611f7760279139611805565b60008082516041036116435760208301516040840151606085015160001a6116378782858561188a565b9450945050505061164b565b506000905060025b9250929050565b600081600481111561166657611666611ef6565b0361166e5750565b600181600481111561168257611682611ef6565b036116e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610321565b60028160048111156116fd576116fd611ef6565b03611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610321565b600381600481111561177857611778611ef6565b036105da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610321565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161182f9190611eaf565b600060405180830381855af49150503d806000811461186a576040519150601f19603f3d011682016040523d82523d6000602084013e61186f565b606091505b509150915061188086838387611979565b9695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156118c15750600090506003611970565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611915573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661196957600060019250925050611970565b9150600090505b94509492505050565b60608315611a0f578251600003611a085773ffffffffffffffffffffffffffffffffffffffff85163b611a08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610321565b5081611a19565b611a198383611a21565b949350505050565b815115611a315781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103219190611f25565b60008083601f840112611a7757600080fd5b50813567ffffffffffffffff811115611a8f57600080fd5b6020830191508360208260051b850101111561164b57600080fd5b60008060008060408587031215611ac057600080fd5b843567ffffffffffffffff80821115611ad857600080fd5b611ae488838901611a65565b90965094506020870135915080821115611afd57600080fd5b50611b0a87828801611a65565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff811681146105da57600080fd5b600060208284031215611b4a57600080fd5b813561061b81611b16565b60008060006060848
16031215611b6a57600080fd5b833567ffffffffffffffff811115611b8157600080fd5b84016101608187031215611b9457600080fd5b95602085013595506040909401359392505050565b60008060408385031215611bbc57600080fd5b8235611bc781611b16565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611c1757600080fd5b8235611c2281611b16565b9150602083013567ffffffffffffffff80821115611c3f57600080fd5b818501915085601f830112611c5357600080fd5b813581811115611c6557611c65611bd5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611cab57611cab611bd5565b81604052828152886020848701011115611cc457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060008060608587031215611cfc57600080fd5b8435611d0781611b16565b935060208501359250604085013567ffffffffffffffff80821115611d2b57600080fd5b818701915087601f830112611d3f57600080fd5b813581811115611d4e57600080fd5b886020828501011115611d6057600080fd5b95989497505060200194505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611dd357600080fd5b83018035915067ffffffffffffffff821115611dee57600080fd5b60200191503681900382131561164b57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611e6357611e63611e03565b5060010190565b600060208284031215611e7c57600080fd5b5051919050565b60005b83811015611e9e578181015183820152602001611e86565b83811115610aa35750506000910152565b60008251611ec1818460208701611e83565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611eec57611eec611e03565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020815260008251806020840152611f44816040850160208701611e83565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fd4b8799a91c8d4b8c5386672729ac9615b60b5f5b7dbac6da122be87a2a90b164736f6c634300080f0033",SimpleAccountFactory__factory=function(_super){function SimpleAccountFactory__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(SimpleAccountFactory__factory,_super),SimpleAccountFactory__factory.prototype.deploy=function(_entryPoint,overrides){return _super.prototype.deploy.call(this,_entryPoint,overrides||{})},SimpleAccountFactory__factory.prototype.getDeployTransaction=function(_entryPoint,overrides){return _super.prototype.getDeployTransaction.call(this,_entryPoint,overrides||{})},SimpleAccountFactory__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},SimpleAccountFactory__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},SimpleAccountFactory__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},SimpleAccountFactory__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},SimpleAccountFactory__factory.bytecode=_bytecode,SimpleAccountFactory__factory.abi=_abi,SimpleAccountFactory__factory}(ethers_1.ContractFactory);exports.SimpleAccountFactory__factory=SimpleAccountFactory__factory},86942:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.SimpleAccount__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"contract IEntryPoint",name:"anEntryPoint",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IEntryPoint",name:"entryPoint",type:"address"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"SimpleAccountInitialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{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:[{internalType:"address[]",name:"dest",type:"address[]"},{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:[{internalType:"address",name:"anOwner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"}],_bytecode="0x60c03461015a57601f62001ed338819003918201601f19168301916001600160401b0383118484101761015f5780849260209460405283398101031261015a57516001600160a01b038116810361015a573060805260a05260005460ff8160081c166101055760ff808216106100ca575b604051611d5d908162000176823960805181818161032601528181610a460152610c23015260a051818181610548015281816107180152818161080101528181610dcf01528181610ef20152818161187301526118d10152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610070565b60405162461bcd60e51b8152
160206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806318dfb3c71461011f5780633659cfe6146101165780633a871cdd1461010d5780634a58db19146101045780634d44560d146100fb5780634f1ef286146100f257806352d1902d146100e95780638da5cb5b146100e0578063affed0e0146100d7578063b0d691fe146100ce578063b61d27f6146100c5578063c399ec88146100bc5763c4d66de80361000e576100b7610f75565b61000e565b506100b7610e78565b506100b7610df3565b506100b7610d83565b506100b7610d38565b506100b7610cf8565b506100b7610bdc565b506100b76109c4565b506100b76107a2565b506100b76106d5565b506100b76104dd565b506100b76102d1565b506100b761015e565b9181601f840112156101595782359167ffffffffffffffff8311610159576020808501948460051b01011161015957565b600080fd5b50346101595760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595767ffffffffffffffff600435818111610159576101af903690600401610128565b9091602435908111610159576101c9903690600401610128565b91906101d36118ba565b8282036102555760005b8281106101e657005b8061021a6101ff6101fa600194878a61173f565b61175d565b61021461020d848988611767565b369161098d565b90611c93565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610248575b016101dd565b6102506116df565b610242565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e67746873000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff81160361015957565b50346101595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595760043561030d816102b3565b73ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000000000000000000000000000000000000000000001691610353833014156110d9565b6103827f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc938285541614611164565b61038a611caa565b60405190610397826108cb565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156103d15750506100199150611296565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa600091816104ad575b5061049a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f
16e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b610019936104a8911461120b565b611382565b6104cf91925060203d81116104d6575b6104c78183610903565b8101906111ef565b9038610410565b503d6104bd565b5034610159577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126101595760043567ffffffffffffffff811161015957610160816004019282360301126101595773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036106775761058861057d6024358461196d565b926044830190611620565b9050156105b3575b6105af8261059f604435611671565b6040519081529081906020820190565b0390f35b6024600154916bffffffffffffffffffffffff927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008482169480861461066a575b600186011691161760015501350361060c5738610590565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e6365000000000000000000006044820152fd5b6106726116df565b6105f4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152fd5b506000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261079f5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001681813b1561079f57602491604051928380927fb760faf900000000000000000000000000000000000000000000000000000000825230600483015234905af18015610792575b610786575080f35b61078f906108aa565b80f35b61079a6111fe565b61077e565b80fd5b503461015957600060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261079f576004356107e0816102b3565b6107e8611caa565b8173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610876576044908360405195869485937f205c287800000000000000000000000000000000000000000000000000000000855216600484015260243560248401525af1801561079257610786575080f35b8280fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116108be57604052565b6108c661087a565b604052565b6020810190811067ffffffffffffffff8211176108be57604052565b6060810190811067ffffffffffffffff8211176108be57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176108be57604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff8111610980575b01160190565b61098861087a565b61097a565b92919261099982610944565b916109a76040519384610903565b829481845281830111610159578281602093846000960137010152565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610159576004356109fb816102b3565b60243567ffffffffffffffff8111610159573660238201121561015957610a2c90369060248160040135910161098d565b9073ffffffffffffffffffffffffffffffffffffffff91827f00000000000000000000000000000000000000000000000000000000000000001692610a73843014156110d9565b610aa27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc948286541614611164565b610aaa611caa565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ae05750506100199150611296565b6020600491604094939451928380927f52d1902d00000000000000000000000000000000000000000000000000000000825286165afa60009181610bbc575b50610ba9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f
16e206973206e6f7420555550530000000000000000000000000000000000006064820152608490fd5b61001993610bb7911461120b565b611461565b610bd591925060203d81116104d6576104c78183610903565b9038610b1f565b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610c74576040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152602090f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957602060015460601c604051908152f35b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101595760206bffffffffffffffffffffffff60015416604051908152f35b50346101595760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101595760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957600435610e2f816102b3565b6044359067ffffffffffffffff908183116101595736602384011215610159578260040135918211610159573660248385010111610159576024610019930190602435906116ab565b5034610159576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261079f576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610f68575b8291610f2e575b604051828152602090f35b90506020813d8211610f60575b81610f4860209383610903565b81010312610f5c576105af91505138610f23565b5080fd5b3d9150610f3b565b610f706111fe565b610f1c565b50346101595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015957600435610fb1816102b3565b61101360005491610fd960ff8460081c1615809481956110cb575b81156110ab575b50611791565b8261100a60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b
16110755761181c565b61101957005b6110467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6110a66101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b61181c565b303b159150816110bd575b5038610fd3565b6001915060ff1614386110b6565b600160ff8216109150610fcc565b156110e057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561116b57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b90816020910312610159575190565b506040513d6000823e3d90fd5b1561121257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b803b156112fe5773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b9061138c82611296565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590611459575b6113db575050565b61145691600080604051936113ef856108e7565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208601527f206661696c6564000000000000000000000000000000000000000000000000006040860152602081519101845af46114506114c1565b91611556565b50565b5060006113d3565b9061146b82611296565b73ffffffffffffffffffffffffffffffffffffffff82167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28051158015906114b9576113db575050565b5060016113d3565b3d156114ec573d906114d282610944565b916114e06040519384610903565b82523d6000602084013e565b606090565b156114f857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b91929015611579575081511561156a575090565b611576903b15156114f1565b90565b82519091501561158c5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110611609575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016115c8565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610159570180359067ffffffffffffffff82116101595760200191813603831361015957565b806116795750565b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506114566114c1565b6116bc60009493859461020d6118ba565b91602083519301915af16116ce6114c1565b90156116d75750565b602081519101fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9190811015611750575b60051b0190565b61175861170f565b611749565b35611576816102b3565b909161178092811015611784575b60051b810190611620565b9091565b61178c61170f565b611775565b1561179857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6bffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006001549260601b169116178060015560601c73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de600080a3565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314801561195f575b1561190157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e746044820152fd5b5060015460601c33146118fa565b906119f06119e873ffffffffffffffffffffffffffffffffffffffff9260405160208101917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008352603c820152603c81526119c7816108e7565b5190206119e261020d60015460601c96610140810190611620565b90611bc2565b919091611a39565b16036119fb57600090565b600190565b60051115611a0a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b611a4281611a00565b80611a4a5750565b611a5381611a00565b60018103611aba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b611ac381611a00565b60028103611b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b80611b36600392611a00565b14611b3d57565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608490fd5b906041815114600014611bec57611780916020820151906060604084015193015160001a90611bf6565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611c875791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611c7a575b815173ffffffffffffffffffffffffffffffffffffffff811615611c74579190565b50600190565b611c826111fe565b611c52565b50505050600090600390565b600091829182602083519301915af16116ce6114c1565b60015460601c33148015611d1e575b15611cc057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f
16e6c79206f776e6572000000000000000000000000000000000000000000006044820152fd5b50303314611cb956fea2646970667358221220593fa2403beef0636f4ff38625c8e0f27859145384a308b0a9f2e56754fd82f664736f6c63430008110033",SimpleAccount__factory=function(_super){function SimpleAccount__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(SimpleAccount__factory,_super),SimpleAccount__factory.prototype.deploy=function(anEntryPoint,overrides){return _super.prototype.deploy.call(this,anEntryPoint,overrides||{})},SimpleAccount__factory.prototype.getDeployTransaction=function(anEntryPoint,overrides){return _super.prototype.getDeployTransaction.call(this,anEntryPoint,overrides||{})},SimpleAccount__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},SimpleAccount__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},SimpleAccount__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},SimpleAccount__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},SimpleAccount__factory.bytecode=_bytecode,SimpleAccount__factory.abi=_abi,SimpleAccount__factory}(ethers_1.ContractFactory);exports.SimpleAccount__factory=SimpleAccount__factory},6075:function(__unused_webpack_module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.StakeManager__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalDeposit",type:"uint256"}],name:"Deposited",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"totalStaked",type:"uint256"},{indexed:!1,internalType:"uint256",name:"unstakeDelaySec",type:"uint256"}],name:"StakeLocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"withdrawTime",type:"uint256"}],name:"StakeUnlocked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"StakeWithdrawn",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"address",name:"withdrawAddress",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdrawn",type:"event"},{inputs:[{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"depositTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"deposits",outputs:[{internalType:"uint112",name:"deposit",type:"uint112"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getDepositInfo",outputs:[{components:[{internalType:"uint112",name:"deposit",type:"uint112"},{internalType:"bool",name:"staked",type:"bool"},{internalType:"uint112",name:"stake",type:"uint112"},{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"},{internalType:"uint48",name:"withdrawTime",type:"uint48"}],internalType:"struct IStakeManager.DepositInfo",name:"info",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"unlockStake",outputs:[],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:"withdrawAmount",type:"uint256"}],name:"withdrawTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],StakeManager__factory=function(){function StakeManager__factory(){}return StakeManager__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},StakeManager__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},StakeManager__factory.abi=_abi,StakeManager__factory}();exports.StakeManager__factory=StakeManager__factory},85400:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.
1setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.TokenPaymaster__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"address",name:"accountFactory",type:"address"},{internalType:"string",name:"_symbol",type:"string"},{internalType:"contract IEntryPoint",name:"_entryPoint",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"COST_OF_POST",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"unstakeDelaySec",type:"uint32"}],name:"addStake",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",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:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mintTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],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"}],name:"postOp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"theFactory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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"}],_bytecode="0x60c06040523480156200001157600080fd5b506040516200224438038062002244833981016040819052620000349162000327565b8180826200004233620000a0565b6001600160a01b031660805260046200005c8382620004bc565b5060056200006b8282620004bc565b5050506001600160a01b03831660a05262000088306001620000f0565b620000973033600019620001b9565b505050620005af565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200014c5760405162461bcd60e51b8152
160206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b806003600082825462000160919062000588565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0383166200021d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000143565b6001600160a01b038216620002805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000143565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b505050565b6001600160a01b0381168114620002fc57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b80516200032281620002e6565b919050565b60008060006060848
160312156200033d57600080fd5b83516200034a81620002e6565b602085810151919450906001600160401b03808211156200036a57600080fd5b818701915087601f8301126200037f57600080fd5b815181811115620003945762000394620002ff565b604051601f8201601f19908116603f01168101908382118183101715620003bf57620003bf620002ff565b816040528281528a86848701011115620003d857600080fd5b600093505b82841015620003fc5784840186015181850187015292850192620003dd565b828411156200040e5760008684830101525b809750505050505050620004256040850162000315565b90509250925092565b600181811c908216806200044357607f821691505b6020821081036200046457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e157600081815260208120601f850160051c81016020861015620004935750805b601f850160051c820191505b81811015620004b4578281556001016200049f565b505050505050565b81516001600160401b03811115620004d857620004d8620002ff565b620004f081620004e984546200042e565b846200046a565b602080601f8311600181146200052857600084156200050f5750858301515b600019600386901b1c1916600185901b178555620004b4565b600085815260208120601f198616915b82811015620005595788860151825594840194600190910190840162000538565b5085821015620005785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008219821115620005aa57634e487b7160e01b600052601160045260246000fd5b500190565b60805160a051611c376200060d6000396000818161039201526116fa015260008181610426015281816105970152818161070b015281816108ea015281816109b101528181610a4101528181610af401526111f80152611c376000f3fe6080604052600436106101a15760003560e01c80639f5ca221116100e1578063c23a5cea1161008a578063dd62ed3e11610064578063dd62ed3e1461049a578063f0dda65c146104ed578063f2fde38b1461050d578063f465c77e1461052d57600080fd5b8063c23a5cea1461045d578063c399ec881461047d578063d0e30db01461049257600080fd5b8063a9a23409116100bb578063a9a23409146103f4578063b0d691fe14610414578063bb9fe6bf1461044857600080fd5b80639f5ca22114610380578063a457c2d7146103b4578063a9059cbb146103d457600080fd5b8063313ce5671161014e578063715018a611610128578063715018a6146102f4578063796d4371146103095780638da5cb5b1461031f57806395d89b411461036b57600080fd5b8063313ce56714610275578063395093511461029157806370a08231146102b157600080fd5b806318160ddd1161017f57806318160ddd14610216578063205c28781461023557806323b872dd1461025557600080fd5b80630396cb60146101a657806306fdde03146101bb578063095ea7b3146101e6575b600080fd5b6101b96101b43660046117a8565b61055b565b005b3480156101c757600080fd5b506101d061060d565b6040516101dd9190611840565b60405180910390f35b3480156101f257600080fd5b50610206610201366004611875565b61069f565b60405190151581526020016101dd565b34801561022257600080fd5b506003545b6040519081526020016101dd565b34801561024157600080fd5b506101b9610250366004611875565b6106b7565b34801561026157600080fd5b506102066102703660046118a1565b61074f565b34801561028157600080fd5b50604051601281526020016101dd565b34801561029d57600080fd5b506102066102ac366004611875565b610773565b3480156102bd57600080fd5b506102276102cc3660046118e2565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b34801561030057600080fd5b506101b96107bf565b34801561031557600080fd5b50610227613a9881565b34801561032b57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b34801561037757600080fd5b506101d06107d3565b34801561038c57600080fd5b506103467f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c057600080fd5b506102066103cf366004611875565b6107e2565b3480156103e057600080fd5b506102066103ef366004611875565b6108b8565b34801561040057600080fd5b506101b961040f3660046118ff565b6108c6565b34801561042057600080fd5b506103467f000000000000000000000000000000000000000000000000000000000000000081565b34801561045457600080fd5b506101b96108e0565b34801561046957600080fd5b506101b96104783660046118e2565b610964565b34801561048957600080fd5b50610227610a10565b6101b9610ac6565b3480156104a657600080fd5b506102276104b536600461198e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b3480156104f957600080fd5b506101b9610508366004611875565b610b4e565b34801561051957600080fd5b506101b96105283660046118e2565b610b64565b34801561053957600080fd5b5061054d6105483660046119c7565b
1610bcd565b6040516101dd929190611a1b565b610563610bf0565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024016000604051808303818588803b1580156105f157600080fd5b505af1158015610605573d6000803e3d6000fd5b505050505050565b60606004805461061c90611a3d565b80601f016020809104026020016040519081016040528092919081815260200182805461064890611a3d565b80156106955780601f1061066a57610100808354040283529160200191610695565b820191906000526020600020905b81548152906001019060200180831161067857829003601f168201915b5050505050905090565b6000336106ad818585610c71565b5060019392505050565b6106bf610bf0565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b1580156105f157600080fd5b60003361075d858285610e24565b610768858585610ef5565b506001949350505050565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906106ad90829086906107ba908790611a90565b610c71565b6107c7610bf0565b6107d1600061116b565b565b60606005805461061c90611a3d565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156108ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107688286868403610c71565b6000336106ad818585610ef5565b6108ce6111e0565b6108da8484848461127f565b50505050565b6108e8610bf0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561095057600080fd5b505af11580156108da573d6000803e3d6000fd5b61096c610bf0565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b5050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac19190611acf565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024016000604051808303818588803b1580156109f557600080fd5b610b56610bf0565b610b6082826112b2565b5050565b610b6c610bf0565b610b9630610b8f60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000610c71565b610b9f816113a7565b610bca30827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610c71565b50565b60606000610bd96111e0565b610be485858561145b565b91509150935093915050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108a2565b73ffffffffffffffffffffffffffffffffffffffff8316610d13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff8216610db6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600260209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108da5781811015610ee8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108a2565b6108da8484848403610c71565b73ffffffffffffffffffffffffffffffffffffffff8316610f98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff821661103b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054818110156110f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016108a2565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061115e9086815260200190565b60405180910390a36108da565b
16000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e74000000000000000000000060448201526064016108a2565b600061128d838501856118e2565b905060006112a56112a0613a9885611a90565b6116a4565b9050610605823083610ef5565b73ffffffffffffffffffffffffffffffffffffffff821661132f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108a2565b80600360008282546113419190611a90565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6113af610bf0565b73ffffffffffffffffffffffffffffffffffffffff8116611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108a2565b610bca8161116b565b6060600080611469846116a4565b9050613a988660a0013511611500576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f546f6b656e5061796d61737465723a2067617320746f6f206c6f7720666f722060448201527f706f73744f70000000000000000000000000000000000000000000000000000060648201526084016108a2565b61150d6040870187611ae8565b1590506115c15761151d866116b7565b8061152e6102cc60208901896118e2565b10156115bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f546f6b656e5061796d61737465723a206e6f2062616c616e636520287072652d60448201527f637265617465290000000000000000000000000000000000000000000000000060648201526084016108a2565b61163a565b806115d26102cc60208901896118e2565b101561163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f546f6b656e5061796d61737465723a206e6f2062616c616e636500000000000060448201526064016108a2565b61164760208701876118e2565b6040805173ffffffffffffffffffffffffffffffffffffffff909216602083015201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529660009650945050505050565b60006116b1606483611b54565b92915050565b60006116c66040830183611ae8565b6116d591601491600091611b8f565b6116de91611bb9565b60601c905073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168114610b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f546f6b656e5061796d61737465723a2077726f6e67206163636f756e7420666160448201527f63746f727900000000000000000000000000000000000000000000000000000060648201526084016108a2565b6000602082840312156117ba57600080fd5b813563ffffffff811681146117ce57600080fd5b9392505050565b6000815180845260005b818110156117fb576020818501810151868301820152016117df565b8181111561180d576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117ce60208301846117d5565b73ffffffffffffffffffffffffffffffffffffffff81168114610bca57600080fd5b6000806040838503121561188857600080fd5b823561189381611853565b946020939093013593505050565b60008060006060848
160312156118b657600080fd5b83356118c181611853565b925060208401356118d181611853565b929592945050506040919091013590565b6000602082840312156118f457600080fd5b81356117ce81611853565b6000806000806060858703121561191557600080fd5b84356003811061192457600080fd5b9350602085013567ffffffffffffffff8082111561194157600080fd5b818701915087601f83011261195557600080fd5b81358181111561196457600080fd5b88602082850101111561197657600080fd5b95986020929092019750949560400135945092505050565b600080604083850312156119a157600080fd5b82356119ac81611853565b915060208301356119bc81611853565b809150509250929050565b6000806000606084860312156119dc57600080fd5b833567ffffffffffffffff8111156119f357600080fd5b84016101608187031215611a0657600080fd5b95602085013595506040909401359392505050565b604081526000611a2e60408301856117d5565b90508260208301529392505050565b600181811c90821680611a5157607f821691505b602082108103611a8a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611aca577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b600060208284031215611ae157600080fd5b5051919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611b1d57600080fd5b83018035915067ffffffffffffffff821115611b3857600080fd5b602001915036819003821315611b4d57600080fd5b9250929050565b600082611b8a577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008085851115611b9f57600080fd5b83861115611bac57600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611bf95780818660140360031b1b83161692505b50509291505056fea2646970667358221220a332863119321216e5189708c2880dbc64e46a1707c0f292f429daa2c9a7ea3764736f6c634300080f0033",TokenPaymaster__factory=function(_super){function TokenPaymaster__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(TokenPaymaster__factory,_super),TokenPaymaster__factory.prototype.deploy=function(accountFactory,_symbol,_entryPoint,overrides){return _super.prototype.deploy.call(this,accountFactory,_symbol,_entryPoint,overrides||{})},TokenPaymaster__factory.prototype.getDeployTransaction=function(accountFactory,_symbol,_entryPoint,overrides){return _super.prototype.getDeployTransaction.call(this,accountFactory,_symbol,_entryPoint,overrides||{})},TokenPaymaster__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},TokenPaymaster__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},TokenPaymaster__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},TokenPaymaster__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},TokenPaymaster__factory.bytecode=_bytecode,TokenPaymaster__factory.abi=_abi,TokenPaymaster__factory}(ethers_1.ContractFactory);exports.TokenPaymaster__factory=TokenPaymaster__factory},17100:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var extendStatics,__extends=this&&this.__extends||(extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)},function(d,b){if("function"!=typeof b&&null!==b)throw TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)});exports.__esModule=!0,exports.VerifyingPaymaster__factory=void 0;var ethers_1=__webpack_require__(86623),_abi=[{inputs:[{internalType:"contract IEntryPoint",name:"_entryPoint",type:"address"},{internalType:"address",name:"_verifyingSigner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,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:[{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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",name:"userOp",type:"tuple"},{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"uint48",name:"validAfter",type:"uint48"}],name:"getHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"paymasterAndData",type:"bytes"}],name:"parsePaymasterAndData",outputs:[{internalType:"uint48",name:"validUntil",type:"uint48"},{internalType:"uint48",name:"validAfter",type:"uint48"},{internalType:"bytes",name:"signature",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"enum IPaymaster.PostOpMode",name:"mode",type:"uint8"},{internalType:"bytes",name:"context",type:"bytes"},{internalType:"uint256",name:"actualGasCost",type:"uint256"}],name:"postOp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"senderNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",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:"uint256",name:"callGasLimit",type:"uint256"},{internalType:"uint256",name:"verificationGasLimit",type:"uint256"},{internalType:"uint256",name:"preVerificationGas",type:"uint256"},{internalType:"uint256",name:"maxFeePerGas",type:"uint256"},{internalType:"uint256",name:"maxPriorityFeePerGas",type:"uint256"},{internalType:"bytes",name:"paymasterAndData",type:"bytes"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct UserOperation",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:[],name:"verifyingSigner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",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"}],_bytecode="0x60c06040523480156200001157600080fd5b5060405162001723380380620017238339810160408190526200003491620000c2565b81620000403362000059565b6001600160a01b039081166080521660a0525062000101565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000bf57600080fd5b50565b60008060408385031215620000d657600080fd5b8251620000e381620000a9565b6020840151909250620000f681620000a9565b809150509250929050565b60805160a0516115c46200015f6000396000818161013f0152610ca20152600081816102880152818161038601528181610450015281816105730152818161063a015281816106ca0152818161077d0152610a0401526115c46000f3fe6080604052600436106100f35760003560e01c8063a9a234091161008a578063c399ec8811610059578063c399ec88146102df578063d0e30db0146102f4578063f2fde38b146102fc578063f465c77e1461031c57600080fd5b8063a9a2340914610256578063b0d691fe14610276578063bb9fe6bf146102aa578063c23a5cea146102bf57600080fd5b80638da5cb5b116100c65780638da5cb5b146101a057806394d4ad60146101cb57806394e1fc19146101fb5780639c90b4431461022957600080fd5b80630396cb60146100f8578063205c28781461010d57806323d9ac9b1461012d578063715018a61461018b575b600080fd5b61010b610106366004611075565b61034a565b005b34801561011957600080fd5b5061010b6101283660046110c4565b6103fc565b34801561013957600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b
160405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561019757600080fd5b5061010b610494565b3480156101ac57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610161565b3480156101d757600080fd5b506101eb6101e6366004611132565b6104a8565b6040516101829493929190611174565b34801561020757600080fd5b5061021b610216366004611212565b6104e5565b604051908152602001610182565b34801561023557600080fd5b5061021b610244366004611270565b60016020526000908152604090205481565b34801561026257600080fd5b5061010b61027136600461128d565b61054f565b34801561028257600080fd5b506101617f000000000000000000000000000000000000000000000000000000000000000081565b3480156102b657600080fd5b5061010b610569565b3480156102cb57600080fd5b5061010b6102da366004611270565b6105ed565b3480156102eb57600080fd5b5061021b610699565b61010b61074f565b34801561030857600080fd5b5061010b610317366004611270565b6107d7565b34801561032857600080fd5b5061033c6103373660046112ed565b610893565b6040516101829291906113a6565b6103526108b7565b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630396cb609034906024016000604051808303818588803b1580156103e057600080fd5b505af11580156103f4573d6000803e3d6000fd5b505050505050565b6104046108b7565b6040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b1580156103e057600080fd5b61049c6108b7565b6104a66000610938565b565b60008036816104bb6054601487896113c8565b8101906104c891906113f2565b90945092506104da85605481896113c8565b949793965094505050565b60006104f0846109ad565b73ffffffffffffffffffffffffffffffffffffffff8535166000908152600160209081526040918290205491516105309392469230928991899101611425565b6040516020818303038152906040528051906020012090509392505050565b6105576109ec565b61056384848484610a8b565b50505050565b6105716108b7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105d957600080fd5b505af1158015610563573d6000803e3d6000fd5b6105f56108b7565b6040517fc23a5cea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b15801561067e57600080fd5b505af1158015610692573d6000803e3d6000fd5b5050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074a9190611482565b905090565b6040517fb760faf90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063b760faf99034906024016000604051808303818588803b15801561067e57600080fd5b6107df6108b7565b73ffffffffffffffffffffffffffffffffffffffff8116610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61089081610938565b50565b6060600061089f6109ec565b6108aa858585610aed565b915091505b935093915050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161087e565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60603660006109c061012085018561149b565b915091508360208184030360405194506020810185016040528085528082602087013750505050919050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e740000000000000000000000604482015260640161087e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6d757374206f7665727269646500000000000000000000000000000000000000604482015260640161087e565b6060600080803681610b066101e66101208b018b61149b565b929650909450925090506040811480610b1f5750604181145b610bad57604080517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482015260248101919091527f566572696679696e675061796d61737465723a20696e76616c6964207369676e60448201527f6174757265206c656e67746820696e207061796d6173746572416e6444617461606482015260840161087e565b6000610c10610bbd8b87876104e5565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff8b35166000908152600160205260408120805492935090610c4583611500565b9190505550610c8a8184848
1080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d3292505050565b73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614610d0757610ce860018686610d56565b60405180602001604052806000815250909650965050505050506108af565b610d1360008686610d56565b6040805160208101909152600081529b909a5098505050505050505050565b6000806000610d418585610d8e565b91509150610d4e81610dd3565b509392505050565b600060d08265ffffffffffff16901b60a08465ffffffffffff16901b85610d7e576000610d81565b60015b60ff161717949350505050565b6000808251604103610dc45760208301516040840151606085015160001a610db887828585610f86565b94509450505050610dcc565b506000905060025b9250929050565b6000816004811115610de757610de761155f565b03610def5750565b6001816004811115610e0357610e0361155f565b03610e6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161087e565b6002816004811115610e7e57610e7e61155f565b03610ee5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161087e565b6003816004811115610ef957610ef961155f565b03610890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161087e565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610fbd575060009050600361106c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611011573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166110655760006001925092505061106c565b9150600090505b94509492505050565b60006020828403121561108757600080fd5b813563ffffffff8116811461109b57600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089057600080fd5b600080604083850312156110d757600080fd5b82356110e2816110a2565b946020939093013593505050565b60008083601f84011261110257600080fd5b50813567ffffffffffffffff81111561111a57600080fd5b602083019150836020828501011115610dcc57600080fd5b6000806020838503121561114557600080fd5b823567ffffffffffffffff81111561115c57600080fd5b611168858286016110f0565b90969095509350505050565b600065ffffffffffff8087168352808616602084015250606060408301528260608301528284608084013760006080848401015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116830101905095945050505050565b600061016082840312156111f157600080fd5b50919050565b803565ffffffffffff8116811461120d57600080fd5b919050565b60008060006060848
1603121561122757600080fd5b833567ffffffffffffffff81111561123e57600080fd5b61124a868287016111de565b935050611259602085016111f7565b9150611267604085016111f7565b90509250925092565b60006020828403121561128257600080fd5b813561109b816110a2565b600080600080606085870312156112a357600080fd5b8435600381106112b257600080fd5b9350602085013567ffffffffffffffff8111156112ce57600080fd5b6112da878288016110f0565b9598909750949560400135949350505050565b60008060006060848603121561130257600080fd5b833567ffffffffffffffff81111561131957600080fd5b611325868287016111de565b9660208601359650604090950135949350505050565b6000815180845260005b8181101561136157602081850181015186830182015201611345565b81811115611373576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6040815260006113b9604083018561133b565b90508260208301529392505050565b600080858511156113d857600080fd5b838611156113e557600080fd5b5050820193919092039150565b6000806040838503121561140557600080fd5b61140e836111f7565b915061141c602084016111f7565b90509250929050565b60c08152600061143860c083018961133b565b60208301979097525073ffffffffffffffffffffffffffffffffffffffff949094166040850152606084019290925265ffffffffffff90811660808401521660a090910152919050565b60006020828403121561149457600080fd5b5051919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126114d057600080fd5b83018035915067ffffffffffffffff8211156114eb57600080fd5b602001915036819003821315610dcc57600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611558577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212201f0be91b92179d101ae4aa96dcbd313210e5b62f1b15c18338e0acb937cb466a64736f6c634300080f0033",VerifyingPaymaster__factory=function(_super){function VerifyingPaymaster__factory(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var _this=this;return args.length>1?_super.apply(this,args)||this:_super.call(this,_abi,_bytecode,args[0])||this}return __extends(VerifyingPaymaster__factory,_super),VerifyingPaymaster__factory.prototype.deploy=function(_entryPoint,_verifyingSigner,overrides){return _super.prototype.deploy.call(this,_entryPoint,_verifyingSigner,overrides||{})},VerifyingPaymaster__factory.prototype.getDeployTransaction=function(_entryPoint,_verifyingSigner,overrides){return _super.prototype.getDeployTransaction.call(this,_entryPoint,_verifyingSigner,overrides||{})},VerifyingPaymaster__factory.prototype.attach=function(address){return _super.prototype.attach.call(this,address)},VerifyingPaymaster__factory.prototype.connect=function(signer){return _super.prototype.connect.call(this,signer)},VerifyingPaymaster__factory.createInterface=function(){return new ethers_1.utils.Interface(_abi)},VerifyingPaymaster__factory.connect=function(address,signerOrProvider){return new ethers_1.Contract(address,_abi,signerOrProvider)},VerifyingPaymaster__factory.bytecode=_bytecode,VerifyingPaymaster__factory.abi=_abi,VerifyingPaymaster__factory}(ethers_1.ContractFactory);exports.VerifyingPaymaster__factory=VerifyingPaymaster__factory},53241:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}
1),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]});exports.__esModule=!0,exports.VerifyingPaymaster__factory=exports.TokenPaymaster__factory=exports.StakeManager__factory=exports.SimpleAccountFactory__factory=exports.SimpleAccount__factory=exports.SenderCreator__factory=exports.MaliciousAccount__factory=exports.IStakeManager__factory=exports.IPaymaster__factory=exports.IEntryPoint__factory=exports.IAggregator__factory=exports.IAccount__factory=exports.EntryPoint__factory=exports.DepositPaymaster__factory=exports.BrokenBLSAccountFactory__factory=exports.BrokenBLSAccount__factory=exports.BasePaymaster__factory=exports.BaseAccount__factory=void 0,__createBinding(exports,__webpack_require__(11912),"BaseAccount__factory"),__createBinding(exports,__webpack_require__(43678),"BasePaymaster__factory"),__createBinding(exports,__webpack_require__(17588),"BrokenBLSAccount__factory"),__createBinding(exports,__webpack_require__(28319),"BrokenBLSAccountFactory__factory"),__createBinding(exports,__webpack_require__(22066),"DepositPaymaster__factory"),__createBinding(exports,__webpack_require__(47229),"EntryPoint__factory"),__createBinding(exports,__webpack_require__(51426),"IAccount__factory"),__createBinding(exports,__webpack_require__(42942),"IAggregator__factory"),__createBinding(exports,__webpack_require__(71817),"IEntryPoint__factory"),__createBinding(exports,__webpack_require__(45721),"IPaymaster__factory"),__createBinding(exports,__webpack_require__(37343),"IStakeManager__factory"),__createBinding(exports,__webpack_require__(47217),"MaliciousAccount__factory"),__createBinding(exports,__webpack_require__(75654),"SenderCreator__factory"),__createBinding(exports,__webpack_require__(86942),"SimpleAccount__factory"),__createBinding(exports,__webpack_require__(61094),"SimpleAccountFactory__factory"),__createBinding(exports,__webpack_require__(6075),"StakeManager__factory"),__createBinding(exports,__webpack_require__(85400),"TokenPaymaster__factory"),__createBinding(exports,__webpack_require__(17100),"VerifyingPaymaster__factory")},66358:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}
1),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]});exports.__esModule=!0,exports.VerifyingPaymaster__factory=exports.TokenPaymaster__factory=exports.StakeManager__factory=exports.SimpleAccountFactory__factory=exports.SimpleAccount__factory=exports.SenderCreator__factory=exports.MaliciousAccount__factory=exports.IStakeManager__factory=exports.IPaymaster__factory=exports.IEntryPoint__factory=exports.IAggregator__factory=exports.IAccount__factory=exports.EntryPoint__factory=exports.DepositPaymaster__factory=exports.BrokenBLSAccountFactory__factory=exports.BrokenBLSAccount__factory=exports.BasePaymaster__factory=exports.BaseAccount__factory=exports.factories=void 0,exports.factories=__webpack_require__(53241),__createBinding(exports,__webpack_require__(11912),"BaseAccount__factory"),__createBinding(exports,__webpack_require__(43678),"BasePaymaster__factory"),__createBinding(exports,__webpack_require__(17588),"BrokenBLSAccount__factory"),__createBinding(exports,__webpack_require__(28319),"BrokenBLSAccountFactory__factory"),__createBinding(exports,__webpack_require__(22066),"DepositPaymaster__factory"),__createBinding(exports,__webpack_require__(47229),"EntryPoint__factory"),__createBinding(exports,__webpack_require__(51426),"IAccount__factory"),__createBinding(exports,__webpack_require__(42942),"IAggregator__factory"),__createBinding(exports,__webpack_require__(71817),"IEntryPoint__factory"),__createBinding(exports,__webpack_require__(45721),"IPaymaster__factory"),__createBinding(exports,__webpack_require__(37343),"IStakeManager__factory"),__createBinding(exports,__webpack_require__(47217),"MaliciousAccount__factory"),__createBinding(exports,__webpack_require__(75654),"SenderCreator__factory"),__createBinding(exports,__webpack_require__(86942),"SimpleAccount__factory"),__createBinding(exports,__webpack_require__(61094),"SimpleAccountFactory__factory"),__createBinding(exports,__webpack_require__(6075),"StakeManager__factory"),__createBinding(exports,__webpack_require__(85400),"TokenPaymaster__factory"),__createBinding(exports,__webpack_require__(17100),"VerifyingPaymaster__factory")},76237:function(__unused_webpack_module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BaseAccountAPI=void 0;let ethers_1=__webpack_require__(86623),contracts_1=__webpack_require__(51364),utils_1=__webpack_require__(56371),utils_2=__webpack_require__(16236),calcPreVerificationGas_1=__webpack_require__(2151);exports.BaseAccountAPI=class{constructor(params){this.isPhantom=!0,this.provider=params.provider,this.overheads=params.overheads,this.entryPointAddress=params.entryPointAddress,this.accountAddress=params.accountAddress,this.paymasterAPI=params.paymasterAPI,this.entryPointView=contracts_1.EntryPoint__factory.connect(params.entryPointAddress,params.provider).connect(ethers_1.ethers.constants.AddressZero)}
1async init(){if(await this.provider.getCode(this.entryPointAddress)==="0x")throw Error(`entryPoint not deployed at ${this.entryPointAddress}`);return await this.getAccountAddress(),this}async checkAccountPhantom(){if(!this.isPhantom)return this.isPhantom;let senderAddressCode=await this.provider.getCode(this.getAccountAddress());return senderAddressCode.length>2&&(this.isPhantom=!1),this.isPhantom}async getCounterFactualAddress(){let initCode=this.getAccountInitCode();try{await this.entryPointView.callStatic.getSenderAddress(initCode)}catch(e){return e.errorArgs.sender}throw Error("must handle revert")}async getInitCode(){return await this.checkAccountPhantom()?await this.getAccountInitCode():"0x"}async getVerificationGasLimit(){return 1e5}async getPreVerificationGas(userOp){let p=await (0,utils_1.resolveProperties)(userOp);return(0,calcPreVerificationGas_1.calcPreVerificationGas)(p,this.overheads)}packUserOp(userOp){return(0,utils_2.packUserOp)(userOp,!1)}async encodeUserOpCallDataAndGasLimit(detailsForUserOp){var _a,_b;function parseNumber(a){return null==a||""===a?null:ethers_1.BigNumber.from(a.toString())}let value=null!==(_a=parseNumber(detailsForUserOp.value))&&void 0!==_a?_a:ethers_1.BigNumber.from(0),callData=await this.encodeExecute(detailsForUserOp.target,value,detailsForUserOp.data),callGasLimit=null!==(_b=parseNumber(detailsForUserOp.gasLimit))&&void 0!==_b?_b:await this.provider.estimateGas({from:this.entryPointAddress,to:this.getAccountAddress(),data:callData});return{callData,callGasLimit}}async getUserOpHash(userOp){let op=await (0,utils_1.resolveProperties)(userOp),chainId=await this.provider.getNetwork().then(net=>net.chainId);return(0,utils_2.getUserOpHash)(op,this.entryPointAddress,chainId)}async getAccountAddress(){return null==this.senderAddress&&(null!=this.accountAddress?this.senderAddress=this.accountAddress:this.senderAddress=await this.getCounterFactualAddress()),this.senderAddress}async estimateCreationGas(initCode){if(null==initCode||"0x"===initCode)return 0;let deployerAddress=initCode.substring(0,42),deployerCallData="0x"+initCode.substring(42);return await this.provider.estimateGas({to:deployerAddress,data:deployerCallData})}async createUnsignedUserOp(info){var _a,_b;let paymasterAndData;let{callData,callGasLimit}=await this.encodeUserOpCallDataAndGasLimit(info),initCode=await this.getInitCode(),initGas=await this.estimateCreationGas(initCode),verificationGasLimit=ethers_1.BigNumber.from(await this.getVerificationGasLimit()).add(initGas),{maxFeePerGas,maxPriorityFeePerGas}=info;if(null==maxFeePerGas||null==maxPriorityFeePerGas){let feeData=await this.provider.getFeeData();null==maxFeePerGas&&(maxFeePerGas=null!==(_a=feeData.maxFeePerGas)&&void 0!==_a?_a:void 0),null==maxPriorityFeePerGas&&(maxPriorityFeePerGas=null!==(_b=feeData.maxPriorityFeePerGas)&&void 0!==_b?_b:void 0)}let partialUserOp={sender:this.getAccountAddress(),nonce:this.getNonce(),initCode,callData,callGasLimit,verificationGasLimit,maxFeePerGas,maxPriorityFeePerGas,paymasterAndData:"0x"};if(null!=this.paymasterAPI){let userOpForPm=Object.assign(Object.assign({},partialUserOp),{preVerificationGas:await this.getPreVerificationGas(partialUserOp)});paymasterAndData=await this.paymasterAPI.getPaymasterAndData(userOpForPm)}return partialUserOp.paymasterAndData=null!=paymasterAndData?paymasterAndData:"0x",Object.assign(Object.assign({},partialUserOp),{preVerificationGas:this.getPreVerificationGas(partialUserOp),signature:""})}async signUserOp(userOp){let userOpHash=await this.getUserOpHash(userOp),signature=this.signUserOpHash(userOpHash);return Object.assign(Object.assign({},userOp),{signature})}async createSignedUserOp(info){return await this.signUserOp(await this.createUnsignedUserOp(info))}async getUserOpReceipt(userOpHash,timeout=3e4,interval=5e3){let endtime=Date.now()+timeout;for(;Date.now()<endtime;){let events=await this.entryPointView.queryFilter(this.entryPointView.filters.UserOperationEvent(userOpHash));if(events.length>0)return events[0].transactionHash;await new Promise(resolve=>setTimeout(resolve,interval))}return null}}},40975:function(__unused_webpack_module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DeterministicDeployer=void 0;let ethers_1=__webpack_require__(86623),utils_1=__webpack_require__(56371);class DeterministicDeployer{static getAddress(ctrCode,salt=0,params=[]){return DeterministicDeployer.getDeterministicDeployAddress(ctrCode,salt,params)}static async deploy(ctrCode,salt=0,params=[]){return await DeterministicDeployer.instance.deterministicDeploy(ctrCode,salt,params)}
1constructor(provider){this.provider=provider}async isContractDeployed(address){return await this.provider.getCode(address).then(code=>code.length>2)}async isDeployerDeployed(){return await this.isContractDeployed(DeterministicDeployer.proxyAddress)}async deployFactory(){if(await this.isContractDeployed(DeterministicDeployer.proxyAddress))return;let bal=await this.provider.getBalance(DeterministicDeployer.deploymentSignerAddress),neededBalance=ethers_1.BigNumber.from(DeterministicDeployer.deploymentGasLimit).mul(DeterministicDeployer.deploymentGasPrice),signer=this.provider.getSigner();if(bal.lt(neededBalance)&&await signer.sendTransaction({to:DeterministicDeployer.deploymentSignerAddress,value:neededBalance,gasLimit:DeterministicDeployer.deploymentGasLimit}),await this.provider.send("eth_sendRawTransaction",[DeterministicDeployer.deploymentTransaction]),!await this.isContractDeployed(DeterministicDeployer.proxyAddress))throw Error("raw TX didn't deploy deployer!")}async getDeployTransaction(ctrCode,salt=0,params=[]){await this.deployFactory();let saltEncoded=(0,utils_1.hexZeroPad)((0,utils_1.hexlify)(salt),32),ctrEncoded=DeterministicDeployer.getCtrCode(ctrCode,params);return{to:DeterministicDeployer.proxyAddress,data:(0,utils_1.hexConcat)([saltEncoded,ctrEncoded])}}static getCtrCode(ctrCode,params){if("string"!=typeof ctrCode)return(0,utils_1.hexlify)(ctrCode.getDeployTransaction(...params).data);if(0!==params.length)throw Error("constructor params can only be passed to ContractFactory");return ctrCode}static getDeterministicDeployAddress(ctrCode,salt=0,params=[]){let saltEncoded=(0,utils_1.hexZeroPad)((0,utils_1.hexlify)(salt),32),ctrCode1=DeterministicDeployer.getCtrCode(ctrCode,params);return"0x"+(0,utils_1.keccak256)((0,utils_1.hexConcat)(["0xff",DeterministicDeployer.proxyAddress,saltEncoded,(0,utils_1.keccak256)(ctrCode1)])).slice(-40)}async deterministicDeploy(ctrCode,salt=0,params=[]){let addr=DeterministicDeployer.getDeterministicDeployAddress(ctrCode,salt,params);return await this.isContractDeployed(addr)||await this.provider.getSigner().sendTransaction(await this.getDeployTransaction(ctrCode,salt,params)),addr}static init(provider){this._instance=new DeterministicDeployer(provider)}static get instance(){if(null==this._instance)throw Error('must call "DeterministicDeployer.init(ethers.provider)" first');return this._instance}}exports.DeterministicDeployer=DeterministicDeployer,DeterministicDeployer.proxyAddress="0x4e59b44847b379578588920ca78fbf26c0b4956c",DeterministicDeployer.deploymentTransaction="0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222",DeterministicDeployer.deploymentSignerAddress="0x3fab184622dc19b6109349b94811493bf2a45362",DeterministicDeployer.deploymentGasPrice=1e11,DeterministicDeployer.deploymentGasLimit=1e5},89350:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ERC4337EthersProvider=void 0;let providers_1=__webpack_require__(5897),ethers_1=__webpack_require__(86623),utils_1=__webpack_require__(56371),ERC4337EthersSigner_1=__webpack_require__(13991),UserOperationEventListener_1=__webpack_require__(73262),utils_2=__webpack_require__(16236),debug_1=__importDefault(__webpack_require__(11227)),debug=(0,debug_1.default)("aa.provider");class ERC4337EthersProvider extends providers_1.BaseProvider{constructor(chainId,config,originalSigner,originalProvider,httpRpcClient,entryPoint,smartAccountAPI){super({name:"ERC-4337 Custom Network",chainId}),this.chainId=chainId,this.config=config,this.originalSigner=originalSigner,this.originalProvider=originalProvider,this.httpRpcClient=httpRpcClient,this.entryPoint=entryPoint,this.smartAccountAPI=smartAccountAPI,this.signer=new ERC4337EthersSigner_1.ERC4337EthersSigner(config,originalSigner,this,httpRpcClient,smartAccountAPI)}
1async init(){return this.initializedBlockNumber=await this.originalProvider.getBlockNumber(),await this.smartAccountAPI.init(),this}getSigner(){return this.signer}async perform(method,params){if(debug("perform",method,params),"sendTransaction"===method||"getTransactionReceipt"===method)throw Error("Should not get here. Investigate.");return await this.originalProvider.perform(method,params)}async getTransaction(transactionHash){return await super.getTransaction(transactionHash)}async getTransactionReceipt(transactionHash){let userOpHash=await transactionHash,sender=await this.getSenderAccountAddress();return await new Promise((resolve,reject)=>{new UserOperationEventListener_1.UserOperationEventListener(resolve,reject,this.entryPoint,sender,userOpHash).start()})}async getSenderAccountAddress(){return await this.smartAccountAPI.getAccountAddress()}async waitForTransaction(transactionHash,confirmations,timeout){let sender=await this.getSenderAccountAddress();return await new Promise((resolve,reject)=>{let listener=new UserOperationEventListener_1.UserOperationEventListener(resolve,reject,this.entryPoint,sender,transactionHash,void 0,timeout);listener.start()})}async constructUserOpTransactionResponse(userOp1){let userOp=await (0,utils_1.resolveProperties)(userOp1),userOpHash=(0,utils_2.getUserOpHash)(userOp,this.config.entryPointAddress,this.chainId),waitPromise=new Promise((resolve,reject)=>{new UserOperationEventListener_1.UserOperationEventListener(resolve,reject,this.entryPoint,userOp.sender,userOpHash,userOp.nonce).start()});return{hash:userOpHash,confirmations:0,from:userOp.sender,nonce:ethers_1.BigNumber.from(userOp.nonce).toNumber(),gasLimit:ethers_1.BigNumber.from(userOp.callGasLimit),value:ethers_1.BigNumber.from(0),data:(0,utils_1.hexValue)(userOp.callData),chainId:this.chainId,wait:async confirmations=>{let transactionReceipt=await waitPromise;return 0!==userOp.initCode.length&&await this.smartAccountAPI.checkAccountPhantom(),transactionReceipt}}}async detectNetwork(){return this.originalProvider.detectNetwork()}}exports.ERC4337EthersProvider=ERC4337EthersProvider},13991:function(__unused_webpack_module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ERC4337EthersSigner=void 0;let properties_1=__webpack_require__(6881),abstract_signer_1=__webpack_require__(48088);class ERC4337EthersSigner extends abstract_signer_1.Signer{constructor(config,originalSigner,erc4337provider,httpRpcClient,smartAccountAPI){super(),this.config=config,this.originalSigner=originalSigner,this.erc4337provider=erc4337provider,this.httpRpcClient=httpRpcClient,this.smartAccountAPI=smartAccountAPI,(0,properties_1.defineReadOnly)(this,"provider",erc4337provider)}async sendTransaction(transaction){var _a,_b,_c;let tx=await this.populateTransaction(transaction);await this.verifyAllNecessaryFields(tx);let userOperation=await this.smartAccountAPI.createSignedUserOp({target:null!==(_a=tx.to)&&void 0!==_a?_a:"",data:null!==(_c=null===(_b=tx.data)||void 0===_b?void 0:_b.toString())&&void 0!==_c?_c:"",value:tx.value,gasLimit:tx.gasLimit}),transactionResponse=await this.erc4337provider.constructUserOpTransactionResponse(userOperation);try{await this.httpRpcClient.sendUserOpToBundler(userOperation)}catch(error){throw this.unwrapError(error)}return transactionResponse}unwrapError(errorIn){var _a;if(null!=errorIn.body){let errorBody=JSON.parse(errorIn.body),paymasterInfo="",failedOpMessage=null===(_a=null==errorBody?void 0:errorBody.error)||void 0===_a?void 0:_a.message;if((null==failedOpMessage?void 0:failedOpMessage.includes("FailedOp"))===!0){let matched=failedOpMessage.match(/FailedOp\((.*)\)/);if(null!=matched){let split=matched[1].split(",");paymasterInfo=`(paymaster address: ${split[1]})`,failedOpMessage=split[2]}}let error=Error(`The bundler has failed to include UserOperation in a batch: ${failedOpMessage} ${paymasterInfo})`);return error.stack=errorIn.stack,error}return errorIn}async verifyAllNecessaryFields(transactionRequest){if(null==transactionRequest.to)throw Error("Missing call target");if(null==transactionRequest.data&&null==transactionRequest.value)throw Error("Missing call data or value")}connect(provider){throw Error("changing providers is not supported")}async getAddress(){return null==this.address&&(this.address=await this.erc4337provider.getSenderAccountAddress()),this.address}async signMessage(message){return await this.originalSigner.sign
1Message(message)}async signTransaction(transaction){throw Error("not implemented")}async signUserOperation(userOperation){let message=await this.smartAccountAPI.getUserOpHash(userOperation);return await this.originalSigner.signMessage(message)}}exports.ERC4337EthersSigner=ERC4337EthersSigner},41195:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpRpcClient=void 0;let ethers_1=__webpack_require__(86623),utils_1=__webpack_require__(56371),debug_1=__importDefault(__webpack_require__(11227)),utils_2=__webpack_require__(16236),debug=(0,debug_1.default)("aa.rpc");exports.HttpRpcClient=class{constructor(bundlerUrl,entryPointAddress,chainId){this.bundlerUrl=bundlerUrl,this.entryPointAddress=entryPointAddress,this.chainId=chainId,this.userOpJsonRpcProvider=new ethers_1.ethers.providers.JsonRpcProvider(this.bundlerUrl,{name:"Connected bundler network",chainId}),this.initializing=this.validateChainId()}async validateChainId(){let chain=await this.userOpJsonRpcProvider.send("eth_chainId",[]),bundlerChain=parseInt(chain);if(bundlerChain!==this.chainId)throw Error(`bundler ${this.bundlerUrl} is on chainId ${bundlerChain}, but provider is on chainId ${this.chainId}`)}async sendUserOpToBundler(userOp1){await this.initializing;let hexifiedUserOp=(0,utils_2.deepHexlify)(await (0,utils_1.resolveProperties)(userOp1)),jsonRequestData=[hexifiedUserOp,this.entryPointAddress];return await this.printUserOperation("eth_sendUserOperation",jsonRequestData),await this.userOpJsonRpcProvider.send("eth_sendUserOperation",[hexifiedUserOp,this.entryPointAddress])}async estimateUserOpGas(userOp1){await this.initializing;let hexifiedUserOp=(0,utils_2.deepHexlify)(await (0,utils_1.resolveProperties)(userOp1)),jsonRequestData=[hexifiedUserOp,this.entryPointAddress];return await this.printUserOperation("eth_estimateUserOperationGas",jsonRequestData),await this.userOpJsonRpcProvider.send("eth_estimateUserOperationGas",[hexifiedUserOp,this.entryPointAddress])}async printUserOperation(method,[userOp1,entryPointAddress]){let userOp=await (0,utils_1.resolveProperties)(userOp1);debug("sending",method,Object.assign({},userOp),entryPointAddress)}}},17453:function(__unused_webpack_module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PaymasterAPI=void 0,exports.PaymasterAPI=class{async getPaymasterAndData(userOp){return"0x"}}},8727:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.wrapProvider=void 0;let contracts_1=__webpack_require__(51364),SimpleAccountAPI_1=__webpack_require__(71552),ERC4337EthersProvider_1=__webpack_require__(89350),HttpRpcClient_1=__webpack_require__(41195),DeterministicDeployer_1=__webpack_require__(40975),debug_1=__importDefault(__webpack_require__(11227)),debug=(0,debug_1.default)("aa.wrapProvider");async function wrapProvider(originalProvider,config,originalSigner=originalProvider.getSigner()){let entryPoint=contracts_1.EntryPoint__factory.connect(config.entryPointAddress,originalProvider),detDeployer=new DeterministicDeployer_1.DeterministicDeployer(originalProvider),SimpleAccountFactory=await detDeployer.deterministicDeploy(new contracts_1.SimpleAccountFactory__factory,0,[entryPoint.address]),smartAccountAPI=new SimpleAccountAPI_1.SimpleAccountAPI({provider:originalProvider,entryPointAddress:entryPoint.address,owner:originalSigner,factoryAddress:SimpleAccountFactory,paymasterAPI:config.paymasterAPI});debug("config=",config);let chainId=await originalProvider.getNetwork().then(net=>net.chainId),httpRpcClient=new HttpRpcClient_1.HttpRpcClient(config.bundlerUrl,config.entryPointAddress,chainId);return await new ERC4337EthersProvider_1.ERC4337EthersProvider(chainId,config,originalSigner,originalProvider,httpRpcClient,entryPoint,smartAccountAPI).init()}exports.wrapProvider=wrapProvider},71552:function(__unused_webpack_module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SimpleAccountAPI=void 0;let ethers_1=__webpack_require__(86623),contracts_1=__webpack_require__(51364),utils_1=__webpack_require__(56371),BaseAccountAPI_1=__webpack_require__(76237);class SimpleAccountAPI extends BaseAccountAPI_1.BaseAccountAPI{constructor(params){var _a;super(params),this.factoryAddress=params.factoryAddress,this.owner=params.owner,this.index=null!==(_a=
1params.index)&&void 0!==_a?_a:0}async _getAccountContract(){return null==this.accountContract&&(this.accountContract=contracts_1.SimpleAccount__factory.connect(await this.getAccountAddress(),this.provider)),this.accountContract}async getAccountInitCode(){if(null==this.factory){if(null!=this.factoryAddress&&""!==this.factoryAddress)this.factory=contracts_1.SimpleAccountFactory__factory.connect(this.factoryAddress,this.provider);else throw Error("no factory to get initCode")}return(0,utils_1.hexConcat)([this.factory.address,this.factory.interface.encodeFunctionData("createAccount",[await this.owner.getAddress(),this.index])])}async getNonce(){if(await this.checkAccountPhantom())return ethers_1.BigNumber.from(0);let accountContract=await this._getAccountContract();return await accountContract.nonce()}async encodeExecute(target,value,data){let accountContract=await this._getAccountContract();return accountContract.interface.encodeFunctionData("execute",[target,value,data])}async signUserOpHash(userOpHash){return await this.owner.signMessage((0,utils_1.arrayify)(userOpHash))}}exports.SimpleAccountAPI=SimpleAccountAPI},73262:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserOperationEventListener=void 0;let utils_1=__webpack_require__(56371),debug_1=__importDefault(__webpack_require__(11227)),debug=(0,debug_1.default)("aa.listener");exports.UserOperationEventListener=class{constructor(resolve,reject,entryPoint,sender,userOpHash,nonce,timeout){var _a;this.resolve=resolve,this.reject=reject,this.entryPoint=entryPoint,this.sender=sender,this.userOpHash=userOpHash,this.nonce=nonce,this.timeout=timeout,this.resolved=!1,this.boundLisener=this.listenerCallback.bind(this),setTimeout(()=>{this.stop(),this.reject(Error("Timed out"))},null!==(_a=this.timeout)&&void 0!==_a?_a:1e4)}start(){let filter=this.entryPoint.filters.UserOperationEvent(this.userOpHash);setTimeout(async()=>{let res=await this.entryPoint.queryFilter(filter,"latest");res.length>0?this.listenerCallback(res[0]):this.entryPoint.once(filter,this.boundLisener)},100)}stop(){this.entryPoint.off("UserOperationEvent",this.boundLisener)}async listenerCallback(...param){var _a;let event=arguments[arguments.length-1];if(null==event.args){console.error("got event without args",event);return}if(event.args.userOpHash!==this.userOpHash){console.log(`== event with wrong userOpHash: sender/nonce: event.${event.args.sender}@${event.args.nonce.toString()}!= userOp.${this.sender}@${parseInt(null===(_a=this.nonce)||void 0===_a?void 0:_a.toString())}`);return}let transactionReceipt=await event.getTransactionReceipt();transactionReceipt.transactionHash=this.userOpHash,debug("got event with status=",event.args.success,"gasUsed=",transactionReceipt.gasUsed),event.args.success||await this.extractFailureReason(transactionReceipt),this.stop(),this.resolve(transactionReceipt),this.resolved=!0}async extractFailureReason(receipt){debug("mark tx as failed"),receipt.status=0;let revertReasonEvents=await this.entryPoint.queryFilter(this.entryPoint.filters.UserOperationRevertReason(this.userOpHash,this.sender),receipt.blockHash);if(null!=revertReasonEvents[0]){let message=revertReasonEvents[0].args.revertReason;message.startsWith("0x08c379a0")&&(message=utils_1.defaultAbiCoder.decode(["string"],"0x"+message.substring(10)).toString()),debug(`rejecting with reason: ${message}`),this.reject(Error(`UserOp failed with reason: ${message}`))}}}},2151:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var Buffer=__webpack_require__(48764).Buffer;Object.defineProperty(exports,"__esModule",{value:!0}),exports.calcPreVerificationGas=exports.DefaultGasOverheads=void 0;let utils_1=__webpack_require__(16236),utils_2=__webpack_require__(56371);exports.DefaultGasOverheads={fixed:21e3,perUserOp:18300,perUserOpWord:4,zeroByte:4,nonZeroByte:16,bundleSize:1,sigSize:65},exports.calcPreVerificationGas=function(userOp,overheads){let ov=Object.assign(Object.assign({},exports.DefaultGasOverheads),null!=overheads?overheads:{}),p=Object.assign({preVerificationGas:21e3,signature:(0,utils_2.hexlify)(Buffer.alloc(ov.sigSize,1))},userOp),packed=(0,utils_2.arrayify)((0,utils_1.packUserOp)(p,!1)),lengthInWord=(packed.length+31)/32,callDataCost=packed.map(x=>0===x?ov.zeroByte:ov.nonZeroByte).reduce((sum,x)=>sum+x),ret=Math.round(callDataCost+ov.fixed/ov.bundleSize+ov.perUserOp+ov.per
1UserOpWord*lengthInWord);return ret}},74064:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports,p)||__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DeterministicDeployer=exports.HttpRpcClient=exports.ERC4337EthersProvider=exports.ERC4337EthersSigner=exports.wrapProvider=exports.PaymasterAPI=exports.SimpleAccountAPI=void 0;var SimpleAccountAPI_1=__webpack_require__(71552);Object.defineProperty(exports,"SimpleAccountAPI",{enumerable:!0,get:function(){return SimpleAccountAPI_1.SimpleAccountAPI}});var PaymasterAPI_1=__webpack_require__(17453);Object.defineProperty(exports,"PaymasterAPI",{enumerable:!0,get:function(){return PaymasterAPI_1.PaymasterAPI}});var Provider_1=__webpack_require__(8727);Object.defineProperty(exports,"wrapProvider",{enumerable:!0,get:function(){return Provider_1.wrapProvider}});var ERC4337EthersSigner_1=__webpack_require__(13991);Object.defineProperty(exports,"ERC4337EthersSigner",{enumerable:!0,get:function(){return ERC4337EthersSigner_1.ERC4337EthersSigner}});var ERC4337EthersProvider_1=__webpack_require__(89350);Object.defineProperty(exports,"ERC4337EthersProvider",{enumerable:!0,get:function(){return ERC4337EthersProvider_1.ERC4337EthersProvider}});var HttpRpcClient_1=__webpack_require__(41195);Object.defineProperty(exports,"HttpRpcClient",{enumerable:!0,get:function(){return HttpRpcClient_1.HttpRpcClient}});var DeterministicDeployer_1=__webpack_require__(40975);Object.defineProperty(exports,"DeterministicDeployer",{enumerable:!0,get:function(){return DeterministicDeployer_1.DeterministicDeployer}}),__exportStar(__webpack_require__(2151),exports)},93465:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var _a,Buffer=__webpack_require__(48764).Buffer,__importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveHexlify=exports.deepHexlify=exports.rethrowError=exports.decodeErrorReason=exports.getUserOpHash=exports.packUserOp=exports.AddressZero=void 0;let utils_1=__webpack_require__(56371),IEntryPoint_json_1=__webpack_require__(79154),ethers_1=__webpack_require__(86623),debug_1=__importDefault(__webpack_require__(11227)),debug=(0,debug_1.default)("aa.utils"),validateUserOpMethod="simulateValidation",UserOpType=null===(_a=IEntryPoint_json_1.abi.find(entry=>entry.name===validateUserOpMethod))||void 0===_a?void 0:_a.inputs[0];if(null==UserOpType)throw Error(`unable to find method ${validateUserOpMethod} in EP ${IEntryPoint_json_1.abi.filter(x=>"function"===x.type).map(x=>x.name).join(",")}`);function packUserOp(op,forSignature=!0){if(forSignature){let encoded=utils_1.defaultAbiCoder.encode([{components:[{type:"address",name:"sender"},{type:"uint256",name:"nonce"},{type:"bytes",name:"initCode"},{type:"bytes",name:"callData"},{type:"uint256",name:"callGasLimit"},{type:"uint256",name:"verificationGasLimit"},{type:"uint256",name:"preVerificationGas"},{type:"uint256",name:"maxFeePerGas"},{type:"uint256",name:"maxPriorityFeePerGas"},{type:"bytes",name:"paymasterAndData"},{type:"bytes",name:"signature"}],name:"userOp",type:"tuple"}],[Object.assign(Object.assign({},op),{signature:"0x"})]);return"0x"+encoded.slice(66,encoded.length-64)}let typevalues=UserOpType.components.map(c=>({type:c.type,val:op[c.name]}));return function(typevalues,forSignature){let types=typevalues.map(typevalue=>"bytes"===typevalue.type&&forSignature?"bytes32":typevalue.type),values=typevalues.map(typevalue=>"bytes"===typevalue.type&&forSignature?(0,utils_1.keccak256)(typevalue.val):typevalue.val);return utils_1.defaultAbiCoder.encode(types,values)}(typevalues,forSignature)}exports.AddressZero=ethers_1.ethers.constants.AddressZero,exports.packUserOp=packUserOp,exports.getUserOpHash=function(op,entryPoint,chainId){let userOpHash=(0,utils_1.keccak256)(packUserOp(op,!0)),enc=utils_1.defaultAbiCoder.encode(["bytes32","address","uint256"],[userOpHash,entryPoint,chainId]);return(0,utils_1.keccak256)(enc)};let ErrorSig=(0,utils_1.keccak256)(Buffer.from("Error(string)")).slice(0,10),FailedOpSig=(0,utils_1.keccak256)(Buffer.from("FailedOp(uint256,string)")).slice(0,10);function decodeErrorReason(error){if(debug("decoding",error),error.startsWith(ErrorSig)){let[message]=utils_1.defaultAbiCoder.decode(["string"],"0x"+error.substring(10));return{message}}if(error.startsWith(FailedOpSig)){let[opIndex,message1]=utils_1.defaultAbiCoder.decode(["uint256","string"],"0x"+error.substring(10));return message1=`FailedOp: ${message1}`,{message:message1,opIndex}}}function deepHexlify(obj){return"function"==typeof obj?void 0:null==obj||"string"==typeof obj||"boolean"==typeof obj?obj:null!=obj._isBigNumber||"object"!=typeof obj?(0,utils_1.hexlify)(obj).replace(/^0x0/,"0x"):Array.isArray(obj)?obj.map(member=>deepHexlify(member)):Object.keys(obj).reduce((set,key)=>Object.assign(Object.assign({},set),{[key]:deepHexlify(obj[key])}),{})}async function resolveHexlify(a){return deepHexlify(await (0,utils_1.resolveProperties)(a))}exports.decodeErrorReason=decodeErrorReason,exports.rethrowError=function(e){let error=e,parent=e;for((null==error?void 0:error.error)!=null&&(error=error.error);(null==error?void 0:error.data)!=null;)parent=error,error=error.data;
1let decoded="string"==typeof error&&error.length>2?decodeErrorReason(error):void 0;if(null!=decoded&&(e.message=decoded.message,null!=decoded.opIndex)){let errorWithMsg=(0,utils_1.hexConcat)([ErrorSig,utils_1.defaultAbiCoder.encode(["string"],[decoded.message])]);parent.data=errorWithMsg}throw e},exports.deepHexlify=deepHexlify,exports.resolveHexlify=resolveHexlify},78375:function(__unused_webpack_module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.erc4337RuntimeVersion=void 0,exports.erc4337RuntimeVersion=__webpack_require__(17803).version},16236:function(__unused_webpack_module,exports,__webpack_require__){"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=this&&this.__exportStar||function(m,exports){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports,p)||__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(__webpack_require__(78375),exports),__exportStar(__webpack_require__(93465),exports)},53841:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{SmartWalletConnector:function(){return SmartWalletConnector}});var defineProperty_c8ecdc07_browser_esm=__webpack_require__(42009),connector_c1e1817a_browser_esm=__webpack_require__(61322),src=__webpack_require__(74064),lib_esm=__webpack_require__(6881),bytes_lib_esm=__webpack_require__(16441),abstract_signer_lib_esm=__webpack_require__(48088),base_provider=__webpack_require__(97013),bignumber=__webpack_require__(2593),json_rpc_provider=__webpack_require__(82169),addresses=__webpack_require__(9279),utf8=__webpack_require__(29251),utils=__webpack_require__(56371),browser_ponyfill=__webpack_require__(54098),browser_ponyfill_default=__webpack_require__.n(browser_ponyfill),dist=__webpack_require__(51364),dist_src=__webpack_require__(16236),contract_metadata_88f06ef9_browser_esm=__webpack_require__(3983),thirdweb_dev_chains_browser_esm=__webpack_require__(6475);__webpack_require__(65007);var Buffer=__webpack_require__(53376).lW;async function getUserOpHashV06(userOp,entryPoint,chainId){let op=await (0,utils.resolveProperties)(userOp),hashedUserOp={sender:op.sender,nonce:op.nonce,initCodeHash:(0,utils.keccak256)(op.initCode),callDataHash:(0,utils.keccak256)(op.callData),callGasLimit:op.callGasLimit,verificationGasLimit:op.verificationGasLimit,preVerificationGas:op.preVerificationGas,maxFeePerGas:op.maxFeePerGas,maxPriorityFeePerGas:op.maxPriorityFeePerGas,paymasterAndDataHash:(0,utils.keccak256)(op.paymasterAndData)},encoded=utils.defaultAbiCoder.encode([{components:[{type:"address",name:"sender"},{type:"uint256",name:"nonce"},{type:"bytes32",name:"initCodeHash"},{type:"bytes32",name:"callDataHash"},{type:"uint256",name:"callGasLimit"},{type:"uint256",name:"verificationGasLimit"},{type:"uint256",name:"preVerificationGas"},{type:"uint256",name:"maxFeePerGas"},{type:"uint256",name:"maxPriorityFeePerGas"},{type:"bytes32",name:"paymasterAndDataHash"}],name:"hashedUserOp",type:"tuple"}],[{...hashedUserOp}]),userOpHash=(0,utils.keccak256)(encoded),enc=utils.defaultAbiCoder.encode(["bytes32","address","uint256"],[userOpHash,entryPoint,chainId]);return(0,utils.keccak256)(enc)}class VerifyingPaymasterAPI extends src.PaymasterAPI{constructor(paymasterUrl,entryPoint,apiKey){super(),(0,defineProperty_c8ecdc07_browser_esm._)(this,"paymasterUrl",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"entryPoint",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"apiKey",void 0),this.paymasterUrl=paymasterUrl,this.entryPoint=entryPoint,this.apiKey=apiKey}async getPaymasterAndData(userOp){try{let response=await browser_ponyfill_default()(this.paymasterUrl,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":this.apiKey},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"pm_sponsorUserOperation",params:[await lib_esm.resolveProperties(userOp).then(userOp=>Object.keys(userOp).map(key=>{let val=userOp[key];return"string"==typeof val&&val.startsWith("0x")||(val=bytes_lib_esm.hexValue(val)),[key,val]}).reduce((set,_ref)=>{let[k,v]=_ref;return{...set,[k]:v}},{})),{entryPoint:this.entryPoint}]})}),res=await response.json();if(res.result){let result=res.result.paymasterAndData||res.result;return result.toString()}throw Error(`Paymaster returned no result from: ${this.paymasterUrl}`)}catch(e){throw console.error("PM - error",e.result?.error||e),e}}}
1let getVerifyingPaymaster=(paymasterUrl,entryPoint,apiKey)=>new VerifyingPaymasterAPI(paymasterUrl,entryPoint,apiKey);class UserOperationEventListener{constructor(resolve,reject,entryPoint,sender,userOpHash,nonce,timeout){this.resolve=resolve,this.reject=reject,this.entryPoint=entryPoint,this.sender=sender,this.userOpHash=userOpHash,this.nonce=nonce,this.timeout=timeout,(0,defineProperty_c8ecdc07_browser_esm._)(this,"resolved",!1),(0,defineProperty_c8ecdc07_browser_esm._)(this,"boundLisener",void 0),this.boundLisener=this.listenerCallback.bind(this)}start(){let filter=this.entryPoint.filters.UserOperationEvent(this.userOpHash);setTimeout(async()=>{let res=await this.entryPoint.queryFilter(filter,"latest");res.length>0?this.listenerCallback(res[0]):this.entryPoint.once(filter,this.boundLisener)},100)}stop(){this.entryPoint.off("UserOperationEvent",this.boundLisener)}async listenerCallback(){for(var _len=arguments.length,param=Array(_len),_key=0;_key<_len;_key++)param[_key]=arguments[_key];let event=arguments[arguments.length-1];if(!event.args){console.error("got event without args",event);return}if(event.args.userOpHash!==this.userOpHash){console.log(`== event with wrong userOpHash: sender/nonce: event.${event.args.sender}@${event.args.nonce.toString()}!= userOp.${this.sender}@${parseInt(this.nonce?.toString())}`);return}let transactionReceipt=await event.getTransactionReceipt();event.args.success||await this.extractFailureReason(transactionReceipt),this.stop(),this.resolve(transactionReceipt),this.resolved=!0}async extractFailureReason(receipt){receipt.status=0;let revertReasonEvents=await this.entryPoint.queryFilter(this.entryPoint.filters.UserOperationRevertReason(this.userOpHash,this.sender),receipt.blockHash);if(revertReasonEvents[0]){let message=revertReasonEvents[0].args.revertReason;message.startsWith("0x08c379a0")&&(message=utils.defaultAbiCoder.decode(["string"],"0x"+message.substring(10)).toString()),this.reject(Error(`UserOp failed with reason: ${message}`))}}}class ERC4337EthersSigner extends abstract_signer_lib_esm.Signer{constructor(config,originalSigner,erc4337provider,httpRpcClient,smartAccountAPI){super(),(0,defineProperty_c8ecdc07_browser_esm._)(this,"config",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"originalSigner",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"erc4337provider",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"httpRpcClient",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"smartAccountAPI",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"address",void 0),(0,utils.defineReadOnly)(this,"provider",erc4337provider),this.config=config,this.originalSigner=originalSigner,this.erc4337provider=erc4337provider,this.httpRpcClient=httpRpcClient,this.smartAccountAPI=smartAccountAPI}async sendTransaction(transaction){let batched=arguments.length>1&&void 0!==arguments[1]&&arguments[1],tx=await lib_esm.resolveProperties(transaction);await this.verifyAllNecessaryFields(tx);let userOperation=await this.smartAccountAPI.createSignedUserOp({target:tx.to??"",data:tx.data?.toString()??"",value:tx.value,gasLimit:tx.gasLimit},batched),transactionResponse=await this.erc4337provider.constructUserOpTransactionResponse(userOperation);try{await this.httpRpcClient.sendUserOpToBundler(userOperation)}catch(error){throw this.unwrapError(error)}return transactionResponse}unwrapError(errorIn){try{if(errorIn.error){let error=Error(`The bundler has failed to include UserOperation in a batch: ${errorIn.error}`);return error.stack=errorIn.stack,error}if(errorIn.body&&"object"==typeof errorIn.body){let errorBody=JSON.parse(errorIn.body),paymasterInfo="",failedOpMessage=errorBody?.error?.message||errorBody?.error?.data;if(!0===failedOpMessage?.includes("FailedOp")){let matched=failedOpMessage.match(/FailedOp\((.*)\)/);if(matched){let split=matched[1].split(",");paymasterInfo=`(paymaster address: ${split[1]})`,failedOpMessage=split[2]}}let error1=Error(`The bundler has failed to include UserOperation in a batch: ${failedOpMessage} ${paymasterInfo}`);return error1.stack=errorIn.stack,error1}}catch(error2){}return errorIn}async verifyAllNecessaryFields(transactionRequest){if(!transactionRequest.to)throw Error("Missing call target");if(!transactionRequest.data&&!transactionRequest.value)throw Error("Missing call data or value")}connect(provider){throw Error("changing providers is not supported")}async getAddress(){return this.address||(this.address=await this.erc4337provider.getSenderAccountAddress()),this.address}async signMessage(message){let isNotDeployed=await this.smartAccountAPI.checkAccountPhantom();if(isNotDeployed){console.log("Account contract not deployed yet. Deploying account before signing message");let tx=await this.sendTransaction({to:await this.getAddress(),data:"0x"});await tx.wait()}
1return await this.originalSigner.signMessage(message)}async signTransaction(transaction){throw Error("not implemented")}}class ERC4337EthersProvider extends base_provider.Zk{constructor(chainId,config,originalSigner,originalProvider,httpRpcClient,entryPoint,smartAccountAPI){super({name:"ERC-4337 Custom Network",chainId}),this.chainId=chainId,this.config=config,this.originalSigner=originalSigner,this.originalProvider=originalProvider,this.httpRpcClient=httpRpcClient,this.entryPoint=entryPoint,this.smartAccountAPI=smartAccountAPI,(0,defineProperty_c8ecdc07_browser_esm._)(this,"initializedBlockNumber",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"signer",void 0),this.signer=new ERC4337EthersSigner(config,originalSigner,this,httpRpcClient,smartAccountAPI)}async init(){return this.initializedBlockNumber=await this.originalProvider.getBlockNumber(),await this.smartAccountAPI.init(),this}getSigner(){return this.signer}async perform(method,params){if("sendTransaction"===method||"getTransactionReceipt"===method)throw Error("Should not get here. Investigate.");if("estimateGas"===method){let{callGasLimit}=await this.smartAccountAPI.encodeUserOpCallDataAndGasLimit({target:params.transaction.to,data:params.transaction.data,value:params.transaction.value,gasLimit:params.transaction.gasLimit},!1);return callGasLimit}return await this.originalProvider.perform(method,params)}async getTransaction(transactionHash){return await super.getTransaction(transactionHash)}async getTransactionReceipt(transactionHash){let userOpHash=await transactionHash,sender=await this.get
1SenderAccountAddress();return await new Promise((resolve,reject)=>{new UserOperationEventListener(resolve,reject,this.entryPoint,sender,userOpHash).start()})}async getSenderAccountAddress(){return await this.smartAccountAPI.getAccountAddress()}async waitForTransaction(transactionHash,confirmations,timeout){let sender=await this.getSenderAccountAddress();return await new Promise((resolve,reject)=>{let listener=new UserOperationEventListener(resolve,reject,this.entryPoint,sender,transactionHash,void 0,timeout);listener.start()})}async constructUserOpTransactionResponse(userOp1){let userOp=await (0,utils.resolveProperties)(userOp1),userOpHash=await this.smartAccountAPI.getUserOpHash(userOp),waitForUserOp=async()=>await new Promise((resolve,reject)=>{new UserOperationEventListener(resolve,reject,this.entryPoint,userOp.sender,userOpHash,userOp.nonce).start()});return{hash:userOpHash,confirmations:0,from:userOp.sender,nonce:bignumber.O$.from(userOp.nonce).toNumber(),gasLimit:bignumber.O$.from(userOp.callGasLimit),value:bignumber.O$.from(0),data:(0,utils.hexValue)(userOp.callData),chainId:this.chainId,wait:async confirmations=>{let transactionReceipt=await waitForUserOp();return 0!==userOp.initCode.length&&await this.smartAccountAPI.checkAccountPhantom(),transactionReceipt}}}async detectNetwork(){return this.originalProvider.detectNetwork()}}class HttpRpcClient{constructor(bundlerUrl,entryPointAddress,chainId,apiKey){(0,defineProperty_c8ecdc07_browser_esm._)(this,"userOpJsonRpcProvider",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"initializing",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"bundlerUrl",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"entryPointAddress",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"chainId",void 0),this.bundlerUrl=bundlerUrl,this.entryPointAddress=entryPointAddress,this.chainId=chainId,this.userOpJsonRpcProvider=new json_rpc_provider.r({url:this.bundlerUrl,headers:{"x-api-key":apiKey}},{name:"Connected bundler network",chainId}),this.initializing=this.validateChainId()}async validateChainId(){let chain=await this.userOpJsonRpcProvider.send("eth_chainId",[]),bundlerChain=parseInt(chain);if(bundlerChain!==this.chainId)throw Error(`bundler ${this.bundlerUrl} is on chainId ${bundlerChain}, but provider is on chainId ${this.chainId}`)}async sendUserOpToBundler(userOp1){await this.initializing;let hexifiedUserOp=(0,dist_src.deepHexlify)(await (0,utils.resolveProperties)(userOp1)),jsonRequestData=[hexifiedUserOp,this.entryPointAddress];return await this.printUserOperation("eth_sendUserOperation",jsonRequestData),await this.userOpJsonRpcProvider.send("eth_sendUserOperation",[hexifiedUserOp,this.entryPointAddress])}async estimateUserOpGas(userOp1){await this.initializing;let hexifiedUserOp=(0,dist_src.deepHexlify)(await (0,utils.resolveProperties)(userOp1)),jsonRequestData=[hexifiedUserOp,this.entryPointAddress];return await this.printUserOperation("eth_estimateUserOperationGas",jsonRequestData),await this.userOpJsonRpcProvider.send("eth_estimateUserOperationGas",[hexifiedUserOp,this.entryPointAddress])}async printUserOperation(method,_ref){}}async function create4337Provider(config,accountApi,originalProvider){let entryPoint=dist.EntryPoint__factory.connect(config.entryPointAddress,originalProvider),chainId=(await originalProvider.getNetwork()).chainId,httpRpcClient=new HttpRpcClient(config.bundlerUrl,config.entryPointAddress,chainId,config.thirdwebApiKey);return await new ERC4337EthersProvider(chainId,config,config.localSigner,originalProvider,httpRpcClient,entryPoint,accountApi).init()}let MINIMAL_ACCOUNT_ABI=[{inputs:[{internalType:"address",name:"_target",type:"address"},{internalType:"uint256",name:"_value",type:"uint256"},{internalType:"bytes",name:"_calldata",type:"bytes"}],name:"execute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_target",type:"address[]"},{internalType:"uint256[]",name:"_value",type:"uint256[]"},{internalType:"bytes[]",name:"_calldata",type:"bytes[]"}],name:"executeBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class BaseAccountAPI{constructor(params){(0,defineProperty_c8ecdc07_browser_esm._)(this,"senderAddress",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"isPhantom",!0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"entryPointView",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"provider",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"overheads",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"entryPointAddress",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"accountAddress",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"paymasterAPI",void 0),this.provider=params.provider,this.overheads=params.overheads,this.entryPointAddress=params.entryPointAddress,this.accountAddress=params.accountAddress,this.paymasterAPI=params.paymasterAPI,this.entryPointView=dist.EntryPoint__factory.connect(params.entryPointAddress,params.provider).connect(addresses.d)}
1async init(){if(await this.provider.getCode(this.entryPointAddress)==="0x")throw Error(`entryPoint not deployed at ${this.entryPointAddress}`);return await this.getAccountAddress(),this}async checkAccountPhantom(){if(!this.isPhantom)return this.isPhantom;let senderAddressCode=await this.provider.getCode(this.getAccountAddress());return senderAddressCode.length>2&&(this.isPhantom=!1),this.isPhantom}async getCounterFactualAddress(){let initCode=this.getAccountInitCode();try{await this.entryPointView.callStatic.getSenderAddress(initCode)}catch(e){return e.errorArgs.sender}throw Error("must handle revert")}async getInitCode(){return await this.checkAccountPhantom()?await this.getAccountInitCode():"0x"}async getVerificationGasLimit(){return 1e5}async getPreVerificationGas(userOp){let p=await (0,utils.resolveProperties)(userOp);return(0,src.calcPreVerificationGas)(p,this.overheads)}packUserOp(userOp){return(0,dist_src.packUserOp)(userOp,!1)}async encodeUserOpCallDataAndGasLimit(detailsForUserOp,batched){let callGasLimit;function parseNumber(a){return a&&""!==a?bignumber.O$.from(a.toString()):null}let value=parseNumber(detailsForUserOp.value)??bignumber.O$.from(0),callData=batched?detailsForUserOp.data:await this.encodeExecute(detailsForUserOp.target,value,detailsForUserOp.data),isPhantom=await this.checkAccountPhantom();return callGasLimit=isPhantom?bignumber.O$.from(5e5):parseNumber(detailsForUserOp.gasLimit)??await this.provider.estimateGas({from:this.entryPointAddress,to:this.getAccountAddress(),data:callData}),{callData,callGasLimit}}async getUserOpHash(userOp){let chainId=await this.provider.getNetwork().then(net=>net.chainId);return getUserOpHashV06(userOp,this.entryPointAddress,chainId)}async getAccountAddress(){return this.senderAddress||(this.accountAddress?this.senderAddress=this.accountAddress:this.senderAddress=await this.getCounterFactualAddress()),this.senderAddress}async estimateCreationGas(initCode){if(!initCode||"0x"===initCode)return 0;let deployerAddress=initCode.substring(0,42),deployerCallData="0x"+initCode.substring(42);return await this.provider.estimateGas({to:deployerAddress,data:deployerCallData})}async createUnsignedUserOp(info,batched){let paymasterAndData;let{callData,callGasLimit}=await this.encodeUserOpCallDataAndGasLimit(info,batched),initCode=await this.getInitCode(),initGas=await this.estimateCreationGas(initCode),verificationGasLimit=bignumber.O$.from(await this.getVerificationGasLimit()).add(initGas),{maxFeePerGas,maxPriorityFeePerGas}=info;if(!maxFeePerGas||!maxPriorityFeePerGas){let feeData=await this.provider.getFeeData();if(!maxFeePerGas){maxFeePerGas=feeData.maxFeePerGas??void 0;let network=await this.provider.getNetwork(),chainId=network.chainId;(chainId===thirdweb_dev_chains_browser_esm.Lll.chainId||chainId===thirdweb_dev_chains_browser_esm.M8s.chainId||chainId===thirdweb_dev_chains_browser_esm.m3x.chainId)&&(maxPriorityFeePerGas=maxFeePerGas)}maxPriorityFeePerGas||(maxPriorityFeePerGas=feeData.maxPriorityFeePerGas??void 0)}let partialUserOp={sender:this.getAccountAddress(),nonce:info.nonce??this.getNonce(),initCode,callData,callGasLimit,verificationGasLimit,maxFeePerGas,maxPriorityFeePerGas,paymasterAndData:"0x"},userOp=partialUserOp;if(this.paymasterAPI){try{await lib_esm.resolveProperties(userOp)}catch(_){}let pmOp={sender:userOp.sender,nonce:userOp.nonce,initCode:userOp.initCode,callData:userOp.callData,callGasLimit:userOp.callGasLimit,verificationGasLimit:userOp.verificationGasLimit,maxFeePerGas:userOp.maxFeePerGas,maxPriorityFeePerGas:userOp.maxPriorityFeePerGas,paymasterAndData:"0x0101010101010101010101010101010101010101000000000000000000000000000000000000000000000000000001010101010100000000000000000000000000000000000000000000000000000000000000000101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101",signature:bytes_lib_esm.hexlify(Buffer.alloc(65,1))};userOp=await lib_esm.resolveProperties(pmOp);let preVerificationGas=(0,src.calcPreVerificationGas)(userOp);userOp.preVerificationGas=preVerificationGas,"0x"===(paymasterAndData=await this.paymasterAPI.getPaymasterAndData(userOp))&&(paymasterAndData=void 0)}if(paymasterAndData)return userOp.paymasterAndData=paymasterAndData,{...userOp,signature:""};{let modifiedOp={...userOp,paymasterAndData:"0x"};return modifiedOp.preVerificationGas=await this.getPreVerificationGas(modifiedOp),{...modifiedOp,signature:""}}}async signUserOp(userOp){let userOpHash=await this.getUserOpHash(userOp),signature=this.signUserOpHash(userOpHash);return{...userOp,signature}}async createSignedUserOp(info,batched){return await this.signUserOp(await this.createUnsignedUserOp(info,batched))}
1async getUserOpReceipt(userOpHash){let timeout=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3e4,interval=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3,endtime=Date.now()+timeout;for(;Date.now()<endtime;){let events=await this.entryPointView.queryFilter(this.entryPointView.filters.UserOperationEvent(userOpHash));if(events.length>0)return events[0].transactionHash;await new Promise(resolve=>setTimeout(resolve,interval))}return null}}class AccountAPI extends BaseAccountAPI{constructor(params,originalProvider){super({...params,provider:originalProvider}),(0,defineProperty_c8ecdc07_browser_esm._)(this,"sdk",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"params",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"accountContract",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"factoryContract",void 0),this.params=params,this.sdk=contract_metadata_88f06ef9_browser_esm.b1.fromPrivateKey(contract_metadata_88f06ef9_browser_esm.cK,params.chain)}async getChainId(){return await this.provider.getNetwork().then(n=>n.chainId)}async getAccountContract(){return this.accountContract||(this.params.accountInfo?.abi?this.accountContract=await this.sdk.getContract(await this.getAccountAddress(),this.params.accountInfo.abi):this.accountContract=await this.sdk.getContract(await this.getAccountAddress(),MINIMAL_ACCOUNT_ABI)),this.accountContract}async getAccountInitCode(){let factory=await this.getFactoryContract();console.log("Deploying smart wallet via factory");let localSigner=await this.params.localSigner.getAddress(),tx=await this.params.factoryInfo.createAccount(factory,localSigner);try{console.log("Cost to deploy smart wallet: ",(await tx.estimateGasCost()).ether,"ETH")}catch(e){console.error("Cost to deploy smart wallet: unknown",e)}return(0,utils.hexConcat)([factory.getAddress(),tx.encode()])}async getFactoryContract(){return this.factoryContract||(this.params.factoryInfo?.abi?this.factoryContract=await this.sdk.getContract(this.params.factoryAddress,this.params.factoryInfo.abi):this.factoryContract=await this.sdk.getContract(this.params.factoryAddress)),this.factoryContract}async getCounterFactualAddress(){if(this.params.accountAddress)return this.params.accountAddress;let factory=await this.getFactoryContract(),localSigner=await this.params.localSigner.getAddress();return this.params.factoryInfo.getAccountAddress(factory,localSigner)}async getNonce(){if(await this.checkAccountPhantom())return bignumber.O$.from(0);let accountContract=await this.getAccountContract();return this.params.accountInfo.getNonce(accountContract)}async encodeExecute(target,value,data){let accountContract=await this.getAccountContract(),tx=await this.params.accountInfo.execute(accountContract,target,value,data);return tx.encode()}async encodeExecuteBatch(targets,values,datas){let accountContract=await this.getAccountContract(),tx=await accountContract.prepare("executeBatch",[targets,values,datas]);return tx.encode()}async signUserOpHash(userOpHash){return await this.params.localSigner.signMessage((0,utils.arrayify)(userOpHash))}async isAcountDeployed(){return!await this.checkAccountPhantom()}}class SmartWalletConnector extends connector_c1e1817a_browser_esm.C{constructor(config){super(),(0,defineProperty_c8ecdc07_browser_esm._)(this,"config",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"aaProvider",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"accountApi",void 0),(0,defineProperty_c8ecdc07_browser_esm._)(this,"personalWallet",void 0),this.config=config}async initialize(personalWallet){let config=this.config,chain="string"==typeof config.chain?config.chain:config.chain.slug,bundlerUrl=this.config.bundlerUrl||`https://${chain}.bundler.thirdweb.com`,paymasterUrl=this.config.paymasterUrl||`https://${chain}.bundler.thirdweb.com`,entryPointAddress=config.entryPointAddress||"0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",localSigner=await personalWallet.getSigner(),providerConfig={chain:config.chain,localSigner,entryPointAddress,bundlerUrl,paymasterAPI:this.config.gasless?this.config.paymasterAPI?this.config.paymasterAPI:getVerifyingPaymaster(paymasterUrl,entryPointAddress,this.config.thirdwebApiKey
1):void 0,factoryAddress:config.factoryAddress,factoryInfo:config.factoryInfo||this.defaultFactoryInfo(),accountInfo:config.accountInfo||this.defaultAccountInfo(),thirdwebApiKey:config.thirdwebApiKey},originalProvider=(0,contract_metadata_88f06ef9_browser_esm.d0)(config.chain,{thirdwebApiKey:config.thirdwebApiKey||"4f20f63d3ce0ec88eca639a291effef1559289d5614d77040d783048a4b3f316"});this.personalWallet=personalWallet;let accountApi=new AccountAPI(providerConfig,originalProvider);this.aaProvider=await create4337Provider(providerConfig,accountApi,originalProvider),this.accountApi=accountApi}async connect(connectionArgs){return await this.initialize(connectionArgs.personalWallet),await this.getAddress()}getProvider(){if(!this.aaProvider)throw Error("Personal wallet not connected");return Promise.resolve(this.aaProvider)}async getSigner(){if(!this.aaProvider)throw Error("Personal wallet not connected");return Promise.resolve(this.aaProvider.getSigner())}async getAddress(){let signer=await this.getSigner();return signer.getAddress()}async isConnected(){try{let address=await this.getAddress();return!!address}catch(e){return!1}}async disconnect(){this.personalWallet=void 0,this.aaProvider=void 0}async switchChain(chainId){let provider=await this.getProvider(),currentChainId=(await provider.getNetwork()).chainId;if(currentChainId!==chainId)throw Error("Not supported.")}setupListeners(){return Promise.resolve()}updateChains(chains){}
1async execute(transaction){let signer=await this.getSigner(),tx=await signer.sendTransaction({to:transaction.getTarget(),data:transaction.encode(),value:await transaction.getValue()}),receipt=await tx.wait();return{receipt}}async executeBatch(transactions){if(!this.accountApi)throw Error("Personal wallet not connected");let signer=await this.getSigner(),targets=transactions.map(tx=>tx.getTarget()),data=transactions.map(tx=>tx.encode()),values=transactions.map(()=>bignumber.O$.from(0)),callData=await this.accountApi.encodeExecuteBatch(targets,values,data),tx=await signer.sendTransaction({to:await signer.getAddress(),data:callData,value:0},!0),receipt=await tx.wait();return{receipt}}async deploy(){if(!this.accountApi)throw Error("Personal wallet not connected");if(await this.accountApi.isAcountDeployed())throw Error("Smart wallet already deployed");let signer=await this.getSigner(),tx=await signer.sendTransaction({to:await signer.getAddress(),data:"0x"}),receipt=await tx.wait();return{receipt}}async isDeployed(){if(!this.accountApi)throw Error("Personal wallet not connected");return await this.accountApi.isAcountDeployed()}defaultFactoryInfo(){return{createAccount:async(factory,owner)=>factory.prepare("createAccount",[owner,utf8.Y0("")]),async getAccountAddress(factory,owner){try{return await factory.call("getAddress",[owner,utf8.Y0("")])}catch(e){return console.log("Falling back to old factory"),factory.call("getAddress",[owner])}}}}defaultAccountInfo(){return{execute:async(account,target,value,data)=>account.prepare("execute",[target,value,data]),getNonce:async account=>account.call("getNonce",[])}}}},59435:function(module){function plural(ms,msAbs,n,name){return Math.round(ms/n)+" "+name+(msAbs>=1.5*n?"s":"")}module.exports=function(val,options){options=options||{};var msAbs,msAbs1,type=typeof val;if("string"===type&&val.length>0)return function(str){if(!((str=String(str)).length>100)){var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(match){var n=parseFloat(match[1]);switch((match[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*n;case"weeks":case"week":case"w":return 6048e5*n;case"days":case"day":case"d":return 864e5*n;case"hours":case"hour":case"hrs":case"hr":case"h":return 36e5*n;case"minutes":case"minute":case"mins":case"min":case"m":return 6e4*n;case"seconds":case"second":case"secs":case"sec":case"s":return 1e3*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}(val);if("number"===type&&isFinite(val))return options.long?(msAbs=Math.abs(val))>=864e5?plural(val,msAbs,864e5,"day"):msAbs>=36e5?plural(val,msAbs,36e5,"hour"):msAbs>=6e4?plural(val,msAbs,6e4,"minute"):msAbs>=1e3?plural(val,msAbs,1e3,"second"):val+" ms":(msAbs1=Math.abs(val))>=864e5?Math.round(val/864e5)+"d":msAbs1>=36e5?Math.round(val/36e5)+"h":msAbs1>=6e4?Math.round(val/6e4)+"m":msAbs1>=1e3?Math.round(val/1e3)+"s":val+"ms";throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))}},11227:function(module,exports,__webpack_require__){let warned;var process=__webpack_require__(34155);exports.formatArgs=function(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match=>{"%%"!==match&&(index++,"%c"===match&&(lastC=index))}),args.splice(lastC,0,c)},exports.save=function(namespaces){try{namespaces?exports.storage.setItem("debug",namespaces):exports.storage.removeItem("debug")}catch(error){}},exports.load=function(){let r;try{r=exports.storage.getItem("debug")}catch(error){}return!r&&void 0!==process&&"env"in process&&(r=process.env.DEBUG),r},exports.useColors=function(){return"undefined"!=typeof window&&!!window.process&&("renderer"===window.process.type||!!window.process.__nwjs)||!("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&
1("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},exports.storage=function(){try{return localStorage}catch(error){}}(),exports.destroy=(warned=!1,()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}),exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],exports.log=console.debug||console.log||(()=>{}),module.exports=__webpack_require__(82447)(exports);let{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}},82447:function(module,__unused_webpack_exports,__webpack_require__){module.exports=function(env){function createDebug(namespace){let prevTime,namespacesCache,enabledCache;let enableOverride=null;function debug(...args){if(!debug.enabled)return;let self1=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self1.diff=ms,self1.prev=prevTime,self1.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),"string"!=typeof args[0]&&args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match,format)=>{if("%%"===match)return"%";index++;let formatter=createDebug.formatters[format];if("function"==typeof formatter){let val=args[index];match=formatter.call(self1,val),args.splice(index,1),index--}return match}),createDebug.formatArgs.call(self1,args);let logFn=self1.log||createDebug.log;logFn.apply(self1,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==enableOverride?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set(v){enableOverride=v}}),"function"==typeof createDebug.init&&createDebug.init(debug),debug}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(void 0===delimiter?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}return createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=function(val){return val instanceof Error?val.stack||val.message:val},createDebug.disable=function(){let namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map(namespace=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces},createDebug.enable=function(namespaces){let i;createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=("string"==typeof namespaces?namespaces:"").split(/[\s,]+/),len=split.length;for(i=0;i<len;i++)split[i]&&("-"===(namespaces=split[i].replace(/\*/g,".*?"))[0]?createDebug.skips.push(RegExp("^"+namespaces.slice(1)+"$")):createDebug.names.push(RegExp("^"+namespaces+"$")))},createDebug.enabled=function(name){let i,len;if("*"===name[name.length-1])return!0;for(i=0,len=createDebug.skips.length;i<len;i++)if(createDebug.skips[i].test(name))return!1;for(i=0,len=createDebug.names.length;i<len;i++)if(createDebug.names[i].test(name))return!0;return!1},createDebug.humanize=__webpack_require__(59435),createDebug.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(env).forEach(key=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={},createDebug.selectColor=function(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i)|0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]},createDebug.enable(createDebug.load()),createDebug}},79154:function(module){"use strict";module.exports=JSON.parse('{"_format":"hh-sol-artifact-1","contractName":"IEntryPoint","sourceName":"contracts/interfaces/IEntryPoint.sol","abi":[{"input
1s":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"paid","type":"uint256"},{"internalType":"uint48","name":"validAfter","type":"uint48"},{"internalType":"uint48","name":"validUntil","type":"uint48"},{"internalType":"bool","name":"targetSuccess","type":"bool"},{"internalType":"bytes","name":"targetResult","type":"bytes"}],"name":"ExecutionResult","type":"error"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"name":"FailedOp","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"SenderAddressResult","type":"error"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"name":"SignatureValidationFailed","type":"error"},{"inputs":[{"components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"bool","name":"sigFailed","type":"bool"},{"internalType":"uint48","name":"validAfter","type":"uint48"},{"internalType":"uint48","name":"validUntil","type":"uint48"},{"internalType":"bytes","name":"paymasterContext","type":"bytes"}],"internalType":"struct IEntryPoint.ReturnInfo","name":"returnInfo","type":"tuple"},{"components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"internalType":"struct IStakeManager.StakeInfo","name":"senderInfo","type":"tuple"},{"components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"internalType":"struct IStakeManager.StakeInfo","name":"factoryInfo","type":"tuple"},{"components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"internalType":"struct IStakeManager.StakeInfo","name":"paymasterInfo","type":"tuple"}],"name":"ValidationResult","type":"error"},{"inputs":[{"components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"bool","name":"sigFailed","type":"bool"},{"internalType":"uint48","name":"validAfter","type":"uint48"},{"internalType":"uint48","name":"validUntil","type":"uint48"},{"internalType":"bytes","name":"paymasterContext","type":"bytes"}],"internalType":"struct IEntryPoint.ReturnInfo","name":"returnInfo","type":"tuple"},{"components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"internalType":"struct IStakeManager.StakeInfo","name":"senderInfo","type":"tuple"},{"components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"internalType":"struct IStakeManager.StakeInfo","name":"factoryInfo","type":"tuple"},{"components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"internalType":"struct IStakeManager.StakeInfo","name":"paymasterInfo","type":"tuple"},{"components":[{"internalType":"address","name":"aggregator","type":"address"},{"components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"internalType":"struct IStakeManager.StakeInfo","name":"stakeInfo","type":"tuple"}],"internalType":"struct IEntryPoint.AggregatorStakeInfo","name":"aggregatorInfo","type":"tuple"}],"name":"ValidationResultWithAggregation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"factory","type":"address"},{"indexed":false,"internalType":"address","name":"paymaster","type":"address"}],"name":"AccountDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalDeposit","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"aggregator","type":"address"}],"name":"SignatureAggregatorChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalStaked","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}],"name":"StakeLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"withdrawTime","type":"uint256"}],"name":"StakeUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"address","name":"withdrawAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"StakeWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"paymaster","type":"address"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"},{"indexed":false,"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"actualGasUsed","type":"uint256"}],"name":"UserOperationEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"revertReason","type":"bytes"}],"name":"UserOperationRevertReason","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"address","name":"withdrawAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"}
1,{"inputs":[{"internalType":"uint32","name":"_unstakeDelaySec","type":"uint32"}],"name":"addStake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"depositTo","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getDepositInfo","outputs":[{"components":[{"internalType":"uint112","name":"deposit","type":"uint112"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}],"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"}],"name":"getSenderAddress","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":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct UserOperation","name":"userOp","type":"tuple"}],"name":"getUserOpHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"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":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct UserOperation[]","name":"userOps","type":"tuple[]"},{"internalType":"contract IAggregator","name":"aggregator","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct IEntryPoint.UserOpsPerAggregator[]","name":"opsPerAggregator","type":"tuple[]"},{"internalType":"address payable","name":"beneficiary","type":"address"}],"name":"handleAggregatedOps","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":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct UserOperation[]","name":"ops","type":"tuple[]"},{"internalType":"address payable","name":"beneficiary","type":"address"}],"name":"handleOps","outputs":[],"stateMutability":"nonpayable","type":"function"}
1,{"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":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct UserOperation","name":"op","type":"tuple"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}],"name":"simulateHandleOp","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":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct UserOperation","name":"userOp","type":"tuple"}],"name":"simulateValidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlockStake","outputs":[],"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":"withdrawAmount","type":"uint256"}],"name":"withdrawTo","outputs":[],"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x","deployedBytecode":"0x","linkReferences":{},"deployedLinkReferences":{}}')},17803:function(module){"use strict";module.exports={version:"0.5.0"}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.