DistributeToTreasury.sol
Inherits: IDistributionStrategy
DistributeToTreasury contract is an execution contract that is used by Harvest Manager. This is a simplified version of the strategy that is used to distribute funds to the treasury. Treasury is a multi-sig wallet. While there is some risk in using a multi-sig wallet, it is a temporary solution until governance is implemented and more sophisticated harvest management strategies are developed. It is important to mention, that only harvested rewards are collected in the treasury. User's deposits are stored in the vault and nor multi-sig, nor future governance will not be able to acces those funds.
State Variables
treasuryAddress
Address of the treasury where sAVAX will be sent fot future distribution to beneficiaries.
address public treasuryAddress;harvestManager
Address of the owner of the contract.
address public harvestManager;sAVAXAddress
sAVAX address.
address public sAVAXAddress;Functions
onlyHarvestManager
modifier that is used to restrict access to the function only to the harvestManager;
modifier onlyHarvestManager();constructor
Contract constructor.
constructor(address _harvestManager, address _sAVAXAddress, address _treasuryAddress);Parameters
_harvestManager
address
Address of the Harvest Manager contract.
_sAVAXAddress
address
Address of the sAVAX token contract.
_treasuryAddress
address
Address of the treasury where sAVAX will be sent fot future distribution to beneficiaries
distribute
Function that is called by Harvest Manager to send sAVAX (or any other token) to the treasury.
function distribute(address _distributionToken) external onlyHarvestManager;Parameters
_distributionToken
address
Address of the ERC-20 token that is distributed
Events
SentToTreasury
Event emitted when funds are distributed to beneficiaries
event SentToTreasury(address treasuryAddress, uint256 _amount);Last updated