0 txs
0 calls
constructor
constructor(address _entryPoint, address _owner, address[] _signers)
functions
entryPoint
viewfunction entryPoint() view returns (address)
getCostInToken
purefunction getCostInToken(uint256 _actualGasCost, uint256 _postOpGas, uint256 _actualUserOpFeePerGas, uint256 _exchangeRate) pure returns (uint256)
getDeposit
viewfunction getDeposit() view returns (uint256)
getHash
viewfunction getHash(tuple _userOp, uint48 _validUntil, uint48 _validAfter, address _token, uint128 _postOpGas, uint256 _exchangeRate) view returns (bytes32)
getHash
viewfunction getHash(tuple _userOp, uint48 _validUntil, uint48 _validAfter) view returns (bytes32)
owner
viewfunction owner() view returns (address)
signers
viewfunction signers(address account) view returns (bool isValidSigner)
treasury
viewfunction treasury() view returns (address)
addSigner
nonpayablefunction addSigner(address _signer)
addStake
payablefunction addStake(uint32 unstakeDelaySec) payable
deposit
payablefunction deposit() payable
postOp
nonpayablefunction postOp(uint8 mode, bytes context, uint256 actualGasCost)
removeSigner
nonpayablefunction removeSigner(address _signer)
renounceOwnership
nonpayablefunction renounceOwnership()
setTreasury
nonpayablefunction setTreasury(address _treasury)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unlockStake
nonpayablefunction unlockStake()
validatePaymasterUserOp
nonpayablefunction validatePaymasterUserOp(tuple userOp, bytes32 userOpHash, uint256 maxCost) returns (bytes context, uint256 validationData)
withdrawStake
nonpayablefunction withdrawStake(address withdrawAddress)
withdrawTo
nonpayablefunction withdrawTo(address withdrawAddress, uint256 amount)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SignerAdded
event SignerAdded(address signer)
SignerRemoved
event SignerRemoved(address signer)
TreasuryUpdated
event TreasuryUpdated(address oldTreasury, address newTreasury)
UserOperationSponsored
event UserOperationSponsored(bytes32 indexed userOpHash, address indexed user, uint8 paymasterMode, address token, uint256 tokenAmountPaid, uint256 exchangeRate)
errors
ECDSAInvalidSignature
error ECDSAInvalidSignature()
ECDSAInvalidSignatureLength
error ECDSAInvalidSignatureLength(uint256 length)
ECDSAInvalidSignatureS
error ECDSAInvalidSignatureS(bytes32 s)
ExchangeRateInvalid
error ExchangeRateInvalid()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PaymasterAndDataLengthInvalid
error PaymasterAndDataLengthInvalid()
PaymasterConfigLengthInvalid
error PaymasterConfigLengthInvalid()
PaymasterModeInvalid
error PaymasterModeInvalid()
PaymasterSignatureLengthInvalid
error PaymasterSignatureLengthInvalid()
PostOpTransferFromFailed
error PostOpTransferFromFailed(string msg)
TokenAddressInvalid
error TokenAddressInvalid()
creation bytecode
0x61014060405234610230576123ee8038038061001a8161024b565b9283398101906060818303126102305761003381610270565b9061004060208201610270565b604082015190916001600160401b03821161023057019280601f85011215610230578351936001600160401b038511610235578460051b9060208061008681850161024b565b80988152019282010192831161023057602001905b828210610218575050506001600160a01b031690811561020257600080546001600160a01b031981168417825583916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600160a01b031660805260005b82518110156101415760019060406000838060a01b0360208460051b8801015116815283602052208260ff1982541617905501610109565b50600060a052600160c052605060e052600c61010052600280546001600160a01b03191691909117905560146101205260405161216990816102858239608051818181610ae801528181610beb01528181610cb401528181610d8901528181610e390152818161153e015281816116d80152611e43015260a05181505060c051816110b0015260e0518181816102580152611bb20152610100518181816105ee01526119e201526101205181818161018b01528181611a040152611bd40152f35b631e4fbdf760e01b600052600060045260246000fd5b6020809161022584610270565b81520191019061009b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761023557604052565b51906001600160a01b03821682036102305756fe6080604052600436101561001257600080fd5b6000803560e01c80630396cb601461167c5780630e316ab7146115c8578063205c2878146114e65780635525dcfb1461148257806361d027b314611430578063715018a614611394578063736c0d5b1461132c5780638da5cb5b146112db57806394e1fc191461124c5780639f76a79414611171578063a9a2340914610e5d578063b0d691fe14610dee578063bb9fe6bf14610d3a578063c23a5cea14610c5c578063c399ec8814610b73578063d0e30db014610aa6578063eb12d61e146109ef578063f0f442601461093a578063f2fde38b1461084c5763f465c77e146100f957600080fd5b346105af5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af5760043567ffffffffffffffff81116108485780600401906101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82360301126108445760243592610178611e2c565b610186610124830184611cf8565b9290927f00000000000000000000000000000000000000000000000000000000000000006001810190818111610817578183106107ef5790826101d86101d2836101e19695848b611dae565b90611dc6565b60f81c96611dae565b95600185116107c757606095849580156105e6575b600114610221575b61021787876040519283926040845260408401906117d2565b9060208301520390f35b91939550919350606060a06040516102388161187c565b8781528760208201528760408201528783820152876080820152015260ff7f00000000000000000000000000000000000000000000000000000000000000001686106105be57856006116105ba57823586600c116105b6576006840135876020116105b257600c85013560601c96886030116105af57886050116105af577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb060308701359901881561058757891561055f57604081141580610554575b61052c57604051936103068561187c565b60d01c65ffffffffffff168452602084019260d01c65ffffffffffff1683526040840196602081013560801c885260608501998a52608085019a8b5236906050019161035192611d49565b60a08401908152835165ffffffffffff16835165ffffffffffff168a5173ffffffffffffffffffffffffffffffffffffffff1689516fffffffffffffffffffffffffffffffff16908d51926103a6948a611afb565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008352601c52603c822090516103db91611f69565b6103e491611fa5565b73ffffffffffffffffffffffffffffffffffffffff1681526001602052604090205460ff1615915165ffffffffffff16905165ffffffffffff169061042892611ec9565b945173ffffffffffffffffffffffffffffffffffffffff16955192516fffffffffffffffffffffffffffffffff169061046090611cd7565b926040519361046e85611831565b73ffffffffffffffffffffffffffffffffffffffff16968785526020850190815260408501918252606085019283526080850193845260a085019460e4870135865260c00195610104013586526040519760208901525173ffffffffffffffffffffffffffffffffffffffff166040880152516060870152516fffffffffffffffffffffffffffffffff1660808601525160a08501525160c08401525160e083015260e0825261052061010083611898565b908138808080806101fe565b6004827ff95eeeac000000000000000000000000000000000000000000000000000000008152fd5b5060418114156102f5565b6004827f5b33c696000000000000000000000000000000000000000000000000000000008152fd5b6004827f33c1dac9000000000000000000000000000000000000000000000000000000008152fd5b80fd5b8680fd5b8580fd5b8480fd5b6004857ff96ce329000000000000000000000000000000000000000000000000000000008152fd5b9650945060ff7f000000000000000000000000000000000000000000000000000000000000000016871061079f578660061161079b57813560d01c600c88106105ba57600683013560d01c907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff48901604081141580610790575b610768579073ffffffffffffffffffffffffffffffffffffffff6106d86106cf85946106906106ee97868e611928565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008c52601c526106c9603c8c20913690600c8c01611d49565b90611f69565b90929192611fa5565b168752600160205260ff60408820541615611ec9565b9473ffffffffffffffffffffffffffffffffffffffff61070d82611cd7565b16827f7a270f29ae17e8e2304ff1245deb50c3b6206bca82928d904f3e284d35c5ffd26080604051898152896020820152896040820152896060820152a360016040519661075c602089611898565b868852969790506101f6565b6004877ff95eeeac000000000000000000000000000000000000000000000000000000008152fd5b506041811415610660565b8380fd5b6004847ff96ce329000000000000000000000000000000000000000000000000000000008152fd5b6004847f654a4f29000000000000000000000000000000000000000000000000000000008152fd5b6004857fcc32193e000000000000000000000000000000000000000000000000000000008152fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b8280fd5b5080fd5b50346105af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af5773ffffffffffffffffffffffffffffffffffffffff61089961175f565b6108a1611c88565b16801561090e5773ffffffffffffffffffffffffffffffffffffffff8254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b6024827f1e4fbdf700000000000000000000000000000000000000000000000000000000815280600452fd5b50346105af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af5761097261175f565b61097a611c88565b7fffffffffffffffffffffffff00000000000000000000000000000000000000006002547f4ab5be82436d353e61ca18726e984e561f5c1cc7c6d38b29d2553c790434705a604073ffffffffffffffffffffffffffffffffffffffff81519581851687521694856020820152a1161760025580f35b50346105af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af577f47d1c22a25bb3a5d4e481b9b1e6944c2eade3181a0a20b495ed61d35b5323f24602073ffffffffffffffffffffffffffffffffffffffff610a5f61175f565b610a67611c88565b16808452600182526040842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055604051908152a180f35b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af578073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b15610b705781602491604051928380927fb760faf900000000000000000000000000000000000000000000000000000000825230600483015234905af18015610b6557610b545750f35b81610b5e91611898565b6105af5780f35b6040513d84823e3d90fd5b50fd5b50346105af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b65578291610c26575b602082604051908152f35b90506020813d602011610c54575b81610c4160209383611898565b8101031261084857602091505138610c1b565b3d9150610c34565b50346105af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af5780610c9561175f565b610c9d611c88565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610d365773ffffffffffffffffffffffffffffffffffffffff602484928360405195869485937fc23a5cea0000000000000000000000000000000000000000000000000000000085521660048401525af18015610b6557610b545750f35b5050fd5b50346105af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af57610d71611c88565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b15610b70578180916004604051809481937fbb9fe6bf0000000000000000000000000000000000000000000000000000000083525af18015610b6557610b545750f35b50346105af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346105af5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af576004356003811015610848576024359067ffffffffffffffff8211610844573660238301121561084457816004013567ffffffffffffffff811161079b57820136602482011161079b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60248460e093610f06611e2c565b030101126108445760405191610f1b83611831565b610f2760248201611787565b90818452610f3760448201611787565b928360208601526064820135918260408701526084810135906fffffffffffffffffffffffffffffffff82169182810361116d576060880152878460a4830135978860808b015260c4840135938460a08c015260e4013560c0819b015273ffffffffffffffffffffffffffffffffffffffff1698808414600014600295670de0b6b3a764000095610fdf95610fd294610fd794611149575050905b6118d9565b60443561191b565b049103610fea578580f35b73ffffffffffffffffffffffffffffffffffffffff6002541660405190826060526040527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b16602c526f23b872dd000000000000000000000000600c526020876064601c828a5af13d15600189511417168760605281604052156110ed57507f7a270f29ae17e8e2304ff1245deb50c3b6206bca82928d904f3e284d35c5ffd29260809273ffffffffffffffffffffffffffffffffffffffff926040519760ff7f00000000000000000000000000000000000000000000000000000000000000001689526020890152604088015260608701521693a338808080808580f35b807f1db0f4fb000000000000000000000000000000000000000000000000000000006064925260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b61115490489061191b565b90508082101561116657505b906118d9565b9050611160565b8880fd5b50346105af5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af576004359067ffffffffffffffff82116105af576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83360301126105af576111e96117a8565b6111f16117bd565b6064359173ffffffffffffffffffffffffffffffffffffffff8316830361079b57608435936fffffffffffffffffffffffffffffffff851685036105af57602061124460a4358787878760048d01611afb565b604051908152f35b50346105af5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af576004359067ffffffffffffffff82116105af576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83360301126105af576020611244836112ca6117a8565b6112d26117bd565b91600401611928565b50346105af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af5773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346105af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af5760ff604060209273ffffffffffffffffffffffffffffffffffffffff61138061175f565b168152600184522054166040519015158152f35b50346105af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af576113cb611c88565b8073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346105af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af57602073ffffffffffffffffffffffffffffffffffffffff60025416604051908152f35b50346105af5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af57506020670de0b6b3a76400006114dd606435610fd26114d56044356024356118d9565b60043561191b565b04604051908152f35b50346105af5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af578061151f61175f565b611527611c88565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690813b15610d365773ffffffffffffffffffffffffffffffffffffffff604484928360405195869485937f205c287800000000000000000000000000000000000000000000000000000000855216600484015260243560248401525af18015610b6557610b545750f35b50346105af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af577f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b602073ffffffffffffffffffffffffffffffffffffffff61163861175f565b611640611c88565b1680845260018252604084207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008154169055604051908152a180f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105af5760043563ffffffff8116809103610848576116c0611c88565b8173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b156108485781906024604051809581937f0396cb60000000000000000000000000000000000000000000000000000000008352600483015234905af18015611752576117445780f35b61174d91611898565b388180f35b50604051903d90823e3d90fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361178257565b600080fd5b359073ffffffffffffffffffffffffffffffffffffffff8216820361178257565b6024359065ffffffffffff8216820361178257565b6044359065ffffffffffff8216820361178257565b919082519283825260005b84811061181c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b806020809284010151828286010152016117dd565b60e0810190811067ffffffffffffffff82111761184d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60c0810190811067ffffffffffffffff82111761184d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761184d57604052565b818102929181159184041417156118ec57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082018092116118ec57565b60009061193481611cd7565b9061194c6119456040830183611cf8565b3691611d49565b602081519101206119636119456060840184611cf8565b602081519101209073ffffffffffffffffffffffffffffffffffffffff604051941660208501526020830135604085015260608401526080830152608081013560a083015260a081013560c083015260c081013560e083015260e082526119cc61010083611898565b6119da610120820182611cf8565b90611a2860ff7f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061191b565b9182116105ba5765ffffffffffff9392611a4861010093611aaa93611dc6565b60f81c604051938492611a6760208501976080895260a08601906117d2565b92604085015260e0810135606085015201356080830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611898565b519020938160405194602086019687524660408701523060608701521660808501521660a08301528060c08301528060e08301526101008201526101008152611af561012082611898565b51902090565b9093919492611b0982611cd7565b93611b1a6119456040850185611cf8565b60208151910120611b316119456060860186611cf8565b602081519101209073ffffffffffffffffffffffffffffffffffffffff604051971660208801526020850135604088015260608701526080860152608083013560a086015260a083013560c086015260c083013560e086015260e08552611b9a61010086611898565b611ba8610120840184611cf8565b939095611bf860ff7f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061191b565b94851161178257610100611c3d65ffffffffffff93611a4873ffffffffffffffffffffffffffffffffffffffff986fffffffffffffffffffffffffffffffff9b611dc6565b51902097816040519860208a019a8b524660408b01523060608b01521660808901521660a087015260c08601521660e0840152166101008201526101008152611af561012082611898565b73ffffffffffffffffffffffffffffffffffffffff600054163303611ca957565b7f118cdaa7000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036117825790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215611782570180359067ffffffffffffffff82116117825760200191813603831361178257565b92919267ffffffffffffffff821161184d5760405191611d91601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200184611898565b829481845281830111611782578281602093846000960137010152565b90939293848311611782578411611782578101920390565b919091357fff0000000000000000000000000000000000000000000000000000000000000081169260018110611dfa575050565b7fff00000000000000000000000000000000000000000000000000000000000000929350829060010360031b1b161690565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611e6b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f53656e646572206e6f7420456e747279506f696e7400000000000000000000006044820152fd5b90919015611f235760ff79ffffffffffff00000000000000000000000000000000000000007fffffffffffff00000000000000000000000000000000000000000000000000006001935b60d01b169360a01b169116171790565b60ff79ffffffffffff00000000000000000000000000000000000000007fffffffffffff0000000000000000000000000000000000000000000000000000600093611f13565b8151919060418303611f9a57611f9392506020820151906060604084015193015160001a90612091565b9192909190565b505060009160029190565b91909160048110156120625780611fbb57509050565b600060018203611fef577ff645eedf0000000000000000000000000000000000000000000000000000000060005260046000fd5b506002810361202657827ffce698f70000000000000000000000000000000000000000000000000000000060005260045260246000fd5b9091600360009214612036575050565b602492507fd78bce0c000000000000000000000000000000000000000000000000000000008252600452fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612127579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa1561211b5760005173ffffffffffffffffffffffffffffffffffffffff81161561210f5790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fea2646970667358221220cde962218648a49fe0d97a8c3218eaf9351561140c9a0329af2aa28cca46d8ac64736f6c634300081a00330000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000433704c40f80cbff02e86fd36bc8bac5e31eb0c100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000433704c40f80cbff02e86fd36bc8bac5e31eb0c1