@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.
- package/CHANGELOG.md +109 -155
- package/README.md +1 -1
- package/dist/adapter/skate.d.ts +15 -0
- package/dist/adapter/skate.d.ts.map +1 -1
- package/dist/deployment/aggregated/_type_.d.ts +10 -2
- package/dist/deployment/aggregated/_type_.d.ts.map +1 -1
- package/dist/deployment/aggregated/dev.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 +2 -0
- package/dist/deployment/index.d.ts.map +1 -1
- package/dist/deployment/kernel.d.ts +6 -14
- package/dist/deployment/kernel.d.ts.map +1 -1
- package/dist/deployment/periphery.d.ts +7 -3
- package/dist/deployment/periphery.d.ts.map +1 -1
- package/dist/deployment/sui.d.ts +96 -0
- package/dist/deployment/sui.d.ts.map +1 -0
- package/dist/deployment/svm.d.ts +121 -0
- package/dist/deployment/svm.d.ts.map +1 -0
- package/dist/index.cjs +240 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +210 -32
- 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 +16 -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/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
|
|
235
|
-
var
|
|
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
|
|
246
|
-
|
|
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
|
|
251
|
-
|
|
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
|
-
|
|
273
|
-
|
|
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
|
-
|
|
279
|
-
|
|
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(
|
|
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
|