Skip to main content

SablierMerkleLL

Git Source

Inherits: ISablierMerkleLL, SablierMerkleBase

See the documentation in ISablierMerkleLL.

State Variables

LOCKUP

The address of the SablierLockup contract.

ISablierLockup public immutable override LOCKUP;

STREAM_CANCELABLE

A flag indicating whether the streams can be canceled.

This is an immutable state variable.

bool public immutable override STREAM_CANCELABLE;

STREAM_TRANSFERABLE

A flag indicating whether the stream NFTs are transferable.

This is an immutable state variable.

bool public immutable override STREAM_TRANSFERABLE;

_schedule

See the documentation in {ISablierMerkleLL.getSchedule}.

MerkleLL.Schedule private _schedule;

Functions

constructor

Constructs the contract by initializing the immutable state variables, and max approving the Lockup contract.

constructor(
MerkleBase.ConstructorParams memory baseParams,
address campaignCreator,
ISablierLockup lockup,
bool cancelable,
bool transferable,
MerkleLL.Schedule memory schedule
)
SablierMerkleBase(baseParams, campaignCreator);

getSchedule

A tuple containing the start time, start unlock percentage, cliff duration, cliff unlock percentage, and end duration. These values are used to calculate the vesting schedule in Lockup.CreateWithTimestampsLL.

A start time value of zero will be considered as block.timestamp.

function getSchedule() external view override returns (MerkleLL.Schedule memory);

_claim

This function is implemented by child contracts, so the logic varies depending on the model.

function _claim(uint256 index, address recipient, uint128 amount) internal override;