mulScale (uint128) :
This function is an internal pure function that takes in three unsigned integers (x, y, and scale) and returns an unsigned integer. It performs a multiplication of x and y, scaling the result by the value of scale. It does this by first dividing x and y by scale, and then multiplying the quotients and the remainders separately. The result is then added together and returned. (autogenerated documentation)
addWhitelist() :
This function adds a list of addresses to the whitelist of the contract. It requires that the address is not 0 and that it is not already on the whitelist. It then sets the claimReadyByAddress to the current block timestamp plus the cooldownTime, and sets the pendingBalanceByAddress to the rewardAmountPerAddress. (autogenerated documentation)
claimTokens() :
This function allows whitelisted users to claim tokens from the contract. It requires that the user is on the whitelist, that the cooldown time has passed, and that the user has a sufficient pending balance. It then calculates the withdrawable token balance, checks that the contract has sufficient balance, and then transfers the tokens to the user. (autogenerated documentation)