17.6k txs
38.9k calls
constructor
constructor(address stakeToken, address rewardToken)
functions
getClaimedEarnings
viewfunction getClaimedEarnings(address user) view returns (uint256)
getDistributorAt
viewfunction getDistributorAt(uint256 index) view returns (address)
getDistributors
viewfunction getDistributors() view returns (address[])
getRewardToken
viewfunction getRewardToken() view returns (address)
getStakeToken
viewfunction getStakeToken() view returns (address)
getStakeTracker
viewfunction getStakeTracker() view returns (address)
getUnclaimedEarnings
viewfunction getUnclaimedEarnings(address user, uint256 limit) view returns (uint256 quantity)
isDistributor
viewfunction isDistributor(address distributor) view returns (bool)
owner
viewfunction owner() view returns (address)
addDistributor
nonpayablefunction addDistributor(address distributor)
claim
nonpayablefunction claim(address to, uint256 limit)
onStake
nonpayablefunction onStake(address user, address token, uint256 quantity)
onUnstake
nonpayablefunction onUnstake(address user, address token, uint256 quantity)
removeDistributor
nonpayablefunction removeDistributor(address distributor)
renounceOwnership
nonpayablefunction renounceOwnership()
split
nonpayablefunction split(uint256 rewardQuantity)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x60e060405234801561000f575f80fd5b5060405161272338038061272383398101604081905261002e916100fb565b61003733610084565b6001600160a01b03808216608052821660a052604051610056906100d3565b604051809103905ff08015801561006f573d5f803e3d5ffd5b506001600160a01b031660c0525061012c9050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6113128061141183390190565b80516001600160a01b03811681146100f6575f80fd5b919050565b5f806040838503121561010c575f80fd5b610115836100e0565b9150610123602084016100e0565b90509250929050565b60805160a05160c0516112676101aa5f395f81816101d50152818161037d01528181610442015281816105a9015281816106db0152818161075201528181610840015281816109af0152610c8801525f818161012101528181610320015261067e01525f818161017301528181610a7d0152610bb401526112675ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c80638da5cb5b1161009e578063a3cafed31161006e578063a3cafed314610254578063aad3ec961461027c578063c72bc67e1461028f578063dbceb005146102a2578063f2fde38b146102b5575f80fd5b80638da5cb5b146101f95780638de0474e146102095780638f0c86fa1461021c57806390e879861461023f575f80fd5b8063715018a6116100d9578063715018a6146101975780637250e2241461019f5780638103bd1d146101b25780638b00ee2c146101d3575f80fd5b80630214f5ca1461010a578063500a15641461011f57806357c1f9e21461015e57806369940d7914610171575b5f80fd5b61011d61011836600461103b565b6102c8565b005b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b61011d61016c366004611075565b6103da565b7f0000000000000000000000000000000000000000000000000000000000000000610141565b61011d6103f1565b61011d6101ad366004611075565b610404565b6101c56101c036600461108e565b610417565b604051908152602001610155565b7f0000000000000000000000000000000000000000000000000000000000000000610141565b5f546001600160a01b0316610141565b61011d61021736600461103b565b61062b565b61022f61022a366004611075565b6107f8565b6040519015158152602001610155565b61024761080a565b60405161015591906110b6565b6101c5610262366004611075565b6001600160a01b03165f9081526002602052604090205490565b61011d61028a36600461108e565b61081b565b61014161029d366004611101565b610b3c565b61011d6102b0366004611101565b610b48565b61011d6102c3366004611075565b610cea565b337389fa20b30a88811fbb044821fec130793185c60b1461031e5760405162461bcd60e51b815260206004820152600b60248201526a4f6e6c792052656261736560a81b60448201526064015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036103d55760405163abe7f1ab60e01b81526001600160a01b038481166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063abe7f1ab906044015f604051808303815f87803b1580156103be575f80fd5b505af11580156103d0573d5f803e3d5ffd5b505050505b505050565b6103e2610d63565b6103ed600382610dbc565b5050565b6103f9610d63565b6104025f610dd7565b565b61040c610d63565b6103ed600382610e26565b5f8060015f856001600160a01b03166001600160a01b031681526020019081526020015f205490505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635439ad866040518163ffffffff1660e01b8152600401602060405180830381865afa15801561049c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c09190611118565b90505f821180156104d15750808211155b1561062357836104e18383611143565b11156104f4576104f18483611156565b90505b5f82610501836001611156565b61050b9190611143565b67ffffffffffffffff81111561052357610523611169565b60405190808252806020026020018201604052801561054c578160200160208202803683370190505b509050825b8281116105915780826105648683611143565b815181106105745761057461117d565b60209081029190910101528061058981611191565b915050610551565b5060405163ed35578360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ed355783906105e090899085906004016111a9565b602060405180830381865afa1580156105fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061f9190611118565b9350505b505092915050565b337389fa20b30a88811fbb044821fec130793185c60b1461067c5760405162461bcd60e51b815260206004820152600b60248201526a4f6e6c792052656261736560a81b6044820152606401610315565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036103d55760405163f5d82b6b60e01b81526001600160a01b038481166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f5d82b6b906044015f604051808303815f87803b15801561071c575f80fd5b505af115801561072e573d5f803e3d5ffd5b505050506001600160a01b0383165f9081526001602052604081205490036103d5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635439ad866040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d09190611118565b6107db906001611156565b6001600160a01b0384165f90815260016020526040902055505050565b5f610804600383610e3a565b92915050565b60606108166003610e5b565b905090565b335f908152600160209081526040808320548151632a1cd6c360e11b815291519093927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692635439ad8692600480830193928290030181865afa15801561088d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b19190611118565b90505f821180156108c25750808211155b15610b3657826108d28383611143565b11156108e5576108e28383611156565b90505b5f826108f2836001611156565b6108fc9190611143565b67ffffffffffffffff81111561091457610914611169565b60405190808252806020026020018201604052801561093d578160200160208202803683370190505b509050825b8281116109825780826109558683611143565b815181106109655761096561117d565b60209081029190910101528061097a81611191565b915050610942565b5061098e826001611156565b335f8181526001602052604080822093909355915163ed35578360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163ed355783916109ed919086906004016111a9565b602060405180830381865afa158015610a08573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2c9190611118565b90508015610b3357335f9081526002602052604081208054839290610a52908490611156565b909155505060405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af1158015610ac3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae791906111fe565b610b335760405162461bcd60e51b815260206004820152601860248201527f556e61626c6520746f207472616e7366657220746f6b656e00000000000000006044820152606401610315565b50505b50505050565b5f610804600383610e67565b610b53600333610e3a565b610b925760405162461bcd60e51b815260206004820152601060248201526f27b7363c902234b9ba3934b13aba37b960811b6044820152606401610315565b6040516323b872dd60e01b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610c02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2691906111fe565b610c725760405162461bcd60e51b815260206004820152601860248201527f53706c6974746572207472616e73666572206661696c656400000000000000006044820152606401610315565b60405163f73f9e1560e01b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f73f9e15906024015f604051808303815f87803b158015610cd1575f80fd5b505af1158015610ce3573d5f803e3d5ffd5b5050505050565b610cf2610d63565b6001600160a01b038116610d575760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610315565b610d6081610dd7565b50565b5f546001600160a01b031633146104025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610315565b5f610dd0836001600160a01b038416610e72565b9392505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610dd0836001600160a01b038416610f55565b6001600160a01b0381165f9081526001830160205260408120541515610dd0565b60605f610dd083610fa1565b5f610dd08383610ffa565b5f8181526001830160205260408120548015610f4c575f610e94600183611143565b85549091505f90610ea790600190611143565b9050818114610f06575f865f018281548110610ec557610ec561117d565b905f5260205f200154905080875f018481548110610ee557610ee561117d565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080610f1757610f1761121d565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610804565b5f915050610804565b5f818152600183016020526040812054610f9a57508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610804565b505f610804565b6060815f01805480602002602001604051908101604052809291908181526020018280548015610fee57602002820191905f5260205f20905b815481526020019060010190808311610fda575b50505050509050919050565b5f825f01828154811061100f5761100f61117d565b905f5260205f200154905092915050565b80356001600160a01b0381168114611036575f80fd5b919050565b5f805f6060848603121561104d575f80fd5b61105684611020565b925061106460208501611020565b929592945050506040919091013590565b5f60208284031215611085575f80fd5b610dd082611020565b5f806040838503121561109f575f80fd5b6110a883611020565b946020939093013593505050565b602080825282518282018190525f918401906040840190835b818110156110f65783516001600160a01b03168352602093840193909201916001016110cf565b509095945050505050565b5f60208284031215611111575f80fd5b5035919050565b5f60208284031215611128575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108045761080461112f565b808201808211156108045761080461112f565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f600182016111a2576111a261112f565b5060010190565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b818110156111f25783518352602093840193909201916001016111d4565b50909695505050505050565b5f6020828403121561120e575f80fd5b81518015158114610dd0575f80fd5b634e487b7160e01b5f52603160045260245ffdfea26469706673582212208b3287776470314b1429334287cf4351a92dc7263b3ca65e50e154829741d56c64736f6c634300081a003360a060405234801561000f575f80fd5b506040518060400160405280600c81526020016b29ba30b5b2aa3930b1b5b2b960a11b8152506040518060400160405280600281526020016114d560f21b815250816003908161005f9190610110565b50600461006c8282610110565b505033608052506101ca565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806100a057607f821691505b6020821081036100be57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561010b57805f5260205f20601f840160051c810160208510156100e95750805b601f840160051c820191505b81811015610108575f81556001016100f5565b50505b505050565b81516001600160401b0381111561012957610129610078565b61013d81610137845461008c565b846100c4565b6020601f82116001811461016f575f83156101585750848201515b5f19600385901b1c1916600184901b178455610108565b5f84815260208120601f198516915b8281101561019e578785015182556020948501946001909201910161017e565b50848210156101bb57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6080516111146101fe5f395f818161022f015281816105bf01528181610640015281816106d3015261072501526111145ff3fe608060405234801561000f575f80fd5b506004361061013d575f3560e01c806370a08231116100b4578063a9059cbb11610079578063a9059cbb146102c2578063abe7f1ab146102d0578063dd62ed3e146102e5578063ed355783146102f8578063f5d82b6b1461030b578063f73f9e151461031e575f80fd5b806370a082311461025957806391a0846d1461028157806395d89b4114610294578063981b24d01461029c578063a457c2d7146102af575f80fd5b8063313ce56711610105578063313ce567146101c657806339509351146101d55780634d71597f146101e85780634ee2cd7e146102075780635439ad861461021a5780636ef9554e14610222575f80fd5b806306fdde0314610141578063095ea7b31461015f57806318160ddd146101825780631c4b774b1461019457806323b872dd146101b3575b5f80fd5b610149610331565b6040516101569190610dee565b60405180910390f35b61017261016d366004610e39565b6103c1565b6040519015158152602001610156565b6002545b604051908152602001610156565b6101866101a2366004610e61565b5f9081526009602052604090205490565b6101726101c1366004610e78565b6103da565b60405160128152602001610156565b6101726101e3366004610e39565b61041e565b6101866101f6366004610e61565b60096020525f908152604090205481565b610186610215366004610e39565b61043f565b610186610496565b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610156565b610186610267366004610eb2565b6001600160a01b03165f9081526020819052604090205490565b61018661028f366004610e39565b6104a4565b6101496104f7565b6101866102aa366004610e61565b610506565b6101726102bd366004610e39565b61052f565b6101726101c1366004610e39565b6102e36102de366004610e39565b6105b4565b005b6101866102f3366004610ecb565b61060a565b610186610306366004610f10565b610634565b6102e3610319366004610e39565b6106c8565b6102e361032c366004610e61565b61071a565b60606003805461034090610feb565b80601f016020809104026020016040519081016040528092919081815260200182805461036c90610feb565b80156103b75780601f1061038e576101008083540402835291602001916103b7565b820191905f5260205f20905b81548152906001019060200180831161039a57829003601f168201915b5050505050905090565b5f336103ce818585610781565b60019150505b92915050565b60405162461bcd60e51b8152602060048201526012602482015271151c985b9cd9995c9cc8191a5cd8589b195960721b60448201525f906064015b60405180910390fd5b5f336103ce818585610430838361060a565b61043a9190611037565b610781565b6001600160a01b0382165f908152600560205260408120819081906104659085906108a5565b915091508161048b576001600160a01b0385165f9081526020819052604090205461048d565b805b95945050505050565b5f61049f610995565b905090565b5f806104b0848461043f565b90505f6104bc84610506565b9050805f036104c9575060015b5f848152600960205260408120546104ed9083906104e7908661099f565b906109b1565b9695505050505050565b60606004805461034090610feb565b5f805f6105148460066108a5565b915091508161052557600254610527565b805b949350505050565b5f338161053c828661060a565b90508381101561059c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610415565b6105a98286868403610781565b506001949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105fc5760405162461bcd60e51b81526004016104159061104a565b61060682826109bc565b5050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461067d5760405162461bcd60e51b81526004016104159061104a565b5f805b83518110156106c0576106ac8585838151811061069f5761069f611081565b60200260200101516104a4565b6106b69083611037565b9150600101610680565b509392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107105760405162461bcd60e51b81526004016104159061104a565b6106068282610af4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107625760405162461bcd60e51b81526004016104159061104a565b8060095f61076e610bbc565b815260208101919091526040015f205550565b6001600160a01b0383166107e35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610415565b6001600160a01b0382166108445760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610415565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f805f84116108ef5760405162461bcd60e51b815260206004820152601660248201527504552433230536e617073686f743a20696420697320360541b6044820152606401610415565b6108f7610995565b8411156109465760405162461bcd60e51b815260206004820152601d60248201527f4552433230536e617073686f743a206e6f6e6578697374656e742069640000006044820152606401610415565b5f6109518486610c14565b84549091508103610968575f80925092505061098e565b600184600101828154811061097f5761097f611081565b905f5260205f20015492509250505b9250929050565b5f61049f60085490565b5f6109aa8284611095565b9392505050565b5f6109aa82846110ac565b6001600160a01b038216610a1c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610415565b610a27825f83610cba565b6001600160a01b0382165f9081526020819052604090205481811015610a9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610415565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610898565b505050565b6001600160a01b038216610b4a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610415565b610b555f8383610cba565b8060025f828254610b669190611037565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5f610bcb600880546001019055565b5f610bd4610995565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb6781604051610c0791815260200190565b60405180910390a1919050565b81545f908103610c2557505f6103d4565b82545f905b80821015610c6f575f610c3d8383610d02565b5f8781526020902090915085908201541115610c5b57809150610c69565b610c66816001611037565b92505b50610c2a565b5f82118015610c99575083610c9686610c896001866110cb565b5f91825260209091200190565b54145b15610cb257610ca96001836110cb565b925050506103d4565b5090506103d4565b6001600160a01b038316610cd957610cd182610d1c565b610aef610d50565b6001600160a01b038216610cf057610cd183610d1c565b610cf983610d1c565b610aef82610d1c565b5f610d1060028484186110ac565b6109aa90848416611037565b6001600160a01b0381165f9081526005602090815260408083209183905290912054610d4d9190610d60565b610d60565b50565b610d5e6006610d4860025490565b565b5f610d69610995565b905080610d7584610da8565b1015610aef578254600180820185555f858152602080822090930193909355938401805494850181558252902090910155565b80545f908103610db957505f919050565b81548290610dc9906001906110cb565b81548110610dd957610dd9611081565b905f5260205f2001549050919050565b919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610de9575f80fd5b5f8060408385031215610e4a575f80fd5b610e5383610e23565b946020939093013593505050565b5f60208284031215610e71575f80fd5b5035919050565b5f805f60608486031215610e8a575f80fd5b610e9384610e23565b9250610ea160208501610e23565b929592945050506040919091013590565b5f60208284031215610ec2575f80fd5b6109aa82610e23565b5f8060408385031215610edc575f80fd5b610ee583610e23565b9150610ef360208401610e23565b90509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610f21575f80fd5b610f2a83610e23565b9150602083013567ffffffffffffffff811115610f45575f80fd5b8301601f81018513610f55575f80fd5b803567ffffffffffffffff811115610f6f57610f6f610efc565b8060051b604051601f19603f830116810181811067ffffffffffffffff82111715610f9c57610f9c610efc565b604052918252602081840181019290810188841115610fb9575f80fd5b6020850194505b83851015610fdc57843580825260209586019590935001610fc0565b50809450505050509250929050565b600181811c90821680610fff57607f821691505b60208210810361101d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103d4576103d4611023565b60208082526019908201527f4f6e6c792063616c6c61626c652062792053706c697474657200000000000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b80820281158282048414176103d4576103d4611023565b5f826110c657634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156103d4576103d461102356fea2646970667358221220d8b7bdfd9fddd5e47c19969f9d886f118b82435a7dea87f67f5ba4b097ff5a7a64736f6c634300081a00330000000000000000000000005ba8d32579a4497c12d327289a103c3ad5b64eb1000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda02913