@skate-org/amm-core-v2 2.0.0-beta.2 → 2.0.0-beta.20

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 (53) hide show
  1. package/CHANGELOG.md +132 -190
  2. package/README.md +1 -1
  3. package/dist/client.d.ts +54 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/deployment/aggregated/dev.d.ts.map +1 -1
  6. package/dist/deployment/aggregated/index.d.ts +1 -4
  7. package/dist/deployment/aggregated/index.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 +3 -2
  15. package/dist/deployment/index.d.ts.map +1 -1
  16. package/dist/deployment/kernel.d.ts +9 -14
  17. package/dist/deployment/kernel.d.ts.map +1 -1
  18. package/dist/deployment/periphery.d.ts +1 -4
  19. package/dist/deployment/periphery.d.ts.map +1 -1
  20. package/dist/deployment/sui.d.ts +40 -0
  21. package/dist/deployment/sui.d.ts.map +1 -0
  22. package/dist/deployment/svm.d.ts +95 -6
  23. package/dist/deployment/svm.d.ts.map +1 -1
  24. package/dist/index.cjs +572 -61
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.cts +1 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +557 -55
  30. package/dist/index.js.map +1 -1
  31. package/dist/math/index.d.ts +1 -0
  32. package/dist/math/index.d.ts.map +1 -1
  33. package/dist/math/kernel.d.ts +18 -0
  34. package/dist/math/kernel.d.ts.map +1 -0
  35. package/dist/math/liquidityMath.d.ts +10 -5
  36. package/dist/math/liquidityMath.d.ts.map +1 -1
  37. package/dist/math/sqrtPriceMath.d.ts +2 -0
  38. package/dist/math/sqrtPriceMath.d.ts.map +1 -1
  39. package/dist/math/tickMath.d.ts +15 -0
  40. package/dist/math/tickMath.d.ts.map +1 -1
  41. package/dist/types/chain-vm.d.ts +1 -1
  42. package/dist/types/chain-vm.d.ts.map +1 -1
  43. package/dist/types/chain.d.ts +0 -1
  44. package/dist/types/chain.d.ts.map +1 -1
  45. package/dist/types/index.d.ts +1 -0
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/types/vm-client.d.ts +28 -0
  48. package/dist/types/vm-client.d.ts.map +1 -0
  49. package/dist/types/vm.d.ts +0 -1
  50. package/dist/types/vm.d.ts.map +1 -1
  51. package/package.json +2 -1
  52. package/dist/deployment/_notDeployed.d.ts +0 -5
  53. package/dist/deployment/_notDeployed.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -14,7 +14,6 @@ var CHAIN = /* @__PURE__ */ ((CHAIN2) => {
14
14
  CHAIN2[CHAIN2["ARBITRUM"] = 42161] = "ARBITRUM";
15
15
  CHAIN2[CHAIN2["BSC"] = 56] = "BSC";
16
16
  CHAIN2[CHAIN2["MANTLE"] = 5e3] = "MANTLE";
17
- CHAIN2[CHAIN2["OPTIMISM"] = 10] = "OPTIMISM";
18
17
  CHAIN2[CHAIN2["ETHEREUM"] = 1] = "ETHEREUM";
19
18
  CHAIN2[CHAIN2["HYPERLIQUID"] = 999] = "HYPERLIQUID";
20
19
  CHAIN2[CHAIN2["PLUME"] = 98866] = "PLUME";
@@ -48,7 +47,6 @@ var BLOCK_EXPLORER = /* @__PURE__ */ ((BLOCK_EXPLORER2) => {
48
47
  BLOCK_EXPLORER2["BASE"] = "https://basescan.org";
49
48
  BLOCK_EXPLORER2["ARBITRUM"] = "https://arbiscan.io";
50
49
  BLOCK_EXPLORER2["MANTLE"] = "https://mantlescan.xyz";
51
- BLOCK_EXPLORER2["OPTIMISM"] = "https://optimistic.etherscan.io";
52
50
  BLOCK_EXPLORER2["ETHEREUM"] = "https://etherscan.io";
53
51
  BLOCK_EXPLORER2["BSC"] = "https://bscscan.com";
54
52
  BLOCK_EXPLORER2["HYPERLIQUID"] = "https://hyperscan.com";
@@ -75,8 +73,6 @@ function getBlockExplorer(chain) {
75
73
  return "https://arbiscan.io" /* ARBITRUM */;
76
74
  case 5e3 /* MANTLE */:
77
75
  return "https://mantlescan.xyz" /* MANTLE */;
78
- case 10 /* OPTIMISM */:
79
- return "https://optimistic.etherscan.io" /* OPTIMISM */;
80
76
  case 1 /* ETHEREUM */:
81
77
  return "https://etherscan.io" /* ETHEREUM */;
82
78
  case 56 /* BSC */:
@@ -103,7 +99,6 @@ function vmTypeFromChain(chainId) {
103
99
  case 8453 /* BASE */:
104
100
  case 42161 /* ARBITRUM */:
105
101
  case 5e3 /* MANTLE */:
106
- case 10 /* OPTIMISM */:
107
102
  case 1 /* ETHEREUM */:
108
103
  case 56 /* BSC */:
109
104
  case 999 /* HYPERLIQUID */:
@@ -139,25 +134,13 @@ var TaskPhase = /* @__PURE__ */ ((TaskPhase2) => {
139
134
  return TaskPhase2;
140
135
  })(TaskPhase || {});
141
136
 
142
- // src/errors.ts
143
- var SdkError = class extends Error {
144
- name = "SdkError";
145
- constructor(message, options) {
146
- super(message, options);
147
- }
148
- };
149
-
150
- // src/deployment/_notDeployed.ts
151
- function notDeployed(scope, mode, surface = "SDK v2") {
152
- throw new SdkError(
153
- `${scope}: ${surface} 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}.`
154
- );
155
- }
156
-
157
137
  // src/deployment/kernel.ts
158
- var KERNEL_MANAGER_Dev = "0x17B7207837e8884f7f687f1f4057751BDAf70a01";
159
- var KERNEL_EVENT_EMITTER_Dev = "0x8989b3ecb65f250ab7A0DC03589B0Cc8b8b04b81";
138
+ var KERNEL_MANAGER = "0x17B7207837e8884f7f687f1f4057751BDAf70a01";
139
+ var KERNEL_EVENT_EMITTER = "0x8989b3ecb65f250ab7A0DC03589B0Cc8b8b04b81";
160
140
  var KERNEL_POOL_USDC_USDT_Dev = "0x2c23334eE3b030e6bacEDEDf7C511eEA08Cf7E7e";
141
+ var KERNEL_POOL_WETH_USDC_Dev = "0x0185175Fd3DF28AcEf4faED7772db3207a64b046";
142
+ var KERNEL_POOL_QQQX_USDC_Dev = "0x4bCa49bC6CeD8505d10b08C01bce326166dF1a8A";
143
+ var KERNEL_POOL_NVDAX_USDC_Dev = "0x49a22A648A308E394171A63fa163f0368E85749f";
161
144
  var KERNEL_CHAIN_BY_MODE = {
162
145
  DEV: 4326 /* MEGAETH */,
163
146
  STAGING: 4326 /* MEGAETH */,
@@ -166,13 +149,11 @@ var KERNEL_CHAIN_BY_MODE = {
166
149
  function KernelChain(mode) {
167
150
  return KERNEL_CHAIN_BY_MODE[mode];
168
151
  }
169
- function KernelManagerAddress(mode) {
170
- if (mode === "DEV") return KERNEL_MANAGER_Dev;
171
- return notDeployed("KernelManagerAddress", mode);
152
+ function KernelManagerAddress(_mode) {
153
+ return KERNEL_MANAGER;
172
154
  }
173
- function KernelEventEmitterAddress(mode) {
174
- if (mode === "DEV") return KERNEL_EVENT_EMITTER_Dev;
175
- return notDeployed("KernelEventEmitterAddress", mode);
155
+ function KernelEventEmitterAddress(_mode) {
156
+ return KERNEL_EVENT_EMITTER;
176
157
  }
177
158
 
178
159
  // src/deployment/periphery.ts
@@ -186,11 +167,49 @@ var PERIPHERY_DEV = {
186
167
  peripheryManagerImpl: "0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3",
187
168
  eventEmitter: "0xB301150AFA170816Ae18EC21e2A830Ddc7bBA1De",
188
169
  peripheryPoolImpl: "0x803ed7fa8934D4fe51A276cA02506b585cdb3eb4"
170
+ },
171
+ [8453 /* BASE */]: {
172
+ multicall: "0x6eB37463DBC55b96dFa0186D8aF7952827C6D761",
173
+ executorRegistry: "0x9b31d7616C3D970Ba76e5C05f112dA62D10c6A12",
174
+ actionBox: "0x3F51CBfa16D605a271D06fd8b67A7AB070FD8Dd8",
175
+ skateGateway: "0x0205dF24a1521900eCb0A1DFC0E6FddF8Cd9CEa4",
176
+ peripheryManager: "0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3",
177
+ peripheryManagerImpl: "0xd2d9ad3cBad933E23d973e146A6Ca48D2b8076F3",
178
+ eventEmitter: "0xf95e0a4932bBE5E27561486da809cbE0E54551A4",
179
+ peripheryPoolImpl: "0x29922Fd24c75436e2F73C0C2F5678F28237B7634"
180
+ },
181
+ [56 /* BSC */]: {
182
+ multicall: "0x2bf8a2BFEcaF10B2ff98b3E61df52B264261BD10",
183
+ executorRegistry: "0x6eB37463DBC55b96dFa0186D8aF7952827C6D761",
184
+ actionBox: "0x052DB3711Fd69A06698c182394A14e086D168b0B",
185
+ skateGateway: "0x64F6d0574633921fb00577Ae332E2610F6aE320B",
186
+ peripheryManager: "0x0205dF24a1521900eCb0A1DFC0E6FddF8Cd9CEa4",
187
+ peripheryManagerImpl: "0x4309d3aE98c8A751fAc34C91536Ee860d9B8DcE1",
188
+ eventEmitter: "0x71a06aE513D303A619A8a4AB670e5Ae7e8F98EF9",
189
+ peripheryPoolImpl: "0xd2d9ad3cBad933E23d973e146A6Ca48D2b8076F3"
190
+ },
191
+ [1 /* ETHEREUM */]: {
192
+ multicall: "0x62C7a9d458DDfF45780aCD60c25a5Cc2d21c47dD",
193
+ executorRegistry: "0x3dCD7A136F0A49f3EFcC5E215793Fa1ce5c400Bf",
194
+ actionBox: "0x8f4e4E53b3AFF8579D3C5509bE2201979038cf3C",
195
+ skateGateway: "0x3F51CBfa16D605a271D06fd8b67A7AB070FD8Dd8",
196
+ peripheryManager: "0x63Ca920425f683138B9407171b51b8172421Ba50",
197
+ peripheryManagerImpl: "0x0205dF24a1521900eCb0A1DFC0E6FddF8Cd9CEa4",
198
+ eventEmitter: "0xBE70a635A99CDb5675C13db4867E053839224F50",
199
+ peripheryPoolImpl: "0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3"
189
200
  }
190
201
  };
202
+ var PERIPHERY_STAGING = PERIPHERY_DEV;
203
+ var PERIPHERY_PRODUCTION = PERIPHERY_DEV;
191
204
  function PeripheryDeploymentFor(chain, mode) {
192
- if (mode !== "DEV") return notDeployed("PeripheryDeploymentFor", mode);
193
- return PERIPHERY_DEV[chain] ?? null;
205
+ switch (mode) {
206
+ case "DEV":
207
+ return PERIPHERY_DEV[chain] ?? null;
208
+ case "STAGING":
209
+ return PERIPHERY_STAGING[chain] ?? null;
210
+ case "PRODUCTION":
211
+ return PERIPHERY_PRODUCTION[chain] ?? null;
212
+ }
194
213
  }
195
214
  function PeripheryManagerAddress(chain, mode) {
196
215
  return PeripheryDeploymentFor(chain, mode)?.peripheryManager ?? null;
@@ -215,10 +234,152 @@ var SVM_DEPLOYMENT_DEV = {
215
234
  manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA"
216
235
  }
217
236
  };
237
+ var SVM_DEPLOYMENT_STAGING = SVM_DEPLOYMENT_DEV;
238
+ var SVM_DEPLOYMENT_PRODUCTION = SVM_DEPLOYMENT_DEV;
218
239
  function SvmDeploymentFor(chain, mode) {
219
- if (mode !== "DEV") return notDeployed("SvmDeploymentFor", mode, "SDK v2 SVM side");
220
- return SVM_DEPLOYMENT_DEV[chain] ?? null;
240
+ switch (mode) {
241
+ case "DEV":
242
+ return SVM_DEPLOYMENT_DEV[chain] ?? null;
243
+ case "STAGING":
244
+ return SVM_DEPLOYMENT_STAGING[chain] ?? null;
245
+ case "PRODUCTION":
246
+ return SVM_DEPLOYMENT_PRODUCTION[chain] ?? null;
247
+ }
221
248
  }
249
+ var TOKEN_PROGRAM_ID = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
250
+ var TOKEN_2022_PROGRAM_ID = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
251
+ var SVM_POOLS_DEV = {
252
+ USDC_USDT: {
253
+ [901 /* SOLANA */]: {
254
+ peripheryPool: "G2j8vLu3ryzUqPYpknpBcBLDcFiiRmXtB7z9Dpg9dVxe",
255
+ poolAuthority: "2Mvbo1TrsVeqyjQwNcdDDGjFNbwMk4tV8oD2TN2fV4Nw",
256
+ dust: "4m1AdUZvYJUSMTYpFH8df1JrgHTqUeKA3Xf7DapB4VcX",
257
+ poolToken0Vault: "BihGfVYmaT4KpiHiBLwH2ad9Q2ybYVHS2Bd3hQtzg486",
258
+ poolToken1Vault: "3DW4k4ims6dFB2cXBk5m1uAfh1zowuj9CzBbF4jm1FRh",
259
+ manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
260
+ tokenProgramId0: TOKEN_PROGRAM_ID,
261
+ tokenProgramId1: TOKEN_PROGRAM_ID,
262
+ token0: {
263
+ address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
264
+ symbol: "USDC",
265
+ isNative: false,
266
+ decimal: 6,
267
+ chainId: 901 /* SOLANA */
268
+ },
269
+ token1: {
270
+ address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
271
+ symbol: "USDT",
272
+ isNative: false,
273
+ decimal: 6,
274
+ chainId: 901 /* SOLANA */
275
+ },
276
+ chain: "SOLANA"
277
+ }
278
+ },
279
+ QQQX_USDC: {
280
+ [901 /* SOLANA */]: {
281
+ peripheryPool: "3D97C7WAPfXzmKLFXZDqe7KNtauKJhEvJDJE7htT3YRh",
282
+ poolAuthority: "2sFmz5hukcZWGgdWBySLztyBWgoj6TSPe5Tywra4oqT4",
283
+ dust: "HNQcu6kbQFDr2u6XmhZL6uiWwdCt7geCKgn3imHLtikB",
284
+ poolToken0Vault: "AB6BBRPRt8ZNSsAp4jmwd5BD3Z7uqjkbjXvWrBpsuA4L",
285
+ poolToken1Vault: "zpAgwiY7Rk2GZ3VHyAx3ZuCCDE8PhkyhPELJEPnV3Th",
286
+ manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
287
+ tokenProgramId0: TOKEN_2022_PROGRAM_ID,
288
+ // xStock = Token-2022
289
+ tokenProgramId1: TOKEN_PROGRAM_ID,
290
+ // USDC = classic
291
+ token0: {
292
+ address: "Xs8S1uUs1zvS2p7iwtsG3b6fkhpvmwz4GYU3gWAmWHZ",
293
+ // QQQx mint (Token-2022)
294
+ symbol: "QQQX",
295
+ isNative: false,
296
+ decimal: 8,
297
+ chainId: 901 /* SOLANA */
298
+ },
299
+ token1: {
300
+ address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
301
+ symbol: "USDC",
302
+ isNative: false,
303
+ decimal: 6,
304
+ chainId: 901 /* SOLANA */
305
+ },
306
+ chain: "SOLANA"
307
+ }
308
+ },
309
+ NVDAX_USDC: {
310
+ [901 /* SOLANA */]: {
311
+ peripheryPool: "CciQYe2K8PrabWMDXpomHAEyj4Cfj3DqeqYeWRwvDV6q",
312
+ poolAuthority: "EEFqPuPMM9B6r3qn2shHvcuXBSDyCA4YmffLoYZPU9uA",
313
+ dust: "DqFFGLBB9U552oUyCa19zkkW7B4JspEAFaLzQgRCn7qJ",
314
+ poolToken0Vault: "DsdoQzMUBHe2Q2w4zwSbWzcqMWvSms1XcfiepJKkDHUb",
315
+ poolToken1Vault: "7DmHWD8vbYgqSZoF1sVPJ9BtPzZrHtRBSoduC3Sz9XiK",
316
+ manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
317
+ tokenProgramId0: TOKEN_2022_PROGRAM_ID,
318
+ // xStock = Token-2022
319
+ tokenProgramId1: TOKEN_PROGRAM_ID,
320
+ // USDC = classic
321
+ token0: {
322
+ address: "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
323
+ // NVDAx mint (Token-2022)
324
+ symbol: "NVDAX",
325
+ isNative: false,
326
+ decimal: 8,
327
+ chainId: 901 /* SOLANA */
328
+ },
329
+ token1: {
330
+ address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
331
+ symbol: "USDC",
332
+ isNative: false,
333
+ decimal: 6,
334
+ chainId: 901 /* SOLANA */
335
+ },
336
+ chain: "SOLANA"
337
+ }
338
+ }
339
+ };
340
+
341
+ // src/deployment/sui.ts
342
+ var SUI_DEPLOYMENT_DEV = {
343
+ [1001 /* SUI */]: {
344
+ peripheryPackage: "0x96e1d3897efee30bede047a14d186a952350d4759d3175f76ff6ac2c4a121901"
345
+ }
346
+ };
347
+ var SUI_DEPLOYMENT_STAGING = SUI_DEPLOYMENT_DEV;
348
+ var SUI_DEPLOYMENT_PRODUCTION = SUI_DEPLOYMENT_DEV;
349
+ function SuiDeploymentFor(chain, mode) {
350
+ switch (mode) {
351
+ case "DEV":
352
+ return SUI_DEPLOYMENT_DEV[chain] ?? null;
353
+ case "STAGING":
354
+ return SUI_DEPLOYMENT_STAGING[chain] ?? null;
355
+ case "PRODUCTION":
356
+ return SUI_DEPLOYMENT_PRODUCTION[chain] ?? null;
357
+ }
358
+ }
359
+ var SUI_POOLS_DEV = {
360
+ USDC_USDT: {
361
+ [1001 /* SUI */]: {
362
+ poolId: "0xc014f7cb0a2604fb887d09165242828e6fe913f30d7ae2bea80199caed5ccbcb",
363
+ managerCapId: "0xca34c6dff464f42a349294fa9fbe67a6d72eb999081db8de3fd56672b68863ee",
364
+ peripheryPackage: "0x96e1d3897efee30bede047a14d186a952350d4759d3175f76ff6ac2c4a121901",
365
+ token0: {
366
+ address: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
367
+ symbol: "USDC",
368
+ isNative: false,
369
+ decimal: 6,
370
+ chainId: 1001 /* SUI */
371
+ },
372
+ token1: {
373
+ address: "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
374
+ symbol: "USDT",
375
+ isNative: false,
376
+ decimal: 6,
377
+ chainId: 1001 /* SUI */
378
+ },
379
+ chain: "SUI"
380
+ }
381
+ }
382
+ };
222
383
 
223
384
  // src/deployment/aggregated/dev.ts
224
385
  var POOL_INFO_Dev = {
@@ -246,40 +407,235 @@ var POOL_INFO_Dev = {
246
407
  address: "0x0433CCB013a590eA4231aAC9ddf05bb753c14127",
247
408
  chain: "ARBITRUM"
248
409
  },
249
- [901 /* SOLANA */]: {
410
+ [56 /* BSC */]: {
250
411
  token0: {
251
- address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
412
+ address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
413
+ symbol: "USDC",
414
+ isNative: false,
415
+ decimal: 18,
416
+ chainId: 56 /* BSC */
417
+ },
418
+ token1: {
419
+ address: "0x55d398326f99059fF775485246999027B3197955",
420
+ symbol: "USDT",
421
+ isNative: false,
422
+ decimal: 18,
423
+ chainId: 56 /* BSC */
424
+ },
425
+ address: "0xf1418c3B237f44fB6A163f3a6e66D7A284154cCd",
426
+ chain: "BSC"
427
+ },
428
+ [8453 /* BASE */]: {
429
+ token0: {
430
+ address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
252
431
  symbol: "USDC",
253
432
  isNative: false,
254
433
  decimal: 6,
255
- chainId: 901 /* SOLANA */
434
+ chainId: 8453 /* BASE */
256
435
  },
257
436
  token1: {
258
- address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
437
+ address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
259
438
  symbol: "USDT",
260
439
  isNative: false,
261
440
  decimal: 6,
262
- chainId: 901 /* SOLANA */
441
+ chainId: 8453 /* BASE */
442
+ },
443
+ address: "0x2103EFCB4A3140F30c745e30Fb360816DC0Da415",
444
+ chain: "BASE"
445
+ },
446
+ ...SVM_POOLS_DEV.USDC_USDT,
447
+ ...SUI_POOLS_DEV.USDC_USDT
448
+ }
449
+ },
450
+ WETH_USDC: {
451
+ kernelPool: KERNEL_POOL_WETH_USDC_Dev,
452
+ token0: "WETH",
453
+ token1: "USDC",
454
+ feeBps: 5,
455
+ peripheryInfo: {
456
+ [42161 /* ARBITRUM */]: {
457
+ token0: {
458
+ address: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
459
+ symbol: "WETH",
460
+ isNative: false,
461
+ decimal: 18,
462
+ chainId: 42161 /* ARBITRUM */
463
+ },
464
+ token1: {
465
+ address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
466
+ symbol: "USDC",
467
+ isNative: false,
468
+ decimal: 6,
469
+ chainId: 42161 /* ARBITRUM */
470
+ },
471
+ address: "0xcE61ABbf872C86e855D266D30251F741c1f24225",
472
+ chain: "ARBITRUM"
473
+ },
474
+ [8453 /* BASE */]: {
475
+ token0: {
476
+ address: "0x4200000000000000000000000000000000000006",
477
+ symbol: "WETH",
478
+ isNative: false,
479
+ decimal: 18,
480
+ chainId: 8453 /* BASE */
263
481
  },
264
- peripheryPool: "G2j8vLu3ryzUqPYpknpBcBLDcFiiRmXtB7z9Dpg9dVxe",
265
- poolAuthority: "2Mvbo1TrsVeqyjQwNcdDDGjFNbwMk4tV8oD2TN2fV4Nw",
266
- dust: "4m1AdUZvYJUSMTYpFH8df1JrgHTqUeKA3Xf7DapB4VcX",
267
- poolToken0Vault: "BihGfVYmaT4KpiHiBLwH2ad9Q2ybYVHS2Bd3hQtzg486",
268
- poolToken1Vault: "3DW4k4ims6dFB2cXBk5m1uAfh1zowuj9CzBbF4jm1FRh",
269
- manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
270
- tokenProgramId0: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
271
- tokenProgramId1: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
272
- chain: "SOLANA"
482
+ token1: {
483
+ address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
484
+ symbol: "USDC",
485
+ isNative: false,
486
+ decimal: 6,
487
+ chainId: 8453 /* BASE */
488
+ },
489
+ address: "0x8781383f9e35402Afb2a6a301d35EDf77954d3e1",
490
+ chain: "BASE"
273
491
  }
274
492
  }
493
+ },
494
+ QQQX_USDC: {
495
+ kernelPool: KERNEL_POOL_QQQX_USDC_Dev,
496
+ token0: "QQQX",
497
+ token1: "USDC",
498
+ feeBps: 5,
499
+ peripheryInfo: {
500
+ [42161 /* ARBITRUM */]: {
501
+ token0: {
502
+ address: "0xa753a7395cae905cd615da0b82a53e0560f250af",
503
+ // QQQx (Arb, 18-dec)
504
+ symbol: "QQQX",
505
+ isNative: false,
506
+ decimal: 18,
507
+ chainId: 42161 /* ARBITRUM */
508
+ },
509
+ token1: {
510
+ address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
511
+ // USDC (Arb)
512
+ symbol: "USDC",
513
+ isNative: false,
514
+ decimal: 6,
515
+ chainId: 42161 /* ARBITRUM */
516
+ },
517
+ address: "0xfE696c7Cf1FFac9BeDf558C6e610bD978b08619F",
518
+ chain: "ARBITRUM"
519
+ },
520
+ [1 /* ETHEREUM */]: {
521
+ token0: {
522
+ address: "0xa753a7395cae905cd615da0b82a53e0560f250af",
523
+ // QQQx (ETH, 18-dec)
524
+ symbol: "QQQX",
525
+ isNative: false,
526
+ decimal: 18,
527
+ chainId: 1 /* ETHEREUM */
528
+ },
529
+ token1: {
530
+ address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
531
+ // USDC (ETH)
532
+ symbol: "USDC",
533
+ isNative: false,
534
+ decimal: 6,
535
+ chainId: 1 /* ETHEREUM */
536
+ },
537
+ address: "0x1E0C3acCfD4c9A1731d3A0Cdb6b8afBD0f0c219c",
538
+ chain: "ETHEREUM"
539
+ },
540
+ [56 /* BSC */]: {
541
+ token0: {
542
+ address: "0xa753a7395cae905cd615da0b82a53e0560f250af",
543
+ // QQQx (BSC, 18-dec)
544
+ symbol: "QQQX",
545
+ isNative: false,
546
+ decimal: 18,
547
+ chainId: 56 /* BSC */
548
+ },
549
+ token1: {
550
+ address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
551
+ // USDC (BSC, 18-dec)
552
+ symbol: "USDC",
553
+ isNative: false,
554
+ decimal: 18,
555
+ chainId: 56 /* BSC */
556
+ },
557
+ address: "0x55dc9eDcEFb3D5c918f1E53668096D27F76e30c5",
558
+ chain: "BSC"
559
+ },
560
+ ...SVM_POOLS_DEV.QQQX_USDC
561
+ }
562
+ },
563
+ NVDAX_USDC: {
564
+ kernelPool: KERNEL_POOL_NVDAX_USDC_Dev,
565
+ token0: "NVDAX",
566
+ token1: "USDC",
567
+ feeBps: 5,
568
+ peripheryInfo: {
569
+ [42161 /* ARBITRUM */]: {
570
+ token0: {
571
+ address: "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
572
+ // NVDAx (Arb, 18-dec)
573
+ symbol: "NVDAX",
574
+ isNative: false,
575
+ decimal: 18,
576
+ chainId: 42161 /* ARBITRUM */
577
+ },
578
+ token1: {
579
+ address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
580
+ // USDC (Arb)
581
+ symbol: "USDC",
582
+ isNative: false,
583
+ decimal: 6,
584
+ chainId: 42161 /* ARBITRUM */
585
+ },
586
+ address: "0xe1e76F6E987219802fC6bAA61040DA40eE0Be16E",
587
+ chain: "ARBITRUM"
588
+ },
589
+ [1 /* ETHEREUM */]: {
590
+ token0: {
591
+ address: "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
592
+ // NVDAx (ETH, 18-dec)
593
+ symbol: "NVDAX",
594
+ isNative: false,
595
+ decimal: 18,
596
+ chainId: 1 /* ETHEREUM */
597
+ },
598
+ token1: {
599
+ address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
600
+ // USDC (ETH)
601
+ symbol: "USDC",
602
+ isNative: false,
603
+ decimal: 6,
604
+ chainId: 1 /* ETHEREUM */
605
+ },
606
+ address: "0x00739d7b2ed5eD3B80d9e10ccBc2468ad1b9C2FD",
607
+ chain: "ETHEREUM"
608
+ },
609
+ [56 /* BSC */]: {
610
+ token0: {
611
+ address: "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
612
+ // NVDAx (BSC, 18-dec)
613
+ symbol: "NVDAX",
614
+ isNative: false,
615
+ decimal: 18,
616
+ chainId: 56 /* BSC */
617
+ },
618
+ token1: {
619
+ address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
620
+ // USDC (BSC, 18-dec)
621
+ symbol: "USDC",
622
+ isNative: false,
623
+ decimal: 18,
624
+ chainId: 56 /* BSC */
625
+ },
626
+ address: "0x3493491b92C25c06d2E47EAE82Bd3251d313dD39",
627
+ chain: "BSC"
628
+ },
629
+ ...SVM_POOLS_DEV.NVDAX_USDC
630
+ }
275
631
  }
276
632
  };
277
633
 
278
634
  // src/deployment/aggregated/staging.ts
279
- var POOL_INFO_Staging = {};
635
+ var POOL_INFO_Staging = POOL_INFO_Dev;
280
636
 
281
637
  // src/deployment/aggregated/production.ts
282
- var POOL_INFO_Production = {};
638
+ var POOL_INFO_Production = POOL_INFO_Dev;
283
639
 
284
640
  // src/deployment/aggregated/retrieval.ts
285
641
  function getAllPoolInfo(mode = "PRODUCTION") {
@@ -367,7 +723,8 @@ function getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId, mode = "
367
723
  const info = getAllPoolInfo(mode);
368
724
  return info[poolKey]?.peripheryInfo[chainId] ?? null;
369
725
  }
370
- function findTokensBySymbol(symbol, chainIds, mode = "PRODUCTION") {
726
+ function findTokensBySymbol(args) {
727
+ const { symbol, chainIds, mode = "PRODUCTION" } = args;
371
728
  const normalized = symbol.toLowerCase();
372
729
  const chains = chainIds ?? getSupportedChains(mode);
373
730
  const out = [];
@@ -574,6 +931,14 @@ function fromBytes32Address(bytes32Address, vmType) {
574
931
  }
575
932
  }
576
933
 
934
+ // src/errors.ts
935
+ var SdkError = class extends Error {
936
+ name = "SdkError";
937
+ constructor(message, options) {
938
+ super(message, options);
939
+ }
940
+ };
941
+
577
942
  // src/math/tickMath.ts
578
943
  var MAX_UINT256 = (1n << 256n) - 1n;
579
944
  var Q160_MASK = (1n << 160n) - 1n;
@@ -584,6 +949,11 @@ var MIN_SQRT_RATIO = 4295128739n;
584
949
  var MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
585
950
  var MIN_SQRT_PRICE_LIMIT = MIN_SQRT_RATIO + 1n;
586
951
  var MAX_SQRT_PRICE_LIMIT = MAX_SQRT_RATIO - 1n;
952
+ var MIN_SQRT_PRICE_X96 = MIN_SQRT_PRICE_LIMIT;
953
+ var MAX_SQRT_PRICE_X96 = MAX_SQRT_PRICE_LIMIT;
954
+ var TICK_VALUE = 1.0001;
955
+ var PRICE_ZERO = 0;
956
+ var PRICE_INF = 2 ** 32 - 1;
587
957
  function getSqrtRatioAtTick(tick) {
588
958
  if (!Number.isInteger(tick)) {
589
959
  throw new Error("TickMath: tick must be an integer");
@@ -712,6 +1082,17 @@ function toInt24(x) {
712
1082
  const signed = truncated >= 1n << 23n ? truncated - (1n << 24n) : truncated;
713
1083
  return Number(signed);
714
1084
  }
1085
+ function getPriceAtTick(tick) {
1086
+ const sqrtPriceX96 = getSqrtRatioAtTick(tick);
1087
+ const Q962 = 1n << 96n;
1088
+ return (Number(sqrtPriceX96) / Number(Q962)) ** 2;
1089
+ }
1090
+ function getTickAtPrice(price) {
1091
+ if (price < 0) {
1092
+ throw new Error(`getTickAtPrice: invalid price=${price}`);
1093
+ }
1094
+ return Math.round(Math.log(price) / Math.log(TICK_VALUE));
1095
+ }
715
1096
 
716
1097
  // src/math/fullMath.ts
717
1098
  var MAX_UINT2562 = (1n << 256n) - 1n;
@@ -919,33 +1300,148 @@ function addDelta(x, y) {
919
1300
  }
920
1301
  return z;
921
1302
  }
1303
+ function getLiquidityForAmount0(sqrtRatioAX96, sqrtRatioBX96, amount0) {
1304
+ if (sqrtRatioAX96 > sqrtRatioBX96) {
1305
+ [sqrtRatioAX96, sqrtRatioBX96] = [sqrtRatioBX96, sqrtRatioAX96];
1306
+ }
1307
+ const intermediate = mulDiv(sqrtRatioAX96, sqrtRatioBX96, Q96);
1308
+ return mulDiv(amount0, intermediate, sqrtRatioBX96 - sqrtRatioAX96);
1309
+ }
1310
+ function getLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, amount1) {
1311
+ if (sqrtRatioAX96 > sqrtRatioBX96) {
1312
+ [sqrtRatioAX96, sqrtRatioBX96] = [sqrtRatioBX96, sqrtRatioAX96];
1313
+ }
1314
+ return amount1 * Q96 / (sqrtRatioBX96 - sqrtRatioAX96);
1315
+ }
1316
+
1317
+ // src/math/kernel.ts
1318
+ var NORMALIZED_DECIMAL = 18;
1319
+ function normalizeAmount(amount, decimal) {
1320
+ if (decimal === NORMALIZED_DECIMAL) return amount;
1321
+ if (!Number.isInteger(decimal) || decimal < 0) {
1322
+ throw new Error(`normalizeAmount: invalid decimal=${decimal}`);
1323
+ }
1324
+ if (decimal < NORMALIZED_DECIMAL) {
1325
+ return amount * 10n ** BigInt(NORMALIZED_DECIMAL - decimal);
1326
+ }
1327
+ return amount / 10n ** BigInt(decimal - NORMALIZED_DECIMAL);
1328
+ }
1329
+ function deNormalizeAmount(amount, decimal) {
1330
+ if (decimal === NORMALIZED_DECIMAL) return amount;
1331
+ if (!Number.isInteger(decimal) || decimal < 0) {
1332
+ throw new Error(`deNormalizeAmount: invalid decimal=${decimal}`);
1333
+ }
1334
+ if (decimal < NORMALIZED_DECIMAL) {
1335
+ return amount / 10n ** BigInt(NORMALIZED_DECIMAL - decimal);
1336
+ }
1337
+ return amount * 10n ** BigInt(decimal - NORMALIZED_DECIMAL);
1338
+ }
1339
+
1340
+ // src/client.ts
1341
+ var AmmCore = class {
1342
+ mode;
1343
+ constructor(env) {
1344
+ this.mode = normalizeMode(env).mode;
1345
+ }
1346
+ // ── Kernel ────────────────────────────────────────────────────────────────
1347
+ KernelChain() {
1348
+ return KernelChain(this.mode);
1349
+ }
1350
+ KernelManagerAddress() {
1351
+ return KernelManagerAddress(this.mode);
1352
+ }
1353
+ KernelEventEmitterAddress() {
1354
+ return KernelEventEmitterAddress(this.mode);
1355
+ }
1356
+ // ── Periphery ─────────────────────────────────────────────────────────────
1357
+ PeripheryDeploymentFor(chain) {
1358
+ return PeripheryDeploymentFor(chain, this.mode);
1359
+ }
1360
+ PeripheryManagerAddress(chain) {
1361
+ return PeripheryManagerAddress(chain, this.mode);
1362
+ }
1363
+ PeripheryEventEmitterAddress(chain) {
1364
+ return PeripheryEventEmitterAddress(chain, this.mode);
1365
+ }
1366
+ SkateGatewayAddress(chain) {
1367
+ return SkateGatewayAddress(chain, this.mode);
1368
+ }
1369
+ ActionBoxAddress(chain) {
1370
+ return ActionBoxAddress(chain, this.mode);
1371
+ }
1372
+ // ── SVM ───────────────────────────────────────────────────────────────────
1373
+ SvmDeploymentFor(chain) {
1374
+ return SvmDeploymentFor(chain, this.mode);
1375
+ }
1376
+ // ── Sui ───────────────────────────────────────────────────────────────────
1377
+ SuiDeploymentFor(chain) {
1378
+ return SuiDeploymentFor(chain, this.mode);
1379
+ }
1380
+ // ── Aggregated / pool info ─────────────────────────────────────────────────
1381
+ getAllPoolInfo() {
1382
+ return getAllPoolInfo(this.mode);
1383
+ }
1384
+ getAllPoolKeys() {
1385
+ return getAllPoolKeys(this.mode);
1386
+ }
1387
+ getPoolInfoByKey(key) {
1388
+ return getPoolInfoByKey(key, this.mode);
1389
+ }
1390
+ getSupportedChains() {
1391
+ return getSupportedChains(this.mode);
1392
+ }
1393
+ getSupportedPairs(chainId) {
1394
+ return getSupportedPairs(chainId, this.mode);
1395
+ }
1396
+ getSupportedTokens(chainId) {
1397
+ return getSupportedTokens(chainId, this.mode);
1398
+ }
1399
+ getOtherTokensInPairs(chainId, tokenAddress) {
1400
+ return getOtherTokensInPairs(chainId, tokenAddress, this.mode);
1401
+ }
1402
+ kernelPoolToPoolKey(kernelPool) {
1403
+ return kernelPoolToPoolKey(kernelPool, this.mode);
1404
+ }
1405
+ getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId) {
1406
+ return getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId, this.mode);
1407
+ }
1408
+ findTokensBySymbol(args) {
1409
+ return findTokensBySymbol({ ...args, mode: this.mode });
1410
+ }
1411
+ getTokenSymbol(address, chainId) {
1412
+ return getTokenSymbol(address, chainId, this.mode);
1413
+ }
1414
+ };
922
1415
  export {
923
1416
  ActionBoxAddress,
1417
+ AmmCore,
924
1418
  BLOCK_EXPLORER,
925
1419
  CHAIN,
926
1420
  CHAIN_MAP,
927
1421
  KERNEL_CHAIN_BY_MODE,
928
- KERNEL_POOL_USDC_USDT_Dev,
929
1422
  KernelChain,
930
1423
  KernelEventEmitterAddress,
931
1424
  KernelManagerAddress,
932
1425
  MAX_SQRT_PRICE_LIMIT,
1426
+ MAX_SQRT_PRICE_X96,
933
1427
  MAX_SQRT_RATIO,
934
1428
  MAX_TICK,
935
1429
  MIN_SQRT_PRICE_LIMIT,
1430
+ MIN_SQRT_PRICE_X96,
936
1431
  MIN_SQRT_RATIO,
937
1432
  MIN_TICK,
938
- PERIPHERY_DEV,
939
- POOL_INFO_Dev,
940
- POOL_INFO_Production,
941
- POOL_INFO_Staging,
1433
+ NORMALIZED_DECIMAL,
1434
+ PRICE_INF,
1435
+ PRICE_ZERO,
942
1436
  PeripheryDeploymentFor,
943
1437
  PeripheryEventEmitterAddress,
944
1438
  PeripheryManagerAddress,
945
- SVM_DEPLOYMENT_DEV,
1439
+ Q96,
946
1440
  SdkError,
947
1441
  SkateGatewayAddress,
1442
+ SuiDeploymentFor,
948
1443
  SvmDeploymentFor,
1444
+ TICK_VALUE,
949
1445
  TaskPhase,
950
1446
  VM,
951
1447
  addDelta,
@@ -954,6 +1450,7 @@ export {
954
1450
  bufferFromBase58,
955
1451
  bytes32ToBase58,
956
1452
  bytes32ToEvmAddress,
1453
+ deNormalizeAmount,
957
1454
  evmAddressToBytes32,
958
1455
  findTokensBySymbol,
959
1456
  fromBytes32Address,
@@ -964,6 +1461,8 @@ export {
964
1461
  getAmount1Delta,
965
1462
  getAmount1DeltaSigned,
966
1463
  getBlockExplorer,
1464
+ getLiquidityForAmount0,
1465
+ getLiquidityForAmount1,
967
1466
  getNextSqrtPriceFromAmount0RoundingUp,
968
1467
  getNextSqrtPriceFromAmount1RoundingDown,
969
1468
  getNextSqrtPriceFromInput,
@@ -971,16 +1470,19 @@ export {
971
1470
  getOtherTokensInPairs,
972
1471
  getPeripheryDetailsByKernelPoolAndChainId,
973
1472
  getPoolInfoByKey,
1473
+ getPriceAtTick,
974
1474
  getSqrtRatioAtTick,
975
1475
  getSupportedChains,
976
1476
  getSupportedPairs,
977
1477
  getSupportedTokens,
1478
+ getTickAtPrice,
978
1479
  getTickAtSqrtRatio,
979
1480
  getTokenSymbol,
980
1481
  hexToBase58,
981
1482
  kernelPoolToPoolKey,
982
1483
  mulDiv,
983
1484
  mulDivRoundingUp,
1485
+ normalizeAmount,
984
1486
  normalizeMode,
985
1487
  skate_exports as skateAdapter,
986
1488
  svmBytes32Base58ToEvmAddress,