Staking
A staking contract is a type of smart contract that enables users to hold and lock up a certain amount of cryptocurrency or tokens as collateral in order to participate in a blockchain network's consensus process and earn rewards.
Monitor withdrawal of tokens before the end of the staking period
Trigger: ERC20 Transfer more than n
Parameters:
Token address: the address of the collateral token
Amount: should be as low as possible, for example less than the minimum deposit amount
Destination: from
Severity: see the use cases
Alerts: see the use cases
Use cases:
If a contract prohibits withdrawals before the end of the staking period, triggering this trigger may indicate a vulnerability in the contract. In this case, we recommend setting the severity to critical and enabling alerts.
If a contract allows for early withdrawals, then such a trigger would simply reflect that some users have chosen to withdraw tokens for some reason. In this case, we recommend setting the severity to low.
Monitor unexpectedly large deposit amounts
Trigger: ERC20 Transfer more than n
Parameters:
Token address: the address of the collateral token
Amount: should be 5-10% more than the largest expected deposit
Destination: to
Severity: Medium
Alerts: On
Use cases:
Unexpectedly large amount of deposit may be a sign that the attacker has found a vulnerability in the smart contract and is making a large deposit to get more profit from the exploit.
Monitor withdrawal of an amount that is greater than the largest deposit
Trigger: ERC20 Transfer more than n
Parameters:
Token address: the address of the collateral token
Amount: should be greater than the largest deposit by at least 1 wei
Destination: from
Severity: Critical
Alerts: On
Use cases:
If there is a withdrawal from the contract for an amount greater than the largest deposit, then this is a clear sign that the contract has been hacked.
Last updated