@metaflux-dex/client 0.0.3 → 0.0.5

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} +1 -1
  91. package/dist/ws/ws.d.ts.map +1 -0
  92. package/dist/{ws.js → ws/ws.js} +11 -10
  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 +115 -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} +16 -14
  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
@@ -0,0 +1,28 @@
1
+ import type { NativeSignedAction } from '../types/index.js';
2
+ export declare const MTF_MAINNET_CHAIN_ID = 8964;
3
+ export declare const MTF_TESTNET_CHAIN_ID = 114514;
4
+ export declare const MTF_CHAIN_ID = 114514;
5
+ export declare function nextNonce(): bigint;
6
+ export declare function be32(value: bigint): Uint8Array;
7
+ export declare function concat32(...chunks: Uint8Array[]): Uint8Array;
8
+ export declare function domainSeparator(chainId: number): Promise<Uint8Array>;
9
+ export declare function nativeActionDigest(actionJson: string, nonce: bigint, chainId?: number): Promise<Uint8Array>;
10
+ export declare function toHex(bytes: Uint8Array): string;
11
+ export declare function jsonStr(s: string): string;
12
+ export declare function signNativeAction(privateKey: Uint8Array, actionJson: string, nonce: bigint, chainId?: number): Promise<NativeSignedAction>;
13
+ export declare function recoverNativeSigner(signed: NativeSignedAction, chainId?: number): Promise<string>;
14
+ export declare function nativeRequestBody(signed: NativeSignedAction): string;
15
+ export declare function validateAddress(addr: string, field: string): void;
16
+ export declare function validateCloid(cloid: string): void;
17
+ export declare function validateMarket(market: number): void;
18
+ export declare function validateU64(value: number, field: string): void;
19
+ export declare function validateU32(value: number, field: string): void;
20
+ export declare function validateU16(value: number, field: string): void;
21
+ export declare function validateU8(value: number, field: string): void;
22
+ export declare function validateU128(value: bigint, field: string): void;
23
+ export declare function validateDecimalString(value: string, field: string, opts?: {
24
+ allowZero?: boolean;
25
+ allowNegative?: boolean;
26
+ }): void;
27
+ export declare function hexToBytes(hex: string): Uint8Array;
28
+ //# sourceMappingURL=digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/native/digest.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAc5D,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAK3C,eAAO,MAAM,YAAY,SAAuB,CAAC;AAWjD,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAKD,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAU9C;AAGD,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAS5D;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAU1E;AAMD,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAqB,GAC7B,OAAO,CAAC,UAAU,CAAC,CAoBrB;AAGD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAI/C;AASD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAMD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAqB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAID,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,MAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAajB;AAOD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAEpE;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKjD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAS9D;AAKD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI9D;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI9D;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI7D;AAKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM/D;AAQD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1D,IAAI,CAgBN;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAOlD"}
@@ -1,8 +1,8 @@
1
- // MTF-native signed-action digest + envelope construction.
1
+ // MTF-native signed-action digest + envelope construction (signing core).
2
2
  //
3
3
  // This is the byte-exact TS twin of the Rust SDK reference
4
4
  // (`metaflux-client-rust/src/rest/exchange.rs::ActionSignedDigest`) and the
5
- // server verifier (`metaflux/crates/core-state/src/signing.rs`).
5
+ // server's native-action signature verifier.
6
6
  //
7
7
  // digest = keccak256(0x1901 || domainSep5 || structHash)
8
8
  // domainSep5 = keccak256(
@@ -16,9 +16,9 @@
16
16
  // CRITICAL: the signature is verified over the EXACT `action` bytes the server
17
17
  // receives (it parses `action` as `serde_json::value::RawValue`). So the same
18
18
  // JSON string MUST be both signed and sent verbatim — never re-stringified
19
- // from a parsed object. `buildNativeOrderAction` is the single source of those
20
- // bytes.
21
- import { deriveAddressFromPubkey, keccak256, recoverPubkey, signSecp256k1, } from './wasm.js';
19
+ // from a parsed object. The `build*Action` functions in `./actions.js` are the
20
+ // single source of those bytes.
21
+ import { deriveAddressFromPubkey, keccak256, recoverPubkey, signSecp256k1, } from '../wallet/wasm.js';
22
22
  const MTF_DOMAIN_TYPE = 'EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)';
23
23
  const MTF_ACTION_TYPE = 'MetaFluxAction(string action,uint64 nonce)';
24
24
  /// MTF EIP-712 domain chain ids. MetaFlux runs its own verified-unregistered
@@ -50,7 +50,7 @@ export function nextNonce() {
50
50
  /// Encode a `bigint` as a 32-byte big-endian buffer (uint256 / nonce slot).
51
51
  /// The value rides in the low bytes; high bytes are zero. Rejects negatives
52
52
  /// and values that overflow 256 bits.
53
- function be32(value) {
53
+ export function be32(value) {
54
54
  if (value < 0n)
55
55
  throw new RangeError('be32: value must be non-negative');
56
56
  if (value >= 1n << 256n)
@@ -64,7 +64,7 @@ function be32(value) {
64
64
  return out;
65
65
  }
66
66
  /// Concatenate 32-byte chunks into one buffer.
67
- function concat32(...chunks) {
67
+ export function concat32(...chunks) {
68
68
  const out = new Uint8Array(chunks.length * 32);
69
69
  chunks.forEach((c, i) => {
70
70
  if (c.length !== 32) {
@@ -75,7 +75,7 @@ function concat32(...chunks) {
75
75
  return out;
76
76
  }
77
77
  /// Compute the 5-field MTF-native EIP-712 domain separator.
78
- async function domainSeparator(chainId) {
78
+ export async function domainSeparator(chainId) {
79
79
  const typeHash = await keccak256(enc.encode(MTF_DOMAIN_TYPE));
80
80
  const nameHash = await keccak256(enc.encode('MetaFlux'));
81
81
  const versionHash = await keccak256(enc.encode('1'));
@@ -107,7 +107,7 @@ export async function nativeActionDigest(actionJson, nonce, chainId = MTF_CHAIN_
107
107
  return keccak256(envelope);
108
108
  }
109
109
  /// Lowercase hex (no `0x`) of a byte buffer.
110
- function toHex(bytes) {
110
+ export function toHex(bytes) {
111
111
  let out = '';
112
112
  for (const b of bytes)
113
113
  out += b.toString(16).padStart(2, '0');
@@ -120,79 +120,9 @@ function toHex(bytes) {
120
120
  /// / cloids and fixed enum tokens, none of which contain characters needing
121
121
  /// escaping — but we escape defensively so a malformed input can never inject
122
122
  /// raw control bytes into the signed payload.
123
- function jsonStr(s) {
123
+ export function jsonStr(s) {
124
124
  return JSON.stringify(s);
125
125
  }
126
- /// Build the canonical native `submit_order` action JSON string.
127
- ///
128
- /// Field order mirrors the server `NativeOrder` exactly. Optional `cloid` /
129
- /// `builder` are omitted entirely when absent (matching the server's
130
- /// `#[serde(default)]` + KAT vector, where neither appears). The returned
131
- /// string is BOTH what gets signed and what gets sent — do not re-serialize.
132
- export function buildNativeOrderAction(order) {
133
- validateAddress(order.owner, 'owner');
134
- validateMarket(order.market);
135
- validateU64(order.size, 'size');
136
- validateU64(order.limit_px, 'limit_px');
137
- const parts = [
138
- `${jsonStr('owner')}:${jsonStr(order.owner)}`,
139
- `${jsonStr('market')}:${order.market}`,
140
- `${jsonStr('side')}:${jsonStr(order.side)}`,
141
- `${jsonStr('kind')}:${jsonStr(order.kind)}`,
142
- `${jsonStr('size')}:${order.size}`,
143
- `${jsonStr('limit_px')}:${order.limit_px}`,
144
- `${jsonStr('tif')}:${jsonStr(order.tif)}`,
145
- `${jsonStr('stp_mode')}:${jsonStr(order.stp_mode)}`,
146
- `${jsonStr('reduce_only')}:${order.reduce_only ? 'true' : 'false'}`,
147
- ];
148
- if (order.cloid !== undefined) {
149
- validateCloid(order.cloid);
150
- parts.push(`${jsonStr('cloid')}:${jsonStr(order.cloid)}`);
151
- }
152
- if (order.builder !== undefined) {
153
- parts.push(`${jsonStr('builder')}:${buildBuilder(order.builder)}`);
154
- }
155
- const orderJson = `{${parts.join(',')}}`;
156
- return `{${jsonStr('type')}:${jsonStr('submit_order')},${jsonStr('order')}:${orderJson}}`;
157
- }
158
- /// Serialize a builder carve in the server-expected `{fee, user}` order.
159
- function buildBuilder(b) {
160
- if (!Number.isInteger(b.fee) || b.fee < 0 || b.fee > 0xffff) {
161
- throw new RangeError('builder.fee must be a u16 (0..=65535)');
162
- }
163
- validateAddress(b.user, 'builder.user');
164
- return `{${jsonStr('fee')}:${b.fee},${jsonStr('user')}:${jsonStr(b.user)}}`;
165
- }
166
- /// Build the canonical native `cancel_order` action JSON string.
167
- ///
168
- /// Field order mirrors the server `NativeCancel` exactly
169
- /// (`metaflux/crates/api-node/src/rest/native_action.rs`): `owner`, `market`,
170
- /// then `oid` / `cloid` when present. The server's `CancelParams` bridge
171
- /// cancels by `oid`, so an `oid` is REQUIRED for the cancel to lower
172
- /// successfully (a `cloid`-only cancel is accepted on the wire but rejected at
173
- /// lowering with `CancelMissingOid`); we still emit either form so the bytes
174
- /// stay caller-controlled. The returned string is BOTH signed and sent.
175
- export function buildNativeCancelAction(cancel) {
176
- validateAddress(cancel.owner, 'owner');
177
- validateMarket(cancel.market);
178
- if (cancel.oid === undefined && cancel.cloid === undefined) {
179
- throw new RangeError('cancel requires an oid (server cancels by oid)');
180
- }
181
- const parts = [
182
- `${jsonStr('owner')}:${jsonStr(cancel.owner)}`,
183
- `${jsonStr('market')}:${cancel.market}`,
184
- ];
185
- if (cancel.oid !== undefined) {
186
- validateU64(cancel.oid, 'oid');
187
- parts.push(`${jsonStr('oid')}:${cancel.oid}`);
188
- }
189
- if (cancel.cloid !== undefined) {
190
- validateCloid(cancel.cloid);
191
- parts.push(`${jsonStr('cloid')}:${jsonStr(cancel.cloid)}`);
192
- }
193
- const cancelJson = `{${parts.join(',')}}`;
194
- return `{${jsonStr('type')}:${jsonStr('cancel_order')},${jsonStr('cancel')}:${cancelJson}}`;
195
- }
196
126
  /// Sign a pre-built action JSON string with the given private key.
197
127
  ///
198
128
  /// The returned envelope's `actionJson` is the SAME string passed in — the
@@ -226,24 +156,24 @@ export function nativeRequestBody(signed) {
226
156
  return `{${jsonStr('action')}:${signed.actionJson},${jsonStr('nonce')}:${signed.nonce},${jsonStr('signature')}:${jsonStr(signed.signature)}}`;
227
157
  }
228
158
  // ---- validation helpers (fail loud before anything reaches the signed body) ----
229
- function validateAddress(addr, field) {
159
+ export function validateAddress(addr, field) {
230
160
  const hex = addr.startsWith('0x') ? addr.slice(2) : addr;
231
161
  if (hex.length !== 40 || !/^[0-9a-fA-F]{40}$/.test(hex)) {
232
162
  throw new RangeError(`${field} must be a 0x-prefixed 20-byte hex address`);
233
163
  }
234
164
  }
235
- function validateCloid(cloid) {
165
+ export function validateCloid(cloid) {
236
166
  const hex = cloid.startsWith('0x') ? cloid.slice(2) : cloid;
237
167
  if (hex.length !== 32 || !/^[0-9a-fA-F]{32}$/.test(hex)) {
238
168
  throw new RangeError('cloid must be a 0x-prefixed 16-byte hex string');
239
169
  }
240
170
  }
241
- function validateMarket(market) {
171
+ export function validateMarket(market) {
242
172
  if (!Number.isInteger(market) || market < 0 || market > 0xffffffff) {
243
173
  throw new RangeError('market must be a u32');
244
174
  }
245
175
  }
246
- function validateU64(value, field) {
176
+ export function validateU64(value, field) {
247
177
  if (!Number.isInteger(value) || value < 0) {
248
178
  throw new RangeError(`${field} must be a non-negative integer`);
249
179
  }
@@ -251,7 +181,62 @@ function validateU64(value, field) {
251
181
  throw new RangeError(`${field} exceeds Number.MAX_SAFE_INTEGER; use a value below 2^53`);
252
182
  }
253
183
  }
254
- function hexToBytes(hex) {
184
+ /// Validate a `u32` field passed as a plain `number` (e.g. dst_chain,
185
+ /// window_ms, action-own nonces). Same shape as `validateMarket` but with a
186
+ /// caller-supplied field name for the error message.
187
+ export function validateU32(value, field) {
188
+ if (!Number.isInteger(value) || value < 0 || value > 0xffffffff) {
189
+ throw new RangeError(`${field} must be a u32`);
190
+ }
191
+ }
192
+ /// Validate a `u16` field passed as a plain `number` (e.g. management_fee_bps).
193
+ export function validateU16(value, field) {
194
+ if (!Number.isInteger(value) || value < 0 || value > 0xffff) {
195
+ throw new RangeError(`${field} must be a u16 (0..=65535)`);
196
+ }
197
+ }
198
+ /// Validate a `u8` field passed as a plain `number` (e.g. threshold).
199
+ export function validateU8(value, field) {
200
+ if (!Number.isInteger(value) || value < 0 || value > 0xff) {
201
+ throw new RangeError(`${field} must be a u8 (0..=255)`);
202
+ }
203
+ }
204
+ /// Validate a `u128` field passed as a `bigint`, emitted as a bare unquoted
205
+ /// integer literal on the wire (serde u128 JSON number form). Rejects negatives
206
+ /// and values that overflow 128 bits.
207
+ export function validateU128(value, field) {
208
+ if (typeof value !== 'bigint') {
209
+ throw new RangeError(`${field} must be a bigint`);
210
+ }
211
+ if (value < 0n)
212
+ throw new RangeError(`${field} must be non-negative`);
213
+ if (value >= 1n << 128n)
214
+ throw new RangeError(`${field} overflows u128`);
215
+ }
216
+ /// Validate a decimal magnitude passed as a string and emitted as a JSON
217
+ /// **string** on the wire (e.g. spot-margin `amount` / `borrow`, Earn
218
+ /// `shares`). The server decodes these as a fixed-point `Decimal`, so they must
219
+ /// be JSON strings to preserve fractional precision past 2^53. Accepts an
220
+ /// optional sign, integer and/or fractional parts; rejects empty / malformed
221
+ /// input and (by default) non-positive values.
222
+ export function validateDecimalString(value, field, opts = {}) {
223
+ if (typeof value !== 'string') {
224
+ throw new RangeError(`${field} must be a decimal string`);
225
+ }
226
+ if (!/^-?(?:\d+\.?\d*|\.\d+)$/.test(value)) {
227
+ throw new RangeError(`${field} must be a decimal string, got '${value}'`);
228
+ }
229
+ const negative = value.startsWith('-');
230
+ if (negative && !opts.allowNegative) {
231
+ throw new RangeError(`${field} must be non-negative`);
232
+ }
233
+ // Reject a pure-zero magnitude (e.g. "0", "0.0", "-0.00") unless allowed.
234
+ const isZero = /^-?0*\.?0*$/.test(value);
235
+ if (isZero && !opts.allowZero) {
236
+ throw new RangeError(`${field} must be greater than zero`);
237
+ }
238
+ }
239
+ export function hexToBytes(hex) {
255
240
  if (hex.length % 2 !== 0)
256
241
  throw new RangeError('hex length must be even');
257
242
  const out = new Uint8Array(hex.length / 2);
@@ -260,4 +245,4 @@ function hexToBytes(hex) {
260
245
  }
261
246
  return out;
262
247
  }
263
- //# sourceMappingURL=native.js.map
248
+ //# sourceMappingURL=digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/native/digest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './digest.js';
2
+ export * from './actions.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ // Re-export barrel for the native signed-action surface: the signing core
2
+ // (`digest.ts`) and the canonical action builders (`actions.ts`).
3
+ export * from './digest.js';
4
+ export * from './actions.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,kEAAkE;AAElE,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/rest/http.ts"],"names":[],"mappings":"AAaA,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,MAAM;gBADhB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChC,OAAO,EAAE,MAAM;CAKlB;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAG3C,IAAI,CAAC,EAAE,OAAO,CAAC;IAIf,KAAK,CAAC,EAAE,UAAU,CAAC;IAOnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG/B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAUD,wBAAsB,WAAW,CAAC,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,CAAC,CAAC,CAmDZ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/rest/http.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AccountState, ActiveAssetData, Agents, BlockInfo, DelegatorSummary, ExchangeStatus, FeeSchedule, FrontendOpenOrders, FundingHistory, GossipRootIps, L2Book, LeadingVaults, Liquidatable, MarginTable, MarketInfo, MaxBuilderFee, MaxMarketOrderNtls, Mip3ActiveBids, NodeInfo, OpenOrders, PerpDexs, PerpsAtOpenInterestCap, RecentTrades, SpotClearinghouseState, SpotDeployState, SpotMeta, StakingState, SubAccounts, UserFills, UserRateLimit, UserRole, UserToMultiSigSigners, UserVaultEquities, ValidatorL1Votes, ValidatorSummaries, VaultState, VaultSummaries, WebData2 } from './info-types.js';
1
+ import type { AccountState, ActiveAssetData, Agents, BlockInfo, DelegatorSummary, ExchangeStatus, FeeSchedule, FrontendOpenOrders, FundingHistory, GossipRootIps, L2Book, LeadingVaults, Liquidatable, MarginTable, MarketInfo, MaxBuilderFee, MaxMarketOrderNtls, Mip3ActiveBids, NodeInfo, OpenOrders, PerpDexs, PerpsAtOpenInterestCap, RecentTrades, SpotClearinghouseState, SpotDeployState, SpotMeta, StakingState, SubAccounts, UserFills, UserRateLimit, UserRole, UserToMultiSigSigners, UserVaultEquities, ValidatorL1Votes, ValidatorSummaries, VaultState, VaultSummaries, WebData2 } from '../types/info/index.js';
2
2
  interface InfoEnvelope<T> {
3
3
  type: string;
4
4
  data: T;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/rest/info.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  // MTF-native `/info` read API — typed request builders + envelope unwrap.
2
2
  //
3
- // Byte-for-byte mirror of the server dispatcher
4
- // (`metaflux/crates/api-node/src/rest/info.rs::handle_info`) and the per-handler
5
- // shapes in `info/{reads,markets,hl_parity}.rs`. Every request is a
3
+ // Byte-for-byte mirror of the server's `/info` dispatcher and per-handler
4
+ // shapes (per the KB spec metaflux-knowledges/api/rest/info.md). Every request is a
6
5
  // `POST /info` whose body is `{"type": "<discriminator>", ...params}` —
7
6
  // snake_case field names, the exact convention the node decodes. The node's
8
7
  // `/info` surface is MTF-native ONLY; the HL `type` aliases (`meta` etc.) live
@@ -23,7 +22,7 @@
23
22
  // on this surface.
24
23
  //
25
24
  // Money magnitudes that can exceed JS `Number.MAX_SAFE_INTEGER` (2^53) are
26
- // typed `string` in `./info-types.js` to match the node's decimal-string
25
+ // typed `string` in `../types/info/index.js` to match the node's decimal-string
27
26
  // encoding; ids / counts / bps stay `number`.
28
27
  import { httpRequest } from './http.js';
29
28
  /// `/info` namespace handle. Each method POSTs a typed `{"type": ...}` body to
@@ -112,7 +111,11 @@ export class InfoApi {
112
111
  return this.post({ type: 'mip3_active_bids' });
113
112
  }
114
113
  // ── HL-node parity reads ────────────────────────────────────────────────
115
- /// `spot_meta` — spot pair universe. No parameters.
114
+ /// `spot_meta` — spot pair universe + token registry. No parameters.
115
+ ///
116
+ /// Each pair's `name` is derived as `{base}/{quote}` from the token
117
+ /// registry; the numeric `id` is the compact `coin` label spot prints carry
118
+ /// on the WS `trades` / `candles` / `fills` channels.
116
119
  async spotMeta() {
117
120
  return this.post({ type: 'spot_meta' });
118
121
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/rest/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ export interface UpdateLeverage {
2
+ asset: number;
3
+ leverage: number;
4
+ is_isolated: boolean;
5
+ }
6
+ export interface UpdateIsolatedMargin {
7
+ asset: number;
8
+ delta: string;
9
+ }
10
+ export interface TopUpIsolatedOnlyMargin {
11
+ asset: number;
12
+ amount: string;
13
+ }
14
+ export interface UserPortfolioMargin {
15
+ enroll: boolean;
16
+ }
17
+ export interface SetDisplayName {
18
+ display_name: string;
19
+ }
20
+ export interface SetReferrer {
21
+ referrer: string;
22
+ }
23
+ export interface ApproveAgent {
24
+ agent: string;
25
+ name?: string;
26
+ expires_at_ms?: number;
27
+ }
28
+ export interface ApproveBuilderFee {
29
+ builder: string;
30
+ max_bps: number;
31
+ }
32
+ export interface ConvertToMultiSigUser {
33
+ signers: string[];
34
+ threshold: number;
35
+ }
36
+ export interface UserDexAbstraction {
37
+ enabled: boolean;
38
+ }
39
+ export interface UserSetAbstraction {
40
+ kind: number;
41
+ value: string;
42
+ }
43
+ export interface AgentSetAbstraction {
44
+ user: string;
45
+ kind: number;
46
+ value: string;
47
+ }
48
+ export interface PriorityBid {
49
+ asset: number;
50
+ bid_bps: number;
51
+ }
52
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/types/account.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW,EAAE,OAAO,CAAC;CACtB;AAGD,MAAM,WAAW,oBAAoB;IAEnC,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,uBAAuB;IAEtC,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,mBAAmB;IAElC,MAAM,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,cAAc;IAE7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,WAAW;IAE1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,YAAY;IAE3B,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,WAAW,iBAAiB;IAEhC,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,kBAAkB;IAEjC,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD,MAAM,WAAW,kBAAkB;IAEjC,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;CACf;AAID,MAAM,WAAW,mBAAmB;IAElC,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,8 @@
1
+ // MTF-native account / margin / agent action payload types.
2
+ //
3
+ // All sender-authorized: the recovered signer is the account whose state
4
+ // mutates, so none carry an `owner` field. Decimal magnitudes (`delta` /
5
+ // `amount` / `value`) ride the wire as JSON strings to preserve precision; ids,
6
+ // leverage, and bps are plain integers.
7
+ export {};
8
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/types/account.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,gFAAgF;AAChF,wCAAwC"}
@@ -0,0 +1,8 @@
1
+ export interface SubmitEncryptedOrder {
2
+ ciphertext: Uint8Array;
3
+ commitment: Uint8Array;
4
+ threshold: number;
5
+ target_block: number;
6
+ reveal_deadline_ms: number;
7
+ }
8
+ //# sourceMappingURL=encrypted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted.d.ts","sourceRoot":"","sources":["../../src/types/encrypted.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,oBAAoB;IAEnC,UAAU,EAAE,UAAU,CAAC;IAGvB,UAAU,EAAE,UAAU,CAAC;IAEvB,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,MAAM,CAAC;IAGrB,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,7 @@
1
+ // MTF-native encrypted-order action payload type.
2
+ //
3
+ // Sender-authorized: the recovered signer is the submitter. Decryption shares
4
+ // accumulate over subsequent blocks until `threshold` is met; the order is then
5
+ // revealed (checked against `commitment`) and matched.
6
+ export {};
7
+ //# sourceMappingURL=encrypted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted.js","sourceRoot":"","sources":["../../src/types/encrypted.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,uDAAuD"}
@@ -0,0 +1,11 @@
1
+ export interface SetMetaliquidityWhitelist {
2
+ address: string;
3
+ allowed: boolean;
4
+ }
5
+ export interface RegisterMetaliquidityOperator {
6
+ vault_id: number;
7
+ operator: string;
8
+ allowed: boolean;
9
+ expires_at_ms?: number;
10
+ }
11
+ //# sourceMappingURL=governance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/types/governance.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,yBAAyB;IAExC,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,MAAM,WAAW,6BAA6B;IAE5C,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,7 @@
1
+ // MTF-native governance / operator action payload types.
2
+ //
3
+ // Sender-authorized, with action-level authorization enforced by the node at
4
+ // dispatch: `set_metaliquidity_whitelist` requires validator membership, and
5
+ // `register_metaliquidity_operator` requires the signer to be the vault leader.
6
+ export {};
7
+ //# sourceMappingURL=governance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/types/governance.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,gFAAgF"}
@@ -0,0 +1,10 @@
1
+ export type { Order, Builder, SignedOrder, OrderAck, Market, Position, Side, Tif, StpMode, ErrorEnvelope, NativeOrder, NativeCancel, NativeBuilder, NativeSide, NativePositionSide, NativeOrderKind, NativeTif, NativeStpMode, NativeSetPositionMode, NativeSignedAction, NativeExchangeAck, OrderStatus, OrderGrouping, Modify, BatchModify, BatchOrder, BatchCancel, CancelByCloid, ScheduleCancel, CancelAllOrders, } from './trading.js';
2
+ export type { NativeSpotOrder, NativeSpotCancel, NativeSpotMarginDeposit, NativeSpotMarginWithdraw, NativeSpotMarginOpen, NativeSpotMarginClose, NativeEarnDeposit, NativeEarnWithdraw, } from './spot.js';
3
+ export type { UpdateLeverage, UpdateIsolatedMargin, TopUpIsolatedOnlyMargin, UserPortfolioMargin, SetDisplayName, SetReferrer, ApproveAgent, ApproveBuilderFee, ConvertToMultiSigUser, UserDexAbstraction, UserSetAbstraction, AgentSetAbstraction, PriorityBid, } from './account.js';
4
+ export type { TokenDelegate, ClaimRewards, LinkStakingUser } from './staking.js';
5
+ export type { TwapOrder, TwapCancel } from './twap.js';
6
+ export type { SetMetaliquidityWhitelist, RegisterMetaliquidityOperator, } from './governance.js';
7
+ export type { MbChain, MbWithdraw } from './meta-bridge.js';
8
+ export type { VaultKind, CreateVault, VaultTransfer, VaultModify, VaultWithdraw, } from './vault.js';
9
+ export type { SubmitEncryptedOrder } from './encrypted.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,OAAO,EACP,aAAa,EAEb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EAEX,aAAa,EACb,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjF,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,YAAY,EACV,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Re-export barrel for every type module.
2
+ //
3
+ // Keeping the type surface behind one barrel means internal modules import from
4
+ // `../types/index.js` and the public `src/index.ts` re-exports from here.
5
+ export {};
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,EAAE;AACF,gFAAgF;AAChF,0EAA0E"}