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

Name
Type
Description

usdc

address

The USDC address to claim refund for, used as payment token for the fundraise

Returns

Name
Type
Description

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

Name
Type
Description

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);