[ { "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": "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": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "changeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes[]", "name": "data", "type": "bytes[]" } ], "name": "multicall", "outputs": [ { "internalType": "bytes[]", "name": "results", "type": "bytes[]" } ], "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" } ]
60806040526040516200116f3803806200116f83398101604081905262000026916200051d565b6200005360017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd620005fd565b60008051602062001128833981519152146200007357620000736200061f565b620000a060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104620005fd565b6000805160206200110883398151915214620000c057620000c06200061f565b620000cb82620000e2565b620000d9838260006200013d565b50505062000688565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200010d6200017a565b604080516001600160a01b03928316815291841660208301520160405180910390a16200013a81620001b3565b50565b620001488362000268565b600082511180620001565750805b156200017557620001738383620002aa60201b620003771760201c565b505b505050565b6000620001a46000805160206200110883398151915260001b620002db60201b620003a31760201c565b546001600160a01b0316919050565b6001600160a01b0381166200021e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b80620002476000805160206200110883398151915260001b620002db60201b620003a31760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200027381620002de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620002d28383604051806060016040528060278152602001620011486027913962000381565b90505b92915050565b90565b620002f4816200040060201b620003a61760201c565b620003585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000215565b80620002476000805160206200112883398151915260001b620002db60201b620003a31760201c565b6060600080856001600160a01b031685604051620003a0919062000635565b600060405180830381855af49150503d8060008114620003dd576040519150601f19603f3d011682016040523d82523d6000602084013e620003e2565b606091505b509092509050620003f6868383876200040f565b9695505050505050565b6001600160a01b03163b151590565b60608315620004835782516000036200047b576001600160a01b0385163b6200047b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000215565b50816200048f565b6200048f838362000497565b949350505050565b815115620004a85781518083602001fd5b8060405162461bcd60e51b815260040162000215919062000653565b80516001600160a01b0381168114620004dc57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000514578181015183820152602001620004fa565b50506000910152565b6000806000606084860312156200053357600080fd5b6200053e84620004c4565b92506200054e60208501620004c4565b60408501519092506001600160401b03808211156200056c57600080fd5b818601915086601f8301126200058157600080fd5b815181811115620005965762000596620004e1565b604051601f8201601f19908116603f01168101908382118183101715620005c157620005c1620004e1565b81604052828152896020848701011115620005db57600080fd5b620005ee836020830160208801620004f7565b80955050505050509250925092565b81810381811115620002d557634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6000825162000649818460208701620004f7565b9190910192915050565b602081526000825180602084015262000674816040850160208701620004f7565b601f01601f19169190910160400192915050565b610a7080620006986000396000f3fe6080604052600436106100435760003560e01c80633659cfe61461005a5780634f1ef2861461007a5780638f2839701461008d578063ac9650d8146100ad57610052565b36610052576100506100e3565b005b6100506100e3565b34801561006657600080fd5b5061005061007536600461077e565b6100f5565b610050610088366004610799565b610174565b34801561009957600080fd5b506100506100a836600461077e565b610214565b3480156100b957600080fd5b506100cd6100c836600461081c565b610275565b6040516100da91906108e1565b60405180910390f35b6100f36100ee6103b5565b6103c4565b565b6100fd6103e8565b6001600160a01b0316336001600160a01b031614604051806040016040528060048152602001634531303160e01b815250906101555760405162461bcd60e51b815260040161014c9190610943565b60405180910390fd5b506101718160405180602001604052806000815250600061041b565b50565b61017c6103e8565b6001600160a01b0316336001600160a01b031614604051806040016040528060048152602001634531303160e01b815250906101cb5760405162461bcd60e51b815260040161014c9190610943565b5061020f8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061041b915050565b505050565b61021c6103e8565b6001600160a01b0316336001600160a01b031614604051806040016040528060048152602001634531303160e01b8152509061026b5760405162461bcd60e51b815260040161014c9190610943565b5061017181610446565b60608167ffffffffffffffff81111561029057610290610956565b6040519080825280602002602001820160405280156102c357816020015b60608152602001906001900390816102ae5790505b50905060006102d06103b5565b905060005b8381101561036f5761033f828686848181106102f3576102f361096c565b90506020028101906103059190610982565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061037792505050565b8382815181106103515761035161096c565b60200260200101819052508080610367906109d0565b9150506102d5565b505092915050565b606061039c8383604051806060016040528060278152602001610a146027913961049a565b9392505050565b90565b6001600160a01b03163b151590565b60006103bf610512565b905090565b3660008037600080366000845af43d6000803e8080156103e3573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6104248361053a565b6000825111806104315750805b1561020f576104408383610377565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61046f6103e8565b604080516001600160a01b03928316815291841660208301520160405180910390a16101718161057a565b6060600080856001600160a01b0316856040516104b791906109f7565b600060405180830381855af49150503d80600081146104f2576040519150601f19603f3d011682016040523d82523d6000602084013e6104f7565b606091505b509150915061050886838387610623565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61040c565b610543816106a4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105df5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060831561069257825160000361068b576001600160a01b0385163b61068b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014c565b508161069c565b61069c8383610738565b949350505050565b6001600160a01b0381163b6107115760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610602565b8151156107485781518083602001fd5b8060405162461bcd60e51b815260040161014c9190610943565b80356001600160a01b038116811461077957600080fd5b919050565b60006020828403121561079057600080fd5b61039c82610762565b6000806000604084860312156107ae57600080fd5b6107b784610762565b9250602084013567ffffffffffffffff808211156107d457600080fd5b818601915086601f8301126107e857600080fd5b8135818111156107f757600080fd5b87602082850101111561080957600080fd5b6020830194508093505050509250925092565b6000806020838503121561082f57600080fd5b823567ffffffffffffffff8082111561084757600080fd5b818501915085601f83011261085b57600080fd5b81358181111561086a57600080fd5b8660208260051b850101111561087f57600080fd5b60209290920196919550909350505050565b60005b838110156108ac578181015183820152602001610894565b50506000910152565b600081518084526108cd816020860160208601610891565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561093657603f198886030184526109248583516108b5565b94509285019290850190600101610908565b5092979650505050505050565b60208152600061039c60208301846108b5565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261099957600080fd5b83018035915067ffffffffffffffff8211156109b457600080fd5b6020019150368190038213156109c957600080fd5b9250929050565b6000600182016109f057634e487b7160e01b600052601160045260246000fd5b5060010190565b60008251610a09818460208701610891565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f84c4367a5fd892455f5b398cff013f5ce7d43e8c592d890ee9c7dec5691b31164736f6c63430008110033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000b9d66383298921bb5910e6182ee79f2696546fe60000000000000000000000000820c2782474288bb39ba3a6e4918283d158c1a500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000184d4af8de200000000000000000000000066f850099e6d5dbd712d15244b65bd822f36be7e000000000000000000000000e56c0d4d6a08c05ec42e923efd06497f115d479900000000000000000000000077dce029c79e696fa58ff2676430028049c8a7d900000000000000000000000000000000000000000001a784379d99db42000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a9d23408b9ba935c230493c40c73824df71a097500000000000000000000000000000000000000000000000000000000000000154d696e746572657374205461696b6f20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000066d5441494b4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000