@skate-org/amm-evm-v2 2.0.0-beta.14 → 2.0.0-beta.16

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/README.md CHANGED
@@ -11,16 +11,66 @@ periphery readers, action submitters, and the event-decoding framework.
11
11
 
12
12
  ## Surface
13
13
 
14
- - `getKernelPublicClient(mode?)` / `getSourcePublicClient(chain, mode?)` —
14
+ - `getKernelPublicClient(mode, transport?)` / `getSourcePublicClient(chain, mode, transport?)` —
15
15
  viem `PublicClient` factories with Skate's RPC defaults baked in.
16
16
  - `createDevConfig({...})` — produces the DEV `{ mode, config }` tuple.
17
- - **Readers:** `readPool` (kernel side), `readPeripheryPool` (periphery
18
- side), `readPosition`, `readTick`, `readTickBitmap`, `readUserPoolBalances`.
17
+ - **Readers (object-param, `mode` field required):** `readPool({ kernelPool, mode, client? })`,
18
+ `readPeripheryPool({ chain, kernelPool, mode, client? })` `PeripheryPoolState`,
19
+ `readUserPoolBalances({ user, poolKey, chain, mode, client? })` → `UserPoolBalances`,
20
+ `readPosition`, `readTick`, `readTickBitmap`.
21
+ - **Calldata builders → `Promise<CalldataCall>` (`{ target, calldata }`):**
22
+ `buildSwap`, `buildMint`, `buildBurn`, `buildIncreaseLiquidity`, `buildDecreaseLiquidity`.
23
+ All accept a single object param including `mode`. No RPC call.
24
+ - **Kernel simulators (object-param):** `simulateSwap`, `simulateMint`,
25
+ `simulateBurn`, `simulateDecreaseLiquidity`.
19
26
  - **Events:** `parseKernelEventLog`, `parsePeripheryEventLog`,
20
27
  `watchKernelEvents`, `watchPeripheryEvents`.
21
28
  - **Submitters:** `submitAction`, `submitApproval`, `submitSwap`.
22
29
  - **Errors:** `EvmReadError`, `EvmWriteError` (both extend `SdkError`).
23
30
 
31
+ **`SkateAmm` class (headline entry point)**
32
+
33
+ One object that composes `AmmCore` (pool catalog), `AmmApi` (quotes +
34
+ actions), and `AmmEvm` (build/submit/read). Expose escape hatches via
35
+ `.core`, `.api`, `.vm`.
36
+
37
+ ```ts
38
+ const amm = new SkateAmm("PRODUCTION");
39
+
40
+ // Quotes
41
+ const quote = await amm.quote.swap({ poolKey: "USDC_USDT", ... });
42
+ const ranges = await amm.quote.boostedRange();
43
+
44
+ // Actions
45
+ const action = await amm.actions.get({ srcChain: CHAIN.ARBITRUM, srcHash: "0x..." });
46
+ await amm.actions.waitForExecuted({ srcChain: CHAIN.ARBITRUM, srcHash: "0x..." });
47
+
48
+ // Build + submit
49
+ const call = await amm.buildSwap({ poolKey: "USDC_USDT", chain: CHAIN.ARBITRUM, ... });
50
+ const hash = await amm.submitSwap(walletClient, { ... });
51
+
52
+ // Pool catalog
53
+ const keys = amm.pools.keys();
54
+ const info = amm.pools.byKey("USDC_USDT");
55
+
56
+ // EVM extras
57
+ const pool = await amm.readPool({ kernelPool: "0x2c23..." });
58
+ const sim = await amm.simulateSwap({ params: { ... } });
59
+ ```
60
+
61
+ **`AmmEvm` class (env-bound)**
62
+
63
+ Construct once; all methods take object params **without the `mode` field**:
64
+
65
+ ```ts
66
+ const evm = new AmmEvm("PRODUCTION");
67
+ const pool = await evm.readPool({ kernelPool: "0x2c23..." });
68
+ const pPool = await evm.readPeripheryPool({ chain: CHAIN.ARBITRUM, kernelPool: "0x2c23..." });
69
+ const bals = await evm.readUserPoolBalances({ user: "0x...", poolKey: "USDC_USDT", chain: CHAIN.ARBITRUM });
70
+ const call = await evm.buildSwap({ poolKey: "USDC_USDT", chain: CHAIN.ARBITRUM, ... });
71
+ // call → { target: "0x...", calldata: "0x..." }
72
+ ```
73
+
24
74
  ## Install
25
75
 
26
76
  ```bash
package/dist/client.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import type { PublicClient, Transport, WalletClient } from "viem";
2
- import type { EnvModeWithConfig, CHAIN } from "@skate-org/amm-core-v2";
2
+ import type { EnvModeWithConfig, CHAIN, CalldataCall, AmmVmClient } from "@skate-org/amm-core-v2";
3
+ import { readPool, readKernelBalances, readPosition, readTickBitmap, readTick, computePositionAmounts } from "./kernel/reader";
3
4
  import { type SimulateSwapParams, type SimulateMintParams, type SimulateBurnParams, type SimulateDecreaseLiquidityParams } from "./kernel/lens";
5
+ import { readPeripheryPool, readUserPoolBalances, type PeripheryPoolState, type UserPoolBalances } from "./periphery/reader";
4
6
  import { type SubmitActionParams } from "./periphery/submit";
7
+ import { type BuildSwapParams, type BuildMintParams, type BuildBurnParams, type BuildIncreaseLiquidityParams, type BuildDecreaseLiquidityParams } from "./periphery/calldata";
5
8
  /**
6
9
  * Env-bound client that wraps all EVM mode-taking functions with a fixed
7
10
  * `EnvModeWithConfig`. Construct once with the desired env and call methods
@@ -11,32 +14,61 @@ import { type SubmitActionParams } from "./periphery/submit";
11
14
  * `config.rpcEndpoints` overrides pass through intact to the underlying
12
15
  * readers and chain-client factories.
13
16
  *
17
+ * Implements `AmmVmClient<CalldataCall, WalletClient, 0x${string}, PeripheryPoolState, UserPoolBalances>`.
18
+ * EVM submits any action type through the same `submitAction` path — the four
19
+ * extra `AmmVmClient` submit methods are thin aliases.
20
+ *
14
21
  * @example
15
22
  * const evm = new AmmEvm('PRODUCTION');
16
- * const pool = await evm.readPool(kernelPool);
17
- * const client = evm.getKernelPublicClient();
23
+ * const pool = await evm.readPool({ kernelPool: '0x...' });
24
+ * const call = await evm.buildSwap({ poolKey: 'USDC_USDT', chain: CHAIN.ARBITRUM, ... });
18
25
  */
19
- export declare class AmmEvm {
26
+ export declare class AmmEvm implements AmmVmClient<CalldataCall, WalletClient, `0x${string}`, PeripheryPoolState, UserPoolBalances> {
20
27
  readonly env: EnvModeWithConfig;
21
28
  constructor(env: EnvModeWithConfig);
22
- readPool(kernelPool: `0x${string}`, client?: PublicClient): Promise<import("./kernel").KernelPoolState>;
23
- readKernelBalances(kernelPool: `0x${string}`, client?: PublicClient): Promise<import("./kernel").KernelBalances>;
24
- readPosition(tokenId: bigint, client?: PublicClient): Promise<import("./kernel").KernelNftPosition>;
25
- readTickBitmap(kernelPool: `0x${string}`, wordPos: number, client?: PublicClient): Promise<bigint>;
26
- readTick(kernelPool: `0x${string}`, tick: number, client?: PublicClient): Promise<import("./kernel").KernelTick>;
27
- computePositionAmounts(tokenId: bigint, client?: PublicClient): Promise<{
29
+ readPool(p: Omit<Parameters<typeof readPool>[0], "mode">): Promise<import("./kernel").KernelPoolState>;
30
+ readKernelBalances(p: Omit<Parameters<typeof readKernelBalances>[0], "mode">): Promise<import("./kernel").KernelBalances>;
31
+ readPosition(p: Omit<Parameters<typeof readPosition>[0], "mode">): Promise<import("./kernel").KernelNftPosition>;
32
+ readTickBitmap(p: Omit<Parameters<typeof readTickBitmap>[0], "mode">): Promise<bigint>;
33
+ readTick(p: Omit<Parameters<typeof readTick>[0], "mode">): Promise<import("./kernel").KernelTick>;
34
+ computePositionAmounts(p: Omit<Parameters<typeof computePositionAmounts>[0], "mode">): Promise<{
28
35
  amount0: bigint;
29
36
  amount1: bigint;
30
37
  }>;
31
- simulateSwap(params: SimulateSwapParams, client?: PublicClient): Promise<import("./kernel").SimulateSwapResult>;
32
- simulateMint(params: SimulateMintParams, client?: PublicClient): Promise<import("./kernel").SimulateMintResult>;
33
- simulateBurn(params: SimulateBurnParams, client?: PublicClient): Promise<import("./kernel").SimulateBurnResult>;
34
- simulateDecreaseLiquidity(params: SimulateDecreaseLiquidityParams, client?: PublicClient): Promise<import("./kernel").SimulateDecreaseLiquidityResult>;
35
- readPeripheryPool(chain: CHAIN, kernelPool: `0x${string}`, client?: PublicClient): Promise<import("./periphery").PeripheryPoolState>;
36
- readUserPoolBalances(chain: CHAIN, kernelPool: `0x${string}`, user: `0x${string}`, client?: PublicClient): Promise<import("./periphery").UserPoolBalances>;
38
+ simulateSwap(p: {
39
+ params: SimulateSwapParams;
40
+ client?: PublicClient;
41
+ }): Promise<import("./kernel").SimulateSwapResult>;
42
+ simulateMint(p: {
43
+ params: SimulateMintParams;
44
+ client?: PublicClient;
45
+ }): Promise<import("./kernel").SimulateMintResult>;
46
+ simulateBurn(p: {
47
+ params: SimulateBurnParams;
48
+ client?: PublicClient;
49
+ }): Promise<import("./kernel").SimulateBurnResult>;
50
+ simulateDecreaseLiquidity(p: {
51
+ params: SimulateDecreaseLiquidityParams;
52
+ client?: PublicClient;
53
+ }): Promise<import("./kernel").SimulateDecreaseLiquidityResult>;
54
+ readPeripheryPool(p: Omit<Parameters<typeof readPeripheryPool>[0], "mode">): Promise<PeripheryPoolState>;
55
+ readUserPoolBalances(p: Omit<Parameters<typeof readUserPoolBalances>[0], "mode">): Promise<UserPoolBalances>;
56
+ buildSwap(p: Omit<BuildSwapParams, "mode">): Promise<CalldataCall>;
57
+ buildMint(p: Omit<BuildMintParams, "mode">): Promise<CalldataCall>;
58
+ buildBurn(p: Omit<BuildBurnParams, "mode">): Promise<CalldataCall>;
59
+ buildIncreaseLiquidity(p: Omit<BuildIncreaseLiquidityParams, "mode">): Promise<CalldataCall>;
60
+ buildDecreaseLiquidity(p: Omit<BuildDecreaseLiquidityParams, "mode">): Promise<CalldataCall>;
37
61
  submitAction(wallet: WalletClient, params: SubmitActionParams): Promise<`0x${string}`>;
38
62
  submitSwap(wallet: WalletClient, params: SubmitActionParams): Promise<`0x${string}`>;
39
63
  submitApproval(wallet: WalletClient, params: SubmitActionParams): Promise<`0x${string}`>;
64
+ /** EVM submits any action via the same path — alias of `submitAction`. */
65
+ submitMint(wallet: WalletClient, params: SubmitActionParams): Promise<`0x${string}`>;
66
+ /** EVM submits any action via the same path — alias of `submitAction`. */
67
+ submitBurn(wallet: WalletClient, params: SubmitActionParams): Promise<`0x${string}`>;
68
+ /** EVM submits any action via the same path — alias of `submitAction`. */
69
+ submitIncreaseLiquidity(wallet: WalletClient, params: SubmitActionParams): Promise<`0x${string}`>;
70
+ /** EVM submits any action via the same path — alias of `submitAction`. */
71
+ submitDecreaseLiquidity(wallet: WalletClient, params: SubmitActionParams): Promise<`0x${string}`>;
40
72
  getKernelPublicClient(transport?: Transport): {
41
73
  account: undefined;
42
74
  batch?: {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAJ9qtC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;qrBAI8vR,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA+qR,CAAC;uCAA6lC,CAAC;;;;;;;;;;;;;;;;;6eAAumoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAD/qtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAJtroC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;qrBAIswM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAA+qR,CAAC;uCAA6lC,CAAC;;;;;;;;;;;;;;;;;6eAAumoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADvroC"}