@daostack/infra
Version:
Base layer DAO's components
615 lines (614 loc) • 27 kB
JSON
{
"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": {}
}