BuildapireferencegeneratedISablierAdapter

ISablierAdapter

Source: https://github.com/tangle-network/tnt-core/blob/main/src/interfaces/IStreamingPaymentAdapter.sol

ISablierAdapter

Extended interface for Sablier-specific features

Types

StreamType

Stream type for Sablier

enum StreamType {
  Linear,
  Dynamic,
  Tranched
}

Segment

Segment for dynamic streams

struct Segment {
  uint128 amount;
  uint64 exponent;
  uint40 timestamp;
}

Functions

createLinearStream

function createLinearStream(uint64 serviceId, address token, uint128 totalAmount, uint40 durationSeconds, uint40 cliffSeconds) external returns (uint256 streamId)

Create a linear stream (constant rate)

Parameters
NameTypeDescription
serviceIduint64The Tangle service ID
tokenaddressThe ERC-20 token
totalAmountuint128Total amount to stream
durationSecondsuint40Total duration
cliffSecondsuint40Cliff period
Return Values
NameTypeDescription
streamIduint256The created stream ID

createDynamicStream

function createDynamicStream(uint64 serviceId, address token, uint128 totalAmount, struct ISablierAdapter.Segment[] segments) external returns (uint256 streamId)

Create a dynamic stream with custom curve

Parameters
NameTypeDescription
serviceIduint64The Tangle service ID
tokenaddressThe ERC-20 token
totalAmountuint128Total amount to stream
segmentsstruct ISablierAdapter.Segment[]Array of segments defining the curve
Return Values
NameTypeDescription
streamIduint256The created stream ID

isCancelable

function isCancelable(uint256 streamId) external view returns (bool cancelable)

Check if a stream is cancelable

Parameters
NameTypeDescription
streamIduint256The stream ID
Return Values
NameTypeDescription
cancelableboolTrue if stream can be cancelled

wasCancelled

function wasCancelled(uint256 streamId) external view returns (bool cancelled)

Check if a stream was cancelled

Parameters
NameTypeDescription
streamIduint256The stream ID
Return Values
NameTypeDescription
cancelledboolTrue if stream was cancelled

getStreamNFT

function getStreamNFT(uint256 streamId) external view returns (uint256 tokenId)

Get the NFT token ID for a stream (Sablier streams are NFTs)

Parameters
NameTypeDescription
streamIduint256The stream ID
Return Values
NameTypeDescription
tokenIduint256The ERC-721 token ID

transferStream

function transferStream(uint256 streamId, address newRecipient) external

Transfer stream ownership (NFT transfer)

Parameters
NameTypeDescription
streamIduint256The stream ID
newRecipientaddressNew recipient address