[ { "inputs": [ { "internalType": "address", "name": "_logic", "type": "address" }, { "internalType": "address", "name": "admin_", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "stateMutability": "payable", "type": "constructor" }, { "inputs": [], "name": "CallWhenPaused", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "providedValue", "type": "uint256" }, { "internalType": "uint256", "name": "minimumValue", "type": "uint256" } ], "name": "FreezeTimeoutTooLow", "type": "error" }, { "inputs": [], "name": "Frozen", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "expected", "type": "address" } ], "name": "Unauthorized", "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": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousPauser", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newPauser", "type": "address" } ], "name": "PauserChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "freezeTime", "type": "uint256" } ], "name": "SetFreezeTime", "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": "admin_", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cancelFreeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "changeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newPauser", "type": "address" } ], "name": "changePauser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "freezeTimeout", "type": "uint256" } ], "name": "freeze", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "freezeTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "frozen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "implementation_", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "pauser", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "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" } ]
6080604052604051620015493803806200154983398101604081905262000026916200049d565b8282828281620000398282600062000053565b506200004790508262000090565b505050505050620005d0565b6200005e83620000eb565b6000825111806200006c5750805b156200008b576200008983836200012d60201b620006551760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000bb6200015c565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e88162000195565b50565b620000f6816200024a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200015583836040518060600160405280602781526020016200152260279139620002fe565b9392505050565b6000620001866000805160206200150283398151915260001b6200037d60201b620002cb1760201c565b546001600160a01b0316919050565b6001600160a01b038116620002005760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b80620002296000805160206200150283398151915260001b6200037d60201b620002cb1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b62000260816200038060201b620006831760201c565b620002c45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f7565b80620002297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037d60201b620002cb1760201c565b6060600080856001600160a01b0316856040516200031d91906200057d565b600060405180830381855af49150503d80600081146200035a576040519150601f19603f3d011682016040523d82523d6000602084013e6200035f565b606091505b50909250905062000373868383876200038f565b9695505050505050565b90565b6001600160a01b03163b151590565b6060831562000403578251600003620003fb576001600160a01b0385163b620003fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f7565b50816200040f565b6200040f838362000417565b949350505050565b815115620004285781518083602001fd5b8060405162461bcd60e51b8152600401620001f791906200059b565b80516001600160a01b03811681146200045c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004945781810151838201526020016200047a565b50506000910152565b600080600060608486031215620004b357600080fd5b620004be8462000444565b9250620004ce6020850162000444565b60408501519092506001600160401b0380821115620004ec57600080fd5b818601915086601f8301126200050157600080fd5b81518181111562000516576200051662000461565b604051601f8201601f19908116603f0116810190838211818310171562000541576200054162000461565b816040528281528960208487010111156200055b57600080fd5b6200056e83602083016020880162000477565b80955050505050509250925092565b600082516200059181846020870162000477565b9190910192915050565b6020815260008251806020840152620005bc81604085016020870162000477565b601f01601f19169190910160400192915050565b610f2280620005e06000396000f3fe6080604052600436106100e15760003560e01c80638456cb591161007f578063bad490dc11610059578063bad490dc14610216578063d7a78db81461022b578063f851a4401461024b578063fd7e1bee14610260576100f0565b80638456cb59146101cc5780638f283970146101e15780639fd0506d14610201576100f0565b80633f4ba83a116100bb5780633f4ba83a146101625780634f1ef286146101775780635c60da1b1461018a5780635c975abb146101b7576100f0565b8063054f7d9c146100f85780632cd271e7146101225780633659cfe614610142576100f0565b366100f0576100ee610283565b005b6100ee610283565b34801561010457600080fd5b5061010d61029d565b60405190151581526020015b60405180910390f35b34801561012e57600080fd5b506100ee61013d366004610d3f565b6102ce565b34801561014e57600080fd5b506100ee61015d366004610d3f565b61034c565b34801561016e57600080fd5b506100ee610386565b6100ee610185366004610d5a565b6103dc565b34801561019657600080fd5b5061019f61044b565b6040516001600160a01b039091168152602001610119565b3480156101c357600080fd5b5061010d61046c565b3480156101d857600080fd5b506100ee6104d7565b3480156101ed57600080fd5b506100ee6101fc366004610d3f565b610540565b34801561020d57600080fd5b5061019f610568565b34801561022257600080fd5b506100ee6105b6565b34801561023757600080fd5b506100ee610246366004610ddd565b6105d5565b34801561025757600080fd5b5061019f6105f5565b34801561026c57600080fd5b50610275610616565b604051908152602001610119565b61028b610692565b61029b6102966106f0565b6106fa565b565b60006102a761071e565b6001600160a01b031633036102c3576102be610751565b905090565b6102cb610283565b90565b6102d661071e565b6001600160a01b03163303610344576102ed610794565b7f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a8116103166107ba565b604080516001600160a01b03928316815291841660208301520160405180910390a1610341816107ea565b50565b610341610283565b61035461071e565b6001600160a01b031633036103445761036b610794565b6103418160405180602001604052806000815250600061083a565b61038e61071e565b6001600160a01b031633036103d4576103a5610794565b60006103c36102cb6001600080516020610ea6833981519152610e0c565b805460ff1916911515919091179055565b61029b610283565b6103e461071e565b6001600160a01b03163303610443576103fb610794565b61043e8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061083a915050565b505050565b61043e610283565b600061045561071e565b6001600160a01b031633036102c3576102be6106f0565b600061047661071e565b6001600160a01b0316336001600160a01b031614806104ad57506104986107ba565b6001600160a01b0316336001600160a01b0316145b156102c3576104ce6102cb6001600080516020610ea6833981519152610e0c565b5460ff16905090565b6104df61071e565b6001600160a01b0316336001600160a01b0316148061051657506105016107ba565b6001600160a01b0316336001600160a01b0316145b156103d457610523610794565b60016103c36102cb82600080516020610ea6833981519152610e0c565b61054861071e565b6001600160a01b031633036103445761055f610794565b61034181610865565b600061057261071e565b6001600160a01b0316336001600160a01b031614806105a957506105946107ba565b6001600160a01b0316336001600160a01b0316145b156102c3576102be6107ba565b6105be61071e565b6001600160a01b031633036103d45761029b6108b9565b6105dd61071e565b6001600160a01b0316330361034457610341816108d3565b60006105ff61071e565b6001600160a01b031633036102c3576102be61071e565b600061062061071e565b6001600160a01b031633036102c357507f04b06dd5becaad633b58f99e01f1e05103eff5a573d10d18c9baf1bc4e6bfd3a5490565b606061067a8383604051806060016040528060278152602001610ec660279139610930565b90505b92915050565b6001600160a01b03163b151590565b6106ae6102cb6001600080516020610ea6833981519152610e0c565b5460ff1615806106c157506106c1610751565b806106ca575033155b156106d75761029b6109a8565b6040516309453df560e21b815260040160405180910390fd5b60006102be610a38565b3660008037600080366000845af43d6000803e808015610719573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60008061077c7f04b06dd5becaad633b58f99e01f1e05103eff5a573d10d18c9baf1bc4e6bfd3a5490565b905060008111801561078e5750804210155b91505090565b61079c610751565b1561029b5760405163a8cab3d160e01b815260040160405180910390fd5b60006107426102cb60017f41a07f15d150fca84be71d927adb8e4a8a0de6ebcadef3119141487ff482f0f2610e0c565b806108196102cb60017f41a07f15d150fca84be71d927adb8e4a8a0de6ebcadef3119141487ff482f0f2610e0c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b61084383610a60565b6000825111806108505750805b1561043e5761085f8383610655565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61088e61071e565b604080516001600160a01b03928316815291841660208301520160405180910390a161034181610aa0565b6108c1610794565b6108c9610b2c565b61029b6000610b81565b6108db610794565b6108e3610b2c565b6283d60081101561091857604051636cb1216560e11b8152600481018290526283d60060248201526044015b60405180910390fd5b4260006109258383610e1f565b905061043e81610b81565b6060600080856001600160a01b03168560405161094d9190610e56565b600060405180830381855af49150503d8060008114610988576040519150601f19603f3d011682016040523d82523d6000602084013e61098d565b606091505b509150915061099e86838387610bda565b9695505050505050565b6109b061071e565b6001600160a01b0316330361029b5760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a40161090f565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610742565b610a6981610c5b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b038116610b055760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161090f565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103610819565b610b34610cef565b6001600160a01b0316336001600160a01b03161461029b5733610b55610cef565b60405163295a81c160e01b81526001600160a01b0392831660048201529116602482015260440161090f565b807f04b06dd5becaad633b58f99e01f1e05103eff5a573d10d18c9baf1bc4e6bfd3a556040518181527f7413b2ccac0d914f9764525af0b89a12aaf913cb0de2b18adb85e22b80c86ca09060200160405180910390a150565b60608315610c49578251600003610c42576001600160a01b0385163b610c425760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161090f565b5081610c53565b610c538383610cf9565b949350505050565b6001600160a01b0381163b610cc85760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161090f565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610819565b60006102be61071e565b815115610d095781518083602001fd5b8060405162461bcd60e51b815260040161090f9190610e72565b80356001600160a01b0381168114610d3a57600080fd5b919050565b600060208284031215610d5157600080fd5b61067a82610d23565b600080600060408486031215610d6f57600080fd5b610d7884610d23565b9250602084013567ffffffffffffffff80821115610d9557600080fd5b818601915086601f830112610da957600080fd5b813581811115610db857600080fd5b876020828501011115610dca57600080fd5b6020830194508093505050509250925092565b600060208284031215610def57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561067d5761067d610df6565b8082018082111561067d5761067d610df6565b60005b83811015610e4d578181015183820152602001610e35565b50506000910152565b60008251610e68818460208701610e32565b9190910192915050565b6020815260008251806020840152610e91816040850160208701610e32565b601f01601f1916919091016040019291505056fea1c51e2db0fd509c88c4d1d064260a12d10b4b2370d6c629050bf501458f88c0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204347acb071bfb47b477fd525b89ab6567e0f3bd5384aaefa483a637d94b82b8a64736f6c63430008110033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000000843359cae1187b432eeb26e1b40c3a2b2374d7e000000000000000000000000934bee2bf812953071fcd8b5d49421ffe434762c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003644538e009000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000cf8ef87c768e66f5cc0ed5a9ca7e9e2e87e0508700000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000dac0000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000184f6e2d436861696e205374616b656420457468657265756d000000000000000000000000000000000000000000000000000000000000000000000000000000066f63734554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000a0be1bbc0c99898df7e6524bf16e893c1e3bb9000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000005dc000000000000000000000000000000000000000000000000000000000000000200000000000000000000000022f9235ff07a37cb822859eca15f1775910fdc84000000000000000000000000f68f062e03285fae600764555b0462705f2fef0e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001b580000000000000000000000000000000000000000000000000000000000000bb80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000