[ { "inputs": [ { "internalType": "address", "name": "_logic", "type": "address" }, { "internalType": "address", "name": "admin_", "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": "adminAddress", "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": "implementationAddress", "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" } ]
608060405260405162000a8038038062000a80833981016040819052620000269162000243565b82816200005560017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6200033d565b60008051602062000a60833981519152146200008157634e487b7160e01b600052600160045260246000fd5b6200008c8262000180565b80511562000103576000826001600160a01b031682604051620000b091906200031f565b600060405180830381855af49150503d8060008114620000ed576040519150601f19603f3d011682016040523d82523d6000602084013e620000f2565b606091505b50509050806200010157600080fd5b505b5062000133905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046200033d565b60008051602062000a40833981519152146200015f57634e487b7160e01b600052600160045260246000fd5b620001778260008051602062000a4083398151915255565b505050620003aa565b62000196816200022060201b620003d71760201c565b6200020d5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015260840160405180910390fd5b60008051602062000a6083398151915255565b3b151590565b80516001600160a01b03811681146200023e57600080fd5b919050565b60008060006060848603121562000258578283fd5b620002638462000226565b9250620002736020850162000226565b60408501519092506001600160401b038082111562000290578283fd5b818601915086601f830112620002a4578283fd5b815181811115620002b957620002b962000394565b604051601f8201601f19908116603f01168101908382118183101715620002e457620002e462000394565b81604052828152896020848701011115620002fd578586fd5b6200031083602083016020880162000361565b80955050505050509250925092565b600082516200033381846020870162000361565b9190910192915050565b6000828210156200035c57634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156200037e57818101518382015260200162000364565b838111156200038e576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b61068680620003ba6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe61461005f5780634f1ef2861461007f5780635c60da1b146100925780638f283970146100c3578063f851a440146100e357610055565b3661005557005b61005d6100f8565b005b34801561006b57600080fd5b5061005d61007a366004610581565b610132565b61005d61008d3660046105a2565b61016f565b34801561009e57600080fd5b506100a761021e565b6040516001600160a01b03909116815260200160405180910390f35b3480156100cf57600080fd5b5061005d6100de366004610581565b610280565b3480156100ef57600080fd5b506100a7610392565b6101006103dd565b61013061012b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b610469565b565b600080516020610631833981519152546001600160a01b0316336001600160a01b03161415610167576101648161048d565b50565b6101646100f8565b600080516020610631833981519152546001600160a01b0316336001600160a01b03161415610211576101a18361048d565b6000836001600160a01b031683836040516101bd929190610620565b600060405180830381855af49150503d80600081146101f8576040519150601f19603f3d011682016040523d82523d6000602084013e6101fd565b606091505b505090508061020b57600080fd5b50505050565b6102196100f8565b505050565b60006102366000805160206106318339815191525490565b6001600160a01b0316336001600160a01b0316141561027557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61027d6100f8565b90565b600080516020610631833981519152546001600160a01b0316336001600160a01b03161415610167576001600160a01b0381166103235760405162461bcd60e51b815260206004820152603660248201527f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f604482015275787920746f20746865207a65726f206164647265737360501b60648201526084015b60405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035a6000805160206106318339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a16101648160008051602061063183398151915255565b60006103aa6000805160206106318339815191525490565b6001600160a01b0316336001600160a01b0316141561027557506000805160206106318339815191525490565b3b151590565b600080516020610631833981519152546001600160a01b0316336001600160a01b031614156101305760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b606482015260840161031a565b3660008037600080366000845af43d6000803e808015610488573d6000f35b3d6000fd5b610496816104cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b6105415760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015260840161031a565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b80356001600160a01b038116811461057c57600080fd5b919050565b600060208284031215610592578081fd5b61059b82610565565b9392505050565b6000806000604084860312156105b6578182fd5b6105bf84610565565b9250602084013567ffffffffffffffff808211156105db578384fd5b818601915086601f8301126105ee578384fd5b8135818111156105fc578485fd5b87602082850101111561060d578485fd5b6020830194508093505050509250925092565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220ccbb94ef5092a0bf84853cefa22901724a90c6dc70692625ee3f5c86b34819a464736f6c63430008040033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000403dcec12484c0c1b6816025c80f45a6fdff1ac600000000000000000000000088a9142fa18678003342a8fd706bd301e0fecefd000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c4e16fdbd5000000000000000000000000ab6df2de75a4f07d95c040df90c7362bb5edcd90000000000000000000000000a4290c9eae274c7a8fbc57a1e68adc3e95e7c67e000000000000000000000000daeada3d210d2f45874724beea03c7d4bbd4167400000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000280000000000000000000000000ec58c11aa55836c896b80a9d8032e39eeb525cbc00000000000000000000000039d3799b8abefc3d05db5ba3b3b277014647500000000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000e1000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000006000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000021526962626f6e20797655534443205468657461205661756c742045544820507574000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013727976555344432d4554482d502d54484554410000000000000000000000000000000000000000000000000000000000000000000000000000000000