Skip to main content

SablierFactoryMerkleLL

Git Source

Inherits: ISablierFactoryMerkleLL, SablierFactoryMerkleBase

See the documentation in ISablierFactoryMerkleLL.

Functions

constructor

constructor(address initialComptroller) SablierFactoryMerkleBase(initialComptroller);

Parameters

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