LiquidityProtectionSingleLimitStrategy
Contract that implements protection strategy using a single limit. Inherits from StrategyBase.
Contract can be found here:
Variables
protection
protection
A mapping of addresses and their protection rules.
Functions
getLimitsetLimitBatchedsetLimitremoveLimitspauseisTransferAllowed
getLimit
Returns limit info for particular protected address.
Parameters:
token
address
Token for which the protection rules are being checked.
protectedAddress
address
Address for which the limit should be returned.
setLimitBatched
Sets limits for a list of addresses. Can be called only by token protection admin.
Parameters:
token
address
Token for which the protection rules are being applied.
protectedAddresses
address[]
A list of addresses that should get the limit applied.
periodInSeconds
uint256
Limit period.
amountPerPeriod
uint256
Limit amount per period.
startTimestamp
uint256
Limit start time.
setLimit
Sets limit for a single address. Can be called only by token protection admin.
Parameters:
token
address
Token for which the protection rules are being applied.
protectedAddress
address
Address that should get the limit applied.
periodInSeconds
uint256
Limit period.
amountPerPeriod
uint256
Limit amount per period.
startTimestamp
uint256
Limit start time.
removeLimits
Removes limits for addresses in the list. Can be called only by token protection admin.
Parameters:
token
address
Token for which the protection rules are being applied.
protectedAddresses
address[]
Addresses that should get limits removed.
pause
Change limit to 0, ie, pause transfers from this address. Can be called only by token protection admin.
Parameters:
token
address
Token for which the protection rules are being applied.
protectedAddress
address
Address that should get it's limit paused.
isTransferAllowed
Checks if transfer from the sender is allowed. Internally it validates if limit is not reached and updates limit info after transfer is allowed to go through.
Parameters:
token
address
Token for which the protection rules are being checked.
sender
address
Sender's address.
recipient
address
Recipient's address.
amount
uint256
Amount of tokens being transferred.
Last updated
Was this helpful?