sablier 3.0.0 → 3.1.0

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.
Files changed (33) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/shapes/constants.js +4 -1
  3. package/dist/cjs/shapes/constants.js.map +1 -1
  4. package/dist/cjs/shapes/enums.js +1 -0
  5. package/dist/cjs/shapes/enums.js.map +1 -1
  6. package/dist/cjs/shapes/lockup/index.js +1 -0
  7. package/dist/cjs/shapes/lockup/index.js.map +1 -1
  8. package/dist/cjs/shapes/lockup/linear.js +7 -1
  9. package/dist/cjs/shapes/lockup/linear.js.map +1 -1
  10. package/dist/cjs/shapes/lockup/tranched.js +1 -1
  11. package/dist/cjs/shapes/lockup/tranched.js.map +1 -1
  12. package/dist/esm/shapes/constants.js +3 -0
  13. package/dist/esm/shapes/constants.js.map +1 -1
  14. package/dist/esm/shapes/enums.js +1 -0
  15. package/dist/esm/shapes/enums.js.map +1 -1
  16. package/dist/esm/shapes/lockup/index.js +1 -0
  17. package/dist/esm/shapes/lockup/index.js.map +1 -1
  18. package/dist/esm/shapes/lockup/linear.js +7 -1
  19. package/dist/esm/shapes/lockup/linear.js.map +1 -1
  20. package/dist/esm/shapes/lockup/tranched.js +1 -1
  21. package/dist/esm/shapes/lockup/tranched.js.map +1 -1
  22. package/dist/types/shapes/constants.d.ts +5 -0
  23. package/dist/types/shapes/constants.d.ts.map +1 -1
  24. package/dist/types/shapes/enums.d.ts +1 -0
  25. package/dist/types/shapes/enums.d.ts.map +1 -1
  26. package/dist/types/shapes/index.d.ts +1 -0
  27. package/dist/types/shapes/index.d.ts.map +1 -1
  28. package/dist/types/shapes/lockup/index.d.ts +1 -0
  29. package/dist/types/shapes/lockup/index.d.ts.map +1 -1
  30. package/dist/types/shapes/lockup/linear.d.ts +1 -0
  31. package/dist/types/shapes/lockup/linear.d.ts.map +1 -1
  32. package/dist/types/shapes/lockup/tranched.d.ts.map +1 -1
  33. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -9,6 +9,7 @@ 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.1.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.1.0
12
13
  [3.0.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.0.0
13
14
  [2.0.4]: https://github.com/sablier-labs/sdk/releases/tag/v2.0.4
14
15
  [2.0.3]: https://github.com/sablier-labs/sdk/releases/tag/v2.0.3
@@ -31,6 +32,18 @@ The format is based on [Common Changelog](https://common-changelog.org/).
31
32
  [1.1.0]: https://github.com/sablier-labs/sdk/releases/tag/v1.1.0
32
33
  [1.0.0]: https://github.com/sablier-labs/sdk/releases/tag/v1.0.0
33
34
 
35
+ ## [3.1.0] - 2026-03-20
36
+
37
+ ### Added
38
+
39
+ - Add `linearStepper` lockup shape using LockupLinear with the granularity feature from Lockup v4.0
40
+ ([`578d6ce`](https://github.com/sablier-labs/sdk/commit/578d6ce))
41
+
42
+ ### Changed
43
+
44
+ - Deprecate `tranchedStepper` lockup shape in favor of `linearStepper`
45
+ ([`578d6ce`](https://github.com/sablier-labs/sdk/commit/578d6ce))
46
+
34
47
  ## [3.0.0] - 2026-03-18
35
48
 
36
49
  ### Changed
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIRDROP_EVM_LT = exports.AIRDROP_EVM_VCA = exports.AIRDROP_EVM_LL_V2 = exports.AIRDROP_EVM_LL = exports.AIRDROP_SOLANA_INSTANT = exports.AIRDROP_EVM_INSTANT = exports.FLOW_EVM = exports.LOCKUP_EVM_LT = exports.LOCKUP_EVM_LD = exports.LOCKUP_SOLANA_LL = exports.LOCKUP_EVM_LL_V2 = exports.LOCKUP_EVM_LL = void 0;
3
+ exports.AIRDROP_EVM_LT = exports.AIRDROP_EVM_VCA = exports.AIRDROP_EVM_LL_V2 = exports.AIRDROP_EVM_LL = exports.AIRDROP_SOLANA_INSTANT = exports.AIRDROP_EVM_INSTANT = exports.FLOW_EVM = exports.LOCKUP_EVM_LT = exports.LOCKUP_EVM_LD = exports.LOCKUP_SOLANA_LL = exports.LOCKUP_EVM_LL_V4 = exports.LOCKUP_EVM_LL_V2 = exports.LOCKUP_EVM_LL = void 0;
4
4
  const enums_js_1 = require("../evm/enums.js");
5
5
  const LL_METHODS = ["createWithDurationsLL", "createWithTimestampsLL"];
6
6
  const LL_V1_METHODS = ["createWithDurations", "createWithTimestamps"];
@@ -17,6 +17,9 @@ exports.LOCKUP_EVM_LL_V2 = [
17
17
  { contract: "SablierLockup", createMethods: LL_METHODS, version: enums_js_1.Version.Lockup.V3_0 },
18
18
  { contract: "SablierLockup", createMethods: LL_METHODS, version: enums_js_1.Version.Lockup.V2_0 },
19
19
  ];
20
+ exports.LOCKUP_EVM_LL_V4 = [
21
+ { contract: "SablierLockup", createMethods: LL_METHODS, version: enums_js_1.Version.Lockup.V4_0 },
22
+ ];
20
23
  exports.LOCKUP_SOLANA_LL = [
21
24
  {
22
25
  createMethods: ["create_with_durations_ll", "create_with_timestamps_ll"],
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shapes/constants.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared EVM and Solana contract configurations for shape definitions.\n *\n * These constants eliminate code duplication across shape files by providing\n * reusable contract/method mappings organized by lockup type (LL, LD, LT).\n *\n * @remarks\n * Arrays are marked `as const` for type safety. Consumers should treat them\n * as read-only - do not mutate `shape.evm` or `createMethods` arrays.\n */\n\nimport { Version } from \"@/src/evm/enums.js\";\nimport type { ContractMethod, ProgramMethod } from \"./types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP LINEAR (LL) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LL_METHODS = [\"createWithDurationsLL\", \"createWithTimestampsLL\"] as const;\nconst LL_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Linear contracts - full version history */\nexport const LOCKUP_EVM_LL = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_2 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_1 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v2.0+ only */\nexport const LOCKUP_EVM_LL_V2 = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Lockup Linear program */\nexport const LOCKUP_SOLANA_LL = [\n {\n createMethods: [\"create_with_durations_ll\", \"create_with_timestamps_ll\"],\n program: \"SablierLockupLinear\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP DYNAMIC (LD) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LD_METHODS = [\"createWithDurationsLD\", \"createWithTimestampsLD\"] as const;\nconst LD_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Dynamic contracts - full version history */\nexport const LOCKUP_EVM_LD = [\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_1,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP TRANCHED (LT) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LT_METHODS = [\"createWithDurationsLT\", \"createWithTimestampsLT\"] as const;\nconst LT_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Tranched contracts - v1.2+ only (LT introduced in v1.2) */\nexport const LOCKUP_EVM_LT = [\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupTranched\",\n createMethods: LT_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* FLOW CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Flow contracts - v1.0 through v3.0 */\nexport const FLOW_EVM = [\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V3_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V2_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_1,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* AIRDROP CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Airdrop Instant factory contracts - v1.3+ */\nexport const AIRDROP_EVM_INSTANT = [\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V1_3,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Airdrop Instant program */\nexport const AIRDROP_SOLANA_INSTANT = [\n {\n createMethods: [\"create_campaign\"],\n program: \"SablierMerkleInstant\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/** Airdrop Linear (LL) factory contracts - full history */\nexport const AIRDROP_EVM_LL = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_2,\n },\n {\n contract: \"SablierV2MerkleStreamerFactory\",\n createMethods: [\"createMerkleStreamerLL\"],\n version: Version.Airdrops.V1_1,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Linear (LL) factory contracts - v2.0+ only */\nexport const AIRDROP_EVM_LL_V2 = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop VCA factory contracts - v2.0+ */\nexport const AIRDROP_EVM_VCA = [\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Tranched (LT) factory contracts - v1.2+ */\nexport const AIRDROP_EVM_LT = [\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shapes/constants.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared EVM and Solana contract configurations for shape definitions.\n *\n * These constants eliminate code duplication across shape files by providing\n * reusable contract/method mappings organized by lockup type (LL, LD, LT).\n *\n * @remarks\n * Arrays are marked `as const` for type safety. Consumers should treat them\n * as read-only - do not mutate `shape.evm` or `createMethods` arrays.\n */\n\nimport { Version } from \"@/src/evm/enums.js\";\nimport type { ContractMethod, ProgramMethod } from \"./types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP LINEAR (LL) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LL_METHODS = [\"createWithDurationsLL\", \"createWithTimestampsLL\"] as const;\nconst LL_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Linear contracts - full version history */\nexport const LOCKUP_EVM_LL = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_2 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_1 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v2.0+ only */\nexport const LOCKUP_EVM_LL_V2 = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v4.0+ only (granularity feature) */\nexport const LOCKUP_EVM_LL_V4 = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Lockup Linear program */\nexport const LOCKUP_SOLANA_LL = [\n {\n createMethods: [\"create_with_durations_ll\", \"create_with_timestamps_ll\"],\n program: \"SablierLockupLinear\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP DYNAMIC (LD) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LD_METHODS = [\"createWithDurationsLD\", \"createWithTimestampsLD\"] as const;\nconst LD_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Dynamic contracts - full version history */\nexport const LOCKUP_EVM_LD = [\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_1,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP TRANCHED (LT) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LT_METHODS = [\"createWithDurationsLT\", \"createWithTimestampsLT\"] as const;\nconst LT_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Tranched contracts - v1.2+ only (LT introduced in v1.2) */\nexport const LOCKUP_EVM_LT = [\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupTranched\",\n createMethods: LT_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* FLOW CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Flow contracts - v1.0 through v3.0 */\nexport const FLOW_EVM = [\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V3_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V2_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_1,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* AIRDROP CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Airdrop Instant factory contracts - v1.3+ */\nexport const AIRDROP_EVM_INSTANT = [\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V1_3,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Airdrop Instant program */\nexport const AIRDROP_SOLANA_INSTANT = [\n {\n createMethods: [\"create_campaign\"],\n program: \"SablierMerkleInstant\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/** Airdrop Linear (LL) factory contracts - full history */\nexport const AIRDROP_EVM_LL = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_2,\n },\n {\n contract: \"SablierV2MerkleStreamerFactory\",\n createMethods: [\"createMerkleStreamerLL\"],\n version: Version.Airdrops.V1_1,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Linear (LL) factory contracts - v2.0+ only */\nexport const AIRDROP_EVM_LL_V2 = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop VCA factory contracts - v2.0+ */\nexport const AIRDROP_EVM_VCA = [\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Tranched (LT) factory contracts - v1.2+ */\nexport const AIRDROP_EVM_LT = [\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n"]}
@@ -15,6 +15,7 @@ var Shape;
15
15
  Lockup["TranchedTimelock"] = "tranchedTimelock";
16
16
  Lockup["LinearUnlockLinear"] = "linearUnlockLinear";
17
17
  Lockup["LinearUnlockCliff"] = "linearUnlockCliff";
18
+ Lockup["LinearStepper"] = "linearStepper";
18
19
  Lockup["LinearTimelock"] = "linearTimelock";
19
20
  Lockup["DynamicTimelock"] = "dynamicTimelock";
20
21
  Lockup["DynamicMonthly"] = "dynamicMonthly";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":";;;AAAA,IAAiB,KAAK,CAkCrB;AAlCD,WAAiB,KAAK;IACpB,IAAY,MAkBX;IAlBD,WAAY,MAAM;QAChB,2BAAiB,CAAA;QACjB,yBAAe,CAAA;QACf,6DAAmD,CAAA;QACnD,mDAAyC,CAAA;QACzC,uDAA6C,CAAA;QAC7C,6CAAmC,CAAA;QACnC,6CAAmC,CAAA;QACnC,+CAAqC,CAAA;QACrC,mDAAyC,CAAA;QACzC,iDAAuC,CAAA;QACvC,2CAAiC,CAAA;QACjC,6CAAmC,CAAA;QACnC,2CAAiC,CAAA;QACjC,2CAAiC,CAAA;QACjC,mDAAyC,CAAA;QACzC,qDAA2C,CAAA;QAC3C,qDAA2C,CAAA;IAC7C,CAAC,EAlBW,MAAM,GAAN,YAAM,KAAN,YAAM,QAkBjB;IAED,IAAY,IAEX;IAFD,WAAY,IAAI;QACd,qBAAa,CAAA;IACf,CAAC,EAFW,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAEf;IAED,IAAY,QAQX;IARD,WAAY,QAAQ;QAClB,+BAAmB,CAAA;QACnB,6BAAiB,CAAA;QACjB,2BAAe,CAAA;QACf,qDAAyC,CAAA;QACzC,mDAAuC,CAAA;QACvC,+CAAmC,CAAA;QACnC,uDAA2C,CAAA;IAC7C,CAAC,EARW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAQnB;AACH,CAAC,EAlCgB,KAAK,qBAAL,KAAK,QAkCrB","sourcesContent":["export namespace Shape {\n export enum Lockup {\n Linear = \"linear\",\n Cliff = \"cliff\",\n DynamicCliffExponential = \"dynamicCliffExponential\",\n DynamicExponential = \"dynamicExponential\",\n TranchedBackweighted = \"tranchedBackweighted\",\n TranchedStepper = \"tranchedStepper\",\n TranchedMonthly = \"tranchedMonthly\",\n TranchedTimelock = \"tranchedTimelock\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n LinearTimelock = \"linearTimelock\",\n DynamicTimelock = \"dynamicTimelock\",\n DynamicMonthly = \"dynamicMonthly\",\n DynamicStepper = \"dynamicStepper\",\n DynamicUnlockCliff = \"dynamicUnlockCliff\",\n DynamicUnlockLinear = \"dynamicUnlockLinear\",\n DynamicDoubleUnlock = \"dynamicDoubleUnlock\",\n }\n\n export enum Flow {\n Flow = \"flow\",\n }\n\n export enum Airdrops {\n Instant = \"instant\",\n Linear = \"linear\",\n Cliff = \"cliff\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n TranchedStepper = \"tranchedStepper\",\n VariableClaimAmount = \"variableClaimAmount\",\n }\n}\n"]}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":";;;AAAA,IAAiB,KAAK,CAmCrB;AAnCD,WAAiB,KAAK;IACpB,IAAY,MAmBX;IAnBD,WAAY,MAAM;QAChB,2BAAiB,CAAA;QACjB,yBAAe,CAAA;QACf,6DAAmD,CAAA;QACnD,mDAAyC,CAAA;QACzC,uDAA6C,CAAA;QAC7C,6CAAmC,CAAA;QACnC,6CAAmC,CAAA;QACnC,+CAAqC,CAAA;QACrC,mDAAyC,CAAA;QACzC,iDAAuC,CAAA;QACvC,yCAA+B,CAAA;QAC/B,2CAAiC,CAAA;QACjC,6CAAmC,CAAA;QACnC,2CAAiC,CAAA;QACjC,2CAAiC,CAAA;QACjC,mDAAyC,CAAA;QACzC,qDAA2C,CAAA;QAC3C,qDAA2C,CAAA;IAC7C,CAAC,EAnBW,MAAM,GAAN,YAAM,KAAN,YAAM,QAmBjB;IAED,IAAY,IAEX;IAFD,WAAY,IAAI;QACd,qBAAa,CAAA;IACf,CAAC,EAFW,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAEf;IAED,IAAY,QAQX;IARD,WAAY,QAAQ;QAClB,+BAAmB,CAAA;QACnB,6BAAiB,CAAA;QACjB,2BAAe,CAAA;QACf,qDAAyC,CAAA;QACzC,mDAAuC,CAAA;QACvC,+CAAmC,CAAA;QACnC,uDAA2C,CAAA;IAC7C,CAAC,EARW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAQnB;AACH,CAAC,EAnCgB,KAAK,qBAAL,KAAK,QAmCrB","sourcesContent":["export namespace Shape {\n export enum Lockup {\n Linear = \"linear\",\n Cliff = \"cliff\",\n DynamicCliffExponential = \"dynamicCliffExponential\",\n DynamicExponential = \"dynamicExponential\",\n TranchedBackweighted = \"tranchedBackweighted\",\n TranchedStepper = \"tranchedStepper\",\n TranchedMonthly = \"tranchedMonthly\",\n TranchedTimelock = \"tranchedTimelock\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n LinearStepper = \"linearStepper\",\n LinearTimelock = \"linearTimelock\",\n DynamicTimelock = \"dynamicTimelock\",\n DynamicMonthly = \"dynamicMonthly\",\n DynamicStepper = \"dynamicStepper\",\n DynamicUnlockCliff = \"dynamicUnlockCliff\",\n DynamicUnlockLinear = \"dynamicUnlockLinear\",\n DynamicDoubleUnlock = \"dynamicDoubleUnlock\",\n }\n\n export enum Flow {\n Flow = \"flow\",\n }\n\n export enum Airdrops {\n Instant = \"instant\",\n Linear = \"linear\",\n Cliff = \"cliff\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n TranchedStepper = \"tranchedStepper\",\n VariableClaimAmount = \"variableClaimAmount\",\n }\n}\n"]}
@@ -52,6 +52,7 @@ exports.lockupShapes = {
52
52
  [enums_js_1.Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,
53
53
  [enums_js_1.Shape.Lockup.Cliff]: linear.cliff,
54
54
  [enums_js_1.Shape.Lockup.Linear]: linear.linear,
55
+ [enums_js_1.Shape.Lockup.LinearStepper]: linear.linearStepper,
55
56
  [enums_js_1.Shape.Lockup.LinearTimelock]: linear.linearTimelock,
56
57
  [enums_js_1.Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,
57
58
  [enums_js_1.Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAAoC;AAEpC,sDAAwC;AACxC,oDAAsC;AACtC,wDAA0C;AAM7B,QAAA,YAAY,GAAG;IAI1B,CAAC,gBAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB;IACvE,CAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAC/D,CAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe;IACvD,CAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAI/D,CAAC,gBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAClC,CAAC,gBAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM;IACpC,CAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc;IACpD,CAAC,gBAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,iBAAiB;IAC1D,CAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,kBAAkB;IAI5D,CAAC,gBAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,oBAAoB;IAClE,CAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,gBAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB;CAC9B,CAAC;AAG/B,+CAA6B;AAC7B,8CAA4B;AAC5B,gDAA8B","sourcesContent":["/**\n * Lockup shapes aggregation module.\n *\n * Re-exports all lockup shapes organized by curve type and provides\n * the combined lockupShapes record.\n */\n\nimport { Shape } from \"../enums.js\";\nimport type { LockupShapesRecord } from \"../types.js\";\nimport * as dynamic from \"./dynamic.js\";\nimport * as linear from \"./linear.js\";\nimport * as tranched from \"./tranched.js\";\n\n/**\n * All lockup shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency. Please maintain this order.\n */\nexport const lockupShapes = {\n /* -------------------------------------------------------------------------- */\n /* DYNAMIC */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.DynamicCliffExponential]: dynamic.dynamicCliffExponential,\n [Shape.Lockup.DynamicDoubleUnlock]: dynamic.dynamicDoubleUnlock,\n [Shape.Lockup.DynamicExponential]: dynamic.dynamicExponential,\n [Shape.Lockup.DynamicMonthly]: dynamic.dynamicMonthly,\n [Shape.Lockup.DynamicStepper]: dynamic.dynamicStepper,\n [Shape.Lockup.DynamicTimelock]: dynamic.dynamicTimelock,\n [Shape.Lockup.DynamicUnlockCliff]: dynamic.dynamicUnlockCliff,\n [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* LINEAR */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.Cliff]: linear.cliff,\n [Shape.Lockup.Linear]: linear.linear,\n [Shape.Lockup.LinearTimelock]: linear.linearTimelock,\n [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,\n [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* TRANCHED */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.TranchedBackweighted]: tranched.tranchedBackweighted,\n [Shape.Lockup.TranchedMonthly]: tranched.tranchedMonthly,\n [Shape.Lockup.TranchedStepper]: tranched.tranchedStepper,\n [Shape.Lockup.TranchedTimelock]: tranched.tranchedTimelock,\n} satisfies LockupShapesRecord;\n\n// Re-export individual shapes for direct imports\nexport * from \"./dynamic.js\";\nexport * from \"./linear.js\";\nexport * from \"./tranched.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAAoC;AAEpC,sDAAwC;AACxC,oDAAsC;AACtC,wDAA0C;AAM7B,QAAA,YAAY,GAAG;IAI1B,CAAC,gBAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB;IACvE,CAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAC/D,CAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe;IACvD,CAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAI/D,CAAC,gBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAClC,CAAC,gBAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM;IACpC,CAAC,gBAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,aAAa;IAClD,CAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc;IACpD,CAAC,gBAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,iBAAiB;IAC1D,CAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,kBAAkB;IAI5D,CAAC,gBAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,oBAAoB;IAClE,CAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,gBAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB;CAC9B,CAAC;AAG/B,+CAA6B;AAC7B,8CAA4B;AAC5B,gDAA8B","sourcesContent":["/**\n * Lockup shapes aggregation module.\n *\n * Re-exports all lockup shapes organized by curve type and provides\n * the combined lockupShapes record.\n */\n\nimport { Shape } from \"../enums.js\";\nimport type { LockupShapesRecord } from \"../types.js\";\nimport * as dynamic from \"./dynamic.js\";\nimport * as linear from \"./linear.js\";\nimport * as tranched from \"./tranched.js\";\n\n/**\n * All lockup shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency. Please maintain this order.\n */\nexport const lockupShapes = {\n /* -------------------------------------------------------------------------- */\n /* DYNAMIC */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.DynamicCliffExponential]: dynamic.dynamicCliffExponential,\n [Shape.Lockup.DynamicDoubleUnlock]: dynamic.dynamicDoubleUnlock,\n [Shape.Lockup.DynamicExponential]: dynamic.dynamicExponential,\n [Shape.Lockup.DynamicMonthly]: dynamic.dynamicMonthly,\n [Shape.Lockup.DynamicStepper]: dynamic.dynamicStepper,\n [Shape.Lockup.DynamicTimelock]: dynamic.dynamicTimelock,\n [Shape.Lockup.DynamicUnlockCliff]: dynamic.dynamicUnlockCliff,\n [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* LINEAR */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.Cliff]: linear.cliff,\n [Shape.Lockup.Linear]: linear.linear,\n [Shape.Lockup.LinearStepper]: linear.linearStepper,\n [Shape.Lockup.LinearTimelock]: linear.linearTimelock,\n [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,\n [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* TRANCHED */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.TranchedBackweighted]: tranched.tranchedBackweighted,\n [Shape.Lockup.TranchedMonthly]: tranched.tranchedMonthly,\n [Shape.Lockup.TranchedStepper]: tranched.tranchedStepper,\n [Shape.Lockup.TranchedTimelock]: tranched.tranchedTimelock,\n} satisfies LockupShapesRecord;\n\n// Re-export individual shapes for direct imports\nexport * from \"./dynamic.js\";\nexport * from \"./linear.js\";\nexport * from \"./tranched.js\";\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.linearTimelock = exports.linearUnlockCliff = exports.linearUnlockLinear = exports.cliff = exports.linear = void 0;
3
+ exports.linearTimelock = exports.linearStepper = exports.linearUnlockCliff = exports.linearUnlockLinear = exports.cliff = exports.linear = void 0;
4
4
  const constants_js_1 = require("../constants.js");
5
5
  const enums_js_1 = require("../enums.js");
6
6
  const types_js_1 = require("../types.js");
@@ -32,6 +32,12 @@ exports.linearUnlockCliff = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.L
32
32
  name: "Linear Unlock Cliff",
33
33
  solana: constants_js_1.LOCKUP_SOLANA_LL,
34
34
  });
35
+ exports.linearStepper = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.LinearStepper, {
36
+ evm: constants_js_1.LOCKUP_EVM_LL_V4,
37
+ hasPredictableGas: true,
38
+ isDeprecated: false,
39
+ name: "Linear Stepper",
40
+ });
35
41
  exports.linearTimelock = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.LinearTimelock, {
36
42
  evm: constants_js_1.LOCKUP_EVM_LL_V2,
37
43
  hasPredictableGas: true,
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":";;;AAOA,kDAAoF;AACpF,0CAAoC;AACpC,0CAAgD;AAMnC,QAAA,MAAM,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AAMU,QAAA,KAAK,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IACzD,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AAMU,QAAA,kBAAkB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AAMU,QAAA,iBAAiB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;IACjF,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AAMU,QAAA,cAAc,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC","sourcesContent":["/**\n * Linear-based (LL) lockup shapes.\n *\n * These shapes use the LockupLinear contract family and share common\n * EVM contract configurations.\n */\n\nimport { LOCKUP_EVM_LL, LOCKUP_EVM_LL_V2, LOCKUP_SOLANA_LL } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Basic linear vesting.\n * Tokens vest continuously from start to end timestamp.\n */\nexport const linear = defineLockupShape(Shape.Lockup.Linear, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear vesting with cliff.\n * No tokens vest until cliff, then linear vesting from cliff to end.\n */\nexport const cliff = defineLockupShape(Shape.Lockup.Cliff, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly.\n */\nexport const linearUnlockLinear = defineLockupShape(Shape.Lockup.LinearUnlockLinear, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder vests after cliff.\n */\nexport const linearUnlockCliff = defineLockupShape(Shape.Lockup.LinearUnlockCliff, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear timelock.\n * All tokens unlock at a specific timestamp (no gradual vesting).\n */\nexport const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Timelock\",\n solana: LOCKUP_SOLANA_LL,\n});\n"]}
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":";;;AAOA,kDAKyB;AACzB,0CAAoC;AACpC,0CAAgD;AAMnC,QAAA,MAAM,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AAMU,QAAA,KAAK,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IACzD,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AAMU,QAAA,kBAAkB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AAMU,QAAA,iBAAiB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;IACjF,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC;AASU,QAAA,aAAa,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,aAAa,EAAE;IACzE,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,gBAAgB;CACvB,CAAC,CAAC;AAMU,QAAA,cAAc,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,+BAAgB;CACzB,CAAC,CAAC","sourcesContent":["/**\n * Linear-based (LL) lockup shapes.\n *\n * These shapes use the LockupLinear contract family and share common\n * EVM contract configurations.\n */\n\nimport {\n LOCKUP_EVM_LL,\n LOCKUP_EVM_LL_V2,\n LOCKUP_EVM_LL_V4,\n LOCKUP_SOLANA_LL,\n} from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Basic linear vesting.\n * Tokens vest continuously from start to end timestamp.\n */\nexport const linear = defineLockupShape(Shape.Lockup.Linear, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear vesting with cliff.\n * No tokens vest until cliff, then linear vesting from cliff to end.\n */\nexport const cliff = defineLockupShape(Shape.Lockup.Cliff, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly.\n */\nexport const linearUnlockLinear = defineLockupShape(Shape.Lockup.LinearUnlockLinear, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder vests after cliff.\n */\nexport const linearUnlockCliff = defineLockupShape(Shape.Lockup.LinearUnlockCliff, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Step-based vesting via linear granularity.\n * Tokens vest in discrete steps at regular intervals using LockupLinear with granularity.\n *\n * @remarks\n * Replaces {@link tranchedStepper} by leveraging the granularity feature introduced in Lockup v4.0.\n */\nexport const linearStepper = defineLockupShape(Shape.Lockup.LinearStepper, {\n evm: LOCKUP_EVM_LL_V4,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Stepper\",\n});\n\n/**\n * Linear timelock.\n * All tokens unlock at a specific timestamp (no gradual vesting).\n */\nexport const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Timelock\",\n solana: LOCKUP_SOLANA_LL,\n});\n"]}
@@ -7,7 +7,7 @@ const types_js_1 = require("../types.js");
7
7
  exports.tranchedStepper = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.TranchedStepper, {
8
8
  evm: constants_js_1.LOCKUP_EVM_LT,
9
9
  hasPredictableGas: false,
10
- isDeprecated: false,
10
+ isDeprecated: true,
11
11
  name: "Tranched Stepper",
12
12
  });
13
13
  exports.tranchedMonthly = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.TranchedMonthly, {
@@ -1 +1 @@
1
- {"version":3,"file":"tranched.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":";;;AAUA,kDAAgD;AAChD,0CAAoC;AACpC,0CAAgD;AAMnC,QAAA,eAAe,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMU,QAAA,eAAe,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMU,QAAA,gBAAgB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC/E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAMU,QAAA,oBAAoB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE;IACvF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Tranched-style lockup shapes.\n *\n * These shapes use the LockupTranched (LT) contract family with discrete\n * tranche-based unlocks.\n *\n * @remarks\n * LockupTranched was introduced in v1.2 (July 2024).\n */\n\nimport { LOCKUP_EVM_LT } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Step-based vesting via tranches.\n * Tokens unlock in discrete steps at regular intervals.\n */\nexport const tranchedStepper = defineLockupShape(Shape.Lockup.TranchedStepper, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Monthly vesting via tranches.\n * Tokens unlock monthly.\n */\nexport const tranchedMonthly = defineLockupShape(Shape.Lockup.TranchedMonthly, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Monthly\",\n});\n\n/**\n * Tranched timelock.\n * All tokens unlock at a specific timestamp via a single tranche.\n */\nexport const tranchedTimelock = defineLockupShape(Shape.Lockup.TranchedTimelock, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Tranched Timelock\",\n});\n\n/**\n * Backweighted tranches.\n * Larger amounts unlock toward the end of the schedule.\n */\nexport const tranchedBackweighted = defineLockupShape(Shape.Lockup.TranchedBackweighted, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Backweighted\",\n});\n"]}
1
+ {"version":3,"file":"tranched.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":";;;AAUA,kDAAgD;AAChD,0CAAoC;AACpC,0CAAgD;AAUnC,QAAA,eAAe,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMU,QAAA,eAAe,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMU,QAAA,gBAAgB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC/E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAMU,QAAA,oBAAoB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE;IACvF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Tranched-style lockup shapes.\n *\n * These shapes use the LockupTranched (LT) contract family with discrete\n * tranche-based unlocks.\n *\n * @remarks\n * LockupTranched was introduced in v1.2 (July 2024).\n */\n\nimport { LOCKUP_EVM_LT } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Step-based vesting via tranches.\n * Tokens unlock in discrete steps at regular intervals.\n *\n * @remarks\n * Deprecated in favor of {@link linearStepper}, which uses LockupLinear with the\n * granularity feature introduced in Lockup v4.0.\n */\nexport const tranchedStepper = defineLockupShape(Shape.Lockup.TranchedStepper, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: true,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Monthly vesting via tranches.\n * Tokens unlock monthly.\n */\nexport const tranchedMonthly = defineLockupShape(Shape.Lockup.TranchedMonthly, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Monthly\",\n});\n\n/**\n * Tranched timelock.\n * All tokens unlock at a specific timestamp via a single tranche.\n */\nexport const tranchedTimelock = defineLockupShape(Shape.Lockup.TranchedTimelock, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Tranched Timelock\",\n});\n\n/**\n * Backweighted tranches.\n * Larger amounts unlock toward the end of the schedule.\n */\nexport const tranchedBackweighted = defineLockupShape(Shape.Lockup.TranchedBackweighted, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Backweighted\",\n});\n"]}
@@ -14,6 +14,9 @@ export const LOCKUP_EVM_LL_V2 = [
14
14
  { contract: "SablierLockup", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },
15
15
  { contract: "SablierLockup", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },
16
16
  ];
17
+ export const LOCKUP_EVM_LL_V4 = [
18
+ { contract: "SablierLockup", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },
19
+ ];
17
20
  export const LOCKUP_SOLANA_LL = [
18
21
  {
19
22
  createMethods: ["create_with_durations_ll", "create_with_timestamps_ll"],
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shapes/constants.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared EVM and Solana contract configurations for shape definitions.\n *\n * These constants eliminate code duplication across shape files by providing\n * reusable contract/method mappings organized by lockup type (LL, LD, LT).\n *\n * @remarks\n * Arrays are marked `as const` for type safety. Consumers should treat them\n * as read-only - do not mutate `shape.evm` or `createMethods` arrays.\n */\n\nimport { Version } from \"@/src/evm/enums.js\";\nimport type { ContractMethod, ProgramMethod } from \"./types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP LINEAR (LL) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LL_METHODS = [\"createWithDurationsLL\", \"createWithTimestampsLL\"] as const;\nconst LL_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Linear contracts - full version history */\nexport const LOCKUP_EVM_LL = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_2 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_1 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v2.0+ only */\nexport const LOCKUP_EVM_LL_V2 = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Lockup Linear program */\nexport const LOCKUP_SOLANA_LL = [\n {\n createMethods: [\"create_with_durations_ll\", \"create_with_timestamps_ll\"],\n program: \"SablierLockupLinear\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP DYNAMIC (LD) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LD_METHODS = [\"createWithDurationsLD\", \"createWithTimestampsLD\"] as const;\nconst LD_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Dynamic contracts - full version history */\nexport const LOCKUP_EVM_LD = [\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_1,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP TRANCHED (LT) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LT_METHODS = [\"createWithDurationsLT\", \"createWithTimestampsLT\"] as const;\nconst LT_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Tranched contracts - v1.2+ only (LT introduced in v1.2) */\nexport const LOCKUP_EVM_LT = [\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupTranched\",\n createMethods: LT_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* FLOW CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Flow contracts - v1.0 through v3.0 */\nexport const FLOW_EVM = [\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V3_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V2_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_1,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* AIRDROP CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Airdrop Instant factory contracts - v1.3+ */\nexport const AIRDROP_EVM_INSTANT = [\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V1_3,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Airdrop Instant program */\nexport const AIRDROP_SOLANA_INSTANT = [\n {\n createMethods: [\"create_campaign\"],\n program: \"SablierMerkleInstant\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/** Airdrop Linear (LL) factory contracts - full history */\nexport const AIRDROP_EVM_LL = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_2,\n },\n {\n contract: \"SablierV2MerkleStreamerFactory\",\n createMethods: [\"createMerkleStreamerLL\"],\n version: Version.Airdrops.V1_1,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Linear (LL) factory contracts - v2.0+ only */\nexport const AIRDROP_EVM_LL_V2 = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop VCA factory contracts - v2.0+ */\nexport const AIRDROP_EVM_VCA = [\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Tranched (LT) factory contracts - v1.2+ */\nexport const AIRDROP_EVM_LT = [\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shapes/constants.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared EVM and Solana contract configurations for shape definitions.\n *\n * These constants eliminate code duplication across shape files by providing\n * reusable contract/method mappings organized by lockup type (LL, LD, LT).\n *\n * @remarks\n * Arrays are marked `as const` for type safety. Consumers should treat them\n * as read-only - do not mutate `shape.evm` or `createMethods` arrays.\n */\n\nimport { Version } from \"@/src/evm/enums.js\";\nimport type { ContractMethod, ProgramMethod } from \"./types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP LINEAR (LL) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LL_METHODS = [\"createWithDurationsLL\", \"createWithTimestampsLL\"] as const;\nconst LL_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Linear contracts - full version history */\nexport const LOCKUP_EVM_LL = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_2 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_1 },\n { contract: \"SablierV2LockupLinear\", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v2.0+ only */\nexport const LOCKUP_EVM_LL_V2 = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V2_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v4.0+ only (granularity feature) */\nexport const LOCKUP_EVM_LL_V4 = [\n { contract: \"SablierLockup\", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Lockup Linear program */\nexport const LOCKUP_SOLANA_LL = [\n {\n createMethods: [\"create_with_durations_ll\", \"create_with_timestamps_ll\"],\n program: \"SablierLockupLinear\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP DYNAMIC (LD) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LD_METHODS = [\"createWithDurationsLD\", \"createWithTimestampsLD\"] as const;\nconst LD_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Dynamic contracts - full version history */\nexport const LOCKUP_EVM_LD = [\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LD_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_1,\n },\n {\n contract: \"SablierV2LockupDynamic\",\n createMethods: LD_V1_METHODS,\n version: Version.Lockup.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* LOCKUP TRANCHED (LT) CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\nconst LT_METHODS = [\"createWithDurationsLT\", \"createWithTimestampsLT\"] as const;\nconst LT_V1_METHODS = [\"createWithDurations\", \"createWithTimestamps\"] as const;\n\n/** Lockup Tranched contracts - v1.2+ only (LT introduced in v1.2) */\nexport const LOCKUP_EVM_LT = [\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V4_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V3_0 },\n { contract: \"SablierLockup\", createMethods: LT_METHODS, version: Version.Lockup.V2_0 },\n {\n contract: \"SablierV2LockupTranched\",\n createMethods: LT_V1_METHODS,\n version: Version.Lockup.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* FLOW CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Flow contracts - v1.0 through v3.0 */\nexport const FLOW_EVM = [\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V3_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V2_0,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_1,\n },\n {\n contract: \"SablierFlow\",\n createMethods: [\"create\", \"createAndDeposit\"],\n version: Version.Flow.V1_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/* -------------------------------------------------------------------------- */\n/* AIRDROP CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Airdrop Instant factory contracts - v1.3+ */\nexport const AIRDROP_EVM_INSTANT = [\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleInstant\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleInstant\"],\n version: Version.Airdrops.V1_3,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Solana Airdrop Instant program */\nexport const AIRDROP_SOLANA_INSTANT = [\n {\n createMethods: [\"create_campaign\"],\n program: \"SablierMerkleInstant\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/** Airdrop Linear (LL) factory contracts - full history */\nexport const AIRDROP_EVM_LL = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V1_2,\n },\n {\n contract: \"SablierV2MerkleStreamerFactory\",\n createMethods: [\"createMerkleStreamerLL\"],\n version: Version.Airdrops.V1_1,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Linear (LL) factory contracts - v2.0+ only */\nexport const AIRDROP_EVM_LL_V2 = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop VCA factory contracts - v2.0+ */\nexport const AIRDROP_EVM_VCA = [\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleVCA\",\n createMethods: [\"createMerkleVCA\"],\n version: Version.Airdrops.V2_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrop Tranched (LT) factory contracts - v1.2+ */\nexport const AIRDROP_EVM_LT = [\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V3_0,\n },\n {\n contract: \"SablierFactoryMerkleLT\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V2_0,\n },\n {\n contract: \"SablierMerkleFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_3,\n },\n {\n contract: \"SablierV2MerkleLockupFactory\",\n createMethods: [\"createMerkleLT\"],\n version: Version.Airdrops.V1_2,\n },\n] as const satisfies readonly ContractMethod[];\n"]}
@@ -12,6 +12,7 @@ export var Shape;
12
12
  Lockup["TranchedTimelock"] = "tranchedTimelock";
13
13
  Lockup["LinearUnlockLinear"] = "linearUnlockLinear";
14
14
  Lockup["LinearUnlockCliff"] = "linearUnlockCliff";
15
+ Lockup["LinearStepper"] = "linearStepper";
15
16
  Lockup["LinearTimelock"] = "linearTimelock";
16
17
  Lockup["DynamicTimelock"] = "dynamicTimelock";
17
18
  Lockup["DynamicMonthly"] = "dynamicMonthly";
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,KAAK,CAkCrB;AAlCD,WAAiB,KAAK;IACpB,IAAY,MAkBX;IAlBD,WAAY,MAAM;QAChB,2BAAiB,CAAA;QACjB,yBAAe,CAAA;QACf,6DAAmD,CAAA;QACnD,mDAAyC,CAAA;QACzC,uDAA6C,CAAA;QAC7C,6CAAmC,CAAA;QACnC,6CAAmC,CAAA;QACnC,+CAAqC,CAAA;QACrC,mDAAyC,CAAA;QACzC,iDAAuC,CAAA;QACvC,2CAAiC,CAAA;QACjC,6CAAmC,CAAA;QACnC,2CAAiC,CAAA;QACjC,2CAAiC,CAAA;QACjC,mDAAyC,CAAA;QACzC,qDAA2C,CAAA;QAC3C,qDAA2C,CAAA;IAC7C,CAAC,EAlBW,MAAM,GAAN,YAAM,KAAN,YAAM,QAkBjB;IAED,IAAY,IAEX;IAFD,WAAY,IAAI;QACd,qBAAa,CAAA;IACf,CAAC,EAFW,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAEf;IAED,IAAY,QAQX;IARD,WAAY,QAAQ;QAClB,+BAAmB,CAAA;QACnB,6BAAiB,CAAA;QACjB,2BAAe,CAAA;QACf,qDAAyC,CAAA;QACzC,mDAAuC,CAAA;QACvC,+CAAmC,CAAA;QACnC,uDAA2C,CAAA;IAC7C,CAAC,EARW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAQnB;AACH,CAAC,EAlCgB,KAAK,KAAL,KAAK,QAkCrB","sourcesContent":["export namespace Shape {\n export enum Lockup {\n Linear = \"linear\",\n Cliff = \"cliff\",\n DynamicCliffExponential = \"dynamicCliffExponential\",\n DynamicExponential = \"dynamicExponential\",\n TranchedBackweighted = \"tranchedBackweighted\",\n TranchedStepper = \"tranchedStepper\",\n TranchedMonthly = \"tranchedMonthly\",\n TranchedTimelock = \"tranchedTimelock\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n LinearTimelock = \"linearTimelock\",\n DynamicTimelock = \"dynamicTimelock\",\n DynamicMonthly = \"dynamicMonthly\",\n DynamicStepper = \"dynamicStepper\",\n DynamicUnlockCliff = \"dynamicUnlockCliff\",\n DynamicUnlockLinear = \"dynamicUnlockLinear\",\n DynamicDoubleUnlock = \"dynamicDoubleUnlock\",\n }\n\n export enum Flow {\n Flow = \"flow\",\n }\n\n export enum Airdrops {\n Instant = \"instant\",\n Linear = \"linear\",\n Cliff = \"cliff\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n TranchedStepper = \"tranchedStepper\",\n VariableClaimAmount = \"variableClaimAmount\",\n }\n}\n"]}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,KAAK,CAmCrB;AAnCD,WAAiB,KAAK;IACpB,IAAY,MAmBX;IAnBD,WAAY,MAAM;QAChB,2BAAiB,CAAA;QACjB,yBAAe,CAAA;QACf,6DAAmD,CAAA;QACnD,mDAAyC,CAAA;QACzC,uDAA6C,CAAA;QAC7C,6CAAmC,CAAA;QACnC,6CAAmC,CAAA;QACnC,+CAAqC,CAAA;QACrC,mDAAyC,CAAA;QACzC,iDAAuC,CAAA;QACvC,yCAA+B,CAAA;QAC/B,2CAAiC,CAAA;QACjC,6CAAmC,CAAA;QACnC,2CAAiC,CAAA;QACjC,2CAAiC,CAAA;QACjC,mDAAyC,CAAA;QACzC,qDAA2C,CAAA;QAC3C,qDAA2C,CAAA;IAC7C,CAAC,EAnBW,MAAM,GAAN,YAAM,KAAN,YAAM,QAmBjB;IAED,IAAY,IAEX;IAFD,WAAY,IAAI;QACd,qBAAa,CAAA;IACf,CAAC,EAFW,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAEf;IAED,IAAY,QAQX;IARD,WAAY,QAAQ;QAClB,+BAAmB,CAAA;QACnB,6BAAiB,CAAA;QACjB,2BAAe,CAAA;QACf,qDAAyC,CAAA;QACzC,mDAAuC,CAAA;QACvC,+CAAmC,CAAA;QACnC,uDAA2C,CAAA;IAC7C,CAAC,EARW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAQnB;AACH,CAAC,EAnCgB,KAAK,KAAL,KAAK,QAmCrB","sourcesContent":["export namespace Shape {\n export enum Lockup {\n Linear = \"linear\",\n Cliff = \"cliff\",\n DynamicCliffExponential = \"dynamicCliffExponential\",\n DynamicExponential = \"dynamicExponential\",\n TranchedBackweighted = \"tranchedBackweighted\",\n TranchedStepper = \"tranchedStepper\",\n TranchedMonthly = \"tranchedMonthly\",\n TranchedTimelock = \"tranchedTimelock\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n LinearStepper = \"linearStepper\",\n LinearTimelock = \"linearTimelock\",\n DynamicTimelock = \"dynamicTimelock\",\n DynamicMonthly = \"dynamicMonthly\",\n DynamicStepper = \"dynamicStepper\",\n DynamicUnlockCliff = \"dynamicUnlockCliff\",\n DynamicUnlockLinear = \"dynamicUnlockLinear\",\n DynamicDoubleUnlock = \"dynamicDoubleUnlock\",\n }\n\n export enum Flow {\n Flow = \"flow\",\n }\n\n export enum Airdrops {\n Instant = \"instant\",\n Linear = \"linear\",\n Cliff = \"cliff\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n TranchedStepper = \"tranchedStepper\",\n VariableClaimAmount = \"variableClaimAmount\",\n }\n}\n"]}
@@ -13,6 +13,7 @@ export const lockupShapes = {
13
13
  [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,
14
14
  [Shape.Lockup.Cliff]: linear.cliff,
15
15
  [Shape.Lockup.Linear]: linear.linear,
16
+ [Shape.Lockup.LinearStepper]: linear.linearStepper,
16
17
  [Shape.Lockup.LinearTimelock]: linear.linearTimelock,
17
18
  [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,
18
19
  [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAM1C,MAAM,CAAC,MAAM,YAAY,GAAG;IAI1B,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB;IACvE,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAC/D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe;IACvD,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAI/D,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAClC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM;IACpC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc;IACpD,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,iBAAiB;IAC1D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,kBAAkB;IAI5D,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,oBAAoB;IAClE,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB;CAC9B,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC","sourcesContent":["/**\n * Lockup shapes aggregation module.\n *\n * Re-exports all lockup shapes organized by curve type and provides\n * the combined lockupShapes record.\n */\n\nimport { Shape } from \"../enums.js\";\nimport type { LockupShapesRecord } from \"../types.js\";\nimport * as dynamic from \"./dynamic.js\";\nimport * as linear from \"./linear.js\";\nimport * as tranched from \"./tranched.js\";\n\n/**\n * All lockup shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency. Please maintain this order.\n */\nexport const lockupShapes = {\n /* -------------------------------------------------------------------------- */\n /* DYNAMIC */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.DynamicCliffExponential]: dynamic.dynamicCliffExponential,\n [Shape.Lockup.DynamicDoubleUnlock]: dynamic.dynamicDoubleUnlock,\n [Shape.Lockup.DynamicExponential]: dynamic.dynamicExponential,\n [Shape.Lockup.DynamicMonthly]: dynamic.dynamicMonthly,\n [Shape.Lockup.DynamicStepper]: dynamic.dynamicStepper,\n [Shape.Lockup.DynamicTimelock]: dynamic.dynamicTimelock,\n [Shape.Lockup.DynamicUnlockCliff]: dynamic.dynamicUnlockCliff,\n [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* LINEAR */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.Cliff]: linear.cliff,\n [Shape.Lockup.Linear]: linear.linear,\n [Shape.Lockup.LinearTimelock]: linear.linearTimelock,\n [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,\n [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* TRANCHED */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.TranchedBackweighted]: tranched.tranchedBackweighted,\n [Shape.Lockup.TranchedMonthly]: tranched.tranchedMonthly,\n [Shape.Lockup.TranchedStepper]: tranched.tranchedStepper,\n [Shape.Lockup.TranchedTimelock]: tranched.tranchedTimelock,\n} satisfies LockupShapesRecord;\n\n// Re-export individual shapes for direct imports\nexport * from \"./dynamic.js\";\nexport * from \"./linear.js\";\nexport * from \"./tranched.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAM1C,MAAM,CAAC,MAAM,YAAY,GAAG;IAI1B,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB;IACvE,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAC/D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe;IACvD,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAI/D,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAClC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM;IACpC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,aAAa;IAClD,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc;IACpD,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,iBAAiB;IAC1D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,kBAAkB;IAI5D,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,oBAAoB;IAClE,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB;CAC9B,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC","sourcesContent":["/**\n * Lockup shapes aggregation module.\n *\n * Re-exports all lockup shapes organized by curve type and provides\n * the combined lockupShapes record.\n */\n\nimport { Shape } from \"../enums.js\";\nimport type { LockupShapesRecord } from \"../types.js\";\nimport * as dynamic from \"./dynamic.js\";\nimport * as linear from \"./linear.js\";\nimport * as tranched from \"./tranched.js\";\n\n/**\n * All lockup shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency. Please maintain this order.\n */\nexport const lockupShapes = {\n /* -------------------------------------------------------------------------- */\n /* DYNAMIC */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.DynamicCliffExponential]: dynamic.dynamicCliffExponential,\n [Shape.Lockup.DynamicDoubleUnlock]: dynamic.dynamicDoubleUnlock,\n [Shape.Lockup.DynamicExponential]: dynamic.dynamicExponential,\n [Shape.Lockup.DynamicMonthly]: dynamic.dynamicMonthly,\n [Shape.Lockup.DynamicStepper]: dynamic.dynamicStepper,\n [Shape.Lockup.DynamicTimelock]: dynamic.dynamicTimelock,\n [Shape.Lockup.DynamicUnlockCliff]: dynamic.dynamicUnlockCliff,\n [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* LINEAR */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.Cliff]: linear.cliff,\n [Shape.Lockup.Linear]: linear.linear,\n [Shape.Lockup.LinearStepper]: linear.linearStepper,\n [Shape.Lockup.LinearTimelock]: linear.linearTimelock,\n [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,\n [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* TRANCHED */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.TranchedBackweighted]: tranched.tranchedBackweighted,\n [Shape.Lockup.TranchedMonthly]: tranched.tranchedMonthly,\n [Shape.Lockup.TranchedStepper]: tranched.tranchedStepper,\n [Shape.Lockup.TranchedTimelock]: tranched.tranchedTimelock,\n} satisfies LockupShapesRecord;\n\n// Re-export individual shapes for direct imports\nexport * from \"./dynamic.js\";\nexport * from \"./linear.js\";\nexport * from \"./tranched.js\";\n"]}
@@ -1,4 +1,4 @@
1
- import { LOCKUP_EVM_LL, LOCKUP_EVM_LL_V2, LOCKUP_SOLANA_LL } from "../constants.js";
1
+ import { LOCKUP_EVM_LL, LOCKUP_EVM_LL_V2, LOCKUP_EVM_LL_V4, LOCKUP_SOLANA_LL, } from "../constants.js";
2
2
  import { Shape } from "../enums.js";
3
3
  import { defineLockupShape } from "../types.js";
4
4
  export const linear = defineLockupShape(Shape.Lockup.Linear, {
@@ -29,6 +29,12 @@ export const linearUnlockCliff = defineLockupShape(Shape.Lockup.LinearUnlockClif
29
29
  name: "Linear Unlock Cliff",
30
30
  solana: LOCKUP_SOLANA_LL,
31
31
  });
32
+ export const linearStepper = defineLockupShape(Shape.Lockup.LinearStepper, {
33
+ evm: LOCKUP_EVM_LL_V4,
34
+ hasPredictableGas: true,
35
+ isDeprecated: false,
36
+ name: "Linear Stepper",
37
+ });
32
38
  export const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {
33
39
  evm: LOCKUP_EVM_LL_V2,
34
40
  hasPredictableGas: true,
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IACzD,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;IACjF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC","sourcesContent":["/**\n * Linear-based (LL) lockup shapes.\n *\n * These shapes use the LockupLinear contract family and share common\n * EVM contract configurations.\n */\n\nimport { LOCKUP_EVM_LL, LOCKUP_EVM_LL_V2, LOCKUP_SOLANA_LL } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Basic linear vesting.\n * Tokens vest continuously from start to end timestamp.\n */\nexport const linear = defineLockupShape(Shape.Lockup.Linear, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear vesting with cliff.\n * No tokens vest until cliff, then linear vesting from cliff to end.\n */\nexport const cliff = defineLockupShape(Shape.Lockup.Cliff, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly.\n */\nexport const linearUnlockLinear = defineLockupShape(Shape.Lockup.LinearUnlockLinear, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder vests after cliff.\n */\nexport const linearUnlockCliff = defineLockupShape(Shape.Lockup.LinearUnlockCliff, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear timelock.\n * All tokens unlock at a specific timestamp (no gradual vesting).\n */\nexport const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Timelock\",\n solana: LOCKUP_SOLANA_LL,\n});\n"]}
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IACzD,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;IACjF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AASH,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE;IACzE,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,gBAAgB;CACvB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC","sourcesContent":["/**\n * Linear-based (LL) lockup shapes.\n *\n * These shapes use the LockupLinear contract family and share common\n * EVM contract configurations.\n */\n\nimport {\n LOCKUP_EVM_LL,\n LOCKUP_EVM_LL_V2,\n LOCKUP_EVM_LL_V4,\n LOCKUP_SOLANA_LL,\n} from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Basic linear vesting.\n * Tokens vest continuously from start to end timestamp.\n */\nexport const linear = defineLockupShape(Shape.Lockup.Linear, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear vesting with cliff.\n * No tokens vest until cliff, then linear vesting from cliff to end.\n */\nexport const cliff = defineLockupShape(Shape.Lockup.Cliff, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly.\n */\nexport const linearUnlockLinear = defineLockupShape(Shape.Lockup.LinearUnlockLinear, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder vests after cliff.\n */\nexport const linearUnlockCliff = defineLockupShape(Shape.Lockup.LinearUnlockCliff, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Step-based vesting via linear granularity.\n * Tokens vest in discrete steps at regular intervals using LockupLinear with granularity.\n *\n * @remarks\n * Replaces {@link tranchedStepper} by leveraging the granularity feature introduced in Lockup v4.0.\n */\nexport const linearStepper = defineLockupShape(Shape.Lockup.LinearStepper, {\n evm: LOCKUP_EVM_LL_V4,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Stepper\",\n});\n\n/**\n * Linear timelock.\n * All tokens unlock at a specific timestamp (no gradual vesting).\n */\nexport const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Timelock\",\n solana: LOCKUP_SOLANA_LL,\n});\n"]}
@@ -4,7 +4,7 @@ import { defineLockupShape } from "../types.js";
4
4
  export const tranchedStepper = defineLockupShape(Shape.Lockup.TranchedStepper, {
5
5
  evm: LOCKUP_EVM_LT,
6
6
  hasPredictableGas: false,
7
- isDeprecated: false,
7
+ isDeprecated: true,
8
8
  name: "Tranched Stepper",
9
9
  });
10
10
  export const tranchedMonthly = defineLockupShape(Shape.Lockup.TranchedMonthly, {
@@ -1 +1 @@
1
- {"version":3,"file":"tranched.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC/E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE;IACvF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Tranched-style lockup shapes.\n *\n * These shapes use the LockupTranched (LT) contract family with discrete\n * tranche-based unlocks.\n *\n * @remarks\n * LockupTranched was introduced in v1.2 (July 2024).\n */\n\nimport { LOCKUP_EVM_LT } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Step-based vesting via tranches.\n * Tokens unlock in discrete steps at regular intervals.\n */\nexport const tranchedStepper = defineLockupShape(Shape.Lockup.TranchedStepper, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Monthly vesting via tranches.\n * Tokens unlock monthly.\n */\nexport const tranchedMonthly = defineLockupShape(Shape.Lockup.TranchedMonthly, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Monthly\",\n});\n\n/**\n * Tranched timelock.\n * All tokens unlock at a specific timestamp via a single tranche.\n */\nexport const tranchedTimelock = defineLockupShape(Shape.Lockup.TranchedTimelock, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Tranched Timelock\",\n});\n\n/**\n * Backweighted tranches.\n * Larger amounts unlock toward the end of the schedule.\n */\nexport const tranchedBackweighted = defineLockupShape(Shape.Lockup.TranchedBackweighted, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Backweighted\",\n});\n"]}
1
+ {"version":3,"file":"tranched.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUhD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC/E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE;IACvF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Tranched-style lockup shapes.\n *\n * These shapes use the LockupTranched (LT) contract family with discrete\n * tranche-based unlocks.\n *\n * @remarks\n * LockupTranched was introduced in v1.2 (July 2024).\n */\n\nimport { LOCKUP_EVM_LT } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Step-based vesting via tranches.\n * Tokens unlock in discrete steps at regular intervals.\n *\n * @remarks\n * Deprecated in favor of {@link linearStepper}, which uses LockupLinear with the\n * granularity feature introduced in Lockup v4.0.\n */\nexport const tranchedStepper = defineLockupShape(Shape.Lockup.TranchedStepper, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: true,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Monthly vesting via tranches.\n * Tokens unlock monthly.\n */\nexport const tranchedMonthly = defineLockupShape(Shape.Lockup.TranchedMonthly, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Monthly\",\n});\n\n/**\n * Tranched timelock.\n * All tokens unlock at a specific timestamp via a single tranche.\n */\nexport const tranchedTimelock = defineLockupShape(Shape.Lockup.TranchedTimelock, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Tranched Timelock\",\n});\n\n/**\n * Backweighted tranches.\n * Larger amounts unlock toward the end of the schedule.\n */\nexport const tranchedBackweighted = defineLockupShape(Shape.Lockup.TranchedBackweighted, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Backweighted\",\n});\n"]}
@@ -37,6 +37,11 @@ export declare const LOCKUP_EVM_LL_V2: readonly [{
37
37
  readonly createMethods: readonly ["createWithDurationsLL", "createWithTimestampsLL"];
38
38
  readonly version: Version.Lockup.V2_0;
39
39
  }];
40
+ export declare const LOCKUP_EVM_LL_V4: readonly [{
41
+ readonly contract: "SablierLockup";
42
+ readonly createMethods: readonly ["createWithDurationsLL", "createWithTimestampsLL"];
43
+ readonly version: Version.Lockup.V4_0;
44
+ }];
40
45
  export declare const LOCKUP_SOLANA_LL: readonly [{
41
46
  readonly createMethods: readonly ["create_with_durations_ll", "create_with_timestamps_ll"];
42
47
  readonly program: "SablierLockupLinear";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/shapes/constants.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAOoB,CAAC;AAG/C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAIiB,CAAC;AAG/C,eAAO,MAAM,gBAAgB;;;;EAMgB,CAAC;AAU9C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAmBoB,CAAC;AAU/C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;EASoB,CAAC;AAO/C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;EAqByB,CAAC;AAO/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAgBc,CAAC;AAG/C,eAAO,MAAM,sBAAsB;;;;EAMU,CAAC;AAG9C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;EA0BmB,CAAC;AAG/C,eAAO,MAAM,iBAAiB;;;;;;;;EAWgB,CAAC;AAG/C,eAAO,MAAM,eAAe;;;;;;;;EAWkB,CAAC;AAG/C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAqBmB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/shapes/constants.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAOoB,CAAC;AAG/C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAIiB,CAAC;AAG/C,eAAO,MAAM,gBAAgB;;;;EAEiB,CAAC;AAG/C,eAAO,MAAM,gBAAgB;;;;EAMgB,CAAC;AAU9C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAmBoB,CAAC;AAU/C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;EASoB,CAAC;AAO/C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;EAqByB,CAAC;AAO/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAgBc,CAAC;AAG/C,eAAO,MAAM,sBAAsB;;;;EAMU,CAAC;AAG9C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;EA0BmB,CAAC;AAG/C,eAAO,MAAM,iBAAiB;;;;;;;;EAWgB,CAAC;AAG/C,eAAO,MAAM,eAAe;;;;;;;;EAWkB,CAAC;AAG/C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAqBmB,CAAC"}
@@ -10,6 +10,7 @@ export declare namespace Shape {
10
10
  TranchedTimelock = "tranchedTimelock",
11
11
  LinearUnlockLinear = "linearUnlockLinear",
12
12
  LinearUnlockCliff = "linearUnlockCliff",
13
+ LinearStepper = "linearStepper",
13
14
  LinearTimelock = "linearTimelock",
14
15
  DynamicTimelock = "dynamicTimelock",
15
16
  DynamicMonthly = "dynamicMonthly",
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":"AAAA,yBAAiB,KAAK,CAAC;IACrB,KAAY,MAAM;QAChB,MAAM,WAAW;QACjB,KAAK,UAAU;QACf,uBAAuB,4BAA4B;QACnD,kBAAkB,uBAAuB;QACzC,oBAAoB,yBAAyB;QAC7C,eAAe,oBAAoB;QACnC,eAAe,oBAAoB;QACnC,gBAAgB,qBAAqB;QACrC,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;QACvC,cAAc,mBAAmB;QACjC,eAAe,oBAAoB;QACnC,cAAc,mBAAmB;QACjC,cAAc,mBAAmB;QACjC,kBAAkB,uBAAuB;QACzC,mBAAmB,wBAAwB;QAC3C,mBAAmB,wBAAwB;KAC5C;IAED,KAAY,IAAI;QACd,IAAI,SAAS;KACd;IAED,KAAY,QAAQ;QAClB,OAAO,YAAY;QACnB,MAAM,WAAW;QACjB,KAAK,UAAU;QACf,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;QACvC,eAAe,oBAAoB;QACnC,mBAAmB,wBAAwB;KAC5C;CACF"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":"AAAA,yBAAiB,KAAK,CAAC;IACrB,KAAY,MAAM;QAChB,MAAM,WAAW;QACjB,KAAK,UAAU;QACf,uBAAuB,4BAA4B;QACnD,kBAAkB,uBAAuB;QACzC,oBAAoB,yBAAyB;QAC7C,eAAe,oBAAoB;QACnC,eAAe,oBAAoB;QACnC,gBAAgB,qBAAqB;QACrC,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;QACvC,aAAa,kBAAkB;QAC/B,cAAc,mBAAmB;QACjC,eAAe,oBAAoB;QACnC,cAAc,mBAAmB;QACjC,cAAc,mBAAmB;QACjC,kBAAkB,uBAAuB;QACzC,mBAAmB,wBAAwB;QAC3C,mBAAmB,wBAAwB;KAC5C;IAED,KAAY,IAAI;QACd,IAAI,SAAS;KACd;IAED,KAAY,QAAQ;QAClB,OAAO,YAAY;QACnB,MAAM,WAAW;QACjB,KAAK,UAAU;QACf,kBAAkB,uBAAuB;QACzC,iBAAiB,sBAAsB;QACvC,eAAe,oBAAoB;QACnC,mBAAmB,wBAAwB;KAC5C;CACF"}
@@ -28,6 +28,7 @@ export declare const shapes: {
28
28
  dynamicUnlockLinear: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.DynamicUnlockLinear>;
29
29
  cliff: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.Cliff>;
30
30
  linear: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.Linear>;
31
+ linearStepper: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearStepper>;
31
32
  linearTimelock: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearTimelock>;
32
33
  linearUnlockCliff: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearUnlockCliff>;
33
34
  linearUnlockLinear: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearUnlockLinear>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shapes/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,YAAY,CAAC;AAG3B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shapes/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,YAAY,CAAC;AAG3B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC"}
@@ -10,6 +10,7 @@ export declare const lockupShapes: {
10
10
  dynamicUnlockLinear: import("../types.js").LockupShapeDefinition<Shape.Lockup.DynamicUnlockLinear>;
11
11
  cliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.Cliff>;
12
12
  linear: import("../types.js").LockupShapeDefinition<Shape.Lockup.Linear>;
13
+ linearStepper: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearStepper>;
13
14
  linearTimelock: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearTimelock>;
14
15
  linearUnlockCliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockCliff>;
15
16
  linearUnlockLinear: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockLinear>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;CA2BK,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CA4BK,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -3,5 +3,6 @@ export declare const linear: import("../types.js").LockupShapeDefinition<Shape.L
3
3
  export declare const cliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.Cliff>;
4
4
  export declare const linearUnlockLinear: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockLinear>;
5
5
  export declare const linearUnlockCliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockCliff>;
6
+ export declare const linearStepper: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearStepper>;
6
7
  export declare const linearTimelock: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearTimelock>;
7
8
  //# sourceMappingURL=linear.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,eAAO,MAAM,MAAM,kEAMjB,CAAC;AAMH,eAAO,MAAM,KAAK,iEAMhB,CAAC;AAMH,eAAO,MAAM,kBAAkB,8EAM7B,CAAC;AAMH,eAAO,MAAM,iBAAiB,6EAM5B,CAAC;AAMH,eAAO,MAAM,cAAc,0EAMzB,CAAC"}
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,eAAO,MAAM,MAAM,kEAMjB,CAAC;AAMH,eAAO,MAAM,KAAK,iEAMhB,CAAC;AAMH,eAAO,MAAM,kBAAkB,8EAM7B,CAAC;AAMH,eAAO,MAAM,iBAAiB,6EAM5B,CAAC;AASH,eAAO,MAAM,aAAa,yEAKxB,CAAC;AAMH,eAAO,MAAM,cAAc,0EAMzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tranched.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,gBAAgB,4EAK3B,CAAC;AAMH,eAAO,MAAM,oBAAoB,gFAK/B,CAAC"}
1
+ {"version":3,"file":"tranched.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAWpC,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,gBAAgB,4EAK3B,CAAC;AAMH,eAAO,MAAM,oBAAoB,gFAK/B,CAAC"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "sideEffects": false,
8
8
  "types": "./dist/types/index.d.ts",
9
9
  "typings": "./dist/types/index.d.ts",
10
- "version": "3.0.0",
10
+ "version": "3.1.0",
11
11
  "type": "module",
12
12
  "author": {
13
13
  "name": "Sablier Labs Ltd",