Skip to main content

MerkleVCA

Git Source

Structs

ConstructorParams

Struct encapsulating the constructor parameters of Merkle VCA campaigns.

The fields are arranged alphabetically.

struct ConstructorParams {
uint128 aggregateAmount;
string campaignName;
uint40 campaignStartTime;
ClaimType claimType;
bool enableRedistribution;
uint40 expiration;
address initialAdmin;
string ipfsCID;
bytes32 merkleRoot;
IERC20 token;
UD60x18 unlockPercentage;
uint40 vestingEndTime;
uint40 vestingStartTime;
}

Properties

NameTypeDescription
aggregateAmountuint128The total amount of ERC-20 tokens to be distributed to all recipients. If its value is set lower than actual total allocations in the Merkle tree, it can either cause a race condition among the recipients or rewards would be calculated as 0 if its too low. As a campaign creator, it is recommended to set the value to the actual total allocations.
campaignNamestringThe name of the campaign.
campaignStartTimeuint40The start time of the campaign, as a Unix timestamp.
claimTypeClaimTypeThe type of claim functions supported by the campaign.
enableRedistributionboolEnable redistribution of forgone tokens at deployment.
expirationuint40The expiration of the campaign, as a Unix timestamp.
initialAdminaddressThe initial admin of the campaign.
ipfsCIDstringThe content identifier for indexing the contract on IPFS. An empty value may break certain UI features that depend upon the IPFS CID.
merkleRootbytes32The Merkle root of the claim data.
tokenIERC20The contract address of the ERC-20 token to be distributed.
unlockPercentageUD60x18The percentage of the full amount that will unlock immediately at the start time, denominated as fixed-point number where 1e18 is 100%.
vestingEndTimeuint40Vesting end time, as a Unix timestamp.
vestingStartTimeuint40Vesting start time, as a Unix timestamp.