Skip to main content

SablierV2MerkleStreamerFactory

Git Source

Inherits: ISablierV2MerkleStreamerFactory

See the documentation in ISablierV2MerkleStreamerFactory.

User Facing Functions

createMerkleStreamerLL

Creates a new Merkle streamer that uses Lockup Linear.

Emits a {CreateMerkleStreamerLL} event.

function createMerkleStreamerLL(
address initialAdmin,
ISablierV2LockupLinear lockupLinear,
IERC20 asset,
bytes32 merkleRoot,
uint40 expiration,
LockupLinear.Durations memory streamDurations,
bool cancelable,
bool transferable,
string memory ipfsCID,
uint256 aggregateAmount,
uint256 recipientsCount
)
external
returns (ISablierV2MerkleStreamerLL merkleStreamerLL);

Parameters

NameTypeDescription
initialAdminaddressThe initial admin of the Merkle streamer contract.
lockupLinearISablierV2LockupLinearThe address of the {SablierV2LockupLinear} contract.
assetIERC20The address of the ERC-20 asset.
merkleRootbytes32The Merkle root of the claim data.
expirationuint40The expiration of the streaming campaign, as a Unix timestamp.
streamDurationsLockupLinear.DurationsThe durations for each stream due to the recipient.
cancelableboolIndicates if each stream will be cancelable.
transferableboolIndicates if each stream NFT will be transferable.
ipfsCIDstringMetadata parameter emitted for indexing purposes.
aggregateAmountuint256Total amount of ERC-20 assets to be streamed to all recipients.
recipientsCountuint256Total number of recipients eligible to claim.