[ { "inputs": [ { "internalType": "uint256", "name": "_claimWait", "type": "uint256" }, { "internalType": "uint256", "name": "_minimumTokenBalance", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "claimWait", "type": "uint256" } ], "name": "ClaimWaitUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "weiAmount", "type": "uint256" } ], "name": "DividendWithdrawn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "weiAmount", "type": "uint256" } ], "name": "DividendsDistributed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromDividends", "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": false, "internalType": "uint256", "name": "iterations", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "claims", "type": "uint256" } ], "name": "ProcessedDividendTracker", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "accumulativeDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "claim", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimWait", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newClaimWait", "type": "uint256" } ], "name": "claimWaitSetup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "distributeDividends", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "dividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "excludeFromDividends", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getAccountData", "outputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "int256", "name": "index", "type": "int256" }, { "internalType": "int256", "name": "iterationsUntilProcessed", "type": "int256" }, { "internalType": "uint256", "name": "withdrawableDividends", "type": "uint256" }, { "internalType": "uint256", "name": "totalDividends", "type": "uint256" }, { "internalType": "uint256", "name": "lastClaimTime", "type": "uint256" }, { "internalType": "uint256", "name": "nextClaimTime", "type": "uint256" }, { "internalType": "uint256", "name": "secondsUntilAutoClaimAvailable", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getAccountDataAtIndex", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNumberOfTokenHolders", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromDividends", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "lastClaimTimes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastProcessedIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokenBalanceForDividends", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "process", "outputs": [ { "internalType": "uint256", "name": "iterations", "type": "uint256" }, { "internalType": "uint256", "name": "claims", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "setBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDividendsDistributed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "withdrawableDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "withdrawnDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b5060405162001bff38038062001bff83398101604081905262000034916200026f565b6040518060400160405280600f81526020016e2234bb34b232b7322a3930b1b5b2b960891b8152506040518060400160405280600f81526020016e2234bb34b232b7322a3930b1b5b2b960891b8152508181620000a06200009a620000dd60201b60201c565b620000e1565b6003620000ae838262000339565b506004620000bd828262000339565b5050505050620000d3826200013160201b60201c565b6011555062000405565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6200013b62000211565b603c811015801562000150575062093a808111155b620001d65760405162461bcd60e51b8152602060048201526044602482018190527f4469766964656e64547261636b65723a20436c61696d20776169742074696d65908201527f206d757374206265206265747765656e2031206d696e75746520616e642037206064820152636461797360e01b608482015260a4015b60405180910390fd5b60108190556040518181527f4b0a6b82d0dc4407b3359033a4f27efd1e2105e4571b72d6a3b8f1da3e6079dd9060200160405180910390a150565b6000546001600160a01b031633146200026d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620001cd565b565b600080604083850312156200028357600080fd5b505080516020909101519092909150565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002bf57607f821691505b602082108103620002e057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200033457600081815260208120601f850160051c810160208610156200030f5750805b601f850160051c820191505b8181101562000330578281556001016200031b565b5050505b505050565b81516001600160401b0381111562000355576200035562000294565b6200036d81620003668454620002aa565b84620002e6565b602080601f831160018114620003a557600084156200038c5750858301515b600019600386901b1c1916600185901b17855562000330565b600085815260208120601f198616915b82811015620003d657888601518255948401946001909101908401620003b5565b5085821015620003f55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6117ea80620004156000396000f3fe6080604052600436106101a05760003560e01c806370a08231116100ec578063aafd847a1161008a578063d1fbb84e11610064578063d1fbb84e146104df578063e30443bc146104ff578063f2fde38b1461051f578063ffb2c4791461053f57600080fd5b8063aafd847a14610463578063be10b61414610499578063c705c569146104af57600080fd5b80638da5cb5b116100c65780638da5cb5b146103e657806391b89fba1461040e57806395d89b411461042e578063a8b9d2401461044357600080fd5b806370a0823114610385578063715018a6146103bb57806385a6b3ae146103d057600080fd5b806327ce014711610159578063313ce56711610133578063313ce567146103135780635d78650e1461032f5780636cc9c8f11461034f5780636f2789ec1461036f57600080fd5b806327ce0147146102785780632f7541e9146102985780633009a609146102fd57600080fd5b806303c83302146101b457806306fdde03146101bc57806309bbedde146101e757806318160ddd146102065780631e83409a1461021b578063226cfa3d1461024b57600080fd5b366101af576101ad610574565b005b600080fd5b6101ad610574565b3480156101c857600080fd5b506101d1610603565b6040516101de919061153e565b60405180910390f35b3480156101f357600080fd5b506009545b6040519081526020016101de565b34801561021257600080fd5b506002546101f8565b34801561022757600080fd5b5061023b6102363660046115a1565b610695565b60405190151581526020016101de565b34801561025757600080fd5b506101f86102663660046115a1565b600f6020526000908152604090205481565b34801561028457600080fd5b506101f86102933660046115a1565b6106dc565b3480156102a457600080fd5b506102b86102b33660046115c5565b61073f565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101de565b34801561030957600080fd5b506101f8600d5481565b34801561031f57600080fd5b50604051601281526020016101de565b34801561033b57600080fd5b506102b861034a3660046115a1565b610893565b34801561035b57600080fd5b506101ad61036a3660046115c5565b6109fb565b34801561037b57600080fd5b506101f860105481565b34801561039157600080fd5b506101f86103a03660046115a1565b6001600160a01b031660009081526001602052604090205490565b3480156103c757600080fd5b506101ad610ad7565b3480156103dc57600080fd5b506101f860085481565b3480156103f257600080fd5b506000546040516001600160a01b0390911681526020016101de565b34801561041a57600080fd5b506101f86104293660046115a1565b610ae9565b34801561043a57600080fd5b506101d1610af4565b34801561044f57600080fd5b506101f861045e3660046115a1565b610b03565b34801561046f57600080fd5b506101f861047e3660046115a1565b6001600160a01b031660009081526007602052604090205490565b3480156104a557600080fd5b506101f860115481565b3480156104bb57600080fd5b5061023b6104ca3660046115a1565b600e6020526000908152604090205460ff1681565b3480156104eb57600080fd5b506101ad6104fa3660046115de565b610b2f565b34801561050b57600080fd5b506101ad61051a366004611625565b610d75565b34801561052b57600080fd5b506101ad61053a3660046115a1565b610e96565b34801561054b57600080fd5b5061055f61055a3660046115c5565b610f0f565b604080519283526020830191909152016101de565b600061057f60025490565b1161058957600080fd5b3415610601576002546105a0600160801b34611667565b6105aa919061167e565b6005546105b791906116a0565b60055560405134815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a2346008546105fd91906116a0565b6008555b565b606060038054610612906116b3565b80601f016020809104026020016040519081016040528092919081815260200182805461063e906116b3565b801561068b5780601f106106605761010080835404028352916020019161068b565b820191906000526020600020905b81548152906001019060200180831161066e57829003601f168201915b5050505050905090565b600061069f61105f565b60006106aa836110b9565b905080156106d35750506001600160a01b03166000908152600f60205260409020429055600190565b50600092915050565b6001600160a01b0381166000908152600660209081526040808320546001909252822054600160801b9161072f916107209060055461071b9190611667565b6111bf565b61072a91906116ed565b6111cf565b610739919061167e565b92915050565b60008060008060008060008060097331ee4a53bd2c1c339662dffb973017ef81a6bad563deb3d89690916040518263ffffffff1660e01b815260040161078791815260200190565b602060405180830381865af41580156107a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c89190611715565b89106107ed575060009650600019955085945086935083925082915081905080610888565b6040516368d54f3f60e11b815260096004820152602481018a90526000907331ee4a53bd2c1c339662dffb973017ef81a6bad59063d1aa9e7e90604401602060405180830381865af4158015610847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086b919061172e565b905061087681610893565b98509850985098509850985098509850505b919395975091939597565b6040516317e142d160e01b8152600960048201526001600160a01b038216602482015281906000908190819081908190819081907331ee4a53bd2c1c339662dffb973017ef81a6bad5906317e142d190604401602060405180830381865af4158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611715565b965060001995506000871261098957600d5487111561095457600d5461094d908861174b565b9550610989565b600d5460095460009110610969576000610979565b600d546009546109799190611772565b905061098581896116ed565b9650505b61099288610b03565b945061099d886106dc565b6001600160a01b0389166000908152600f60205260409020549094509250826109c75760006109d4565b6010546109d490846116a0565b91504282116109e45760006109ee565b6109ee4283611772565b9050919395975091939597565b610a0361105f565b603c8110158015610a17575062093a808111155b610a9c5760405162461bcd60e51b8152602060048201526044602482018190527f4469766964656e64547261636b65723a20436c61696d20776169742074696d65908201527f206d757374206265206265747765656e2031206d696e75746520616e642037206064820152636461797360e01b608482015260a4015b60405180910390fd5b60108190556040518181527f4b0a6b82d0dc4407b3359033a4f27efd1e2105e4571b72d6a3b8f1da3e6079dd9060200160405180910390a150565b610adf61105f565b61060160006111e2565b600061073982610b03565b606060048054610612906116b3565b6001600160a01b038116600090815260076020526040812054610b25836106dc565b6107399190611772565b610b3761105f565b8015610c73576001600160a01b0383166000908152600e602052604090205460ff1615610bce576040805162461bcd60e51b81526020600482015260248101919091527f4469766964656e64547261636b65723a2054686973206164647265737320697360448201527f20616c7265616479206578636c756465642066726f6d206469766964656e64736064820152608401610a93565b6001600160a01b0383166000908152600e60205260408120805460ff19166001179055610bfc908490611232565b60405163131836e760e21b8152600960048201526001600160a01b03841660248201527331ee4a53bd2c1c339662dffb973017ef81a6bad590634c60db9c9060440160006040518083038186803b158015610c5657600080fd5b505af4158015610c6a573d6000803e3d6000fd5b50505050610d2b565b6001600160a01b0383166000908152600e602052604090205460ff16610d015760405162461bcd60e51b815260206004820152603e60248201527f4469766964656e64547261636b65723a2054686973206164647265737320697360448201527f20616c726561647920696e636c7564656420696e206469766964656e647300006064820152608401610a93565b6001600160a01b0383166000908152600e60205260409020805460ff19169055610d2b8383610d75565b826001600160a01b03167fa3c7c11b2e12c4144b09a7813f3393ba646392788638998c97be8da908cf04be82604051610d68911515815260200190565b60405180910390a2505050565b610d7d61105f565b6001600160a01b0382166000908152600e602052604090205460ff16610e92576011548110610e2d57610db08282611232565b604051632f0ad01760e21b8152600960048201526001600160a01b0383166024820152604481018290527331ee4a53bd2c1c339662dffb973017ef81a6bad59063bc2b405c9060640160006040518083038186803b158015610e1157600080fd5b505af4158015610e25573d6000803e3d6000fd5b505050505050565b610e38826000611232565b60405163131836e760e21b8152600960048201526001600160a01b03831660248201527331ee4a53bd2c1c339662dffb973017ef81a6bad590634c60db9c9060440160006040518083038186803b158015610e1157600080fd5b5050565b610e9e61105f565b6001600160a01b038116610f035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a93565b610f0c816111e2565b50565b600080610f1a61105f565b6009546000819003610f325750600093849350915050565b600d546000805a905060009550600094505b8682108015610f5257508386105b156110185782610f6181611785565b60095490945084109050610f7457600092505b600060096000018481548110610f8c57610f8c61179e565b60009182526020808320909101546001600160a01b0316808352600f909152604090912054909150610fbd90611286565b15610fde57610fcb81610695565b15610fde5785610fda81611785565b9650505b86610fe881611785565b97505060005a90508083111561100f576110028184611772565b61100c90856116a0565b93505b9150610f449050565b600d83905560408051878152602081018790527ff78a0aac70b15fc744c16ea2c52bba9a167f030b8961e62a1d2c92588f77facf910160405180910390a150505050915091565b6000546001600160a01b031633146106015760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a93565b6000806110c583610b03565b905080156106d3576001600160a01b0383166000908152600760205260409020546110f19082906116a0565b6001600160a01b03841660008181526007602052604080822093909355915183156108fc0290849084818181858888f193505050509050801561117857836001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d8360405161116991815260200190565b60405180910390a25092915050565b6001600160a01b03841660009081526007602052604090205461119c908390611772565b6001600160a01b0385166000908152600760205260409020555050600092915050565b6000818181121561073957600080fd5b6000808212156111de57600080fd5b5090565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000908152600160205260409020548082111561126b57611266836112618385611772565b6112ad565b505050565b8082101561126657611266836112818484611772565b61130b565b60008142101561129857506000919050565b6010546112a58342611772565b101592915050565b6112b78282611349565b6112c88160055461071b9190611667565b6001600160a01b0383166000908152600660205260409020546112eb919061174b565b6001600160a01b0390921660009081526006602052604090209190915550565b611315828261140a565b6113268160055461071b9190611667565b6001600160a01b0383166000908152600660205260409020546112eb91906116ed565b6001600160a01b03821661139f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a93565b80600260008282546113b191906116a0565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b03821661146a5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a93565b6001600160a01b038216600090815260016020526040902054818110156114de5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a93565b6001600160a01b03831660008181526001602090815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600060208083528351808285015260005b8181101561156b5785810183015185820160400152820161154f565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f0c57600080fd5b6000602082840312156115b357600080fd5b81356115be8161158c565b9392505050565b6000602082840312156115d757600080fd5b5035919050565b6000806000606084860312156115f357600080fd5b83356115fe8161158c565b9250602084013591506040840135801515811461161a57600080fd5b809150509250925092565b6000806040838503121561163857600080fd5b82356116438161158c565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761073957610739611651565b60008261169b57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561073957610739611651565b600181811c908216806116c757607f821691505b6020821081036116e757634e487b7160e01b600052602260045260246000fd5b50919050565b808201828112600083128015821682158216171561170d5761170d611651565b505092915050565b60006020828403121561172757600080fd5b5051919050565b60006020828403121561174057600080fd5b81516115be8161158c565b818103600083128015838313168383128216171561176b5761176b611651565b5092915050565b8181038181111561073957610739611651565b60006001820161179757611797611651565b5060010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220aa488c638610977d2c4da21ae5b80ec1a84fc7e909589f3b0d0f003dfffc42df64736f6c63430008130033000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000ad78ebc5ac6200000