@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.
- package/README.md +196 -16
- package/dist/client.d.ts +173 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +264 -11
- package/dist/client.js.map +1 -1
- package/dist/faucet.js +1 -1
- package/dist/faucet.js.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -9
- package/dist/index.js.map +1 -1
- package/dist/native/actions.d.ts +46 -0
- package/dist/native/actions.d.ts.map +1 -0
- package/dist/native/actions.js +593 -0
- package/dist/native/actions.js.map +1 -0
- package/dist/native/digest.d.ts +28 -0
- package/dist/native/digest.d.ts.map +1 -0
- package/dist/{native.js → native/digest.js} +71 -86
- package/dist/native/digest.js.map +1 -0
- package/dist/native/index.d.ts +3 -0
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +5 -0
- package/dist/native/index.js.map +1 -0
- package/dist/rest/http.d.ts.map +1 -0
- package/dist/rest/http.js.map +1 -0
- package/dist/{info.d.ts → rest/info.d.ts} +1 -1
- package/dist/rest/info.d.ts.map +1 -0
- package/dist/{info.js → rest/info.js} +8 -5
- package/dist/rest/info.js.map +1 -0
- package/dist/types/account.d.ts +52 -0
- package/dist/types/account.d.ts.map +1 -0
- package/dist/types/account.js +8 -0
- package/dist/types/account.js.map +1 -0
- package/dist/types/encrypted.d.ts +8 -0
- package/dist/types/encrypted.d.ts.map +1 -0
- package/dist/types/encrypted.js +7 -0
- package/dist/types/encrypted.js.map +1 -0
- package/dist/types/governance.d.ts +11 -0
- package/dist/types/governance.d.ts.map +1 -0
- package/dist/types/governance.js +7 -0
- package/dist/types/governance.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/info/core.d.ts +97 -0
- package/dist/types/info/core.d.ts.map +1 -0
- package/dist/types/info/core.js +15 -0
- package/dist/types/info/core.js.map +1 -0
- package/dist/{info-types.d.ts → types/info/hl-parity.d.ts} +8 -177
- package/dist/types/info/hl-parity.d.ts.map +1 -0
- package/dist/types/info/hl-parity.js +8 -0
- package/dist/types/info/hl-parity.js.map +1 -0
- package/dist/types/info/index.d.ts +4 -0
- package/dist/types/info/index.d.ts.map +1 -0
- package/dist/types/info/index.js +6 -0
- package/dist/types/info/index.js.map +1 -0
- package/dist/types/info/reads.d.ts +81 -0
- package/dist/types/info/reads.d.ts.map +1 -0
- package/dist/types/info/reads.js +7 -0
- package/dist/types/info/reads.js.map +1 -0
- package/dist/types/meta-bridge.d.ts +8 -0
- package/dist/types/meta-bridge.d.ts.map +1 -0
- package/dist/types/meta-bridge.js +7 -0
- package/dist/types/meta-bridge.js.map +1 -0
- package/dist/types/spot.d.ts +41 -0
- package/dist/types/spot.d.ts.map +1 -0
- package/dist/types/spot.js +7 -0
- package/dist/types/spot.js.map +1 -0
- package/dist/types/staking.d.ts +12 -0
- package/dist/types/staking.d.ts.map +1 -0
- package/dist/types/staking.js +6 -0
- package/dist/types/staking.js.map +1 -0
- package/dist/{types.d.ts → types/trading.d.ts} +33 -1
- package/dist/types/trading.d.ts.map +1 -0
- package/dist/{types.js → types/trading.js} +3 -3
- package/dist/types/trading.js.map +1 -0
- package/dist/types/twap.d.ts +13 -0
- package/dist/types/twap.d.ts.map +1 -0
- package/dist/types/twap.js +7 -0
- package/dist/types/twap.js.map +1 -0
- package/dist/types/vault.d.ts +24 -0
- package/dist/types/vault.d.ts.map +1 -0
- package/dist/types/vault.js +6 -0
- package/dist/types/vault.js.map +1 -0
- package/dist/{wasm.d.ts → wallet/wasm.d.ts} +1 -1
- package/dist/wallet/wasm.d.ts.map +1 -0
- package/dist/{wasm.js → wallet/wasm.js} +9 -8
- package/dist/wallet/wasm.js.map +1 -0
- package/dist/{ws.d.ts → ws/ws.d.ts} +14 -1
- package/dist/ws/ws.d.ts.map +1 -0
- package/dist/{ws.js → ws/ws.js} +27 -15
- package/dist/ws/ws.js.map +1 -0
- package/package.json +3 -1
- package/src/client.ts +610 -12
- package/src/faucet.ts +1 -1
- package/src/index.ts +117 -15
- package/src/native/actions.ts +820 -0
- package/src/{native.ts → native/digest.ts} +78 -95
- package/src/native/index.ts +5 -0
- package/src/{http.ts → rest/http.ts} +1 -1
- package/src/{info.ts → rest/info.ts} +9 -6
- package/src/types/account.ts +111 -0
- package/src/types/encrypted.ts +21 -0
- package/src/types/governance.ts +27 -0
- package/src/types/index.ts +79 -0
- package/src/types/info/core.ts +214 -0
- package/src/types/info/hl-parity.ts +428 -0
- package/src/types/info/index.ts +78 -0
- package/src/types/info/reads.ts +165 -0
- package/src/types/meta-bridge.ts +22 -0
- package/src/types/spot.ts +114 -0
- package/src/types/staking.ts +27 -0
- package/src/{types.ts → types/trading.ts} +92 -8
- package/src/types/twap.ts +29 -0
- package/src/types/vault.ts +55 -0
- package/src/{wasm.ts → wallet/wasm.ts} +10 -9
- package/src/{ws.ts → ws/ws.ts} +75 -22
- package/dist/http.d.ts.map +0 -1
- package/dist/http.js.map +0 -1
- package/dist/info-types.d.ts.map +0 -1
- package/dist/info-types.js +0 -16
- package/dist/info-types.js.map +0 -1
- package/dist/info.d.ts.map +0 -1
- package/dist/info.js.map +0 -1
- package/dist/native.d.ts +0 -12
- package/dist/native.d.ts.map +0 -1
- package/dist/native.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/wasm.d.ts.map +0 -1
- package/dist/wasm.js.map +0 -1
- package/dist/ws.d.ts.map +0 -1
- package/dist/ws.js.map +0 -1
- package/src/info-types.ts +0 -783
- /package/dist/{http.d.ts → rest/http.d.ts} +0 -0
- /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 === '
|
|
234
|
+
if (f.channel === 'l2_book') handleBook(f.data);
|
|
75
235
|
});
|
|
76
236
|
await ws.connect();
|
|
77
|
-
await ws.subscribe({ type: '
|
|
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),
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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)
|
|
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
|
-
│ ├──
|
|
146
|
-
│ ├──
|
|
147
|
-
│ ├──
|
|
148
|
-
│
|
|
149
|
-
│ ├──
|
|
150
|
-
│
|
|
151
|
-
│
|
|
152
|
-
|
|
306
|
+
│ ├── faucet.ts # devnet/testnet faucet helper
|
|
307
|
+
│ ├── rest/
|
|
308
|
+
│ │ ├── http.ts # fetch wrapper + MetaFluxApiError
|
|
309
|
+
│ │ └── info.ts # InfoApi — POST /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[]>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|