0 txs
61 calls
constructor
constructor(uint256 _claimWait, uint256 _minimumTokenBalance, uint256 _callbackGas)
functions
accumulativeDividendOf
viewfunction accumulativeDividendOf(address account) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
callbackGas
viewfunction callbackGas() view returns (uint256)
claimWait
viewfunction claimWait() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
dividendOf
viewfunction dividendOf(address account) view returns (uint256)
getAccountData
viewfunction getAccountData(address _account) view returns (address account, int256 index, int256 iterationsUntilProcessed, uint256 withdrawableDividends, uint256 totalDividends, uint256 lastClaimTime, uint256 nextClaimTime, uint256 secondsUntilAutoClaimAvailable)
getAccountDataAtIndex
viewfunction getAccountDataAtIndex(uint256 index) view returns (address, int256, int256, uint256, uint256, uint256, uint256, uint256)
getNumberOfTokenHolders
viewfunction getNumberOfTokenHolders() view returns (uint256)
isExcludedFromDividends
viewfunction isExcludedFromDividends(address) view returns (bool)
lastClaimTimes
viewfunction lastClaimTimes(address) view returns (uint256)
lastProcessedIndex
viewfunction lastProcessedIndex() view returns (uint256)
minimumTokenBalanceForDividends
viewfunction minimumTokenBalanceForDividends() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalDividendsDistributed
viewfunction totalDividendsDistributed() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
withdrawableDividendOf
viewfunction withdrawableDividendOf(address account) view returns (uint256)
withdrawnDividendOf
viewfunction withdrawnDividendOf(address account) view returns (uint256)
callbackGasSetup
nonpayablefunction callbackGasSetup(uint256 newCallbackGas)
claim
nonpayablefunction claim(address account, bool autoClaim) returns (bool)
claimWaitSetup
nonpayablefunction claimWaitSetup(uint256 newClaimWait)
distributeDividends
payablefunction distributeDividends() payable
excludeFromDividends
nonpayablefunction excludeFromDividends(address account, uint256 balance, bool isExcluded)
process
nonpayablefunction process(uint256 gas) returns (uint256 iterations, uint256 claims)
renounceOwnership
nonpayablefunction renounceOwnership()
setBalance
nonpayablefunction setBalance(address account, uint256 newBalance)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
CallbackGasUpdated
event CallbackGasUpdated(uint256 callbackGas)
ClaimWaitUpdated
event ClaimWaitUpdated(uint256 claimWait)
DividendsDistributed
event DividendsDistributed(address indexed from, uint256 weiAmount)
DividendWithdrawn
event DividendWithdrawn(address indexed to, uint256 weiAmount)
ExcludeFromDividends
event ExcludeFromDividends(address indexed account, bool isExcluded)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
ProcessedDividendTracker
event ProcessedDividendTracker(uint256 iterations, uint256 claims)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
DividendTrackerNoEligibleAddresses
error DividendTrackerNoEligibleAddresses()
ERC20InsufficientBalance
error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed)
ERC20InvalidReceiver
error ERC20InvalidReceiver(address receiver)
ERC20InvalidSender
error ERC20InvalidSender(address sender)
InvalidCallbackGas
error InvalidCallbackGas(uint256 callbackGas)
InvalidClaimWait
error InvalidClaimWait(uint256 claimWait)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x608060405234801561001057600080fd5b50604051611b72380380611b7283398101604081905261002f9161023f565b604080518082018252600f8082526e2234bb34b232b7322a3930b1b5b2b960891b6020808401829052845180860190955291845290830152908181338061009157604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61009a816100db565b5060036100a7838261030e565b5060046100b4828261030e565b50505050506100c88361012b60201b60201c565b6100d1816101a1565b50601255506103cd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610133610210565b603c811080610144575062093a8081115b1561016557604051639a60673160e01b815260048101829052602401610088565b60118190556040518181527f4b0a6b82d0dc4407b3359033a4f27efd1e2105e4571b72d6a3b8f1da3e6079dd906020015b60405180910390a150565b6101a9610210565b6108fc8110806101ba575061271081115b156101db57604051631030c0f760e11b815260048101829052602401610088565b60098190556040518181527fb1b0d1662f1613cc48bbdf25be1c8f7ba4cb61de464f286bc2d596f626b883d590602001610196565b6000546001600160a01b0316331461023d5760405163118cdaa760e01b8152336004820152602401610088565b565b60008060006060848603121561025457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061029757607f821691505b6020821081036102b757634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610309576000816000526020600020601f850160051c810160208610156102e65750805b601f850160051c820191505b81811015610305578281556001016102f2565b5050505b505050565b81516001600160401b038111156103275761032761026d565b61033b816103358454610283565b846102bd565b602080601f83116001811461037057600084156103585750858301515b600019600386901b1c1916600185901b178555610305565b600085815260208120601f198616915b8281101561039f57888601518255948401946001909101908401610380565b50858210156103bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611796806103dc6000396000f3fe6080604052600436106101c65760003560e01c8063715018a6116100f7578063a8b9d24011610095578063d1fbb84e11610064578063d1fbb84e1461053b578063e30443bc1461055b578063f2fde38b1461057b578063ffb2c4791461059b57600080fd5b8063a8b9d2401461049f578063aafd847a146104bf578063be10b614146104f5578063c705c5691461050b57600080fd5b806391b89fba116100d157806391b89fba1461042457806392fd2daf1461044457806395d89b4114610474578063a10132ad1461048957600080fd5b8063715018a6146103d157806385a6b3ae146103e65780638da5cb5b146103fc57600080fd5b80633009a609116101645780635d78650e1161013e5780635d78650e146103455780636cc9c8f1146103655780636f2789ec1461038557806370a082311461039b57600080fd5b80633009a609146102f3578063313ce56714610309578063393881a81461032557600080fd5b806318160ddd116101a057806318160ddd1461022c578063226cfa3d1461024157806327ce01471461026e5780632f7541e91461028e57600080fd5b806303c83302146101da57806306fdde03146101e257806309bbedde1461020d57600080fd5b366101d5576101d36105d0565b005b600080fd5b6101d36105d0565b3480156101ee57600080fd5b506101f761066d565b60405161020491906114a8565b60405180910390f35b34801561021957600080fd5b50600a545b604051908152602001610204565b34801561023857600080fd5b5060025461021e565b34801561024d57600080fd5b5061021e61025c36600461150c565b60106020526000908152604090205481565b34801561027a57600080fd5b5061021e61028936600461150c565b6106ff565b34801561029a57600080fd5b506102ae6102a9366004611530565b610762565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e082015261010001610204565b3480156102ff57600080fd5b5061021e600e5481565b34801561031557600080fd5b5060405160128152602001610204565b34801561033157600080fd5b506101d3610340366004611530565b6108b6565b34801561035157600080fd5b506102ae61036036600461150c565b610931565b34801561037157600080fd5b506101d3610380366004611530565b610a99565b34801561039157600080fd5b5061021e60115481565b3480156103a757600080fd5b5061021e6103b636600461150c565b6001600160a01b031660009081526001602052604090205490565b3480156103dd57600080fd5b506101d3610b08565b3480156103f257600080fd5b5061021e60085481565b34801561040857600080fd5b506000546040516001600160a01b039091168152602001610204565b34801561043057600080fd5b5061021e61043f36600461150c565b610b1a565b34801561045057600080fd5b5061046461045f36600461155e565b610b25565b6040519015158152602001610204565b34801561048057600080fd5b506101f7610b71565b34801561049557600080fd5b5061021e60095481565b3480156104ab57600080fd5b5061021e6104ba36600461150c565b610b80565b3480156104cb57600080fd5b5061021e6104da36600461150c565b6001600160a01b031660009081526007602052604090205490565b34801561050157600080fd5b5061021e60125481565b34801561051757600080fd5b5061046461052636600461150c565b600f6020526000908152604090205460ff1681565b34801561054757600080fd5b506101d3610556366004611593565b610bac565b34801561056757600080fd5b506101d36105763660046115d1565b610d15565b34801561058757600080fd5b506101d361059636600461150c565b610e36565b3480156105a757600080fd5b506105bb6105b6366004611530565b610e74565b60408051928352602083019190915201610204565b6002546000036105f35760405163021415c960e31b815260040160405180910390fd5b341561066b5760025461060a600160801b34611613565b610614919061162a565b600554610621919061164c565b60055560405134815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a234600854610667919061164c565b6008555b565b60606003805461067c9061165f565b80601f01602080910402602001604051908101604052809291908181526020018280546106a89061165f565b80156106f55780601f106106ca576101008083540402835291602001916106f5565b820191906000526020600020905b8154815290600101906020018083116106d857829003601f168201915b5050505050905090565b6001600160a01b0381166000908152600660209081526040808320546001909252822054600160801b91610752916107439060055461073e9190611613565b610fc6565b61074d9190611699565b610fd6565b61075c919061162a565b92915050565b600080600080600080600080600a73b24969123b1dc397b5d470e9dd8ba0b7bc28b6fa63deb3d89690916040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865af41580156107c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107eb91906116c1565b89106108105750600096506000199550859450869350839250829150819050806108ab565b6040516368d54f3f60e11b8152600a6004820152602481018a905260009073b24969123b1dc397b5d470e9dd8ba0b7bc28b6fa9063d1aa9e7e90604401602060405180830381865af415801561086a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088e91906116da565b905061089981610931565b98509850985098509850985098509850505b919395975091939597565b6108be610fe9565b6108fc8110806108cf575061271081115b156108f557604051631030c0f760e11b8152600481018290526024015b60405180910390fd5b60098190556040518181527fb1b0d1662f1613cc48bbdf25be1c8f7ba4cb61de464f286bc2d596f626b883d5906020015b60405180910390a150565b6040516317e142d160e01b8152600a60048201526001600160a01b0382166024820152819060009081908190819081908190819073b24969123b1dc397b5d470e9dd8ba0b7bc28b6fa906317e142d190604401602060405180830381865af41580156109a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c591906116c1565b9650600019955060008712610a2757600e548711156109f257600e546109eb90886116f7565b9550610a27565b600e54600a5460009110610a07576000610a17565b600e54600a54610a17919061171e565b9050610a238189611699565b9650505b610a3088610b80565b9450610a3b886106ff565b6001600160a01b038916600090815260106020526040902054909450925082610a65576000610a72565b601154610a72908461164c565b9150428211610a82576000610a8c565b610a8c428361171e565b9050919395975091939597565b610aa1610fe9565b603c811080610ab2575062093a8081115b15610ad357604051639a60673160e01b8152600481018290526024016108ec565b60118190556040518181527f4b0a6b82d0dc4407b3359033a4f27efd1e2105e4571b72d6a3b8f1da3e6079dd90602001610926565b610b10610fe9565b61066b6000611016565b600061075c82610b80565b6000610b2f610fe9565b6000610b3b8484611066565b90508015610b675750506001600160a01b0382166000908152601060205260409020429055600161075c565b5060009392505050565b60606004805461067c9061165f565b6001600160a01b038116600090815260076020526040812054610ba2836106ff565b61075c919061171e565b610bb4610fe9565b8015610c80576001600160a01b0383166000908152600f602052604090205460ff16610c7b576001600160a01b0383166000908152600f60205260408120805460ff19166001179055610c08908490611174565b60405163131836e760e21b8152600a60048201526001600160a01b038416602482015273b24969123b1dc397b5d470e9dd8ba0b7bc28b6fa90634c60db9c9060440160006040518083038186803b158015610c6257600080fd5b505af4158015610c76573d6000803e3d6000fd5b505050505b610ccb565b6001600160a01b0383166000908152600f602052604090205460ff1615610ccb576001600160a01b0383166000908152600f60205260409020805460ff19169055610ccb8383610d15565b826001600160a01b03167fa3c7c11b2e12c4144b09a7813f3393ba646392788638998c97be8da908cf04be82604051610d08911515815260200190565b60405180910390a2505050565b610d1d610fe9565b6001600160a01b0382166000908152600f602052604090205460ff16610e32576012548110610dcd57610d508282611174565b604051632f0ad01760e21b8152600a60048201526001600160a01b03831660248201526044810182905273b24969123b1dc397b5d470e9dd8ba0b7bc28b6fa9063bc2b405c9060640160006040518083038186803b158015610db157600080fd5b505af4158015610dc5573d6000803e3d6000fd5b505050505050565b610dd8826000611174565b60405163131836e760e21b8152600a60048201526001600160a01b038316602482015273b24969123b1dc397b5d470e9dd8ba0b7bc28b6fa90634c60db9c9060440160006040518083038186803b158015610db157600080fd5b5050565b610e3e610fe9565b6001600160a01b038116610e6857604051631e4fbdf760e01b8152600060048201526024016108ec565b610e7181611016565b50565b600080610e7f610fe9565b600a546000819003610e975750600093849350915050565b600e546000805a905060009550600094505b8682108015610eb757508386105b15610f7f5782610ec681611731565b600a5490945084109050610ed957600092505b6000600a6000018481548110610ef157610ef161174a565b60009182526020808320909101546001600160a01b03168083526010909152604090912054909150610f22906111c8565b15610f4557610f32816001610b25565b15610f455785610f4181611731565b9650505b86610f4f81611731565b97505060005a905080831115610f7657610f69818461171e565b610f73908561164c565b93505b9150610ea99050565b600e83905560408051878152602081018790527ff78a0aac70b15fc744c16ea2c52bba9a167f030b8961e62a1d2c92588f77facf910160405180910390a150505050915091565b6000818181121561075c57600080fd5b600080821215610fe557600080fd5b5090565b6000546001600160a01b0316331461066b5760405163118cdaa760e01b81523360048201526024016108ec565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008061107284610b80565b90508015610b67576001600160a01b03841660009081526007602052604090205461109e90829061164c565b6001600160a01b038516600090815260076020526040812091909155836110ce576110c985836111ef565b6110d8565b6110d8858361124b565b9050801561112b57846001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d8360405161111b91815260200190565b60405180910390a250905061075c565b6001600160a01b03851660009081526007602052604090205461114f90839061171e565b6001600160a01b03861660009081526007602052604090205550600091505092915050565b6001600160a01b038216600090815260016020526040902054808211156111ad576111a8836111a3838561171e565b61129a565b505050565b808210156111a8576111a8836111c3848461171e565b6112f8565b6000814210156111da57506000919050565b6011546111e7834261171e565b101592915050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461123c576040519150601f19603f3d011682016040523d82523d6000602084013e611241565b606091505b5090949350505050565b6009546040516000916001600160a01b03851691849084818181858888f193505050503d806000811461123c576040519150601f19603f3d011682016040523d82523d6000602084013e611241565b6112a48282611336565b6112b58160055461073e9190611613565b6001600160a01b0383166000908152600660205260409020546112d891906116f7565b6001600160a01b0390921660009081526006602052604090209190915550565b61130282826113cb565b6113138160055461073e9190611613565b6001600160a01b0383166000908152600660205260409020546112d89190611699565b6001600160a01b0382166113605760405163ec442f0560e01b8152600060048201526024016108ec565b8060026000828254611372919061164c565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166113f557604051634b637e8f60e11b8152600060048201526024016108ec565b6001600160a01b038216600090815260016020526040902054818110156114485760405163391434e360e21b81526001600160a01b038416600482015260248101829052604481018390526064016108ec565b6001600160a01b03831660008181526001602090815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60006020808352835180602085015260005b818110156114d6578581018301518582016040015282016114ba565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e7157600080fd5b60006020828403121561151e57600080fd5b8135611529816114f7565b9392505050565b60006020828403121561154257600080fd5b5035919050565b8035801515811461155957600080fd5b919050565b6000806040838503121561157157600080fd5b823561157c816114f7565b915061158a60208401611549565b90509250929050565b6000806000606084860312156115a857600080fd5b83356115b3816114f7565b9250602084013591506115c860408501611549565b90509250925092565b600080604083850312156115e457600080fd5b82356115ef816114f7565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761075c5761075c6115fd565b60008261164757634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561075c5761075c6115fd565b600181811c9082168061167357607f821691505b60208210810361169357634e487b7160e01b600052602260045260246000fd5b50919050565b80820182811260008312801582168215821617156116b9576116b96115fd565b505092915050565b6000602082840312156116d357600080fd5b5051919050565b6000602082840312156116ec57600080fd5b8151611529816114f7565b8181036000831280158383131683831282161715611717576117176115fd565b5092915050565b8181038181111561075c5761075c6115fd565b600060018201611743576117436115fd565b5060010190565b634e487b7160e01b600052603260045260246000fdfea26469706673582212205b2d504a4586305fa4d8499b0690fc6e8977d128e6b3b324941b3fa13512a1cc64736f6c634300081900330000000000000000000000000000000000000000000000000000000000001c20000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000008fc