openzeppelin-contracts
Version:
Secure Smart Contract library for Solidity
112 lines (111 loc) • 12.1 kB
JSON
{
"contractName": "UpgradeableBeacon",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "implementation_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"inputs": [],
"name": "implementation",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newImplementation",
"type": "address"
}
],
"name": "upgradeTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50604051610b04380380610b04833981810160405281019061003291906101bb565b60006100426100f560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506100ef816100fd60201b60201c565b506102c4565b600033905090565b6101108161019360201b6105261760201c565b61014f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101469061024a565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080823b905060008111915050919050565b6000815190506101b5816102ad565b92915050565b6000602082840312156101cd57600080fd5b60006101db848285016101a6565b91505092915050565b60006101f160338361026a565b91507f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60008301527f6e206973206e6f74206120636f6e7472616374000000000000000000000000006020830152604082019050919050565b60006020820190508181036000830152610263816101e4565b9050919050565b600082825260208201905092915050565b60006102868261028d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6102b68161027b565b81146102c157600080fd5b50565b610831806102d36000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610078578063715018a6146100965780638da5cb5b146100a0578063f2fde38b146100be575b600080fd5b610076600480360381019061007191906105e2565b6100da565b005b6100806101be565b60405161008d9190610726565b60405180910390f35b61009e6101e8565b005b6100a861033b565b6040516100b59190610726565b60405180910390f35b6100d860048036038101906100d391906105e2565b610364565b005b6100e2610539565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461016f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016690610781565b60405180910390fd5b61017881610541565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101f0610539565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461027d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027490610781565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61036c610539565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f090610781565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610469576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046090610741565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080823b905060008111915050919050565b600033905090565b61054a81610526565b610589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058090610761565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000813590506105dc816107e4565b92915050565b6000602082840312156105f457600080fd5b6000610602848285016105cd565b91505092915050565b610614816107b2565b82525050565b60006106276026836107a1565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061068d6033836107a1565b91507f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60008301527f6e206973206e6f74206120636f6e7472616374000000000000000000000000006020830152604082019050919050565b60006106f36020836107a1565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600060208201905061073b600083018461060b565b92915050565b6000602082019050818103600083015261075a8161061a565b9050919050565b6000602082019050818103600083015261077a81610680565b9050919050565b6000602082019050818103600083015261079a816106e6565b9050919050565b600082825260208201905092915050565b60006107bd826107c4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6107ed816107b2565b81146107f857600080fd5b5056fea26469706673582212204f0de6508259ce47d8d69ad7985339697c31a52c44d27a423903691b4290f05664736f6c63430008000033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610078578063715018a6146100965780638da5cb5b146100a0578063f2fde38b146100be575b600080fd5b610076600480360381019061007191906105e2565b6100da565b005b6100806101be565b60405161008d9190610726565b60405180910390f35b61009e6101e8565b005b6100a861033b565b6040516100b59190610726565b60405180910390f35b6100d860048036038101906100d391906105e2565b610364565b005b6100e2610539565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461016f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161016690610781565b60405180910390fd5b61017881610541565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101f0610539565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461027d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027490610781565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61036c610539565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f090610781565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610469576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046090610741565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080823b905060008111915050919050565b600033905090565b61054a81610526565b610589576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058090610761565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000813590506105dc816107e4565b92915050565b6000602082840312156105f457600080fd5b6000610602848285016105cd565b91505092915050565b610614816107b2565b82525050565b60006106276026836107a1565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061068d6033836107a1565b91507f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60008301527f6e206973206e6f74206120636f6e7472616374000000000000000000000000006020830152604082019050919050565b60006106f36020836107a1565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b600060208201905061073b600083018461060b565b92915050565b6000602082019050818103600083015261075a8161061a565b9050919050565b6000602082019050818103600083015261077a81610680565b9050919050565b6000602082019050818103600083015261079a816106e6565b9050919050565b600082825260208201905092915050565b60006107bd826107c4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6107ed816107b2565b81146107f857600080fd5b5056fea26469706673582212204f0de6508259ce47d8d69ad7985339697c31a52c44d27a423903691b4290f05664736f6c63430008000033",
"linkReferences": {},
"deployedLinkReferences": {}
}