standard-contract-registry
Version:
Contract that use the Transparent Upgradeable model (openzeppelin) to keep a registry of the current deployed contracts, their types and versions
159 lines (158 loc) • 11.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "ExampleBallot",
"sourceName": "contracts/ExampleBallot.sol",
"abi": [
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "proposalNames",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "chairperson",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"name": "delegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "giveRightToVote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "proposals",
"outputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "voteCount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "proposal",
"type": "uint256"
}
],
"name": "vote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "voters",
"outputs": [
{
"internalType": "uint256",
"name": "weight",
"type": "uint256"
},
{
"internalType": "bool",
"name": "voted",
"type": "bool"
},
{
"internalType": "address",
"name": "delegate",
"type": "address"
},
{
"internalType": "uint256",
"name": "vote",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winnerName",
"outputs": [
{
"internalType": "bytes32",
"name": "winnerName_",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "winningProposal",
"outputs": [
{
"internalType": "uint256",
"name": "winningProposal_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060405161094b38038061094b83398101604081905261002f916100e2565b600080546001600160a01b03191633908117825581526001602081905260408220555b81518110156100c5576002604051806040016040528084848151811061007a5761007a61019f565b602090810291909101810151825260009181018290528354600181810186559483529181902083516002909302019182559190910151910155806100bd816101b5565b915050610052565b50506101dc565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156100f557600080fd5b82516001600160401b038082111561010c57600080fd5b818501915085601f83011261012057600080fd5b815181811115610132576101326100cc565b8060051b604051601f19603f83011681018181108582111715610157576101576100cc565b60405291825284820192508381018501918883111561017557600080fd5b938501935b828510156101935784518452938501939285019261017a565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016101d557634e487b7160e01b600052601160045260246000fd5b5060010190565b610760806101eb6000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80630121b93f1461007d578063013cf08b146100925780632e4176cf146100bf5780635c19a95c146100ea578063609ff1bd146100fd5780639e7b8d6114610113578063a3ec138d14610126578063e2ba53f014610197575b600080fd5b61009061008b366004610683565b61019f565b005b6100a56100a0366004610683565b610299565b604080519283526020830191909152015b60405180910390f35b6000546100d2906001600160a01b031681565b6040516001600160a01b0390911681526020016100b6565b6100906100f836600461069c565b6102c7565b6101056104c0565b6040519081526020016100b6565b61009061012136600461069c565b61053d565b61016861013436600461069c565b600160208190526000918252604090912080549181015460029091015460ff82169161010090046001600160a01b03169084565b6040516100b6949392919093845291151560208401526001600160a01b03166040830152606082015260800190565b610105610650565b33600090815260016020526040812080549091036101fb5760405162461bcd60e51b8152602060048201526014602482015273486173206e6f20726967687420746f20766f746560601b60448201526064015b60405180910390fd5b600181015460ff16156102415760405162461bcd60e51b815260206004820152600e60248201526d20b63932b0b23c903b37ba32b21760911b60448201526064016101f2565b6001818101805460ff1916909117905560028082018390558154815490919084908110610270576102706106cc565b9060005260206000209060020201600101600082825461029091906106f8565b90915550505050565b600281815481106102a957600080fd5b60009182526020909120600290910201805460019091015490915082565b3360009081526001602081905260409091209081015460ff16156103225760405162461bcd60e51b81526020600482015260126024820152712cb7ba9030b63932b0b23c903b37ba32b21760711b60448201526064016101f2565b336001600160a01b0383160361037a5760405162461bcd60e51b815260206004820152601e60248201527f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e000060448201526064016101f2565b6001600160a01b03828116600090815260016020819052604090912001546101009004161561041a576001600160a01b03918216600090815260016020819052604090912001546101009004909116903382036104155760405162461bcd60e51b81526020600482015260196024820152782337bab732103637b7b81034b7103232b632b3b0ba34b7b71760391b60448201526064016101f2565b61037a565b600181810180546001600160a81b0319166101006001600160a01b03861690810291909117831790915560009081526020829052604090209081015460ff16156104a157815460028281015481548110610476576104766106cc565b9060005260206000209060020201600101600082825461049691906106f8565b909155506104bb9050565b8154815482906000906104b59084906106f8565b90915550505b505050565b600080805b6002548110156105385781600282815481106104e3576104e36106cc565b9060005260206000209060020201600101541115610526576002818154811061050e5761050e6106cc565b90600052602060002090600202016001015491508092505b8061053081610711565b9150506104c5565b505090565b6000546001600160a01b031633146105a85760405162461bcd60e51b815260206004820152602860248201527f4f6e6c79206368616972706572736f6e2063616e2067697665207269676874206044820152673a37903b37ba329760c11b60648201526084016101f2565b6001600160a01b0381166000908152600160208190526040909120015460ff16156106105760405162461bcd60e51b81526020600482015260186024820152772a3432903b37ba32b91030b63932b0b23c903b37ba32b21760411b60448201526064016101f2565b6001600160a01b0381166000908152600160205260409020541561063357600080fd5b6001600160a01b0316600090815260016020819052604090912055565b6000600261065c6104c0565b8154811061066c5761066c6106cc565b906000526020600020906002020160000154905090565b60006020828403121561069557600080fd5b5035919050565b6000602082840312156106ae57600080fd5b81356001600160a01b03811681146106c557600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561070b5761070b6106e2565b92915050565b600060018201610723576107236106e2565b506001019056fea26469706673582212202c1509b520c1304fffcbb27ce195daa0ae4f0c82a4699200a7415910b9b5cc1664736f6c63430008130033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c80630121b93f1461007d578063013cf08b146100925780632e4176cf146100bf5780635c19a95c146100ea578063609ff1bd146100fd5780639e7b8d6114610113578063a3ec138d14610126578063e2ba53f014610197575b600080fd5b61009061008b366004610683565b61019f565b005b6100a56100a0366004610683565b610299565b604080519283526020830191909152015b60405180910390f35b6000546100d2906001600160a01b031681565b6040516001600160a01b0390911681526020016100b6565b6100906100f836600461069c565b6102c7565b6101056104c0565b6040519081526020016100b6565b61009061012136600461069c565b61053d565b61016861013436600461069c565b600160208190526000918252604090912080549181015460029091015460ff82169161010090046001600160a01b03169084565b6040516100b6949392919093845291151560208401526001600160a01b03166040830152606082015260800190565b610105610650565b33600090815260016020526040812080549091036101fb5760405162461bcd60e51b8152602060048201526014602482015273486173206e6f20726967687420746f20766f746560601b60448201526064015b60405180910390fd5b600181015460ff16156102415760405162461bcd60e51b815260206004820152600e60248201526d20b63932b0b23c903b37ba32b21760911b60448201526064016101f2565b6001818101805460ff1916909117905560028082018390558154815490919084908110610270576102706106cc565b9060005260206000209060020201600101600082825461029091906106f8565b90915550505050565b600281815481106102a957600080fd5b60009182526020909120600290910201805460019091015490915082565b3360009081526001602081905260409091209081015460ff16156103225760405162461bcd60e51b81526020600482015260126024820152712cb7ba9030b63932b0b23c903b37ba32b21760711b60448201526064016101f2565b336001600160a01b0383160361037a5760405162461bcd60e51b815260206004820152601e60248201527f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e000060448201526064016101f2565b6001600160a01b03828116600090815260016020819052604090912001546101009004161561041a576001600160a01b03918216600090815260016020819052604090912001546101009004909116903382036104155760405162461bcd60e51b81526020600482015260196024820152782337bab732103637b7b81034b7103232b632b3b0ba34b7b71760391b60448201526064016101f2565b61037a565b600181810180546001600160a81b0319166101006001600160a01b03861690810291909117831790915560009081526020829052604090209081015460ff16156104a157815460028281015481548110610476576104766106cc565b9060005260206000209060020201600101600082825461049691906106f8565b909155506104bb9050565b8154815482906000906104b59084906106f8565b90915550505b505050565b600080805b6002548110156105385781600282815481106104e3576104e36106cc565b9060005260206000209060020201600101541115610526576002818154811061050e5761050e6106cc565b90600052602060002090600202016001015491508092505b8061053081610711565b9150506104c5565b505090565b6000546001600160a01b031633146105a85760405162461bcd60e51b815260206004820152602860248201527f4f6e6c79206368616972706572736f6e2063616e2067697665207269676874206044820152673a37903b37ba329760c11b60648201526084016101f2565b6001600160a01b0381166000908152600160208190526040909120015460ff16156106105760405162461bcd60e51b81526020600482015260186024820152772a3432903b37ba32b91030b63932b0b23c903b37ba32b21760411b60448201526064016101f2565b6001600160a01b0381166000908152600160205260409020541561063357600080fd5b6001600160a01b0316600090815260016020819052604090912055565b6000600261065c6104c0565b8154811061066c5761066c6106cc565b906000526020600020906002020160000154905090565b60006020828403121561069557600080fd5b5035919050565b6000602082840312156106ae57600080fd5b81356001600160a01b03811681146106c557600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561070b5761070b6106e2565b92915050565b600060018201610723576107236106e2565b506001019056fea26469706673582212202c1509b520c1304fffcbb27ce195daa0ae4f0c82a4699200a7415910b9b5cc1664736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}