[
{
"inputs": [
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "address",
"name": "logic",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": "impl",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "logic",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "upgradeToAndCall",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
]
60806040523480156200001157600080fd5b5060405162000b7038038062000b7083398101604081905262000034916200034f565b826001600160a01b0381166200004957600080fd5b6200007660017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6200047e565b60008051602062000b2983398151915214620000a257634e487b7160e01b600052600160045260246000fd5b620000cf60017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61046200047e565b60008051602062000b0983398151915214620000fb57634e487b7160e01b600052600160045260246000fd5b60008051602062000b0983398151915255620001178262000141565b8051156200013857620001368282620001e260201b620001cd1760201c565b505b505050620004eb565b62000157816200021160201b620001f91760201c565b620001cf5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084015b60405180910390fd5b60008051602062000b2983398151915255565b60606200020a838360405180606001604052806027815260200162000b496027913962000217565b9392505050565b3b151590565b6060833b620002785760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401620001c6565b600080856001600160a01b0316856040516200029591906200042b565b600060405180830381855af49150503d8060008114620002d2576040519150601f19603f3d011682016040523d82523d6000602084013e620002d7565b606091505b509092509050620002ea828286620002f4565b9695505050505050565b60608315620003055750816200020a565b825115620003165782518084602001fd5b8160405162461bcd60e51b8152600401620001c6919062000449565b80516001600160a01b03811681146200034a57600080fd5b919050565b60008060006060848603121562000364578283fd5b6200036f8462000332565b92506200037f6020850162000332565b60408501519092506001600160401b03808211156200039c578283fd5b818601915086601f830112620003b0578283fd5b815181811115620003c557620003c5620004d5565b604051601f8201601f19908116603f01168101908382118183101715620003f057620003f0620004d5565b8160405282815289602084870101111562000409578586fd5b6200041c836020830160208801620004a2565b80955050505050509250925092565b600082516200043f818460208701620004a2565b9190910192915050565b60208152600082518060208401526200046a816040850160208701620004a2565b601f01601f19169190910160400192915050565b6000828210156200049d57634e487b7160e01b81526011600452602481fd5b500390565b60005b83811015620004bf578181015183820152602001620004a5565b83811115620004cf576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b61060e80620004fb6000396000f3fe60806040526004361061002d5760003560e01c80634f1ef286146100445780635c60da1b146100575761003c565b3661003c5761003a610088565b005b61003a610088565b61003a6100523660046104ab565b6100c2565b34801561006357600080fd5b5061006c610159565b6040516001600160a01b03909116815260200160405180910390f35b6100906101ff565b6100c06100bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102a2565b565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103546001600160a01b0316336001600160a01b0316141561014c57610106836102c6565b6101468383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506101cd92505050565b50505050565b610154610088565b505050565b60006101837fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6001600160a01b0316336001600160a01b031614156101c257507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6101ca610088565b90565b60606101f283836040518060600160405280602781526020016105b260279139610306565b9392505050565b3b151590565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103546001600160a01b0316336001600160a01b031614156100c05760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8080156102c1573d6000f35b3d6000fd5b6102cf816103da565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060833b6103655760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610299565b600080856001600160a01b0316856040516103809190610536565b600060405180830381855af49150503d80600081146103bb576040519150601f19603f3d011682016040523d82523d6000602084013e6103c0565b606091505b50915091506103d0828286610472565b9695505050505050565b803b61044e5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e7472616374206164647265737300000000006064820152608401610299565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156104815750816101f2565b8251156104915782518084602001fd5b8160405162461bcd60e51b81526004016102999190610552565b6000806000604084860312156104bf578283fd5b83356001600160a01b03811681146104d5578384fd5b9250602084013567ffffffffffffffff808211156104f1578384fd5b818601915086601f830112610504578384fd5b813581811115610512578485fd5b876020828501011115610523578485fd5b6020830194508093505050509250925092565b60008251610548818460208701610585565b9190910192915050565b6020815260008251806020840152610571816040850160208701610585565b601f01601f19169190910160400192915050565b60005b838110156105a0578181015183820152602001610588565b83811115610146575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205eb8930a105fb99b7417ccc4caef6c519816e7403a37417afdb8b4331582f9d464736f6c63430008040033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656400000000000000000000000087b8986adabb8b6761fea770e79a8497e764f7f1000000000000000000000000c56b7c231fd1cbcaaefeab6dc2ad072120846bdf000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001a414e613a8000000000000000000000000c6f769a0c46cffa57d91e87ed3bc0cd338ce636100000000000000000000000079167b30ae9d49194ed9fdcdc011b22ed1bf0ae1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d2f00000000000000000000000000000000000000000000000000000000000002a3000000000000000000000000000000000000000000000000000000000000000bb800000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000144175676d656e746564205374616b6520555344540000000000000000000000000000000000000000000000000000000000000000000000000000000000000007786167555344540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000