[
{
"inputs": [
{
"internalType": "address",
"name": "beacon",
"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": "beacon",
"type": "address"
}
],
"name": "ERC1967InvalidBeacon",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "ERC1967InvalidImplementation",
"type": "error"
},
{
"inputs": [],
"name": "ERC1967NonPayable",
"type": "error"
},
{
"inputs": [],
"name": "FailedCall",
"type": "error"
},
{
"inputs": [],
"name": "IBeaconProxy_BeaconNotOwned",
"type": "error"
},
{
"inputs": [],
"name": "IBeaconProxy_InvalidFunctionCall",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "beacon",
"type": "address"
}
],
"name": "BeaconUpgraded",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
}
]0x6080604052604051610bce380380610bce83398101604081905261002291610424565b61002c828261003c565b6100346100f9565b505050610519565b610045826101c7565b6040516001600160a01b038316907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e905f90a28051156100ed576100e8826001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100e291906104e8565b826102c2565b505050565b6100f561032c565b5050565b5f8061010361034d565b60408051600481526024810182526020810180516001600160e01b0316638da5cb5b60e01b17905290519192505f9182916001600160a01b038516916101499190610503565b5f60405180830381855afa9150503d805f8114610181576040519150601f19603f3d011682016040523d82523d5f602084013e610186565b606091505b5091509150816101a95760405163e53d4edf60e01b815260040160405180910390fd5b5f818060200190518101906101be91906104e8565b95945050505050565b806001600160a01b03163b5f0361020157604051631933b43b60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b805f516020610bae5f395f51905f5280546001600160a01b0319166001600160a01b0392831617905560408051635c60da1b60e01b815290515f92841691635c60da1b9160048083019260209291908290030181865afa158015610267573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028b91906104e8565b9050806001600160a01b03163b5f036100f557604051634c9c8ce360e01b81526001600160a01b03821660048201526024016101f8565b60605f5f846001600160a01b0316846040516102de9190610503565b5f60405180830381855af49150503d805f8114610316576040519150601f19603f3d011682016040523d82523d5f602084013e61031b565b606091505b5090925090506101be858383610371565b341561034b5760405163b398979f60e01b815260040160405180910390fd5b565b5f61036c5f516020610bae5f395f51905f52546001600160a01b031690565b905090565b60608261038657610381826103d0565b6103c9565b815115801561039d57506001600160a01b0384163b155b156103c657604051639996b31560e01b81526001600160a01b03851660048201526024016101f8565b50805b9392505050565b8051156103e05780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b03811681146103f9575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215610435575f5ffd5b8251610440816103fc565b60208401519092506001600160401b0381111561045b575f5ffd5b8301601f8101851361046b575f5ffd5b80516001600160401b0381111561048457610484610410565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104b2576104b2610410565b6040528181528282016020018710156104c9575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b5f602082840312156104f8575f5ffd5b81516103c9816103fc565b5f82518060208501845e5f920191825250919050565b610688806105265f395ff3fe608060405261000c61000e565b005b610016610069565b6001600160a01b03163303610061575f356001600160e01b031916630c94d57b60e21b146100575760405163671a3d6360e01b815260040160405180910390fd5b61005f610137565b565b61005f610165565b5f5f610073610175565b60408051600481526024810182526020810180516001600160e01b0316638da5cb5b60e01b17905290519192505f9182916001600160a01b038516916100b9919061050c565b5f60405180830381855afa9150503d805f81146100f1576040519150601f19603f3d011682016040523d82523d5f602084013e6100f6565b606091505b5091509150816101195760405163e53d4edf60e01b815260040160405180910390fd5b5f8180602001905181019061012e9190610536565b95945050505050565b5f806101463660048184610551565b810190610153919061058c565b9150915061016182826101ac565b5050565b61005f610170610265565b6102cd565b5f6101a77fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b905090565b6101b5826102eb565b6040516001600160a01b038316907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e905f90a280511561025d57610258826001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561022e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102529190610536565b826103f9565b505050565b610161610462565b5f61026e610175565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a79190610536565b365f5f375f5f365f845af43d5f5f3e8080156102e7573d5ff35b3d5ffd5b806001600160a01b03163b5f0361032557604051631933b43b60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b807fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392831617905560408051635c60da1b60e01b815290515f92841691635c60da1b9160048083019260209291908290030181865afa15801561039e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c29190610536565b9050806001600160a01b03163b5f0361016157604051634c9c8ce360e01b81526001600160a01b038216600482015260240161031c565b60605f5f846001600160a01b031684604051610415919061050c565b5f60405180830381855af49150503d805f811461044d576040519150601f19603f3d011682016040523d82523d5f602084013e610452565b606091505b509150915061012e858383610481565b341561005f5760405163b398979f60e01b815260040160405180910390fd5b60608261049657610491826104e0565b6104d9565b81511580156104ad57506001600160a01b0384163b155b156104d657604051639996b31560e01b81526001600160a01b038516600482015260240161031c565b50805b9392505050565b8051156104f05780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b5f82518060208501845e5f920191825250919050565b6001600160a01b0381168114610509575f5ffd5b5f60208284031215610546575f5ffd5b81516104d981610522565b5f5f8585111561055f575f5ffd5b8386111561056b575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561059d575f5ffd5b82356105a881610522565b9150602083013567ffffffffffffffff8111156105c3575f5ffd5b8301601f810185136105d3575f5ffd5b803567ffffffffffffffff8111156105ed576105ed610578565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561061c5761061c610578565b604052818152828201602001871015610633575f5ffd5b816020840160208301375f60208383010152809350505050925092905056fea2646970667358221220cb224bb426da311ab77985a4e48c480c2a73fbdd008663c2390ca49831b22a1464736f6c634300081d0033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5000000000000000000000000045837dd742ef5638332f22dbdfb10cb7454e6fc5000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001042016a0d200000000000000000000000012481632fb88c5ca2bfa35d9e7418e7be77919a1000000000000000000000000bf9226be91b5c6610eedf062964c19505a19eaea000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000104d69746f73697320454f4c20555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066d6955534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000