ISablierFactoryMerkleLL
Inherits: ISablierFactoryMerkleBase
Title: ISablierFactoryMerkleLL
A factory that deploys MerkleLL campaign contracts.
See the documentation in ISablierMerkleLL.
Functions
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
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
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. |
Events
CreateMerkleLL
Emitted when a SablierMerkleLL campaign is created.
event CreateMerkleLL(
ISablierMerkleLL indexed merkleLL,
MerkleLL.ConstructorParams campaignParams,
uint256 aggregateAmount,
uint256 recipientCount,
address comptroller,
uint256 minFeeUSD
);