LiquidityProtectionSingleLimitStrategy
Contract can be found here:
protection
A mapping of addresses and their protection rules.
getLimit
setLimitBatched
setLimit
removeLimits
pause
isTransferAllowed
function getLimit(address token, address protectedAddress) external view returns(Limit memory)
Returns limit info for particular protected address.
Parameters:
Name | Type | Description |
---|---|---|
token | address | Token for which the protection rules are being checked. |
protectedAddress | address | Address for which the limit should be returned. |
function setLimitBatched(
address token,
address[] calldata protectedAddresses,
uint256 periodInSeconds,
uint256 amountPerPeriod,
uint256 startTimestamp
) external onlyProtectionAdmin(token)
Sets limits for a list of addresses. Can be called only by token protection admin.
Parameters:
Name | Type | Description |
---|---|---|
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. |
function setLimit(
address token,
address protectedAddress,
uint256 periodInSeconds,
uint256 amountPerPeriod,
uint256 startTimestamp
) external onlyProtectionAdmin(token)
Sets limit for a single address. Can be called only by token protection admin.
Parameters:
Name | Type | Description |
---|---|---|
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. |
function removeLimits(address token, address[] calldata protectedAddresses) external onlyProtectionAdmin(token)
Removes limits for addresses in the list. Can be called only by token protection admin.
Parameters:
Name | Type | Description |
---|---|---|
token | address | Token for which the protection rules are being applied. |
protectedAddresses | address[] | Addresses that should get limits removed. |
function pause(address token, address protectedAddress) external onlyProtectionAdmin(token)
Change limit to 0, ie, pause transfers from this address. Can be called only by token protection admin.
Parameters:
Name | Type | Description |
---|---|---|
token | address | Token for which the protection rules are being applied. |
protectedAddress | address | Address that should get it's limit paused. |
function isTransferAllowed(address token, address sender, address recipient, uint256 amount) external
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:
Name | Type | Description |
---|---|---|
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 modified 1yr ago