@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
package/README.md CHANGED
@@ -64,6 +64,166 @@ exported as `MTF_TESTNET_CHAIN_ID` / `MTF_MAINNET_CHAIN_ID`) is handled inside
64
64
  recovered signer is checked against `owner` locally before the request leaves the
65
65
  process. Cancel via `client.cancelOrderNative({ … })`.
66
66
 
67
+ Other native actions share the same signed-action envelope but are
68
+ sender-authorized (the signer is the actor, so there is no `owner` to check):
69
+
70
+ ```ts
71
+ // Hedge mode: switch the account to two-way (only legal while flat).
72
+ await client.setPositionMode({ hedge: true });
73
+ // Perp orders on a hedge account then carry an optional position_side:
74
+ // submitOrderNative({ owner, market, …, position_side: 'long' })
75
+ // One-way accounts omit it (the default), keeping the signed bytes identical.
76
+ ```
77
+
78
+ ### Spot trading
79
+
80
+ The spot CLOB (v0 = IOC limit only; `limit_px` must be > 0 on the 1e8 price
81
+ plane) is a separate book from the perp engine, keyed by a numeric **pair id**.
82
+ Discover pairs with `client.info.spotMeta()`, trade with
83
+ `submitSpotOrderNative` / `cancelSpotOrderNative`, and read balances back with
84
+ `client.info.spotClearinghouseState(address)`:
85
+
86
+ ```ts
87
+ // 1. Discover pairs. `name` is derived as "{base}/{quote}" from the token
88
+ // registry; `id` is the numeric pair id.
89
+ const spotMeta = await client.info.spotMeta();
90
+ const pair = spotMeta.pairs.find((p) => p.name === 'BTC/USDC')!;
91
+ // spotMeta.tokens carries per-token decimals (sz_decimals / wei_decimals).
92
+
93
+ // 2. Place an IOC limit spot order (signed, POST /exchange).
94
+ const spotAck = await client.submitSpotOrderNative({
95
+ pair: pair.id,
96
+ side: 'bid',
97
+ size: 10,
98
+ limit_px: 200_000_000, // 1e8 price plane
99
+ tif: 'ioc',
100
+ stp_mode: 'cancel_oldest',
101
+ });
102
+
103
+ // 3. Read balances back.
104
+ const spotBals = await client.info.spotClearinghouseState(
105
+ '0x17c5185167401ed00cf5f5b2fc97d9bbfdb7d025',
106
+ );
107
+ for (const b of spotBals.balances) console.log(b.name, b.asset, b.balance);
108
+
109
+ // 4. Cancel a resting order by oid.
110
+ await client.cancelSpotOrderNative({ pair: pair.id, oid: 7 });
111
+ ```
112
+
113
+ On the WebSocket `trades` / `candles` / `fills` channels, spot prints carry the
114
+ **numeric pair id** as the `coin` label (e.g. `"101"`), not the display name —
115
+ use `spotMeta()` to map `id` to its `"{base}/{quote}"` name.
116
+
117
+ ### Spot margin & Earn (devnet preview)
118
+
119
+ Leveraged spot borrows quote (USDC) from the **Earn** lending pool. It is
120
+ **available on devnet (preview)**: the full deposit → borrow → leveraged-buy →
121
+ close loop works, but forced-liquidation settlement is not yet wired and per-pair
122
+ maintenance ratios are still being calibrated — don't treat it as production-ready.
123
+ All six actions are **sender-authorized** (the signer is the actor) and return the
124
+ `202 Accepted` admission ack, not a synchronous `oid`; observe committed state by
125
+ posting `/info` `spot_margin_state` / `earn_state`. Decimal amounts (`amount` /
126
+ `borrow` / `shares`) are passed as **strings**; `size` / `limit_px` are integers
127
+ on the raw-lot / 1e8 planes.
128
+
129
+ ```ts
130
+ // Supply side: a lender funds the pool (asset = the pair's quote token id).
131
+ await client.earnDeposit({ asset: pair.quote, amount: '5000' });
132
+
133
+ // Borrow side: post collateral, then open a leveraged long.
134
+ await client.spotMarginDeposit({ pair: pair.id, amount: '100' });
135
+ await client.spotMarginOpen({
136
+ pair: pair.id,
137
+ size: 200,
138
+ limit_px: 200_000_000,
139
+ borrow: '400',
140
+ });
141
+
142
+ // Read the position over POST /info { type: 'spot_margin_state', user }, then
143
+ // close it (sells the held base, repays principal + interest, returns the rest).
144
+ await client.spotMarginClose({ pair: pair.id, limit_px: 200_000_000 });
145
+
146
+ // Lender exits — clamped to idle liquidity (supplied − borrowed).
147
+ await client.earnWithdraw({ asset: pair.quote, shares: '1234.5' });
148
+ ```
149
+
150
+ ### More native actions
151
+
152
+ The Client exposes the rest of the MTF-native signed-action surface, all via the
153
+ same `{ action, nonce, signature }` → `POST /exchange` envelope. **Owner-checked**
154
+ actions carry an actor field (`leader` / `user` / `taker` / `owner` / `sender` /
155
+ `submitter`) that must equal the signing wallet (checked locally before the
156
+ request leaves the process); **sender-authorized** actions have no such field —
157
+ the recovered signer is the actor.
158
+
159
+ All of these are **sender-authorized** (the recovered signer is the actor) except
160
+ `submitOrderNative` / `cancelOrderNative`, and `batchOrder` / `batchCancel` whose
161
+ inner orders / cancels each carry an `owner` the client checks against the signer.
162
+
163
+ - **Order management**: `cancelByCloid`, `modify`, `batchModify`, `batchOrder` /
164
+ `batchCancel`, `scheduleCancel`, `cancelAllOrders`.
165
+ - **TWAP**: `twapOrder` / `twapCancel`.
166
+ - **Leverage & margin**: `updateLeverage`, `updateIsolatedMargin`,
167
+ `topUpIsolatedOnlyMargin`, `userPortfolioMargin` (portfolio-margin enroll).
168
+ - **Account & agents**: `setDisplayName`, `setReferrer`, `approveAgent`,
169
+ `approveBuilderFee`, `convertToMultiSigUser`, `userDexAbstraction`,
170
+ `userSetAbstraction`, `agentSetAbstraction`, `priorityBid`.
171
+ - **Staking**: `tokenDelegate`, `claimRewards`, `linkStakingUser`.
172
+ - **Vaults**: `createVault`, `vaultTransfer`, `vaultModify`, `vaultWithdraw`.
173
+ - **Spot margin & Earn** (devnet preview): `spotMarginDeposit` /
174
+ `spotMarginWithdraw` / `spotMarginOpen` / `spotMarginClose`, and the lending
175
+ supply side `earnDeposit` / `earnWithdraw`.
176
+ - **Encrypted orders**: `submitEncryptedOrder`.
177
+ - **MetaBridge**: `mbWithdraw` (cross-collateral withdrawal to another chain).
178
+ - **Governance**: `setMetaliquidityWhitelist`, `registerMetaliquidityOperator`.
179
+
180
+ Decimal magnitudes (`amount` / `delta` / `shares` / `value`) are passed as
181
+ **strings**; ids / sizes / prices are plain integers.
182
+
183
+ ```ts
184
+ const me = '0x17c5185167401ed00cf5f5b2fc97d9bbfdb7d025'; // the signing wallet
185
+
186
+ // Vault — the signing wallet becomes the leader.
187
+ await client.createVault({ name: 'my-vault', lock_period_secs: 4 * 86_400 });
188
+ // Follower redeems shares (decimal string).
189
+ await client.vaultWithdraw({ vault_id: 7, shares: '250.5' });
190
+
191
+ // Leverage / margin.
192
+ await client.updateLeverage({ asset: 0, leverage: 10, is_isolated: false });
193
+ await client.updateIsolatedMargin({ asset: 0, delta: '-12.5' });
194
+ await client.userPortfolioMargin({ enroll: true });
195
+
196
+ // TWAP — slice a large order over time.
197
+ await client.twapOrder({
198
+ market: 0,
199
+ side: 'bid',
200
+ total_size: 10_000,
201
+ slice_count: 10,
202
+ delay_ms: 500,
203
+ reduce_only: false,
204
+ });
205
+
206
+ // Staking.
207
+ await client.tokenDelegate({ validator: me, amount: '100.5', is_undelegate: false });
208
+
209
+ // MetaBridge — withdraw cross-collateral to another chain.
210
+ await client.mbWithdraw({ chain: 'Base', asset: 0, amount: 1_000_000, dst_addr: me });
211
+
212
+ // Encrypted order — `ciphertext` + 32-byte `commitment` are raw bytes; the SDK
213
+ // emits them as serde byte arrays.
214
+ await client.submitEncryptedOrder({
215
+ ciphertext: new Uint8Array([0xab, 0xcd, 0xef]),
216
+ commitment: new Uint8Array(32),
217
+ threshold: 5,
218
+ target_block: 1_000_000,
219
+ reveal_deadline_ms: 5_000,
220
+ });
221
+ ```
222
+
223
+ Each method takes an optional `{ nonce?, chainId? }` and returns the same
224
+ `NativeExchangeAck`. The matching `buildNative*Action` builders are exported for
225
+ out-of-band signing.
226
+
67
227
  ### WebSocket streams
68
228
 
69
229
  ```ts
@@ -71,19 +231,21 @@ import { WsClient } from '@metaflux-dex/client';
71
231
 
72
232
  const ws = new WsClient('ws://localhost:8080/ws');
73
233
  ws.onMessage((f) => {
74
- if (f.channel === 'l2Book') handleBook(f.data);
234
+ if (f.channel === 'l2_book') handleBook(f.data);
75
235
  });
76
236
  await ws.connect();
77
- await ws.subscribe({ type: 'l2Book', coin: 'BTC' });
237
+ await ws.subscribe({ type: 'l2_book', coin: 'BTC' });
78
238
  ```
79
239
 
80
240
  ### Power-user exports
81
241
 
82
242
  The barrel also exports the low-level pieces so you can build custom flows —
83
- `InfoApi` (standalone read client), the `buildNativeOrderAction` /
84
- `signNativeAction` / `nativeActionDigest` action builders, and the WASM crypto
85
- primitives (`keccak256`, `signSecp256k1`, `recoverPubkey`, ). See
86
- [`src/index.ts`](src/index.ts) for the full surface.
243
+ `InfoApi` (standalone read client), a `buildNative*Action` builder for every
244
+ signed action (`buildNativeOrderAction`, `buildNativeCreateVaultAction`,
245
+ `buildNativeUpdateLeverageAction`, `buildNativeMbWithdrawAction`, … — one per
246
+ method above), the `signNativeAction` / `nativeActionDigest` signing core, and
247
+ the WASM crypto primitives (`keccak256`, `signSecp256k1`, `recoverPubkey`, …).
248
+ See [`src/index.ts`](src/index.ts) for the full surface.
87
249
 
88
250
  ## What's WASM-backed vs pure-TS
89
251
 
@@ -115,8 +277,7 @@ already-canonical WASM outputs, so the wire format has a single source of truth.
115
277
  `{ action, nonce, signature }` to `POST /exchange`.
116
278
 
117
279
  Field shapes are mirrored from the authoritative API spec in
118
- [`metaflux-knowledges`](https://github.com/mtf-exchange/metaflux-knowledges) and
119
- the node handlers under `metaflux/crates/api-node/src/rest/`.
280
+ [`metaflux-knowledges`](https://github.com/mtf-exchange/metaflux-knowledges).
120
281
 
121
282
  ## Develop
122
283
 
@@ -142,14 +303,33 @@ Build the artifacts separately with `pnpm build:wasm` / `pnpm build:ts`.
142
303
  ├── src/
143
304
  │ ├── index.ts # public barrel
144
305
  │ ├── client.ts # Client class — reads + signed writes
145
- │ ├── info.ts # InfoApi — POST /info read methods
146
- │ ├── info-types.ts # /info response shapes ({type,data}.data)
147
- │ ├── native.ts # MTF-native action build + sign + digest
148
- ├── ws.ts # WsClientsubscriptions + reconnect
149
- │ ├── wasm.ts # WASM loader + typed crypto wrappers
150
- ├── http.ts # fetch wrapper + MetaFluxApiError
151
- └── types.ts # Order / NativeOrder / acks / shared enums
152
- ├── __tests__/ # vitest: info / native / sign / ws
306
+ │ ├── faucet.ts # devnet/testnet faucet helper
307
+ │ ├── rest/
308
+ ├── http.ts # fetch wrapper + MetaFluxApiError
309
+ │ └── info.ts # InfoApiPOST /info read methods
310
+ │ ├── ws/
311
+ │ └── ws.ts # WsClient subscriptions + reconnect
312
+ ├── wallet/
313
+ │ │ └── wasm.ts # WASM loader + typed crypto wrappers
314
+ │ ├── native/
315
+ │ │ ├── digest.ts # signing core — digest / sign / recover / nonce
316
+ │ │ └── actions.ts # build*Action canonical-JSON builders
317
+ │ └── types/
318
+ │ ├── index.ts # type re-export barrel
319
+ │ ├── trading.ts # Order / NativeOrder / acks / shared enums
320
+ │ ├── spot.ts # NativeSpotOrder / NativeSpotCancel + spot-margin / Earn
321
+ │ ├── vault.ts # vault action payloads
322
+ │ ├── pm.ts # portfolio-margin action payloads
323
+ │ ├── rfq.ts # RFQ action payloads
324
+ │ ├── fba.ts # frequent-batch-auction action payload
325
+ │ ├── cross-chain.ts # cross-chain action payload
326
+ │ ├── encrypted.ts # encrypted-order action payload
327
+ │ └── info/ # /info response shapes ({type,data}.data)
328
+ │ ├── index.ts # re-export barrel
329
+ │ ├── core.ts # node / account / market / vault / staking / fee
330
+ │ ├── reads.ts # book / trade / account-history reads
331
+ │ └── hl-parity.ts # HL-node parity query shapes
332
+ ├── __tests__/ # vitest: actions / info / native / sign / ws
153
333
  ├── wasm/ # standalone wasm-bindgen crate (+ native tests)
154
334
  ├── pkg/ # wasm-pack output (gitignored)
155
335
  └── dist/ # tsc output (gitignored)
package/dist/client.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { InfoApi } from './info.js';
2
- import { WsClient, type WsConfig } from './ws.js';
3
- import type { Market, NativeCancel, NativeExchangeAck, NativeOrder, Order, OrderAck, Position, SignedOrder } from './types.js';
1
+ import { InfoApi } from './rest/info.js';
2
+ import { WsClient, type WsConfig } from './ws/ws.js';
3
+ import type { AgentSetAbstraction, ApproveAgent, ApproveBuilderFee, BatchCancel, BatchModify, BatchOrder, CancelAllOrders, CancelByCloid, ClaimRewards, ConvertToMultiSigUser, CreateVault, LinkStakingUser, Market, MbWithdraw, Modify, NativeCancel, NativeEarnDeposit, NativeEarnWithdraw, NativeExchangeAck, NativeOrder, NativeSetPositionMode, NativeSpotCancel, NativeSpotMarginClose, NativeSpotMarginDeposit, NativeSpotMarginOpen, NativeSpotMarginWithdraw, NativeSpotOrder, Order, OrderAck, Position, PriorityBid, RegisterMetaliquidityOperator, ScheduleCancel, SetDisplayName, SetMetaliquidityWhitelist, SetReferrer, SignedOrder, SubmitEncryptedOrder, TokenDelegate, TopUpIsolatedOnlyMargin, TwapCancel, TwapOrder, UpdateIsolatedMargin, UpdateLeverage, UserDexAbstraction, UserPortfolioMargin, UserSetAbstraction, VaultModify, VaultTransfer, VaultWithdraw } from './types/index.js';
4
4
  export interface ClientOpts {
5
5
  baseUrl: string;
6
6
  privateKey?: Uint8Array;
@@ -24,6 +24,176 @@ export declare class Client {
24
24
  nonce?: bigint;
25
25
  chainId?: number;
26
26
  }): Promise<NativeExchangeAck>;
27
+ setPositionMode(mode: NativeSetPositionMode, opts?: {
28
+ nonce?: bigint;
29
+ chainId?: number;
30
+ }): Promise<NativeExchangeAck>;
31
+ submitSpotOrderNative(order: NativeSpotOrder, opts?: {
32
+ nonce?: bigint;
33
+ chainId?: number;
34
+ }): Promise<NativeExchangeAck>;
35
+ cancelSpotOrderNative(cancel: NativeSpotCancel, opts?: {
36
+ nonce?: bigint;
37
+ chainId?: number;
38
+ }): Promise<NativeExchangeAck>;
39
+ spotMarginDeposit(params: NativeSpotMarginDeposit, opts?: {
40
+ nonce?: bigint;
41
+ chainId?: number;
42
+ }): Promise<NativeExchangeAck>;
43
+ spotMarginWithdraw(params: NativeSpotMarginWithdraw, opts?: {
44
+ nonce?: bigint;
45
+ chainId?: number;
46
+ }): Promise<NativeExchangeAck>;
47
+ spotMarginOpen(params: NativeSpotMarginOpen, opts?: {
48
+ nonce?: bigint;
49
+ chainId?: number;
50
+ }): Promise<NativeExchangeAck>;
51
+ spotMarginClose(params: NativeSpotMarginClose, opts?: {
52
+ nonce?: bigint;
53
+ chainId?: number;
54
+ }): Promise<NativeExchangeAck>;
55
+ earnDeposit(params: NativeEarnDeposit, opts?: {
56
+ nonce?: bigint;
57
+ chainId?: number;
58
+ }): Promise<NativeExchangeAck>;
59
+ earnWithdraw(params: NativeEarnWithdraw, opts?: {
60
+ nonce?: bigint;
61
+ chainId?: number;
62
+ }): Promise<NativeExchangeAck>;
63
+ cancelByCloid(params: CancelByCloid, opts?: {
64
+ nonce?: bigint;
65
+ chainId?: number;
66
+ }): Promise<NativeExchangeAck>;
67
+ modify(params: Modify, opts?: {
68
+ nonce?: bigint;
69
+ chainId?: number;
70
+ }): Promise<NativeExchangeAck>;
71
+ batchModify(params: BatchModify, opts?: {
72
+ nonce?: bigint;
73
+ chainId?: number;
74
+ }): Promise<NativeExchangeAck>;
75
+ batchOrder(batch: BatchOrder, opts?: {
76
+ nonce?: bigint;
77
+ chainId?: number;
78
+ }): Promise<NativeExchangeAck>;
79
+ batchCancel(batch: BatchCancel, opts?: {
80
+ nonce?: bigint;
81
+ chainId?: number;
82
+ }): Promise<NativeExchangeAck>;
83
+ scheduleCancel(params: ScheduleCancel, opts?: {
84
+ nonce?: bigint;
85
+ chainId?: number;
86
+ }): Promise<NativeExchangeAck>;
87
+ cancelAllOrders(params?: CancelAllOrders, opts?: {
88
+ nonce?: bigint;
89
+ chainId?: number;
90
+ }): Promise<NativeExchangeAck>;
91
+ twapOrder(params: TwapOrder, opts?: {
92
+ nonce?: bigint;
93
+ chainId?: number;
94
+ }): Promise<NativeExchangeAck>;
95
+ twapCancel(params: TwapCancel, opts?: {
96
+ nonce?: bigint;
97
+ chainId?: number;
98
+ }): Promise<NativeExchangeAck>;
99
+ updateLeverage(params: UpdateLeverage, opts?: {
100
+ nonce?: bigint;
101
+ chainId?: number;
102
+ }): Promise<NativeExchangeAck>;
103
+ updateIsolatedMargin(params: UpdateIsolatedMargin, opts?: {
104
+ nonce?: bigint;
105
+ chainId?: number;
106
+ }): Promise<NativeExchangeAck>;
107
+ topUpIsolatedOnlyMargin(params: TopUpIsolatedOnlyMargin, opts?: {
108
+ nonce?: bigint;
109
+ chainId?: number;
110
+ }): Promise<NativeExchangeAck>;
111
+ userPortfolioMargin(params: UserPortfolioMargin, opts?: {
112
+ nonce?: bigint;
113
+ chainId?: number;
114
+ }): Promise<NativeExchangeAck>;
115
+ setDisplayName(params: SetDisplayName, opts?: {
116
+ nonce?: bigint;
117
+ chainId?: number;
118
+ }): Promise<NativeExchangeAck>;
119
+ setReferrer(params: SetReferrer, opts?: {
120
+ nonce?: bigint;
121
+ chainId?: number;
122
+ }): Promise<NativeExchangeAck>;
123
+ approveAgent(params: ApproveAgent, opts?: {
124
+ nonce?: bigint;
125
+ chainId?: number;
126
+ }): Promise<NativeExchangeAck>;
127
+ approveBuilderFee(params: ApproveBuilderFee, opts?: {
128
+ nonce?: bigint;
129
+ chainId?: number;
130
+ }): Promise<NativeExchangeAck>;
131
+ convertToMultiSigUser(params: ConvertToMultiSigUser, opts?: {
132
+ nonce?: bigint;
133
+ chainId?: number;
134
+ }): Promise<NativeExchangeAck>;
135
+ userDexAbstraction(params: UserDexAbstraction, opts?: {
136
+ nonce?: bigint;
137
+ chainId?: number;
138
+ }): Promise<NativeExchangeAck>;
139
+ userSetAbstraction(params: UserSetAbstraction, opts?: {
140
+ nonce?: bigint;
141
+ chainId?: number;
142
+ }): Promise<NativeExchangeAck>;
143
+ agentSetAbstraction(params: AgentSetAbstraction, opts?: {
144
+ nonce?: bigint;
145
+ chainId?: number;
146
+ }): Promise<NativeExchangeAck>;
147
+ priorityBid(params: PriorityBid, opts?: {
148
+ nonce?: bigint;
149
+ chainId?: number;
150
+ }): Promise<NativeExchangeAck>;
151
+ tokenDelegate(params: TokenDelegate, opts?: {
152
+ nonce?: bigint;
153
+ chainId?: number;
154
+ }): Promise<NativeExchangeAck>;
155
+ claimRewards(params?: ClaimRewards, opts?: {
156
+ nonce?: bigint;
157
+ chainId?: number;
158
+ }): Promise<NativeExchangeAck>;
159
+ linkStakingUser(params: LinkStakingUser, opts?: {
160
+ nonce?: bigint;
161
+ chainId?: number;
162
+ }): Promise<NativeExchangeAck>;
163
+ submitEncryptedOrder(params: SubmitEncryptedOrder, opts?: {
164
+ nonce?: bigint;
165
+ chainId?: number;
166
+ }): Promise<NativeExchangeAck>;
167
+ createVault(params: CreateVault, opts?: {
168
+ nonce?: bigint;
169
+ chainId?: number;
170
+ }): Promise<NativeExchangeAck>;
171
+ vaultTransfer(params: VaultTransfer, opts?: {
172
+ nonce?: bigint;
173
+ chainId?: number;
174
+ }): Promise<NativeExchangeAck>;
175
+ vaultModify(params: VaultModify, opts?: {
176
+ nonce?: bigint;
177
+ chainId?: number;
178
+ }): Promise<NativeExchangeAck>;
179
+ vaultWithdraw(params: VaultWithdraw, opts?: {
180
+ nonce?: bigint;
181
+ chainId?: number;
182
+ }): Promise<NativeExchangeAck>;
183
+ mbWithdraw(params: MbWithdraw, opts?: {
184
+ nonce?: bigint;
185
+ chainId?: number;
186
+ }): Promise<NativeExchangeAck>;
187
+ setMetaliquidityWhitelist(params: SetMetaliquidityWhitelist, opts?: {
188
+ nonce?: bigint;
189
+ chainId?: number;
190
+ }): Promise<NativeExchangeAck>;
191
+ registerMetaliquidityOperator(params: RegisterMetaliquidityOperator, opts?: {
192
+ nonce?: bigint;
193
+ chainId?: number;
194
+ }): Promise<NativeExchangeAck>;
195
+ private postSenderAuthorized;
196
+ private postBatchOwnerChecked;
27
197
  connectWs(config?: Partial<WsConfig>): Promise<WsClient>;
28
198
  getMarkets(): Promise<Market[]>;
29
199
  getPositions(account: string): Promise<Position[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,UAAU;IAIzB,OAAO,EAAE,MAAM,CAAC;IAIhB,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwFD,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAGjC,OAAO,CAAC,GAAG,CAAqB;IAEhC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,IAAI,EAAE,UAAU;IAe5B,IAAI,OAAO,IAAI,OAAO,CAErB;IAoBK,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;IAgD7C,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA0CnD,iBAAiB,CACrB,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9C,OAAO,CAAC,iBAAiB,CAAC;IA0CvB,iBAAiB,CACrB,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9C,OAAO,CAAC,iBAAiB,CAAC;IAmCvB,SAAS,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ5D,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ/B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAcxD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAG5B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}