[ { "inputs": [ { "internalType": "address", "name": "_logic", "type": "address" }, { "internalType": "address", "name": "initialOwner", "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" } ]
60a060405260405162000e7f38038062000e7f8339810160408190526200002691620003ae565b828162000034828262000095565b50508160405162000045906200034c565b62000051919062000488565b604051809103905ff0801580156200006b573d5f803e3d5ffd5b506001600160a01b03166080526200008c6200008660805190565b620000fa565b505050620004b9565b620000a0826200016b565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115620000ec57620000e78282620001e7565b505050565b620000f662000260565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200013b5f8051602062000e5f833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001688162000282565b50565b806001600160a01b03163b5f03620001a35780604051634c9c8ce360e01b81526004016200019a919062000488565b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516200020591906200049c565b5f60405180830381855af49150503d805f81146200023f576040519150601f19603f3d011682016040523d82523d5f602084013e62000244565b606091505b50909250905062000257858383620002c4565b95945050505050565b3415620002805760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002ae575f604051633173bdd160e11b81526004016200019a919062000488565b805f8051602062000e5f833981519152620001c6565b606082620002dd57620002d78262000322565b6200031b565b8151158015620002f557506001600160a01b0384163b155b15620003185783604051639996b31560e01b81526004016200019a919062000488565b50805b9392505050565b805115620003335780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b610526806200093983390190565b80516001600160a01b038116811462000371575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620003a65781810151838201526020016200038c565b50505f910152565b5f805f60608486031215620003c1575f80fd5b620003cc846200035a565b9250620003dc602085016200035a565b60408501519092506001600160401b0380821115620003f9575f80fd5b818601915086601f8301126200040d575f80fd5b81518181111562000422576200042262000376565b604051601f8201601f19908116603f011681019083821181831017156200044d576200044d62000376565b8160405282815289602084870101111562000466575f80fd5b620004798360208301602088016200038a565b80955050505050509250925092565b6001600160a01b0391909116815260200190565b5f8251620004af8184602087016200038a565b9190910192915050565b608051610468620004d15f395f601001526104685ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f8061009136600481846102cf565b81019061009e919061030a565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b61013e565b6100c98261015c565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101bf565b505050565b6100ac610231565b5f6101395f80516020610413833981519152546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e808015610158573d5ff35b3d5ffd5b806001600160a01b03163b5f036101915780604051634c9c8ce360e01b815260040161018891906103d2565b60405180910390fd5b5f8051602061041383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516101db91906103e6565b5f60405180830381855af49150503d805f8114610213576040519150601f19603f3d011682016040523d82523d5f602084013e610218565b606091505b5091509150610228858383610250565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b60608261026557610260826102a6565b61029f565b815115801561027c57506001600160a01b0384163b155b1561029c5783604051639996b31560e01b815260040161018891906103d2565b50805b9392505050565b8051156102b65780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f80858511156102dd575f80fd5b838611156102e9575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561031b575f80fd5b82356001600160a01b0381168114610331575f80fd5b915060208301356001600160401b038082111561034c575f80fd5b818501915085601f83011261035f575f80fd5b813581811115610371576103716102f6565b604051601f8201601f19908116603f01168101908382118183101715610399576103996102f6565b816040528281528860208487010111156103b1575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b6001600160a01b0391909116815260200190565b5f82515f5b8181101561040557602081860181015185830152016103eb565b505f92019182525091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212204d1b9be775ecd65225ff718a160f4730782c78c9370da7c64764abe3dc5731c064736f6c63430008140033608060405234801561000f575f80fd5b5060405161052638038061052683398101604081905261002e916100bb565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100658161006c565b50506100e8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100cb575f80fd5b81516001600160a01b03811681146100e1575f80fd5b9392505050565b610431806100f55f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008d578063ad3cb1cc146100a0578063f2fde38b146100dd575b5f80fd5b348015610058575f80fd5b506100616100fc565b005b34801561006e575f80fd5b5061007761010f565b604051610084919061024f565b60405180910390f35b61006161009b36600461028b565b61011d565b3480156100ab575f80fd5b506100d0604051806040016040528060058152602001640352e302e360dc1b81525081565b604051610084919061039c565b3480156100e8575f80fd5b506100616100f73660046103b5565b610188565b6101046101ce565b61010d5f610200565b565b5f546001600160a01b031690565b6101256101ce565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015590869086906004016103d0565b5f604051808303818588803b15801561016c575f80fd5b505af115801561017e573d5f803e3d5ffd5b5050505050505050565b6101906101ce565b6001600160a01b0381166101c2575f604051631e4fbdf760e01b81526004016101b9919061024f565b60405180910390fd5b6101cb81610200565b50565b336101d761010f565b6001600160a01b03161461010d573360405163118cdaa760e01b81526004016101b9919061024f565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146101cb575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f805f6060848603121561029d575f80fd5b83356102a881610263565b925060208401356102b881610263565b915060408401356001600160401b03808211156102d3575f80fd5b818601915086601f8301126102e6575f80fd5b8135818111156102f8576102f8610277565b604051601f8201601f19908116603f0116810190838211818310171561032057610320610277565b81604052828152896020848701011115610338575f80fd5b826020860160208301375f6020848301015280955050505050509250925092565b5f81518084525f5b8181101561037d57602081850181015186830182015201610361565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6103ae6020830184610359565b9392505050565b5f602082840312156103c5575f80fd5b81356103ae81610263565b6001600160a01b03831681526040602082018190525f906103f390830184610359565b94935050505056fea264697066735822122094d293e0bb2efac6e3e30a08a03b966f0e5d4f998da51470e1ea87f0ee2f172864736f6c63430008140033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610300000000000000000000000001afe15c3d8e4d335b26e5fb62d9d711df04f9ca0000000000000000000000004b21438ffff0f0b938ad64cd44b8c6ebb78ba56e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001048f15b414000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000004b21438ffff0f0b938ad64cd44b8c6ebb78ba56e0000000000000000000000000b72b8a1c23b36b7d7acc8c1a387b026344395db000000000000000000000000000000000000000000000000000000000000001b416666696e652078436861696e20756c7472614554487320322e300000000000000000000000000000000000000000000000000000000000000000000000000a78556c747261455448730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000