@skate-org/amm-core-v2 2.0.0-beta.1 → 2.0.0-beta.11

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 (38) hide show
  1. package/CHANGELOG.md +109 -155
  2. package/README.md +1 -1
  3. package/dist/adapter/skate.d.ts +15 -0
  4. package/dist/adapter/skate.d.ts.map +1 -1
  5. package/dist/deployment/aggregated/_type_.d.ts +10 -2
  6. package/dist/deployment/aggregated/_type_.d.ts.map +1 -1
  7. package/dist/deployment/aggregated/dev.d.ts.map +1 -1
  8. package/dist/deployment/aggregated/production.d.ts +3 -0
  9. package/dist/deployment/aggregated/production.d.ts.map +1 -1
  10. package/dist/deployment/aggregated/retrieval.d.ts +6 -2
  11. package/dist/deployment/aggregated/retrieval.d.ts.map +1 -1
  12. package/dist/deployment/aggregated/staging.d.ts +3 -0
  13. package/dist/deployment/aggregated/staging.d.ts.map +1 -1
  14. package/dist/deployment/index.d.ts +2 -0
  15. package/dist/deployment/index.d.ts.map +1 -1
  16. package/dist/deployment/kernel.d.ts +6 -14
  17. package/dist/deployment/kernel.d.ts.map +1 -1
  18. package/dist/deployment/periphery.d.ts +7 -3
  19. package/dist/deployment/periphery.d.ts.map +1 -1
  20. package/dist/deployment/sui.d.ts +96 -0
  21. package/dist/deployment/sui.d.ts.map +1 -0
  22. package/dist/deployment/svm.d.ts +121 -0
  23. package/dist/deployment/svm.d.ts.map +1 -0
  24. package/dist/index.cjs +240 -32
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.js +210 -32
  27. package/dist/index.js.map +1 -1
  28. package/dist/math/index.d.ts +1 -0
  29. package/dist/math/index.d.ts.map +1 -1
  30. package/dist/math/kernel.d.ts +16 -0
  31. package/dist/math/kernel.d.ts.map +1 -0
  32. package/dist/math/liquidityMath.d.ts +10 -5
  33. package/dist/math/liquidityMath.d.ts.map +1 -1
  34. package/dist/math/sqrtPriceMath.d.ts +2 -0
  35. package/dist/math/sqrtPriceMath.d.ts.map +1 -1
  36. package/dist/math/tickMath.d.ts +15 -0
  37. package/dist/math/tickMath.d.ts.map +1 -1
  38. package/package.json +1 -1
@@ -0,0 +1,121 @@
1
+ import { CHAIN, EnvMode } from "../types";
2
+ import type { SvmChain } from "../types/chain-vm";
3
+ /** Deploy-wide SVM pubkeys. Per-pool addresses live in `SVM_POOLS_<mode>`
4
+ * below; this struct holds the deploy-wide pieces shared across pools. */
5
+ export interface SvmDeployment {
6
+ peripheryPoolProgramId: string;
7
+ actionBoxProgramId: string;
8
+ /** `action_box state_v3` PDA. One per deploy. */
9
+ actionBoxStateV3: string;
10
+ /** `task_ledger` PDA (replay bitmap). */
11
+ taskLedger: string;
12
+ /** Manager pubkey — also serves as gateway and task-ledger admin. */
13
+ manager: string;
14
+ }
15
+ export declare const SVM_DEPLOYMENT_DEV: Partial<Record<SvmChain, SvmDeployment>>;
16
+ /** STAGING + PRODUCTION currently alias DEV — the v2 SVM deploy lives on
17
+ * Solana mainnet at the addresses above, and all three envs point at it
18
+ * until staging/prod ever fork off into separate deploys. Swap the right
19
+ * side of these `=` lines for literal objects when that day comes. */
20
+ export declare const SVM_DEPLOYMENT_STAGING: Partial<Record<SvmChain, SvmDeployment>>;
21
+ export declare const SVM_DEPLOYMENT_PRODUCTION: Partial<Record<SvmChain, SvmDeployment>>;
22
+ /** Returns `null` for an unregistered SvmChain in the chosen mode. */
23
+ export declare function SvmDeploymentFor(chain: SvmChain, mode: EnvMode): SvmDeployment | null;
24
+ /** Per-pool SVM addresses, keyed by `[poolKey][SvmChain]`. `poolKey` matches
25
+ * the key used by `POOL_INFO_Dev` (e.g. "USDC_USDT").
26
+ * - Adding a new SVM chain entry to an existing pool (e.g. Eclipse under
27
+ * USDC_USDT) requires editing this map only — `aggregated/dev.ts` picks
28
+ * it up automatically via the existing spread.
29
+ * - Adding a brand-new pool requires a new key here AND a new pool object
30
+ * in `aggregated/dev.ts` with `...SVM_POOLS_DEV.<key>` in its
31
+ * `peripheryInfo`. */
32
+ export declare const SVM_POOLS_DEV: {
33
+ USDC_USDT: {
34
+ 901: {
35
+ peripheryPool: string;
36
+ poolAuthority: string;
37
+ dust: string;
38
+ poolToken0Vault: string;
39
+ poolToken1Vault: string;
40
+ manager: string;
41
+ tokenProgramId0: string;
42
+ tokenProgramId1: string;
43
+ token0: {
44
+ address: string;
45
+ symbol: string;
46
+ isNative: false;
47
+ decimal: number;
48
+ chainId: CHAIN.SOLANA;
49
+ };
50
+ token1: {
51
+ address: string;
52
+ symbol: string;
53
+ isNative: false;
54
+ decimal: number;
55
+ chainId: CHAIN.SOLANA;
56
+ };
57
+ chain: string;
58
+ };
59
+ };
60
+ };
61
+ /** STAGING + PRODUCTION pool maps alias DEV for the same reason as
62
+ * SVM_DEPLOYMENT_*. Replace with literal objects when an env diverges. */
63
+ export declare const SVM_POOLS_STAGING: {
64
+ USDC_USDT: {
65
+ 901: {
66
+ peripheryPool: string;
67
+ poolAuthority: string;
68
+ dust: string;
69
+ poolToken0Vault: string;
70
+ poolToken1Vault: string;
71
+ manager: string;
72
+ tokenProgramId0: string;
73
+ tokenProgramId1: string;
74
+ token0: {
75
+ address: string;
76
+ symbol: string;
77
+ isNative: false;
78
+ decimal: number;
79
+ chainId: CHAIN.SOLANA;
80
+ };
81
+ token1: {
82
+ address: string;
83
+ symbol: string;
84
+ isNative: false;
85
+ decimal: number;
86
+ chainId: CHAIN.SOLANA;
87
+ };
88
+ chain: string;
89
+ };
90
+ };
91
+ };
92
+ export declare const SVM_POOLS_PRODUCTION: {
93
+ USDC_USDT: {
94
+ 901: {
95
+ peripheryPool: string;
96
+ poolAuthority: string;
97
+ dust: string;
98
+ poolToken0Vault: string;
99
+ poolToken1Vault: string;
100
+ manager: string;
101
+ tokenProgramId0: string;
102
+ tokenProgramId1: string;
103
+ token0: {
104
+ address: string;
105
+ symbol: string;
106
+ isNative: false;
107
+ decimal: number;
108
+ chainId: CHAIN.SOLANA;
109
+ };
110
+ token1: {
111
+ address: string;
112
+ symbol: string;
113
+ isNative: false;
114
+ decimal: number;
115
+ chainId: CHAIN.SOLANA;
116
+ };
117
+ chain: string;
118
+ };
119
+ };
120
+ };
121
+ //# sourceMappingURL=svm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svm.d.ts","sourceRoot":"","sources":["../../src/deployment/svm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD;2EAC2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAQvE,CAAC;AAEF;;;uEAGuE;AACvE,eAAO,MAAM,sBAAsB,0CAAqB,CAAC;AACzD,eAAO,MAAM,yBAAyB,0CAAqB,CAAC;AAE5D,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,OAAO,GACZ,aAAa,GAAG,IAAI,CAStB;AAKD;;;;;;;yBAOyB;AACzB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B6C,CAAC;AAExE;2EAC2E;AAC3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC;AAC/C,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
package/dist/index.cjs CHANGED
@@ -30,20 +30,43 @@ __export(index_exports, {
30
30
  KernelEventEmitterAddress: () => KernelEventEmitterAddress,
31
31
  KernelManagerAddress: () => KernelManagerAddress,
32
32
  MAX_SQRT_PRICE_LIMIT: () => MAX_SQRT_PRICE_LIMIT,
33
+ MAX_SQRT_PRICE_X96: () => MAX_SQRT_PRICE_X96,
33
34
  MAX_SQRT_RATIO: () => MAX_SQRT_RATIO,
34
35
  MAX_TICK: () => MAX_TICK,
35
36
  MIN_SQRT_PRICE_LIMIT: () => MIN_SQRT_PRICE_LIMIT,
37
+ MIN_SQRT_PRICE_X96: () => MIN_SQRT_PRICE_X96,
36
38
  MIN_SQRT_RATIO: () => MIN_SQRT_RATIO,
37
39
  MIN_TICK: () => MIN_TICK,
40
+ NORMALIZED_DECIMAL: () => NORMALIZED_DECIMAL,
38
41
  PERIPHERY_DEV: () => PERIPHERY_DEV,
42
+ PERIPHERY_PRODUCTION: () => PERIPHERY_PRODUCTION,
43
+ PERIPHERY_STAGING: () => PERIPHERY_STAGING,
39
44
  POOL_INFO_Dev: () => POOL_INFO_Dev,
40
45
  POOL_INFO_Production: () => POOL_INFO_Production,
41
46
  POOL_INFO_Staging: () => POOL_INFO_Staging,
47
+ PRICE_INF: () => PRICE_INF,
48
+ PRICE_ZERO: () => PRICE_ZERO,
42
49
  PeripheryDeploymentFor: () => PeripheryDeploymentFor,
43
50
  PeripheryEventEmitterAddress: () => PeripheryEventEmitterAddress,
44
51
  PeripheryManagerAddress: () => PeripheryManagerAddress,
52
+ Q96: () => Q96,
53
+ SUI_DEPLOYMENT_DEV: () => SUI_DEPLOYMENT_DEV,
54
+ SUI_DEPLOYMENT_PRODUCTION: () => SUI_DEPLOYMENT_PRODUCTION,
55
+ SUI_DEPLOYMENT_STAGING: () => SUI_DEPLOYMENT_STAGING,
56
+ SUI_POOLS_DEV: () => SUI_POOLS_DEV,
57
+ SUI_POOLS_PRODUCTION: () => SUI_POOLS_PRODUCTION,
58
+ SUI_POOLS_STAGING: () => SUI_POOLS_STAGING,
59
+ SVM_DEPLOYMENT_DEV: () => SVM_DEPLOYMENT_DEV,
60
+ SVM_DEPLOYMENT_PRODUCTION: () => SVM_DEPLOYMENT_PRODUCTION,
61
+ SVM_DEPLOYMENT_STAGING: () => SVM_DEPLOYMENT_STAGING,
62
+ SVM_POOLS_DEV: () => SVM_POOLS_DEV,
63
+ SVM_POOLS_PRODUCTION: () => SVM_POOLS_PRODUCTION,
64
+ SVM_POOLS_STAGING: () => SVM_POOLS_STAGING,
45
65
  SdkError: () => SdkError,
46
66
  SkateGatewayAddress: () => SkateGatewayAddress,
67
+ SuiDeploymentFor: () => SuiDeploymentFor,
68
+ SvmDeploymentFor: () => SvmDeploymentFor,
69
+ TICK_VALUE: () => TICK_VALUE,
47
70
  TaskPhase: () => TaskPhase,
48
71
  VM: () => VM,
49
72
  addDelta: () => addDelta,
@@ -52,6 +75,7 @@ __export(index_exports, {
52
75
  bufferFromBase58: () => bufferFromBase58,
53
76
  bytes32ToBase58: () => bytes32ToBase58,
54
77
  bytes32ToEvmAddress: () => bytes32ToEvmAddress,
78
+ deNormalizeAmount: () => deNormalizeAmount,
55
79
  evmAddressToBytes32: () => evmAddressToBytes32,
56
80
  findTokensBySymbol: () => findTokensBySymbol,
57
81
  fromBytes32Address: () => fromBytes32Address,
@@ -62,6 +86,8 @@ __export(index_exports, {
62
86
  getAmount1Delta: () => getAmount1Delta,
63
87
  getAmount1DeltaSigned: () => getAmount1DeltaSigned,
64
88
  getBlockExplorer: () => getBlockExplorer,
89
+ getLiquidityForAmount0: () => getLiquidityForAmount0,
90
+ getLiquidityForAmount1: () => getLiquidityForAmount1,
65
91
  getNextSqrtPriceFromAmount0RoundingUp: () => getNextSqrtPriceFromAmount0RoundingUp,
66
92
  getNextSqrtPriceFromAmount1RoundingDown: () => getNextSqrtPriceFromAmount1RoundingDown,
67
93
  getNextSqrtPriceFromInput: () => getNextSqrtPriceFromInput,
@@ -69,18 +95,22 @@ __export(index_exports, {
69
95
  getOtherTokensInPairs: () => getOtherTokensInPairs,
70
96
  getPeripheryDetailsByKernelPoolAndChainId: () => getPeripheryDetailsByKernelPoolAndChainId,
71
97
  getPoolInfoByKey: () => getPoolInfoByKey,
98
+ getPriceAtTick: () => getPriceAtTick,
72
99
  getSqrtRatioAtTick: () => getSqrtRatioAtTick,
73
100
  getSupportedChains: () => getSupportedChains,
74
101
  getSupportedPairs: () => getSupportedPairs,
75
102
  getSupportedTokens: () => getSupportedTokens,
103
+ getTickAtPrice: () => getTickAtPrice,
76
104
  getTickAtSqrtRatio: () => getTickAtSqrtRatio,
77
105
  getTokenSymbol: () => getTokenSymbol,
78
106
  hexToBase58: () => hexToBase58,
79
107
  kernelPoolToPoolKey: () => kernelPoolToPoolKey,
80
108
  mulDiv: () => mulDiv,
81
109
  mulDivRoundingUp: () => mulDivRoundingUp,
110
+ normalizeAmount: () => normalizeAmount,
82
111
  normalizeMode: () => normalizeMode,
83
112
  skateAdapter: () => skate_exports,
113
+ svmBytes32Base58ToEvmAddress: () => svmBytes32Base58ToEvmAddress,
84
114
  toBase58: () => toBase58,
85
115
  toBytes32Address: () => toBytes32Address,
86
116
  vmTypeFromChain: () => vmTypeFromChain
@@ -222,17 +252,9 @@ var TaskPhase = /* @__PURE__ */ ((TaskPhase2) => {
222
252
  return TaskPhase2;
223
253
  })(TaskPhase || {});
224
254
 
225
- // src/errors.ts
226
- var SdkError = class extends Error {
227
- name = "SdkError";
228
- constructor(message, options) {
229
- super(message, options);
230
- }
231
- };
232
-
233
255
  // src/deployment/kernel.ts
234
- var KERNEL_MANAGER_Dev = "0x17B7207837e8884f7f687f1f4057751BDAf70a01";
235
- var KERNEL_EVENT_EMITTER_Dev = "0x8989b3ecb65f250ab7A0DC03589B0Cc8b8b04b81";
256
+ var KERNEL_MANAGER = "0x17B7207837e8884f7f687f1f4057751BDAf70a01";
257
+ var KERNEL_EVENT_EMITTER = "0x8989b3ecb65f250ab7A0DC03589B0Cc8b8b04b81";
236
258
  var KERNEL_POOL_USDC_USDT_Dev = "0x2c23334eE3b030e6bacEDEDf7C511eEA08Cf7E7e";
237
259
  var KERNEL_CHAIN_BY_MODE = {
238
260
  DEV: 4326 /* MEGAETH */,
@@ -242,18 +264,11 @@ var KERNEL_CHAIN_BY_MODE = {
242
264
  function KernelChain(mode) {
243
265
  return KERNEL_CHAIN_BY_MODE[mode];
244
266
  }
245
- function notDeployed(scope, mode) {
246
- throw new SdkError(
247
- `${scope}: SDK v2 is not yet deployed to ${mode}; only DEV is wired today. Either pass mode="DEV" or wait for the v2 service to ship to ${mode}.`
248
- );
267
+ function KernelManagerAddress(_mode) {
268
+ return KERNEL_MANAGER;
249
269
  }
250
- function KernelManagerAddress(mode) {
251
- if (mode === "DEV") return KERNEL_MANAGER_Dev;
252
- return notDeployed("KernelManagerAddress", mode);
253
- }
254
- function KernelEventEmitterAddress(mode) {
255
- if (mode === "DEV") return KERNEL_EVENT_EMITTER_Dev;
256
- return notDeployed("KernelEventEmitterAddress", mode);
270
+ function KernelEventEmitterAddress(_mode) {
271
+ return KERNEL_EVENT_EMITTER;
257
272
  }
258
273
 
259
274
  // src/deployment/periphery.ts
@@ -269,14 +284,17 @@ var PERIPHERY_DEV = {
269
284
  peripheryPoolImpl: "0x803ed7fa8934D4fe51A276cA02506b585cdb3eb4"
270
285
  }
271
286
  };
272
- function notDeployed2(scope, mode) {
273
- throw new SdkError(
274
- `${scope}: SDK v2 is not yet deployed to ${mode}; only DEV is wired today. Either pass mode="DEV" or wait for the v2 service to ship to ${mode}.`
275
- );
276
- }
287
+ var PERIPHERY_STAGING = PERIPHERY_DEV;
288
+ var PERIPHERY_PRODUCTION = PERIPHERY_DEV;
277
289
  function PeripheryDeploymentFor(chain, mode) {
278
- if (mode !== "DEV") return notDeployed2("PeripheryDeploymentFor", mode);
279
- return PERIPHERY_DEV[chain] ?? null;
290
+ switch (mode) {
291
+ case "DEV":
292
+ return PERIPHERY_DEV[chain] ?? null;
293
+ case "STAGING":
294
+ return PERIPHERY_STAGING[chain] ?? null;
295
+ case "PRODUCTION":
296
+ return PERIPHERY_PRODUCTION[chain] ?? null;
297
+ }
280
298
  }
281
299
  function PeripheryManagerAddress(chain, mode) {
282
300
  return PeripheryDeploymentFor(chain, mode)?.peripheryManager ?? null;
@@ -291,6 +309,106 @@ function ActionBoxAddress(chain, mode) {
291
309
  return PeripheryDeploymentFor(chain, mode)?.actionBox ?? null;
292
310
  }
293
311
 
312
+ // src/deployment/svm.ts
313
+ var SVM_DEPLOYMENT_DEV = {
314
+ [901 /* SOLANA */]: {
315
+ peripheryPoolProgramId: "SPPZB76TV1oSusXvGYQDK7KZGyLBmWbr8CuzNcjb98y",
316
+ actionBoxProgramId: "SABZ2zgj8G8jD7V9s6hSMkT1fvNyMavssNigmmTMqa2",
317
+ actionBoxStateV3: "G1qLtJDbkY4JBtD7sdjqGN8GJ38QRDbzp2fWEYY4apAh",
318
+ taskLedger: "SkTLHEfy9X3PeMVa2dEYysg9Ccq8KtNG7zYNTAaB1NV",
319
+ manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA"
320
+ }
321
+ };
322
+ var SVM_DEPLOYMENT_STAGING = SVM_DEPLOYMENT_DEV;
323
+ var SVM_DEPLOYMENT_PRODUCTION = SVM_DEPLOYMENT_DEV;
324
+ function SvmDeploymentFor(chain, mode) {
325
+ switch (mode) {
326
+ case "DEV":
327
+ return SVM_DEPLOYMENT_DEV[chain] ?? null;
328
+ case "STAGING":
329
+ return SVM_DEPLOYMENT_STAGING[chain] ?? null;
330
+ case "PRODUCTION":
331
+ return SVM_DEPLOYMENT_PRODUCTION[chain] ?? null;
332
+ }
333
+ }
334
+ var TOKEN_PROGRAM_ID = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
335
+ var SVM_POOLS_DEV = {
336
+ USDC_USDT: {
337
+ [901 /* SOLANA */]: {
338
+ peripheryPool: "G2j8vLu3ryzUqPYpknpBcBLDcFiiRmXtB7z9Dpg9dVxe",
339
+ poolAuthority: "2Mvbo1TrsVeqyjQwNcdDDGjFNbwMk4tV8oD2TN2fV4Nw",
340
+ dust: "4m1AdUZvYJUSMTYpFH8df1JrgHTqUeKA3Xf7DapB4VcX",
341
+ poolToken0Vault: "BihGfVYmaT4KpiHiBLwH2ad9Q2ybYVHS2Bd3hQtzg486",
342
+ poolToken1Vault: "3DW4k4ims6dFB2cXBk5m1uAfh1zowuj9CzBbF4jm1FRh",
343
+ manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
344
+ tokenProgramId0: TOKEN_PROGRAM_ID,
345
+ tokenProgramId1: TOKEN_PROGRAM_ID,
346
+ token0: {
347
+ address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
348
+ symbol: "USDC",
349
+ isNative: false,
350
+ decimal: 6,
351
+ chainId: 901 /* SOLANA */
352
+ },
353
+ token1: {
354
+ address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
355
+ symbol: "USDT",
356
+ isNative: false,
357
+ decimal: 6,
358
+ chainId: 901 /* SOLANA */
359
+ },
360
+ chain: "SOLANA"
361
+ }
362
+ }
363
+ };
364
+ var SVM_POOLS_STAGING = SVM_POOLS_DEV;
365
+ var SVM_POOLS_PRODUCTION = SVM_POOLS_DEV;
366
+
367
+ // src/deployment/sui.ts
368
+ var SUI_DEPLOYMENT_DEV = {
369
+ [1001 /* SUI */]: {
370
+ peripheryPackage: "0x96e1d3897efee30bede047a14d186a952350d4759d3175f76ff6ac2c4a121901"
371
+ }
372
+ };
373
+ var SUI_DEPLOYMENT_STAGING = SUI_DEPLOYMENT_DEV;
374
+ var SUI_DEPLOYMENT_PRODUCTION = SUI_DEPLOYMENT_DEV;
375
+ function SuiDeploymentFor(chain, mode) {
376
+ switch (mode) {
377
+ case "DEV":
378
+ return SUI_DEPLOYMENT_DEV[chain] ?? null;
379
+ case "STAGING":
380
+ return SUI_DEPLOYMENT_STAGING[chain] ?? null;
381
+ case "PRODUCTION":
382
+ return SUI_DEPLOYMENT_PRODUCTION[chain] ?? null;
383
+ }
384
+ }
385
+ var SUI_POOLS_DEV = {
386
+ USDC_USDT: {
387
+ [1001 /* SUI */]: {
388
+ poolId: "0xc014f7cb0a2604fb887d09165242828e6fe913f30d7ae2bea80199caed5ccbcb",
389
+ managerCapId: "0xca34c6dff464f42a349294fa9fbe67a6d72eb999081db8de3fd56672b68863ee",
390
+ peripheryPackage: "0x96e1d3897efee30bede047a14d186a952350d4759d3175f76ff6ac2c4a121901",
391
+ token0: {
392
+ address: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
393
+ symbol: "USDC",
394
+ isNative: false,
395
+ decimal: 6,
396
+ chainId: 1001 /* SUI */
397
+ },
398
+ token1: {
399
+ address: "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
400
+ symbol: "USDT",
401
+ isNative: false,
402
+ decimal: 6,
403
+ chainId: 1001 /* SUI */
404
+ },
405
+ chain: "SUI"
406
+ }
407
+ }
408
+ };
409
+ var SUI_POOLS_STAGING = SUI_POOLS_DEV;
410
+ var SUI_POOLS_PRODUCTION = SUI_POOLS_DEV;
411
+
294
412
  // src/deployment/aggregated/dev.ts
295
413
  var POOL_INFO_Dev = {
296
414
  USDC_USDT: {
@@ -316,16 +434,18 @@ var POOL_INFO_Dev = {
316
434
  },
317
435
  address: "0x0433CCB013a590eA4231aAC9ddf05bb753c14127",
318
436
  chain: "ARBITRUM"
319
- }
437
+ },
438
+ ...SVM_POOLS_DEV.USDC_USDT,
439
+ ...SUI_POOLS_DEV.USDC_USDT
320
440
  }
321
441
  }
322
442
  };
323
443
 
324
444
  // src/deployment/aggregated/staging.ts
325
- var POOL_INFO_Staging = {};
445
+ var POOL_INFO_Staging = POOL_INFO_Dev;
326
446
 
327
447
  // src/deployment/aggregated/production.ts
328
- var POOL_INFO_Production = {};
448
+ var POOL_INFO_Production = POOL_INFO_Dev;
329
449
 
330
450
  // src/deployment/aggregated/retrieval.ts
331
451
  function getAllPoolInfo(mode = "PRODUCTION") {
@@ -413,7 +533,8 @@ function getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId, mode = "
413
533
  const info = getAllPoolInfo(mode);
414
534
  return info[poolKey]?.peripheryInfo[chainId] ?? null;
415
535
  }
416
- function findTokensBySymbol(symbol, chainIds, mode = "PRODUCTION") {
536
+ function findTokensBySymbol(args) {
537
+ const { symbol, chainIds, mode = "PRODUCTION" } = args;
417
538
  const normalized = symbol.toLowerCase();
418
539
  const chains = chainIds ?? getSupportedChains(mode);
419
540
  const out = [];
@@ -448,6 +569,7 @@ __export(skate_exports, {
448
569
  evmAddressToBytes32: () => evmAddressToBytes32,
449
570
  fromBytes32Address: () => fromBytes32Address,
450
571
  hexToBase58: () => hexToBase58,
572
+ svmBytes32Base58ToEvmAddress: () => svmBytes32Base58ToEvmAddress,
451
573
  toBase58: () => toBase58,
452
574
  toBytes32Address: () => toBytes32Address
453
575
  });
@@ -582,6 +704,9 @@ function bytes32ToEvmAddress(bytes32) {
582
704
  const addressBigInt = userBigInt & BigInt("0xffffffffffffffffffffffffffffffffffffffff");
583
705
  return `0x${addressBigInt.toString(16).padStart(40, "0")}`.toLowerCase();
584
706
  }
707
+ function svmBytes32Base58ToEvmAddress(value) {
708
+ return bytes32ToEvmAddress(base58ToBytes32(value));
709
+ }
585
710
  function toBase58(buffer) {
586
711
  return bs58Encode(buffer);
587
712
  }
@@ -616,6 +741,14 @@ function fromBytes32Address(bytes32Address, vmType) {
616
741
  }
617
742
  }
618
743
 
744
+ // src/errors.ts
745
+ var SdkError = class extends Error {
746
+ name = "SdkError";
747
+ constructor(message, options) {
748
+ super(message, options);
749
+ }
750
+ };
751
+
619
752
  // src/math/tickMath.ts
620
753
  var MAX_UINT256 = (1n << 256n) - 1n;
621
754
  var Q160_MASK = (1n << 160n) - 1n;
@@ -626,6 +759,11 @@ var MIN_SQRT_RATIO = 4295128739n;
626
759
  var MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
627
760
  var MIN_SQRT_PRICE_LIMIT = MIN_SQRT_RATIO + 1n;
628
761
  var MAX_SQRT_PRICE_LIMIT = MAX_SQRT_RATIO - 1n;
762
+ var MIN_SQRT_PRICE_X96 = MIN_SQRT_PRICE_LIMIT;
763
+ var MAX_SQRT_PRICE_X96 = MAX_SQRT_PRICE_LIMIT;
764
+ var TICK_VALUE = 1.0001;
765
+ var PRICE_ZERO = 0;
766
+ var PRICE_INF = 2 ** 32 - 1;
629
767
  function getSqrtRatioAtTick(tick) {
630
768
  if (!Number.isInteger(tick)) {
631
769
  throw new Error("TickMath: tick must be an integer");
@@ -754,6 +892,17 @@ function toInt24(x) {
754
892
  const signed = truncated >= 1n << 23n ? truncated - (1n << 24n) : truncated;
755
893
  return Number(signed);
756
894
  }
895
+ function getPriceAtTick(tick) {
896
+ const sqrtPriceX96 = getSqrtRatioAtTick(tick);
897
+ const Q962 = 1n << 96n;
898
+ return (Number(sqrtPriceX96) / Number(Q962)) ** 2;
899
+ }
900
+ function getTickAtPrice(price) {
901
+ if (price < 0) {
902
+ throw new Error(`getTickAtPrice: invalid price=${price}`);
903
+ }
904
+ return Math.round(Math.log(price) / Math.log(TICK_VALUE));
905
+ }
757
906
 
758
907
  // src/math/fullMath.ts
759
908
  var MAX_UINT2562 = (1n << 256n) - 1n;
@@ -961,6 +1110,35 @@ function addDelta(x, y) {
961
1110
  }
962
1111
  return z;
963
1112
  }
1113
+ function getLiquidityForAmount0(sqrtRatioAX96, sqrtRatioBX96, amount0) {
1114
+ if (sqrtRatioAX96 > sqrtRatioBX96) {
1115
+ [sqrtRatioAX96, sqrtRatioBX96] = [sqrtRatioBX96, sqrtRatioAX96];
1116
+ }
1117
+ return amount0 * sqrtRatioAX96 * sqrtRatioBX96 / (Q96 * (sqrtRatioBX96 - sqrtRatioAX96));
1118
+ }
1119
+ function getLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, amount1) {
1120
+ if (sqrtRatioAX96 > sqrtRatioBX96) {
1121
+ [sqrtRatioAX96, sqrtRatioBX96] = [sqrtRatioBX96, sqrtRatioAX96];
1122
+ }
1123
+ return amount1 * Q96 / (sqrtRatioBX96 - sqrtRatioAX96);
1124
+ }
1125
+
1126
+ // src/math/kernel.ts
1127
+ var NORMALIZED_DECIMAL = 18;
1128
+ function normalizeAmount(amount, decimal) {
1129
+ if (decimal === NORMALIZED_DECIMAL) return amount;
1130
+ if (!Number.isInteger(decimal)) {
1131
+ throw new Error(`normalizeAmount: non-integer decimal=${decimal}`);
1132
+ }
1133
+ return amount * 10n ** BigInt(NORMALIZED_DECIMAL - decimal);
1134
+ }
1135
+ function deNormalizeAmount(amount, decimal) {
1136
+ if (decimal === NORMALIZED_DECIMAL) return amount;
1137
+ if (!Number.isInteger(decimal)) {
1138
+ throw new Error(`deNormalizeAmount: non-integer decimal=${decimal}`);
1139
+ }
1140
+ return amount / 10n ** BigInt(NORMALIZED_DECIMAL - decimal);
1141
+ }
964
1142
  // Annotate the CommonJS export names for ESM import in node:
965
1143
  0 && (module.exports = {
966
1144
  ActionBoxAddress,
@@ -973,20 +1151,43 @@ function addDelta(x, y) {
973
1151
  KernelEventEmitterAddress,
974
1152
  KernelManagerAddress,
975
1153
  MAX_SQRT_PRICE_LIMIT,
1154
+ MAX_SQRT_PRICE_X96,
976
1155
  MAX_SQRT_RATIO,
977
1156
  MAX_TICK,
978
1157
  MIN_SQRT_PRICE_LIMIT,
1158
+ MIN_SQRT_PRICE_X96,
979
1159
  MIN_SQRT_RATIO,
980
1160
  MIN_TICK,
1161
+ NORMALIZED_DECIMAL,
981
1162
  PERIPHERY_DEV,
1163
+ PERIPHERY_PRODUCTION,
1164
+ PERIPHERY_STAGING,
982
1165
  POOL_INFO_Dev,
983
1166
  POOL_INFO_Production,
984
1167
  POOL_INFO_Staging,
1168
+ PRICE_INF,
1169
+ PRICE_ZERO,
985
1170
  PeripheryDeploymentFor,
986
1171
  PeripheryEventEmitterAddress,
987
1172
  PeripheryManagerAddress,
1173
+ Q96,
1174
+ SUI_DEPLOYMENT_DEV,
1175
+ SUI_DEPLOYMENT_PRODUCTION,
1176
+ SUI_DEPLOYMENT_STAGING,
1177
+ SUI_POOLS_DEV,
1178
+ SUI_POOLS_PRODUCTION,
1179
+ SUI_POOLS_STAGING,
1180
+ SVM_DEPLOYMENT_DEV,
1181
+ SVM_DEPLOYMENT_PRODUCTION,
1182
+ SVM_DEPLOYMENT_STAGING,
1183
+ SVM_POOLS_DEV,
1184
+ SVM_POOLS_PRODUCTION,
1185
+ SVM_POOLS_STAGING,
988
1186
  SdkError,
989
1187
  SkateGatewayAddress,
1188
+ SuiDeploymentFor,
1189
+ SvmDeploymentFor,
1190
+ TICK_VALUE,
990
1191
  TaskPhase,
991
1192
  VM,
992
1193
  addDelta,
@@ -995,6 +1196,7 @@ function addDelta(x, y) {
995
1196
  bufferFromBase58,
996
1197
  bytes32ToBase58,
997
1198
  bytes32ToEvmAddress,
1199
+ deNormalizeAmount,
998
1200
  evmAddressToBytes32,
999
1201
  findTokensBySymbol,
1000
1202
  fromBytes32Address,
@@ -1005,6 +1207,8 @@ function addDelta(x, y) {
1005
1207
  getAmount1Delta,
1006
1208
  getAmount1DeltaSigned,
1007
1209
  getBlockExplorer,
1210
+ getLiquidityForAmount0,
1211
+ getLiquidityForAmount1,
1008
1212
  getNextSqrtPriceFromAmount0RoundingUp,
1009
1213
  getNextSqrtPriceFromAmount1RoundingDown,
1010
1214
  getNextSqrtPriceFromInput,
@@ -1012,18 +1216,22 @@ function addDelta(x, y) {
1012
1216
  getOtherTokensInPairs,
1013
1217
  getPeripheryDetailsByKernelPoolAndChainId,
1014
1218
  getPoolInfoByKey,
1219
+ getPriceAtTick,
1015
1220
  getSqrtRatioAtTick,
1016
1221
  getSupportedChains,
1017
1222
  getSupportedPairs,
1018
1223
  getSupportedTokens,
1224
+ getTickAtPrice,
1019
1225
  getTickAtSqrtRatio,
1020
1226
  getTokenSymbol,
1021
1227
  hexToBase58,
1022
1228
  kernelPoolToPoolKey,
1023
1229
  mulDiv,
1024
1230
  mulDivRoundingUp,
1231
+ normalizeAmount,
1025
1232
  normalizeMode,
1026
1233
  skateAdapter,
1234
+ svmBytes32Base58ToEvmAddress,
1027
1235
  toBase58,
1028
1236
  toBytes32Address,
1029
1237
  vmTypeFromChain