0 txs
5 calls
constructor
constructor(bytes facetsAndSelectors)
functions
facetAddress
viewfunction facetAddress(bytes4 functionSelector) view returns (address _facet)
facetAddresses
viewfunction facetAddresses() view returns (address[] _facets)
facetFunctionSelectors
viewfunction facetFunctionSelectors(address facet) view returns (bytes4[] _facetFunctionSelectors)
facets
viewfunction facets() view returns (tuple[] _facets)
getFeeContractAddressAndFee
viewfunction getFeeContractAddressAndFee() view returns (address feeContractAddress, uint256 fee)
getModuleAddress
viewfunction getModuleAddress(bytes4 moduleSignature) view returns (address moduleAddress)
getModules
viewfunction getModules() view returns (tuple[] info)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
acceptOwnership
nonpayablefunction acceptOwnership()
addModule
nonpayablefunction addModule(bytes4 moduleSignature, address moduleAddress)
initialize
nonpayablefunction initialize(address newOwner)
multicall
payablefunction multicall(bytes[] data) payable
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeContractAddressAndFee
nonpayablefunction setFeeContractAddressAndFee(address feeContractAddress, uint256 fee)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateModule
nonpayablefunction updateModule(bytes4 moduleSignature, address moduleAddress)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
events
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
EntryPoint_FunctionDoesNotExist
error EntryPoint_FunctionDoesNotExist(bytes4 selector)
EntryPoint_InvalidFeeValue
error EntryPoint_InvalidFeeValue()
EntryPoint_ModuleAlreadyAdded
error EntryPoint_ModuleAlreadyAdded(bytes4 methodSignature)
EntryPoint_ModuleNotAdded
error EntryPoint_ModuleNotAdded(bytes4 methodSignature)
ERC1967_InvalidImplementation
error ERC1967_InvalidImplementation(address implementation)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
Ownable_CallerIsNotTheNewOwner
error Ownable_CallerIsNotTheNewOwner(address caller)
Ownable_NewOwnerCannotBeAddressZero
error Ownable_NewOwnerCannotBeAddressZero()
Ownable_SenderIsNotOwner
error Ownable_SenderIsNotOwner(address sender)
SSTORE2_DeploymentFailed
error SSTORE2_DeploymentFailed()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60c0604052306080523480156200001557600080fd5b5060405162001a5f38038062001a5f833981016040819052620000389162000187565b6200004262000060565b6200004d81620000eb565b6001600160a01b031660a0525062000275565b600154600160a81b900460ff16156200008c5760405163f92ee8a960e01b815260040160405180910390fd5b600154600160a01b900460ff90811614620000e9576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b600080826040516020016200010191906200023f565b60405160208183030381529060405290508051602082016000f091506001600160a01b03821662000145576040516325dc3c1560e21b815260040160405180910390fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200017e57818101518382015260200162000164565b50506000910152565b6000602082840312156200019a57600080fd5b81516001600160401b0380821115620001b257600080fd5b818401915084601f830112620001c757600080fd5b815181811115620001dc57620001dc6200014b565b604051601f8201601f19908116603f011681019083821181831017156200020757620002076200014b565b816040528281528760208487010111156200022157600080fd5b6200023483602083016020880162000161565b979650505050505050565b6a600b5981380380925939f360a81b815281516000906200026881600c85016020870162000161565b91909101600c0192915050565b60805160a05161179a620002c5600039600081816104d40152818161062c0152818161071e01528181610926015261126c015260008181610d8901528181610db20152610f3f015261179a6000f3fe6080604052600436106101485760003560e01c80637a0ed627116100c0578063b2494df311610074578063cdffacc611610059578063cdffacc61461041e578063e30c39781461043e578063f2fde38b1461045c5761014f565b8063b2494df3146103dc578063c4d66de8146103fe5761014f565b80638da5cb5b116100a55780638da5cb5b1461037e578063ac9650d81461039c578063adfca15e146103af5761014f565b80637a0ed6271461033c57806385d2e3181461035e5761014f565b80636069f1f911610117578063715018a6116100fc578063715018a6146102c257806374834542146102d757806379ba5097146103275761014f565b80636069f1f91461026a5780636d40717e146102a25761014f565b806323e29cb5146101e05780633659cfe61461020057806352d1902d1461022057806352ef6b2c146102485761014f565b3661014f57005b600061015961047c565b90506001600160a01b0381166101ba5761017e6000356001600160e01b0319166104cc565b90506001600160a01b0381166101ba57604051639365f53760e01b81526001600160e01b03196000351660048201526024015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156101d9573d6000f35b3d6000fd5b005b3480156101ec57600080fd5b506101de6101fb36600461146c565b610550565b34801561020c57600080fd5b506101de61021b36600461149f565b6105d6565b34801561022c57600080fd5b506102356105f3565b6040519081526020015b60405180910390f35b34801561025457600080fd5b5061025d610622565b60405161023f91906114c1565b34801561027657600080fd5b5061028a61028536600461150e565b61065a565b6040516001600160a01b03909116815260200161023f565b3480156102ae57600080fd5b506101de6102bd366004611529565b610679565b3480156102ce57600080fd5b506101de6106b2565b3480156102e357600080fd5b507fde699227b1a7fb52a64c41a77682cef2fe2815e2a233a451b6c9f64b1abac29154604080516001600160a01b038316815260a09290921c60208301520161023f565b34801561033357600080fd5b506101de6106c6565b34801561034857600080fd5b50610351610715565b60405161023f9190611553565b34801561036a57600080fd5b506101de61037936600461146c565b61083c565b34801561038a57600080fd5b506000546001600160a01b031661028a565b6101de6103aa366004611606565b610913565b3480156103bb57600080fd5b506103cf6103ca36600461149f565b61091d565b60405161023f919061167b565b3480156103e857600080fd5b506103f16109bb565b60405161023f91906116bd565b34801561040a57600080fd5b506101de61041936600461149f565b610aed565b34801561042a57600080fd5b5061028a61043936600461150e565b610c12565b34801561044a57600080fd5b506001546001600160a01b031661028a565b34801561046857600080fd5b506101de61047736600461149f565b610c1d565b7f1248b983d56fa782b7a88ee11066fc0746058888ea550df970b9eea952d65dd15480156104c95760007f1248b983d56fa782b7a88ee11066fc0746058888ea550df970b9eea952d65dd1555b90565b6000806104f87f0000000000000000000000000000000000000000000000000000000000000000610c8c565b905060188151101561052957604051639365f53760e01b81526001600160e01b0319841660048201526024016101b1565b602081015160f081901c9060e01c61ffff1661054785848484610cb8565b95945050505050565b610558610d38565b816000526002602052604060002080541561057f5763efd5d8e4600052826020526024601cfd5b60038054600181018255600091909152600881047fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805460e09590951c600783166020021b90940190935560a09290921b019055565b6105de610d7e565b6105e781610e2c565b6105f081610e34565b50565b60006105fd610f34565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60606106556106507f0000000000000000000000000000000000000000000000000000000000000000610c8c565b610f7d565b905090565b6000818152600260205260408120546001600160a01b03165b92915050565b610681610d38565b6106ae828260a01b017fde699227b1a7fb52a64c41a77682cef2fe2815e2a233a451b6c9f64b1abac29155565b5050565b6106ba610d38565b6106c46000610fdd565b565b6001546001600160a01b0316331461070c576040517f6cce7fdd0000000000000000000000000000000000000000000000000000000081523360048201526024016101b1565b6106c433610fdd565b606060006107427f0000000000000000000000000000000000000000000000000000000000000000610c8c565b9050600061074f82610f7d565b9050805167ffffffffffffffff81111561076b5761076b61171f565b6040519080825280602002602001820160405280156107b157816020015b6040805180820190915260008152606060208201528152602001906001900390816107895790505b50925060005b8151811015610836578181815181106107d2576107d2611735565b60200260200101518482815181106107ec576107ec611735565b60209081029190910101516001600160a01b03909116905261080e8382611003565b84828151811061082057610820611735565b60209081029190910181015101526001016107b7565b50505090565b610844610d38565b816000526002602052604060002080548061086b5763eac1ef32600052836020526024601cfd5b8280156108935773ffffffffffffffffffffffffffffffffffffffff1982168401835561090c565b600083558160a01c6001600354038060035580156109095760036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b6008808304820154908404909101805463ffffffff6007808716602090810283811b19909416918716029490941c16901b9190910190555b50505b5050505050565b6106ae8282611078565b6060600061094a7f0000000000000000000000000000000000000000000000000000000000000000610c8c565b9050600061095782610f7d565b905067ffffffffffffffff60005b82518110156109b057856001600160a01b031683828151811061098a5761098a611735565b60200260200101516001600160a01b0316036109a8578091506109b0565b600101610965565b506105478382611003565b6003546060908067ffffffffffffffff8111156109da576109da61171f565b604051908082528060200260200182016040528015610a1f57816020015b60408051808201909152600080825260208201528152602001906001900390816109f85790505b50915060005b81811015610ae857600060038281548110610a4257610a42611735565b90600052602060002090600891828204019190066004029054906101000a900460e01b90506040518060400160405280827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001610ab6836000908152600260205260409020546001600160a01b031690565b6001600160a01b0316815250848381518110610ad457610ad4611735565b602090810291909101015250600101610a25565b505090565b60015460ff600160a81b820481161591600160a01b900416600081158015610b125750825b905060008267ffffffffffffffff166001148015610b2f5750303b155b905081158015610b3d575080155b15610b74576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790558315610bbc576001805460ff60a81b1916600160a81b1790555b610bc585610fdd565b831561090c576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610673826104cc565b610c25610d38565b610c2e81611140565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383811691821790925560008054604051929316917f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009190a350565b60408051603e833b908101601f1916820190925260001990910180825280600160208401853c50919050565b60006001600160e01b03196024850182858180805b83851015610d295750505080820160011c600581028401518581168b8103610d0957888601601460d884901c60ff1602015160601c9750610d29565b8b811060018114610d1c57839450610d23565b6001840195505b50610ccd565b50505050505050949350505050565b6000546001600160a01b031633146106c4576040517f37c14b450000000000000000000000000000000000000000000000000000000081523360048201526024016101b1565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e0e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e027f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614155b156106c45760405163703e46dd60e11b815260040160405180910390fd5b6105f0610d38565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e8e575060408051601f3d908101601f19168201909252610e8b9181019061174b565b60015b610ecf576040517f4a4a0aa20000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024016101b1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610f2b576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016101b1565b6106ae82611180565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c45760405163703e46dd60e11b815260040160405180910390fd5b60606000604051915061ffff836020015160e01c166024840101602083015b815160601c80610fac5750610fc4565b81526001929092019160149190910190602001610f9c565b5050808252602081026020016040510160405250919050565b6001805473ffffffffffffffffffffffffffffffffffffffff191690556105f0816111c0565b6060600060405191506020820160248501856020015160f01c5b801561105d5781518660ff8260d81c160361104c576001600160e01b0319811684526001850194506020840193505b50600591909101906000190161101d565b50505080825260208102602001604051016040525092915050565b6000611084838361121d565b905061108f33611342565b816020820160405160448060005b851561112b5750835181358301816110f1576001600160e01b03196020820135168060005260026020526001600160a01b03604060002054169250826110ef57639365f537600052806020526024601cfd5b505b80358060208301873760008082886000875af2611112573d6000803e3d6000fd5b505060018603955060208201915060208501945061109d565b50505050505061113b6000611342565b505050565b6001600160a01b0381166105f0576040517f7b30466f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611189816113fc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060818067ffffffffffffffff8111156112395761123961171f565b604051908082528060200260200182016040528015611262578160200160208202803683370190505b50915060006112907f0000000000000000000000000000000000000000000000000000000000000000610c8c565b90506018815110156112b857604051639365f53760e01b8152600060048201526024016101b1565b6020810151604490819060f081901c9060e01c61ffff166000805b878110156113305760208581019535870101356001600160e01b03191691506112fe82888686610cb8565b89828151811061131057611310611735565b6001600160a01b03909216602092830291909101909101526001016112d3565b50856040525050505050505092915050565b807f289cc669fe96ce33e95427b15b06e5cf0e5e79eb9894ad468d456975ce05c19855806105f0577fc0abc52de3d4e570867f700eb5dfe2c039750b7f48720ee0d6152f3aa86763745460007fc0abc52de3d4e570867f700eb5dfe2c039750b7f48720ee0d6152f3aa8676374557fc0abc52de3d4e570867f700eb5dfe2c039750b7f48720ee0d6152f3aa86763755b811561113b578054156113ed5763c26d3d6a6000526004601cfd5b600019909101906001016113d2565b803b61141457634a4a0aa2600052806020526024601cfd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b80356001600160e01b03198116811461145057600080fd5b919050565b80356001600160a01b038116811461145057600080fd5b6000806040838503121561147f57600080fd5b61148883611438565b915061149660208401611455565b90509250929050565b6000602082840312156114b157600080fd5b6114ba82611455565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156115025783516001600160a01b0316835292840192918401916001016114dd565b50909695505050505050565b60006020828403121561152057600080fd5b6114ba82611438565b6000806040838503121561153c57600080fd5b61154583611455565b946020939093013593505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e25783516001600160e01b0319168252928b019260019290920191908b01906115b8565b50978a0197955050509187019160010161157b565b50919998505050505050505050565b6000806020838503121561161957600080fd5b823567ffffffffffffffff8082111561163157600080fd5b818501915085601f83011261164557600080fd5b81358181111561165457600080fd5b8660208260051b850101111561166957600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156115025783516001600160e01b03191683529284019291840191600101611697565b602080825282518282018190526000919060409081850190868401855b8281101561171257815180516001600160e01b03191685528601516001600160a01b03168685015292840192908501906001016116da565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175d57600080fd5b505191905056fea264697066735822122051f0754d0a9399f32e89a1482090019e328008478d0839b268711e71ebd6812564736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000121002100a5128c99910313137d65031c7df38c0329b85fff032b94e499032fd3b7580335d5133e023772df58033a5be8cb053fcccd3d00416ecebf0343ea4fa903505baac200562fc59003599c53d1046425666b046750cd4c037d25a05e0395368d2e039e00ccbf01a1074c5c05afdac3d605b353aaa702bc6c464500bc7f3b5003ca5eb5e103d0a1026002d83dfc9f03dab0b5c700de1f137903eb6d3a1101f2353c4b02ff7bd03d03d7d812de23dfd953f1431322ce62a0ca818c957064bf7d769f1f8470ff42734f69e056d2a492397c8fa29093a1c62288220fc894077007a4671858efe485932717068ecb9b391519d7800eadb6ebd0c90392238689977c8d34bac6a53f2d62489d7362db90df6f51165afeccb379c047d1bc34f70225fc7100000000000000000000000000000000000000000000000000000000000000