@excubiae/contracts
Version:
196 lines (195 loc) • 10.6 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "AdvancedVoting",
"sourceName": "contracts/test/examples/advanced/AdvancedVoting.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract AdvancedPolicy",
"name": "_policy",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AlreadyEligible",
"type": "error"
},
{
"inputs": [],
"name": "InvalidOption",
"type": "error"
},
{
"inputs": [],
"name": "NotEligible",
"type": "error"
},
{
"inputs": [],
"name": "NotRegistered",
"type": "error"
},
{
"inputs": [],
"name": "NotVoted",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "Eligible",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "voter",
"type": "address"
}
],
"name": "Registered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "voter",
"type": "address"
},
{
"indexed": false,
"internalType": "uint8",
"name": "option",
"type": "uint8"
}
],
"name": "Voted",
"type": "event"
},
{
"inputs": [],
"name": "POLICY",
"outputs": [
{
"internalType": "contract AdvancedPolicy",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eligible",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "hasVoted",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "isEligible",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "register",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "registered",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "option",
"type": "uint8"
}
],
"name": "vote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a060405234801561001057600080fd5b506040516106e43803806106e483398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516106446100a060003960008181610122015281816101da01528181610377015261043401526106446000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b3f98adc1161005b578063b3f98adc14610100578063d832d92f14610115578063dadbccee1461011d578063f207564e1461015c57600080fd5b806309eef43e1461008257806366e305fd146100ba578063b2dd5c07146100dd575b600080fd5b6100a5610090366004610520565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100a56100c8366004610520565b60026020526000908152604090205460ff1681565b6100a56100eb366004610520565b60006020819052908152604090205460ff1681565b61011361010e366004610550565b61016f565b005b6101136102c1565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b1565b61011361016a366004610573565b610432565b3360009081526020819052604090205460ff1661019f5760405163aba4733960e01b815260040160405180910390fd5b60028160ff16106101c357604051632a71953160e01b815260040160405180910390fd5b6040805160ff831660208201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916314423fde9133910160405160208183030381529060405260016040518463ffffffff1660e01b81526004016102339392919061058c565b600060405180830381600087803b15801561024d57600080fd5b505af1158015610261573d6000803e3d6000fd5b505033600081815260016020818152604092839020805460ff1916909217909155815192835260ff8616908301527f14075e33dffdc00c1fcaf75d0f86d667170be57fb566b12b41b499e5fa53b12593500190505b60405180910390a150565b3360009081526020819052604090205460ff166102f15760405163aba4733960e01b815260040160405180910390fd5b3360009081526001602052604090205460ff166103215760405163f8d49bcd60e01b815260040160405180910390fd5b3360009081526002602052604090205460ff161561035257604051638eb49d8d60e01b815260040160405180910390fd5b60408051600081526020810191829052630a211fef60e11b9091526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906314423fde906103af90339060026024820161058c565b600060405180830381600087803b1580156103c957600080fd5b505af11580156103dd573d6000803e3d6000fd5b505033600081815260026020908152604091829020805460ff1916600117905590519182527f36cd5b9d4fdc2d0cf34eda84f3ffd903552e17139454f5f502a305eb3bed15ad935001905060405180910390a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166314423fde338360405160200161047591815260200190565b60405160208183030381529060405260006040518463ffffffff1660e01b81526004016104a49392919061058c565b600060405180830381600087803b1580156104be57600080fd5b505af11580156104d2573d6000803e3d6000fd5b50503360008181526020818152604091829020805460ff1916600117905590519182527f2d3734a8e47ac8316e500ac231c90a6e1848ca2285f40d07eaa52005e4b3a0e993500190506102b6565b60006020828403121561053257600080fd5b81356001600160a01b038116811461054957600080fd5b9392505050565b60006020828403121561056257600080fd5b813560ff8116811461054957600080fd5b60006020828403121561058557600080fd5b5035919050565b60018060a01b0384168152606060208201526000835180606084015260005b818110156105c857602081870181015160808684010152016105ab565b506000608082850101526080601f19601f8301168401019150506003831061060057634e487b7160e01b600052602160045260246000fd5b82604083015294935050505056fea264697066735822122091d2e0af2b1afdf38cdcaa550de232b35b75e7acb4f1fc6e446e6ae85e031e2364736f6c634300081c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b3f98adc1161005b578063b3f98adc14610100578063d832d92f14610115578063dadbccee1461011d578063f207564e1461015c57600080fd5b806309eef43e1461008257806366e305fd146100ba578063b2dd5c07146100dd575b600080fd5b6100a5610090366004610520565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100a56100c8366004610520565b60026020526000908152604090205460ff1681565b6100a56100eb366004610520565b60006020819052908152604090205460ff1681565b61011361010e366004610550565b61016f565b005b6101136102c1565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b1565b61011361016a366004610573565b610432565b3360009081526020819052604090205460ff1661019f5760405163aba4733960e01b815260040160405180910390fd5b60028160ff16106101c357604051632a71953160e01b815260040160405180910390fd5b6040805160ff831660208201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916314423fde9133910160405160208183030381529060405260016040518463ffffffff1660e01b81526004016102339392919061058c565b600060405180830381600087803b15801561024d57600080fd5b505af1158015610261573d6000803e3d6000fd5b505033600081815260016020818152604092839020805460ff1916909217909155815192835260ff8616908301527f14075e33dffdc00c1fcaf75d0f86d667170be57fb566b12b41b499e5fa53b12593500190505b60405180910390a150565b3360009081526020819052604090205460ff166102f15760405163aba4733960e01b815260040160405180910390fd5b3360009081526001602052604090205460ff166103215760405163f8d49bcd60e01b815260040160405180910390fd5b3360009081526002602052604090205460ff161561035257604051638eb49d8d60e01b815260040160405180910390fd5b60408051600081526020810191829052630a211fef60e11b9091526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906314423fde906103af90339060026024820161058c565b600060405180830381600087803b1580156103c957600080fd5b505af11580156103dd573d6000803e3d6000fd5b505033600081815260026020908152604091829020805460ff1916600117905590519182527f36cd5b9d4fdc2d0cf34eda84f3ffd903552e17139454f5f502a305eb3bed15ad935001905060405180910390a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166314423fde338360405160200161047591815260200190565b60405160208183030381529060405260006040518463ffffffff1660e01b81526004016104a49392919061058c565b600060405180830381600087803b1580156104be57600080fd5b505af11580156104d2573d6000803e3d6000fd5b50503360008181526020818152604091829020805460ff1916600117905590519182527f2d3734a8e47ac8316e500ac231c90a6e1848ca2285f40d07eaa52005e4b3a0e993500190506102b6565b60006020828403121561053257600080fd5b81356001600160a01b038116811461054957600080fd5b9392505050565b60006020828403121561056257600080fd5b813560ff8116811461054957600080fd5b60006020828403121561058557600080fd5b5035919050565b60018060a01b0384168152606060208201526000835180606084015260005b818110156105c857602081870181015160808684010152016105ab565b506000608082850101526080601f19601f8301168401019150506003831061060057634e487b7160e01b600052602160045260246000fd5b82604083015294935050505056fea264697066735822122091d2e0af2b1afdf38cdcaa550de232b35b75e7acb4f1fc6e446e6ae85e031e2364736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}