0 txs
27 calls
constructor
constructor(address implementation_, address owner_)
functions
ACCOUNT_IMPLEMENTATION
viewfunction ACCOUNT_IMPLEMENTATION() view returns (address)
computeAccountAddress
viewfunction computeAccountAddress(bytes initData, bytes32 salt) view returns (address expectedAddress)
owner
viewfunction owner() view returns (address result)
ownershipHandoverExpiresAt
viewfunction ownershipHandoverExpiresAt(address pendingOwner) view returns (uint256 result)
addStake
payablefunction addStake(address epAddress, uint32 unstakeDelaySec) payable
cancelOwnershipHandover
payablefunction cancelOwnershipHandover() payable
completeOwnershipHandover
payablefunction completeOwnershipHandover(address pendingOwner) payable
createAccount
payablefunction createAccount(bytes initData, bytes32 salt) payable returns (address)
renounceOwnership
payablefunction renounceOwnership() payable
requestOwnershipHandover
payablefunction requestOwnershipHandover() payable
transferOwnership
payablefunction transferOwnership(address newOwner) payable
unlockStake
nonpayablefunction unlockStake(address epAddress)
withdrawStake
nonpayablefunction withdrawStake(address epAddress, address withdrawAddress)
events
AccountCreated
event AccountCreated(address indexed account, bytes indexed initData, bytes32 indexed salt)
OwnershipHandoverCanceled
event OwnershipHandoverCanceled(address indexed pendingOwner)
OwnershipHandoverRequested
event OwnershipHandoverRequested(address indexed pendingOwner)
OwnershipTransferred
event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)
errors
AccountAlreadyDeployed
error AccountAlreadyDeployed(address account)
AlreadyInitialized
error AlreadyInitialized()
ImplementationAddressCanNotBeZero
error ImplementationAddressCanNotBeZero()
InvalidEntryPointAddress
error InvalidEntryPointAddress()
NewOwnerIsZeroAddress
error NewOwnerIsZeroAddress()
NoHandoverRequest
error NoHandoverRequest()
Unauthorized
error Unauthorized()
ZeroAddressNotAllowed
error ZeroAddressNotAllowed()
creation bytecode
0x60a060405234801561000f575f5ffd5b50604051610b21380380610b2183398101604081905261002e916100f1565b8061003881610099565b506001600160a01b03821661006057604051630abd577760e01b815260040160405180910390fd5b6001600160a01b038116610087576040516342bcdf7f60e11b815260040160405180910390fd5b506001600160a01b0316608052610122565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b80516001600160a01b03811681146100ec575f5ffd5b919050565b5f5f60408385031215610102575f5ffd5b61010b836100d6565b9150610119602084016100d6565b90509250929050565b6080516109da6101475f395f818160ed015281816104d7015261066601526109da5ff3fe6080604052600436106100ce575f3560e01c80638da5cb5b1161007c578063f04e283e11610057578063f04e283e146101b8578063f2fde38b146101cb578063fafa2b42146101de578063fee81cf4146101fd575f5ffd5b80638da5cb5b1461016e578063b36f970514610186578063ea6d13ac146101a5575f5ffd5b80634a1ce599116100ac5780634a1ce5991461013f57806354d1f13d1461015e578063715018a614610166575f5ffd5b806325692962146100d2578063290ab984146100dc578063451711591461012c575b5f5ffd5b6100da61023c565b005b3480156100e7575f5ffd5b5061010f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100da61013a36600461087f565b610289565b34801561014a575f5ffd5b506100da6101593660046108be565b610332565b6100da6103b2565b6100da6103eb565b348015610179575f5ffd5b50638b78c6d8195461010f565b348015610191575f5ffd5b506100da6101a03660046108e0565b6103fe565b61010f6101b336600461090c565b6104a0565b6100da6101c63660046108be565b6105cf565b6100da6101d93660046108be565b61060c565b3480156101e9575f5ffd5b5061010f6101f836600461090c565b610632565b348015610208575f5ffd5b5061022e6102173660046108be565b63389a75e1600c9081525f91909152602090205490565b604051908152602001610123565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b610291610695565b6001600160a01b0382166102b8576040516391fdf19160e01b815260040160405180910390fd5b6040517f0396cb6000000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690630396cb609034906024015f604051808303818588803b158015610317575f5ffd5b505af1158015610329573d5f5f3e3d5ffd5b50505050505050565b61033a610695565b6001600160a01b038116610361576040516391fdf19160e01b815260040160405180910390fd5b806001600160a01b031663bb9fe6bf6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610399575f5ffd5b505af11580156103ab573d5f5f3e3d5ffd5b5050505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6103f3610695565b6103fc5f6106af565b565b610406610695565b6001600160a01b03821661042d576040516391fdf19160e01b815260040160405180910390fd5b6040517fc23a5cea0000000000000000000000000000000000000000000000000000000081526001600160a01b03828116600483015283169063c23a5cea906024015f604051808303815f87803b158015610486575f5ffd5b505af1158015610498573d5f5f3e3d5ffd5b505050505050565b5f5f8484846040516020016104b79392919061097e565b6040516020818303038152906040528051906020012090505f5f6104fc347f0000000000000000000000000000000000000000000000000000000000000000856106ec565b91509150816105c5576040517f4b6a14190000000000000000000000000000000000000000000000000000000081526001600160a01b03821690634b6a14199061054c908a908a90600401610990565b5f604051808303815f87803b158015610563575f5ffd5b505af1158015610575573d5f5f3e3d5ffd5b5050505084878760405161058a9291906109be565b604051908190038120906001600160a01b038416907f47e5b5fc3bda028416e26dcf66ca5186488c0717e8ab55bb01806113f1839d58905f90a45b9695505050505050565b6105d7610695565b63389a75e1600c52805f526020600c2080544211156105fd57636f5e88185f526004601cfd5b5f9055610609816106af565b50565b610614610695565b8060601b61062957637448fbae5f526004601cfd5b610609816106af565b5f5f8484846040516020016106499392919061097e565b60405160208183030381529060405280519060200120905061068c7f000000000000000000000000000000000000000000000000000000000000000082306107ca565b95945050505050565b638b78c6d8195433146103fc576382b429005f526004601cfd5b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f5f6040517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e207660405261600960205284601e5268603d3d8160223d3973600a52605f60212060358201523060581b815260ff8153836015820152605581209150813b6107965783605f602188f59150816107915763301164255f526004601cfd5b6107b9565b6001925085156107b9575f385f3889865af16107b95763b12d13eb5f526004601cfd5b80604052505f606052935093915050565b5f5f61084485604080517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f360609081527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e20768352616009602052601e9390935268603d3d8160223d3973600a52605f60212091525f90915290565b905061068c8185855f60ff5f5350603592835260601b60015260155260555f908120915290565b6001600160a01b0381168114610609575f5ffd5b5f5f60408385031215610890575f5ffd5b823561089b8161086b565b9150602083013563ffffffff811681146108b3575f5ffd5b809150509250929050565b5f602082840312156108ce575f5ffd5b81356108d98161086b565b9392505050565b5f5f604083850312156108f1575f5ffd5b82356108fc8161086b565b915060208301356108b38161086b565b5f5f5f6040848603121561091e575f5ffd5b833567ffffffffffffffff811115610934575f5ffd5b8401601f81018613610944575f5ffd5b803567ffffffffffffffff81111561095a575f5ffd5b86602082840101111561096b575f5ffd5b6020918201979096509401359392505050565b82848237909101908152602001919050565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b818382375f910190815291905056fea164736f6c634300081b000a000000000000000000000000000000008761e87f023f65c49dc9cb1c7edfeaaf000000000000000000000000129443ca2a9dec2020808a2868b38dda457eacc7