[ { "inputs": [ { "internalType": "address", "name": "logic_", "type": "address" }, { "internalType": "address", "name": "admin_", "type": "address" }, { "internalType": "bytes", "name": "data_", "type": "bytes" } ], "stateMutability": "payable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" } ], "name": "ERC1967InvalidAdmin", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "implementation", "type": "address" } ], "name": "ERC1967InvalidImplementation", "type": "error" }, { "inputs": [], "name": "ERC1967NonPayable", "type": "error" }, { "inputs": [], "name": "FailedInnerCall", "type": "error" }, { "inputs": [], "name": "ProxyDeniedAdminAccess", "type": "error" }, { "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": "implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proxyAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
60a0604052604051620009d8380380620009d8833981016040819052620000269162000383565b828162000034828262000060565b50506001600160a01b038216608052620000576200005160805190565b620000c6565b50505062000481565b6200006b8262000138565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115620000b857620000b38282620001b8565b505050565b620000c262000235565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f62000108600080516020620009b8833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001358162000257565b50565b806001600160a01b03163b6000036200017457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080846001600160a01b031684604051620001d7919062000463565b600060405180830381855af49150503d806000811462000214576040519150601f19603f3d011682016040523d82523d6000602084013e62000219565b606091505b5090925090506200022c8583836200029a565b95945050505050565b3415620002555760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b0381166200028357604051633173bdd160e11b8152600060048201526024016200016b565b80600080516020620009b883398151915262000197565b606082620002b357620002ad8262000300565b620002f9565b8151158015620002cb57506001600160a01b0384163b155b15620002f657604051639996b31560e01b81526001600160a01b03851660048201526024016200016b565b50805b9392505050565b805115620003115780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80516001600160a01b03811681146200034257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200037a57818101518382015260200162000360565b50506000910152565b6000806000606084860312156200039957600080fd5b620003a4846200032a565b9250620003b4602085016200032a565b60408501519092506001600160401b0380821115620003d257600080fd5b818601915086601f830112620003e757600080fd5b815181811115620003fc57620003fc62000347565b604051601f8201601f19908116603f0116810190838211818310171562000427576200042762000347565b816040528281528960208487010111156200044157600080fd5b620004548360208301602088016200035d565b80955050505050509250925092565b60008251620004778184602087016200035d565b9190910192915050565b608051610516620004a26000396000818160420152608f01526105166000f3fe6080604052600436106100295760003560e01c80633e47158c146100335780635c60da1b14610078575b61003161008d565b005b34801561003f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405161006f919061038d565b60405180910390f35b34801561008457600080fd5b50610062610102565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036100fa576000356001600160e01b03191663278f794360e11b146100f0576040516334ad5dbb60e21b815260040160405180910390fd5b6100f8610111565b565b6100f8610140565b600061010c610150565b905090565b60008061012136600481846103a1565b81019061012e91906103e1565b9150915061013c8282610183565b5050565b6100f861014b610150565b6101de565b600061010c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b61018c82610202565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101d6576101d18282610279565b505050565b61013c6102ef565b3660008037600080366000845af43d6000803e8080156101fd573d6000f35b3d6000fd5b806001600160a01b03163b6000036102385780604051634c9c8ce360e01b815260040161022f919061038d565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161029691906104b1565b600060405180830381855af49150503d80600081146102d1576040519150601f19603f3d011682016040523d82523d6000602084013e6102d6565b606091505b50915091506102e685838361030e565b95945050505050565b34156100f85760405163b398979f60e01b815260040160405180910390fd5b6060826103235761031e82610364565b61035d565b815115801561033a57506001600160a01b0384163b155b1561035a5783604051639996b31560e01b815260040161022f919061038d565b50805b9392505050565b8051156103745780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0391909116815260200190565b600080858511156103b157600080fd5b838611156103be57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156103f457600080fd5b82356001600160a01b038116811461040b57600080fd5b9150602083013567ffffffffffffffff8082111561042857600080fd5b818501915085601f83011261043c57600080fd5b81358181111561044e5761044e6103cb565b604051601f8201601f19908116603f01168101908382118183101715610476576104766103cb565b8160405282815288602084870101111561048f57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104d257602081860181015185830152016104b8565b50600092019182525091905056fea2646970667358221220660bd151a9462bc0dfda57427e70a67401a61e3ea04462dab0d2758cf0854d8964736f6c63430008150033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000e4969be7e8e23152859077311380c9b1e35a20c90000000000000000000000006900064e7a3920c114e25b5fe4780f26520e3231000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c453c425c100000000000000000000000069000dfd5025e82f48eb28325a2b88a241182ced0000000000000000000000001f09ec21d7fd0a21879b919bf0f9c46e6b85ca8b000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000745407c86df8db893011912d3ab28e68b62e49b00000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000