[ { "inputs": [ { "internalType": "address", "name": "_logic", "type": "address" }, { "internalType": "address", "name": "_admin", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "admin_", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "changeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "implementation_", "type": "address" } ], "stateMutability": "nonpayable", "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" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b5060405162000e8f38038062000e8f8339810160408190526200003491620004a4565b8282828281620000478282600062000061565b50620000559050826200009e565b505050505050620005d7565b6200006c83620000f9565b6000825111806200007a5750805b1562000099576200009783836200013b60201b6200025a1760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000c96200016a565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000f681620001a3565b50565b620001048162000258565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062000163838360405180606001604052806027815260200162000e68602791396200030c565b9392505050565b60006200019460008051602062000e4883398151915260001b620003f260201b620002021760201c565b546001600160a01b0316919050565b6001600160a01b0381166200020e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200023760008051602062000e4883398151915260001b620003f260201b620002021760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200026e81620003f560201b620002861760201c565b620002d25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000205565b80620002377f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b620003f260201b620002021760201c565b60606001600160a01b0384163b620003765760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840162000205565b600080856001600160a01b03168560405162000393919062000584565b600060405180830381855af49150503d8060008114620003d0576040519150601f19603f3d011682016040523d82523d6000602084013e620003d5565b606091505b509092509050620003e882828662000404565b9695505050505050565b90565b6001600160a01b03163b151590565b606083156200041557508162000163565b825115620004265782518084602001fd5b8160405162461bcd60e51b8152600401620002059190620005a2565b80516001600160a01b03811681146200045a57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200049257818101518382015260200162000478565b83811115620000975750506000910152565b600080600060608486031215620004ba57600080fd5b620004c58462000442565b9250620004d56020850162000442565b60408501519092506001600160401b0380821115620004f357600080fd5b818601915086601f8301126200050857600080fd5b8151818111156200051d576200051d6200045f565b604051601f8201601f19908116603f011681019083821181831017156200054857620005486200045f565b816040528281528960208487010111156200056257600080fd5b6200057583602083016020880162000475565b80955050505050509250925092565b600082516200059881846020870162000475565b9190910192915050565b6020815260008251806020840152620005c381604085016020870162000475565b601f01601f19169190910160400192915050565b61086180620005e76000396000f3fe60806040526004361061004e5760003560e01c80633659cfe61461005f5780634f1ef2861461007f5780635c60da1b146100925780638f283970146100c3578063f851a440146100e357610055565b3661005557005b61005d6100f8565b005b34801561006b57600080fd5b5061005d61007a3660046106eb565b610112565b61005d61008d366004610706565b610159565b34801561009e57600080fd5b506100a76101ca565b6040516001600160a01b03909116815260200160405180910390f35b3480156100cf57600080fd5b5061005d6100de3660046106eb565b610205565b3480156100ef57600080fd5b506100a761022f565b610100610295565b61011061010b610334565b61033e565b565b61011a610362565b6001600160a01b0316336001600160a01b031614156101515761014e81604051806020016040528060008152506000610395565b50565b61014e6100f8565b610161610362565b6001600160a01b0316336001600160a01b031614156101c2576101bd8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610395915050565b505050565b6101bd6100f8565b60006101d4610362565b6001600160a01b0316336001600160a01b031614156101fa576101f5610334565b905090565b6102026100f8565b90565b61020d610362565b6001600160a01b0316336001600160a01b031614156101515761014e816103c0565b6000610239610362565b6001600160a01b0316336001600160a01b031614156101fa576101f5610362565b606061027f838360405180606001604052806027815260200161080560279139610414565b9392505050565b6001600160a01b03163b151590565b61029d610362565b6001600160a01b0316336001600160a01b031614156101105760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101f56104f1565b3660008037600080366000845af43d6000803e80801561035d573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039e83610519565b6000825111806103ab5750805b156101bd576103ba838361025a565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e9610362565b604080516001600160a01b03928316815291841660208301520160405180910390a161014e81610559565b60606001600160a01b0384163b61047c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161032b565b600080856001600160a01b03168560405161049791906107b5565b600060405180830381855af49150503d80600081146104d2576040519150601f19603f3d011682016040523d82523d6000602084013e6104d7565b606091505b50915091506104e7828286610602565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610386565b6105228161063b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105be5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161032b565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561061157508161027f565b8251156106215782518084602001fd5b8160405162461bcd60e51b815260040161032b91906107d1565b6001600160a01b0381163b6106a85760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161032b565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105e1565b80356001600160a01b03811681146106e657600080fd5b919050565b6000602082840312156106fd57600080fd5b61027f826106cf565b60008060006040848603121561071b57600080fd5b610724846106cf565b9250602084013567ffffffffffffffff8082111561074157600080fd5b818601915086601f83011261075557600080fd5b81358181111561076457600080fd5b87602082850101111561077657600080fd5b6020830194508093505050509250925092565b60005b838110156107a457818101518382015260200161078c565b838111156103ba5750506000910152565b600082516107c7818460208701610789565b9190910192915050565b60208152600082518060208401526107f0816040850160208701610789565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b32d948027252f00b5c0375105c8c74deb7db14cfb566812ea5a97c1755d4b4964736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656400000000000000000000000076cfaf40b8853741a2943977f6670faac5d70a5a00000000000000000000000046117789beb9fd78f0a61e2ad916440bb28b0e3d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004a6bbc40300000000000000000000000000000000000000000000000000000000