Skip to main content

ISablierFactoryMerkleInstant

Git Source

Inherits: ISablierFactoryMerkleBase

Title: ISablierFactoryMerkleInstant

A factory that deploys MerkleInstant campaign contracts.

See the documentation in ISablierMerkleInstant.

Functions​

computeMerkleInstant​

Computes the deterministic address where SablierMerkleInstant campaign will be deployed.

Reverts if the requirements from createMerkleInstant are not met.

function computeMerkleInstant(
address campaignCreator,
MerkleInstant.ConstructorParams calldata campaignParams
)
external
view
returns (address merkleInstant);

createMerkleInstant​

Creates a new MerkleInstant campaign for instant distribution of tokens.

Emits a CreateMerkleInstant 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.expiration means the campaign does not expire. Requirements:
  • campaignParams.token must not be the forbidden native token.
function createMerkleInstant(
MerkleInstant.ConstructorParams calldata campaignParams,
uint256 aggregateAmount,
uint256 recipientCount
)
external
returns (ISablierMerkleInstant merkleInstant);

Parameters

NameTypeDescription
campaignParamsMerkleInstant.ConstructorParamsStruct encapsulating the SablierMerkleInstant parameters.
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
merkleInstantISablierMerkleInstantThe address of the newly created MerkleInstant contract.

Events​

CreateMerkleInstant​

Emitted when a SablierMerkleInstant campaign is created.

event CreateMerkleInstant(
ISablierMerkleInstant indexed merkleInstant,
MerkleInstant.ConstructorParams campaignParams,
uint256 aggregateAmount,
uint256 recipientCount,
address comptroller,
uint256 minFeeUSD
);