1 tx
8.3k calls
constructor
constructor()
functions
BASIS_POINTS_DIVISOR
viewfunction BASIS_POINTS_DIVISOR() view returns (uint256)
BONUS_DURATION
viewfunction BONUS_DURATION() view returns (uint256)
bonusMultiplierBasisPoints
viewfunction bonusMultiplierBasisPoints() view returns (uint256)
lastDistributionTime
viewfunction lastDistributionTime() view returns (uint256)
maxWithdrawableAmount
viewfunction maxWithdrawableAmount() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
pendingRewards
viewfunction pendingRewards() view returns (uint256)
rewardToken
viewfunction rewardToken() view returns (address)
rewardTracker
viewfunction rewardTracker() view returns (address)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
tokensPerInterval
viewfunction tokensPerInterval() view returns (uint256)
acceptOwnership
nonpayablefunction acceptOwnership()
distribute
nonpayablefunction distribute() returns (uint256)
initialize
nonpayablefunction initialize(address _rewardToken, address _rewardTracker)
renounceOwnership
nonpayablefunction renounceOwnership()
setBonusMultiplier
nonpayablefunction setBonusMultiplier(uint256 _bonusMultiplierBasisPoints)
setPaused
nonpayablefunction setPaused(bool _paused)
setTokensPerInterval
nonpayablefunction setTokensPerInterval(uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateLastDistributionTime
nonpayablefunction updateLastDistributionTime()
updateTokensPerInterval
nonpayablefunction updateTokensPerInterval()
withdrawToken
nonpayablefunction withdrawToken(address _token, address _recipient, uint256 _amount)
events
BonusMultiplierChange
event BonusMultiplierChange(uint256 basisPoints)
Distribute
event Distribute(uint256 amount)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
StatusChange
event StatusChange(address indexed rewardTracker, uint256 timestamp, bool paused)
TokensPerIntervalChange
event TokensPerIntervalChange(uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b5061001a3361001f565b61008b565b600180546001600160a01b03191690556100388161003b565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6112058061009a6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806375b17350116100c3578063e30c39781161007c578063e30c397814610286578063e4fc6b6d14610297578063eded3fda1461029f578063f2fde38b146102a7578063f7c618c1146102ba578063fd58e63a146102cd57600080fd5b806375b173501461024857806379ba5097146102515780638a19bf66146102595780638da5cb5b14610261578063a013ad5414610272578063a8d936271461027d57600080fd5b80632f6beaa5116101155780632f6beaa5146101dd5780633ae6d6eb146101e6578063485cc955146101ee5780635c975abb146102015780636bcb411a14610215578063715018a61461024057600080fd5b806301e336671461015d57806301ffc9a714610172578063126082cf1461019a57806316c38b3c146101b157806318e20a03146101c457806326b97eb2146101d5575b600080fd5b61017061016b366004610fc5565b6102e0565b005b610185610180366004611001565b6103df565b60405190151581526020015b60405180910390f35b6101a361271081565b604051908152602001610191565b6101706101bf366004611040565b610416565b6101706101d236600461105d565b50565b6101706104f6565b6101a360065481565b610170610593565b6101706101fc366004611076565b6105a1565b60055461018590600160a01b900460ff1681565b600554610228906001600160a01b031681565b6040516001600160a01b039091168152602001610191565b61017061070f565b6101a360045481565b610170610723565b6101a361079a565b6000546001600160a01b0316610228565b6101a36301e1338081565b6101a360035481565b6001546001600160a01b0316610228565b6101a3610888565b6101a36109e8565b6101706102b53660046110a9565b610a35565b600254610228906001600160a01b031681565b6101706102db36600461105d565b610aa6565b6102e8610c32565b6001600160a01b038316610332576040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561032c573d6000803e3d6000fd5b50505050565b600560009054906101000a90046001600160a01b03166001600160a01b0316633e158b0c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561038257600080fd5b505af1158015610396573d6000803e3d6000fd5b5050505060006103a461079a565b90508115806103b257508082115b6103bc57816103be565b805b9150811561032c5761032c6001600160a01b0385168484610c8c565b505050565b60006001600160e01b0319821663ddd9719160e01b148061041057506001600160e01b031982166301ffc9a760e01b145b92915050565b61041e610c32565b6005546001600160a01b031642821561048957816001600160a01b0316633e158b0c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561046c57600080fd5b505af1158015610480573d6000803e3d6000fd5b5050505061048f565b60048190555b6005805460ff60a01b1916600160a01b851515908102919091179091556040805183815260208101929092526001600160a01b038416917f16175f029273b4b6309c862de0c8ba9abf4916d496056b26b82efc8d7adb0e9a910160405180910390a2505050565b600554604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd9160048083019260209291908290030181865afa158015610540573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056491906110c4565b90506105766301e133806127106110f3565b60065461058390836110f3565b61058d919061110a565b60035550565b61059b610c32565b42600455565b600154600160a81b900460ff16158080156105c7575060018054600160a01b900460ff16105b806105e75750303b1580156105e7575060018054600160a01b900460ff16145b61064f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6001805460ff60a01b1916600160a01b179055801561067c576001805460ff60a81b1916600160a81b1790555b61068533610cde565b600280546001600160a01b038086166001600160a01b031990921691909117909155600580546001600160a81b03191691841691909117600160a01b17905580156103da576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610717610c32565b6107216000610cde565b565b60015433906001600160a01b031681146107915760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610646565b6101d281610cde565b6002546040516370a0823160e01b815230600482015260009182916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156107e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080b91906110c4565b905060006108176109e8565b9050808210156108775760405162461bcd60e51b815260206004820152602560248201527f5265776172644469737472696275746f723a20496e73756666696369656e742060448201526466756e647360d81b6064820152608401610646565b610881818361112c565b9250505090565b60055460009033906001600160a01b031681146108f55760405162461bcd60e51b815260206004820152602560248201527f5265776172644469737472696275746f723a20696e76616c6964206d73672e7360448201526432b73232b960d91b6064820152608401610646565b60006108ff6109e8565b9050806000036109125760009250505090565b4260049081556002546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098991906110c4565b905080821115610997578091505b6002546109ae906001600160a01b03168484610c8c565b6040518281527f4def474aca53bf221d07d9ab0f675b3f6d8d2494b8427271bcf43c018ef1eead9060200160405180910390a15092915050565b600554600090600160a01b900460ff1680610a04575060045442145b15610a0f5750600090565b600060045442610a1f919061112c565b905080600354610a2f91906110f3565b91505090565b610a3d610c32565b600180546001600160a01b0383166001600160a01b03199091168117909155610a6e6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610aae610c32565b600454600003610b175760405162461bcd60e51b815260206004820152602e60248201527f426f6e75734469737472696275746f723a20696e76616c6964206c617374446960448201526d73747269627574696f6e54696d6560901b6064820152608401610646565b610b2461271060186110f3565b811115610b875760405162461bcd60e51b815260206004820152602b60248201527f426f6e75734469737472696275746f723a20696e76616c6964206d756c74697060448201526a6c69657220706f696e747360a81b6064820152608401610646565b600560009054906101000a90046001600160a01b03166001600160a01b0316633e158b0c6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bd757600080fd5b505af1158015610beb573d6000803e3d6000fd5b505050600682905550610bfc6104f6565b6040518181527f58585e4edc172f6517d6789356504dc9ad23553d02202c3ac454a8d0733f6b2b9060200160405180910390a150565b6000546001600160a01b031633146107215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610646565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526103da908490610cf7565b600180546001600160a01b03191690556101d281610dc9565b6000610d4c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e199092919063ffffffff16565b8051909150156103da5780806020019051810190610d6a919061113f565b6103da5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610646565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060610e288484600085610e30565b949350505050565b606082471015610e915760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610646565b600080866001600160a01b03168587604051610ead9190611180565b60006040518083038185875af1925050503d8060008114610eea576040519150601f19603f3d011682016040523d82523d6000602084013e610eef565b606091505b5091509150610f0087838387610f0b565b979650505050505050565b60608315610f7a578251600003610f73576001600160a01b0385163b610f735760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610646565b5081610e28565b610e288383815115610f8f5781518083602001fd5b8060405162461bcd60e51b8152600401610646919061119c565b80356001600160a01b0381168114610fc057600080fd5b919050565b600080600060608486031215610fda57600080fd5b610fe384610fa9565b9250610ff160208501610fa9565b9150604084013590509250925092565b60006020828403121561101357600080fd5b81356001600160e01b03198116811461102b57600080fd5b9392505050565b80151581146101d257600080fd5b60006020828403121561105257600080fd5b813561102b81611032565b60006020828403121561106f57600080fd5b5035919050565b6000806040838503121561108957600080fd5b61109283610fa9565b91506110a060208401610fa9565b90509250929050565b6000602082840312156110bb57600080fd5b61102b82610fa9565b6000602082840312156110d657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610410576104106110dd565b60008261112757634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610410576104106110dd565b60006020828403121561115157600080fd5b815161102b81611032565b60005b8381101561117757818101518382015260200161115f565b50506000910152565b6000825161119281846020870161115c565b9190910192915050565b60208152600082518060208401526111bb81604085016020870161115c565b601f01601f1916919091016040019291505056fea264697066735822122066240a0b0ebd95ba6f41b94a7e45f2b0d62c40e8a9097bdb6abd61776a5accaf64736f6c63430008150033