TreasuryProtectionStrategy
Contract can be found here:
protectedAddresses
A mapping of addresses and their protection rules.
event WhitelistAddresses(address[] whitelist)
isAddressWhitelisted
isTransferAllowed
setProtectedAddress
removeProtectedAddresses
function isAddressWhitelisted(address token, address protectedAddress, address whitelistedAddress) public view returns(bool)
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. |
function isTransferAllowed(address token, address sender, address recipient, uint256 amount) external view
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. |
function setProtectedAddress(address token, address protectedAddress, address[] calldata whitelist) public onlyProtectionAdmin(token)
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. |
function removeProtectedAddresses(address token, address[] calldata addressesToRemove) public onlyProtectionAdmin(token)
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. |
Last modified 1yr ago