SablierFactoryMerkleLL
Inherits: ISablierFactoryMerkleLL, SablierFactoryMerkleBase
Title: SablierFactoryMerkleLL
See the documentation in ISablierFactoryMerkleLL.
Functions
constructor
constructor(address initialComptroller) SablierFactoryMerkleBase(initialComptroller);
Parameters
| Name | Type | Description |
|---|---|---|
initialComptroller | address | The address of the initial comptroller contract. |
computeMerkleLL
Computes the deterministic address where SablierMerkleLL campaign will be deployed.
Reverts if the requirements from {createMerkleLL} are not met.
function computeMerkleLL(
address campaignCreator,
MerkleLL.ConstructorParams calldata campaignParams
)
external
view
override
returns (address merkleLL);
createMerkleLL
Creates a new Merkle Lockup campaign with a Lockup Linear distribution.
Emits a {CreateMerkleLL} event. Notes:
- The contract is created with CREATE2.
- The campaign's fee will be set to the min USD fee unless a custom fee is set for
msg.sender. - A value of zero for
campaignParams.expirationmeans the campaign does not expire. - A value of zero for
campaignParams.granularitywould store the granularity as 1 second. Requirements: campaignParams.tokenmust not be the forbidden native token.
function createMerkleLL(
MerkleLL.ConstructorParams memory campaignParams,
uint256 aggregateAmount,
uint256 recipientCount
)
external
override
returns (ISablierMerkleLL merkleLL);
Parameters
| Name | Type | Description |
|---|---|---|
campaignParams | MerkleLL.ConstructorParams | Struct encapsulating the SablierMerkleLL parameters. |
aggregateAmount | uint256 | The total amount of ERC-20 tokens to be distributed to all recipients. |
recipientCount | uint256 | The total number of recipient addresses eligible for the airdrop. |
Returns
| Name | Type | Description |
|---|---|---|
merkleLL | ISablierMerkleLL | The address of the newly created Merkle Lockup contract. |