UNPKG

@excubiae/contracts

Version:
196 lines (195 loc) 10.6 kB
{ "_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": "0x60a060405234801561001057600080fd5b506040516106e43803806106e483398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516106446100a060003960008181610122015281816101da01528181610377015261043401526106446000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b3f98adc1161005b578063b3f98adc14610100578063d832d92f14610115578063dadbccee1461011d578063f207564e1461015c57600080fd5b806309eef43e1461008257806366e305fd146100ba578063b2dd5c07146100dd575b600080fd5b6100a5610090366004610520565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100a56100c8366004610520565b60026020526000908152604090205460ff1681565b6100a56100eb366004610520565b60006020819052908152604090205460ff1681565b61011361010e366004610550565b61016f565b005b6101136102c1565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b1565b61011361016a366004610573565b610432565b3360009081526020819052604090205460ff1661019f5760405163aba4733960e01b815260040160405180910390fd5b60028160ff16106101c357604051632a71953160e01b815260040160405180910390fd5b6040805160ff831660208201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916314423fde9133910160405160208183030381529060405260016040518463ffffffff1660e01b81526004016102339392919061058c565b600060405180830381600087803b15801561024d57600080fd5b505af1158015610261573d6000803e3d6000fd5b505033600081815260016020818152604092839020805460ff1916909217909155815192835260ff8616908301527f14075e33dffdc00c1fcaf75d0f86d667170be57fb566b12b41b499e5fa53b12593500190505b60405180910390a150565b3360009081526020819052604090205460ff166102f15760405163aba4733960e01b815260040160405180910390fd5b3360009081526001602052604090205460ff166103215760405163f8d49bcd60e01b815260040160405180910390fd5b3360009081526002602052604090205460ff161561035257604051638eb49d8d60e01b815260040160405180910390fd5b60408051600081526020810191829052630a211fef60e11b9091526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906314423fde906103af90339060026024820161058c565b600060405180830381600087803b1580156103c957600080fd5b505af11580156103dd573d6000803e3d6000fd5b505033600081815260026020908152604091829020805460ff1916600117905590519182527f36cd5b9d4fdc2d0cf34eda84f3ffd903552e17139454f5f502a305eb3bed15ad935001905060405180910390a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166314423fde338360405160200161047591815260200190565b60405160208183030381529060405260006040518463ffffffff1660e01b81526004016104a49392919061058c565b600060405180830381600087803b1580156104be57600080fd5b505af11580156104d2573d6000803e3d6000fd5b50503360008181526020818152604091829020805460ff1916600117905590519182527f2d3734a8e47ac8316e500ac231c90a6e1848ca2285f40d07eaa52005e4b3a0e993500190506102b6565b60006020828403121561053257600080fd5b81356001600160a01b038116811461054957600080fd5b9392505050565b60006020828403121561056257600080fd5b813560ff8116811461054957600080fd5b60006020828403121561058557600080fd5b5035919050565b60018060a01b0384168152606060208201526000835180606084015260005b818110156105c857602081870181015160808684010152016105ab565b506000608082850101526080601f19601f8301168401019150506003831061060057634e487b7160e01b600052602160045260246000fd5b82604083015294935050505056fea26469706673582212207402c76205c9b7a903fbb3918031b77d4655d802ec1e1877bbbe8ddf56cdc91264736f6c634300081c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b3f98adc1161005b578063b3f98adc14610100578063d832d92f14610115578063dadbccee1461011d578063f207564e1461015c57600080fd5b806309eef43e1461008257806366e305fd146100ba578063b2dd5c07146100dd575b600080fd5b6100a5610090366004610520565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100a56100c8366004610520565b60026020526000908152604090205460ff1681565b6100a56100eb366004610520565b60006020819052908152604090205460ff1681565b61011361010e366004610550565b61016f565b005b6101136102c1565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b1565b61011361016a366004610573565b610432565b3360009081526020819052604090205460ff1661019f5760405163aba4733960e01b815260040160405180910390fd5b60028160ff16106101c357604051632a71953160e01b815260040160405180910390fd5b6040805160ff831660208201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916314423fde9133910160405160208183030381529060405260016040518463ffffffff1660e01b81526004016102339392919061058c565b600060405180830381600087803b15801561024d57600080fd5b505af1158015610261573d6000803e3d6000fd5b505033600081815260016020818152604092839020805460ff1916909217909155815192835260ff8616908301527f14075e33dffdc00c1fcaf75d0f86d667170be57fb566b12b41b499e5fa53b12593500190505b60405180910390a150565b3360009081526020819052604090205460ff166102f15760405163aba4733960e01b815260040160405180910390fd5b3360009081526001602052604090205460ff166103215760405163f8d49bcd60e01b815260040160405180910390fd5b3360009081526002602052604090205460ff161561035257604051638eb49d8d60e01b815260040160405180910390fd5b60408051600081526020810191829052630a211fef60e11b9091526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906314423fde906103af90339060026024820161058c565b600060405180830381600087803b1580156103c957600080fd5b505af11580156103dd573d6000803e3d6000fd5b505033600081815260026020908152604091829020805460ff1916600117905590519182527f36cd5b9d4fdc2d0cf34eda84f3ffd903552e17139454f5f502a305eb3bed15ad935001905060405180910390a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166314423fde338360405160200161047591815260200190565b60405160208183030381529060405260006040518463ffffffff1660e01b81526004016104a49392919061058c565b600060405180830381600087803b1580156104be57600080fd5b505af11580156104d2573d6000803e3d6000fd5b50503360008181526020818152604091829020805460ff1916600117905590519182527f2d3734a8e47ac8316e500ac231c90a6e1848ca2285f40d07eaa52005e4b3a0e993500190506102b6565b60006020828403121561053257600080fd5b81356001600160a01b038116811461054957600080fd5b9392505050565b60006020828403121561056257600080fd5b813560ff8116811461054957600080fd5b60006020828403121561058557600080fd5b5035919050565b60018060a01b0384168152606060208201526000835180606084015260005b818110156105c857602081870181015160808684010152016105ab565b506000608082850101526080601f19601f8301168401019150506003831061060057634e487b7160e01b600052602160045260246000fd5b82604083015294935050505056fea26469706673582212207402c76205c9b7a903fbb3918031b77d4655d802ec1e1877bbbe8ddf56cdc91264736f6c634300081c0033", "linkReferences": {}, "deployedLinkReferences": {} }