[ { "inputs": [ { "internalType": "address", "name": "_logic", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "stateMutability": "nonpayable", "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": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "impl", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_impl", "type": "address" } ], "name": "upgradeImplementation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
608060405234801561001057600080fd5b506040516108e33803806108e383398101604081905261002f9161032a565b818161003d82826000610046565b50505050610447565b61004f8361007c565b60008251118061005c5750805b156100775761007583836100bc60201b6100c21760201c565b505b505050565b610085816100e8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100e183836040518060600160405280602781526020016108bc602791396101ba565b9392505050565b6100fb8161023360201b6100ee1760201c565b6101625760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61024260201b6100fd1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101d791906103f8565b600060405180830381855af49150503d8060008114610212576040519150601f19603f3d011682016040523d82523d6000602084013e610217565b606091505b50909250905061022986838387610245565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102b45782516000036102ad576001600160a01b0385163b6102ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610159565b50816102be565b6102be83836102c6565b949350505050565b8151156102d65781518083602001fd5b8060405162461bcd60e51b81526004016101599190610414565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610321578181015183820152602001610309565b50506000910152565b6000806040838503121561033d57600080fd5b82516001600160a01b038116811461035457600080fd5b60208401519092506001600160401b038082111561037157600080fd5b818501915085601f83011261038557600080fd5b815181811115610397576103976102f0565b604051601f8201601f19908116603f011681019083821181831017156103bf576103bf6102f0565b816040528281528860208487010111156103d857600080fd5b6103e9836020830160208801610306565b80955050505050509250929050565b6000825161040a818460208701610306565b9190910192915050565b6020815260008251806020840152610433816040850160208701610306565b601f01601f19169190910160400192915050565b610466806104566000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b1461004457806383f94db7146100755761003c565b3661003c5761003a610095565b005b61003a610095565b34801561005057600080fd5b506100596100a7565b6040516001600160a01b03909116815260200160405180910390f35b34801561008157600080fd5b5061003a61009036600461036d565b6100b6565b6100a56100a0610100565b610133565b565b60006100b1610100565b905090565b6100bf81610157565b50565b60606100e7838360405180606001604052806027815260200161040a60279139610197565b9392505050565b6001600160a01b03163b151590565b90565b60006100b17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b3660008037600080366000845af43d6000803e808015610152573d6000f35b3d6000fd5b6101608161020f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060600080856001600160a01b0316856040516101b491906103ba565b600060405180830381855af49150503d80600081146101ef576040519150601f19603f3d011682016040523d82523d6000602084013e6101f4565b606091505b5091509150610205868383876102c2565b9695505050505050565b6001600160a01b0381163b6102815760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060831561033157825160000361032a576001600160a01b0385163b61032a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610278565b508161033b565b61033b8383610343565b949350505050565b8151156103535781518083602001fd5b8060405162461bcd60e51b815260040161027891906103d6565b60006020828403121561037f57600080fd5b81356001600160a01b03811681146100e757600080fd5b60005b838110156103b1578181015183820152602001610399565b50506000910152565b600082516103cc818460208701610396565b9190910192915050565b60208152600082518060208401526103f5816040850160208701610396565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220de6f6ae86ba1bf42cc5c0037209d64d900e788d62e760ec307f8b3e07019acc864736f6c63430008120033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000fa30bc2c9d2437a404306bed77701db46ebfe2be000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002c434d3e705000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000003b9aca00000000000000000000000000bd695e8aaa217f59288ab9565f61e1d4cedc9f86000000000000000000000000000000000000000000000000000000000000c350000000000000000000000000201eba5cc46d216ce6dc03f6a759e8e766e956ae0000000000000000000000000000000000000000000000000000000000000280000000000000000000000000bd695e8aaa217f59288ab9565f61e1d4cedc9f86000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000f574c41535447454e45524154494f4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f574c41535447454e45524154494f4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003968747470733a2f2f6e66742d67616d652d6c6173742d67656e65726174696f6e2e776c6670726f6a6563742e636f6d2f6d657461646174612f0000000000000000000000000000000000000000000000000000000000000000000000000000086d657461646174610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eac68a3984f54c6bd24b3ccb56aa1b0629ca354900000000000000000000000000000000000000000000000000000000