Lossless
Search…
TreasuryProtectionStrategy
Contract that implement protection strategy using a whitelist. Inherits from StrategyBase.
Contract can be found here:
lossless-v2/TreasuryProtectionStrategy.sol at master · Lossless-Cash/lossless-v2
GitHub

Variables

  • protectedAddresses

protectedAddresses

A mapping of addresses and their protection rules.

Events

  • event WhitelistAddresses(address[] whitelist)

Functions

  • isAddressWhitelisted
  • isTransferAllowed
  • setProtectedAddress
  • removeProtectedAddresses

isAddressWhitelisted

1
function isAddressWhitelisted(address token, address protectedAddress, address whitelistedAddress) public view returns(bool)
Copied!
Returns true if particular whitelistedAddress is in the whitelist of protectedAddress for token.
Parameters:
Name
Type
Description
token
address
Token for which the protection rules are being checked.
protectedAddress
address
Address for which the whitelist is being checked.
whitelistedAddress
address
Address to check if it's in the whitelist.

isTransferAllowed

1
function isTransferAllowed(address token, address sender, address recipient, uint256 amount) external view
Copied!
Reverts in case transfer from sender to recipient is not possible due to recipient not being in the sender's whitelist. This is called by the lossless controller every time a transfer is done from the protected address.
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 sent.

setProtectedAddress

1
function setProtectedAddress(address token, address protectedAddress, address[] calldata whitelist) public onlyProtectionAdmin(token)
Copied!
Sets a whitelist for the protected address inside one particular token's scope. Can be called only by the protection admin of a token.
Parameters:
Name
Type
Description
token
address
Token for which the protection rules are being checked.
protectedAddress
address
Address for which the protection rules should be applied.
whitelist
address[]
A list of addresses that are allowed to receive tokens from the protected address.

removeProtectedAddresses

1
function removeProtectedAddresses(address token, address[] calldata addressesToRemove) public onlyProtectionAdmin(token)
Copied!
Removes whitelist from the addresses in the list.
Parameters:
Name
Type
Description
token
address
Token for which the protection rules are being removed.
addressesToRemove
address[]
A list of address that should get their whitelist removed.
Copy link