Skip to main content

ISablierFactoryMerkleLL

Git Source

Inherits: ISablierFactoryMerkleBase

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 memory params
)
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 params.expiration means the campaign does not expire. Requirements:
  • params.token must not be the forbidden native token.
function createMerkleLL(
MerkleLL.ConstructorParams memory params,
uint256 aggregateAmount,
uint256 recipientCount
)
external
returns (ISablierMerkleLL merkleLL);

Parameters

NameTypeDescription
paramsMerkleLL.ConstructorParamsStruct encapsulating the input parameters, which are documented in {DataTypes}.
aggregateAmountuint256The total amount of ERC-20 tokens to be distributed to all recipients.
recipientCountuint256The total number of recipient addresses eligible for the airdrop.

Returns

NameTypeDescription
merkleLLISablierMerkleLLThe address of the newly created Merkle Lockup contract.

Events

CreateMerkleLL

Emitted when a SablierMerkleLL campaign is created.

event CreateMerkleLL(
ISablierMerkleLL indexed merkleLL,
MerkleLL.ConstructorParams params,
uint256 aggregateAmount,
uint256 recipientCount,
address comptroller,
uint256 minFeeUSD
);