@metaflux-dex/client 0.0.3 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +196 -16
  2. package/dist/client.d.ts +173 -3
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +264 -11
  5. package/dist/client.js.map +1 -1
  6. package/dist/faucet.js +1 -1
  7. package/dist/faucet.js.map +1 -1
  8. package/dist/index.d.ts +8 -7
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +14 -9
  11. package/dist/index.js.map +1 -1
  12. package/dist/native/actions.d.ts +46 -0
  13. package/dist/native/actions.d.ts.map +1 -0
  14. package/dist/native/actions.js +593 -0
  15. package/dist/native/actions.js.map +1 -0
  16. package/dist/native/digest.d.ts +28 -0
  17. package/dist/native/digest.d.ts.map +1 -0
  18. package/dist/{native.js → native/digest.js} +71 -86
  19. package/dist/native/digest.js.map +1 -0
  20. package/dist/native/index.d.ts +3 -0
  21. package/dist/native/index.d.ts.map +1 -0
  22. package/dist/native/index.js +5 -0
  23. package/dist/native/index.js.map +1 -0
  24. package/dist/rest/http.d.ts.map +1 -0
  25. package/dist/rest/http.js.map +1 -0
  26. package/dist/{info.d.ts → rest/info.d.ts} +1 -1
  27. package/dist/rest/info.d.ts.map +1 -0
  28. package/dist/{info.js → rest/info.js} +8 -5
  29. package/dist/rest/info.js.map +1 -0
  30. package/dist/types/account.d.ts +52 -0
  31. package/dist/types/account.d.ts.map +1 -0
  32. package/dist/types/account.js +8 -0
  33. package/dist/types/account.js.map +1 -0
  34. package/dist/types/encrypted.d.ts +8 -0
  35. package/dist/types/encrypted.d.ts.map +1 -0
  36. package/dist/types/encrypted.js +7 -0
  37. package/dist/types/encrypted.js.map +1 -0
  38. package/dist/types/governance.d.ts +11 -0
  39. package/dist/types/governance.d.ts.map +1 -0
  40. package/dist/types/governance.js +7 -0
  41. package/dist/types/governance.js.map +1 -0
  42. package/dist/types/index.d.ts +10 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/dist/types/index.js +6 -0
  45. package/dist/types/index.js.map +1 -0
  46. package/dist/types/info/core.d.ts +97 -0
  47. package/dist/types/info/core.d.ts.map +1 -0
  48. package/dist/types/info/core.js +15 -0
  49. package/dist/types/info/core.js.map +1 -0
  50. package/dist/{info-types.d.ts → types/info/hl-parity.d.ts} +8 -177
  51. package/dist/types/info/hl-parity.d.ts.map +1 -0
  52. package/dist/types/info/hl-parity.js +8 -0
  53. package/dist/types/info/hl-parity.js.map +1 -0
  54. package/dist/types/info/index.d.ts +4 -0
  55. package/dist/types/info/index.d.ts.map +1 -0
  56. package/dist/types/info/index.js +6 -0
  57. package/dist/types/info/index.js.map +1 -0
  58. package/dist/types/info/reads.d.ts +81 -0
  59. package/dist/types/info/reads.d.ts.map +1 -0
  60. package/dist/types/info/reads.js +7 -0
  61. package/dist/types/info/reads.js.map +1 -0
  62. package/dist/types/meta-bridge.d.ts +8 -0
  63. package/dist/types/meta-bridge.d.ts.map +1 -0
  64. package/dist/types/meta-bridge.js +7 -0
  65. package/dist/types/meta-bridge.js.map +1 -0
  66. package/dist/types/spot.d.ts +41 -0
  67. package/dist/types/spot.d.ts.map +1 -0
  68. package/dist/types/spot.js +7 -0
  69. package/dist/types/spot.js.map +1 -0
  70. package/dist/types/staking.d.ts +12 -0
  71. package/dist/types/staking.d.ts.map +1 -0
  72. package/dist/types/staking.js +6 -0
  73. package/dist/types/staking.js.map +1 -0
  74. package/dist/{types.d.ts → types/trading.d.ts} +33 -1
  75. package/dist/types/trading.d.ts.map +1 -0
  76. package/dist/{types.js → types/trading.js} +3 -3
  77. package/dist/types/trading.js.map +1 -0
  78. package/dist/types/twap.d.ts +13 -0
  79. package/dist/types/twap.d.ts.map +1 -0
  80. package/dist/types/twap.js +7 -0
  81. package/dist/types/twap.js.map +1 -0
  82. package/dist/types/vault.d.ts +24 -0
  83. package/dist/types/vault.d.ts.map +1 -0
  84. package/dist/types/vault.js +6 -0
  85. package/dist/types/vault.js.map +1 -0
  86. package/dist/{wasm.d.ts → wallet/wasm.d.ts} +1 -1
  87. package/dist/wallet/wasm.d.ts.map +1 -0
  88. package/dist/{wasm.js → wallet/wasm.js} +9 -8
  89. package/dist/wallet/wasm.js.map +1 -0
  90. package/dist/{ws.d.ts → ws/ws.d.ts} +14 -1
  91. package/dist/ws/ws.d.ts.map +1 -0
  92. package/dist/{ws.js → ws/ws.js} +27 -15
  93. package/dist/ws/ws.js.map +1 -0
  94. package/package.json +3 -1
  95. package/src/client.ts +610 -12
  96. package/src/faucet.ts +1 -1
  97. package/src/index.ts +117 -15
  98. package/src/native/actions.ts +820 -0
  99. package/src/{native.ts → native/digest.ts} +78 -95
  100. package/src/native/index.ts +5 -0
  101. package/src/{http.ts → rest/http.ts} +1 -1
  102. package/src/{info.ts → rest/info.ts} +9 -6
  103. package/src/types/account.ts +111 -0
  104. package/src/types/encrypted.ts +21 -0
  105. package/src/types/governance.ts +27 -0
  106. package/src/types/index.ts +79 -0
  107. package/src/types/info/core.ts +214 -0
  108. package/src/types/info/hl-parity.ts +428 -0
  109. package/src/types/info/index.ts +78 -0
  110. package/src/types/info/reads.ts +165 -0
  111. package/src/types/meta-bridge.ts +22 -0
  112. package/src/types/spot.ts +114 -0
  113. package/src/types/staking.ts +27 -0
  114. package/src/{types.ts → types/trading.ts} +92 -8
  115. package/src/types/twap.ts +29 -0
  116. package/src/types/vault.ts +55 -0
  117. package/src/{wasm.ts → wallet/wasm.ts} +10 -9
  118. package/src/{ws.ts → ws/ws.ts} +75 -22
  119. package/dist/http.d.ts.map +0 -1
  120. package/dist/http.js.map +0 -1
  121. package/dist/info-types.d.ts.map +0 -1
  122. package/dist/info-types.js +0 -16
  123. package/dist/info-types.js.map +0 -1
  124. package/dist/info.d.ts.map +0 -1
  125. package/dist/info.js.map +0 -1
  126. package/dist/native.d.ts +0 -12
  127. package/dist/native.d.ts.map +0 -1
  128. package/dist/native.js.map +0 -1
  129. package/dist/types.d.ts.map +0 -1
  130. package/dist/types.js.map +0 -1
  131. package/dist/wasm.d.ts.map +0 -1
  132. package/dist/wasm.js.map +0 -1
  133. package/dist/ws.d.ts.map +0 -1
  134. package/dist/ws.js.map +0 -1
  135. package/src/info-types.ts +0 -783
  136. /package/dist/{http.d.ts → rest/http.d.ts} +0 -0
  137. /package/dist/{http.js → rest/http.js} +0 -0
@@ -1,7 +1,7 @@
1
- // Type definitions for the @metaflux-dex/client surface.
1
+ // Trading type definitions for the @metaflux-dex/client surface.
2
2
  //
3
3
  // Shapes mirror the CCXT-compat REST responses emitted by the MetaFlux
4
- // api-gateway (`metaflux/crates/api-gateway/src/ccxt/types.rs`). The
4
+ // api-gateway and the MTF-native signed-action wire. The
5
5
  // monetary-fields-as-decimal-strings convention is load-bearing — CCXT
6
6
  // clients pass these straight into `Decimal(value)` and any drift to
7
7
  // number-typed fields silently loses precision.
@@ -10,4 +10,4 @@
10
10
  // the gateway forwards to the node). The other types match what the
11
11
  // gateway emits.
12
12
  export {};
13
- //# sourceMappingURL=types.js.map
13
+ //# sourceMappingURL=trading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trading.js","sourceRoot":"","sources":["../../src/types/trading.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,uEAAuE;AACvE,yDAAyD;AACzD,uEAAuE;AACvE,qEAAqE;AACrE,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,iBAAiB"}
@@ -0,0 +1,13 @@
1
+ import type { NativeSide } from './trading.js';
2
+ export interface TwapOrder {
3
+ market: number;
4
+ side: NativeSide;
5
+ total_size: number;
6
+ slice_count: number;
7
+ delay_ms: number;
8
+ reduce_only: boolean;
9
+ }
10
+ export interface TwapCancel {
11
+ twap_id: number;
12
+ }
13
+ //# sourceMappingURL=twap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twap.d.ts","sourceRoot":"","sources":["../../src/types/twap.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,SAAS;IAExB,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,UAAU,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAGD,MAAM,WAAW,UAAU;IAEzB,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,7 @@
1
+ // MTF-native TWAP (time-weighted average price) action payload types.
2
+ //
3
+ // A TWAP parent slices `total_size` into `slice_count` child orders spaced
4
+ // `delay_ms` apart. Sender-authorized (no `owner` field); `total_size` is in
5
+ // fixed-point tick units like a perp order's `size`.
6
+ export {};
7
+ //# sourceMappingURL=twap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twap.js","sourceRoot":"","sources":["../../src/types/twap.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,qDAAqD"}
@@ -0,0 +1,24 @@
1
+ export type VaultKind = 'User' | 'Metaliquidity';
2
+ export interface CreateVault {
3
+ name: string;
4
+ lock_period_secs: number;
5
+ parent?: number;
6
+ kind?: VaultKind;
7
+ }
8
+ export interface VaultTransfer {
9
+ vault_id: number;
10
+ deposit: boolean;
11
+ amount: string;
12
+ }
13
+ export interface VaultModify {
14
+ vault_id: number;
15
+ new_name?: string;
16
+ new_lock_period_secs?: number;
17
+ new_management_fee_bps?: number;
18
+ new_paused?: boolean;
19
+ }
20
+ export interface VaultWithdraw {
21
+ vault_id: number;
22
+ shares: string;
23
+ }
24
+ //# sourceMappingURL=vault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/types/vault.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,eAAe,CAAC;AAGjD,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,gBAAgB,EAAE,MAAM,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAID,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,WAAW;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAID,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,6 @@
1
+ // MTF-native vault action payload types.
2
+ //
3
+ // Sender-authorized: the recovered signer is the leader / follower. Decimal
4
+ // magnitudes (`amount` / `shares`) ride the wire as JSON strings.
5
+ export {};
6
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/types/vault.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,4EAA4E;AAC5E,kEAAkE"}
@@ -1,4 +1,4 @@
1
- import type { Builder, Side, StpMode, Tif } from './types.js';
1
+ import type { Builder, Side, StpMode, Tif } from '../types/index.js';
2
2
  interface WasmModule {
3
3
  default: (path?: string | URL | Request) => Promise<unknown>;
4
4
  keccak256: (data: Uint8Array) => Uint8Array;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/wallet/wasm.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAKrE,UAAU,UAAU;IAClB,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC;IAC5C,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,KAAK,UAAU,CAAC;IAC7E,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,KAAK,UAAU,CAAC;IACzE,gBAAgB,EAAE,CAChB,gBAAgB,EAAE,UAAU,EAC5B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,UAAU,KACpB,OAAO,CAAC;IACb,sBAAsB,EAAE,CACtB,eAAe,EAAE,UAAU,EAC3B,WAAW,EAAE,UAAU,KACpB,UAAU,CAAC;IAChB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,UAAU,KACpB,UAAU,CAAC;IAChB,0BAA0B,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC;CAChE;AAOD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,CAAC,EAAE,OAAO;CAU5B;AAID,qBAAa,aAAc,SAAQ,KAAK;aACV,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAOxD;AAcD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAyCpD;AAID,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAyCD,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAOrE;AAID,wBAAsB,aAAa,CACjC,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC,CAUrB;AAGD,wBAAsB,aAAa,CACjC,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC,CAUrB;AAGD,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,UAAU,EAC3B,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC,CAUrB;AAqBD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,GAAG,EACR,GAAG,GAAE,OAAW,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,UAAQ,EAClB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC,CAkErB;AAgCD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,UAAU,CAAC,CAUrB"}
@@ -57,11 +57,12 @@ export async function loadWasm() {
57
57
  wasmPromise = (async () => {
58
58
  let mod;
59
59
  try {
60
- // Path is relative to the *compiled* dist/ output (one level
61
- // above pkg/ at the repo root). At dev-mode (vitest running
62
- // .ts directly) the same relative path lands on the same
63
- // pkg/ directory because vitest cwd is the repo root.
64
- const wasmPath = '../pkg/metaflux_client_wasm.js';
60
+ // Path is relative to this module's *compiled* location
61
+ // (dist/wallet/wasm.js), two levels above pkg/ at the repo root. At
62
+ // dev-mode (vitest running .ts directly) the same relative path lands
63
+ // on the same pkg/ directory because vitest resolves it against the
64
+ // src/wallet/ source location.
65
+ const wasmPath = '../../pkg/metaflux_client_wasm.js';
65
66
  mod = (await import(/* @vite-ignore */ wasmPath));
66
67
  }
67
68
  catch (err) {
@@ -111,11 +112,11 @@ async function compileWasmFromFs() {
111
112
  const url = await import('node:url');
112
113
  const path = await import('node:path');
113
114
  // Resolve the .wasm next to the wasm-pack .js shim. From dev (vitest on
114
- // src/*.ts) the cwd is the repo root and pkg/ sits there; from the
115
- // compiled dist/ output pkg/ is one level up. Try both.
115
+ // src/wallet/*.ts) the cwd is the repo root and pkg/ sits there; from the
116
+ // compiled dist/wallet/ output pkg/ is two levels up. Try both.
116
117
  const candidates = [
117
118
  path.resolve(process.cwd(), 'pkg', 'metaflux_client_wasm_bg.wasm'),
118
- url.fileURLToPath(new URL('../pkg/metaflux_client_wasm_bg.wasm', import.meta.url)),
119
+ url.fileURLToPath(new URL('../../pkg/metaflux_client_wasm_bg.wasm', import.meta.url)),
119
120
  ];
120
121
  for (const c of candidates) {
121
122
  try {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../src/wallet/wasm.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,21 @@
1
- export type WsChannel = 'l2Book' | 'trades' | 'bbo' | 'fills' | 'candles' | 'userEvents';
1
+ import type { Funding } from '../types/info/core.js';
2
+ export type WsChannel = 'l2_book' | 'bbo' | 'trades' | 'active_asset_ctx' | 'all_mids' | 'candles' | 'fills' | 'user_events' | 'order_updates' | 'notifications' | 'ledger_updates' | 'user_fundings' | 'user_twap_slice_fills' | 'user_twap_history' | 'active_asset_data';
2
3
  export declare const WS_CHANNELS: readonly WsChannel[];
3
4
  export interface WsSubscription {
4
5
  type: WsChannel;
5
6
  coin?: string;
7
+ user?: string;
8
+ interval?: string;
9
+ }
10
+ export interface AllMids {
11
+ mids: Record<string, string>;
12
+ }
13
+ export interface ActiveAssetCtx {
14
+ coin: string;
15
+ mark_px: string;
16
+ oracle_px: string;
17
+ funding: Funding | null;
18
+ open_interest: string;
6
19
  }
7
20
  export interface WsFrame {
8
21
  channel: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/ws/ws.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAIrD,MAAM,MAAM,SAAS,GAEjB,SAAS,GACT,KAAK,GACL,QAAQ,GACR,kBAAkB,GAElB,UAAU,GAEV,SAAS,GAET,OAAO,GACP,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,uBAAuB,GACvB,mBAAmB,GAEnB,mBAAmB,CAAC;AAGxB,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAgBlC,CAAC;AAWX,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAOD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAGD,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAGxD,MAAM,WAAW,QAAQ;IAEvB,cAAc,EAAE,MAAM,CAAC;IAEvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,YAAY,EAAE,MAAM,CAAC;IAErB,aAAa,EAAE,OAAO,CAAC;CACxB;AA+BD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,MAAM,CAAS;gBAEX,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAM;IAWvD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAW1C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7C,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAID,KAAK,IAAI,IAAI;IAeb,OAAO,CAAC,QAAQ;IAuChB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,SAAS;CAMlB"}
@@ -2,31 +2,41 @@
2
2
  //
3
3
  // Mirrors the Rust SDK's `WsClient` behavior (reconnect with backoff, replay of
4
4
  // active subscriptions, heartbeat ping) and the SERVER wire protocol
5
- // (`metaflux/crates/api-node/src/ws/subscribe.rs` + `fanout.rs`):
5
+ // (per the KB spec metaflux-knowledges/api/ws/subscriptions.md):
6
6
  //
7
7
  // client → server:
8
- // {"method":"subscribe","subscription":{"type":"l2Book","coin":"BTC"}}
8
+ // {"method":"subscribe","subscription":{"type":"l2_book","coin":"BTC"}}
9
9
  // {"method":"unsubscribe","subscription":{"type":"trades"}}
10
10
  // {"method":"ping"}
11
11
  // server → client:
12
12
  // {"channel":"subscriptionResponse","data":{"method":"subscribe","subscription":{...}}}
13
- // {"channel":"l2Book","data":{...}} | {"channel":"error","data":{"error":"..."}}
13
+ // {"channel":"l2_book","data":{...}} | {"channel":"error","data":{"error":"..."}}
14
14
  //
15
- // Channel names are the EXACT server `Channel::wire_name()` strings (camelCase:
16
- // `l2Book`, `userEvents`). `coin` is the market symbol string and is optional
17
- // (e.g. `userEvents` carries none).
15
+ // Channel names are the EXACT server `Channel::wire_name()` strings — snake_case
16
+ // MTF-native (`l2_book`, `user_events`), since this SDK speaks MTF-native to the
17
+ // node per ADR-019. (HL SDKs use HL camelCase against the gateway `/hl/ws`.)
18
+ // `coin` is the market symbol string and is optional (`user_events` carries none).
18
19
  //
19
20
  // Transport: the standard `WebSocket` global (browser-native; Node ≥ 22 ships
20
21
  // it globally, which is the SDK's floor). No `ws` npm dependency — keeping the
21
22
  // SDK dependency-free for both runtimes.
22
23
  /// All known channels — handy for callers that want to subscribe broadly.
23
24
  export const WS_CHANNELS = [
24
- 'l2Book',
25
- 'trades',
25
+ 'l2_book',
26
26
  'bbo',
27
- 'fills',
27
+ 'trades',
28
+ 'active_asset_ctx',
29
+ 'all_mids',
28
30
  'candles',
29
- 'userEvents',
31
+ 'fills',
32
+ 'user_events',
33
+ 'order_updates',
34
+ 'notifications',
35
+ 'ledger_updates',
36
+ 'user_fundings',
37
+ 'user_twap_slice_fills',
38
+ 'user_twap_history',
39
+ 'active_asset_data',
30
40
  ];
31
41
  const DEFAULT_CONFIG = {
32
42
  pingIntervalMs: 30_000,
@@ -34,19 +44,21 @@ const DEFAULT_CONFIG = {
34
44
  maxBackoffMs: 30_000,
35
45
  autoReconnect: true,
36
46
  };
37
- /// Subscription set equality key — `(channel, coin)` is the server's routing
38
- /// key, so two subscriptions are identical iff both match.
47
+ /// Subscription set equality key — `(channel, coin, user, interval)` is the
48
+ /// server's routing key, so two subscriptions are identical iff all match
49
+ /// (e.g. `candles` `1m` vs `5m`, or `fills` for two different users, are
50
+ /// distinct subscriptions).
39
51
  function subKey(s) {
40
- return `${s.type}:${s.coin ?? ''}`;
52
+ return `${s.type}:${s.coin ?? ''}:${s.user ?? ''}:${s.interval ?? ''}`;
41
53
  }
42
54
  /// MTF-native WebSocket client.
43
55
  ///
44
56
  /// Usage:
45
57
  /// ```ts
46
58
  /// const ws = new WsClient('wss://api.mtf.exchange/ws');
47
- /// ws.onMessage((f) => { if (f.channel === 'l2Book') handleBook(f.data); });
59
+ /// ws.onMessage((f) => { if (f.channel === 'l2_book') handleBook(f.data); });
48
60
  /// await ws.connect();
49
- /// await ws.subscribe({ type: 'l2Book', coin: 'BTC' });
61
+ /// await ws.subscribe({ type: 'l2_book', coin: 'BTC' });
50
62
  /// // ... later
51
63
  /// ws.close();
52
64
  /// ```
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/ws/ws.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaflux-dex/client",
3
- "version": "0.0.3",
3
+ "version": "0.0.6",
4
4
  "description": "MetaFlux (MTF) TypeScript client SDK — WASM-backed crypto + ESM-only fetch wrappers.",
5
5
  "type": "module",
6
6
  "author": "MetaFlux",
@@ -32,9 +32,11 @@
32
32
  "LICENSE"
33
33
  ],
34
34
  "devDependencies": {
35
+ "@eslint/js": "^10.0.1",
35
36
  "@types/node": "^22.0.0",
36
37
  "eslint": "^9.0.0",
37
38
  "typescript": "^5.4.0",
39
+ "typescript-eslint": "^8.61.0",
38
40
  "vitest": "^2.0.0"
39
41
  },
40
42
  "engines": {