VaultFundraise
Inherits: IVaultFundraiseUser, ReentrancyGuardUpgradeable, PausableInternal
Handles the user-facing deposit and refund logic for the fundraise.
Users can only claim their refund if the admin allows it. Centralization is made on purpose. As a user you accept to expose your self at vault's terms or conditions changes.
Require the admin to register the IP and fractionalize it when the fundraise is closed. If you do not trust the admin will do it, DO NOT deposit funds into the fundraise.
Functions
claimRefund
Claims refund, only when the vault is Canceled
function claimRefund(address usdc) external virtual override nonReentrant whenNotPaused returns (uint128 amount);
Parameters
usdc
address
The USDC address to claim refund for, used as payment token for the fundraise
Returns
amount
uint128
The amount of the USDC token claimed
deposit
Deposits USDC to the vault, only when the vault is Open
function deposit(address usdc, uint128 amount) external virtual override nonReentrant whenNotPaused;
Parameters
usdc
address
The USDC address to deposit for the fundraise
amount
uint128
The amount of the USDC token to deposit
_checkFundraise
function _checkFundraise(VaultFundraiseStorage.FundraiseLayout storage $, address claimer, address usdc) internal;
_fundraiseCalculateClaim
function _fundraiseCalculateClaim(
VaultFundraiseStorage.FundraiseLayout storage $,
address claimer,
address usdc,
uint256 totalSupplyOfFractionalToken
) internal view returns (uint256);