@skate-org/amm-core-v2 2.0.0-beta.2 → 2.0.0-beta.21
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.
- package/CHANGELOG.md +132 -190
- package/README.md +1 -1
- package/dist/client.d.ts +54 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/deployment/aggregated/dev.d.ts.map +1 -1
- package/dist/deployment/aggregated/index.d.ts +1 -4
- package/dist/deployment/aggregated/index.d.ts.map +1 -1
- package/dist/deployment/aggregated/production.d.ts +3 -0
- package/dist/deployment/aggregated/production.d.ts.map +1 -1
- package/dist/deployment/aggregated/retrieval.d.ts +6 -2
- package/dist/deployment/aggregated/retrieval.d.ts.map +1 -1
- package/dist/deployment/aggregated/staging.d.ts +3 -0
- package/dist/deployment/aggregated/staging.d.ts.map +1 -1
- package/dist/deployment/index.d.ts +3 -2
- package/dist/deployment/index.d.ts.map +1 -1
- package/dist/deployment/kernel.d.ts +9 -14
- package/dist/deployment/kernel.d.ts.map +1 -1
- package/dist/deployment/periphery.d.ts +1 -4
- package/dist/deployment/periphery.d.ts.map +1 -1
- package/dist/deployment/sui.d.ts +40 -0
- package/dist/deployment/sui.d.ts.map +1 -0
- package/dist/deployment/svm.d.ts +95 -6
- package/dist/deployment/svm.d.ts.map +1 -1
- package/dist/index.cjs +572 -61
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +557 -55
- package/dist/index.js.map +1 -1
- package/dist/math/index.d.ts +1 -0
- package/dist/math/index.d.ts.map +1 -1
- package/dist/math/kernel.d.ts +18 -0
- package/dist/math/kernel.d.ts.map +1 -0
- package/dist/math/liquidityMath.d.ts +10 -5
- package/dist/math/liquidityMath.d.ts.map +1 -1
- package/dist/math/sqrtPriceMath.d.ts +2 -0
- package/dist/math/sqrtPriceMath.d.ts.map +1 -1
- package/dist/math/tickMath.d.ts +15 -0
- package/dist/math/tickMath.d.ts.map +1 -1
- package/dist/types/chain-vm.d.ts +1 -1
- package/dist/types/chain-vm.d.ts.map +1 -1
- package/dist/types/chain.d.ts +0 -1
- package/dist/types/chain.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/vm-client.d.ts +28 -0
- package/dist/types/vm-client.d.ts.map +1 -0
- package/dist/types/vm.d.ts +0 -1
- package/dist/types/vm.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/deployment/_notDeployed.d.ts +0 -5
- package/dist/deployment/_notDeployed.d.ts.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -21,31 +21,34 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
ActionBoxAddress: () => ActionBoxAddress,
|
|
24
|
+
AmmCore: () => AmmCore,
|
|
24
25
|
BLOCK_EXPLORER: () => BLOCK_EXPLORER,
|
|
25
26
|
CHAIN: () => CHAIN,
|
|
26
27
|
CHAIN_MAP: () => CHAIN_MAP,
|
|
27
28
|
KERNEL_CHAIN_BY_MODE: () => KERNEL_CHAIN_BY_MODE,
|
|
28
|
-
KERNEL_POOL_USDC_USDT_Dev: () => KERNEL_POOL_USDC_USDT_Dev,
|
|
29
29
|
KernelChain: () => KernelChain,
|
|
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,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
POOL_INFO_Staging: () => POOL_INFO_Staging,
|
|
40
|
+
NORMALIZED_DECIMAL: () => NORMALIZED_DECIMAL,
|
|
41
|
+
PRICE_INF: () => PRICE_INF,
|
|
42
|
+
PRICE_ZERO: () => PRICE_ZERO,
|
|
42
43
|
PeripheryDeploymentFor: () => PeripheryDeploymentFor,
|
|
43
44
|
PeripheryEventEmitterAddress: () => PeripheryEventEmitterAddress,
|
|
44
45
|
PeripheryManagerAddress: () => PeripheryManagerAddress,
|
|
45
|
-
|
|
46
|
+
Q96: () => Q96,
|
|
46
47
|
SdkError: () => SdkError,
|
|
47
48
|
SkateGatewayAddress: () => SkateGatewayAddress,
|
|
49
|
+
SuiDeploymentFor: () => SuiDeploymentFor,
|
|
48
50
|
SvmDeploymentFor: () => SvmDeploymentFor,
|
|
51
|
+
TICK_VALUE: () => TICK_VALUE,
|
|
49
52
|
TaskPhase: () => TaskPhase,
|
|
50
53
|
VM: () => VM,
|
|
51
54
|
addDelta: () => addDelta,
|
|
@@ -54,6 +57,7 @@ __export(index_exports, {
|
|
|
54
57
|
bufferFromBase58: () => bufferFromBase58,
|
|
55
58
|
bytes32ToBase58: () => bytes32ToBase58,
|
|
56
59
|
bytes32ToEvmAddress: () => bytes32ToEvmAddress,
|
|
60
|
+
deNormalizeAmount: () => deNormalizeAmount,
|
|
57
61
|
evmAddressToBytes32: () => evmAddressToBytes32,
|
|
58
62
|
findTokensBySymbol: () => findTokensBySymbol,
|
|
59
63
|
fromBytes32Address: () => fromBytes32Address,
|
|
@@ -64,6 +68,8 @@ __export(index_exports, {
|
|
|
64
68
|
getAmount1Delta: () => getAmount1Delta,
|
|
65
69
|
getAmount1DeltaSigned: () => getAmount1DeltaSigned,
|
|
66
70
|
getBlockExplorer: () => getBlockExplorer,
|
|
71
|
+
getLiquidityForAmount0: () => getLiquidityForAmount0,
|
|
72
|
+
getLiquidityForAmount1: () => getLiquidityForAmount1,
|
|
67
73
|
getNextSqrtPriceFromAmount0RoundingUp: () => getNextSqrtPriceFromAmount0RoundingUp,
|
|
68
74
|
getNextSqrtPriceFromAmount1RoundingDown: () => getNextSqrtPriceFromAmount1RoundingDown,
|
|
69
75
|
getNextSqrtPriceFromInput: () => getNextSqrtPriceFromInput,
|
|
@@ -71,16 +77,19 @@ __export(index_exports, {
|
|
|
71
77
|
getOtherTokensInPairs: () => getOtherTokensInPairs,
|
|
72
78
|
getPeripheryDetailsByKernelPoolAndChainId: () => getPeripheryDetailsByKernelPoolAndChainId,
|
|
73
79
|
getPoolInfoByKey: () => getPoolInfoByKey,
|
|
80
|
+
getPriceAtTick: () => getPriceAtTick,
|
|
74
81
|
getSqrtRatioAtTick: () => getSqrtRatioAtTick,
|
|
75
82
|
getSupportedChains: () => getSupportedChains,
|
|
76
83
|
getSupportedPairs: () => getSupportedPairs,
|
|
77
84
|
getSupportedTokens: () => getSupportedTokens,
|
|
85
|
+
getTickAtPrice: () => getTickAtPrice,
|
|
78
86
|
getTickAtSqrtRatio: () => getTickAtSqrtRatio,
|
|
79
87
|
getTokenSymbol: () => getTokenSymbol,
|
|
80
88
|
hexToBase58: () => hexToBase58,
|
|
81
89
|
kernelPoolToPoolKey: () => kernelPoolToPoolKey,
|
|
82
90
|
mulDiv: () => mulDiv,
|
|
83
91
|
mulDivRoundingUp: () => mulDivRoundingUp,
|
|
92
|
+
normalizeAmount: () => normalizeAmount,
|
|
84
93
|
normalizeMode: () => normalizeMode,
|
|
85
94
|
skateAdapter: () => skate_exports,
|
|
86
95
|
svmBytes32Base58ToEvmAddress: () => svmBytes32Base58ToEvmAddress,
|
|
@@ -100,7 +109,6 @@ var CHAIN = /* @__PURE__ */ ((CHAIN2) => {
|
|
|
100
109
|
CHAIN2[CHAIN2["ARBITRUM"] = 42161] = "ARBITRUM";
|
|
101
110
|
CHAIN2[CHAIN2["BSC"] = 56] = "BSC";
|
|
102
111
|
CHAIN2[CHAIN2["MANTLE"] = 5e3] = "MANTLE";
|
|
103
|
-
CHAIN2[CHAIN2["OPTIMISM"] = 10] = "OPTIMISM";
|
|
104
112
|
CHAIN2[CHAIN2["ETHEREUM"] = 1] = "ETHEREUM";
|
|
105
113
|
CHAIN2[CHAIN2["HYPERLIQUID"] = 999] = "HYPERLIQUID";
|
|
106
114
|
CHAIN2[CHAIN2["PLUME"] = 98866] = "PLUME";
|
|
@@ -134,7 +142,6 @@ var BLOCK_EXPLORER = /* @__PURE__ */ ((BLOCK_EXPLORER2) => {
|
|
|
134
142
|
BLOCK_EXPLORER2["BASE"] = "https://basescan.org";
|
|
135
143
|
BLOCK_EXPLORER2["ARBITRUM"] = "https://arbiscan.io";
|
|
136
144
|
BLOCK_EXPLORER2["MANTLE"] = "https://mantlescan.xyz";
|
|
137
|
-
BLOCK_EXPLORER2["OPTIMISM"] = "https://optimistic.etherscan.io";
|
|
138
145
|
BLOCK_EXPLORER2["ETHEREUM"] = "https://etherscan.io";
|
|
139
146
|
BLOCK_EXPLORER2["BSC"] = "https://bscscan.com";
|
|
140
147
|
BLOCK_EXPLORER2["HYPERLIQUID"] = "https://hyperscan.com";
|
|
@@ -161,8 +168,6 @@ function getBlockExplorer(chain) {
|
|
|
161
168
|
return "https://arbiscan.io" /* ARBITRUM */;
|
|
162
169
|
case 5e3 /* MANTLE */:
|
|
163
170
|
return "https://mantlescan.xyz" /* MANTLE */;
|
|
164
|
-
case 10 /* OPTIMISM */:
|
|
165
|
-
return "https://optimistic.etherscan.io" /* OPTIMISM */;
|
|
166
171
|
case 1 /* ETHEREUM */:
|
|
167
172
|
return "https://etherscan.io" /* ETHEREUM */;
|
|
168
173
|
case 56 /* BSC */:
|
|
@@ -189,7 +194,6 @@ function vmTypeFromChain(chainId) {
|
|
|
189
194
|
case 8453 /* BASE */:
|
|
190
195
|
case 42161 /* ARBITRUM */:
|
|
191
196
|
case 5e3 /* MANTLE */:
|
|
192
|
-
case 10 /* OPTIMISM */:
|
|
193
197
|
case 1 /* ETHEREUM */:
|
|
194
198
|
case 56 /* BSC */:
|
|
195
199
|
case 999 /* HYPERLIQUID */:
|
|
@@ -225,25 +229,13 @@ var TaskPhase = /* @__PURE__ */ ((TaskPhase2) => {
|
|
|
225
229
|
return TaskPhase2;
|
|
226
230
|
})(TaskPhase || {});
|
|
227
231
|
|
|
228
|
-
// src/errors.ts
|
|
229
|
-
var SdkError = class extends Error {
|
|
230
|
-
name = "SdkError";
|
|
231
|
-
constructor(message, options) {
|
|
232
|
-
super(message, options);
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
// src/deployment/_notDeployed.ts
|
|
237
|
-
function notDeployed(scope, mode, surface = "SDK v2") {
|
|
238
|
-
throw new SdkError(
|
|
239
|
-
`${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}.`
|
|
240
|
-
);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
232
|
// src/deployment/kernel.ts
|
|
244
|
-
var
|
|
245
|
-
var
|
|
233
|
+
var KERNEL_MANAGER = "0x17B7207837e8884f7f687f1f4057751BDAf70a01";
|
|
234
|
+
var KERNEL_EVENT_EMITTER = "0x8989b3ecb65f250ab7A0DC03589B0Cc8b8b04b81";
|
|
246
235
|
var KERNEL_POOL_USDC_USDT_Dev = "0x2c23334eE3b030e6bacEDEDf7C511eEA08Cf7E7e";
|
|
236
|
+
var KERNEL_POOL_WETH_USDC_Dev = "0x0185175Fd3DF28AcEf4faED7772db3207a64b046";
|
|
237
|
+
var KERNEL_POOL_QQQX_USDC_Dev = "0x4bCa49bC6CeD8505d10b08C01bce326166dF1a8A";
|
|
238
|
+
var KERNEL_POOL_NVDAX_USDC_Dev = "0x49a22A648A308E394171A63fa163f0368E85749f";
|
|
247
239
|
var KERNEL_CHAIN_BY_MODE = {
|
|
248
240
|
DEV: 4326 /* MEGAETH */,
|
|
249
241
|
STAGING: 4326 /* MEGAETH */,
|
|
@@ -252,13 +244,11 @@ var KERNEL_CHAIN_BY_MODE = {
|
|
|
252
244
|
function KernelChain(mode) {
|
|
253
245
|
return KERNEL_CHAIN_BY_MODE[mode];
|
|
254
246
|
}
|
|
255
|
-
function KernelManagerAddress(
|
|
256
|
-
|
|
257
|
-
return notDeployed("KernelManagerAddress", mode);
|
|
247
|
+
function KernelManagerAddress(_mode) {
|
|
248
|
+
return KERNEL_MANAGER;
|
|
258
249
|
}
|
|
259
|
-
function KernelEventEmitterAddress(
|
|
260
|
-
|
|
261
|
-
return notDeployed("KernelEventEmitterAddress", mode);
|
|
250
|
+
function KernelEventEmitterAddress(_mode) {
|
|
251
|
+
return KERNEL_EVENT_EMITTER;
|
|
262
252
|
}
|
|
263
253
|
|
|
264
254
|
// src/deployment/periphery.ts
|
|
@@ -272,11 +262,49 @@ var PERIPHERY_DEV = {
|
|
|
272
262
|
peripheryManagerImpl: "0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3",
|
|
273
263
|
eventEmitter: "0xB301150AFA170816Ae18EC21e2A830Ddc7bBA1De",
|
|
274
264
|
peripheryPoolImpl: "0x803ed7fa8934D4fe51A276cA02506b585cdb3eb4"
|
|
265
|
+
},
|
|
266
|
+
[8453 /* BASE */]: {
|
|
267
|
+
multicall: "0x6eB37463DBC55b96dFa0186D8aF7952827C6D761",
|
|
268
|
+
executorRegistry: "0x9b31d7616C3D970Ba76e5C05f112dA62D10c6A12",
|
|
269
|
+
actionBox: "0x3F51CBfa16D605a271D06fd8b67A7AB070FD8Dd8",
|
|
270
|
+
skateGateway: "0x0205dF24a1521900eCb0A1DFC0E6FddF8Cd9CEa4",
|
|
271
|
+
peripheryManager: "0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3",
|
|
272
|
+
peripheryManagerImpl: "0xd2d9ad3cBad933E23d973e146A6Ca48D2b8076F3",
|
|
273
|
+
eventEmitter: "0xf95e0a4932bBE5E27561486da809cbE0E54551A4",
|
|
274
|
+
peripheryPoolImpl: "0x29922Fd24c75436e2F73C0C2F5678F28237B7634"
|
|
275
|
+
},
|
|
276
|
+
[56 /* BSC */]: {
|
|
277
|
+
multicall: "0x2bf8a2BFEcaF10B2ff98b3E61df52B264261BD10",
|
|
278
|
+
executorRegistry: "0x6eB37463DBC55b96dFa0186D8aF7952827C6D761",
|
|
279
|
+
actionBox: "0x052DB3711Fd69A06698c182394A14e086D168b0B",
|
|
280
|
+
skateGateway: "0x64F6d0574633921fb00577Ae332E2610F6aE320B",
|
|
281
|
+
peripheryManager: "0x0205dF24a1521900eCb0A1DFC0E6FddF8Cd9CEa4",
|
|
282
|
+
peripheryManagerImpl: "0x4309d3aE98c8A751fAc34C91536Ee860d9B8DcE1",
|
|
283
|
+
eventEmitter: "0x71a06aE513D303A619A8a4AB670e5Ae7e8F98EF9",
|
|
284
|
+
peripheryPoolImpl: "0xd2d9ad3cBad933E23d973e146A6Ca48D2b8076F3"
|
|
285
|
+
},
|
|
286
|
+
[1 /* ETHEREUM */]: {
|
|
287
|
+
multicall: "0x62C7a9d458DDfF45780aCD60c25a5Cc2d21c47dD",
|
|
288
|
+
executorRegistry: "0x3dCD7A136F0A49f3EFcC5E215793Fa1ce5c400Bf",
|
|
289
|
+
actionBox: "0x8f4e4E53b3AFF8579D3C5509bE2201979038cf3C",
|
|
290
|
+
skateGateway: "0x3F51CBfa16D605a271D06fd8b67A7AB070FD8Dd8",
|
|
291
|
+
peripheryManager: "0x63Ca920425f683138B9407171b51b8172421Ba50",
|
|
292
|
+
peripheryManagerImpl: "0x0205dF24a1521900eCb0A1DFC0E6FddF8Cd9CEa4",
|
|
293
|
+
eventEmitter: "0xBE70a635A99CDb5675C13db4867E053839224F50",
|
|
294
|
+
peripheryPoolImpl: "0x26F01bc73cB7422DB67BBDfAcd9C987Ae66bF3D3"
|
|
275
295
|
}
|
|
276
296
|
};
|
|
297
|
+
var PERIPHERY_STAGING = PERIPHERY_DEV;
|
|
298
|
+
var PERIPHERY_PRODUCTION = PERIPHERY_DEV;
|
|
277
299
|
function PeripheryDeploymentFor(chain, mode) {
|
|
278
|
-
|
|
279
|
-
|
|
300
|
+
switch (mode) {
|
|
301
|
+
case "DEV":
|
|
302
|
+
return PERIPHERY_DEV[chain] ?? null;
|
|
303
|
+
case "STAGING":
|
|
304
|
+
return PERIPHERY_STAGING[chain] ?? null;
|
|
305
|
+
case "PRODUCTION":
|
|
306
|
+
return PERIPHERY_PRODUCTION[chain] ?? null;
|
|
307
|
+
}
|
|
280
308
|
}
|
|
281
309
|
function PeripheryManagerAddress(chain, mode) {
|
|
282
310
|
return PeripheryDeploymentFor(chain, mode)?.peripheryManager ?? null;
|
|
@@ -301,10 +329,152 @@ var SVM_DEPLOYMENT_DEV = {
|
|
|
301
329
|
manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA"
|
|
302
330
|
}
|
|
303
331
|
};
|
|
332
|
+
var SVM_DEPLOYMENT_STAGING = SVM_DEPLOYMENT_DEV;
|
|
333
|
+
var SVM_DEPLOYMENT_PRODUCTION = SVM_DEPLOYMENT_DEV;
|
|
304
334
|
function SvmDeploymentFor(chain, mode) {
|
|
305
|
-
|
|
306
|
-
|
|
335
|
+
switch (mode) {
|
|
336
|
+
case "DEV":
|
|
337
|
+
return SVM_DEPLOYMENT_DEV[chain] ?? null;
|
|
338
|
+
case "STAGING":
|
|
339
|
+
return SVM_DEPLOYMENT_STAGING[chain] ?? null;
|
|
340
|
+
case "PRODUCTION":
|
|
341
|
+
return SVM_DEPLOYMENT_PRODUCTION[chain] ?? null;
|
|
342
|
+
}
|
|
307
343
|
}
|
|
344
|
+
var TOKEN_PROGRAM_ID = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
|
|
345
|
+
var TOKEN_2022_PROGRAM_ID = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
|
|
346
|
+
var SVM_POOLS_DEV = {
|
|
347
|
+
USDC_USDT: {
|
|
348
|
+
[901 /* SOLANA */]: {
|
|
349
|
+
peripheryPool: "G2j8vLu3ryzUqPYpknpBcBLDcFiiRmXtB7z9Dpg9dVxe",
|
|
350
|
+
poolAuthority: "2Mvbo1TrsVeqyjQwNcdDDGjFNbwMk4tV8oD2TN2fV4Nw",
|
|
351
|
+
dust: "4m1AdUZvYJUSMTYpFH8df1JrgHTqUeKA3Xf7DapB4VcX",
|
|
352
|
+
poolToken0Vault: "BihGfVYmaT4KpiHiBLwH2ad9Q2ybYVHS2Bd3hQtzg486",
|
|
353
|
+
poolToken1Vault: "3DW4k4ims6dFB2cXBk5m1uAfh1zowuj9CzBbF4jm1FRh",
|
|
354
|
+
manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
|
|
355
|
+
tokenProgramId0: TOKEN_PROGRAM_ID,
|
|
356
|
+
tokenProgramId1: TOKEN_PROGRAM_ID,
|
|
357
|
+
token0: {
|
|
358
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
359
|
+
symbol: "USDC",
|
|
360
|
+
isNative: false,
|
|
361
|
+
decimal: 6,
|
|
362
|
+
chainId: 901 /* SOLANA */
|
|
363
|
+
},
|
|
364
|
+
token1: {
|
|
365
|
+
address: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
|
|
366
|
+
symbol: "USDT",
|
|
367
|
+
isNative: false,
|
|
368
|
+
decimal: 6,
|
|
369
|
+
chainId: 901 /* SOLANA */
|
|
370
|
+
},
|
|
371
|
+
chain: "SOLANA"
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
QQQX_USDC: {
|
|
375
|
+
[901 /* SOLANA */]: {
|
|
376
|
+
peripheryPool: "3D97C7WAPfXzmKLFXZDqe7KNtauKJhEvJDJE7htT3YRh",
|
|
377
|
+
poolAuthority: "2sFmz5hukcZWGgdWBySLztyBWgoj6TSPe5Tywra4oqT4",
|
|
378
|
+
dust: "HNQcu6kbQFDr2u6XmhZL6uiWwdCt7geCKgn3imHLtikB",
|
|
379
|
+
poolToken0Vault: "AB6BBRPRt8ZNSsAp4jmwd5BD3Z7uqjkbjXvWrBpsuA4L",
|
|
380
|
+
poolToken1Vault: "zpAgwiY7Rk2GZ3VHyAx3ZuCCDE8PhkyhPELJEPnV3Th",
|
|
381
|
+
manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
|
|
382
|
+
tokenProgramId0: TOKEN_2022_PROGRAM_ID,
|
|
383
|
+
// xStock = Token-2022
|
|
384
|
+
tokenProgramId1: TOKEN_PROGRAM_ID,
|
|
385
|
+
// USDC = classic
|
|
386
|
+
token0: {
|
|
387
|
+
address: "Xs8S1uUs1zvS2p7iwtsG3b6fkhpvmwz4GYU3gWAmWHZ",
|
|
388
|
+
// QQQx mint (Token-2022)
|
|
389
|
+
symbol: "QQQX",
|
|
390
|
+
isNative: false,
|
|
391
|
+
decimal: 8,
|
|
392
|
+
chainId: 901 /* SOLANA */
|
|
393
|
+
},
|
|
394
|
+
token1: {
|
|
395
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
396
|
+
symbol: "USDC",
|
|
397
|
+
isNative: false,
|
|
398
|
+
decimal: 6,
|
|
399
|
+
chainId: 901 /* SOLANA */
|
|
400
|
+
},
|
|
401
|
+
chain: "SOLANA"
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
NVDAX_USDC: {
|
|
405
|
+
[901 /* SOLANA */]: {
|
|
406
|
+
peripheryPool: "CciQYe2K8PrabWMDXpomHAEyj4Cfj3DqeqYeWRwvDV6q",
|
|
407
|
+
poolAuthority: "EEFqPuPMM9B6r3qn2shHvcuXBSDyCA4YmffLoYZPU9uA",
|
|
408
|
+
dust: "DqFFGLBB9U552oUyCa19zkkW7B4JspEAFaLzQgRCn7qJ",
|
|
409
|
+
poolToken0Vault: "DsdoQzMUBHe2Q2w4zwSbWzcqMWvSms1XcfiepJKkDHUb",
|
|
410
|
+
poolToken1Vault: "7DmHWD8vbYgqSZoF1sVPJ9BtPzZrHtRBSoduC3Sz9XiK",
|
|
411
|
+
manager: "SGMSTk5t2gmiHKQjtb9XV6qviasgD5UKTsVMHLGCSZA",
|
|
412
|
+
tokenProgramId0: TOKEN_2022_PROGRAM_ID,
|
|
413
|
+
// xStock = Token-2022
|
|
414
|
+
tokenProgramId1: TOKEN_PROGRAM_ID,
|
|
415
|
+
// USDC = classic
|
|
416
|
+
token0: {
|
|
417
|
+
address: "Xsc9qvGR1efVDFGLrVsmkzv3qi45LTBjeUKSPmx9qEh",
|
|
418
|
+
// NVDAx mint (Token-2022)
|
|
419
|
+
symbol: "NVDAX",
|
|
420
|
+
isNative: false,
|
|
421
|
+
decimal: 8,
|
|
422
|
+
chainId: 901 /* SOLANA */
|
|
423
|
+
},
|
|
424
|
+
token1: {
|
|
425
|
+
address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
|
426
|
+
symbol: "USDC",
|
|
427
|
+
isNative: false,
|
|
428
|
+
decimal: 6,
|
|
429
|
+
chainId: 901 /* SOLANA */
|
|
430
|
+
},
|
|
431
|
+
chain: "SOLANA"
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
};
|
|
435
|
+
|
|
436
|
+
// src/deployment/sui.ts
|
|
437
|
+
var SUI_DEPLOYMENT_DEV = {
|
|
438
|
+
[1001 /* SUI */]: {
|
|
439
|
+
peripheryPackage: "0x96e1d3897efee30bede047a14d186a952350d4759d3175f76ff6ac2c4a121901"
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
var SUI_DEPLOYMENT_STAGING = SUI_DEPLOYMENT_DEV;
|
|
443
|
+
var SUI_DEPLOYMENT_PRODUCTION = SUI_DEPLOYMENT_DEV;
|
|
444
|
+
function SuiDeploymentFor(chain, mode) {
|
|
445
|
+
switch (mode) {
|
|
446
|
+
case "DEV":
|
|
447
|
+
return SUI_DEPLOYMENT_DEV[chain] ?? null;
|
|
448
|
+
case "STAGING":
|
|
449
|
+
return SUI_DEPLOYMENT_STAGING[chain] ?? null;
|
|
450
|
+
case "PRODUCTION":
|
|
451
|
+
return SUI_DEPLOYMENT_PRODUCTION[chain] ?? null;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
var SUI_POOLS_DEV = {
|
|
455
|
+
USDC_USDT: {
|
|
456
|
+
[1001 /* SUI */]: {
|
|
457
|
+
poolId: "0xc014f7cb0a2604fb887d09165242828e6fe913f30d7ae2bea80199caed5ccbcb",
|
|
458
|
+
managerCapId: "0xca34c6dff464f42a349294fa9fbe67a6d72eb999081db8de3fd56672b68863ee",
|
|
459
|
+
peripheryPackage: "0x96e1d3897efee30bede047a14d186a952350d4759d3175f76ff6ac2c4a121901",
|
|
460
|
+
token0: {
|
|
461
|
+
address: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
|
|
462
|
+
symbol: "USDC",
|
|
463
|
+
isNative: false,
|
|
464
|
+
decimal: 6,
|
|
465
|
+
chainId: 1001 /* SUI */
|
|
466
|
+
},
|
|
467
|
+
token1: {
|
|
468
|
+
address: "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
|
|
469
|
+
symbol: "USDT",
|
|
470
|
+
isNative: false,
|
|
471
|
+
decimal: 6,
|
|
472
|
+
chainId: 1001 /* SUI */
|
|
473
|
+
},
|
|
474
|
+
chain: "SUI"
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
};
|
|
308
478
|
|
|
309
479
|
// src/deployment/aggregated/dev.ts
|
|
310
480
|
var POOL_INFO_Dev = {
|
|
@@ -332,40 +502,235 @@ var POOL_INFO_Dev = {
|
|
|
332
502
|
address: "0x0433CCB013a590eA4231aAC9ddf05bb753c14127",
|
|
333
503
|
chain: "ARBITRUM"
|
|
334
504
|
},
|
|
335
|
-
[
|
|
505
|
+
[56 /* BSC */]: {
|
|
336
506
|
token0: {
|
|
337
|
-
address: "
|
|
507
|
+
address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
|
|
508
|
+
symbol: "USDC",
|
|
509
|
+
isNative: false,
|
|
510
|
+
decimal: 18,
|
|
511
|
+
chainId: 56 /* BSC */
|
|
512
|
+
},
|
|
513
|
+
token1: {
|
|
514
|
+
address: "0x55d398326f99059fF775485246999027B3197955",
|
|
515
|
+
symbol: "USDT",
|
|
516
|
+
isNative: false,
|
|
517
|
+
decimal: 18,
|
|
518
|
+
chainId: 56 /* BSC */
|
|
519
|
+
},
|
|
520
|
+
address: "0xf1418c3B237f44fB6A163f3a6e66D7A284154cCd",
|
|
521
|
+
chain: "BSC"
|
|
522
|
+
},
|
|
523
|
+
[8453 /* BASE */]: {
|
|
524
|
+
token0: {
|
|
525
|
+
address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
338
526
|
symbol: "USDC",
|
|
339
527
|
isNative: false,
|
|
340
528
|
decimal: 6,
|
|
341
|
-
chainId:
|
|
529
|
+
chainId: 8453 /* BASE */
|
|
342
530
|
},
|
|
343
531
|
token1: {
|
|
344
|
-
address: "
|
|
532
|
+
address: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2",
|
|
345
533
|
symbol: "USDT",
|
|
346
534
|
isNative: false,
|
|
347
535
|
decimal: 6,
|
|
348
|
-
chainId:
|
|
536
|
+
chainId: 8453 /* BASE */
|
|
537
|
+
},
|
|
538
|
+
address: "0x2103EFCB4A3140F30c745e30Fb360816DC0Da415",
|
|
539
|
+
chain: "BASE"
|
|
540
|
+
},
|
|
541
|
+
...SVM_POOLS_DEV.USDC_USDT,
|
|
542
|
+
...SUI_POOLS_DEV.USDC_USDT
|
|
543
|
+
}
|
|
544
|
+
},
|
|
545
|
+
WETH_USDC: {
|
|
546
|
+
kernelPool: KERNEL_POOL_WETH_USDC_Dev,
|
|
547
|
+
token0: "WETH",
|
|
548
|
+
token1: "USDC",
|
|
549
|
+
feeBps: 5,
|
|
550
|
+
peripheryInfo: {
|
|
551
|
+
[42161 /* ARBITRUM */]: {
|
|
552
|
+
token0: {
|
|
553
|
+
address: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
|
|
554
|
+
symbol: "WETH",
|
|
555
|
+
isNative: false,
|
|
556
|
+
decimal: 18,
|
|
557
|
+
chainId: 42161 /* ARBITRUM */
|
|
558
|
+
},
|
|
559
|
+
token1: {
|
|
560
|
+
address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
561
|
+
symbol: "USDC",
|
|
562
|
+
isNative: false,
|
|
563
|
+
decimal: 6,
|
|
564
|
+
chainId: 42161 /* ARBITRUM */
|
|
565
|
+
},
|
|
566
|
+
address: "0xcE61ABbf872C86e855D266D30251F741c1f24225",
|
|
567
|
+
chain: "ARBITRUM"
|
|
568
|
+
},
|
|
569
|
+
[8453 /* BASE */]: {
|
|
570
|
+
token0: {
|
|
571
|
+
address: "0x4200000000000000000000000000000000000006",
|
|
572
|
+
symbol: "WETH",
|
|
573
|
+
isNative: false,
|
|
574
|
+
decimal: 18,
|
|
575
|
+
chainId: 8453 /* BASE */
|
|
349
576
|
},
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
chain: "
|
|
577
|
+
token1: {
|
|
578
|
+
address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
579
|
+
symbol: "USDC",
|
|
580
|
+
isNative: false,
|
|
581
|
+
decimal: 6,
|
|
582
|
+
chainId: 8453 /* BASE */
|
|
583
|
+
},
|
|
584
|
+
address: "0x8781383f9e35402Afb2a6a301d35EDf77954d3e1",
|
|
585
|
+
chain: "BASE"
|
|
359
586
|
}
|
|
360
587
|
}
|
|
588
|
+
},
|
|
589
|
+
QQQX_USDC: {
|
|
590
|
+
kernelPool: KERNEL_POOL_QQQX_USDC_Dev,
|
|
591
|
+
token0: "QQQX",
|
|
592
|
+
token1: "USDC",
|
|
593
|
+
feeBps: 5,
|
|
594
|
+
peripheryInfo: {
|
|
595
|
+
[42161 /* ARBITRUM */]: {
|
|
596
|
+
token0: {
|
|
597
|
+
address: "0xa753a7395cae905cd615da0b82a53e0560f250af",
|
|
598
|
+
// QQQx (Arb, 18-dec)
|
|
599
|
+
symbol: "QQQX",
|
|
600
|
+
isNative: false,
|
|
601
|
+
decimal: 18,
|
|
602
|
+
chainId: 42161 /* ARBITRUM */
|
|
603
|
+
},
|
|
604
|
+
token1: {
|
|
605
|
+
address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
606
|
+
// USDC (Arb)
|
|
607
|
+
symbol: "USDC",
|
|
608
|
+
isNative: false,
|
|
609
|
+
decimal: 6,
|
|
610
|
+
chainId: 42161 /* ARBITRUM */
|
|
611
|
+
},
|
|
612
|
+
address: "0xfE696c7Cf1FFac9BeDf558C6e610bD978b08619F",
|
|
613
|
+
chain: "ARBITRUM"
|
|
614
|
+
},
|
|
615
|
+
[1 /* ETHEREUM */]: {
|
|
616
|
+
token0: {
|
|
617
|
+
address: "0xa753a7395cae905cd615da0b82a53e0560f250af",
|
|
618
|
+
// QQQx (ETH, 18-dec)
|
|
619
|
+
symbol: "QQQX",
|
|
620
|
+
isNative: false,
|
|
621
|
+
decimal: 18,
|
|
622
|
+
chainId: 1 /* ETHEREUM */
|
|
623
|
+
},
|
|
624
|
+
token1: {
|
|
625
|
+
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
626
|
+
// USDC (ETH)
|
|
627
|
+
symbol: "USDC",
|
|
628
|
+
isNative: false,
|
|
629
|
+
decimal: 6,
|
|
630
|
+
chainId: 1 /* ETHEREUM */
|
|
631
|
+
},
|
|
632
|
+
address: "0x1E0C3acCfD4c9A1731d3A0Cdb6b8afBD0f0c219c",
|
|
633
|
+
chain: "ETHEREUM"
|
|
634
|
+
},
|
|
635
|
+
[56 /* BSC */]: {
|
|
636
|
+
token0: {
|
|
637
|
+
address: "0xa753a7395cae905cd615da0b82a53e0560f250af",
|
|
638
|
+
// QQQx (BSC, 18-dec)
|
|
639
|
+
symbol: "QQQX",
|
|
640
|
+
isNative: false,
|
|
641
|
+
decimal: 18,
|
|
642
|
+
chainId: 56 /* BSC */
|
|
643
|
+
},
|
|
644
|
+
token1: {
|
|
645
|
+
address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
|
|
646
|
+
// USDC (BSC, 18-dec)
|
|
647
|
+
symbol: "USDC",
|
|
648
|
+
isNative: false,
|
|
649
|
+
decimal: 18,
|
|
650
|
+
chainId: 56 /* BSC */
|
|
651
|
+
},
|
|
652
|
+
address: "0x55dc9eDcEFb3D5c918f1E53668096D27F76e30c5",
|
|
653
|
+
chain: "BSC"
|
|
654
|
+
},
|
|
655
|
+
...SVM_POOLS_DEV.QQQX_USDC
|
|
656
|
+
}
|
|
657
|
+
},
|
|
658
|
+
NVDAX_USDC: {
|
|
659
|
+
kernelPool: KERNEL_POOL_NVDAX_USDC_Dev,
|
|
660
|
+
token0: "NVDAX",
|
|
661
|
+
token1: "USDC",
|
|
662
|
+
feeBps: 5,
|
|
663
|
+
peripheryInfo: {
|
|
664
|
+
[42161 /* ARBITRUM */]: {
|
|
665
|
+
token0: {
|
|
666
|
+
address: "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
|
|
667
|
+
// NVDAx (Arb, 18-dec)
|
|
668
|
+
symbol: "NVDAX",
|
|
669
|
+
isNative: false,
|
|
670
|
+
decimal: 18,
|
|
671
|
+
chainId: 42161 /* ARBITRUM */
|
|
672
|
+
},
|
|
673
|
+
token1: {
|
|
674
|
+
address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
675
|
+
// USDC (Arb)
|
|
676
|
+
symbol: "USDC",
|
|
677
|
+
isNative: false,
|
|
678
|
+
decimal: 6,
|
|
679
|
+
chainId: 42161 /* ARBITRUM */
|
|
680
|
+
},
|
|
681
|
+
address: "0xe1e76F6E987219802fC6bAA61040DA40eE0Be16E",
|
|
682
|
+
chain: "ARBITRUM"
|
|
683
|
+
},
|
|
684
|
+
[1 /* ETHEREUM */]: {
|
|
685
|
+
token0: {
|
|
686
|
+
address: "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
|
|
687
|
+
// NVDAx (ETH, 18-dec)
|
|
688
|
+
symbol: "NVDAX",
|
|
689
|
+
isNative: false,
|
|
690
|
+
decimal: 18,
|
|
691
|
+
chainId: 1 /* ETHEREUM */
|
|
692
|
+
},
|
|
693
|
+
token1: {
|
|
694
|
+
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
695
|
+
// USDC (ETH)
|
|
696
|
+
symbol: "USDC",
|
|
697
|
+
isNative: false,
|
|
698
|
+
decimal: 6,
|
|
699
|
+
chainId: 1 /* ETHEREUM */
|
|
700
|
+
},
|
|
701
|
+
address: "0x00739d7b2ed5eD3B80d9e10ccBc2468ad1b9C2FD",
|
|
702
|
+
chain: "ETHEREUM"
|
|
703
|
+
},
|
|
704
|
+
[56 /* BSC */]: {
|
|
705
|
+
token0: {
|
|
706
|
+
address: "0xc845b2894dBddd03858fd2D643B4eF725fE0849d",
|
|
707
|
+
// NVDAx (BSC, 18-dec)
|
|
708
|
+
symbol: "NVDAX",
|
|
709
|
+
isNative: false,
|
|
710
|
+
decimal: 18,
|
|
711
|
+
chainId: 56 /* BSC */
|
|
712
|
+
},
|
|
713
|
+
token1: {
|
|
714
|
+
address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
|
|
715
|
+
// USDC (BSC, 18-dec)
|
|
716
|
+
symbol: "USDC",
|
|
717
|
+
isNative: false,
|
|
718
|
+
decimal: 18,
|
|
719
|
+
chainId: 56 /* BSC */
|
|
720
|
+
},
|
|
721
|
+
address: "0x3493491b92C25c06d2E47EAE82Bd3251d313dD39",
|
|
722
|
+
chain: "BSC"
|
|
723
|
+
},
|
|
724
|
+
...SVM_POOLS_DEV.NVDAX_USDC
|
|
725
|
+
}
|
|
361
726
|
}
|
|
362
727
|
};
|
|
363
728
|
|
|
364
729
|
// src/deployment/aggregated/staging.ts
|
|
365
|
-
var POOL_INFO_Staging =
|
|
730
|
+
var POOL_INFO_Staging = POOL_INFO_Dev;
|
|
366
731
|
|
|
367
732
|
// src/deployment/aggregated/production.ts
|
|
368
|
-
var POOL_INFO_Production =
|
|
733
|
+
var POOL_INFO_Production = POOL_INFO_Dev;
|
|
369
734
|
|
|
370
735
|
// src/deployment/aggregated/retrieval.ts
|
|
371
736
|
function getAllPoolInfo(mode = "PRODUCTION") {
|
|
@@ -453,7 +818,8 @@ function getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId, mode = "
|
|
|
453
818
|
const info = getAllPoolInfo(mode);
|
|
454
819
|
return info[poolKey]?.peripheryInfo[chainId] ?? null;
|
|
455
820
|
}
|
|
456
|
-
function findTokensBySymbol(
|
|
821
|
+
function findTokensBySymbol(args) {
|
|
822
|
+
const { symbol, chainIds, mode = "PRODUCTION" } = args;
|
|
457
823
|
const normalized = symbol.toLowerCase();
|
|
458
824
|
const chains = chainIds ?? getSupportedChains(mode);
|
|
459
825
|
const out = [];
|
|
@@ -660,6 +1026,14 @@ function fromBytes32Address(bytes32Address, vmType) {
|
|
|
660
1026
|
}
|
|
661
1027
|
}
|
|
662
1028
|
|
|
1029
|
+
// src/errors.ts
|
|
1030
|
+
var SdkError = class extends Error {
|
|
1031
|
+
name = "SdkError";
|
|
1032
|
+
constructor(message, options) {
|
|
1033
|
+
super(message, options);
|
|
1034
|
+
}
|
|
1035
|
+
};
|
|
1036
|
+
|
|
663
1037
|
// src/math/tickMath.ts
|
|
664
1038
|
var MAX_UINT256 = (1n << 256n) - 1n;
|
|
665
1039
|
var Q160_MASK = (1n << 160n) - 1n;
|
|
@@ -670,6 +1044,11 @@ var MIN_SQRT_RATIO = 4295128739n;
|
|
|
670
1044
|
var MAX_SQRT_RATIO = 1461446703485210103287273052203988822378723970342n;
|
|
671
1045
|
var MIN_SQRT_PRICE_LIMIT = MIN_SQRT_RATIO + 1n;
|
|
672
1046
|
var MAX_SQRT_PRICE_LIMIT = MAX_SQRT_RATIO - 1n;
|
|
1047
|
+
var MIN_SQRT_PRICE_X96 = MIN_SQRT_PRICE_LIMIT;
|
|
1048
|
+
var MAX_SQRT_PRICE_X96 = MAX_SQRT_PRICE_LIMIT;
|
|
1049
|
+
var TICK_VALUE = 1.0001;
|
|
1050
|
+
var PRICE_ZERO = 0;
|
|
1051
|
+
var PRICE_INF = 2 ** 32 - 1;
|
|
673
1052
|
function getSqrtRatioAtTick(tick) {
|
|
674
1053
|
if (!Number.isInteger(tick)) {
|
|
675
1054
|
throw new Error("TickMath: tick must be an integer");
|
|
@@ -798,6 +1177,17 @@ function toInt24(x) {
|
|
|
798
1177
|
const signed = truncated >= 1n << 23n ? truncated - (1n << 24n) : truncated;
|
|
799
1178
|
return Number(signed);
|
|
800
1179
|
}
|
|
1180
|
+
function getPriceAtTick(tick) {
|
|
1181
|
+
const sqrtPriceX96 = getSqrtRatioAtTick(tick);
|
|
1182
|
+
const Q962 = 1n << 96n;
|
|
1183
|
+
return (Number(sqrtPriceX96) / Number(Q962)) ** 2;
|
|
1184
|
+
}
|
|
1185
|
+
function getTickAtPrice(price) {
|
|
1186
|
+
if (price < 0) {
|
|
1187
|
+
throw new Error(`getTickAtPrice: invalid price=${price}`);
|
|
1188
|
+
}
|
|
1189
|
+
return Math.round(Math.log(price) / Math.log(TICK_VALUE));
|
|
1190
|
+
}
|
|
801
1191
|
|
|
802
1192
|
// src/math/fullMath.ts
|
|
803
1193
|
var MAX_UINT2562 = (1n << 256n) - 1n;
|
|
@@ -1005,34 +1395,149 @@ function addDelta(x, y) {
|
|
|
1005
1395
|
}
|
|
1006
1396
|
return z;
|
|
1007
1397
|
}
|
|
1398
|
+
function getLiquidityForAmount0(sqrtRatioAX96, sqrtRatioBX96, amount0) {
|
|
1399
|
+
if (sqrtRatioAX96 > sqrtRatioBX96) {
|
|
1400
|
+
[sqrtRatioAX96, sqrtRatioBX96] = [sqrtRatioBX96, sqrtRatioAX96];
|
|
1401
|
+
}
|
|
1402
|
+
const intermediate = mulDiv(sqrtRatioAX96, sqrtRatioBX96, Q96);
|
|
1403
|
+
return mulDiv(amount0, intermediate, sqrtRatioBX96 - sqrtRatioAX96);
|
|
1404
|
+
}
|
|
1405
|
+
function getLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, amount1) {
|
|
1406
|
+
if (sqrtRatioAX96 > sqrtRatioBX96) {
|
|
1407
|
+
[sqrtRatioAX96, sqrtRatioBX96] = [sqrtRatioBX96, sqrtRatioAX96];
|
|
1408
|
+
}
|
|
1409
|
+
return amount1 * Q96 / (sqrtRatioBX96 - sqrtRatioAX96);
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
// src/math/kernel.ts
|
|
1413
|
+
var NORMALIZED_DECIMAL = 18;
|
|
1414
|
+
function normalizeAmount(amount, decimal) {
|
|
1415
|
+
if (decimal === NORMALIZED_DECIMAL) return amount;
|
|
1416
|
+
if (!Number.isInteger(decimal) || decimal < 0) {
|
|
1417
|
+
throw new Error(`normalizeAmount: invalid decimal=${decimal}`);
|
|
1418
|
+
}
|
|
1419
|
+
if (decimal < NORMALIZED_DECIMAL) {
|
|
1420
|
+
return amount * 10n ** BigInt(NORMALIZED_DECIMAL - decimal);
|
|
1421
|
+
}
|
|
1422
|
+
return amount / 10n ** BigInt(decimal - NORMALIZED_DECIMAL);
|
|
1423
|
+
}
|
|
1424
|
+
function deNormalizeAmount(amount, decimal) {
|
|
1425
|
+
if (decimal === NORMALIZED_DECIMAL) return amount;
|
|
1426
|
+
if (!Number.isInteger(decimal) || decimal < 0) {
|
|
1427
|
+
throw new Error(`deNormalizeAmount: invalid decimal=${decimal}`);
|
|
1428
|
+
}
|
|
1429
|
+
if (decimal < NORMALIZED_DECIMAL) {
|
|
1430
|
+
return amount / 10n ** BigInt(NORMALIZED_DECIMAL - decimal);
|
|
1431
|
+
}
|
|
1432
|
+
return amount * 10n ** BigInt(decimal - NORMALIZED_DECIMAL);
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
// src/client.ts
|
|
1436
|
+
var AmmCore = class {
|
|
1437
|
+
mode;
|
|
1438
|
+
constructor(env) {
|
|
1439
|
+
this.mode = normalizeMode(env).mode;
|
|
1440
|
+
}
|
|
1441
|
+
// ── Kernel ────────────────────────────────────────────────────────────────
|
|
1442
|
+
KernelChain() {
|
|
1443
|
+
return KernelChain(this.mode);
|
|
1444
|
+
}
|
|
1445
|
+
KernelManagerAddress() {
|
|
1446
|
+
return KernelManagerAddress(this.mode);
|
|
1447
|
+
}
|
|
1448
|
+
KernelEventEmitterAddress() {
|
|
1449
|
+
return KernelEventEmitterAddress(this.mode);
|
|
1450
|
+
}
|
|
1451
|
+
// ── Periphery ─────────────────────────────────────────────────────────────
|
|
1452
|
+
PeripheryDeploymentFor(chain) {
|
|
1453
|
+
return PeripheryDeploymentFor(chain, this.mode);
|
|
1454
|
+
}
|
|
1455
|
+
PeripheryManagerAddress(chain) {
|
|
1456
|
+
return PeripheryManagerAddress(chain, this.mode);
|
|
1457
|
+
}
|
|
1458
|
+
PeripheryEventEmitterAddress(chain) {
|
|
1459
|
+
return PeripheryEventEmitterAddress(chain, this.mode);
|
|
1460
|
+
}
|
|
1461
|
+
SkateGatewayAddress(chain) {
|
|
1462
|
+
return SkateGatewayAddress(chain, this.mode);
|
|
1463
|
+
}
|
|
1464
|
+
ActionBoxAddress(chain) {
|
|
1465
|
+
return ActionBoxAddress(chain, this.mode);
|
|
1466
|
+
}
|
|
1467
|
+
// ── SVM ───────────────────────────────────────────────────────────────────
|
|
1468
|
+
SvmDeploymentFor(chain) {
|
|
1469
|
+
return SvmDeploymentFor(chain, this.mode);
|
|
1470
|
+
}
|
|
1471
|
+
// ── Sui ───────────────────────────────────────────────────────────────────
|
|
1472
|
+
SuiDeploymentFor(chain) {
|
|
1473
|
+
return SuiDeploymentFor(chain, this.mode);
|
|
1474
|
+
}
|
|
1475
|
+
// ── Aggregated / pool info ─────────────────────────────────────────────────
|
|
1476
|
+
getAllPoolInfo() {
|
|
1477
|
+
return getAllPoolInfo(this.mode);
|
|
1478
|
+
}
|
|
1479
|
+
getAllPoolKeys() {
|
|
1480
|
+
return getAllPoolKeys(this.mode);
|
|
1481
|
+
}
|
|
1482
|
+
getPoolInfoByKey(key) {
|
|
1483
|
+
return getPoolInfoByKey(key, this.mode);
|
|
1484
|
+
}
|
|
1485
|
+
getSupportedChains() {
|
|
1486
|
+
return getSupportedChains(this.mode);
|
|
1487
|
+
}
|
|
1488
|
+
getSupportedPairs(chainId) {
|
|
1489
|
+
return getSupportedPairs(chainId, this.mode);
|
|
1490
|
+
}
|
|
1491
|
+
getSupportedTokens(chainId) {
|
|
1492
|
+
return getSupportedTokens(chainId, this.mode);
|
|
1493
|
+
}
|
|
1494
|
+
getOtherTokensInPairs(chainId, tokenAddress) {
|
|
1495
|
+
return getOtherTokensInPairs(chainId, tokenAddress, this.mode);
|
|
1496
|
+
}
|
|
1497
|
+
kernelPoolToPoolKey(kernelPool) {
|
|
1498
|
+
return kernelPoolToPoolKey(kernelPool, this.mode);
|
|
1499
|
+
}
|
|
1500
|
+
getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId) {
|
|
1501
|
+
return getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId, this.mode);
|
|
1502
|
+
}
|
|
1503
|
+
findTokensBySymbol(args) {
|
|
1504
|
+
return findTokensBySymbol({ ...args, mode: this.mode });
|
|
1505
|
+
}
|
|
1506
|
+
getTokenSymbol(address, chainId) {
|
|
1507
|
+
return getTokenSymbol(address, chainId, this.mode);
|
|
1508
|
+
}
|
|
1509
|
+
};
|
|
1008
1510
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1009
1511
|
0 && (module.exports = {
|
|
1010
1512
|
ActionBoxAddress,
|
|
1513
|
+
AmmCore,
|
|
1011
1514
|
BLOCK_EXPLORER,
|
|
1012
1515
|
CHAIN,
|
|
1013
1516
|
CHAIN_MAP,
|
|
1014
1517
|
KERNEL_CHAIN_BY_MODE,
|
|
1015
|
-
KERNEL_POOL_USDC_USDT_Dev,
|
|
1016
1518
|
KernelChain,
|
|
1017
1519
|
KernelEventEmitterAddress,
|
|
1018
1520
|
KernelManagerAddress,
|
|
1019
1521
|
MAX_SQRT_PRICE_LIMIT,
|
|
1522
|
+
MAX_SQRT_PRICE_X96,
|
|
1020
1523
|
MAX_SQRT_RATIO,
|
|
1021
1524
|
MAX_TICK,
|
|
1022
1525
|
MIN_SQRT_PRICE_LIMIT,
|
|
1526
|
+
MIN_SQRT_PRICE_X96,
|
|
1023
1527
|
MIN_SQRT_RATIO,
|
|
1024
1528
|
MIN_TICK,
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
POOL_INFO_Staging,
|
|
1529
|
+
NORMALIZED_DECIMAL,
|
|
1530
|
+
PRICE_INF,
|
|
1531
|
+
PRICE_ZERO,
|
|
1029
1532
|
PeripheryDeploymentFor,
|
|
1030
1533
|
PeripheryEventEmitterAddress,
|
|
1031
1534
|
PeripheryManagerAddress,
|
|
1032
|
-
|
|
1535
|
+
Q96,
|
|
1033
1536
|
SdkError,
|
|
1034
1537
|
SkateGatewayAddress,
|
|
1538
|
+
SuiDeploymentFor,
|
|
1035
1539
|
SvmDeploymentFor,
|
|
1540
|
+
TICK_VALUE,
|
|
1036
1541
|
TaskPhase,
|
|
1037
1542
|
VM,
|
|
1038
1543
|
addDelta,
|
|
@@ -1041,6 +1546,7 @@ function addDelta(x, y) {
|
|
|
1041
1546
|
bufferFromBase58,
|
|
1042
1547
|
bytes32ToBase58,
|
|
1043
1548
|
bytes32ToEvmAddress,
|
|
1549
|
+
deNormalizeAmount,
|
|
1044
1550
|
evmAddressToBytes32,
|
|
1045
1551
|
findTokensBySymbol,
|
|
1046
1552
|
fromBytes32Address,
|
|
@@ -1051,6 +1557,8 @@ function addDelta(x, y) {
|
|
|
1051
1557
|
getAmount1Delta,
|
|
1052
1558
|
getAmount1DeltaSigned,
|
|
1053
1559
|
getBlockExplorer,
|
|
1560
|
+
getLiquidityForAmount0,
|
|
1561
|
+
getLiquidityForAmount1,
|
|
1054
1562
|
getNextSqrtPriceFromAmount0RoundingUp,
|
|
1055
1563
|
getNextSqrtPriceFromAmount1RoundingDown,
|
|
1056
1564
|
getNextSqrtPriceFromInput,
|
|
@@ -1058,16 +1566,19 @@ function addDelta(x, y) {
|
|
|
1058
1566
|
getOtherTokensInPairs,
|
|
1059
1567
|
getPeripheryDetailsByKernelPoolAndChainId,
|
|
1060
1568
|
getPoolInfoByKey,
|
|
1569
|
+
getPriceAtTick,
|
|
1061
1570
|
getSqrtRatioAtTick,
|
|
1062
1571
|
getSupportedChains,
|
|
1063
1572
|
getSupportedPairs,
|
|
1064
1573
|
getSupportedTokens,
|
|
1574
|
+
getTickAtPrice,
|
|
1065
1575
|
getTickAtSqrtRatio,
|
|
1066
1576
|
getTokenSymbol,
|
|
1067
1577
|
hexToBase58,
|
|
1068
1578
|
kernelPoolToPoolKey,
|
|
1069
1579
|
mulDiv,
|
|
1070
1580
|
mulDivRoundingUp,
|
|
1581
|
+
normalizeAmount,
|
|
1071
1582
|
normalizeMode,
|
|
1072
1583
|
skateAdapter,
|
|
1073
1584
|
svmBytes32Base58ToEvmAddress,
|