UNPKG

@daostack/infra

Version:

Base layer DAO's components

615 lines (614 loc) 27 kB
{ "contractName": "GenesisProtocolCallbacksMock", "abi": [ { "inputs": [ { "internalType": "contract Reputation", "name": "_reputation", "type": "address" }, { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "contract GenesisProtocol", "name": "_genesisProtocol", "type": "address" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "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" }, { "constant": true, "inputs": [ { "internalType": "contract IERC20", "name": "_stakingToken", "type": "address" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "balanceOfStakingToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "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" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "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" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" }, { "internalType": "int256", "name": "_decision", "type": "int256" } ], "name": "executeProposal", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "genesisProtocol", "outputs": [ { "internalType": "contract GenesisProtocol", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "getTotalReputationSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "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" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "proposalsBlockNumbers", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "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" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "reputation", "outputs": [ { "internalType": "contract Reputation", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "reputationOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256[11]", "name": "_params", "type": "uint256[11]" }, { "internalType": "address", "name": "_voteOnBehalf", "type": "address" } ], "name": "setParameters", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "bytes32", "name": "_proposalId", "type": "bytes32" } ], "name": "setProposal", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "stakingToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "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" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50604051610ee4380380610ee48339818101604052606081101561003357600080fd5b508051602082015160409092015190919060006100576001600160e01b036100e716565b600080546001600160a01b0319166001600160a01b038316908117825560405192935091600080516020610ec4833981519152908290a350600180546001600160a01b038086166001600160a01b0319928316179092556002805485841690831617905560038054848416921691909117908190556100df91166001600160e01b036100eb16565b50505061021d565b3390565b6100fc6001600160e01b0361016216565b61014d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61015f816001600160e01b0361018f16565b50565b600080546001600160a01b03166101806001600160e01b036100e716565b6001600160a01b031614905090565b6001600160a01b0381166101d45760405162461bcd60e51b8152600401808060200182810382526026815260200180610e9e6026913960400191505060405180910390fd5b600080546040516001600160a01b0380851693921691600080516020610ec483398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b610c728061022c6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80639588378e116100ad578063c52164c611610071578063c52164c614610325578063d1c756501461032d578063d29b5d2f1461034a578063f2fde38b1461037c578063f81f8bf6146103a257610121565b80639588378e1461024b5780639d4c162d14610277578063abcc9cb91461029a578063b551c373146102cc578063bea75f28146102e957610121565b806372f702f3116100f457806372f702f3146101e35780637581d62f146102075780638894c41b1461020f5780638da5cb5b1461023b5780638f32d59b1461024357610121565b80630905c9f9146101265780636b8eb4031461017c57806370a53748146101a8578063715018a6146101d9575b600080fd5b61016a600480360360a081101561013c57600080fd5b508035906020810135906001600160a01b0360408201358116916060810135821691608090910135166103d4565b60408051918252519081900360200190f35b61016a6004803603604081101561019257600080fd5b506001600160a01b0381351690602001356104d1565b6101c5600480360360208110156101be57600080fd5b503561054e565b604080519115158252519081900360200190f35b6101e1610562565b005b6101eb6105f3565b604080516001600160a01b039092168252519081900360200190f35b6101eb610602565b61016a600480360361018081101561022657600080fd5b506001600160a01b0361016082013516610611565b6101eb6106a5565b6101c56106b4565b61016a6004803603604081101561026157600080fd5b506001600160a01b0381351690602001356106d8565b6101c56004803603604081101561028d57600080fd5b508035906020013561073e565b6101c5600480360360608110156102b057600080fd5b508035906001600160a01b0360208201351690604001356107b0565b61016a600480360360208110156102e257600080fd5b503561083d565b6101c5600480360360808110156102ff57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356108c3565b6101eb6109a1565b61016a6004803603602081101561034357600080fd5b50356109b0565b6101c56004803603606081101561036057600080fd5b508035906001600160a01b0360208201351690604001356109c2565b6101e16004803603602081101561039257600080fd5b50356001600160a01b0316610a61565b6101c5600480360360608110156103b857600080fd5b508035906001600160a01b036020820135169060400135610ab4565b60035460408051634439bdaf60e11b815260048101889052602481018790526001600160a01b03858116604483015284811660648301529151600093849316916388737b5e91608480830192602092919082900301818787803b15801561043a57600080fd5b505af115801561044e573d6000803e3d6000fd5b505050506040513d602081101561046457600080fd5b5051604080518981526001600160a01b03871660208201528082018990529051919250309183917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c919081900360600190a360008181526004602052604090204390559695505050505050565b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d602081101561054557600080fd5b50519392505050565b600090815260046020526040812043905590565b61056a6106b4565b6105a9576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002546001600160a01b031681565b6003546001600160a01b031681565b600354604051638894c41b60e01b81526000916001600160a01b031690638894c41b9085908590600401808361016080828437600081840152601f19601f820116905080830192505050826001600160a01b03166001600160a01b0316815260200192505050602060405180830381600087803b15801561069157600080fd5b505af115801561052f573d6000803e3d6000fd5b6000546001600160a01b031690565b600080546001600160a01b03166106c9610b53565b6001600160a01b031614905090565b600154600082815260046020818152604080842054815163277166bf60e11b81526001600160a01b03898116958201959095526024810191909152905193949290921692634ee2cd7e926044808201939291829003018186803b15801561051b57600080fd5b6040805183815290516000917e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c83919081900360200190a16040805183815290517f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f399181900360200190a150600192915050565b60015460408051632770a7eb60e21b81526001600160a01b0385811660048301526024820187905291516000939290921691639dc29fac9160448082019260209290919082900301818787803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b5051949350505050565b6001546000828152600460208181526040808420548151630981b24d60e41b8152938401525192936001600160a01b03169263981b24d0926024808201939291829003018186803b15801561089157600080fd5b505afa1580156108a5573d6000803e3d6000fd5b505050506040513d60208110156108bb57600080fd5b505192915050565b60006108cd6106b4565b61090c576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b846001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561096c57600080fd5b505af1158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b505195945050505050565b6001546001600160a01b031681565b60046020526000908152604090205481565b60006109cc6106b4565b610a0b576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b600154604080516340c10f1960e01b81526001600160a01b03868116600483015260248201889052915191909216916340c10f199160448083019260209291908290030181600087803b15801561080957600080fd5b610a696106b4565b610aa8576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b610ab181610b57565b50565b6000610abe6106b4565b610afd576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b60015460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820188905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561080957600080fd5b3390565b6001600160a01b038116610b9c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610bf86026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a723158205c1bbaa36f2869d0701fc81de61a0d55fda18a1a8b4a221012dbec50072550e264736f6c634300051100324f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573738be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80639588378e116100ad578063c52164c611610071578063c52164c614610325578063d1c756501461032d578063d29b5d2f1461034a578063f2fde38b1461037c578063f81f8bf6146103a257610121565b80639588378e1461024b5780639d4c162d14610277578063abcc9cb91461029a578063b551c373146102cc578063bea75f28146102e957610121565b806372f702f3116100f457806372f702f3146101e35780637581d62f146102075780638894c41b1461020f5780638da5cb5b1461023b5780638f32d59b1461024357610121565b80630905c9f9146101265780636b8eb4031461017c57806370a53748146101a8578063715018a6146101d9575b600080fd5b61016a600480360360a081101561013c57600080fd5b508035906020810135906001600160a01b0360408201358116916060810135821691608090910135166103d4565b60408051918252519081900360200190f35b61016a6004803603604081101561019257600080fd5b506001600160a01b0381351690602001356104d1565b6101c5600480360360208110156101be57600080fd5b503561054e565b604080519115158252519081900360200190f35b6101e1610562565b005b6101eb6105f3565b604080516001600160a01b039092168252519081900360200190f35b6101eb610602565b61016a600480360361018081101561022657600080fd5b506001600160a01b0361016082013516610611565b6101eb6106a5565b6101c56106b4565b61016a6004803603604081101561026157600080fd5b506001600160a01b0381351690602001356106d8565b6101c56004803603604081101561028d57600080fd5b508035906020013561073e565b6101c5600480360360608110156102b057600080fd5b508035906001600160a01b0360208201351690604001356107b0565b61016a600480360360208110156102e257600080fd5b503561083d565b6101c5600480360360808110156102ff57600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356108c3565b6101eb6109a1565b61016a6004803603602081101561034357600080fd5b50356109b0565b6101c56004803603606081101561036057600080fd5b508035906001600160a01b0360208201351690604001356109c2565b6101e16004803603602081101561039257600080fd5b50356001600160a01b0316610a61565b6101c5600480360360608110156103b857600080fd5b508035906001600160a01b036020820135169060400135610ab4565b60035460408051634439bdaf60e11b815260048101889052602481018790526001600160a01b03858116604483015284811660648301529151600093849316916388737b5e91608480830192602092919082900301818787803b15801561043a57600080fd5b505af115801561044e573d6000803e3d6000fd5b505050506040513d602081101561046457600080fd5b5051604080518981526001600160a01b03871660208201528082018990529051919250309183917f75b4ff136cc5de5957574c797de3334eb1c141271922b825eb071e0487ba2c5c919081900360600190a360008181526004602052604090204390559695505050505050565b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561051b57600080fd5b505afa15801561052f573d6000803e3d6000fd5b505050506040513d602081101561054557600080fd5b50519392505050565b600090815260046020526040812043905590565b61056a6106b4565b6105a9576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002546001600160a01b031681565b6003546001600160a01b031681565b600354604051638894c41b60e01b81526000916001600160a01b031690638894c41b9085908590600401808361016080828437600081840152601f19601f820116905080830192505050826001600160a01b03166001600160a01b0316815260200192505050602060405180830381600087803b15801561069157600080fd5b505af115801561052f573d6000803e3d6000fd5b6000546001600160a01b031690565b600080546001600160a01b03166106c9610b53565b6001600160a01b031614905090565b600154600082815260046020818152604080842054815163277166bf60e11b81526001600160a01b03898116958201959095526024810191909152905193949290921692634ee2cd7e926044808201939291829003018186803b15801561051b57600080fd5b6040805183815290516000917e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c83919081900360200190a16040805183815290517f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f399181900360200190a150600192915050565b60015460408051632770a7eb60e21b81526001600160a01b0385811660048301526024820187905291516000939290921691639dc29fac9160448082019260209290919082900301818787803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b5051949350505050565b6001546000828152600460208181526040808420548151630981b24d60e41b8152938401525192936001600160a01b03169263981b24d0926024808201939291829003018186803b15801561089157600080fd5b505afa1580156108a5573d6000803e3d6000fd5b505050506040513d60208110156108bb57600080fd5b505192915050565b60006108cd6106b4565b61090c576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b846001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561096c57600080fd5b505af1158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b505195945050505050565b6001546001600160a01b031681565b60046020526000908152604090205481565b60006109cc6106b4565b610a0b576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b600154604080516340c10f1960e01b81526001600160a01b03868116600483015260248201889052915191909216916340c10f199160448083019260209291908290030181600087803b15801561080957600080fd5b610a696106b4565b610aa8576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b610ab181610b57565b50565b6000610abe6106b4565b610afd576040805162461bcd60e51b81526020600482018190526024820152600080516020610c1e833981519152604482015290519081900360640190fd5b60015460408051632770a7eb60e21b81526001600160a01b0386811660048301526024820188905291519190921691639dc29fac9160448083019260209291908290030181600087803b15801561080957600080fd5b3390565b6001600160a01b038116610b9c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610bf86026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a723158205c1bbaa36f2869d0701fc81de61a0d55fda18a1a8b4a221012dbec50072550e264736f6c63430005110032", "linkReferences": {}, "deployedLinkReferences": {} }