383 lines
21 KiB
JSON
383 lines
21 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "Voting",
|
|
"sourceName": "contracts/governance/Voting.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "owner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "OwnableInvalidOwner",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "OwnableUnauthorizedAccount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"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": "uint256",
|
|
"name": "proposalId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "description",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "ProposalCreated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "proposalId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ProposalExecuted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "proposalId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "voter",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "support",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "VoteCast",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "voter",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "addVoter",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "description",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "createProposal",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "proposalId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "executeProposal",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "proposalId",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getProposal",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "description",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "yesVotes",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "noVotes",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startTime",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "endTime",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "executed",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "owner",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "proposals",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "description",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "yesVotes",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "noVotes",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startTime",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "endTime",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "executed",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "quorum",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "voter",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "removeVoter",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "renounceOwnership",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newQuorum",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setQuorum",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "newPeriod",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setVotingPeriod",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newOwner",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "transferOwnership",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "proposalId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "support",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "vote",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "voters",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "votingPeriod",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x608080604052346100865733156100705760008054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a362093a806003556032600455610caf908161008c8239f35b631e4fbdf760e01b815260006004820152602490fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c8063013cf08b1461099b57806302a251a31461097c5780630d61b519146107945780631703a0181461077757806349c2a1a61461050a578063715018a6146104b057806386c1ff681461046f5780638da5cb5b14610447578063a3ec138d14610409578063c1ba4e59146103a3578063c7f758a814610348578063c9d27afe146101c1578063ea0217cf1461019b578063f2fde38b1461010d5763f4ab9adf146100c657600080fd5b3461010957602036600319011261010957356001600160a01b03811690819003610109576100f2610c4d565b825260026020528120805460ff1916600117905580f35b8280fd5b509034610109576020366003190112610109576001600160a01b0382358181169391929084900361019757610140610c4d565b831561018157505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8382346101bd5760203660031901126101bd576101b6610c4d565b3560035580f35b5080fd5b509190346101bd57806003193601126101bd5782356024358015159283820361019757338552602091600283526101fd60ff8388205416610bfc565b610206846109fb565b50906003820154421061030f578782015442116102dc57600682019733885288855260ff84892054166102a157507fe71fcdac32df1877c1700e7bda2a03157e20993363a28fc35ac495cefc76e4d4949596973389528452828820600160ff1982541617905560001461028d576001016102808154610c3e565b90555b519384523393a380f35b60020161029a8154610c3e565b9055610283565b835162461bcd60e51b81529081018590526015602482015274159bdd1a5b99ce88185b1c9958591e481d9bdd1959605a1b6044820152606490fd5b825162461bcd60e51b8152808901859052600d60248201526c159bdd1a5b99ce88195b991959609a1b6044820152606490fd5b825162461bcd60e51b81528089018590526013602482015272159bdd1a5b99ce881b9bdd081cdd185c9d1959606a1b6044820152606490fd5b5091346103a05760203660031901126103a0575061039c61036983356109fb565b506001810154936002820154906003830154908301549161039160ff60058601541694610abe565b955196879687610ba3565b0390f35b80fd5b5034610109576020366003190112610109578035916103c0610c4d565b606483116103cd57505580f35b906020606492519162461bcd60e51b83528201526016602482015275566f74696e673a20696e76616c69642071756f72756d60501b6044820152fd5b503461010957602036600319011261010957356001600160a01b0381169081900361010957818360ff92602095526002855220541690519015158152f35b5050346101bd57816003193601126101bd57905490516001600160a01b039091168152602090f35b503461010957602036600319011261010957356001600160a01b038116908190036101095761049c610c4d565b825260026020528120805460ff1916905580f35b83346103a057806003193601126103a0576104c9610c4d565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461010957602091826003193601126107735767ffffffffffffffff91803583811161076f573660238201121561076f57808201359184831161075c5786601f19928551946105618986601f8401160187610a86565b8086523660248284010111610109578060248a930183880137850101523387526002865261059460ff8589205416610bfc565b600194855495680100000000000000008710156107495780870181556105b9876109fb565b50938551928311610736576105ce8554610a4c565b601f81116106f4575b508988999a989798508a91601f851160011461066c575092807f9c770c289ab5bf7e57cb1d23c8ceae993aea46eb64847072fd3d78ca60d3e4329795938193610658989693610661575b501b916000199060031b1c19161782555b42600383015561064460035442610bd9565b910155845191829188835288830190610b63565b0390a251908152f35b870151925038610621565b849394929192168683528b8320925b8c8282106106dd5750509183917f9c770c289ab5bf7e57cb1d23c8ceae993aea46eb64847072fd3d78ca60d3e432989694610658989694106106c4575b5050811b018255610632565b86015160001960f88460031b161c1916905538806106b8565b8984015185558c9a5093860193928301920161067b565b858b52898b20601f850160051c8101918b861061072c575b601f0160051c01905b81811061072257506105d7565b8b81558301610715565b909150819061070c565b634e487b7160e01b8a526041845260248afd5b634e487b7160e01b895260418352602489fd5b634e487b7160e01b875260419052602486fd5b8580fd5b8380fd5b503461010957826003193601126101095760209250549051908152f35b50903461010957602080600319360112610773578235926107b4846109fb565b50918183015442111561094657600583019384549360ff85166109045760026001820154910154906107e68282610bd9565b80156108ce57606481029081046064036108bb57600a865491041061087f57111561083e5750505060ff191660011790557f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f8280a280f35b5162461bcd60e51b815291820152601760248201527f566f74696e673a2070726f706f73616c206661696c6564000000000000000000604482015260649150fd5b50505162461bcd60e51b8152918201526016602482015275159bdd1a5b99ce881c5d5bdc9d5b481b9bdd081b595d60521b604482015260649150fd5b634e487b7160e01b8a526011865260248afd5b835162461bcd60e51b8152808701869052601060248201526f566f74696e673a206e6f20766f74657360801b6044820152606490fd5b505162461bcd60e51b815291820152601860248201527f566f74696e673a20616c72656164792065786563757465640000000000000000604482015260649150fd5b835162461bcd60e51b8152918201526011602482015270159bdd1a5b99ce881b9bdd08195b991959607a1b604482015260649150fd5b5050346101bd57816003193601126101bd576020906003549051908152f35b5091346103a05760203660031901126103a0578235906001548210156103a057506109c861039c916109fb565b50916109d383610abe565b92600181015494600282015460ff600560038501549385015494015416935196879687610ba3565b600154811015610a36576007906001600052027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c92168015610a7c575b6020831014610a6657565b634e487b7160e01b600052602260045260246000fd5b91607f1691610a5b565b90601f8019910116810190811067ffffffffffffffff821117610aa857604052565b634e487b7160e01b600052604160045260246000fd5b90604051918260008254610ad181610a4c565b90818452602094600191600181169081600014610b415750600114610b02575b505050610b0092500383610a86565b565b600090815285812095935091905b818310610b29575050610b009350820101388080610af1565b85548884018501529485019487945091830191610b10565b92505050610b0094925060ff191682840152151560051b820101388080610af1565b919082519283825260005b848110610b8f575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610b6e565b9491969592610bbd60a0959260c0885260c0880190610b63565b9760208701526040860152606085015260808401521515910152565b91908201809211610be657565b634e487b7160e01b600052601160045260246000fd5b15610c0357565b60405162461bcd60e51b81526020600482015260136024820152722b37ba34b7339d103737ba1030903b37ba32b960691b6044820152606490fd5b6000198114610be65760010190565b6000546001600160a01b03163303610c6157565b60405163118cdaa760e01b8152336004820152602490fdfea2646970667358221220427d7b8dfa678acf38494f2c7ba232239d13107617b8bd177bea3be6b863d40264736f6c63430008160033",
|
|
"deployedBytecode": "0x6040608081526004908136101561001557600080fd5b600091823560e01c8063013cf08b1461099b57806302a251a31461097c5780630d61b519146107945780631703a0181461077757806349c2a1a61461050a578063715018a6146104b057806386c1ff681461046f5780638da5cb5b14610447578063a3ec138d14610409578063c1ba4e59146103a3578063c7f758a814610348578063c9d27afe146101c1578063ea0217cf1461019b578063f2fde38b1461010d5763f4ab9adf146100c657600080fd5b3461010957602036600319011261010957356001600160a01b03811690819003610109576100f2610c4d565b825260026020528120805460ff1916600117905580f35b8280fd5b509034610109576020366003190112610109576001600160a01b0382358181169391929084900361019757610140610c4d565b831561018157505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8382346101bd5760203660031901126101bd576101b6610c4d565b3560035580f35b5080fd5b509190346101bd57806003193601126101bd5782356024358015159283820361019757338552602091600283526101fd60ff8388205416610bfc565b610206846109fb565b50906003820154421061030f578782015442116102dc57600682019733885288855260ff84892054166102a157507fe71fcdac32df1877c1700e7bda2a03157e20993363a28fc35ac495cefc76e4d4949596973389528452828820600160ff1982541617905560001461028d576001016102808154610c3e565b90555b519384523393a380f35b60020161029a8154610c3e565b9055610283565b835162461bcd60e51b81529081018590526015602482015274159bdd1a5b99ce88185b1c9958591e481d9bdd1959605a1b6044820152606490fd5b825162461bcd60e51b8152808901859052600d60248201526c159bdd1a5b99ce88195b991959609a1b6044820152606490fd5b825162461bcd60e51b81528089018590526013602482015272159bdd1a5b99ce881b9bdd081cdd185c9d1959606a1b6044820152606490fd5b5091346103a05760203660031901126103a0575061039c61036983356109fb565b506001810154936002820154906003830154908301549161039160ff60058601541694610abe565b955196879687610ba3565b0390f35b80fd5b5034610109576020366003190112610109578035916103c0610c4d565b606483116103cd57505580f35b906020606492519162461bcd60e51b83528201526016602482015275566f74696e673a20696e76616c69642071756f72756d60501b6044820152fd5b503461010957602036600319011261010957356001600160a01b0381169081900361010957818360ff92602095526002855220541690519015158152f35b5050346101bd57816003193601126101bd57905490516001600160a01b039091168152602090f35b503461010957602036600319011261010957356001600160a01b038116908190036101095761049c610c4d565b825260026020528120805460ff1916905580f35b83346103a057806003193601126103a0576104c9610c4d565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461010957602091826003193601126107735767ffffffffffffffff91803583811161076f573660238201121561076f57808201359184831161075c5786601f19928551946105618986601f8401160187610a86565b8086523660248284010111610109578060248a930183880137850101523387526002865261059460ff8589205416610bfc565b600194855495680100000000000000008710156107495780870181556105b9876109fb565b50938551928311610736576105ce8554610a4c565b601f81116106f4575b508988999a989798508a91601f851160011461066c575092807f9c770c289ab5bf7e57cb1d23c8ceae993aea46eb64847072fd3d78ca60d3e4329795938193610658989693610661575b501b916000199060031b1c19161782555b42600383015561064460035442610bd9565b910155845191829188835288830190610b63565b0390a251908152f35b870151925038610621565b849394929192168683528b8320925b8c8282106106dd5750509183917f9c770c289ab5bf7e57cb1d23c8ceae993aea46eb64847072fd3d78ca60d3e432989694610658989694106106c4575b5050811b018255610632565b86015160001960f88460031b161c1916905538806106b8565b8984015185558c9a5093860193928301920161067b565b858b52898b20601f850160051c8101918b861061072c575b601f0160051c01905b81811061072257506105d7565b8b81558301610715565b909150819061070c565b634e487b7160e01b8a526041845260248afd5b634e487b7160e01b895260418352602489fd5b634e487b7160e01b875260419052602486fd5b8580fd5b8380fd5b503461010957826003193601126101095760209250549051908152f35b50903461010957602080600319360112610773578235926107b4846109fb565b50918183015442111561094657600583019384549360ff85166109045760026001820154910154906107e68282610bd9565b80156108ce57606481029081046064036108bb57600a865491041061087f57111561083e5750505060ff191660011790557f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f8280a280f35b5162461bcd60e51b815291820152601760248201527f566f74696e673a2070726f706f73616c206661696c6564000000000000000000604482015260649150fd5b50505162461bcd60e51b8152918201526016602482015275159bdd1a5b99ce881c5d5bdc9d5b481b9bdd081b595d60521b604482015260649150fd5b634e487b7160e01b8a526011865260248afd5b835162461bcd60e51b8152808701869052601060248201526f566f74696e673a206e6f20766f74657360801b6044820152606490fd5b505162461bcd60e51b815291820152601860248201527f566f74696e673a20616c72656164792065786563757465640000000000000000604482015260649150fd5b835162461bcd60e51b8152918201526011602482015270159bdd1a5b99ce881b9bdd08195b991959607a1b604482015260649150fd5b5050346101bd57816003193601126101bd576020906003549051908152f35b5091346103a05760203660031901126103a0578235906001548210156103a057506109c861039c916109fb565b50916109d383610abe565b92600181015494600282015460ff600560038501549385015494015416935196879687610ba3565b600154811015610a36576007906001600052027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c92168015610a7c575b6020831014610a6657565b634e487b7160e01b600052602260045260246000fd5b91607f1691610a5b565b90601f8019910116810190811067ffffffffffffffff821117610aa857604052565b634e487b7160e01b600052604160045260246000fd5b90604051918260008254610ad181610a4c565b90818452602094600191600181169081600014610b415750600114610b02575b505050610b0092500383610a86565b565b600090815285812095935091905b818310610b29575050610b009350820101388080610af1565b85548884018501529485019487945091830191610b10565b92505050610b0094925060ff191682840152151560051b820101388080610af1565b919082519283825260005b848110610b8f575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610b6e565b9491969592610bbd60a0959260c0885260c0880190610b63565b9760208701526040860152606085015260808401521515910152565b91908201809211610be657565b634e487b7160e01b600052601160045260246000fd5b15610c0357565b60405162461bcd60e51b81526020600482015260136024820152722b37ba34b7339d103737ba1030903b37ba32b960691b6044820152606490fd5b6000198114610be65760010190565b6000546001600160a01b03163303610c6157565b60405163118cdaa760e01b8152336004820152602490fdfea2646970667358221220427d7b8dfa678acf38494f2c7ba232239d13107617b8bd177bea3be6b863d40264736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|