Skip to main content

ISablierFactoryMerkleInstant

Git Source

Inherits: ISablierFactoryMerkleBase

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

Parameters

NameTypeDescription
paramsMerkleInstant.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
merkleInstantISablierMerkleInstantThe address of the newly created MerkleInstant contract.

Events

CreateMerkleInstant

Emitted when a SablierMerkleInstant campaign is created.

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