Rewards Claiming
Users claim rewards directly from the contract via the dApp interface:
// ```solidity
function claimRewards() external {
uint256 amount = claimableRewards[msg.sender];
require(amount > 0, "zero reward");
if (balanceOf[rewardAddress] - amount > 0) {
balanceOf[rewardAddress] -= amount;
balanceOf[msg.sender] += amount;
claimableRewards[msg.sender] = 0;
claimedrewards[msg.sender] += amount;
lastTXtime[rewardAddress] = block.timestamp;
emit Transfer(rewardAddress, msg.sender, amount);
}
}
Rewards accumulate in claimableRewards
based on transaction activity and eligibility.
Last updated