@daostack/arc-experimental
Version:
A platform for building DAOs
258 lines (257 loc) • 18.9 kB
JSON
{
"contractName": "ARCVotingMachineCallbacksMock",
"abi": [
{
"inputs": [],
"name": "avatar",
"outputs": [
{
"internalType": "contract Avatar",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_stakingToken",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "balanceOfStakingToken",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "burnReputation",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "getTotalReputationSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract Avatar",
"name": "_avatar",
"type": "address"
},
{
"internalType": "address",
"name": "_votingMachine",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "mintReputation",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "proposalsBlockNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "propose",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "reputationOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_stakingToken",
"type": "address"
},
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_proposalId",
"type": "bytes32"
}
],
"name": "stakingTokenTransfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "voteParamsHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "votingMachine",
"outputs": [
{
"internalType": "contract IntVoteInterface",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50610d16806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80639588378e116100715780639588378e1461017857806399882cdb146101a4578063b551c373146101c1578063bea75f28146101de578063d29b5d2f1461022e578063f81f8bf614610260576100b4565b80633edf7ca1146100b9578063485cc955146100dd5780634ea2c7ec1461010d5780635aef7de6146101275780636b8eb4031461012f5780637a5cb92c1461015b575b600080fd5b6100c1610292565b604080516001600160a01b039092168252519081900360200190f35b61010b600480360360408110156100f357600080fd5b506001600160a01b03813581169160200135166102a1565b005b6101156102cd565b60408051918252519081900360200190f35b6100c16102d3565b6101156004803603604081101561014557600080fd5b506001600160a01b0381351690602001356102e2565b6101156004803603602081101561017157600080fd5b50356103bc565b6101156004803603604081101561018e57600080fd5b506001600160a01b0381351690602001356103ce565b61010b600480360360208110156101ba57600080fd5b50356104ff565b610115600480360360208110156101d757600080fd5b5035610512565b61021a600480360360808110156101f457600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356107ae565b604080519115158252519081900360200190f35b61021a6004803603606081101561024457600080fd5b508035906001600160a01b036020820135169060400135610912565b61021a6004803603606081101561027657600080fd5b508035906001600160a01b036020820135169060400135610a6d565b6034546001600160a01b031681565b6102aa82610b93565b603480546001600160a01b0319166001600160a01b039290921691909117905550565b60355481565b6033546001600160a01b031681565b60345460009082906001600160a01b0316331461033b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b15801561038857600080fd5b505afa15801561039c573d6000803e3d6000fd5b505050506040513d60208110156103b257600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b03163314610427576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561047557600080fd5b505afa158015610489573d6000803e3d6000fd5b505050506040513d602081101561049f57600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b15801561038857600080fd5b6000908152603660205260409020439055565b60345460009082906001600160a01b0316331461056b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b957600080fd5b505afa1580156105cd573d6000803e3d6000fd5b505050506040513d60208110156105e357600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b15801561062d57600080fd5b505afa158015610641573d6000803e3d6000fd5b505050506040513d602081101561065757600080fd5b50516106aa576040805162461bcd60e51b815260206004820152601860248201527f736368656d65206973206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f857600080fd5b505afa15801561070c573d6000803e3d6000fd5b505050506040513d602081101561072257600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561077b57600080fd5b505afa15801561078f573d6000803e3d6000fd5b505050506040513d60208110156107a557600080fd5b50519392505050565b60345460009082906001600160a01b03163314610807576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d602081101561087f57600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b1580156108dc57600080fd5b505af11580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b50519695505050505050565b60345460009082906001600160a01b0316331461096b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b957600080fd5b505afa1580156109cd573d6000803e3d6000fd5b505050506040513d60208110156109e357600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b158015610a3857600080fd5b505af1158015610a4c573d6000803e3d6000fd5b505050506040513d6020811015610a6257600080fd5b505195945050505050565b60345460009082906001600160a01b03163314610ac6576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b158015610a3857600080fd5b600054610100900460ff1680610bac5750610bac610cac565b80610bba575060005460ff16155b610bf55760405162461bcd60e51b815260040180806020018281038252602e815260200180610cb3602e913960400191505060405180910390fd5b600054610100900460ff16158015610c20576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216610c7b576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015610ca8576000805461ff00191690555b5050565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a264697066735822122033add0284ef4ed6dd58bc2b90d5c48ef9a0002e4b47ed0869053f1276aa7be0c64736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80639588378e116100715780639588378e1461017857806399882cdb146101a4578063b551c373146101c1578063bea75f28146101de578063d29b5d2f1461022e578063f81f8bf614610260576100b4565b80633edf7ca1146100b9578063485cc955146100dd5780634ea2c7ec1461010d5780635aef7de6146101275780636b8eb4031461012f5780637a5cb92c1461015b575b600080fd5b6100c1610292565b604080516001600160a01b039092168252519081900360200190f35b61010b600480360360408110156100f357600080fd5b506001600160a01b03813581169160200135166102a1565b005b6101156102cd565b60408051918252519081900360200190f35b6100c16102d3565b6101156004803603604081101561014557600080fd5b506001600160a01b0381351690602001356102e2565b6101156004803603602081101561017157600080fd5b50356103bc565b6101156004803603604081101561018e57600080fd5b506001600160a01b0381351690602001356103ce565b61010b600480360360208110156101ba57600080fd5b50356104ff565b610115600480360360208110156101d757600080fd5b5035610512565b61021a600480360360808110156101f457600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356107ae565b604080519115158252519081900360200190f35b61021a6004803603606081101561024457600080fd5b508035906001600160a01b036020820135169060400135610912565b61021a6004803603606081101561027657600080fd5b508035906001600160a01b036020820135169060400135610a6d565b6034546001600160a01b031681565b6102aa82610b93565b603480546001600160a01b0319166001600160a01b039290921691909117905550565b60355481565b6033546001600160a01b031681565b60345460009082906001600160a01b0316331461033b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603354604080516370a0823160e01b81526001600160a01b0392831660048201529051918616916370a0823191602480820192602092909190829003018186803b15801561038857600080fd5b505afa15801561039c573d6000803e3d6000fd5b505050506040513d60208110156103b257600080fd5b5051949350505050565b60366020526000908152604090205481565b60345460009082906001600160a01b03163314610427576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b15801561047557600080fd5b505afa158015610489573d6000803e3d6000fd5b505050506040513d602081101561049f57600080fd5b505160008481526036602090815260409182902054825163277166bf60e11b81526001600160a01b03898116600483015260248201929092529251931692634ee2cd7e926044808201939291829003018186803b15801561038857600080fd5b6000908152603660205260409020439055565b60345460009082906001600160a01b0316331461056b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b957600080fd5b505afa1580156105cd573d6000803e3d6000fd5b505050506040513d60208110156105e357600080fd5b505160408051632074193160e21b815230600482015290516001600160a01b03909216916381d064c491602480820192602092909190829003018186803b15801561062d57600080fd5b505afa158015610641573d6000803e3d6000fd5b505050506040513d602081101561065757600080fd5b50516106aa576040805162461bcd60e51b815260206004820152601860248201527f736368656d65206973206e6f7420726567697374657265640000000000000000604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f857600080fd5b505afa15801561070c573d6000803e3d6000fd5b505050506040513d602081101561072257600080fd5b5051600084815260366020908152604091829020548251630981b24d60e41b8152600481019190915291516001600160a01b039093169263981b24d0926024808201939291829003018186803b15801561077b57600080fd5b505afa15801561078f573d6000803e3d6000fd5b505050506040513d60208110156107a557600080fd5b50519392505050565b60345460009082906001600160a01b03163314610807576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d602081101561087f57600080fd5b50516040805163dab0efff60e01b81526001600160a01b0389811660048301528881166024830152604482018890529151919092169163dab0efff9160648083019260209291908290030181600087803b1580156108dc57600080fd5b505af11580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b50519695505050505050565b60345460009082906001600160a01b0316331461096b576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b957600080fd5b505afa1580156109cd573d6000803e3d6000fd5b505050506040513d60208110156109e357600080fd5b50516040805163dea9e24d60e01b8152600481018890526001600160a01b0387811660248301529151919092169163dea9e24d9160448083019260209291908290030181600087803b158015610a3857600080fd5b505af1158015610a4c573d6000803e3d6000fd5b505050506040513d6020811015610a6257600080fd5b505195945050505050565b60345460009082906001600160a01b03163314610ac6576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b603360009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b50516040805163ddbfcc6b60e01b8152600481018890526001600160a01b0387811660248301529151919092169163ddbfcc6b9160448083019260209291908290030181600087803b158015610a3857600080fd5b600054610100900460ff1680610bac5750610bac610cac565b80610bba575060005460ff16155b610bf55760405162461bcd60e51b815260040180806020018281038252602e815260200180610cb3602e913960400191505060405180910390fd5b600054610100900460ff16158015610c20576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216610c7b576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015610ca8576000805461ff00191690555b5050565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a264697066735822122033add0284ef4ed6dd58bc2b90d5c48ef9a0002e4b47ed0869053f1276aa7be0c64736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}