MerkleLT
Structs
ConstructorParams
Struct encapsulating the constructor parameters of Merkle Lockup Tranched campaigns.
The fields are arranged alphabetically.
struct ConstructorParams {
string campaignName;
uint40 campaignStartTime;
bool cancelable;
uint40 expiration;
address initialAdmin;
string ipfsCID;
ISablierLockup lockup;
bytes32 merkleRoot;
string shape;
IERC20 token;
MerkleLT.TrancheWithPercentage[] tranchesWithPercentages;
bool transferable;
uint40 vestingStartTime;
}
Properties
| Name | Type | Description |
|---|---|---|
campaignName | string | The name of the campaign. |
campaignStartTime | uint40 | The start time of the campaign, as a Unix timestamp. |
cancelable | bool | Indicates if the Lockup stream will be cancelable after claiming. |
expiration | uint40 | The expiration of the campaign, as a Unix timestamp. A value of zero means the campaign does not expire. |
initialAdmin | address | The initial admin of the campaign. |
ipfsCID | string | The content identifier for indexing the contract on IPFS. An empty value may break certain UI features that depend upon the IPFS CID. |
lockup | ISablierLockup | The address of the SablierLockup contract. |
merkleRoot | bytes32 | The Merkle root of the claim data. |
shape | string | The shape of Lockup stream, used for differentiating between streams in the UI. |
token | IERC20 | The contract address of the ERC-20 token to be distributed. |
tranchesWithPercentages | MerkleLT.TrancheWithPercentage[] | The tranches with their respective unlock percentages, which are documented in {MerkleLT.TrancheWithPercentage}. |
transferable | bool | Indicates if the Lockup stream will be transferable after claiming. |
vestingStartTime | uint40 | The start time of the vesting stream, as a Unix timestamp. Zero is a sentinel value for block.timestamp. |
TrancheWithPercentage
Struct encapsulating the unlock percentage and duration of a tranche.
Since users may have different amounts allocated, this struct makes it possible to calculate the amounts at claim time. An 18-decimal format is used to represent percentages: 100% = 1e18. For more information, see the PRBMath documentation on UD2x18: https://github.com/PaulRBerg/prb-math
struct TrancheWithPercentage {
UD2x18 unlockPercentage;
uint40 duration;
}
Properties
| Name | Type | Description |
|---|---|---|
unlockPercentage | UD2x18 | The percentage designated to be unlocked in this tranche. |
duration | uint40 | The time difference in seconds between this tranche and the previous one. |