UNPKG

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
{ "_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": {} }