sablier 3.2.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/csv/evm/common.schema.json +5 -0
- package/csv/evm/lockup/duration/linearStepper.csv +3 -0
- package/csv/evm/lockup/duration/linearStepper.schema.json +22 -0
- package/csv/evm/lockup/range/linearStepper.csv +3 -0
- package/csv/evm/lockup/range/linearStepper.schema.json +25 -0
- package/dist/cjs/evm/csv/lockup/duration/index.js.map +1 -1
- package/dist/cjs/evm/csv/lockup/range/index.js.map +1 -1
- package/dist/esm/evm/csv/lockup/duration/index.js.map +1 -1
- package/dist/esm/evm/csv/lockup/range/index.js.map +1 -1
- package/dist/types/evm/csv/lockup/duration/index.d.ts +4 -1
- package/dist/types/evm/csv/lockup/duration/index.d.ts.map +1 -1
- package/dist/types/evm/csv/lockup/range/index.d.ts +4 -1
- package/dist/types/evm/csv/lockup/range/index.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,8 @@ The format is based on [Common Changelog](https://common-changelog.org/).
|
|
|
9
9
|
> Starting with v2.0.0, this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). In v1.x, it
|
|
10
10
|
> did not always follow Semantic Versioning.
|
|
11
11
|
|
|
12
|
+
[3.3.1]: https://github.com/sablier-labs/sdk/releases/tag/v3.3.1
|
|
13
|
+
[3.3.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.3.0
|
|
12
14
|
[3.2.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.2.0
|
|
13
15
|
[3.1.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.1.0
|
|
14
16
|
[3.0.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.0.0
|
|
@@ -33,6 +35,22 @@ The format is based on [Common Changelog](https://common-changelog.org/).
|
|
|
33
35
|
[1.1.0]: https://github.com/sablier-labs/sdk/releases/tag/v1.1.0
|
|
34
36
|
[1.0.0]: https://github.com/sablier-labs/sdk/releases/tag/v1.0.0
|
|
35
37
|
|
|
38
|
+
## [3.3.1] - 2026-03-20
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Use granularity-divisible amounts and durations in linear stepper CSV templates
|
|
43
|
+
([`5b3c025`](https://github.com/sablier-labs/sdk/commit/5b3c025))
|
|
44
|
+
|
|
45
|
+
## [3.3.0] - 2026-03-20
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- Add `linearStepper` CSV templates for both duration and range modes with `granularity` field
|
|
50
|
+
([`fb5beec`](https://github.com/sablier-labs/sdk/commit/fb5beec))
|
|
51
|
+
- Add `granularity` definition to common CSV schema supporting daily, weekly, and yearly values
|
|
52
|
+
([`fb5beec`](https://github.com/sablier-labs/sdk/commit/fb5beec))
|
|
53
|
+
|
|
36
54
|
## [3.2.0] - 2026-03-20
|
|
37
55
|
|
|
38
56
|
### Added
|
|
@@ -32,6 +32,11 @@
|
|
|
32
32
|
"type": "string",
|
|
33
33
|
"pattern": "^[0-9]+(;[0-9]+)*$",
|
|
34
34
|
"description": "Semicolon-separated unlock percentages (e.g., '10;20;30;40')"
|
|
35
|
+
},
|
|
36
|
+
"granularity": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"enum": ["daily", "weekly", "yearly"],
|
|
39
|
+
"description": "Step granularity for linear stepper vesting"
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Duration Linear Stepper CSV Schema",
|
|
4
|
+
"description": "Schema for linear stepper vesting with relative duration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"address": {
|
|
8
|
+
"$ref": "../../common.schema.json#/$defs/address"
|
|
9
|
+
},
|
|
10
|
+
"amount": {
|
|
11
|
+
"$ref": "../../common.schema.json#/$defs/amount"
|
|
12
|
+
},
|
|
13
|
+
"duration": {
|
|
14
|
+
"$ref": "../../common.schema.json#/$defs/duration"
|
|
15
|
+
},
|
|
16
|
+
"granularity": {
|
|
17
|
+
"$ref": "../../common.schema.json#/$defs/granularity"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": ["address", "amount", "duration", "granularity"],
|
|
21
|
+
"additionalProperties": false
|
|
22
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Range Linear Stepper CSV Schema",
|
|
4
|
+
"description": "Schema for linear stepper vesting with absolute timestamps",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"address": {
|
|
8
|
+
"$ref": "../../common.schema.json#/$defs/address"
|
|
9
|
+
},
|
|
10
|
+
"amount": {
|
|
11
|
+
"$ref": "../../common.schema.json#/$defs/amount"
|
|
12
|
+
},
|
|
13
|
+
"startAt": {
|
|
14
|
+
"$ref": "../../common.schema.json#/$defs/timestamp"
|
|
15
|
+
},
|
|
16
|
+
"endAt": {
|
|
17
|
+
"$ref": "../../common.schema.json#/$defs/timestamp"
|
|
18
|
+
},
|
|
19
|
+
"granularity": {
|
|
20
|
+
"$ref": "../../common.schema.json#/$defs/granularity"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"required": ["address", "amount", "startAt", "endAt", "granularity"],
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/duration/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Linear vesting with duration: address, amount, duration */\nexport type LinearColumns = BaseColumns & {\n /** Relative duration (e.g., \"2 years 20 days\") */\n duration: string;\n};\n\n/** Cliff vesting with duration: address, amount, duration, cliffAmount, cliffDuration */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration (e.g., \"1 years 45 days 6 hours\") */\n cliffDuration: string;\n};\n\n/**\n * Dynamic cliff-exponential with duration: address, amount, duration, cliffAmount, cliffDuration\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with duration: address, amount, duration, firstUnlockAmount, firstUnlockDuration, secondUnlockAmount, secondUnlockDuration */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** Duration until first unlock */\n firstUnlockDuration: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Duration from first unlock to second unlock */\n secondUnlockDuration: string;\n};\n\n/**\n * Dynamic exponential vesting with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Tranched stepper with duration: address, amount, duration, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/**\n * Tranched timelock with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type TranchedTimelockColumns = LinearColumns;\n\n/** Linear unlock-cliff with duration: address, amount, duration, unlockAmount, cliffAmount, cliffDuration */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration */\n cliffDuration: string;\n};\n\n/** Linear unlock-linear with duration: address, amount, duration, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All duration template column types */\nexport type Columns =\n | CliffColumns\n |
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/duration/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Linear vesting with duration: address, amount, duration */\nexport type LinearColumns = BaseColumns & {\n /** Relative duration (e.g., \"2 years 20 days\") */\n duration: string;\n};\n\n/** Cliff vesting with duration: address, amount, duration, cliffAmount, cliffDuration */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration (e.g., \"1 years 45 days 6 hours\") */\n cliffDuration: string;\n};\n\n/**\n * Dynamic cliff-exponential with duration: address, amount, duration, cliffAmount, cliffDuration\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with duration: address, amount, duration, firstUnlockAmount, firstUnlockDuration, secondUnlockAmount, secondUnlockDuration */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** Duration until first unlock */\n firstUnlockDuration: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Duration from first unlock to second unlock */\n secondUnlockDuration: string;\n};\n\n/**\n * Dynamic exponential vesting with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Linear stepper with duration: address, amount, duration, granularity */\nexport type LinearStepperColumns = LinearColumns & {\n /** Step granularity (daily, weekly, or yearly) */\n granularity: string;\n};\n\n/** Tranched stepper with duration: address, amount, duration, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/**\n * Tranched timelock with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type TranchedTimelockColumns = LinearColumns;\n\n/** Linear unlock-cliff with duration: address, amount, duration, unlockAmount, cliffAmount, cliffDuration */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration */\n cliffDuration: string;\n};\n\n/** Linear unlock-linear with duration: address, amount, duration, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All duration template column types */\nexport type Columns =\n | CliffColumns\n | DynamicCliffExponentialColumns\n | DynamicDoubleUnlockColumns\n | DynamicExponentialColumns\n | LinearColumns\n | LinearStepperColumns\n | LinearUnlockCliffColumns\n | LinearUnlockLinearColumns\n | TranchedStepperColumns\n | TranchedTimelockColumns;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/range/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Tranched backweighted: address, amount, startAt, unlockPercentages, yearCount */\nexport type TranchedBackweightedColumns = BaseColumns & {\n /** Start timestamp */\n /** Number of years */\n startAt: string;\n /** Unlock percentages (e.g., \"10;20;30;40\") */\n unlockPercentages: string;\n /** Number of years */\n yearCount: string;\n};\n\n/** Linear vesting with range: address, amount, startAt, endAt */\nexport type LinearColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2024-01-12 16:15\") */\n startAt: string;\n /** End timestamp */\n endAt: string;\n};\n\n/** Cliff with range: address, amount, startAt, endAt, cliffAmount, cliffAt */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/**\n * Dynamic cliff-exponential with range: address, amount, startAt, endAt, cliffAmount, cliffAt\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with range: address, amount, startAt, endAt, firstUnlockAmount, firstUnlockAt, secondUnlockAmount, secondUnlockAt */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** First unlock timestamp */\n firstUnlockAt: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Second unlock timestamp */\n secondUnlockAt: string;\n};\n\n/**\n * Dynamic exponential with range: address, amount, startAt, endAt\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Tranched monthly: address, amount, startAt, monthCount */\nexport type TranchedMonthlyColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2026-01-12 16:15\") */\n startAt: string;\n /** Number of months */\n monthCount: string;\n};\n\n/** Tranched stepper with range: address, amount, startAt, endAt, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/** Tranched timelock with range: address, amount, endAt */\nexport type TranchedTimelockColumns = BaseColumns & {\n /** End timestamp when tokens unlock */\n endAt: string;\n};\n\n/** Linear unlock-cliff with range: address, amount, startAt, endAt, unlockAmount, cliffAmount, cliffAt */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/** Linear unlock-linear with range: address, amount, startAt, endAt, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All range template column types */\nexport type Columns =\n | TranchedBackweightedColumns\n | CliffColumns\n | DynamicDoubleUnlockColumns\n | DynamicCliffExponentialColumns\n | DynamicExponentialColumns\n | LinearColumns\n | TranchedMonthlyColumns\n | TranchedStepperColumns\n | TranchedTimelockColumns\n | LinearUnlockCliffColumns\n | LinearUnlockLinearColumns;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/range/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Tranched backweighted: address, amount, startAt, unlockPercentages, yearCount */\nexport type TranchedBackweightedColumns = BaseColumns & {\n /** Start timestamp */\n /** Number of years */\n startAt: string;\n /** Unlock percentages (e.g., \"10;20;30;40\") */\n unlockPercentages: string;\n /** Number of years */\n yearCount: string;\n};\n\n/** Linear vesting with range: address, amount, startAt, endAt */\nexport type LinearColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2024-01-12 16:15\") */\n startAt: string;\n /** End timestamp */\n endAt: string;\n};\n\n/** Cliff with range: address, amount, startAt, endAt, cliffAmount, cliffAt */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/**\n * Dynamic cliff-exponential with range: address, amount, startAt, endAt, cliffAmount, cliffAt\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with range: address, amount, startAt, endAt, firstUnlockAmount, firstUnlockAt, secondUnlockAmount, secondUnlockAt */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** First unlock timestamp */\n firstUnlockAt: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Second unlock timestamp */\n secondUnlockAt: string;\n};\n\n/**\n * Dynamic exponential with range: address, amount, startAt, endAt\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Tranched monthly: address, amount, startAt, monthCount */\nexport type TranchedMonthlyColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2026-01-12 16:15\") */\n startAt: string;\n /** Number of months */\n monthCount: string;\n};\n\n/** Linear stepper with range: address, amount, startAt, endAt, granularity */\nexport type LinearStepperColumns = LinearColumns & {\n /** Step granularity (daily, weekly, or yearly) */\n granularity: string;\n};\n\n/** Tranched stepper with range: address, amount, startAt, endAt, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/** Tranched timelock with range: address, amount, endAt */\nexport type TranchedTimelockColumns = BaseColumns & {\n /** End timestamp when tokens unlock */\n endAt: string;\n};\n\n/** Linear unlock-cliff with range: address, amount, startAt, endAt, unlockAmount, cliffAmount, cliffAt */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/** Linear unlock-linear with range: address, amount, startAt, endAt, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All range template column types */\nexport type Columns =\n | TranchedBackweightedColumns\n | CliffColumns\n | DynamicDoubleUnlockColumns\n | DynamicCliffExponentialColumns\n | DynamicExponentialColumns\n | LinearColumns\n | LinearStepperColumns\n | TranchedMonthlyColumns\n | TranchedStepperColumns\n | TranchedTimelockColumns\n | LinearUnlockCliffColumns\n | LinearUnlockLinearColumns;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/duration/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Linear vesting with duration: address, amount, duration */\nexport type LinearColumns = BaseColumns & {\n /** Relative duration (e.g., \"2 years 20 days\") */\n duration: string;\n};\n\n/** Cliff vesting with duration: address, amount, duration, cliffAmount, cliffDuration */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration (e.g., \"1 years 45 days 6 hours\") */\n cliffDuration: string;\n};\n\n/**\n * Dynamic cliff-exponential with duration: address, amount, duration, cliffAmount, cliffDuration\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with duration: address, amount, duration, firstUnlockAmount, firstUnlockDuration, secondUnlockAmount, secondUnlockDuration */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** Duration until first unlock */\n firstUnlockDuration: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Duration from first unlock to second unlock */\n secondUnlockDuration: string;\n};\n\n/**\n * Dynamic exponential vesting with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Tranched stepper with duration: address, amount, duration, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/**\n * Tranched timelock with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type TranchedTimelockColumns = LinearColumns;\n\n/** Linear unlock-cliff with duration: address, amount, duration, unlockAmount, cliffAmount, cliffDuration */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration */\n cliffDuration: string;\n};\n\n/** Linear unlock-linear with duration: address, amount, duration, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All duration template column types */\nexport type Columns =\n | CliffColumns\n |
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/duration/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Linear vesting with duration: address, amount, duration */\nexport type LinearColumns = BaseColumns & {\n /** Relative duration (e.g., \"2 years 20 days\") */\n duration: string;\n};\n\n/** Cliff vesting with duration: address, amount, duration, cliffAmount, cliffDuration */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration (e.g., \"1 years 45 days 6 hours\") */\n cliffDuration: string;\n};\n\n/**\n * Dynamic cliff-exponential with duration: address, amount, duration, cliffAmount, cliffDuration\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with duration: address, amount, duration, firstUnlockAmount, firstUnlockDuration, secondUnlockAmount, secondUnlockDuration */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** Duration until first unlock */\n firstUnlockDuration: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Duration from first unlock to second unlock */\n secondUnlockDuration: string;\n};\n\n/**\n * Dynamic exponential vesting with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Linear stepper with duration: address, amount, duration, granularity */\nexport type LinearStepperColumns = LinearColumns & {\n /** Step granularity (daily, weekly, or yearly) */\n granularity: string;\n};\n\n/** Tranched stepper with duration: address, amount, duration, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/**\n * Tranched timelock with duration: address, amount, duration\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type TranchedTimelockColumns = LinearColumns;\n\n/** Linear unlock-cliff with duration: address, amount, duration, unlockAmount, cliffAmount, cliffDuration */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff duration */\n cliffDuration: string;\n};\n\n/** Linear unlock-linear with duration: address, amount, duration, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All duration template column types */\nexport type Columns =\n | CliffColumns\n | DynamicCliffExponentialColumns\n | DynamicDoubleUnlockColumns\n | DynamicExponentialColumns\n | LinearColumns\n | LinearStepperColumns\n | LinearUnlockCliffColumns\n | LinearUnlockLinearColumns\n | TranchedStepperColumns\n | TranchedTimelockColumns;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/range/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Tranched backweighted: address, amount, startAt, unlockPercentages, yearCount */\nexport type TranchedBackweightedColumns = BaseColumns & {\n /** Start timestamp */\n /** Number of years */\n startAt: string;\n /** Unlock percentages (e.g., \"10;20;30;40\") */\n unlockPercentages: string;\n /** Number of years */\n yearCount: string;\n};\n\n/** Linear vesting with range: address, amount, startAt, endAt */\nexport type LinearColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2024-01-12 16:15\") */\n startAt: string;\n /** End timestamp */\n endAt: string;\n};\n\n/** Cliff with range: address, amount, startAt, endAt, cliffAmount, cliffAt */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/**\n * Dynamic cliff-exponential with range: address, amount, startAt, endAt, cliffAmount, cliffAt\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with range: address, amount, startAt, endAt, firstUnlockAmount, firstUnlockAt, secondUnlockAmount, secondUnlockAt */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** First unlock timestamp */\n firstUnlockAt: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Second unlock timestamp */\n secondUnlockAt: string;\n};\n\n/**\n * Dynamic exponential with range: address, amount, startAt, endAt\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Tranched monthly: address, amount, startAt, monthCount */\nexport type TranchedMonthlyColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2026-01-12 16:15\") */\n startAt: string;\n /** Number of months */\n monthCount: string;\n};\n\n/** Tranched stepper with range: address, amount, startAt, endAt, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/** Tranched timelock with range: address, amount, endAt */\nexport type TranchedTimelockColumns = BaseColumns & {\n /** End timestamp when tokens unlock */\n endAt: string;\n};\n\n/** Linear unlock-cliff with range: address, amount, startAt, endAt, unlockAmount, cliffAmount, cliffAt */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/** Linear unlock-linear with range: address, amount, startAt, endAt, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All range template column types */\nexport type Columns =\n | TranchedBackweightedColumns\n | CliffColumns\n | DynamicDoubleUnlockColumns\n | DynamicCliffExponentialColumns\n | DynamicExponentialColumns\n | LinearColumns\n | TranchedMonthlyColumns\n | TranchedStepperColumns\n | TranchedTimelockColumns\n | LinearUnlockCliffColumns\n | LinearUnlockLinearColumns;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/range/index.ts"],"names":[],"mappings":"","sourcesContent":["import type { BaseColumns } from \"../../types.js\";\n\n/** Tranched backweighted: address, amount, startAt, unlockPercentages, yearCount */\nexport type TranchedBackweightedColumns = BaseColumns & {\n /** Start timestamp */\n /** Number of years */\n startAt: string;\n /** Unlock percentages (e.g., \"10;20;30;40\") */\n unlockPercentages: string;\n /** Number of years */\n yearCount: string;\n};\n\n/** Linear vesting with range: address, amount, startAt, endAt */\nexport type LinearColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2024-01-12 16:15\") */\n startAt: string;\n /** End timestamp */\n endAt: string;\n};\n\n/** Cliff with range: address, amount, startAt, endAt, cliffAmount, cliffAt */\nexport type CliffColumns = LinearColumns & {\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/**\n * Dynamic cliff-exponential with range: address, amount, startAt, endAt, cliffAmount, cliffAt\n * @note Structurally identical to CliffColumns; the shape difference is semantic only\n */\nexport type DynamicCliffExponentialColumns = CliffColumns;\n\n/** Dynamic double-unlock with range: address, amount, startAt, endAt, firstUnlockAmount, firstUnlockAt, secondUnlockAmount, secondUnlockAt */\nexport type DynamicDoubleUnlockColumns = LinearColumns & {\n /** Amount for first unlock */\n firstUnlockAmount: string;\n /** First unlock timestamp */\n firstUnlockAt: string;\n /** Amount for second unlock */\n secondUnlockAmount: string;\n /** Second unlock timestamp */\n secondUnlockAt: string;\n};\n\n/**\n * Dynamic exponential with range: address, amount, startAt, endAt\n * @note Structurally identical to LinearColumns; the shape difference is semantic only\n */\nexport type DynamicExponentialColumns = LinearColumns;\n\n/** Tranched monthly: address, amount, startAt, monthCount */\nexport type TranchedMonthlyColumns = BaseColumns & {\n /** Start timestamp (e.g., \"2026-01-12 16:15\") */\n startAt: string;\n /** Number of months */\n monthCount: string;\n};\n\n/** Linear stepper with range: address, amount, startAt, endAt, granularity */\nexport type LinearStepperColumns = LinearColumns & {\n /** Step granularity (daily, weekly, or yearly) */\n granularity: string;\n};\n\n/** Tranched stepper with range: address, amount, startAt, endAt, stepCount */\nexport type TranchedStepperColumns = LinearColumns & {\n /** Number of discrete unlock steps */\n stepCount: string;\n};\n\n/** Tranched timelock with range: address, amount, endAt */\nexport type TranchedTimelockColumns = BaseColumns & {\n /** End timestamp when tokens unlock */\n endAt: string;\n};\n\n/** Linear unlock-cliff with range: address, amount, startAt, endAt, unlockAmount, cliffAmount, cliffAt */\nexport type LinearUnlockCliffColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n /** Amount unlocked at cliff */\n cliffAmount: string;\n /** Cliff timestamp */\n cliffAt: string;\n};\n\n/** Linear unlock-linear with range: address, amount, startAt, endAt, unlockAmount */\nexport type LinearUnlockLinearColumns = LinearColumns & {\n /** Immediate unlock amount */\n unlockAmount: string;\n};\n\n/** All range template column types */\nexport type Columns =\n | TranchedBackweightedColumns\n | CliffColumns\n | DynamicDoubleUnlockColumns\n | DynamicCliffExponentialColumns\n | DynamicExponentialColumns\n | LinearColumns\n | LinearStepperColumns\n | TranchedMonthlyColumns\n | TranchedStepperColumns\n | TranchedTimelockColumns\n | LinearUnlockCliffColumns\n | LinearUnlockLinearColumns;\n"]}
|
|
@@ -14,6 +14,9 @@ export type DynamicDoubleUnlockColumns = LinearColumns & {
|
|
|
14
14
|
secondUnlockDuration: string;
|
|
15
15
|
};
|
|
16
16
|
export type DynamicExponentialColumns = LinearColumns;
|
|
17
|
+
export type LinearStepperColumns = LinearColumns & {
|
|
18
|
+
granularity: string;
|
|
19
|
+
};
|
|
17
20
|
export type TranchedStepperColumns = LinearColumns & {
|
|
18
21
|
stepCount: string;
|
|
19
22
|
};
|
|
@@ -26,5 +29,5 @@ export type LinearUnlockCliffColumns = LinearColumns & {
|
|
|
26
29
|
export type LinearUnlockLinearColumns = LinearColumns & {
|
|
27
30
|
unlockAmount: string;
|
|
28
31
|
};
|
|
29
|
-
export type Columns = CliffColumns |
|
|
32
|
+
export type Columns = CliffColumns | DynamicCliffExponentialColumns | DynamicDoubleUnlockColumns | DynamicExponentialColumns | LinearColumns | LinearStepperColumns | LinearUnlockCliffColumns | LinearUnlockLinearColumns | TranchedStepperColumns | TranchedTimelockColumns;
|
|
30
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/duration/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAExC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAEzC,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAMF,MAAM,MAAM,8BAA8B,GAAG,YAAY,CAAC;AAG1D,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG;IAEvD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,kBAAkB,EAAE,MAAM,CAAC;IAE3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IAEnD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAGpD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IAErD,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG;IAEtD,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,OAAO,GACf,YAAY,GACZ,0BAA0B,GAC1B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/duration/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAExC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAEzC,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAMF,MAAM,MAAM,8BAA8B,GAAG,YAAY,CAAC;AAG1D,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG;IAEvD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,kBAAkB,EAAE,MAAM,CAAC;IAE3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAGtD,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IAEjD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IAEnD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAGpD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IAErD,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG;IAEtD,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,OAAO,GACf,YAAY,GACZ,8BAA8B,GAC9B,0BAA0B,GAC1B,yBAAyB,GACzB,aAAa,GACb,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,uBAAuB,CAAC"}
|
|
@@ -24,6 +24,9 @@ export type TranchedMonthlyColumns = BaseColumns & {
|
|
|
24
24
|
startAt: string;
|
|
25
25
|
monthCount: string;
|
|
26
26
|
};
|
|
27
|
+
export type LinearStepperColumns = LinearColumns & {
|
|
28
|
+
granularity: string;
|
|
29
|
+
};
|
|
27
30
|
export type TranchedStepperColumns = LinearColumns & {
|
|
28
31
|
stepCount: string;
|
|
29
32
|
};
|
|
@@ -38,5 +41,5 @@ export type LinearUnlockCliffColumns = LinearColumns & {
|
|
|
38
41
|
export type LinearUnlockLinearColumns = LinearColumns & {
|
|
39
42
|
unlockAmount: string;
|
|
40
43
|
};
|
|
41
|
-
export type Columns = TranchedBackweightedColumns | CliffColumns | DynamicDoubleUnlockColumns | DynamicCliffExponentialColumns | DynamicExponentialColumns | LinearColumns | TranchedMonthlyColumns | TranchedStepperColumns | TranchedTimelockColumns | LinearUnlockCliffColumns | LinearUnlockLinearColumns;
|
|
44
|
+
export type Columns = TranchedBackweightedColumns | CliffColumns | DynamicDoubleUnlockColumns | DynamicCliffExponentialColumns | DynamicExponentialColumns | LinearColumns | LinearStepperColumns | TranchedMonthlyColumns | TranchedStepperColumns | TranchedTimelockColumns | LinearUnlockCliffColumns | LinearUnlockLinearColumns;
|
|
42
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/range/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG;IAGtD,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAExC,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAEzC,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAMF,MAAM,MAAM,8BAA8B,GAAG,YAAY,CAAC;AAG1D,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG;IAEvD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,aAAa,EAAE,MAAM,CAAC;IAEtB,kBAAkB,EAAE,MAAM,CAAC;IAE3B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAMF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IAEjD,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IAEnD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG;IAElD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IAErD,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG;IAEtD,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,OAAO,GACf,2BAA2B,GAC3B,YAAY,GACZ,0BAA0B,GAC1B,8BAA8B,GAC9B,yBAAyB,GACzB,aAAa,GACb,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/evm/csv/lockup/range/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG;IAGtD,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAExC,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG;IAEzC,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAMF,MAAM,MAAM,8BAA8B,GAAG,YAAY,CAAC;AAG1D,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG;IAEvD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,aAAa,EAAE,MAAM,CAAC;IAEtB,kBAAkB,EAAE,MAAM,CAAC;IAE3B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAMF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IAEjD,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IAEjD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IAEnD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG;IAElD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IAErD,YAAY,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG;IAEtD,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,OAAO,GACf,2BAA2B,GAC3B,YAAY,GACZ,0BAA0B,GAC1B,8BAA8B,GAC9B,yBAAyB,GACzB,aAAa,GACb,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,CAAC"}
|