@daostack/arc-experimental
Version:
A platform for building DAOs
297 lines (296 loc) • 20.7 kB
JSON
{
"contractName": "FixedReputationAllocation",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_beneficiary",
"type": "address"
}
],
"name": "BeneficiaryAddressAdded",
"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"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "_beneficiary",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "Redeem",
"type": "event"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "_beneficiaries",
"type": "address[]"
}
],
"name": "addBeneficiaries",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
}
],
"name": "addBeneficiary",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "avatar",
"outputs": [
{
"internalType": "contract Avatar",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "beneficiaries",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "beneficiaryReward",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "enable",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract Avatar",
"name": "_avatar",
"type": "address"
},
{
"internalType": "uint256",
"name": "_reputationReward",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_redeemEnableTime",
"type": "uint256"
},
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "isEnable",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "numberOfBeneficiaries",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_beneficiary",
"type": "address"
}
],
"name": "redeem",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "redeemEnableTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "reputationReward",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"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": "0x608060405234801561001057600080fd5b50610e28806100206000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80635aef7de6116100a25780639e3d87cd116100715780639e3d87cd146102a9578063a3907d71146102e3578063d044de63146102eb578063ed1ff6d8146102f3578063f2fde38b146102fb5761010b565b80635aef7de61461026b578063715018a6146102735780638da5cb5b1461027b57806395a2251f146102835761010b565b80634bb77d68116100de5780634bb77d68146101905780634ea2c7ec14610198578063590411da146101a05780635926651d146102455761010b565b8063015677391461011057806326e9a57e1461014a5780633d1678f4146101645780633edf7ca11461016c575b600080fd5b6101366004803603602081101561012657600080fd5b50356001600160a01b0316610321565b604080519115158252519081900360200190f35b610152610336565b60408051918252519081900360200190f35b61015261033c565b610174610342565b604080516001600160a01b039092168252519081900360200190f35b610136610351565b61015261035a565b610243600480360360208110156101b657600080fd5b8101906020810181356401000000008111156101d157600080fd5b8201836020820111156101e357600080fd5b8035906020019184602083028401116401000000008311171561020557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610360945050505050565b005b6102436004803603602081101561025b57600080fd5b50356001600160a01b03166103ec565b6101746104ff565b61024361050e565b6101746105b0565b6101366004803603602081101561029957600080fd5b50356001600160a01b03166105bf565b610243600480360360808110156102bf57600080fd5b506001600160a01b038135811691602081013591604082013591606001351661086c565b610243610896565b61015261090f565b610152610915565b6102436004803603602081101561031157600080fd5b50356001600160a01b031661091b565b609a6020526000908152604090205460ff1681565b609d5481565b609f5481565b6098546001600160a01b031681565b609c5460ff1681565b60995481565b610368610a14565b6065546001600160a01b039081169116146103b8576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b60005b81518110156103e8576103e08282815181106103d357fe5b60200260200101516103ec565b6001016103bb565b5050565b6103f4610a14565b6065546001600160a01b03908116911614610444576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b609c5460ff16156104865760405162461bcd60e51b815260040180806020018281038252602e815260200180610d1b602e913960400191505060405180910390fd5b6001600160a01b0381166000908152609a602052604090205460ff166104fc576001600160a01b0381166000818152609a6020526040808220805460ff19166001908117909155609d80549091019055517f95b0b3bbe2a97e90a67cbf83ff77fbde1eb5b70051247f9d1a62822ccdc919979190a25b50565b6097546001600160a01b031681565b610516610a14565b6065546001600160a01b03908116911614610566576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6065546001600160a01b031690565b609c5460009060ff16610610576040805162461bcd60e51b81526020600482015260146024820152737265717569726520746f20626520656e61626c6560601b604482015290519081900360640190fd5b6001600160a01b0382166000908152609a602052604090205460ff166106675760405162461bcd60e51b8152600401808060200182810382526036815260200180610dbd6036913960400191505060405180910390fd5b6001600160a01b0382166000908152609a60205260409020805460ff19169055609f5442116106dd576040805162461bcd60e51b815260206004820152601e60248201527f72657175697265206e6f77203e2072656465656d456e61626c6554696d650000604482015290519081900360640190fd5b609760009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561072b57600080fd5b505afa15801561073f573d6000803e3d6000fd5b505050506040513d602081101561075557600080fd5b5051609e546040805163dea9e24d60e01b815260048101929092526001600160a01b038581166024840152905192169163dea9e24d916044808201926020929091908290030181600087803b1580156107ad57600080fd5b505af11580156107c1573d6000803e3d6000fd5b505050506040513d60208110156107d757600080fd5b5051610823576040805162461bcd60e51b81526020600482015260166024820152751b5a5b9d081c995c1d5d185d1a5bdb8819985a5b195960521b604482015290519081900360640190fd5b609e5460408051918252516001600160a01b038416917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a2506001919050565b61087584610a18565b609b839055609f829055610887610b30565b6108908161091b565b50505050565b61089e610a14565b6065546001600160a01b039081169116146108ee576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b609c805460ff19166001179055609d54609b5461090a91610c29565b609e55565b609e5481565b609b5481565b610923610a14565b6065546001600160a01b03908116911614610973576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b6001600160a01b0381166109b85760405162461bcd60e51b8152600401808060200182810382526026815260200180610d496026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b600054610100900460ff1680610a315750610a31610c72565b80610a3f575060005460ff16155b610a7a5760405162461bcd60e51b815260040180806020018281038252602e815260200180610d8f602e913960400191505060405180910390fd5b600054610100900460ff16158015610aa5576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216610b00576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b609780546001600160a01b0319166001600160a01b03841617905580156103e8576000805461ff00191690555050565b600054610100900460ff1680610b495750610b49610c72565b80610b57575060005460ff16155b610b925760405162461bcd60e51b815260040180806020018281038252602e815260200180610d8f602e913960400191505060405180910390fd5b600054610100900460ff16158015610bbd576000805460ff1961ff0019909116610100171660011790555b6000610bc7610a14565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156104fc576000805461ff001916905550565b6000610c6b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c78565b9392505050565b303b1590565b60008183610d045760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cc9578181015183820152602001610cb1565b50505050905090810190601f168015610cf65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d1057fe5b049594505050505056fe63616e206164642062656e6566696369617279206f6e6c79206966206e6f7420616c726561647920656e61626c654f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656472657175697265205f62656e656669636961727920746f20657869737420696e207468652062656e65666963696172696573206d6170a26469706673582212202f8a449a5523990f2aa1ec74a2838b93cf16b17a246607ee016e75bb31fc246b64736f6c634300060c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80635aef7de6116100a25780639e3d87cd116100715780639e3d87cd146102a9578063a3907d71146102e3578063d044de63146102eb578063ed1ff6d8146102f3578063f2fde38b146102fb5761010b565b80635aef7de61461026b578063715018a6146102735780638da5cb5b1461027b57806395a2251f146102835761010b565b80634bb77d68116100de5780634bb77d68146101905780634ea2c7ec14610198578063590411da146101a05780635926651d146102455761010b565b8063015677391461011057806326e9a57e1461014a5780633d1678f4146101645780633edf7ca11461016c575b600080fd5b6101366004803603602081101561012657600080fd5b50356001600160a01b0316610321565b604080519115158252519081900360200190f35b610152610336565b60408051918252519081900360200190f35b61015261033c565b610174610342565b604080516001600160a01b039092168252519081900360200190f35b610136610351565b61015261035a565b610243600480360360208110156101b657600080fd5b8101906020810181356401000000008111156101d157600080fd5b8201836020820111156101e357600080fd5b8035906020019184602083028401116401000000008311171561020557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610360945050505050565b005b6102436004803603602081101561025b57600080fd5b50356001600160a01b03166103ec565b6101746104ff565b61024361050e565b6101746105b0565b6101366004803603602081101561029957600080fd5b50356001600160a01b03166105bf565b610243600480360360808110156102bf57600080fd5b506001600160a01b038135811691602081013591604082013591606001351661086c565b610243610896565b61015261090f565b610152610915565b6102436004803603602081101561031157600080fd5b50356001600160a01b031661091b565b609a6020526000908152604090205460ff1681565b609d5481565b609f5481565b6098546001600160a01b031681565b609c5460ff1681565b60995481565b610368610a14565b6065546001600160a01b039081169116146103b8576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b60005b81518110156103e8576103e08282815181106103d357fe5b60200260200101516103ec565b6001016103bb565b5050565b6103f4610a14565b6065546001600160a01b03908116911614610444576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b609c5460ff16156104865760405162461bcd60e51b815260040180806020018281038252602e815260200180610d1b602e913960400191505060405180910390fd5b6001600160a01b0381166000908152609a602052604090205460ff166104fc576001600160a01b0381166000818152609a6020526040808220805460ff19166001908117909155609d80549091019055517f95b0b3bbe2a97e90a67cbf83ff77fbde1eb5b70051247f9d1a62822ccdc919979190a25b50565b6097546001600160a01b031681565b610516610a14565b6065546001600160a01b03908116911614610566576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6065546001600160a01b031690565b609c5460009060ff16610610576040805162461bcd60e51b81526020600482015260146024820152737265717569726520746f20626520656e61626c6560601b604482015290519081900360640190fd5b6001600160a01b0382166000908152609a602052604090205460ff166106675760405162461bcd60e51b8152600401808060200182810382526036815260200180610dbd6036913960400191505060405180910390fd5b6001600160a01b0382166000908152609a60205260409020805460ff19169055609f5442116106dd576040805162461bcd60e51b815260206004820152601e60248201527f72657175697265206e6f77203e2072656465656d456e61626c6554696d650000604482015290519081900360640190fd5b609760009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561072b57600080fd5b505afa15801561073f573d6000803e3d6000fd5b505050506040513d602081101561075557600080fd5b5051609e546040805163dea9e24d60e01b815260048101929092526001600160a01b038581166024840152905192169163dea9e24d916044808201926020929091908290030181600087803b1580156107ad57600080fd5b505af11580156107c1573d6000803e3d6000fd5b505050506040513d60208110156107d757600080fd5b5051610823576040805162461bcd60e51b81526020600482015260166024820152751b5a5b9d081c995c1d5d185d1a5bdb8819985a5b195960521b604482015290519081900360640190fd5b609e5460408051918252516001600160a01b038416917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a2506001919050565b61087584610a18565b609b839055609f829055610887610b30565b6108908161091b565b50505050565b61089e610a14565b6065546001600160a01b039081169116146108ee576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b609c805460ff19166001179055609d54609b5461090a91610c29565b609e55565b609e5481565b609b5481565b610923610a14565b6065546001600160a01b03908116911614610973576040805162461bcd60e51b81526020600482018190526024820152600080516020610d6f833981519152604482015290519081900360640190fd5b6001600160a01b0381166109b85760405162461bcd60e51b8152600401808060200182810382526026815260200180610d496026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b600054610100900460ff1680610a315750610a31610c72565b80610a3f575060005460ff16155b610a7a5760405162461bcd60e51b815260040180806020018281038252602e815260200180610d8f602e913960400191505060405180910390fd5b600054610100900460ff16158015610aa5576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216610b00576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b609780546001600160a01b0319166001600160a01b03841617905580156103e8576000805461ff00191690555050565b600054610100900460ff1680610b495750610b49610c72565b80610b57575060005460ff16155b610b925760405162461bcd60e51b815260040180806020018281038252602e815260200180610d8f602e913960400191505060405180910390fd5b600054610100900460ff16158015610bbd576000805460ff1961ff0019909116610100171660011790555b6000610bc7610a14565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156104fc576000805461ff001916905550565b6000610c6b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c78565b9392505050565b303b1590565b60008183610d045760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cc9578181015183820152602001610cb1565b50505050905090810190601f168015610cf65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610d1057fe5b049594505050505056fe63616e206164642062656e6566696369617279206f6e6c79206966206e6f7420616c726561647920656e61626c654f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656472657175697265205f62656e656669636961727920746f20657869737420696e207468652062656e65666963696172696573206d6170a26469706673582212202f8a449a5523990f2aa1ec74a2838b93cf16b17a246607ee016e75bb31fc246b64736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}