VaultFundraiseAdmin
Inherits: IVaultFundraiseAdmin, AccessControlInternal
Contains the admin and view functions for the VaultFundraise submodule.
The admin could make a flashloan attack when fundraise is enabled (see Pashov's audit report). If you do not trust the admin, do not interact with this contract.
Functions
cancelRaise
Cancels the fundraise vault, only when the vault is Open
Only the admin can cancel the vault
function cancelRaise() external override onlyRole(AccessControlStorage.DEFAULT_ADMIN_ROLE);
closeRaise
Closes the fundraise vault, only when the vault is Open
Only the admin can close the vault
function closeRaise() external override onlyRole(AccessControlStorage.DEFAULT_ADMIN_ROLE);
updateUsdcContractAddress
Admin updates the USDC contract address
Only USDC is supported for the fundraise, admin MUST BE VERY CAREFUL on USDC address update.
function updateUsdcContractAddress(address newUSDC)
external
override
onlyRole(AccessControlStorage.DEFAULT_ADMIN_ROLE);
Parameters
newUSDC
address
withdraw
Transfers all funds to the fund receiver, only when the vault is Closed
Only the admin can withdraw funds
function withdraw()
external
override
onlyRole(AccessControlStorage.DEFAULT_ADMIN_ROLE)
returns (address[] memory tokens, uint256[] memory withdrawnAmounts);
Returns
tokens
address[]
The addresses of the tokens withdrawn
withdrawnAmounts
uint256[]
The amounts of the tokens withdrawn
withdraw
function withdraw(address token) external override onlyRole(AccessControlStorage.DEFAULT_ADMIN_ROLE);
_initializeFundraise
Initializes the fundraise-specific parts of the vault. Called by the main vault's initialize function.
function _initializeFundraise(VaultFundraiseStorage.Setup memory setup) internal;