sablier 3.1.0 → 3.2.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 (41) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/shapes/airdrops.js +17 -10
  3. package/dist/cjs/shapes/airdrops.js.map +1 -1
  4. package/dist/cjs/shapes/{constants.js → contracts.js} +17 -10
  5. package/dist/cjs/shapes/contracts.js.map +1 -0
  6. package/dist/cjs/shapes/enums.js +1 -0
  7. package/dist/cjs/shapes/enums.js.map +1 -1
  8. package/dist/cjs/shapes/flow.js +2 -2
  9. package/dist/cjs/shapes/flow.js.map +1 -1
  10. package/dist/cjs/shapes/lockup/dynamic.js +9 -9
  11. package/dist/cjs/shapes/lockup/dynamic.js.map +1 -1
  12. package/dist/cjs/shapes/lockup/linear.js +12 -12
  13. package/dist/cjs/shapes/lockup/linear.js.map +1 -1
  14. package/dist/cjs/shapes/lockup/tranched.js +5 -5
  15. package/dist/cjs/shapes/lockup/tranched.js.map +1 -1
  16. package/dist/esm/shapes/airdrops.js +17 -10
  17. package/dist/esm/shapes/airdrops.js.map +1 -1
  18. package/dist/esm/shapes/{constants.js → contracts.js} +16 -9
  19. package/dist/esm/shapes/contracts.js.map +1 -0
  20. package/dist/esm/shapes/enums.js +1 -0
  21. package/dist/esm/shapes/enums.js.map +1 -1
  22. package/dist/esm/shapes/flow.js +1 -1
  23. package/dist/esm/shapes/flow.js.map +1 -1
  24. package/dist/esm/shapes/lockup/dynamic.js +1 -1
  25. package/dist/esm/shapes/lockup/dynamic.js.map +1 -1
  26. package/dist/esm/shapes/lockup/linear.js +5 -5
  27. package/dist/esm/shapes/lockup/linear.js.map +1 -1
  28. package/dist/esm/shapes/lockup/tranched.js +1 -1
  29. package/dist/esm/shapes/lockup/tranched.js.map +1 -1
  30. package/dist/types/shapes/airdrops.d.ts +1 -0
  31. package/dist/types/shapes/airdrops.d.ts.map +1 -1
  32. package/dist/types/shapes/{constants.d.ts → contracts.d.ts} +14 -9
  33. package/dist/types/shapes/contracts.d.ts.map +1 -0
  34. package/dist/types/shapes/enums.d.ts +1 -0
  35. package/dist/types/shapes/enums.d.ts.map +1 -1
  36. package/dist/types/shapes/index.d.ts +1 -0
  37. package/dist/types/shapes/index.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/cjs/shapes/constants.js.map +0 -1
  40. package/dist/esm/shapes/constants.js.map +0 -1
  41. package/dist/types/shapes/constants.d.ts.map +0 -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.2.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.2.0
12
13
  [3.1.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.1.0
13
14
  [3.0.0]: https://github.com/sablier-labs/sdk/releases/tag/v3.0.0
14
15
  [2.0.4]: https://github.com/sablier-labs/sdk/releases/tag/v2.0.4
@@ -32,6 +33,18 @@ The format is based on [Common Changelog](https://common-changelog.org/).
32
33
  [1.1.0]: https://github.com/sablier-labs/sdk/releases/tag/v1.1.0
33
34
  [1.0.0]: https://github.com/sablier-labs/sdk/releases/tag/v1.0.0
34
35
 
36
+ ## [3.2.0] - 2026-03-20
37
+
38
+ ### Added
39
+
40
+ - Add `linearStepper` airdrop shape using MerkleLL with the granularity feature from Airdrops v3.0
41
+ ([`5984b3e`](https://github.com/sablier-labs/sdk/commit/5984b3e))
42
+
43
+ ### Changed
44
+
45
+ - Deprecate `tranchedStepper` airdrop shape in favor of `linearStepper`
46
+ ([`5984b3e`](https://github.com/sablier-labs/sdk/commit/5984b3e))
47
+
35
48
  ## [3.1.0] - 2026-03-20
36
49
 
37
50
  ### Added
@@ -1,48 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.airdropShapes = void 0;
4
- const constants_js_1 = require("./constants.js");
4
+ const contracts_js_1 = require("./contracts.js");
5
5
  const enums_js_1 = require("./enums.js");
6
6
  const types_js_1 = require("./types.js");
7
7
  const instant = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.Instant, {
8
- evm: constants_js_1.AIRDROP_EVM_INSTANT,
8
+ evm: contracts_js_1.AIRDROPS_EVM_INSTANT,
9
9
  hasPredictableGas: true,
10
10
  isDeprecated: false,
11
11
  name: "Instant",
12
- solana: constants_js_1.AIRDROP_SOLANA_INSTANT,
12
+ solana: contracts_js_1.AIRDROPS_SOLANA_INSTANT,
13
13
  });
14
14
  const linear = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.Linear, {
15
- evm: constants_js_1.AIRDROP_EVM_LL,
15
+ evm: contracts_js_1.AIRDROPS_EVM_LL,
16
16
  hasPredictableGas: true,
17
17
  isDeprecated: false,
18
18
  name: "Linear",
19
19
  });
20
20
  const cliff = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.Cliff, {
21
- evm: constants_js_1.AIRDROP_EVM_LL,
21
+ evm: contracts_js_1.AIRDROPS_EVM_LL,
22
22
  hasPredictableGas: true,
23
23
  isDeprecated: false,
24
24
  name: "Cliff",
25
25
  });
26
26
  const linearUnlockLinear = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.LinearUnlockLinear, {
27
- evm: constants_js_1.AIRDROP_EVM_LL_V2,
27
+ evm: contracts_js_1.AIRDROPS_V2_EVM_LL,
28
28
  hasPredictableGas: true,
29
29
  isDeprecated: false,
30
30
  name: "Linear Unlock Linear",
31
31
  });
32
32
  const linearUnlockCliff = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.LinearUnlockCliff, {
33
- evm: constants_js_1.AIRDROP_EVM_LL_V2,
33
+ evm: contracts_js_1.AIRDROPS_V2_EVM_LL,
34
34
  hasPredictableGas: true,
35
35
  isDeprecated: false,
36
36
  name: "Linear Unlock Cliff",
37
37
  });
38
+ const linearStepper = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.LinearStepper, {
39
+ evm: contracts_js_1.AIRDROPS_V3_EVM_LL,
40
+ hasPredictableGas: true,
41
+ isDeprecated: false,
42
+ name: "Linear Stepper",
43
+ });
38
44
  const tranchedStepper = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.TranchedStepper, {
39
- evm: constants_js_1.AIRDROP_EVM_LT,
45
+ evm: contracts_js_1.AIRDROPS_EVM_LT,
40
46
  hasPredictableGas: false,
41
- isDeprecated: false,
47
+ isDeprecated: true,
42
48
  name: "Tranched Stepper",
43
49
  });
44
50
  const variableClaimAmount = (0, types_js_1.defineAirdropShape)(enums_js_1.Shape.Airdrops.VariableClaimAmount, {
45
- evm: constants_js_1.AIRDROP_EVM_VCA,
51
+ evm: contracts_js_1.AIRDROPS_EVM_VCA,
46
52
  hasPredictableGas: true,
47
53
  isDeprecated: false,
48
54
  name: "Variable Claim Amount",
@@ -51,6 +57,7 @@ exports.airdropShapes = {
51
57
  [enums_js_1.Shape.Airdrops.Cliff]: cliff,
52
58
  [enums_js_1.Shape.Airdrops.Instant]: instant,
53
59
  [enums_js_1.Shape.Airdrops.Linear]: linear,
60
+ [enums_js_1.Shape.Airdrops.LinearStepper]: linearStepper,
54
61
  [enums_js_1.Shape.Airdrops.LinearUnlockCliff]: linearUnlockCliff,
55
62
  [enums_js_1.Shape.Airdrops.LinearUnlockLinear]: linearUnlockLinear,
56
63
  [enums_js_1.Shape.Airdrops.TranchedStepper]: tranchedStepper,
@@ -1 +1 @@
1
- {"version":3,"file":"airdrops.js","sourceRoot":"","sources":["../../../src/shapes/airdrops.ts"],"names":[],"mappings":";;;AAMA,iDAOwB;AACxB,yCAAmC;AAEnC,yCAAgD;AAMhD,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;IACzD,GAAG,EAAE,kCAAmB;IACxB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,qCAAsB;CAC/B,CAAC,CAAC;AAMH,MAAM,MAAM,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;IACvD,GAAG,EAAE,6BAAc;IACnB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;CACf,CAAC,CAAC;AAMH,MAAM,KAAK,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;IACrD,GAAG,EAAE,6BAAc;IACnB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;CACd,CAAC,CAAC;AAMH,MAAM,kBAAkB,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAE;IAC/E,GAAG,EAAE,gCAAiB;IACtB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC;AAMH,MAAM,iBAAiB,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE;IAC7E,GAAG,EAAE,gCAAiB;IACtB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AAMH,MAAM,eAAe,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,eAAe,EAAE;IACzE,GAAG,EAAE,6BAAc;IACnB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,mBAAmB,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE;IACjF,GAAG,EAAE,8BAAe;IACpB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC;AAMU,QAAA,aAAa,GAAG;IAC3B,CAAC,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;IAC7B,CAAC,gBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO;IACjC,CAAC,gBAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAC/B,CAAC,gBAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IACrD,CAAC,gBAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IACvD,CAAC,gBAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe;IACjD,CAAC,gBAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;CAC5B,CAAC","sourcesContent":["/**\n * Airdrop shapes.\n *\n * Merkle-based token distribution with various vesting patterns.\n */\n\nimport {\n AIRDROP_EVM_INSTANT,\n AIRDROP_EVM_LL,\n AIRDROP_EVM_LL_V2,\n AIRDROP_EVM_LT,\n AIRDROP_EVM_VCA,\n AIRDROP_SOLANA_INSTANT,\n} from \"./constants.js\";\nimport { Shape } from \"./enums.js\";\nimport type { AirdropShapesRecord } from \"./types.js\";\nimport { defineAirdropShape } from \"./types.js\";\n\n/**\n * Instant airdrop.\n * Tokens are claimable immediately with no vesting.\n */\nconst instant = defineAirdropShape(Shape.Airdrops.Instant, {\n evm: AIRDROP_EVM_INSTANT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Instant\",\n solana: AIRDROP_SOLANA_INSTANT,\n});\n\n/**\n * Linear airdrop.\n * Claimed tokens vest linearly from start to end.\n */\nconst linear = defineAirdropShape(Shape.Airdrops.Linear, {\n evm: AIRDROP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n});\n\n/**\n * Cliff airdrop.\n * Claimed tokens vest with a cliff period followed by linear vesting.\n */\nconst cliff = defineAirdropShape(Shape.Airdrops.Cliff, {\n evm: AIRDROP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage is immediately available, remainder vests linearly.\n */\nconst linearUnlockLinear = defineAirdropShape(Shape.Airdrops.LinearUnlockLinear, {\n evm: AIRDROP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage is immediately available, remainder vests after cliff.\n */\nconst linearUnlockCliff = defineAirdropShape(Shape.Airdrops.LinearUnlockCliff, {\n evm: AIRDROP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n});\n\n/**\n * Step-based airdrop via tranches.\n * Claimed tokens unlock in discrete steps.\n */\nconst tranchedStepper = defineAirdropShape(Shape.Airdrops.TranchedStepper, {\n evm: AIRDROP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Variable claim amount airdrop.\n * Each recipient can claim a different amount based on Merkle proof data.\n */\nconst variableClaimAmount = defineAirdropShape(Shape.Airdrops.VariableClaimAmount, {\n evm: AIRDROP_EVM_VCA,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Variable Claim Amount\",\n});\n\n/**\n * All airdrop shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency.\n */\nexport const airdropShapes = {\n [Shape.Airdrops.Cliff]: cliff,\n [Shape.Airdrops.Instant]: instant,\n [Shape.Airdrops.Linear]: linear,\n [Shape.Airdrops.LinearUnlockCliff]: linearUnlockCliff,\n [Shape.Airdrops.LinearUnlockLinear]: linearUnlockLinear,\n [Shape.Airdrops.TranchedStepper]: tranchedStepper,\n [Shape.Airdrops.VariableClaimAmount]: variableClaimAmount,\n} satisfies AirdropShapesRecord;\n"]}
1
+ {"version":3,"file":"airdrops.js","sourceRoot":"","sources":["../../../src/shapes/airdrops.ts"],"names":[],"mappings":";;;AAMA,iDAQwB;AACxB,yCAAmC;AAEnC,yCAAgD;AAMhD,MAAM,OAAO,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;IACzD,GAAG,EAAE,mCAAoB;IACzB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,sCAAuB;CAChC,CAAC,CAAC;AAMH,MAAM,MAAM,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;IACvD,GAAG,EAAE,8BAAe;IACpB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;CACf,CAAC,CAAC;AAMH,MAAM,KAAK,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;IACrD,GAAG,EAAE,8BAAe;IACpB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;CACd,CAAC,CAAC;AAMH,MAAM,kBAAkB,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAE;IAC/E,GAAG,EAAE,iCAAkB;IACvB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC;AAMH,MAAM,iBAAiB,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE;IAC7E,GAAG,EAAE,iCAAkB;IACvB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AASH,MAAM,aAAa,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,aAAa,EAAE;IACrE,GAAG,EAAE,iCAAkB;IACvB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,gBAAgB;CACvB,CAAC,CAAC;AAMH,MAAM,eAAe,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,eAAe,EAAE;IACzE,GAAG,EAAE,8BAAe;IACpB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,mBAAmB,GAAG,IAAA,6BAAkB,EAAC,gBAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE;IACjF,GAAG,EAAE,+BAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC;AAMU,QAAA,aAAa,GAAG;IAC3B,CAAC,gBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;IAC7B,CAAC,gBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO;IACjC,CAAC,gBAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAC/B,CAAC,gBAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa;IAC7C,CAAC,gBAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IACrD,CAAC,gBAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IACvD,CAAC,gBAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe;IACjD,CAAC,gBAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;CAC5B,CAAC","sourcesContent":["/**\n * Airdrop shapes.\n *\n * Merkle-based token distribution with various vesting patterns.\n */\n\nimport {\n AIRDROPS_EVM_INSTANT,\n AIRDROPS_EVM_LL,\n AIRDROPS_EVM_LT,\n AIRDROPS_EVM_VCA,\n AIRDROPS_SOLANA_INSTANT,\n AIRDROPS_V2_EVM_LL,\n AIRDROPS_V3_EVM_LL,\n} from \"./contracts.js\";\nimport { Shape } from \"./enums.js\";\nimport type { AirdropShapesRecord } from \"./types.js\";\nimport { defineAirdropShape } from \"./types.js\";\n\n/**\n * Instant airdrop.\n * Tokens are claimable immediately with no vesting.\n */\nconst instant = defineAirdropShape(Shape.Airdrops.Instant, {\n evm: AIRDROPS_EVM_INSTANT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Instant\",\n solana: AIRDROPS_SOLANA_INSTANT,\n});\n\n/**\n * Linear airdrop.\n * Claimed tokens vest linearly from start to end.\n */\nconst linear = defineAirdropShape(Shape.Airdrops.Linear, {\n evm: AIRDROPS_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n});\n\n/**\n * Cliff airdrop.\n * Claimed tokens vest with a cliff period followed by linear vesting.\n */\nconst cliff = defineAirdropShape(Shape.Airdrops.Cliff, {\n evm: AIRDROPS_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage is immediately available, remainder vests linearly.\n */\nconst linearUnlockLinear = defineAirdropShape(Shape.Airdrops.LinearUnlockLinear, {\n evm: AIRDROPS_V2_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage is immediately available, remainder vests after cliff.\n */\nconst linearUnlockCliff = defineAirdropShape(Shape.Airdrops.LinearUnlockCliff, {\n evm: AIRDROPS_V2_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n});\n\n/**\n * Step-based airdrop via linear granularity.\n * Claimed tokens unlock in discrete steps at regular intervals using MerkleLL with granularity.\n *\n * @remarks\n * Replaces {@link tranchedStepper} by leveraging the granularity feature introduced in Airdrops v3.0.\n */\nconst linearStepper = defineAirdropShape(Shape.Airdrops.LinearStepper, {\n evm: AIRDROPS_V3_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Stepper\",\n});\n\n/**\n * Step-based airdrop via tranches.\n * Claimed tokens unlock in discrete steps.\n */\nconst tranchedStepper = defineAirdropShape(Shape.Airdrops.TranchedStepper, {\n evm: AIRDROPS_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: true,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Variable claim amount airdrop.\n * Each recipient can claim a different amount based on Merkle proof data.\n */\nconst variableClaimAmount = defineAirdropShape(Shape.Airdrops.VariableClaimAmount, {\n evm: AIRDROPS_EVM_VCA,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Variable Claim Amount\",\n});\n\n/**\n * All airdrop shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency.\n */\nexport const airdropShapes = {\n [Shape.Airdrops.Cliff]: cliff,\n [Shape.Airdrops.Instant]: instant,\n [Shape.Airdrops.Linear]: linear,\n [Shape.Airdrops.LinearStepper]: linearStepper,\n [Shape.Airdrops.LinearUnlockCliff]: linearUnlockCliff,\n [Shape.Airdrops.LinearUnlockLinear]: linearUnlockLinear,\n [Shape.Airdrops.TranchedStepper]: tranchedStepper,\n [Shape.Airdrops.VariableClaimAmount]: variableClaimAmount,\n} satisfies AirdropShapesRecord;\n"]}
@@ -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_V4 = exports.LOCKUP_EVM_LL_V2 = exports.LOCKUP_EVM_LL = void 0;
3
+ exports.AIRDROPS_EVM_LT = exports.AIRDROPS_EVM_VCA = exports.AIRDROPS_V2_EVM_LL = exports.AIRDROPS_V3_EVM_LL = exports.AIRDROPS_EVM_LL = exports.AIRDROPS_SOLANA_INSTANT = exports.AIRDROPS_EVM_INSTANT = exports.FLOW_EVM = exports.LOCKUP_EVM_LT = exports.LOCKUP_EVM_LD = exports.LOCKUP_SOLANA_LL = exports.LOCKUP_V4_EVM_LL = exports.LOCKUP_V2_EVM_LL = 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"];
@@ -12,12 +12,12 @@ exports.LOCKUP_EVM_LL = [
12
12
  { contract: "SablierV2LockupLinear", createMethods: LL_V1_METHODS, version: enums_js_1.Version.Lockup.V1_1 },
13
13
  { contract: "SablierV2LockupLinear", createMethods: LL_V1_METHODS, version: enums_js_1.Version.Lockup.V1_0 },
14
14
  ];
15
- exports.LOCKUP_EVM_LL_V2 = [
15
+ exports.LOCKUP_V2_EVM_LL = [
16
16
  { contract: "SablierLockup", createMethods: LL_METHODS, version: enums_js_1.Version.Lockup.V4_0 },
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 = [
20
+ exports.LOCKUP_V4_EVM_LL = [
21
21
  { contract: "SablierLockup", createMethods: LL_METHODS, version: enums_js_1.Version.Lockup.V4_0 },
22
22
  ];
23
23
  exports.LOCKUP_SOLANA_LL = [
@@ -83,7 +83,7 @@ exports.FLOW_EVM = [
83
83
  version: enums_js_1.Version.Flow.V1_0,
84
84
  },
85
85
  ];
86
- exports.AIRDROP_EVM_INSTANT = [
86
+ exports.AIRDROPS_EVM_INSTANT = [
87
87
  {
88
88
  contract: "SablierFactoryMerkleInstant",
89
89
  createMethods: ["createMerkleInstant"],
@@ -100,14 +100,14 @@ exports.AIRDROP_EVM_INSTANT = [
100
100
  version: enums_js_1.Version.Airdrops.V1_3,
101
101
  },
102
102
  ];
103
- exports.AIRDROP_SOLANA_INSTANT = [
103
+ exports.AIRDROPS_SOLANA_INSTANT = [
104
104
  {
105
105
  createMethods: ["create_campaign"],
106
106
  program: "SablierMerkleInstant",
107
107
  version: "v0.1",
108
108
  },
109
109
  ];
110
- exports.AIRDROP_EVM_LL = [
110
+ exports.AIRDROPS_EVM_LL = [
111
111
  {
112
112
  contract: "SablierFactoryMerkleLL",
113
113
  createMethods: ["createMerkleLL"],
@@ -134,7 +134,14 @@ exports.AIRDROP_EVM_LL = [
134
134
  version: enums_js_1.Version.Airdrops.V1_1,
135
135
  },
136
136
  ];
137
- exports.AIRDROP_EVM_LL_V2 = [
137
+ exports.AIRDROPS_V3_EVM_LL = [
138
+ {
139
+ contract: "SablierFactoryMerkleLL",
140
+ createMethods: ["createMerkleLL"],
141
+ version: enums_js_1.Version.Airdrops.V3_0,
142
+ },
143
+ ];
144
+ exports.AIRDROPS_V2_EVM_LL = [
138
145
  {
139
146
  contract: "SablierFactoryMerkleLL",
140
147
  createMethods: ["createMerkleLL"],
@@ -146,7 +153,7 @@ exports.AIRDROP_EVM_LL_V2 = [
146
153
  version: enums_js_1.Version.Airdrops.V2_0,
147
154
  },
148
155
  ];
149
- exports.AIRDROP_EVM_VCA = [
156
+ exports.AIRDROPS_EVM_VCA = [
150
157
  {
151
158
  contract: "SablierFactoryMerkleVCA",
152
159
  createMethods: ["createMerkleVCA"],
@@ -158,7 +165,7 @@ exports.AIRDROP_EVM_VCA = [
158
165
  version: enums_js_1.Version.Airdrops.V2_0,
159
166
  },
160
167
  ];
161
- exports.AIRDROP_EVM_LT = [
168
+ exports.AIRDROPS_EVM_LT = [
162
169
  {
163
170
  contract: "SablierFactoryMerkleLT",
164
171
  createMethods: ["createMerkleLT"],
@@ -180,4 +187,4 @@ exports.AIRDROP_EVM_LT = [
180
187
  version: enums_js_1.Version.Airdrops.V1_2,
181
188
  },
182
189
  ];
183
- //# sourceMappingURL=constants.js.map
190
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/shapes/contracts.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_V2_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] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v4.0+ only (granularity feature) */\nexport const LOCKUP_V4_EVM_LL = [\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/* AIRDROPS CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Airdrops Instant factory contracts - v1.3+ */\nexport const AIRDROPS_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 Airdrops Instant program */\nexport const AIRDROPS_SOLANA_INSTANT = [\n {\n createMethods: [\"create_campaign\"],\n program: \"SablierMerkleInstant\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/** Airdrops Linear (LL) factory contracts - full history */\nexport const AIRDROPS_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/** Airdrops Linear (LL) factory contracts - v3.0+ only (granularity feature) */\nexport const AIRDROPS_V3_EVM_LL = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrops Linear (LL) factory contracts - v2.0+ only */\nexport const AIRDROPS_V2_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] as const satisfies readonly ContractMethod[];\n\n/** Airdrops VCA factory contracts - v2.0+ */\nexport const AIRDROPS_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/** Airdrops Tranched (LT) factory contracts - v1.2+ */\nexport const AIRDROPS_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"]}
@@ -35,6 +35,7 @@ var Shape;
35
35
  Airdrops["Cliff"] = "cliff";
36
36
  Airdrops["LinearUnlockLinear"] = "linearUnlockLinear";
37
37
  Airdrops["LinearUnlockCliff"] = "linearUnlockCliff";
38
+ Airdrops["LinearStepper"] = "linearStepper";
38
39
  Airdrops["TranchedStepper"] = "tranchedStepper";
39
40
  Airdrops["VariableClaimAmount"] = "variableClaimAmount";
40
41
  })(Airdrops = Shape.Airdrops || (Shape.Airdrops = {}));
@@ -1 +1 @@
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"]}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":";;;AAAA,IAAiB,KAAK,CAoCrB;AApCD,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,QASX;IATD,WAAY,QAAQ;QAClB,+BAAmB,CAAA;QACnB,6BAAiB,CAAA;QACjB,2BAAe,CAAA;QACf,qDAAyC,CAAA;QACzC,mDAAuC,CAAA;QACvC,2CAA+B,CAAA;QAC/B,+CAAmC,CAAA;QACnC,uDAA2C,CAAA;IAC7C,CAAC,EATW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QASnB;AACH,CAAC,EApCgB,KAAK,qBAAL,KAAK,QAoCrB","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 LinearStepper = \"linearStepper\",\n TranchedStepper = \"tranchedStepper\",\n VariableClaimAmount = \"variableClaimAmount\",\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.flowShapes = exports.flow = void 0;
4
- const constants_js_1 = require("./constants.js");
4
+ const contracts_js_1 = require("./contracts.js");
5
5
  const enums_js_1 = require("./enums.js");
6
6
  const types_js_1 = require("./types.js");
7
7
  exports.flow = (0, types_js_1.defineFlowShape)(enums_js_1.Shape.Flow.Flow, {
8
- evm: constants_js_1.FLOW_EVM,
8
+ evm: contracts_js_1.FLOW_EVM,
9
9
  hasPredictableGas: true,
10
10
  isDeprecated: false,
11
11
  name: "Flow",
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/shapes/flow.ts"],"names":[],"mappings":";;;AAMA,iDAA0C;AAC1C,yCAAmC;AAEnC,yCAA6C;AAMhC,QAAA,IAAI,GAAG,IAAA,0BAAe,EAAC,gBAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,uBAAQ;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAGU,QAAA,UAAU,GAAG;IACxB,CAAC,gBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAI;CACY,CAAC","sourcesContent":["/**\n * Flow shapes.\n *\n * Continuous streaming with real-time per-second vesting.\n */\n\nimport { FLOW_EVM } from \"./constants.js\";\nimport { Shape } from \"./enums.js\";\nimport type { FlowShapesRecord } from \"./types.js\";\nimport { defineFlowShape } from \"./types.js\";\n\n/**\n * Flow streaming.\n * Continuous streaming with adjustable rate and real-time withdrawals.\n */\nexport const flow = defineFlowShape(Shape.Flow.Flow, {\n evm: FLOW_EVM,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Flow\",\n});\n\n/** All Flow shapes indexed by ID */\nexport const flowShapes = {\n [Shape.Flow.Flow]: flow,\n} as const satisfies FlowShapesRecord;\n"]}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/shapes/flow.ts"],"names":[],"mappings":";;;AAMA,iDAA0C;AAC1C,yCAAmC;AAEnC,yCAA6C;AAMhC,QAAA,IAAI,GAAG,IAAA,0BAAe,EAAC,gBAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,uBAAQ;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAGU,QAAA,UAAU,GAAG;IACxB,CAAC,gBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAI;CACY,CAAC","sourcesContent":["/**\n * Flow shapes.\n *\n * Continuous streaming with real-time per-second vesting.\n */\n\nimport { FLOW_EVM } from \"./contracts.js\";\nimport { Shape } from \"./enums.js\";\nimport type { FlowShapesRecord } from \"./types.js\";\nimport { defineFlowShape } from \"./types.js\";\n\n/**\n * Flow streaming.\n * Continuous streaming with adjustable rate and real-time withdrawals.\n */\nexport const flow = defineFlowShape(Shape.Flow.Flow, {\n evm: FLOW_EVM,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Flow\",\n});\n\n/** All Flow shapes indexed by ID */\nexport const flowShapes = {\n [Shape.Flow.Flow]: flow,\n} as const satisfies FlowShapesRecord;\n"]}
@@ -1,53 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dynamicDoubleUnlock = exports.dynamicUnlockLinear = exports.dynamicUnlockCliff = exports.dynamicStepper = exports.dynamicMonthly = exports.dynamicTimelock = exports.dynamicCliffExponential = exports.dynamicExponential = void 0;
4
- const constants_js_1 = require("../constants.js");
4
+ const contracts_js_1 = require("../contracts.js");
5
5
  const enums_js_1 = require("../enums.js");
6
6
  const types_js_1 = require("../types.js");
7
7
  exports.dynamicExponential = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicExponential, {
8
- evm: constants_js_1.LOCKUP_EVM_LD,
8
+ evm: contracts_js_1.LOCKUP_EVM_LD,
9
9
  hasPredictableGas: true,
10
10
  isDeprecated: false,
11
11
  name: "Dynamic Exponential",
12
12
  });
13
13
  exports.dynamicCliffExponential = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicCliffExponential, {
14
- evm: constants_js_1.LOCKUP_EVM_LD,
14
+ evm: contracts_js_1.LOCKUP_EVM_LD,
15
15
  hasPredictableGas: true,
16
16
  isDeprecated: false,
17
17
  name: "Dynamic Cliff Exponential",
18
18
  });
19
19
  exports.dynamicTimelock = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicTimelock, {
20
- evm: constants_js_1.LOCKUP_EVM_LD,
20
+ evm: contracts_js_1.LOCKUP_EVM_LD,
21
21
  hasPredictableGas: true,
22
22
  isDeprecated: true,
23
23
  name: "Dynamic Timelock",
24
24
  });
25
25
  exports.dynamicMonthly = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicMonthly, {
26
- evm: constants_js_1.LOCKUP_EVM_LD,
26
+ evm: contracts_js_1.LOCKUP_EVM_LD,
27
27
  hasPredictableGas: true,
28
28
  isDeprecated: true,
29
29
  name: "Dynamic Monthly",
30
30
  });
31
31
  exports.dynamicStepper = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicStepper, {
32
- evm: constants_js_1.LOCKUP_EVM_LD,
32
+ evm: contracts_js_1.LOCKUP_EVM_LD,
33
33
  hasPredictableGas: true,
34
34
  isDeprecated: true,
35
35
  name: "Dynamic Stepper",
36
36
  });
37
37
  exports.dynamicUnlockCliff = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicUnlockCliff, {
38
- evm: constants_js_1.LOCKUP_EVM_LD,
38
+ evm: contracts_js_1.LOCKUP_EVM_LD,
39
39
  hasPredictableGas: true,
40
40
  isDeprecated: true,
41
41
  name: "Dynamic Unlock Cliff",
42
42
  });
43
43
  exports.dynamicUnlockLinear = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicUnlockLinear, {
44
- evm: constants_js_1.LOCKUP_EVM_LD,
44
+ evm: contracts_js_1.LOCKUP_EVM_LD,
45
45
  hasPredictableGas: true,
46
46
  isDeprecated: true,
47
47
  name: "Dynamic Unlock Linear",
48
48
  });
49
49
  exports.dynamicDoubleUnlock = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.DynamicDoubleUnlock, {
50
- evm: constants_js_1.LOCKUP_EVM_LD,
50
+ evm: contracts_js_1.LOCKUP_EVM_LD,
51
51
  hasPredictableGas: true,
52
52
  isDeprecated: false,
53
53
  name: "Dynamic Double Unlock",
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/dynamic.ts"],"names":[],"mappings":";;;AAOA,kDAAgD;AAChD,0CAAoC;AACpC,0CAAgD;AAMnC,QAAA,kBAAkB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AAMU,QAAA,uBAAuB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC7F,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAWU,QAAA,eAAe,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMU,QAAA,cAAc,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMU,QAAA,cAAc,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMU,QAAA,kBAAkB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC;AAMU,QAAA,mBAAmB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC;AAMU,QAAA,mBAAmB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Dynamic-based (LD) lockup shapes.\n *\n * These shapes use the LockupDynamic contract family with custom\n * segment-based vesting curves.\n */\n\nimport { LOCKUP_EVM_LD } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Exponential vesting curve.\n * Tokens vest slowly at first, then accelerate toward the end.\n */\nexport const dynamicExponential = defineLockupShape(Shape.Lockup.DynamicExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Exponential\",\n});\n\n/**\n * Cliff followed by exponential vesting.\n * No tokens until cliff, then exponential acceleration.\n */\nexport const dynamicCliffExponential = defineLockupShape(Shape.Lockup.DynamicCliffExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Cliff Exponential\",\n});\n\n/**\n * Dynamic timelock.\n * All tokens unlock at a specific timestamp via dynamic segments.\n *\n * @remarks\n * Timelocks used to be created with LockupDynamic (from 2023 through early 2024).\n * When LockupTranched shipped in July 2024, new timelocks use LockupTranched instead.\n * @see https://github.com/sablier-labs/lockup/blob/main/CHANGELOG.md\n */\nexport const dynamicTimelock = defineLockupShape(Shape.Lockup.DynamicTimelock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Timelock\",\n});\n\n/**\n * Monthly vesting via dynamic segments.\n * Tokens unlock in monthly increments.\n */\nexport const dynamicMonthly = defineLockupShape(Shape.Lockup.DynamicMonthly, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Monthly\",\n});\n\n/**\n * Step-based vesting via dynamic segments.\n * Tokens unlock in discrete steps at regular intervals.\n */\nexport const dynamicStepper = defineLockupShape(Shape.Lockup.DynamicStepper, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Stepper\",\n});\n\n/**\n * Dynamic with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder after cliff via segments.\n */\nexport const dynamicUnlockCliff = defineLockupShape(Shape.Lockup.DynamicUnlockCliff, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Cliff\",\n});\n\n/**\n * Dynamic with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly via segments.\n */\nexport const dynamicUnlockLinear = defineLockupShape(Shape.Lockup.DynamicUnlockLinear, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Linear\",\n});\n\n/**\n * Double unlock pattern.\n * Two distinct unlock events with a waiting period between.\n */\nexport const dynamicDoubleUnlock = defineLockupShape(Shape.Lockup.DynamicDoubleUnlock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Double Unlock\",\n});\n"]}
1
+ {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/dynamic.ts"],"names":[],"mappings":";;;AAOA,kDAAgD;AAChD,0CAAoC;AACpC,0CAAgD;AAMnC,QAAA,kBAAkB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AAMU,QAAA,uBAAuB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC7F,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAWU,QAAA,eAAe,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMU,QAAA,cAAc,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMU,QAAA,cAAc,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMU,QAAA,kBAAkB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC;AAMU,QAAA,mBAAmB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC;AAMU,QAAA,mBAAmB,GAAG,IAAA,4BAAiB,EAAC,gBAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,4BAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Dynamic-based (LD) lockup shapes.\n *\n * These shapes use the LockupDynamic contract family with custom\n * segment-based vesting curves.\n */\n\nimport { LOCKUP_EVM_LD } from \"../contracts.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Exponential vesting curve.\n * Tokens vest slowly at first, then accelerate toward the end.\n */\nexport const dynamicExponential = defineLockupShape(Shape.Lockup.DynamicExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Exponential\",\n});\n\n/**\n * Cliff followed by exponential vesting.\n * No tokens until cliff, then exponential acceleration.\n */\nexport const dynamicCliffExponential = defineLockupShape(Shape.Lockup.DynamicCliffExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Cliff Exponential\",\n});\n\n/**\n * Dynamic timelock.\n * All tokens unlock at a specific timestamp via dynamic segments.\n *\n * @remarks\n * Timelocks used to be created with LockupDynamic (from 2023 through early 2024).\n * When LockupTranched shipped in July 2024, new timelocks use LockupTranched instead.\n * @see https://github.com/sablier-labs/lockup/blob/main/CHANGELOG.md\n */\nexport const dynamicTimelock = defineLockupShape(Shape.Lockup.DynamicTimelock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Timelock\",\n});\n\n/**\n * Monthly vesting via dynamic segments.\n * Tokens unlock in monthly increments.\n */\nexport const dynamicMonthly = defineLockupShape(Shape.Lockup.DynamicMonthly, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Monthly\",\n});\n\n/**\n * Step-based vesting via dynamic segments.\n * Tokens unlock in discrete steps at regular intervals.\n */\nexport const dynamicStepper = defineLockupShape(Shape.Lockup.DynamicStepper, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Stepper\",\n});\n\n/**\n * Dynamic with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder after cliff via segments.\n */\nexport const dynamicUnlockCliff = defineLockupShape(Shape.Lockup.DynamicUnlockCliff, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Cliff\",\n});\n\n/**\n * Dynamic with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly via segments.\n */\nexport const dynamicUnlockLinear = defineLockupShape(Shape.Lockup.DynamicUnlockLinear, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Linear\",\n});\n\n/**\n * Double unlock pattern.\n * Two distinct unlock events with a waiting period between.\n */\nexport const dynamicDoubleUnlock = defineLockupShape(Shape.Lockup.DynamicDoubleUnlock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Double Unlock\",\n});\n"]}
@@ -1,48 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.linearTimelock = exports.linearStepper = exports.linearUnlockCliff = exports.linearUnlockLinear = exports.cliff = exports.linear = void 0;
4
- const constants_js_1 = require("../constants.js");
4
+ const contracts_js_1 = require("../contracts.js");
5
5
  const enums_js_1 = require("../enums.js");
6
6
  const types_js_1 = require("../types.js");
7
7
  exports.linear = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.Linear, {
8
- evm: constants_js_1.LOCKUP_EVM_LL,
8
+ evm: contracts_js_1.LOCKUP_EVM_LL,
9
9
  hasPredictableGas: true,
10
10
  isDeprecated: false,
11
11
  name: "Linear",
12
- solana: constants_js_1.LOCKUP_SOLANA_LL,
12
+ solana: contracts_js_1.LOCKUP_SOLANA_LL,
13
13
  });
14
14
  exports.cliff = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.Cliff, {
15
- evm: constants_js_1.LOCKUP_EVM_LL,
15
+ evm: contracts_js_1.LOCKUP_EVM_LL,
16
16
  hasPredictableGas: true,
17
17
  isDeprecated: false,
18
18
  name: "Cliff",
19
- solana: constants_js_1.LOCKUP_SOLANA_LL,
19
+ solana: contracts_js_1.LOCKUP_SOLANA_LL,
20
20
  });
21
21
  exports.linearUnlockLinear = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.LinearUnlockLinear, {
22
- evm: constants_js_1.LOCKUP_EVM_LL_V2,
22
+ evm: contracts_js_1.LOCKUP_V2_EVM_LL,
23
23
  hasPredictableGas: true,
24
24
  isDeprecated: false,
25
25
  name: "Linear Unlock Linear",
26
- solana: constants_js_1.LOCKUP_SOLANA_LL,
26
+ solana: contracts_js_1.LOCKUP_SOLANA_LL,
27
27
  });
28
28
  exports.linearUnlockCliff = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.LinearUnlockCliff, {
29
- evm: constants_js_1.LOCKUP_EVM_LL_V2,
29
+ evm: contracts_js_1.LOCKUP_V2_EVM_LL,
30
30
  hasPredictableGas: true,
31
31
  isDeprecated: false,
32
32
  name: "Linear Unlock Cliff",
33
- solana: constants_js_1.LOCKUP_SOLANA_LL,
33
+ solana: contracts_js_1.LOCKUP_SOLANA_LL,
34
34
  });
35
35
  exports.linearStepper = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.LinearStepper, {
36
- evm: constants_js_1.LOCKUP_EVM_LL_V4,
36
+ evm: contracts_js_1.LOCKUP_V4_EVM_LL,
37
37
  hasPredictableGas: true,
38
38
  isDeprecated: false,
39
39
  name: "Linear Stepper",
40
40
  });
41
41
  exports.linearTimelock = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.LinearTimelock, {
42
- evm: constants_js_1.LOCKUP_EVM_LL_V2,
42
+ evm: contracts_js_1.LOCKUP_V2_EVM_LL,
43
43
  hasPredictableGas: true,
44
44
  isDeprecated: false,
45
45
  name: "Linear Timelock",
46
- solana: constants_js_1.LOCKUP_SOLANA_LL,
46
+ solana: contracts_js_1.LOCKUP_SOLANA_LL,
47
47
  });
48
48
  //# sourceMappingURL=linear.js.map
@@ -1 +1 @@
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"]}
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_SOLANA_LL,\n LOCKUP_V2_EVM_LL,\n LOCKUP_V4_EVM_LL,\n} from \"../contracts.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_V2_EVM_LL,\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_V2_EVM_LL,\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_V4_EVM_LL,\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_V2_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Timelock\",\n solana: LOCKUP_SOLANA_LL,\n});\n"]}
@@ -1,29 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tranchedBackweighted = exports.tranchedTimelock = exports.tranchedMonthly = exports.tranchedStepper = void 0;
4
- const constants_js_1 = require("../constants.js");
4
+ const contracts_js_1 = require("../contracts.js");
5
5
  const enums_js_1 = require("../enums.js");
6
6
  const types_js_1 = require("../types.js");
7
7
  exports.tranchedStepper = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.TranchedStepper, {
8
- evm: constants_js_1.LOCKUP_EVM_LT,
8
+ evm: contracts_js_1.LOCKUP_EVM_LT,
9
9
  hasPredictableGas: false,
10
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, {
14
- evm: constants_js_1.LOCKUP_EVM_LT,
14
+ evm: contracts_js_1.LOCKUP_EVM_LT,
15
15
  hasPredictableGas: false,
16
16
  isDeprecated: false,
17
17
  name: "Tranched Monthly",
18
18
  });
19
19
  exports.tranchedTimelock = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.TranchedTimelock, {
20
- evm: constants_js_1.LOCKUP_EVM_LT,
20
+ evm: contracts_js_1.LOCKUP_EVM_LT,
21
21
  hasPredictableGas: true,
22
22
  isDeprecated: false,
23
23
  name: "Tranched Timelock",
24
24
  });
25
25
  exports.tranchedBackweighted = (0, types_js_1.defineLockupShape)(enums_js_1.Shape.Lockup.TranchedBackweighted, {
26
- evm: constants_js_1.LOCKUP_EVM_LT,
26
+ evm: contracts_js_1.LOCKUP_EVM_LT,
27
27
  hasPredictableGas: false,
28
28
  isDeprecated: false,
29
29
  name: "Tranched Backweighted",
@@ -1 +1 @@
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"]}
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 \"../contracts.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"]}
@@ -1,45 +1,51 @@
1
- import { AIRDROP_EVM_INSTANT, AIRDROP_EVM_LL, AIRDROP_EVM_LL_V2, AIRDROP_EVM_LT, AIRDROP_EVM_VCA, AIRDROP_SOLANA_INSTANT, } from "./constants.js";
1
+ import { AIRDROPS_EVM_INSTANT, AIRDROPS_EVM_LL, AIRDROPS_EVM_LT, AIRDROPS_EVM_VCA, AIRDROPS_SOLANA_INSTANT, AIRDROPS_V2_EVM_LL, AIRDROPS_V3_EVM_LL, } from "./contracts.js";
2
2
  import { Shape } from "./enums.js";
3
3
  import { defineAirdropShape } from "./types.js";
4
4
  const instant = defineAirdropShape(Shape.Airdrops.Instant, {
5
- evm: AIRDROP_EVM_INSTANT,
5
+ evm: AIRDROPS_EVM_INSTANT,
6
6
  hasPredictableGas: true,
7
7
  isDeprecated: false,
8
8
  name: "Instant",
9
- solana: AIRDROP_SOLANA_INSTANT,
9
+ solana: AIRDROPS_SOLANA_INSTANT,
10
10
  });
11
11
  const linear = defineAirdropShape(Shape.Airdrops.Linear, {
12
- evm: AIRDROP_EVM_LL,
12
+ evm: AIRDROPS_EVM_LL,
13
13
  hasPredictableGas: true,
14
14
  isDeprecated: false,
15
15
  name: "Linear",
16
16
  });
17
17
  const cliff = defineAirdropShape(Shape.Airdrops.Cliff, {
18
- evm: AIRDROP_EVM_LL,
18
+ evm: AIRDROPS_EVM_LL,
19
19
  hasPredictableGas: true,
20
20
  isDeprecated: false,
21
21
  name: "Cliff",
22
22
  });
23
23
  const linearUnlockLinear = defineAirdropShape(Shape.Airdrops.LinearUnlockLinear, {
24
- evm: AIRDROP_EVM_LL_V2,
24
+ evm: AIRDROPS_V2_EVM_LL,
25
25
  hasPredictableGas: true,
26
26
  isDeprecated: false,
27
27
  name: "Linear Unlock Linear",
28
28
  });
29
29
  const linearUnlockCliff = defineAirdropShape(Shape.Airdrops.LinearUnlockCliff, {
30
- evm: AIRDROP_EVM_LL_V2,
30
+ evm: AIRDROPS_V2_EVM_LL,
31
31
  hasPredictableGas: true,
32
32
  isDeprecated: false,
33
33
  name: "Linear Unlock Cliff",
34
34
  });
35
+ const linearStepper = defineAirdropShape(Shape.Airdrops.LinearStepper, {
36
+ evm: AIRDROPS_V3_EVM_LL,
37
+ hasPredictableGas: true,
38
+ isDeprecated: false,
39
+ name: "Linear Stepper",
40
+ });
35
41
  const tranchedStepper = defineAirdropShape(Shape.Airdrops.TranchedStepper, {
36
- evm: AIRDROP_EVM_LT,
42
+ evm: AIRDROPS_EVM_LT,
37
43
  hasPredictableGas: false,
38
- isDeprecated: false,
44
+ isDeprecated: true,
39
45
  name: "Tranched Stepper",
40
46
  });
41
47
  const variableClaimAmount = defineAirdropShape(Shape.Airdrops.VariableClaimAmount, {
42
- evm: AIRDROP_EVM_VCA,
48
+ evm: AIRDROPS_EVM_VCA,
43
49
  hasPredictableGas: true,
44
50
  isDeprecated: false,
45
51
  name: "Variable Claim Amount",
@@ -48,6 +54,7 @@ export const airdropShapes = {
48
54
  [Shape.Airdrops.Cliff]: cliff,
49
55
  [Shape.Airdrops.Instant]: instant,
50
56
  [Shape.Airdrops.Linear]: linear,
57
+ [Shape.Airdrops.LinearStepper]: linearStepper,
51
58
  [Shape.Airdrops.LinearUnlockCliff]: linearUnlockCliff,
52
59
  [Shape.Airdrops.LinearUnlockLinear]: linearUnlockLinear,
53
60
  [Shape.Airdrops.TranchedStepper]: tranchedStepper,
@@ -1 +1 @@
1
- {"version":3,"file":"airdrops.js","sourceRoot":"","sources":["../../../src/shapes/airdrops.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;IACzD,GAAG,EAAE,mBAAmB;IACxB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,sBAAsB;CAC/B,CAAC,CAAC;AAMH,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;IACvD,GAAG,EAAE,cAAc;IACnB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;CACf,CAAC,CAAC;AAMH,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;IACrD,GAAG,EAAE,cAAc;IACnB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;CACd,CAAC,CAAC;AAMH,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAE;IAC/E,GAAG,EAAE,iBAAiB;IACtB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC;AAMH,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE;IAC7E,GAAG,EAAE,iBAAiB;IACtB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AAMH,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE;IACzE,GAAG,EAAE,cAAc;IACnB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE;IACjF,GAAG,EAAE,eAAe;IACpB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;IAC7B,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO;IACjC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAC/B,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB;IACrD,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IACvD,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe;IACjD,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;CAC5B,CAAC","sourcesContent":["/**\n * Airdrop shapes.\n *\n * Merkle-based token distribution with various vesting patterns.\n */\n\nimport {\n AIRDROP_EVM_INSTANT,\n AIRDROP_EVM_LL,\n AIRDROP_EVM_LL_V2,\n AIRDROP_EVM_LT,\n AIRDROP_EVM_VCA,\n AIRDROP_SOLANA_INSTANT,\n} from \"./constants.js\";\nimport { Shape } from \"./enums.js\";\nimport type { AirdropShapesRecord } from \"./types.js\";\nimport { defineAirdropShape } from \"./types.js\";\n\n/**\n * Instant airdrop.\n * Tokens are claimable immediately with no vesting.\n */\nconst instant = defineAirdropShape(Shape.Airdrops.Instant, {\n evm: AIRDROP_EVM_INSTANT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Instant\",\n solana: AIRDROP_SOLANA_INSTANT,\n});\n\n/**\n * Linear airdrop.\n * Claimed tokens vest linearly from start to end.\n */\nconst linear = defineAirdropShape(Shape.Airdrops.Linear, {\n evm: AIRDROP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n});\n\n/**\n * Cliff airdrop.\n * Claimed tokens vest with a cliff period followed by linear vesting.\n */\nconst cliff = defineAirdropShape(Shape.Airdrops.Cliff, {\n evm: AIRDROP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage is immediately available, remainder vests linearly.\n */\nconst linearUnlockLinear = defineAirdropShape(Shape.Airdrops.LinearUnlockLinear, {\n evm: AIRDROP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage is immediately available, remainder vests after cliff.\n */\nconst linearUnlockCliff = defineAirdropShape(Shape.Airdrops.LinearUnlockCliff, {\n evm: AIRDROP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n});\n\n/**\n * Step-based airdrop via tranches.\n * Claimed tokens unlock in discrete steps.\n */\nconst tranchedStepper = defineAirdropShape(Shape.Airdrops.TranchedStepper, {\n evm: AIRDROP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Variable claim amount airdrop.\n * Each recipient can claim a different amount based on Merkle proof data.\n */\nconst variableClaimAmount = defineAirdropShape(Shape.Airdrops.VariableClaimAmount, {\n evm: AIRDROP_EVM_VCA,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Variable Claim Amount\",\n});\n\n/**\n * All airdrop shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency.\n */\nexport const airdropShapes = {\n [Shape.Airdrops.Cliff]: cliff,\n [Shape.Airdrops.Instant]: instant,\n [Shape.Airdrops.Linear]: linear,\n [Shape.Airdrops.LinearUnlockCliff]: linearUnlockCliff,\n [Shape.Airdrops.LinearUnlockLinear]: linearUnlockLinear,\n [Shape.Airdrops.TranchedStepper]: tranchedStepper,\n [Shape.Airdrops.VariableClaimAmount]: variableClaimAmount,\n} satisfies AirdropShapesRecord;\n"]}
1
+ {"version":3,"file":"airdrops.js","sourceRoot":"","sources":["../../../src/shapes/airdrops.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Airdrop shapes.\n *\n * Merkle-based token distribution with various vesting patterns.\n */\n\nimport {\n AIRDROPS_EVM_INSTANT,\n AIRDROPS_EVM_LL,\n AIRDROPS_EVM_LT,\n AIRDROPS_EVM_VCA,\n AIRDROPS_SOLANA_INSTANT,\n AIRDROPS_V2_EVM_LL,\n AIRDROPS_V3_EVM_LL,\n} from \"./contracts.js\";\nimport { Shape } from \"./enums.js\";\nimport type { AirdropShapesRecord } from \"./types.js\";\nimport { defineAirdropShape } from \"./types.js\";\n\n/**\n * Instant airdrop.\n * Tokens are claimable immediately with no vesting.\n */\nconst instant = defineAirdropShape(Shape.Airdrops.Instant, {\n evm: AIRDROPS_EVM_INSTANT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Instant\",\n solana: AIRDROPS_SOLANA_INSTANT,\n});\n\n/**\n * Linear airdrop.\n * Claimed tokens vest linearly from start to end.\n */\nconst linear = defineAirdropShape(Shape.Airdrops.Linear, {\n evm: AIRDROPS_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n});\n\n/**\n * Cliff airdrop.\n * Claimed tokens vest with a cliff period followed by linear vesting.\n */\nconst cliff = defineAirdropShape(Shape.Airdrops.Cliff, {\n evm: AIRDROPS_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage is immediately available, remainder vests linearly.\n */\nconst linearUnlockLinear = defineAirdropShape(Shape.Airdrops.LinearUnlockLinear, {\n evm: AIRDROPS_V2_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage is immediately available, remainder vests after cliff.\n */\nconst linearUnlockCliff = defineAirdropShape(Shape.Airdrops.LinearUnlockCliff, {\n evm: AIRDROPS_V2_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n});\n\n/**\n * Step-based airdrop via linear granularity.\n * Claimed tokens unlock in discrete steps at regular intervals using MerkleLL with granularity.\n *\n * @remarks\n * Replaces {@link tranchedStepper} by leveraging the granularity feature introduced in Airdrops v3.0.\n */\nconst linearStepper = defineAirdropShape(Shape.Airdrops.LinearStepper, {\n evm: AIRDROPS_V3_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Stepper\",\n});\n\n/**\n * Step-based airdrop via tranches.\n * Claimed tokens unlock in discrete steps.\n */\nconst tranchedStepper = defineAirdropShape(Shape.Airdrops.TranchedStepper, {\n evm: AIRDROPS_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: true,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Variable claim amount airdrop.\n * Each recipient can claim a different amount based on Merkle proof data.\n */\nconst variableClaimAmount = defineAirdropShape(Shape.Airdrops.VariableClaimAmount, {\n evm: AIRDROPS_EVM_VCA,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Variable Claim Amount\",\n});\n\n/**\n * All airdrop shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency.\n */\nexport const airdropShapes = {\n [Shape.Airdrops.Cliff]: cliff,\n [Shape.Airdrops.Instant]: instant,\n [Shape.Airdrops.Linear]: linear,\n [Shape.Airdrops.LinearStepper]: linearStepper,\n [Shape.Airdrops.LinearUnlockCliff]: linearUnlockCliff,\n [Shape.Airdrops.LinearUnlockLinear]: linearUnlockLinear,\n [Shape.Airdrops.TranchedStepper]: tranchedStepper,\n [Shape.Airdrops.VariableClaimAmount]: variableClaimAmount,\n} satisfies AirdropShapesRecord;\n"]}
@@ -9,12 +9,12 @@ export const LOCKUP_EVM_LL = [
9
9
  { contract: "SablierV2LockupLinear", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_1 },
10
10
  { contract: "SablierV2LockupLinear", createMethods: LL_V1_METHODS, version: Version.Lockup.V1_0 },
11
11
  ];
12
- export const LOCKUP_EVM_LL_V2 = [
12
+ export const LOCKUP_V2_EVM_LL = [
13
13
  { contract: "SablierLockup", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },
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 = [
17
+ export const LOCKUP_V4_EVM_LL = [
18
18
  { contract: "SablierLockup", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },
19
19
  ];
20
20
  export const LOCKUP_SOLANA_LL = [
@@ -80,7 +80,7 @@ export const FLOW_EVM = [
80
80
  version: Version.Flow.V1_0,
81
81
  },
82
82
  ];
83
- export const AIRDROP_EVM_INSTANT = [
83
+ export const AIRDROPS_EVM_INSTANT = [
84
84
  {
85
85
  contract: "SablierFactoryMerkleInstant",
86
86
  createMethods: ["createMerkleInstant"],
@@ -97,14 +97,14 @@ export const AIRDROP_EVM_INSTANT = [
97
97
  version: Version.Airdrops.V1_3,
98
98
  },
99
99
  ];
100
- export const AIRDROP_SOLANA_INSTANT = [
100
+ export const AIRDROPS_SOLANA_INSTANT = [
101
101
  {
102
102
  createMethods: ["create_campaign"],
103
103
  program: "SablierMerkleInstant",
104
104
  version: "v0.1",
105
105
  },
106
106
  ];
107
- export const AIRDROP_EVM_LL = [
107
+ export const AIRDROPS_EVM_LL = [
108
108
  {
109
109
  contract: "SablierFactoryMerkleLL",
110
110
  createMethods: ["createMerkleLL"],
@@ -131,7 +131,14 @@ export const AIRDROP_EVM_LL = [
131
131
  version: Version.Airdrops.V1_1,
132
132
  },
133
133
  ];
134
- export const AIRDROP_EVM_LL_V2 = [
134
+ export const AIRDROPS_V3_EVM_LL = [
135
+ {
136
+ contract: "SablierFactoryMerkleLL",
137
+ createMethods: ["createMerkleLL"],
138
+ version: Version.Airdrops.V3_0,
139
+ },
140
+ ];
141
+ export const AIRDROPS_V2_EVM_LL = [
135
142
  {
136
143
  contract: "SablierFactoryMerkleLL",
137
144
  createMethods: ["createMerkleLL"],
@@ -143,7 +150,7 @@ export const AIRDROP_EVM_LL_V2 = [
143
150
  version: Version.Airdrops.V2_0,
144
151
  },
145
152
  ];
146
- export const AIRDROP_EVM_VCA = [
153
+ export const AIRDROPS_EVM_VCA = [
147
154
  {
148
155
  contract: "SablierFactoryMerkleVCA",
149
156
  createMethods: ["createMerkleVCA"],
@@ -155,7 +162,7 @@ export const AIRDROP_EVM_VCA = [
155
162
  version: Version.Airdrops.V2_0,
156
163
  },
157
164
  ];
158
- export const AIRDROP_EVM_LT = [
165
+ export const AIRDROPS_EVM_LT = [
159
166
  {
160
167
  contract: "SablierFactoryMerkleLT",
161
168
  createMethods: ["createMerkleLT"],
@@ -177,4 +184,4 @@ export const AIRDROP_EVM_LT = [
177
184
  version: Version.Airdrops.V1_2,
178
185
  },
179
186
  ];
180
- //# sourceMappingURL=constants.js.map
187
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/shapes/contracts.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_V2_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] as const satisfies readonly ContractMethod[];\n\n/** Lockup Linear contracts - v4.0+ only (granularity feature) */\nexport const LOCKUP_V4_EVM_LL = [\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/* AIRDROPS CONTRACTS */\n/* -------------------------------------------------------------------------- */\n\n/** Airdrops Instant factory contracts - v1.3+ */\nexport const AIRDROPS_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 Airdrops Instant program */\nexport const AIRDROPS_SOLANA_INSTANT = [\n {\n createMethods: [\"create_campaign\"],\n program: \"SablierMerkleInstant\",\n version: \"v0.1\",\n },\n] as const satisfies readonly ProgramMethod[];\n\n/** Airdrops Linear (LL) factory contracts - full history */\nexport const AIRDROPS_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/** Airdrops Linear (LL) factory contracts - v3.0+ only (granularity feature) */\nexport const AIRDROPS_V3_EVM_LL = [\n {\n contract: \"SablierFactoryMerkleLL\",\n createMethods: [\"createMerkleLL\"],\n version: Version.Airdrops.V3_0,\n },\n] as const satisfies readonly ContractMethod[];\n\n/** Airdrops Linear (LL) factory contracts - v2.0+ only */\nexport const AIRDROPS_V2_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] as const satisfies readonly ContractMethod[];\n\n/** Airdrops VCA factory contracts - v2.0+ */\nexport const AIRDROPS_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/** Airdrops Tranched (LT) factory contracts - v1.2+ */\nexport const AIRDROPS_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"]}
@@ -32,6 +32,7 @@ export var Shape;
32
32
  Airdrops["Cliff"] = "cliff";
33
33
  Airdrops["LinearUnlockLinear"] = "linearUnlockLinear";
34
34
  Airdrops["LinearUnlockCliff"] = "linearUnlockCliff";
35
+ Airdrops["LinearStepper"] = "linearStepper";
35
36
  Airdrops["TranchedStepper"] = "tranchedStepper";
36
37
  Airdrops["VariableClaimAmount"] = "variableClaimAmount";
37
38
  })(Airdrops = Shape.Airdrops || (Shape.Airdrops = {}));
@@ -1 +1 @@
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"]}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,KAAK,CAoCrB;AApCD,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,QASX;IATD,WAAY,QAAQ;QAClB,+BAAmB,CAAA;QACnB,6BAAiB,CAAA;QACjB,2BAAe,CAAA;QACf,qDAAyC,CAAA;QACzC,mDAAuC,CAAA;QACvC,2CAA+B,CAAA;QAC/B,+CAAmC,CAAA;QACnC,uDAA2C,CAAA;IAC7C,CAAC,EATW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QASnB;AACH,CAAC,EApCgB,KAAK,KAAL,KAAK,QAoCrB","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 LinearStepper = \"linearStepper\",\n TranchedStepper = \"tranchedStepper\",\n VariableClaimAmount = \"variableClaimAmount\",\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { FLOW_EVM } from "./constants.js";
1
+ import { FLOW_EVM } from "./contracts.js";
2
2
  import { Shape } from "./enums.js";
3
3
  import { defineFlowShape } from "./types.js";
4
4
  export const flow = defineFlowShape(Shape.Flow.Flow, {
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/shapes/flow.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,QAAQ;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;CACY,CAAC","sourcesContent":["/**\n * Flow shapes.\n *\n * Continuous streaming with real-time per-second vesting.\n */\n\nimport { FLOW_EVM } from \"./constants.js\";\nimport { Shape } from \"./enums.js\";\nimport type { FlowShapesRecord } from \"./types.js\";\nimport { defineFlowShape } from \"./types.js\";\n\n/**\n * Flow streaming.\n * Continuous streaming with adjustable rate and real-time withdrawals.\n */\nexport const flow = defineFlowShape(Shape.Flow.Flow, {\n evm: FLOW_EVM,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Flow\",\n});\n\n/** All Flow shapes indexed by ID */\nexport const flowShapes = {\n [Shape.Flow.Flow]: flow,\n} as const satisfies FlowShapesRecord;\n"]}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/shapes/flow.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM7C,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IACnD,GAAG,EAAE,QAAQ;IACb,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;CACY,CAAC","sourcesContent":["/**\n * Flow shapes.\n *\n * Continuous streaming with real-time per-second vesting.\n */\n\nimport { FLOW_EVM } from \"./contracts.js\";\nimport { Shape } from \"./enums.js\";\nimport type { FlowShapesRecord } from \"./types.js\";\nimport { defineFlowShape } from \"./types.js\";\n\n/**\n * Flow streaming.\n * Continuous streaming with adjustable rate and real-time withdrawals.\n */\nexport const flow = defineFlowShape(Shape.Flow.Flow, {\n evm: FLOW_EVM,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Flow\",\n});\n\n/** All Flow shapes indexed by ID */\nexport const flowShapes = {\n [Shape.Flow.Flow]: flow,\n} as const satisfies FlowShapesRecord;\n"]}
@@ -1,4 +1,4 @@
1
- import { LOCKUP_EVM_LD } from "../constants.js";
1
+ import { LOCKUP_EVM_LD } from "../contracts.js";
2
2
  import { Shape } from "../enums.js";
3
3
  import { defineLockupShape } from "../types.js";
4
4
  export const dynamicExponential = defineLockupShape(Shape.Lockup.DynamicExponential, {
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/dynamic.ts"],"names":[],"mappings":"AAOA,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,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC7F,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Dynamic-based (LD) lockup shapes.\n *\n * These shapes use the LockupDynamic contract family with custom\n * segment-based vesting curves.\n */\n\nimport { LOCKUP_EVM_LD } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Exponential vesting curve.\n * Tokens vest slowly at first, then accelerate toward the end.\n */\nexport const dynamicExponential = defineLockupShape(Shape.Lockup.DynamicExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Exponential\",\n});\n\n/**\n * Cliff followed by exponential vesting.\n * No tokens until cliff, then exponential acceleration.\n */\nexport const dynamicCliffExponential = defineLockupShape(Shape.Lockup.DynamicCliffExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Cliff Exponential\",\n});\n\n/**\n * Dynamic timelock.\n * All tokens unlock at a specific timestamp via dynamic segments.\n *\n * @remarks\n * Timelocks used to be created with LockupDynamic (from 2023 through early 2024).\n * When LockupTranched shipped in July 2024, new timelocks use LockupTranched instead.\n * @see https://github.com/sablier-labs/lockup/blob/main/CHANGELOG.md\n */\nexport const dynamicTimelock = defineLockupShape(Shape.Lockup.DynamicTimelock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Timelock\",\n});\n\n/**\n * Monthly vesting via dynamic segments.\n * Tokens unlock in monthly increments.\n */\nexport const dynamicMonthly = defineLockupShape(Shape.Lockup.DynamicMonthly, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Monthly\",\n});\n\n/**\n * Step-based vesting via dynamic segments.\n * Tokens unlock in discrete steps at regular intervals.\n */\nexport const dynamicStepper = defineLockupShape(Shape.Lockup.DynamicStepper, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Stepper\",\n});\n\n/**\n * Dynamic with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder after cliff via segments.\n */\nexport const dynamicUnlockCliff = defineLockupShape(Shape.Lockup.DynamicUnlockCliff, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Cliff\",\n});\n\n/**\n * Dynamic with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly via segments.\n */\nexport const dynamicUnlockLinear = defineLockupShape(Shape.Lockup.DynamicUnlockLinear, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Linear\",\n});\n\n/**\n * Double unlock pattern.\n * Two distinct unlock events with a waiting period between.\n */\nexport const dynamicDoubleUnlock = defineLockupShape(Shape.Lockup.DynamicDoubleUnlock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Double Unlock\",\n});\n"]}
1
+ {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/dynamic.ts"],"names":[],"mappings":"AAOA,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,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE;IAC7F,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE;IACrF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Dynamic-based (LD) lockup shapes.\n *\n * These shapes use the LockupDynamic contract family with custom\n * segment-based vesting curves.\n */\n\nimport { LOCKUP_EVM_LD } from \"../contracts.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Exponential vesting curve.\n * Tokens vest slowly at first, then accelerate toward the end.\n */\nexport const dynamicExponential = defineLockupShape(Shape.Lockup.DynamicExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Exponential\",\n});\n\n/**\n * Cliff followed by exponential vesting.\n * No tokens until cliff, then exponential acceleration.\n */\nexport const dynamicCliffExponential = defineLockupShape(Shape.Lockup.DynamicCliffExponential, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Cliff Exponential\",\n});\n\n/**\n * Dynamic timelock.\n * All tokens unlock at a specific timestamp via dynamic segments.\n *\n * @remarks\n * Timelocks used to be created with LockupDynamic (from 2023 through early 2024).\n * When LockupTranched shipped in July 2024, new timelocks use LockupTranched instead.\n * @see https://github.com/sablier-labs/lockup/blob/main/CHANGELOG.md\n */\nexport const dynamicTimelock = defineLockupShape(Shape.Lockup.DynamicTimelock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Timelock\",\n});\n\n/**\n * Monthly vesting via dynamic segments.\n * Tokens unlock in monthly increments.\n */\nexport const dynamicMonthly = defineLockupShape(Shape.Lockup.DynamicMonthly, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Monthly\",\n});\n\n/**\n * Step-based vesting via dynamic segments.\n * Tokens unlock in discrete steps at regular intervals.\n */\nexport const dynamicStepper = defineLockupShape(Shape.Lockup.DynamicStepper, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Stepper\",\n});\n\n/**\n * Dynamic with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder after cliff via segments.\n */\nexport const dynamicUnlockCliff = defineLockupShape(Shape.Lockup.DynamicUnlockCliff, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Cliff\",\n});\n\n/**\n * Dynamic with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly via segments.\n */\nexport const dynamicUnlockLinear = defineLockupShape(Shape.Lockup.DynamicUnlockLinear, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: true,\n name: \"Dynamic Unlock Linear\",\n});\n\n/**\n * Double unlock pattern.\n * Two distinct unlock events with a waiting period between.\n */\nexport const dynamicDoubleUnlock = defineLockupShape(Shape.Lockup.DynamicDoubleUnlock, {\n evm: LOCKUP_EVM_LD,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Dynamic Double Unlock\",\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { LOCKUP_EVM_LL, LOCKUP_EVM_LL_V2, LOCKUP_EVM_LL_V4, LOCKUP_SOLANA_LL, } from "../constants.js";
1
+ import { LOCKUP_EVM_LL, LOCKUP_SOLANA_LL, LOCKUP_V2_EVM_LL, LOCKUP_V4_EVM_LL, } from "../contracts.js";
2
2
  import { Shape } from "../enums.js";
3
3
  import { defineLockupShape } from "../types.js";
4
4
  export const linear = defineLockupShape(Shape.Lockup.Linear, {
@@ -16,27 +16,27 @@ export const cliff = defineLockupShape(Shape.Lockup.Cliff, {
16
16
  solana: LOCKUP_SOLANA_LL,
17
17
  });
18
18
  export const linearUnlockLinear = defineLockupShape(Shape.Lockup.LinearUnlockLinear, {
19
- evm: LOCKUP_EVM_LL_V2,
19
+ evm: LOCKUP_V2_EVM_LL,
20
20
  hasPredictableGas: true,
21
21
  isDeprecated: false,
22
22
  name: "Linear Unlock Linear",
23
23
  solana: LOCKUP_SOLANA_LL,
24
24
  });
25
25
  export const linearUnlockCliff = defineLockupShape(Shape.Lockup.LinearUnlockCliff, {
26
- evm: LOCKUP_EVM_LL_V2,
26
+ evm: LOCKUP_V2_EVM_LL,
27
27
  hasPredictableGas: true,
28
28
  isDeprecated: false,
29
29
  name: "Linear Unlock Cliff",
30
30
  solana: LOCKUP_SOLANA_LL,
31
31
  });
32
32
  export const linearStepper = defineLockupShape(Shape.Lockup.LinearStepper, {
33
- evm: LOCKUP_EVM_LL_V4,
33
+ evm: LOCKUP_V4_EVM_LL,
34
34
  hasPredictableGas: true,
35
35
  isDeprecated: false,
36
36
  name: "Linear Stepper",
37
37
  });
38
38
  export const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {
39
- evm: LOCKUP_EVM_LL_V2,
39
+ evm: LOCKUP_V2_EVM_LL,
40
40
  hasPredictableGas: true,
41
41
  isDeprecated: false,
42
42
  name: "Linear Timelock",
@@ -1 +1 @@
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"]}
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_SOLANA_LL,\n LOCKUP_V2_EVM_LL,\n LOCKUP_V4_EVM_LL,\n} from \"../contracts.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_V2_EVM_LL,\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_V2_EVM_LL,\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_V4_EVM_LL,\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_V2_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Timelock\",\n solana: LOCKUP_SOLANA_LL,\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { LOCKUP_EVM_LT } from "../constants.js";
1
+ import { LOCKUP_EVM_LT } from "../contracts.js";
2
2
  import { Shape } from "../enums.js";
3
3
  import { defineLockupShape } from "../types.js";
4
4
  export const tranchedStepper = defineLockupShape(Shape.Lockup.TranchedStepper, {
@@ -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;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"]}
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 \"../contracts.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"]}
@@ -3,6 +3,7 @@ export declare const airdropShapes: {
3
3
  cliff: import("./types.js").AirdropShapeDefinition<Shape.Airdrops.Cliff>;
4
4
  instant: import("./types.js").AirdropShapeDefinition<Shape.Airdrops.Instant>;
5
5
  linear: import("./types.js").AirdropShapeDefinition<Shape.Airdrops.Linear>;
6
+ linearStepper: import("./types.js").AirdropShapeDefinition<Shape.Airdrops.LinearStepper>;
6
7
  linearUnlockCliff: import("./types.js").AirdropShapeDefinition<Shape.Airdrops.LinearUnlockCliff>;
7
8
  linearUnlockLinear: import("./types.js").AirdropShapeDefinition<Shape.Airdrops.LinearUnlockLinear>;
8
9
  tranchedStepper: import("./types.js").AirdropShapeDefinition<Shape.Airdrops.TranchedStepper>;
@@ -1 +1 @@
1
- {"version":3,"file":"airdrops.d.ts","sourceRoot":"","sources":["../../../src/shapes/airdrops.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAsFnC,eAAO,MAAM,aAAa;;;;;;;;CAQK,CAAC"}
1
+ {"version":3,"file":"airdrops.d.ts","sourceRoot":"","sources":["../../../src/shapes/airdrops.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAoGnC,eAAO,MAAM,aAAa;;;;;;;;;CASK,CAAC"}
@@ -24,7 +24,7 @@ export declare const LOCKUP_EVM_LL: readonly [{
24
24
  readonly createMethods: readonly ["createWithDurations", "createWithTimestamps"];
25
25
  readonly version: Version.Lockup.V1_0;
26
26
  }];
27
- export declare const LOCKUP_EVM_LL_V2: readonly [{
27
+ export declare const LOCKUP_V2_EVM_LL: readonly [{
28
28
  readonly contract: "SablierLockup";
29
29
  readonly createMethods: readonly ["createWithDurationsLL", "createWithTimestampsLL"];
30
30
  readonly version: Version.Lockup.V4_0;
@@ -37,7 +37,7 @@ 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 [{
40
+ export declare const LOCKUP_V4_EVM_LL: readonly [{
41
41
  readonly contract: "SablierLockup";
42
42
  readonly createMethods: readonly ["createWithDurationsLL", "createWithTimestampsLL"];
43
43
  readonly version: Version.Lockup.V4_0;
@@ -106,7 +106,7 @@ export declare const FLOW_EVM: readonly [{
106
106
  readonly createMethods: readonly ["create", "createAndDeposit"];
107
107
  readonly version: Version.Flow.V1_0;
108
108
  }];
109
- export declare const AIRDROP_EVM_INSTANT: readonly [{
109
+ export declare const AIRDROPS_EVM_INSTANT: readonly [{
110
110
  readonly contract: "SablierFactoryMerkleInstant";
111
111
  readonly createMethods: readonly ["createMerkleInstant"];
112
112
  readonly version: Version.Airdrops.V3_0;
@@ -119,12 +119,12 @@ export declare const AIRDROP_EVM_INSTANT: readonly [{
119
119
  readonly createMethods: readonly ["createMerkleInstant"];
120
120
  readonly version: Version.Airdrops.V1_3;
121
121
  }];
122
- export declare const AIRDROP_SOLANA_INSTANT: readonly [{
122
+ export declare const AIRDROPS_SOLANA_INSTANT: readonly [{
123
123
  readonly createMethods: readonly ["create_campaign"];
124
124
  readonly program: "SablierMerkleInstant";
125
125
  readonly version: "v0.1";
126
126
  }];
127
- export declare const AIRDROP_EVM_LL: readonly [{
127
+ export declare const AIRDROPS_EVM_LL: readonly [{
128
128
  readonly contract: "SablierFactoryMerkleLL";
129
129
  readonly createMethods: readonly ["createMerkleLL"];
130
130
  readonly version: Version.Airdrops.V3_0;
@@ -145,7 +145,12 @@ export declare const AIRDROP_EVM_LL: readonly [{
145
145
  readonly createMethods: readonly ["createMerkleStreamerLL"];
146
146
  readonly version: Version.Airdrops.V1_1;
147
147
  }];
148
- export declare const AIRDROP_EVM_LL_V2: readonly [{
148
+ export declare const AIRDROPS_V3_EVM_LL: readonly [{
149
+ readonly contract: "SablierFactoryMerkleLL";
150
+ readonly createMethods: readonly ["createMerkleLL"];
151
+ readonly version: Version.Airdrops.V3_0;
152
+ }];
153
+ export declare const AIRDROPS_V2_EVM_LL: readonly [{
149
154
  readonly contract: "SablierFactoryMerkleLL";
150
155
  readonly createMethods: readonly ["createMerkleLL"];
151
156
  readonly version: Version.Airdrops.V3_0;
@@ -154,7 +159,7 @@ export declare const AIRDROP_EVM_LL_V2: readonly [{
154
159
  readonly createMethods: readonly ["createMerkleLL"];
155
160
  readonly version: Version.Airdrops.V2_0;
156
161
  }];
157
- export declare const AIRDROP_EVM_VCA: readonly [{
162
+ export declare const AIRDROPS_EVM_VCA: readonly [{
158
163
  readonly contract: "SablierFactoryMerkleVCA";
159
164
  readonly createMethods: readonly ["createMerkleVCA"];
160
165
  readonly version: Version.Airdrops.V3_0;
@@ -163,7 +168,7 @@ export declare const AIRDROP_EVM_VCA: readonly [{
163
168
  readonly createMethods: readonly ["createMerkleVCA"];
164
169
  readonly version: Version.Airdrops.V2_0;
165
170
  }];
166
- export declare const AIRDROP_EVM_LT: readonly [{
171
+ export declare const AIRDROPS_EVM_LT: readonly [{
167
172
  readonly contract: "SablierFactoryMerkleLT";
168
173
  readonly createMethods: readonly ["createMerkleLT"];
169
174
  readonly version: Version.Airdrops.V3_0;
@@ -180,4 +185,4 @@ export declare const AIRDROP_EVM_LT: readonly [{
180
185
  readonly createMethods: readonly ["createMerkleLT"];
181
186
  readonly version: Version.Airdrops.V1_2;
182
187
  }];
183
- //# sourceMappingURL=constants.d.ts.map
188
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/shapes/contracts.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,oBAAoB;;;;;;;;;;;;EAgBa,CAAC;AAG/C,eAAO,MAAM,uBAAuB;;;;EAMS,CAAC;AAG9C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;EA0BkB,CAAC;AAG/C,eAAO,MAAM,kBAAkB;;;;EAMe,CAAC;AAG/C,eAAO,MAAM,kBAAkB;;;;;;;;EAWe,CAAC;AAG/C,eAAO,MAAM,gBAAgB;;;;;;;;EAWiB,CAAC;AAG/C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EAqBkB,CAAC"}
@@ -28,6 +28,7 @@ export declare namespace Shape {
28
28
  Cliff = "cliff",
29
29
  LinearUnlockLinear = "linearUnlockLinear",
30
30
  LinearUnlockCliff = "linearUnlockCliff",
31
+ LinearStepper = "linearStepper",
31
32
  TranchedStepper = "tranchedStepper",
32
33
  VariableClaimAmount = "variableClaimAmount"
33
34
  }
@@ -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,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"}
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,aAAa,kBAAkB;QAC/B,eAAe,oBAAoB;QACnC,mBAAmB,wBAAwB;KAC5C;CACF"}
@@ -9,6 +9,7 @@ export declare const shapes: {
9
9
  cliff: import("./types.js").AirdropShapeDefinition<import("./enums.js").Shape.Airdrops.Cliff>;
10
10
  instant: import("./types.js").AirdropShapeDefinition<import("./enums.js").Shape.Airdrops.Instant>;
11
11
  linear: import("./types.js").AirdropShapeDefinition<import("./enums.js").Shape.Airdrops.Linear>;
12
+ linearStepper: import("./types.js").AirdropShapeDefinition<import("./enums.js").Shape.Airdrops.LinearStepper>;
12
13
  linearUnlockCliff: import("./types.js").AirdropShapeDefinition<import("./enums.js").Shape.Airdrops.LinearUnlockCliff>;
13
14
  linearUnlockLinear: import("./types.js").AirdropShapeDefinition<import("./enums.js").Shape.Airdrops.LinearUnlockLinear>;
14
15
  tranchedStepper: import("./types.js").AirdropShapeDefinition<import("./enums.js").Shape.Airdrops.TranchedStepper>;
@@ -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"}
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.1.0",
10
+ "version": "3.2.0",
11
11
  "type": "module",
12
12
  "author": {
13
13
  "name": "Sablier Labs Ltd",
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shapes/constants.ts"],"names":[],"mappings":";;;AAWA,iDAA6C;AAO7C,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,wBAAwB,CAAU,CAAC;AAChF,MAAM,aAAa,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,CAAU,CAAC;AAGlE,QAAA,aAAa,GAAG;IAC3B,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACjG,EAAE,QAAQ,EAAE,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACjG,EAAE,QAAQ,EAAE,uBAAuB,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;CACrD,CAAC;AAGlC,QAAA,gBAAgB,GAAG;IAC9B,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;CAC1C,CAAC;AAGlC,QAAA,gBAAgB,GAAG;IAC9B,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;CAC1C,CAAC;AAGlC,QAAA,gBAAgB,GAAG;IAC9B;QACE,aAAa,EAAE,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;QACxE,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,MAAM;KAChB;CAC0C,CAAC;AAM9C,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,wBAAwB,CAAU,CAAC;AAChF,MAAM,aAAa,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,CAAU,CAAC;AAGlE,QAAA,aAAa,GAAG;IAC3B,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,aAAa;QAC5B,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI;KAC7B;IACD;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,aAAa;QAC5B,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI;KAC7B;IACD;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,aAAa;QAC5B,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI;KAC7B;CAC2C,CAAC;AAM/C,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,wBAAwB,CAAU,CAAC;AAChF,MAAM,aAAa,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,CAAU,CAAC;AAGlE,QAAA,aAAa,GAAG;IAC3B,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACtF;QACE,QAAQ,EAAE,yBAAyB;QACnC,aAAa,EAAE,aAAa;QAC5B,OAAO,EAAE,kBAAO,CAAC,MAAM,CAAC,IAAI;KAC7B;CAC2C,CAAC;AAOlC,QAAA,QAAQ,GAAG;IACtB;QACE,QAAQ,EAAE,aAAa;QACvB,aAAa,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC7C,OAAO,EAAE,kBAAO,CAAC,IAAI,CAAC,IAAI;KAC3B;IACD;QACE,QAAQ,EAAE,aAAa;QACvB,aAAa,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC7C,OAAO,EAAE,kBAAO,CAAC,IAAI,CAAC,IAAI;KAC3B;IACD;QACE,QAAQ,EAAE,aAAa;QACvB,aAAa,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC7C,OAAO,EAAE,kBAAO,CAAC,IAAI,CAAC,IAAI;KAC3B;IACD;QACE,QAAQ,EAAE,aAAa;QACvB,aAAa,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC7C,OAAO,EAAE,kBAAO,CAAC,IAAI,CAAC,IAAI;KAC3B;CAC2C,CAAC;AAOlC,QAAA,mBAAmB,GAAG;IACjC;QACE,QAAQ,EAAE,6BAA6B;QACvC,aAAa,EAAE,CAAC,qBAAqB,CAAC;QACtC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,6BAA6B;QACvC,aAAa,EAAE,CAAC,qBAAqB,CAAC;QACtC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,sBAAsB;QAChC,aAAa,EAAE,CAAC,qBAAqB,CAAC;QACtC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;CAC2C,CAAC;AAGlC,QAAA,sBAAsB,GAAG;IACpC;QACE,aAAa,EAAE,CAAC,iBAAiB,CAAC;QAClC,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,MAAM;KAChB;CAC0C,CAAC;AAGjC,QAAA,cAAc,GAAG;IAC5B;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,sBAAsB;QAChC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,8BAA8B;QACxC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,gCAAgC;QAC1C,aAAa,EAAE,CAAC,wBAAwB,CAAC;QACzC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;CAC2C,CAAC;AAGlC,QAAA,iBAAiB,GAAG;IAC/B;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;CAC2C,CAAC;AAGlC,QAAA,eAAe,GAAG;IAC7B;QACE,QAAQ,EAAE,yBAAyB;QACnC,aAAa,EAAE,CAAC,iBAAiB,CAAC;QAClC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,yBAAyB;QACnC,aAAa,EAAE,CAAC,iBAAiB,CAAC;QAClC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;CAC2C,CAAC;AAGlC,QAAA,cAAc,GAAG;IAC5B;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,wBAAwB;QAClC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,sBAAsB;QAChC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;IACD;QACE,QAAQ,EAAE,8BAA8B;QACxC,aAAa,EAAE,CAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,kBAAO,CAAC,QAAQ,CAAC,IAAI;KAC/B;CAC2C,CAAC","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"]}
@@ -1 +0,0 @@
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"]}
@@ -1 +0,0 @@
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"}