2 txs
3 calls
constructor
constructor(address ownerAddr)
functions
getDeploymentAddress
viewfunction getDeploymentAddress(bytes32 adminSalt, bytes32 proxySalt, address implementationAddr, bytes initData) view returns (address adminContractAddr, address proxyContractAddr)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
deploy
nonpayablefunction deploy(bytes32 adminSalt, bytes32 proxySalt, address implementationAddr, address proxyOwnerAddr, bytes initData) returns (address, address)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OnProxyDeployed
event OnProxyDeployed(address adminAddress, address proxyAddress)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
AddressAlreadyTaken
error AddressAlreadyTaken()
InputRequired
error InputRequired()
InvalidAddress
error InvalidAddress()
OwnerAddressRequired
error OwnerAddressRequired()
OwnerOnly
error OwnerOnly()
ProxyAdminDeploymentFailed
error ProxyAdminDeploymentFailed()
ProxyDeploymentFailed
error ProxyDeploymentFailed()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
Unauthorized
error Unauthorized()
creation bytecode
0x6080604052348015600e575f80fd5b50604051611f07380380611f07833981016040819052602b916075565b6001600160a01b03811660515760405163156fee5160e31b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b039290921691909117905560a0565b5f602082840312156084575f80fd5b81516001600160a01b03811681146099575f80fd5b9392505050565b611e5a806100ad5f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c806379ba5097146100645780638da5cb5b1461006e578063d99fef4f14610098578063e287b219146100cb578063e30c3978146100de578063f2fde38b146100ef575b5f80fd5b61006c610102565b005b6001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100ab6100a636600461072f565b610161565b604080516001600160a01b0393841681529290911660208301520161008f565b6100ab6100d936600461079c565b6103d0565b6002546001600160a01b031661007b565b61006c6100fd3660046107f9565b6104d9565b60025f540361012457604051633ee5aeb560e01b815260040160405180910390fd5b60025f819055546001600160a01b03163314610152576040516282b42960e81b815260040160405180910390fd5b61015b3361053a565b60015f55565b5f8060025f540361018557604051633ee5aeb560e01b815260040160405180910390fd5b60025f556001546001600160a01b031633146101b457604051630b2db9b760e31b815260040160405180910390fd5b8615806101bf575085155b806101d157506001600160a01b038516155b806101e457506001600160a01b03851630145b15610202576040516303ecae4960e21b815260040160405180910390fd5b5f80610210898989886103d0565b915091505f826001600160a01b03163b118061023557505f816001600160a01b03163b115b1561025357604051631f99271960e11b815260040160405180910390fd5b5f896040516102619061065b565b8190604051809103905ff590508015801561027e573d5f803e3d5ffd5b509050826001600160a01b0316816001600160a01b0316146102b357604051633e89a13360e01b815260040160405180910390fd5b5f898983896040516102c490610668565b6102d093929190610819565b8190604051809103905ff59050801580156102ed573d5f803e3d5ffd5b509050826001600160a01b0316816001600160a01b03161461032257604051631b0a7c4160e31b815260040160405180910390fd5b60405163f2fde38b60e01b81526001600160a01b03898116600483015283169063f2fde38b906024015f604051808303815f87803b158015610362575f80fd5b505af1158015610374573d5f803e3d5ffd5b5050604080516001600160a01b038087168252851660208201527f1b5b8bc58e50dcc2831d0057d22708e1e10814cdb66da59653374baef3d3eb14935001905060405180910390a1505060015f55909890975095505050505050565b5f8060ff60f81b3087604051806020016103e99061065b565b6020820181038252601f19601f8201166040525080519060200120604051602001610417949392919061086c565b604051602081830303815290604052805190602001205f1c915060ff60f81b30866040518060200161044890610668565b601f1982820381018352601f90910116604081905261046f90899088908a90602001610819565b60408051601f198184030181529082905261048d92916020016108bc565b604051602081830303815290604052805190602001206040516020016104b6949392919061086c565b604051602081830303815290604052805190602001205f1c905094509492505050565b60025f54036104fb57604051633ee5aeb560e01b815260040160405180910390fd5b60025f556001546001600160a01b0316331461052a57604051630b2db9b760e31b815260040160405180910390fd5b61053381610556565b5060015f55565b600280546001600160a01b0319169055610553816105e3565b50565b6001600160a01b038116158061057457506001600160a01b03811630145b156105925760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b03838116918217909255600154604051919216907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700905f90a350565b6001600160a01b03811661060a5760405163156fee5160e31b815260040160405180910390fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b610848806108d983390190565b610d048061112183390190565b80356001600160a01b038116811461068b575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126106b3575f80fd5b813567ffffffffffffffff8111156106cd576106cd610690565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156106fc576106fc610690565b604052818152838201602001851015610713575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a08688031215610743575f80fd5b853594506020860135935061075a60408701610675565b925061076860608701610675565b9150608086013567ffffffffffffffff811115610783575f80fd5b61078f888289016106a4565b9150509295509295909350565b5f805f80608085870312156107af575f80fd5b84359350602085013592506107c660408601610675565b9150606085013567ffffffffffffffff8111156107e1575f80fd5b6107ed878288016106a4565b91505092959194509250565b5f60208284031215610809575f80fd5b61081282610675565b9392505050565b60018060a01b038416815260018060a01b0383166020820152606060408201525f82518060608401528060208501608085015e5f608082850101526080601f19601f830116840101915050949350505050565b6001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b5f81518060208401855e5f93019283525090919050565b5f6108d06108ca83866108a5565b846108a5565b94935050505056fe6080604052348015600e575f80fd5b50600180546001600160a01b0319163317905561081a8061002e5f395ff3fe608060405260043610610075575f3560e01c8063204e1c7a1461007957806379ba5097146100ae5780637eff275e146100c45780638da5cb5b146100e35780639623609d1461010057806399a88ec414610113578063e30c397814610132578063f2fde38b1461014f578063f3b7dead1461016e575b5f80fd5b348015610084575f80fd5b5061009861009336600461062d565b61018d565b6040516100a5919061064f565b60405180910390f35b3480156100b9575f80fd5b506100c261022d565b005b3480156100cf575f80fd5b506100c26100de366004610663565b61028c565b3480156100ee575f80fd5b506001546001600160a01b0316610098565b6100c261010e3660046106ae565b61033e565b34801561011e575f80fd5b506100c261012d366004610663565b6103f6565b34801561013d575f80fd5b506002546001600160a01b0316610098565b34801561015a575f80fd5b506100c261016936600461062d565b610473565b348015610179575f80fd5b5061009861018836600461062d565b6104d4565b5f805f836001600160a01b03166040516101b190635c60da1b60e01b815260040190565b5f60405180830381855afa9150503d805f81146101e9576040519150601f19603f3d011682016040523d82523d5f602084013e6101ee565b606091505b509150915081610211576040516385be45b560e01b815260040160405180910390fd5b808060200190518101906102259190610785565b949350505050565b60025f540361024f57604051633ee5aeb560e01b815260040160405180910390fd5b60025f819055546001600160a01b0316331461027d576040516282b42960e81b815260040160405180910390fd5b610286336104f8565b60015f55565b60025f54036102ae57604051633ee5aeb560e01b815260040160405180910390fd5b60025f556001546001600160a01b031633146102dd57604051630b2db9b760e31b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b03831690638f2839709061030990849060040161064f565b5f604051808303815f87803b158015610320575f80fd5b505af1158015610332573d5f803e3d5ffd5b505060015f5550505050565b60025f540361036057604051633ee5aeb560e01b815260040160405180910390fd5b60025f556001546001600160a01b0316331461038f57604051630b2db9b760e31b815260040160405180910390fd5b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906103bf90869086906004016107a0565b5f604051808303818588803b1580156103d6575f80fd5b505af11580156103e8573d5f803e3d5ffd5b505060015f55505050505050565b60025f540361041857604051633ee5aeb560e01b815260040160405180910390fd5b60025f556001546001600160a01b0316331461044757604051630b2db9b760e31b815260040160405180910390fd5b604051631b2ce7f360e11b81526001600160a01b03831690633659cfe69061030990849060040161064f565b60025f540361049557604051633ee5aeb560e01b815260040160405180910390fd5b60025f556001546001600160a01b031633146104c457604051630b2db9b760e31b815260040160405180910390fd5b6104cd81610514565b5060015f55565b5f805f836001600160a01b03166040516101b1906303e1469160e61b815260040190565b600280546001600160a01b0319169055610511816105a1565b50565b6001600160a01b038116158061053257506001600160a01b03811630145b156105505760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b03838116918217909255600154604051919216907f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700905f90a350565b6001600160a01b0381166105c85760405163156fee5160e31b815260040160405180910390fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0381168114610511575f80fd5b5f6020828403121561063d575f80fd5b813561064881610619565b9392505050565b6001600160a01b0391909116815260200190565b5f8060408385031215610674575f80fd5b823561067f81610619565b9150602083013561068f81610619565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f606084860312156106c0575f80fd5b83356106cb81610619565b925060208401356106db81610619565b9150604084013567ffffffffffffffff8111156106f6575f80fd5b8401601f81018613610706575f80fd5b803567ffffffffffffffff8111156107205761072061069a565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561074f5761074f61069a565b604052818152828201602001881015610766575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f60208284031215610795575f80fd5b815161064881610619565b60018060a01b0383168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f830116840101915050939250505056fea26469706673582212208b2a354c3fb7ac6d6cf9fc16f63601337776bbc1f0f06c8f4787771dc9a4dad764736f6c634300081a00336080604052604051610d04380380610d04833981016040819052610022916103c3565b828161002f82825f610043565b5061003b90508261006e565b5050506104df565b61004c836100db565b5f825111806100585750805b1561006957610067838361011a565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6100ad5f80516020610cbd833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a16100d881610146565b50565b6100e4816101e1565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061013f8383604051806060016040528060278152602001610cdd60279139610275565b9392505050565b6001600160a01b0381166101b05760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b805f80516020610cbd8339815191525b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b61024e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016101a7565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101c0565b60605f80856001600160a01b0316856040516102919190610494565b5f60405180830381855af49150503d805f81146102c9576040519150601f19603f3d011682016040523d82523d5f602084013e6102ce565b606091505b5090925090506102e0868383876102ea565b9695505050505050565b606083156103585782515f03610351576001600160a01b0385163b6103515760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101a7565b5081610362565b610362838361036a565b949350505050565b81511561037a5781518083602001fd5b8060405162461bcd60e51b81526004016101a791906104aa565b80516001600160a01b03811681146103aa575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f805f606084860312156103d5575f80fd5b6103de84610394565b92506103ec60208501610394565b60408501519092506001600160401b03811115610407575f80fd5b8401601f81018613610417575f80fd5b80516001600160401b03811115610430576104306103af565b604051601f8201601f19908116603f011681016001600160401b038111828210171561045e5761045e6103af565b604052818152828201602001881015610475575f80fd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6107d1806104ec5f395ff3fe60806040526004361061004d575f3560e01c80633659cfe6146100645780634f1ef286146100775780635c60da1b1461008a5780638f283970146100ae578063f851a440146100c15761005c565b3661005c5761005a6100c9565b005b61005a6100c9565b61005a610072366004610692565b6100e3565b61005a6100853660046106ab565b610126565b61009261018c565b6040516001600160a01b03909116815260200160405180910390f35b61005a6100bc366004610692565b6101c4565b6100926101ec565b6100d1610214565b6100e16100dc6102a9565b6102b2565b565b6100eb6102d0565b6001600160a01b0316330361011e57610102610302565b61011b8160405180602001604052805f8152505f61030c565b50565b61011b6100c9565b61012e6102d0565b6001600160a01b031633036101845761017f8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506001925061030c915050565b505050565b61017f6100c9565b5f6101956102d0565b6001600160a01b031633036101b9576101ac610302565b6101b46102a9565b905090565b6101c16100c9565b90565b6101cc6102d0565b6001600160a01b0316330361011e576101e3610302565b61011b81610336565b5f6101f56102d0565b6001600160a01b031633036101b95761020c610302565b6101b46102d0565b61021c6102d0565b6001600160a01b031633036100e15760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b5f6101b461038a565b365f80375f80365f845af43d5f803e8080156102cc573d5ff35b3d5ffd5b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b34156100e1575f80fd5b610315836103b1565b5f825111806103215750805b1561017f5761033083836103f0565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035f6102d0565b604080516001600160a01b03928316815291841660208301520160405180910390a161011b8161041c565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102f3565b6103ba816104c5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610415838360405180606001604052806027815260200161077560279139610559565b9392505050565b6001600160a01b0381166104815760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016102a0565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381163b6105325760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102a0565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6104a4565b60605f80856001600160a01b0316856040516105759190610729565b5f60405180830381855af49150503d805f81146105ad576040519150601f19603f3d011682016040523d82523d5f602084013e6105b2565b606091505b50915091506105c3868383876105cd565b9695505050505050565b6060831561063b5782515f03610634576001600160a01b0385163b6106345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102a0565b5081610645565b610645838361064d565b949350505050565b81511561065d5781518083602001fd5b8060405162461bcd60e51b81526004016102a0919061073f565b80356001600160a01b038116811461068d575f80fd5b919050565b5f602082840312156106a2575f80fd5b61041582610677565b5f805f604084860312156106bd575f80fd5b6106c684610677565b9250602084013567ffffffffffffffff8111156106e1575f80fd5b8401601f810186136106f1575f80fd5b803567ffffffffffffffff811115610707575f80fd5b866020828401011115610718575f80fd5b939660209190910195509293505050565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b91fd18d1ac63cfc7b265a0b7fc994e9cae613483e00c4e57a300aa1eade8d5f64736f6c634300081a0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202e39e9753e69febf27ab284d010fb7a6190c93ad8f9fdca5ab0f3677098b36e764736f6c634300081a0033000000000000000000000000c573100a879f480c9ae5290f865a1e354f4ba67f