Skip to main content

SablierMerkleLockup

Git Source

Inherits: ISablierMerkleLockup, SablierMerkleBase

See the documentation in ISablierMerkleLockup.

State Variables

SABLIER_LOCKUP

The address of the SablierLockup contract.

ISablierLockup public immutable override SABLIER_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;

streamShape

Retrieves the shape of the Lockup stream created upon claiming.

string public override streamShape;

_claimedStreams

A mapping between recipient addresses and Lockup streams created through the claim function.

mapping(address recipient => uint256[] streamIds) internal _claimedStreams;

Functions

constructor

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

constructor(
address campaignCreator,
string memory campaignName,
uint40 campaignStartTime,
bool cancelable,
address comptroller,
ISablierLockup sablierLockup,
uint40 expiration,
address initialAdmin,
string memory ipfsCID,
bytes32 merkleRoot,
string memory shape_,
IERC20 token,
bool transferable
)
SablierMerkleBase(
campaignCreator,
campaignName,
campaignStartTime,
comptroller,
expiration,
initialAdmin,
ipfsCID,
merkleRoot,
token
);

claimedStreams

Retrieves the stream IDs associated with the airdrops claimed by the provided recipient. In practice, most campaigns will only have one stream per recipient.

function claimedStreams(address recipient) external view override returns (uint256[] memory);