sablier 3.0.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 (50) hide show
  1. package/CHANGELOG.md +26 -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} +19 -9
  5. package/dist/cjs/shapes/contracts.js.map +1 -0
  6. package/dist/cjs/shapes/enums.js +2 -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/index.js +1 -0
  13. package/dist/cjs/shapes/lockup/index.js.map +1 -1
  14. package/dist/cjs/shapes/lockup/linear.js +18 -12
  15. package/dist/cjs/shapes/lockup/linear.js.map +1 -1
  16. package/dist/cjs/shapes/lockup/tranched.js +6 -6
  17. package/dist/cjs/shapes/lockup/tranched.js.map +1 -1
  18. package/dist/esm/shapes/airdrops.js +17 -10
  19. package/dist/esm/shapes/airdrops.js.map +1 -1
  20. package/dist/esm/shapes/{constants.js → contracts.js} +18 -8
  21. package/dist/esm/shapes/contracts.js.map +1 -0
  22. package/dist/esm/shapes/enums.js +2 -0
  23. package/dist/esm/shapes/enums.js.map +1 -1
  24. package/dist/esm/shapes/flow.js +1 -1
  25. package/dist/esm/shapes/flow.js.map +1 -1
  26. package/dist/esm/shapes/lockup/dynamic.js +1 -1
  27. package/dist/esm/shapes/lockup/dynamic.js.map +1 -1
  28. package/dist/esm/shapes/lockup/index.js +1 -0
  29. package/dist/esm/shapes/lockup/index.js.map +1 -1
  30. package/dist/esm/shapes/lockup/linear.js +10 -4
  31. package/dist/esm/shapes/lockup/linear.js.map +1 -1
  32. package/dist/esm/shapes/lockup/tranched.js +2 -2
  33. package/dist/esm/shapes/lockup/tranched.js.map +1 -1
  34. package/dist/types/shapes/airdrops.d.ts +1 -0
  35. package/dist/types/shapes/airdrops.d.ts.map +1 -1
  36. package/dist/types/shapes/{constants.d.ts → contracts.d.ts} +18 -8
  37. package/dist/types/shapes/contracts.d.ts.map +1 -0
  38. package/dist/types/shapes/enums.d.ts +2 -0
  39. package/dist/types/shapes/enums.d.ts.map +1 -1
  40. package/dist/types/shapes/index.d.ts +2 -0
  41. package/dist/types/shapes/index.d.ts.map +1 -1
  42. package/dist/types/shapes/lockup/index.d.ts +1 -0
  43. package/dist/types/shapes/lockup/index.d.ts.map +1 -1
  44. package/dist/types/shapes/lockup/linear.d.ts +1 -0
  45. package/dist/types/shapes/lockup/linear.d.ts.map +1 -1
  46. package/dist/types/shapes/lockup/tranched.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/cjs/shapes/constants.js.map +0 -1
  49. package/dist/esm/shapes/constants.js.map +0 -1
  50. package/dist/types/shapes/constants.d.ts.map +0 -1
@@ -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,11 +9,14 @@ 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_V4_EVM_LL = [
18
+ { contract: "SablierLockup", createMethods: LL_METHODS, version: Version.Lockup.V4_0 },
19
+ ];
17
20
  export const LOCKUP_SOLANA_LL = [
18
21
  {
19
22
  createMethods: ["create_with_durations_ll", "create_with_timestamps_ll"],
@@ -77,7 +80,7 @@ export const FLOW_EVM = [
77
80
  version: Version.Flow.V1_0,
78
81
  },
79
82
  ];
80
- export const AIRDROP_EVM_INSTANT = [
83
+ export const AIRDROPS_EVM_INSTANT = [
81
84
  {
82
85
  contract: "SablierFactoryMerkleInstant",
83
86
  createMethods: ["createMerkleInstant"],
@@ -94,14 +97,14 @@ export const AIRDROP_EVM_INSTANT = [
94
97
  version: Version.Airdrops.V1_3,
95
98
  },
96
99
  ];
97
- export const AIRDROP_SOLANA_INSTANT = [
100
+ export const AIRDROPS_SOLANA_INSTANT = [
98
101
  {
99
102
  createMethods: ["create_campaign"],
100
103
  program: "SablierMerkleInstant",
101
104
  version: "v0.1",
102
105
  },
103
106
  ];
104
- export const AIRDROP_EVM_LL = [
107
+ export const AIRDROPS_EVM_LL = [
105
108
  {
106
109
  contract: "SablierFactoryMerkleLL",
107
110
  createMethods: ["createMerkleLL"],
@@ -128,7 +131,14 @@ export const AIRDROP_EVM_LL = [
128
131
  version: Version.Airdrops.V1_1,
129
132
  },
130
133
  ];
131
- 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 = [
132
142
  {
133
143
  contract: "SablierFactoryMerkleLL",
134
144
  createMethods: ["createMerkleLL"],
@@ -140,7 +150,7 @@ export const AIRDROP_EVM_LL_V2 = [
140
150
  version: Version.Airdrops.V2_0,
141
151
  },
142
152
  ];
143
- export const AIRDROP_EVM_VCA = [
153
+ export const AIRDROPS_EVM_VCA = [
144
154
  {
145
155
  contract: "SablierFactoryMerkleVCA",
146
156
  createMethods: ["createMerkleVCA"],
@@ -152,7 +162,7 @@ export const AIRDROP_EVM_VCA = [
152
162
  version: Version.Airdrops.V2_0,
153
163
  },
154
164
  ];
155
- export const AIRDROP_EVM_LT = [
165
+ export const AIRDROPS_EVM_LT = [
156
166
  {
157
167
  contract: "SablierFactoryMerkleLT",
158
168
  createMethods: ["createMerkleLT"],
@@ -174,4 +184,4 @@ export const AIRDROP_EVM_LT = [
174
184
  version: Version.Airdrops.V1_2,
175
185
  },
176
186
  ];
177
- //# 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"]}
@@ -12,6 +12,7 @@ export var Shape;
12
12
  Lockup["TranchedTimelock"] = "tranchedTimelock";
13
13
  Lockup["LinearUnlockLinear"] = "linearUnlockLinear";
14
14
  Lockup["LinearUnlockCliff"] = "linearUnlockCliff";
15
+ Lockup["LinearStepper"] = "linearStepper";
15
16
  Lockup["LinearTimelock"] = "linearTimelock";
16
17
  Lockup["DynamicTimelock"] = "dynamicTimelock";
17
18
  Lockup["DynamicMonthly"] = "dynamicMonthly";
@@ -31,6 +32,7 @@ export var Shape;
31
32
  Airdrops["Cliff"] = "cliff";
32
33
  Airdrops["LinearUnlockLinear"] = "linearUnlockLinear";
33
34
  Airdrops["LinearUnlockCliff"] = "linearUnlockCliff";
35
+ Airdrops["LinearStepper"] = "linearStepper";
34
36
  Airdrops["TranchedStepper"] = "tranchedStepper";
35
37
  Airdrops["VariableClaimAmount"] = "variableClaimAmount";
36
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,CAkCrB;AAlCD,WAAiB,KAAK;IACpB,IAAY,MAkBX;IAlBD,WAAY,MAAM;QAChB,2BAAiB,CAAA;QACjB,yBAAe,CAAA;QACf,6DAAmD,CAAA;QACnD,mDAAyC,CAAA;QACzC,uDAA6C,CAAA;QAC7C,6CAAmC,CAAA;QACnC,6CAAmC,CAAA;QACnC,+CAAqC,CAAA;QACrC,mDAAyC,CAAA;QACzC,iDAAuC,CAAA;QACvC,2CAAiC,CAAA;QACjC,6CAAmC,CAAA;QACnC,2CAAiC,CAAA;QACjC,2CAAiC,CAAA;QACjC,mDAAyC,CAAA;QACzC,qDAA2C,CAAA;QAC3C,qDAA2C,CAAA;IAC7C,CAAC,EAlBW,MAAM,GAAN,YAAM,KAAN,YAAM,QAkBjB;IAED,IAAY,IAEX;IAFD,WAAY,IAAI;QACd,qBAAa,CAAA;IACf,CAAC,EAFW,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAEf;IAED,IAAY,QAQX;IARD,WAAY,QAAQ;QAClB,+BAAmB,CAAA;QACnB,6BAAiB,CAAA;QACjB,2BAAe,CAAA;QACf,qDAAyC,CAAA;QACzC,mDAAuC,CAAA;QACvC,+CAAmC,CAAA;QACnC,uDAA2C,CAAA;IAC7C,CAAC,EARW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAQnB;AACH,CAAC,EAlCgB,KAAK,KAAL,KAAK,QAkCrB","sourcesContent":["export namespace Shape {\n export enum Lockup {\n Linear = \"linear\",\n Cliff = \"cliff\",\n DynamicCliffExponential = \"dynamicCliffExponential\",\n DynamicExponential = \"dynamicExponential\",\n TranchedBackweighted = \"tranchedBackweighted\",\n TranchedStepper = \"tranchedStepper\",\n TranchedMonthly = \"tranchedMonthly\",\n TranchedTimelock = \"tranchedTimelock\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n LinearTimelock = \"linearTimelock\",\n DynamicTimelock = \"dynamicTimelock\",\n DynamicMonthly = \"dynamicMonthly\",\n DynamicStepper = \"dynamicStepper\",\n DynamicUnlockCliff = \"dynamicUnlockCliff\",\n DynamicUnlockLinear = \"dynamicUnlockLinear\",\n DynamicDoubleUnlock = \"dynamicDoubleUnlock\",\n }\n\n export enum Flow {\n Flow = \"flow\",\n }\n\n export enum Airdrops {\n Instant = \"instant\",\n Linear = \"linear\",\n Cliff = \"cliff\",\n LinearUnlockLinear = \"linearUnlockLinear\",\n LinearUnlockCliff = \"linearUnlockCliff\",\n TranchedStepper = \"tranchedStepper\",\n VariableClaimAmount = \"variableClaimAmount\",\n }\n}\n"]}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/shapes/enums.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,KAAK,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"]}
@@ -13,6 +13,7 @@ export const lockupShapes = {
13
13
  [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,
14
14
  [Shape.Lockup.Cliff]: linear.cliff,
15
15
  [Shape.Lockup.Linear]: linear.linear,
16
+ [Shape.Lockup.LinearStepper]: linear.linearStepper,
16
17
  [Shape.Lockup.LinearTimelock]: linear.linearTimelock,
17
18
  [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,
18
19
  [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAM1C,MAAM,CAAC,MAAM,YAAY,GAAG;IAI1B,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB;IACvE,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAC/D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe;IACvD,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAI/D,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAClC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM;IACpC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc;IACpD,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,iBAAiB;IAC1D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,kBAAkB;IAI5D,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,oBAAoB;IAClE,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB;CAC9B,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC","sourcesContent":["/**\n * Lockup shapes aggregation module.\n *\n * Re-exports all lockup shapes organized by curve type and provides\n * the combined lockupShapes record.\n */\n\nimport { Shape } from \"../enums.js\";\nimport type { LockupShapesRecord } from \"../types.js\";\nimport * as dynamic from \"./dynamic.js\";\nimport * as linear from \"./linear.js\";\nimport * as tranched from \"./tranched.js\";\n\n/**\n * All lockup shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency. Please maintain this order.\n */\nexport const lockupShapes = {\n /* -------------------------------------------------------------------------- */\n /* DYNAMIC */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.DynamicCliffExponential]: dynamic.dynamicCliffExponential,\n [Shape.Lockup.DynamicDoubleUnlock]: dynamic.dynamicDoubleUnlock,\n [Shape.Lockup.DynamicExponential]: dynamic.dynamicExponential,\n [Shape.Lockup.DynamicMonthly]: dynamic.dynamicMonthly,\n [Shape.Lockup.DynamicStepper]: dynamic.dynamicStepper,\n [Shape.Lockup.DynamicTimelock]: dynamic.dynamicTimelock,\n [Shape.Lockup.DynamicUnlockCliff]: dynamic.dynamicUnlockCliff,\n [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* LINEAR */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.Cliff]: linear.cliff,\n [Shape.Lockup.Linear]: linear.linear,\n [Shape.Lockup.LinearTimelock]: linear.linearTimelock,\n [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,\n [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* TRANCHED */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.TranchedBackweighted]: tranched.tranchedBackweighted,\n [Shape.Lockup.TranchedMonthly]: tranched.tranchedMonthly,\n [Shape.Lockup.TranchedStepper]: tranched.tranchedStepper,\n [Shape.Lockup.TranchedTimelock]: tranched.tranchedTimelock,\n} satisfies LockupShapesRecord;\n\n// Re-export individual shapes for direct imports\nexport * from \"./dynamic.js\";\nexport * from \"./linear.js\";\nexport * from \"./tranched.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAM1C,MAAM,CAAC,MAAM,YAAY,GAAG;IAI1B,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB;IACvE,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAC/D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc;IACrD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe;IACvD,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB;IAC7D,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,mBAAmB;IAI/D,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAClC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM;IACpC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,aAAa;IAClD,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,cAAc;IACpD,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,iBAAiB;IAC1D,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,kBAAkB;IAI5D,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,oBAAoB;IAClE,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,eAAe;IACxD,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB;CAC9B,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC","sourcesContent":["/**\n * Lockup shapes aggregation module.\n *\n * Re-exports all lockup shapes organized by curve type and provides\n * the combined lockupShapes record.\n */\n\nimport { Shape } from \"../enums.js\";\nimport type { LockupShapesRecord } from \"../types.js\";\nimport * as dynamic from \"./dynamic.js\";\nimport * as linear from \"./linear.js\";\nimport * as tranched from \"./tranched.js\";\n\n/**\n * All lockup shapes indexed by shape ID.\n * Keys are alphabetically ordered for consistency. Please maintain this order.\n */\nexport const lockupShapes = {\n /* -------------------------------------------------------------------------- */\n /* DYNAMIC */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.DynamicCliffExponential]: dynamic.dynamicCliffExponential,\n [Shape.Lockup.DynamicDoubleUnlock]: dynamic.dynamicDoubleUnlock,\n [Shape.Lockup.DynamicExponential]: dynamic.dynamicExponential,\n [Shape.Lockup.DynamicMonthly]: dynamic.dynamicMonthly,\n [Shape.Lockup.DynamicStepper]: dynamic.dynamicStepper,\n [Shape.Lockup.DynamicTimelock]: dynamic.dynamicTimelock,\n [Shape.Lockup.DynamicUnlockCliff]: dynamic.dynamicUnlockCliff,\n [Shape.Lockup.DynamicUnlockLinear]: dynamic.dynamicUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* LINEAR */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.Cliff]: linear.cliff,\n [Shape.Lockup.Linear]: linear.linear,\n [Shape.Lockup.LinearStepper]: linear.linearStepper,\n [Shape.Lockup.LinearTimelock]: linear.linearTimelock,\n [Shape.Lockup.LinearUnlockCliff]: linear.linearUnlockCliff,\n [Shape.Lockup.LinearUnlockLinear]: linear.linearUnlockLinear,\n /* -------------------------------------------------------------------------- */\n /* TRANCHED */\n /* -------------------------------------------------------------------------- */\n [Shape.Lockup.TranchedBackweighted]: tranched.tranchedBackweighted,\n [Shape.Lockup.TranchedMonthly]: tranched.tranchedMonthly,\n [Shape.Lockup.TranchedStepper]: tranched.tranchedStepper,\n [Shape.Lockup.TranchedTimelock]: tranched.tranchedTimelock,\n} satisfies LockupShapesRecord;\n\n// Re-export individual shapes for direct imports\nexport * from \"./dynamic.js\";\nexport * from \"./linear.js\";\nexport * from \"./tranched.js\";\n"]}
@@ -1,4 +1,4 @@
1
- import { LOCKUP_EVM_LL, LOCKUP_EVM_LL_V2, LOCKUP_SOLANA_LL } from "../constants.js";
1
+ import { LOCKUP_EVM_LL, LOCKUP_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,21 +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
+ export const linearStepper = defineLockupShape(Shape.Lockup.LinearStepper, {
33
+ evm: LOCKUP_V4_EVM_LL,
34
+ hasPredictableGas: true,
35
+ isDeprecated: false,
36
+ name: "Linear Stepper",
37
+ });
32
38
  export const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {
33
- evm: LOCKUP_EVM_LL_V2,
39
+ evm: LOCKUP_V2_EVM_LL,
34
40
  hasPredictableGas: true,
35
41
  isDeprecated: false,
36
42
  name: "Linear Timelock",
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IACzD,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;IACjF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC","sourcesContent":["/**\n * Linear-based (LL) lockup shapes.\n *\n * These shapes use the LockupLinear contract family and share common\n * EVM contract configurations.\n */\n\nimport { LOCKUP_EVM_LL, LOCKUP_EVM_LL_V2, LOCKUP_SOLANA_LL } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Basic linear vesting.\n * Tokens vest continuously from start to end timestamp.\n */\nexport const linear = defineLockupShape(Shape.Lockup.Linear, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear vesting with cliff.\n * No tokens vest until cliff, then linear vesting from cliff to end.\n */\nexport const cliff = defineLockupShape(Shape.Lockup.Cliff, {\n evm: LOCKUP_EVM_LL,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then linear vesting.\n * A percentage unlocks immediately, remainder vests linearly.\n */\nexport const linearUnlockLinear = defineLockupShape(Shape.Lockup.LinearUnlockLinear, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Linear\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear with initial unlock, then cliff.\n * A percentage unlocks immediately, remainder vests after cliff.\n */\nexport const linearUnlockCliff = defineLockupShape(Shape.Lockup.LinearUnlockCliff, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Unlock Cliff\",\n solana: LOCKUP_SOLANA_LL,\n});\n\n/**\n * Linear timelock.\n * All tokens unlock at a specific timestamp (no gradual vesting).\n */\nexport const linearTimelock = defineLockupShape(Shape.Lockup.LinearTimelock, {\n evm: LOCKUP_EVM_LL_V2,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Linear Timelock\",\n solana: LOCKUP_SOLANA_LL,\n});\n"]}
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;IACzD,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;IACnF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;IACjF,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AASH,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE;IACzE,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,gBAAgB;CACvB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;IAC3E,GAAG,EAAE,gBAAgB;IACrB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC","sourcesContent":["/**\n * Linear-based (LL) lockup shapes.\n *\n * These shapes use the LockupLinear contract family and share common\n * EVM contract configurations.\n */\n\nimport {\n LOCKUP_EVM_LL,\n LOCKUP_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,10 +1,10 @@
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, {
5
5
  evm: LOCKUP_EVM_LT,
6
6
  hasPredictableGas: false,
7
- isDeprecated: false,
7
+ isDeprecated: true,
8
8
  name: "Tranched Stepper",
9
9
  });
10
10
  export const tranchedMonthly = defineLockupShape(Shape.Lockup.TranchedMonthly, {
@@ -1 +1 @@
1
- {"version":3,"file":"tranched.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMhD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC/E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE;IACvF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Tranched-style lockup shapes.\n *\n * These shapes use the LockupTranched (LT) contract family with discrete\n * tranche-based unlocks.\n *\n * @remarks\n * LockupTranched was introduced in v1.2 (July 2024).\n */\n\nimport { LOCKUP_EVM_LT } from \"../constants.js\";\nimport { Shape } from \"../enums.js\";\nimport { defineLockupShape } from \"../types.js\";\n\n/**\n * Step-based vesting via tranches.\n * Tokens unlock in discrete steps at regular intervals.\n */\nexport const tranchedStepper = defineLockupShape(Shape.Lockup.TranchedStepper, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Stepper\",\n});\n\n/**\n * Monthly vesting via tranches.\n * Tokens unlock monthly.\n */\nexport const tranchedMonthly = defineLockupShape(Shape.Lockup.TranchedMonthly, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Monthly\",\n});\n\n/**\n * Tranched timelock.\n * All tokens unlock at a specific timestamp via a single tranche.\n */\nexport const tranchedTimelock = defineLockupShape(Shape.Lockup.TranchedTimelock, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: true,\n isDeprecated: false,\n name: \"Tranched Timelock\",\n});\n\n/**\n * Backweighted tranches.\n * Larger amounts unlock toward the end of the schedule.\n */\nexport const tranchedBackweighted = defineLockupShape(Shape.Lockup.TranchedBackweighted, {\n evm: LOCKUP_EVM_LT,\n hasPredictableGas: false,\n isDeprecated: false,\n name: \"Tranched Backweighted\",\n});\n"]}
1
+ {"version":3,"file":"tranched.js","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAUhD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,IAAI;IAClB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE;IAC7E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC/E,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE;IACvF,GAAG,EAAE,aAAa;IAClB,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,KAAK;IACnB,IAAI,EAAE,uBAAuB;CAC9B,CAAC,CAAC","sourcesContent":["/**\n * Tranched-style lockup shapes.\n *\n * These shapes use the LockupTranched (LT) contract family with discrete\n * tranche-based unlocks.\n *\n * @remarks\n * LockupTranched was introduced in v1.2 (July 2024).\n */\n\nimport { LOCKUP_EVM_LT } from \"../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,6 +37,11 @@ export declare const LOCKUP_EVM_LL_V2: readonly [{
37
37
  readonly createMethods: readonly ["createWithDurationsLL", "createWithTimestampsLL"];
38
38
  readonly version: Version.Lockup.V2_0;
39
39
  }];
40
+ export declare const LOCKUP_V4_EVM_LL: readonly [{
41
+ readonly contract: "SablierLockup";
42
+ readonly createMethods: readonly ["createWithDurationsLL", "createWithTimestampsLL"];
43
+ readonly version: Version.Lockup.V4_0;
44
+ }];
40
45
  export declare const LOCKUP_SOLANA_LL: readonly [{
41
46
  readonly createMethods: readonly ["create_with_durations_ll", "create_with_timestamps_ll"];
42
47
  readonly program: "SablierLockupLinear";
@@ -101,7 +106,7 @@ export declare const FLOW_EVM: readonly [{
101
106
  readonly createMethods: readonly ["create", "createAndDeposit"];
102
107
  readonly version: Version.Flow.V1_0;
103
108
  }];
104
- export declare const AIRDROP_EVM_INSTANT: readonly [{
109
+ export declare const AIRDROPS_EVM_INSTANT: readonly [{
105
110
  readonly contract: "SablierFactoryMerkleInstant";
106
111
  readonly createMethods: readonly ["createMerkleInstant"];
107
112
  readonly version: Version.Airdrops.V3_0;
@@ -114,12 +119,12 @@ export declare const AIRDROP_EVM_INSTANT: readonly [{
114
119
  readonly createMethods: readonly ["createMerkleInstant"];
115
120
  readonly version: Version.Airdrops.V1_3;
116
121
  }];
117
- export declare const AIRDROP_SOLANA_INSTANT: readonly [{
122
+ export declare const AIRDROPS_SOLANA_INSTANT: readonly [{
118
123
  readonly createMethods: readonly ["create_campaign"];
119
124
  readonly program: "SablierMerkleInstant";
120
125
  readonly version: "v0.1";
121
126
  }];
122
- export declare const AIRDROP_EVM_LL: readonly [{
127
+ export declare const AIRDROPS_EVM_LL: readonly [{
123
128
  readonly contract: "SablierFactoryMerkleLL";
124
129
  readonly createMethods: readonly ["createMerkleLL"];
125
130
  readonly version: Version.Airdrops.V3_0;
@@ -140,7 +145,12 @@ export declare const AIRDROP_EVM_LL: readonly [{
140
145
  readonly createMethods: readonly ["createMerkleStreamerLL"];
141
146
  readonly version: Version.Airdrops.V1_1;
142
147
  }];
143
- 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 [{
144
154
  readonly contract: "SablierFactoryMerkleLL";
145
155
  readonly createMethods: readonly ["createMerkleLL"];
146
156
  readonly version: Version.Airdrops.V3_0;
@@ -149,7 +159,7 @@ export declare const AIRDROP_EVM_LL_V2: readonly [{
149
159
  readonly createMethods: readonly ["createMerkleLL"];
150
160
  readonly version: Version.Airdrops.V2_0;
151
161
  }];
152
- export declare const AIRDROP_EVM_VCA: readonly [{
162
+ export declare const AIRDROPS_EVM_VCA: readonly [{
153
163
  readonly contract: "SablierFactoryMerkleVCA";
154
164
  readonly createMethods: readonly ["createMerkleVCA"];
155
165
  readonly version: Version.Airdrops.V3_0;
@@ -158,7 +168,7 @@ export declare const AIRDROP_EVM_VCA: readonly [{
158
168
  readonly createMethods: readonly ["createMerkleVCA"];
159
169
  readonly version: Version.Airdrops.V2_0;
160
170
  }];
161
- export declare const AIRDROP_EVM_LT: readonly [{
171
+ export declare const AIRDROPS_EVM_LT: readonly [{
162
172
  readonly contract: "SablierFactoryMerkleLT";
163
173
  readonly createMethods: readonly ["createMerkleLT"];
164
174
  readonly version: Version.Airdrops.V3_0;
@@ -175,4 +185,4 @@ export declare const AIRDROP_EVM_LT: readonly [{
175
185
  readonly createMethods: readonly ["createMerkleLT"];
176
186
  readonly version: Version.Airdrops.V1_2;
177
187
  }];
178
- //# 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"}
@@ -10,6 +10,7 @@ export declare namespace Shape {
10
10
  TranchedTimelock = "tranchedTimelock",
11
11
  LinearUnlockLinear = "linearUnlockLinear",
12
12
  LinearUnlockCliff = "linearUnlockCliff",
13
+ LinearStepper = "linearStepper",
13
14
  LinearTimelock = "linearTimelock",
14
15
  DynamicTimelock = "dynamicTimelock",
15
16
  DynamicMonthly = "dynamicMonthly",
@@ -27,6 +28,7 @@ export declare namespace Shape {
27
28
  Cliff = "cliff",
28
29
  LinearUnlockLinear = "linearUnlockLinear",
29
30
  LinearUnlockCliff = "linearUnlockCliff",
31
+ LinearStepper = "linearStepper",
30
32
  TranchedStepper = "tranchedStepper",
31
33
  VariableClaimAmount = "variableClaimAmount"
32
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,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>;
@@ -28,6 +29,7 @@ export declare const shapes: {
28
29
  dynamicUnlockLinear: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.DynamicUnlockLinear>;
29
30
  cliff: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.Cliff>;
30
31
  linear: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.Linear>;
32
+ linearStepper: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearStepper>;
31
33
  linearTimelock: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearTimelock>;
32
34
  linearUnlockCliff: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearUnlockCliff>;
33
35
  linearUnlockLinear: import("./types.js").LockupShapeDefinition<import("./enums.js").Shape.Lockup.LinearUnlockLinear>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shapes/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,YAAY,CAAC;AAG3B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shapes/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,YAAY,CAAC;AAG3B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC"}
@@ -10,6 +10,7 @@ export declare const lockupShapes: {
10
10
  dynamicUnlockLinear: import("../types.js").LockupShapeDefinition<Shape.Lockup.DynamicUnlockLinear>;
11
11
  cliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.Cliff>;
12
12
  linear: import("../types.js").LockupShapeDefinition<Shape.Lockup.Linear>;
13
+ linearStepper: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearStepper>;
13
14
  linearTimelock: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearTimelock>;
14
15
  linearUnlockCliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockCliff>;
15
16
  linearUnlockLinear: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockLinear>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;CA2BK,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CA4BK,CAAC;AAG/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -3,5 +3,6 @@ export declare const linear: import("../types.js").LockupShapeDefinition<Shape.L
3
3
  export declare const cliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.Cliff>;
4
4
  export declare const linearUnlockLinear: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockLinear>;
5
5
  export declare const linearUnlockCliff: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearUnlockCliff>;
6
+ export declare const linearStepper: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearStepper>;
6
7
  export declare const linearTimelock: import("../types.js").LockupShapeDefinition<Shape.Lockup.LinearTimelock>;
7
8
  //# sourceMappingURL=linear.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,eAAO,MAAM,MAAM,kEAMjB,CAAC;AAMH,eAAO,MAAM,KAAK,iEAMhB,CAAC;AAMH,eAAO,MAAM,kBAAkB,8EAM7B,CAAC;AAMH,eAAO,MAAM,iBAAiB,6EAM5B,CAAC;AAMH,eAAO,MAAM,cAAc,0EAMzB,CAAC"}
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/linear.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,eAAO,MAAM,MAAM,kEAMjB,CAAC;AAMH,eAAO,MAAM,KAAK,iEAMhB,CAAC;AAMH,eAAO,MAAM,kBAAkB,8EAM7B,CAAC;AAMH,eAAO,MAAM,iBAAiB,6EAM5B,CAAC;AASH,eAAO,MAAM,aAAa,yEAKxB,CAAC;AAMH,eAAO,MAAM,cAAc,0EAMzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tranched.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,gBAAgB,4EAK3B,CAAC;AAMH,eAAO,MAAM,oBAAoB,gFAK/B,CAAC"}
1
+ {"version":3,"file":"tranched.d.ts","sourceRoot":"","sources":["../../../../src/shapes/lockup/tranched.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAWpC,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,eAAe,2EAK1B,CAAC;AAMH,eAAO,MAAM,gBAAgB,4EAK3B,CAAC;AAMH,eAAO,MAAM,oBAAoB,gFAK/B,CAAC"}