UNPKG

@daostack/arc-experimental

Version:

A platform for building DAOs

565 lines (564 loc) 27.1 kB
{ "contractName": "GenesisProtocolCallbacksMock", "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_msg", "type": "address" } ], "name": "LogAddress", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "_msg", "type": "bool" } ], "name": "LogBool", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes", "name": "_msg", "type": "bytes" } ], "name": "LogBytes", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "_msg", "type": "bytes32" } ], "name": "LogBytes32", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "int256", "name": "_msg", "type": "int256" } ], "name": "LogInt", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "_msg", "type": "string" } ], "name": "LogString", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_msg", "type": "uint256" } ], "name": "LogUint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "_organization", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_numOfChoices", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "_proposer", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "_paramsHash", "type": "bytes32" } ], "name": "NewProposal", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [ { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "bytes32", "name": "", "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": "", "type": "bytes32" } ], "name": "burnReputation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_beneficiary", "type": "address" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "burnReputationTest", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" }, { "internalType": "int256", "name": "_decision", "type": "int256" } ], "name": "executeProposal", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "genesisProtocol", "outputs": [ { "internalType": "contract GenesisProtocol", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "getTotalReputationSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract Reputation", "name": "_reputation", "type": "address" }, { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "contract GenesisProtocol", "name": "_genesisProtocol", "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": "", "type": "bytes32" } ], "name": "mintReputation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "proposalsBlockNumbers", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_numOfChoices", "type": "uint256" }, { "internalType": "bytes32", "name": "_paramsHash", "type": "bytes32" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "_proposer", "type": "address" }, { "internalType": "address", "name": "_organization", "type": "address" } ], "name": "propose", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reputation", "outputs": [ { "internalType": "contract Reputation", "name": "", "type": "address" } ], "stateMutability": "view", "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": "uint256[11]", "name": "_params", "type": "uint256[11]" }, { "internalType": "address", "name": "_voteOnBehalf", "type": "address" } ], "name": "setParameters", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "setProposal", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stakingToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "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": "", "type": "bytes32" } ], "name": "stakingTokenTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50610edf806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80639d4c162d116100ad578063c52164c611610071578063c52164c614610355578063d1c756501461035d578063d29b5d2f1461037a578063f2fde38b146103ac578063f81f8bf6146103d257610121565b80639d4c162d1461026f578063abcc9cb914610292578063b551c373146102c4578063bea75f28146102e1578063c0c53b8b1461031d57610121565b806372f702f3116100f457806372f702f3146101e35780637581d62f146102075780638894c41b1461020f5780638da5cb5b1461023b5780639588378e1461024357610121565b80630905c9f9146101265780636b8eb4031461017c57806370a53748146101a8578063715018a6146101d9575b600080fd5b61016a600480360360a081101561013c57600080fd5b508035906020810135906001600160a01b036040820135811691606081013582169160809091013516610404565b60408051918252519081900360200190f35b61016a6004803603604081101561019257600080fd5b506001600160a01b038135169060200135610501565b6101c5600480360360208110156101be57600080fd5b5035610583565b604080519115158252519081900360200190f35b6101e1610597565b005b6101eb610639565b604080516001600160a01b039092168252519081900360200190f35b6101eb610648565b61016a600480360361018081101561022657600080fd5b506001600160a01b0361016082013516610657565b6101eb6106e2565b61016a6004803603604081101561025957600080fd5b506001600160a01b0381351690602001356106f1565b6101c56004803603604081101561028557600080fd5b5080359060200135610753565b6101c5600480360360608110156102a857600080fd5b508035906001600160a01b0360208201351690604001356107c5565b61016a600480360360208110156102da57600080fd5b5035610852565b6101c5600480360360808110156102f757600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356108de565b6101e16004803603606081101561033357600080fd5b506001600160a01b0381358116916020810135821691604090910135166109c4565b6101eb610ab7565b61016a6004803603602081101561037357600080fd5b5035610ac6565b6101c56004803603606081101561039057600080fd5b508035906001600160a01b036020820135169060400135610ad8565b6101e1600480360360208110156103c257600080fd5b50356001600160a01b0316610b88565b6101c5600480360360608110156103e857600080fd5b508035906001600160a01b036020820135169060400135610c81565b60995460408051634439bdaf60e11b815260048101889052602481018790526001600160a01b03858116604483015284811660648301529151600093849316916388737b5e91608480830192602092919082900301818787803b15801561046a57600080fd5b505af115801561047e573d6000803e3d6000fd5b505050506040513d602081101561049457600080fd5b5051604080518981526001600160a01b03871660208201528082018990529051919250309183917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c919081900360600190a36000818152609a602052604090204390559695505050505050565b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d602081101561057a57600080fd5b50519392505050565b6000908152609a6020526040812043905590565b61059f610d31565b6065546001600160a01b039081169116146105ef576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6098546001600160a01b031681565b6099546001600160a01b031681565b609954604051638894c41b60e01b81526000916001600160a01b031690638894c41b9085908590600401808361016080828437600081840152601f19601f820116905080830192505050826001600160a01b0316815260200192505050602060405180830381600087803b1580156106ce57600080fd5b505af1158015610564573d6000803e3d6000fd5b6065546001600160a01b031690565b6097546000828152609a6020908152604080832054815163277166bf60e11b81526001600160a01b0388811660048301526024820192909252915193941692634ee2cd7e92604480840193919291829003018186803b15801561055057600080fd5b6040805183815290516000917e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c83919081900360200190a16040805183815290517f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f399181900360200190a150600192915050565b60975460408051632770a7eb60e21b81526001600160a01b0385811660048301526024820187905291516000939290921691639dc29fac9160448082019260209290919082900301818787803b15801561081e57600080fd5b505af1158015610832573d6000803e3d6000fd5b505050506040513d602081101561084857600080fd5b5051949350505050565b6097546000828152609a60209081526040808320548151630981b24d60e41b81526004810191909152905192936001600160a01b03169263981b24d092602480840193919291829003018186803b1580156108ac57600080fd5b505afa1580156108c0573d6000803e3d6000fd5b505050506040513d60208110156108d657600080fd5b505192915050565b60006108e8610d31565b6065546001600160a01b03908116911614610938576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b846001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050506040513d60208110156109b957600080fd5b505195945050505050565b600054610100900460ff16806109dd57506109dd610d35565b806109eb575060005460ff16155b610a265760405162461bcd60e51b815260040180806020018281038252602e815260200180610e7c602e913960400191505060405180910390fd5b600054610100900460ff16158015610a51576000805460ff1961ff0019909116610100171660011790555b609780546001600160a01b038087166001600160a01b031992831617909255609880548684169083161790556099805492851692909116919091179055610a96610d3b565b610a9f82610b88565b8015610ab1576000805461ff00191690555b50505050565b6097546001600160a01b031681565b609a6020526000908152604090205481565b6000610ae2610d31565b6065546001600160a01b03908116911614610b32576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b609754604080516340c10f1960e01b81526001600160a01b03868116600483015260248201889052915191909216916340c10f199160448083019260209291908290030181600087803b15801561081e57600080fd5b610b90610d31565b6065546001600160a01b03908116911614610be0576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b6001600160a01b038116610c255760405162461bcd60e51b8152600401808060200182810382526026815260200180610e366026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c8b610d31565b6065546001600160a01b03908116911614610cdb576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b60975460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820188905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561081e57600080fd5b3390565b303b1590565b600054610100900460ff1680610d545750610d54610d35565b80610d62575060005460ff16155b610d9d5760405162461bcd60e51b815260040180806020018281038252602e815260200180610e7c602e913960400191505060405180910390fd5b600054610100900460ff16158015610dc8576000805460ff1961ff0019909116610100171660011790555b6000610dd2610d31565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610e32576000805461ff00191690555b5056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220df316f5627584b64366d792c168e7050df76396f8fbf5715c63600b9e1488fe464736f6c634300060c0033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80639d4c162d116100ad578063c52164c611610071578063c52164c614610355578063d1c756501461035d578063d29b5d2f1461037a578063f2fde38b146103ac578063f81f8bf6146103d257610121565b80639d4c162d1461026f578063abcc9cb914610292578063b551c373146102c4578063bea75f28146102e1578063c0c53b8b1461031d57610121565b806372f702f3116100f457806372f702f3146101e35780637581d62f146102075780638894c41b1461020f5780638da5cb5b1461023b5780639588378e1461024357610121565b80630905c9f9146101265780636b8eb4031461017c57806370a53748146101a8578063715018a6146101d9575b600080fd5b61016a600480360360a081101561013c57600080fd5b508035906020810135906001600160a01b036040820135811691606081013582169160809091013516610404565b60408051918252519081900360200190f35b61016a6004803603604081101561019257600080fd5b506001600160a01b038135169060200135610501565b6101c5600480360360208110156101be57600080fd5b5035610583565b604080519115158252519081900360200190f35b6101e1610597565b005b6101eb610639565b604080516001600160a01b039092168252519081900360200190f35b6101eb610648565b61016a600480360361018081101561022657600080fd5b506001600160a01b0361016082013516610657565b6101eb6106e2565b61016a6004803603604081101561025957600080fd5b506001600160a01b0381351690602001356106f1565b6101c56004803603604081101561028557600080fd5b5080359060200135610753565b6101c5600480360360608110156102a857600080fd5b508035906001600160a01b0360208201351690604001356107c5565b61016a600480360360208110156102da57600080fd5b5035610852565b6101c5600480360360808110156102f757600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356108de565b6101e16004803603606081101561033357600080fd5b506001600160a01b0381358116916020810135821691604090910135166109c4565b6101eb610ab7565b61016a6004803603602081101561037357600080fd5b5035610ac6565b6101c56004803603606081101561039057600080fd5b508035906001600160a01b036020820135169060400135610ad8565b6101e1600480360360208110156103c257600080fd5b50356001600160a01b0316610b88565b6101c5600480360360608110156103e857600080fd5b508035906001600160a01b036020820135169060400135610c81565b60995460408051634439bdaf60e11b815260048101889052602481018790526001600160a01b03858116604483015284811660648301529151600093849316916388737b5e91608480830192602092919082900301818787803b15801561046a57600080fd5b505af115801561047e573d6000803e3d6000fd5b505050506040513d602081101561049457600080fd5b5051604080518981526001600160a01b03871660208201528082018990529051919250309183917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c919081900360600190a36000818152609a602052604090204390559695505050505050565b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d602081101561057a57600080fd5b50519392505050565b6000908152609a6020526040812043905590565b61059f610d31565b6065546001600160a01b039081169116146105ef576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6098546001600160a01b031681565b6099546001600160a01b031681565b609954604051638894c41b60e01b81526000916001600160a01b031690638894c41b9085908590600401808361016080828437600081840152601f19601f820116905080830192505050826001600160a01b0316815260200192505050602060405180830381600087803b1580156106ce57600080fd5b505af1158015610564573d6000803e3d6000fd5b6065546001600160a01b031690565b6097546000828152609a6020908152604080832054815163277166bf60e11b81526001600160a01b0388811660048301526024820192909252915193941692634ee2cd7e92604480840193919291829003018186803b15801561055057600080fd5b6040805183815290516000917e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c83919081900360200190a16040805183815290517f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f399181900360200190a150600192915050565b60975460408051632770a7eb60e21b81526001600160a01b0385811660048301526024820187905291516000939290921691639dc29fac9160448082019260209290919082900301818787803b15801561081e57600080fd5b505af1158015610832573d6000803e3d6000fd5b505050506040513d602081101561084857600080fd5b5051949350505050565b6097546000828152609a60209081526040808320548151630981b24d60e41b81526004810191909152905192936001600160a01b03169263981b24d092602480840193919291829003018186803b1580156108ac57600080fd5b505afa1580156108c0573d6000803e3d6000fd5b505050506040513d60208110156108d657600080fd5b505192915050565b60006108e8610d31565b6065546001600160a01b03908116911614610938576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b846001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050506040513d60208110156109b957600080fd5b505195945050505050565b600054610100900460ff16806109dd57506109dd610d35565b806109eb575060005460ff16155b610a265760405162461bcd60e51b815260040180806020018281038252602e815260200180610e7c602e913960400191505060405180910390fd5b600054610100900460ff16158015610a51576000805460ff1961ff0019909116610100171660011790555b609780546001600160a01b038087166001600160a01b031992831617909255609880548684169083161790556099805492851692909116919091179055610a96610d3b565b610a9f82610b88565b8015610ab1576000805461ff00191690555b50505050565b6097546001600160a01b031681565b609a6020526000908152604090205481565b6000610ae2610d31565b6065546001600160a01b03908116911614610b32576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b609754604080516340c10f1960e01b81526001600160a01b03868116600483015260248201889052915191909216916340c10f199160448083019260209291908290030181600087803b15801561081e57600080fd5b610b90610d31565b6065546001600160a01b03908116911614610be0576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b6001600160a01b038116610c255760405162461bcd60e51b8152600401808060200182810382526026815260200180610e366026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610c8b610d31565b6065546001600160a01b03908116911614610cdb576040805162461bcd60e51b81526020600482018190526024820152600080516020610e5c833981519152604482015290519081900360640190fd5b60975460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820188905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561081e57600080fd5b3390565b303b1590565b600054610100900460ff1680610d545750610d54610d35565b80610d62575060005460ff16155b610d9d5760405162461bcd60e51b815260040180806020018281038252602e815260200180610e7c602e913960400191505060405180910390fd5b600054610100900460ff16158015610dc8576000805460ff1961ff0019909116610100171660011790555b6000610dd2610d31565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610e32576000805461ff00191690555b5056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220df316f5627584b64366d792c168e7050df76396f8fbf5715c63600b9e1488fe464736f6c634300060c0033", "linkReferences": {}, "deployedLinkReferences": {} }