@skate-org/amm-core-v2 2.0.0-beta.12 → 2.0.0-beta.14

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @skate-org/amm-core-v2
2
2
 
3
+ ## 2.0.0-beta.13 — 2026-05-30
4
+
5
+ Fix: `getLiquidityForAmount0` in `math/liquidityMath.ts` now uses the
6
+ canonical two-step `mulDiv` from Uniswap v3-periphery
7
+ `LiquidityAmounts.sol` (intermediate = `mulDiv(sqrtA, sqrtB, Q96)`, then
8
+ `mulDiv(amount0, intermediate, sqrtB - sqrtA)`). The previous
9
+ single-division form drifted by ~1 unit vs on-chain because the floor
10
+ was applied once at the end instead of compounded at each step.
11
+
12
+ `getLiquidityForAmount1` is unchanged — its single-division form is
13
+ equivalent to `mulDiv` in BigInt (no overflow path needed).
14
+
3
15
  ## 2.0.0-beta.12 — 2026-05-30
4
16
 
5
17
  Hotfix: `normalizeAmount` / `deNormalizeAmount` now handle
@@ -0,0 +1,54 @@
1
+ import { EnvMode, EnvModeWithConfig } from "./types/mode";
2
+ import { CHAIN } from "./types/chain";
3
+ import type { SvmChain } from "./types/chain-vm";
4
+ import type { SuiChain } from "./types/chain-vm";
5
+ import type { PeripheryInfoFor } from "./deployment/aggregated/_type_";
6
+ import type { Token } from "./types/pair";
7
+ /**
8
+ * Env-bound client that wraps all core resolver functions with a fixed
9
+ * `EnvMode`. Construct once with the desired env and call methods without
10
+ * the trailing `mode` parameter.
11
+ *
12
+ * @example
13
+ * const core = new AmmCore('PRODUCTION');
14
+ * const kernelChain = core.KernelChain();
15
+ * const pools = core.getAllPoolInfo();
16
+ */
17
+ export declare class AmmCore {
18
+ readonly mode: EnvMode;
19
+ constructor(env: EnvModeWithConfig);
20
+ KernelChain(): CHAIN;
21
+ KernelManagerAddress(): `0x${string}`;
22
+ KernelEventEmitterAddress(): `0x${string}`;
23
+ PeripheryDeploymentFor(chain: CHAIN): import("./deployment").PeripheryDeployment | null;
24
+ PeripheryManagerAddress(chain: CHAIN): `0x${string}` | null;
25
+ PeripheryEventEmitterAddress(chain: CHAIN): `0x${string}` | null;
26
+ SkateGatewayAddress(chain: CHAIN): `0x${string}` | null;
27
+ ActionBoxAddress(chain: CHAIN): `0x${string}` | null;
28
+ SvmDeploymentFor(chain: SvmChain): import("./deployment").SvmDeployment | null;
29
+ SuiDeploymentFor(chain: SuiChain): import("./deployment").SuiDeployment | null;
30
+ getAllPoolInfo(): import("./deployment").PoolInfoType;
31
+ getAllPoolKeys(): string[];
32
+ getPoolInfoByKey(key: string): {
33
+ kernelPool: `0x${string}`;
34
+ token0: string;
35
+ token1: string;
36
+ feeBps: number;
37
+ peripheryInfo: { [K in CHAIN]?: PeripheryInfoFor<K>; };
38
+ } | null;
39
+ getSupportedChains(): CHAIN[];
40
+ getSupportedPairs(chainId: CHAIN): (import("./types").TokenPair & {
41
+ poolKey: import("./deployment").PoolKey;
42
+ })[];
43
+ getSupportedTokens(chainId: CHAIN): Token[];
44
+ getOtherTokensInPairs(chainId: CHAIN, tokenAddress: string): Token[];
45
+ kernelPoolToPoolKey(kernelPool: `0x${string}`): string;
46
+ getPeripheryDetailsByKernelPoolAndChainId<K extends CHAIN>(kernelPool: `0x${string}`, chainId: K): PeripheryInfoFor<K> | null;
47
+ getPeripheryDetailsByKernelPoolAndChainId(kernelPool: `0x${string}`, chainId: number): PeripheryInfoFor<CHAIN> | null;
48
+ findTokensBySymbol(args: {
49
+ symbol: string;
50
+ chainIds?: readonly CHAIN[];
51
+ }): Token[];
52
+ getTokenSymbol(address: string, chainId: CHAIN): string | null;
53
+ }
54
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAiB,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAwBjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;GASG;AACH,qBAAa,OAAO;IAClB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,GAAG,EAAE,iBAAiB;IAMlC,WAAW;IAIX,oBAAoB;IAIpB,yBAAyB;IAMzB,sBAAsB,CAAC,KAAK,EAAE,KAAK;IAInC,uBAAuB,CAAC,KAAK,EAAE,KAAK;IAIpC,4BAA4B,CAAC,KAAK,EAAE,KAAK;IAIzC,mBAAmB,CAAC,KAAK,EAAE,KAAK;IAIhC,gBAAgB,CAAC,KAAK,EAAE,KAAK;IAM7B,gBAAgB,CAAC,KAAK,EAAE,QAAQ;IAMhC,gBAAgB,CAAC,KAAK,EAAE,QAAQ;IAMhC,cAAc;IAId,cAAc;IAId,gBAAgB,CAAC,GAAG,EAAE,MAAM;;;;;qCAtC3B,CAAC;;IA0CF,kBAAkB;IAIlB,iBAAiB,CAAC,OAAO,EAAE,KAAK;;;IAIhC,kBAAkB,CAAC,OAAO,EAAE,KAAK;IAIjC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;IAI1D,mBAAmB,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE;IAI7C,yCAAyC,CAAC,CAAC,SAAS,KAAK,EACvD,UAAU,EAAE,KAAK,MAAM,EAAE,EACzB,OAAO,EAAE,CAAC,GACT,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAC7B,yCAAyC,CACvC,UAAU,EAAE,KAAK,MAAM,EAAE,EACzB,OAAO,EAAE,MAAM,GACd,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI;IAQjC,kBAAkB,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,SAAS,KAAK,EAAE,CAAA;KAAE,GAAG,KAAK,EAAE;IAIlF,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;CAG/C"}
@@ -1,6 +1,3 @@
1
1
  export * from "./_type_";
2
- export * from "./dev";
3
- export * from "./staging";
4
- export * from "./production";
5
2
  export * from "./retrieval";
6
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deployment/aggregated/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/deployment/aggregated/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
- export * from "./kernel";
1
+ export { KERNEL_CHAIN_BY_MODE, KernelChain, KernelManagerAddress, KernelEventEmitterAddress } from "./kernel";
2
2
  export * from "./periphery";
3
- export * from "./svm";
4
- export * from "./sui";
3
+ export { type SvmDeployment, SvmDeploymentFor } from "./svm";
4
+ export { type SuiDeployment, SuiDeploymentFor } from "./sui";
5
5
  export * from "./aggregated";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deployment/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deployment/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAC9G,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC7D,cAAc,cAAc,CAAC"}
@@ -9,13 +9,6 @@ export interface PeripheryDeployment {
9
9
  eventEmitter: `0x${string}`;
10
10
  peripheryPoolImpl: `0x${string}`;
11
11
  }
12
- export declare const PERIPHERY_DEV: Partial<Record<CHAIN, PeripheryDeployment>>;
13
- /** STAGING + PRODUCTION currently alias DEV — the v2 EVM periphery deploy
14
- * lives on Arbitrum at the addresses above, and all three envs point at it
15
- * until staging/prod ever fork off. Swap the right side for a literal map
16
- * when that day comes. */
17
- export declare const PERIPHERY_STAGING: Partial<Record<CHAIN, PeripheryDeployment>>;
18
- export declare const PERIPHERY_PRODUCTION: Partial<Record<CHAIN, PeripheryDeployment>>;
19
12
  /**
20
13
  * Look up the periphery deployment record for a given chain in a given env.
21
14
  * Returns `null` when the chain has no entry for the chosen env.
@@ -1 +1 @@
1
- {"version":3,"file":"periphery.d.ts","sourceRoot":"","sources":["../../src/deployment/periphery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAM1C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,oBAAoB,EAAE,KAAK,MAAM,EAAE,CAAC;IACpC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAWrE,CAAC;AAEF;;;2BAG2B;AAC3B,eAAO,MAAM,iBAAiB,6CAAgB,CAAC;AAC/C,eAAO,MAAM,oBAAoB,6CAAgB,CAAC;AAElD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,mBAAmB,GAAG,IAAI,CAS5B;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB"}
1
+ {"version":3,"file":"periphery.d.ts","sourceRoot":"","sources":["../../src/deployment/periphery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAM1C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,oBAAoB,EAAE,KAAK,MAAM,EAAE,CAAC;IACpC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;CAClC;AAsBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,mBAAmB,GAAG,IAAI,CAS5B;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,GACZ,KAAK,MAAM,EAAE,GAAG,IAAI,CAEtB"}
@@ -6,12 +6,6 @@ export interface SuiDeployment {
6
6
  /** Sui package id that owns the periphery module. */
7
7
  peripheryPackage: string;
8
8
  }
9
- export declare const SUI_DEPLOYMENT_DEV: Partial<Record<SuiChain, SuiDeployment>>;
10
- /** STAGING + PRODUCTION currently alias DEV — the v2 Sui deploy lives on
11
- * Sui mainnet at the package above, and all three envs point at it until
12
- * staging/prod ever fork off into separate deploys. */
13
- export declare const SUI_DEPLOYMENT_STAGING: Partial<Record<CHAIN.SUI, SuiDeployment>>;
14
- export declare const SUI_DEPLOYMENT_PRODUCTION: Partial<Record<CHAIN.SUI, SuiDeployment>>;
15
9
  /** Returns `null` for an unregistered SuiChain in the chosen mode. */
16
10
  export declare function SuiDeploymentFor(chain: SuiChain, mode: EnvMode): SuiDeployment | null;
17
11
  /** Per-pool Sui addresses, keyed by `[poolKey][SuiChain]`. `poolKey` matches
@@ -43,54 +37,4 @@ export declare const SUI_POOLS_DEV: {
43
37
  };
44
38
  };
45
39
  };
46
- /** STAGING + PRODUCTION pool maps alias DEV. Replace with literal objects
47
- * when an env diverges. */
48
- export declare const SUI_POOLS_STAGING: {
49
- USDC_USDT: {
50
- 1001: {
51
- poolId: string;
52
- managerCapId: string;
53
- peripheryPackage: string;
54
- token0: {
55
- address: string;
56
- symbol: string;
57
- isNative: false;
58
- decimal: number;
59
- chainId: CHAIN.SUI;
60
- };
61
- token1: {
62
- address: string;
63
- symbol: string;
64
- isNative: false;
65
- decimal: number;
66
- chainId: CHAIN.SUI;
67
- };
68
- chain: string;
69
- };
70
- };
71
- };
72
- export declare const SUI_POOLS_PRODUCTION: {
73
- USDC_USDT: {
74
- 1001: {
75
- poolId: string;
76
- managerCapId: string;
77
- peripheryPackage: string;
78
- token0: {
79
- address: string;
80
- symbol: string;
81
- isNative: false;
82
- decimal: number;
83
- chainId: CHAIN.SUI;
84
- };
85
- token1: {
86
- address: string;
87
- symbol: string;
88
- isNative: false;
89
- decimal: number;
90
- chainId: CHAIN.SUI;
91
- };
92
- chain: string;
93
- };
94
- };
95
- };
96
40
  //# sourceMappingURL=sui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../src/deployment/sui.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,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAKvE,CAAC;AAEF;;wDAEwD;AACxD,eAAO,MAAM,sBAAsB,2CAAqB,CAAC;AACzD,eAAO,MAAM,yBAAyB,2CAAqB,CAAC;AAE5D,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,OAAO,GACZ,aAAa,GAAG,IAAI,CAStB;AAED;;;;yBAIyB;AACzB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;CA4B6C,CAAC;AAExE;4BAC4B;AAC5B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC;AAC/C,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
1
+ {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../src/deployment/sui.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,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAeD,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,OAAO,GACZ,aAAa,GAAG,IAAI,CAStB;AAED;;;;yBAIyB;AACzB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;CA4B6C,CAAC"}
@@ -12,13 +12,6 @@ export interface SvmDeployment {
12
12
  /** Manager pubkey — also serves as gateway and task-ledger admin. */
13
13
  manager: string;
14
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
15
  /** Returns `null` for an unregistered SvmChain in the chosen mode. */
23
16
  export declare function SvmDeploymentFor(chain: SvmChain, mode: EnvMode): SvmDeployment | null;
24
17
  /** Per-pool SVM addresses, keyed by `[poolKey][SvmChain]`. `poolKey` matches
@@ -58,64 +51,4 @@ export declare const SVM_POOLS_DEV: {
58
51
  };
59
52
  };
60
53
  };
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
54
  //# sourceMappingURL=svm.d.ts.map
@@ -1 +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"}
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;AAmBD,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"}
package/dist/index.cjs CHANGED
@@ -21,11 +21,11 @@ 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,
@@ -38,30 +38,12 @@ __export(index_exports, {
38
38
  MIN_SQRT_RATIO: () => MIN_SQRT_RATIO,
39
39
  MIN_TICK: () => MIN_TICK,
40
40
  NORMALIZED_DECIMAL: () => NORMALIZED_DECIMAL,
41
- PERIPHERY_DEV: () => PERIPHERY_DEV,
42
- PERIPHERY_PRODUCTION: () => PERIPHERY_PRODUCTION,
43
- PERIPHERY_STAGING: () => PERIPHERY_STAGING,
44
- POOL_INFO_Dev: () => POOL_INFO_Dev,
45
- POOL_INFO_Production: () => POOL_INFO_Production,
46
- POOL_INFO_Staging: () => POOL_INFO_Staging,
47
41
  PRICE_INF: () => PRICE_INF,
48
42
  PRICE_ZERO: () => PRICE_ZERO,
49
43
  PeripheryDeploymentFor: () => PeripheryDeploymentFor,
50
44
  PeripheryEventEmitterAddress: () => PeripheryEventEmitterAddress,
51
45
  PeripheryManagerAddress: () => PeripheryManagerAddress,
52
46
  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,
65
47
  SdkError: () => SdkError,
66
48
  SkateGatewayAddress: () => SkateGatewayAddress,
67
49
  SuiDeploymentFor: () => SuiDeploymentFor,
@@ -361,8 +343,6 @@ var SVM_POOLS_DEV = {
361
343
  }
362
344
  }
363
345
  };
364
- var SVM_POOLS_STAGING = SVM_POOLS_DEV;
365
- var SVM_POOLS_PRODUCTION = SVM_POOLS_DEV;
366
346
 
367
347
  // src/deployment/sui.ts
368
348
  var SUI_DEPLOYMENT_DEV = {
@@ -406,8 +386,6 @@ var SUI_POOLS_DEV = {
406
386
  }
407
387
  }
408
388
  };
409
- var SUI_POOLS_STAGING = SUI_POOLS_DEV;
410
- var SUI_POOLS_PRODUCTION = SUI_POOLS_DEV;
411
389
 
412
390
  // src/deployment/aggregated/dev.ts
413
391
  var POOL_INFO_Dev = {
@@ -1114,7 +1092,8 @@ function getLiquidityForAmount0(sqrtRatioAX96, sqrtRatioBX96, amount0) {
1114
1092
  if (sqrtRatioAX96 > sqrtRatioBX96) {
1115
1093
  [sqrtRatioAX96, sqrtRatioBX96] = [sqrtRatioBX96, sqrtRatioAX96];
1116
1094
  }
1117
- return amount0 * sqrtRatioAX96 * sqrtRatioBX96 / (Q96 * (sqrtRatioBX96 - sqrtRatioAX96));
1095
+ const intermediate = mulDiv(sqrtRatioAX96, sqrtRatioBX96, Q96);
1096
+ return mulDiv(amount0, intermediate, sqrtRatioBX96 - sqrtRatioAX96);
1118
1097
  }
1119
1098
  function getLiquidityForAmount1(sqrtRatioAX96, sqrtRatioBX96, amount1) {
1120
1099
  if (sqrtRatioAX96 > sqrtRatioBX96) {
@@ -1145,14 +1124,90 @@ function deNormalizeAmount(amount, decimal) {
1145
1124
  }
1146
1125
  return amount * 10n ** BigInt(decimal - NORMALIZED_DECIMAL);
1147
1126
  }
1127
+
1128
+ // src/client.ts
1129
+ var AmmCore = class {
1130
+ mode;
1131
+ constructor(env) {
1132
+ this.mode = normalizeMode(env).mode;
1133
+ }
1134
+ // ── Kernel ────────────────────────────────────────────────────────────────
1135
+ KernelChain() {
1136
+ return KernelChain(this.mode);
1137
+ }
1138
+ KernelManagerAddress() {
1139
+ return KernelManagerAddress(this.mode);
1140
+ }
1141
+ KernelEventEmitterAddress() {
1142
+ return KernelEventEmitterAddress(this.mode);
1143
+ }
1144
+ // ── Periphery ─────────────────────────────────────────────────────────────
1145
+ PeripheryDeploymentFor(chain) {
1146
+ return PeripheryDeploymentFor(chain, this.mode);
1147
+ }
1148
+ PeripheryManagerAddress(chain) {
1149
+ return PeripheryManagerAddress(chain, this.mode);
1150
+ }
1151
+ PeripheryEventEmitterAddress(chain) {
1152
+ return PeripheryEventEmitterAddress(chain, this.mode);
1153
+ }
1154
+ SkateGatewayAddress(chain) {
1155
+ return SkateGatewayAddress(chain, this.mode);
1156
+ }
1157
+ ActionBoxAddress(chain) {
1158
+ return ActionBoxAddress(chain, this.mode);
1159
+ }
1160
+ // ── SVM ───────────────────────────────────────────────────────────────────
1161
+ SvmDeploymentFor(chain) {
1162
+ return SvmDeploymentFor(chain, this.mode);
1163
+ }
1164
+ // ── Sui ───────────────────────────────────────────────────────────────────
1165
+ SuiDeploymentFor(chain) {
1166
+ return SuiDeploymentFor(chain, this.mode);
1167
+ }
1168
+ // ── Aggregated / pool info ─────────────────────────────────────────────────
1169
+ getAllPoolInfo() {
1170
+ return getAllPoolInfo(this.mode);
1171
+ }
1172
+ getAllPoolKeys() {
1173
+ return getAllPoolKeys(this.mode);
1174
+ }
1175
+ getPoolInfoByKey(key) {
1176
+ return getPoolInfoByKey(key, this.mode);
1177
+ }
1178
+ getSupportedChains() {
1179
+ return getSupportedChains(this.mode);
1180
+ }
1181
+ getSupportedPairs(chainId) {
1182
+ return getSupportedPairs(chainId, this.mode);
1183
+ }
1184
+ getSupportedTokens(chainId) {
1185
+ return getSupportedTokens(chainId, this.mode);
1186
+ }
1187
+ getOtherTokensInPairs(chainId, tokenAddress) {
1188
+ return getOtherTokensInPairs(chainId, tokenAddress, this.mode);
1189
+ }
1190
+ kernelPoolToPoolKey(kernelPool) {
1191
+ return kernelPoolToPoolKey(kernelPool, this.mode);
1192
+ }
1193
+ getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId) {
1194
+ return getPeripheryDetailsByKernelPoolAndChainId(kernelPool, chainId, this.mode);
1195
+ }
1196
+ findTokensBySymbol(args) {
1197
+ return findTokensBySymbol({ ...args, mode: this.mode });
1198
+ }
1199
+ getTokenSymbol(address, chainId) {
1200
+ return getTokenSymbol(address, chainId, this.mode);
1201
+ }
1202
+ };
1148
1203
  // Annotate the CommonJS export names for ESM import in node:
1149
1204
  0 && (module.exports = {
1150
1205
  ActionBoxAddress,
1206
+ AmmCore,
1151
1207
  BLOCK_EXPLORER,
1152
1208
  CHAIN,
1153
1209
  CHAIN_MAP,
1154
1210
  KERNEL_CHAIN_BY_MODE,
1155
- KERNEL_POOL_USDC_USDT_Dev,
1156
1211
  KernelChain,
1157
1212
  KernelEventEmitterAddress,
1158
1213
  KernelManagerAddress,
@@ -1165,30 +1220,12 @@ function deNormalizeAmount(amount, decimal) {
1165
1220
  MIN_SQRT_RATIO,
1166
1221
  MIN_TICK,
1167
1222
  NORMALIZED_DECIMAL,
1168
- PERIPHERY_DEV,
1169
- PERIPHERY_PRODUCTION,
1170
- PERIPHERY_STAGING,
1171
- POOL_INFO_Dev,
1172
- POOL_INFO_Production,
1173
- POOL_INFO_Staging,
1174
1223
  PRICE_INF,
1175
1224
  PRICE_ZERO,
1176
1225
  PeripheryDeploymentFor,
1177
1226
  PeripheryEventEmitterAddress,
1178
1227
  PeripheryManagerAddress,
1179
1228
  Q96,
1180
- SUI_DEPLOYMENT_DEV,
1181
- SUI_DEPLOYMENT_PRODUCTION,
1182
- SUI_DEPLOYMENT_STAGING,
1183
- SUI_POOLS_DEV,
1184
- SUI_POOLS_PRODUCTION,
1185
- SUI_POOLS_STAGING,
1186
- SVM_DEPLOYMENT_DEV,
1187
- SVM_DEPLOYMENT_PRODUCTION,
1188
- SVM_DEPLOYMENT_STAGING,
1189
- SVM_POOLS_DEV,
1190
- SVM_POOLS_PRODUCTION,
1191
- SVM_POOLS_STAGING,
1192
1229
  SdkError,
1193
1230
  SkateGatewayAddress,
1194
1231
  SuiDeploymentFor,