LockupLinear
Structs
Durations
Struct encapsulating the cliff duration and the total duration.
struct Durations {
uint40 cliff;
uint40 total;
}
Properties
Name | Type | Description |
---|---|---|
cliff | uint40 | The cliff duration in seconds. |
total | uint40 | The total duration in seconds. |
Stream
Lockup Linear stream.
The fields are arranged like this to save gas via tight variable packing.
struct Stream {
address sender;
uint40 startTime;
uint40 cliffTime;
bool isCancelable;
bool wasCanceled;
IERC20 asset;
uint40 endTime;
bool isDepleted;
bool isStream;
bool isTransferable;
Lockup.Amounts amounts;
}
Properties
Name | Type | Description |
---|---|---|
sender | address | The address streaming the assets, with the ability to cancel the stream. |
startTime | uint40 | The Unix timestamp indicating the stream's start. |
cliffTime | uint40 | The Unix timestamp indicating the cliff period's end. |
isCancelable | bool | Boolean indicating if the stream is cancelable. |
wasCanceled | bool | Boolean indicating if the stream was canceled. |
asset | IERC20 | The contract address of the ERC-20 asset used for streaming. |
endTime | uint40 | The Unix timestamp indicating the stream's end. |
isDepleted | bool | Boolean indicating if the stream is depleted. |
isStream | bool | Boolean indicating if the struct entity exists. |
isTransferable | bool | Boolean indicating if the stream NFT is transferable. |
amounts | Lockup.Amounts | Struct containing the deposit, withdrawn, and refunded amounts, all denoted in units of the asset's decimals. |