[ { "inputs": [ { "internalType": "address", "name": "_logic", "type": "address" }, { "internalType": "address", "name": "_admin2", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "stateMutability": "payable", "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": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "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": "", "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" } ]
608060405260405162000a9038038062000a9083398101604081905262000026916200022b565b82816200005560017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd62000329565b60008051602062000a708339815191521462000075576200007562000382565b620000808262000168565b805115620000f7576000826001600160a01b031682604051620000a491906200030b565b600060405180830381855af49150503d8060008114620000e1576040519150601f19603f3d011682016040523d82523d6000602084013e620000e6565b606091505b5050905080620000f557600080fd5b505b5062000127905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610462000329565b60008051602062000a508339815191521462000147576200014762000382565b6200015f8260008051602062000a5083398151915255565b505050620003ae565b6200017e816200020860201b620003dd1760201c565b620001f55760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015260840160405180910390fd5b60008051602062000a7083398151915255565b3b151590565b80516001600160a01b03811681146200022657600080fd5b919050565b6000806000606084860312156200024157600080fd5b6200024c846200020e565b92506200025c602085016200020e565b60408501519092506001600160401b03808211156200027a57600080fd5b818601915086601f8301126200028f57600080fd5b815181811115620002a457620002a462000398565b604051601f8201601f19908116603f01168101908382118183101715620002cf57620002cf62000398565b81604052828152896020848701011115620002e957600080fd5b620002fc8360208301602088016200034f565b80955050505050509250925092565b600082516200031f8184602087016200034f565b9190910192915050565b6000828210156200034a57634e487b7160e01b600052601160045260246000fd5b500390565b60005b838110156200036c57818101518382015260200162000352565b838111156200037c576000848401525b50505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61069280620003be6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b610080366004610587565b610138565b61005b6100933660046105a9565b610175565b3480156100a457600080fd5b506100ad610224565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e4366004610587565b610286565b3480156100f557600080fd5b506100ad610398565b6101066103e3565b6101366101317f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61046f565b565b60008051602061063d833981519152546001600160a01b0316336001600160a01b0316141561016d5761016a81610493565b50565b61016a6100fe565b60008051602061063d833981519152546001600160a01b0316336001600160a01b03161415610217576101a783610493565b6000836001600160a01b031683836040516101c392919061062c565b600060405180830381855af49150503d80600081146101fe576040519150601f19603f3d011682016040523d82523d6000602084013e610203565b606091505b505090508061021157600080fd5b50505050565b61021f6100fe565b505050565b600061023c60008051602061063d8339815191525490565b6001600160a01b0316336001600160a01b0316141561027b57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102836100fe565b90565b60008051602061063d833981519152546001600160a01b0316336001600160a01b0316141561016d576001600160a01b0381166103295760405162461bcd60e51b815260206004820152603660248201527f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f604482015275787920746f20746865207a65726f206164647265737360501b60648201526084015b60405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61036060008051602061063d8339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a161016a8160008051602061063d83398151915255565b60006103b060008051602061063d8339815191525490565b6001600160a01b0316336001600160a01b0316141561027b575060008051602061063d8339815191525490565b3b151590565b60008051602061063d833981519152546001600160a01b0316336001600160a01b031614156101365760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b6064820152608401610320565b3660008037600080366000845af43d6000803e80801561048e573d6000f35b3d6000fd5b61049c816104d3565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b6105475760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e7472616374206164647265737300000000006064820152608401610320565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b80356001600160a01b038116811461058257600080fd5b919050565b60006020828403121561059957600080fd5b6105a28261056b565b9392505050565b6000806000604084860312156105be57600080fd5b6105c78461056b565b9250602084013567ffffffffffffffff808211156105e457600080fd5b818601915086601f8301126105f857600080fd5b81358181111561060757600080fd5b87602082850101111561061957600080fd5b6020830194508093505050509250925092565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220246eb06bb4b0df648b861aba14f850ab8359eee23a3a28c5003f80869a658c5964736f6c63430008060033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000334aa4169c32d6c8f1bf7a95a90d2bfd21f3b674000000000000000000000000b85e3d212e042c82c3fc63ca1213ec1025a9436300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000