aftermath-ts-sdk 1.3.23-perps.34 → 1.3.23-perps.36
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/dist/general/types/generalTypes.d.ts +4 -0
- package/dist/general/types/generalTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetuals.d.ts +177 -262
- package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetuals.js +185 -256
- package/dist/packages/perpetuals/perpetualsAccount.d.ts +178 -34
- package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsAccount.js +183 -39
- package/dist/packages/perpetuals/perpetualsMarket.d.ts +116 -140
- package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsMarket.js +125 -159
- package/dist/packages/perpetuals/perpetualsTypes.d.ts +241 -5
- package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsVault.d.ts +273 -19
- package/dist/packages/perpetuals/perpetualsVault.d.ts.map +1 -1
- package/dist/packages/perpetuals/perpetualsVault.js +289 -78
- package/package.json +1 -1
|
@@ -2,6 +2,20 @@ import { Caller } from "../../general/utils/caller";
|
|
|
2
2
|
import { Balance, PerpetualsAccountCap, PerpetualsAccountObject, PerpetualsMarketId, PerpetualsOrderId, PerpetualsPosition, SdkPerpetualsPlaceLimitOrderInputs, SdkPerpetualsPlaceMarketOrderInputs, SuiAddress, ObjectId, Percentage, ApiPerpetualsAccountCollateralHistoryResponse, ApiPerpetualsAccountOrderHistoryResponse, PerpetualsAccountId, ApiPerpetualsAccountCollateralHistoryBody, ApiPerpetualsAccountOrderHistoryBody, ApiPerpetualsPreviewCancelOrdersResponse, CallerConfig, SdkPerpetualsCancelOrdersPreviewInputs, PerpetualsStopOrderData, SdkPerpetualsPlaceStopOrdersInputs, ApiPerpetualsEditStopOrdersBody, SdkPerpetualsPlaceSlTpOrdersInputs, ApiPerpetualsWithdrawCollateralResponse, SdkPerpetualsPlaceMarketOrderPreviewInputs, SdkPerpetualsPlaceLimitOrderPreviewInputs, ApiTransactionResponse, ApiPerpetualsAccountMarginHistoryBody, PerpetualsPartialVaultCap, ApiPerpetualsAccountOrderDatasResponse, ApiPerpetualsAccountMarginHistoryResponse, ApiPerpetualsStopOrderDatasResponse } from "../../types";
|
|
3
3
|
import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
4
4
|
import { AftermathApi } from "../../general/providers";
|
|
5
|
+
/**
|
|
6
|
+
* Note on “refreshing” account state:
|
|
7
|
+
*
|
|
8
|
+
* This class is a thin wrapper around a snapshot of {@link PerpetualsAccountObject}
|
|
9
|
+
* that is typically fetched via {@link Perpetuals.getAccount}. The transaction builders
|
|
10
|
+
* use the current snapshot to derive fields like `hasPosition` and to construct
|
|
11
|
+
* SL/TP helpers that depend on the position side.
|
|
12
|
+
*
|
|
13
|
+
* If your app is long-lived, you may want to periodically re-fetch the account
|
|
14
|
+
* (and recreate this wrapper) to avoid stale local position/order state. For example:
|
|
15
|
+
* - After placing/canceling orders
|
|
16
|
+
* - After fills/liquidations/funding settlements
|
|
17
|
+
* - After switching markets or wallets
|
|
18
|
+
*/
|
|
5
19
|
/**
|
|
6
20
|
* High-level wrapper around a single Perpetuals account or vault account.
|
|
7
21
|
*
|
|
@@ -46,6 +60,10 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
46
60
|
/**
|
|
47
61
|
* If this account is backed by a vault, this holds the vault object ID.
|
|
48
62
|
* Otherwise, `undefined` for "direct" user accounts.
|
|
63
|
+
*
|
|
64
|
+
* This is used primarily to route requests to either:
|
|
65
|
+
* - `/perpetuals/account/...` endpoints, or
|
|
66
|
+
* - `/perpetuals/vault/...` endpoints.
|
|
49
67
|
*/
|
|
50
68
|
private readonly vaultId;
|
|
51
69
|
/**
|
|
@@ -78,11 +96,11 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
78
96
|
* @param inputs.depositCoinArg - Transaction object argument referencing a
|
|
79
97
|
* coin to deposit (mutually exclusive with `depositAmount`).
|
|
80
98
|
*
|
|
81
|
-
* @returns Transaction response containing a
|
|
99
|
+
* @returns Transaction response containing a `tx`.
|
|
82
100
|
*
|
|
83
101
|
* @example
|
|
84
102
|
* ```ts
|
|
85
|
-
* const {
|
|
103
|
+
* const { tx } = await account.getDepositCollateralTx({
|
|
86
104
|
* depositAmount: BigInt("1000000000"),
|
|
87
105
|
* });
|
|
88
106
|
* ```
|
|
@@ -112,12 +130,12 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
112
130
|
* coins directly.
|
|
113
131
|
* @param inputs.tx - Optional transaction to extend (defaults to new `Transaction()`).
|
|
114
132
|
*
|
|
115
|
-
* @returns A response containing `
|
|
133
|
+
* @returns A response containing `tx` and the `coinOutArg` where the
|
|
116
134
|
* withdrawn coins end up if `recipientAddress` is not used.
|
|
117
135
|
*
|
|
118
136
|
* @example
|
|
119
137
|
* ```ts
|
|
120
|
-
* const {
|
|
138
|
+
* const { tx, coinOutArg } = await account.getWithdrawCollateralTx({
|
|
121
139
|
* withdrawAmount: BigInt("1000000000"),
|
|
122
140
|
* });
|
|
123
141
|
* ```
|
|
@@ -139,7 +157,7 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
139
157
|
* @param inputs.allocateAmount - Amount of collateral to allocate.
|
|
140
158
|
* @param inputs.tx - Optional transaction to extend.
|
|
141
159
|
*
|
|
142
|
-
* @returns Transaction response containing a
|
|
160
|
+
* @returns Transaction response containing a `tx`.
|
|
143
161
|
*/
|
|
144
162
|
getAllocateCollateralTx(inputs: {
|
|
145
163
|
marketId: PerpetualsMarketId;
|
|
@@ -158,7 +176,7 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
158
176
|
* @param inputs.deallocateAmount - Amount of collateral to deallocate.
|
|
159
177
|
* @param inputs.tx - Optional transaction to extend.
|
|
160
178
|
*
|
|
161
|
-
* @returns Transaction response containing a
|
|
179
|
+
* @returns Transaction response containing a `tx`.
|
|
162
180
|
*/
|
|
163
181
|
getDeallocateCollateralTx(inputs: {
|
|
164
182
|
marketId: PerpetualsMarketId;
|
|
@@ -176,7 +194,7 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
176
194
|
* @param inputs.toAccountId - Destination account ID.
|
|
177
195
|
* @param inputs.tx - Optional transaction to extend.
|
|
178
196
|
*
|
|
179
|
-
* @returns Transaction response containing a
|
|
197
|
+
* @returns Transaction response containing a `tx`.
|
|
180
198
|
*/
|
|
181
199
|
getTransferCollateralTx(inputs: {
|
|
182
200
|
transferAmount: Balance;
|
|
@@ -194,6 +212,12 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
194
212
|
* - Derives `hasPosition` based on the current account state for the given market.
|
|
195
213
|
* - Optionally attaches SL/TP stop orders via the `slTp` input.
|
|
196
214
|
*
|
|
215
|
+
* Important behavioral notes:
|
|
216
|
+
* - `hasPosition` is derived from the local {@link PerpetualsAccountObject} snapshot.
|
|
217
|
+
* If the snapshot is stale, consider re-fetching the account first.
|
|
218
|
+
* - For vault-backed accounts, the API routes to `/perpetuals/vault/...` and uses
|
|
219
|
+
* `vaultId` as the identity discriminator. For direct accounts, it uses `accountId`.
|
|
220
|
+
*
|
|
197
221
|
* @param inputs - See {@link SdkPerpetualsPlaceMarketOrderInputs} for details.
|
|
198
222
|
* Notably:
|
|
199
223
|
* - `marketId`, `side`, `size`, `collateralChange`, `reduceOnly`
|
|
@@ -201,11 +225,11 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
201
225
|
* - Optional `slTp` params
|
|
202
226
|
* - Optional `tx` to extend
|
|
203
227
|
*
|
|
204
|
-
* @returns Transaction response containing `
|
|
228
|
+
* @returns Transaction response containing `tx`.
|
|
205
229
|
*
|
|
206
230
|
* @example
|
|
207
231
|
* ```ts
|
|
208
|
-
* const {
|
|
232
|
+
* const { tx } = await account.getPlaceMarketOrderTx({
|
|
209
233
|
* marketId: "0x...",
|
|
210
234
|
* side: PerpetualsOrderSide.Bid,
|
|
211
235
|
* size: BigInt("1000000000"),
|
|
@@ -224,9 +248,14 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
224
248
|
* - Requires `price` and `orderType`.
|
|
225
249
|
* - Supports reduce-only flags, expiry, optional leverage, and SL/TP stop orders.
|
|
226
250
|
*
|
|
251
|
+
* Notes:
|
|
252
|
+
* - `hasPosition` is derived from local account state; refresh the account if needed.
|
|
253
|
+
* - This method does not validate tick/lot sizing locally; the API/on-chain
|
|
254
|
+
* will enforce market constraints.
|
|
255
|
+
*
|
|
227
256
|
* @param inputs - See {@link SdkPerpetualsPlaceLimitOrderInputs}.
|
|
228
257
|
*
|
|
229
|
-
* @returns Transaction response containing `
|
|
258
|
+
* @returns Transaction response containing `tx`.
|
|
230
259
|
*/
|
|
231
260
|
getPlaceLimitOrderTx(inputs: SdkPerpetualsPlaceLimitOrderInputs): Promise<Omit<ApiTransactionResponse, "txKind"> & {
|
|
232
261
|
tx: Transaction;
|
|
@@ -234,13 +263,21 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
234
263
|
/**
|
|
235
264
|
* Build a `cancel-orders` transaction for this account.
|
|
236
265
|
*
|
|
266
|
+
* Each market in `marketIdsToData` supplies:
|
|
267
|
+
* - `orderIds`: the orders to cancel in that market
|
|
268
|
+
* - `collateralChange`: collateral adjustment to apply alongside cancellation
|
|
269
|
+
* - `leverage`: leverage context used for estimating/validating constraints server-side
|
|
270
|
+
*
|
|
271
|
+
* Notes:
|
|
272
|
+
* - Cancels are applied per market; some markets may succeed while others fail
|
|
273
|
+
* depending on API/on-chain validation (returned as a transaction failure at execution).
|
|
274
|
+
* - If you need to understand the effect prior to building a tx, use
|
|
275
|
+
* {@link getCancelOrdersPreview}.
|
|
276
|
+
*
|
|
237
277
|
* @param inputs.tx - Optional transaction to extend.
|
|
238
|
-
* @param inputs.marketIdsToData - Mapping from market IDs to
|
|
239
|
-
* - `orderIds`: order IDs to cancel
|
|
240
|
-
* - `collateralChange`: net collateral impact (if any)
|
|
241
|
-
* - `leverage`: current leverage used for estimating effects
|
|
278
|
+
* @param inputs.marketIdsToData - Mapping from market IDs to cancel payloads.
|
|
242
279
|
*
|
|
243
|
-
* @returns Transaction response containing `
|
|
280
|
+
* @returns Transaction response containing `tx`.
|
|
244
281
|
*/
|
|
245
282
|
getCancelOrdersTx(inputs: {
|
|
246
283
|
tx?: Transaction;
|
|
@@ -255,10 +292,13 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
255
292
|
/**
|
|
256
293
|
* Build a `cancel-stop-orders` transaction for this account.
|
|
257
294
|
*
|
|
295
|
+
* This cancels stop-order *objects/tickets* by their object IDs. These IDs are
|
|
296
|
+
* returned by stop-order query endpoints (see {@link getStopOrderDatas}).
|
|
297
|
+
*
|
|
258
298
|
* @param inputs.tx - Optional transaction to extend.
|
|
259
299
|
* @param inputs.stopOrderIds - Array of stop-order ticket IDs to cancel.
|
|
260
300
|
*
|
|
261
|
-
* @returns Transaction response containing `
|
|
301
|
+
* @returns Transaction response containing `tx`.
|
|
262
302
|
*/
|
|
263
303
|
getCancelStopOrdersTx(inputs: {
|
|
264
304
|
tx?: Transaction;
|
|
@@ -272,9 +312,14 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
272
312
|
* This allows placing one or more stop orders in a single transaction,
|
|
273
313
|
* optionally with a dedicated gas coin and a sponsored gas flag.
|
|
274
314
|
*
|
|
315
|
+
* Typical usage:
|
|
316
|
+
* - Construct stop order payload(s) client-side
|
|
317
|
+
* - Call this method to build a transaction kind
|
|
318
|
+
* - Sign/execute the transaction via Sui
|
|
319
|
+
*
|
|
275
320
|
* @param inputs - See {@link SdkPerpetualsPlaceStopOrdersInputs}.
|
|
276
321
|
*
|
|
277
|
-
* @returns Transaction response containing `
|
|
322
|
+
* @returns Transaction response containing `tx`.
|
|
278
323
|
*/
|
|
279
324
|
getPlaceStopOrdersTx(inputs: SdkPerpetualsPlaceStopOrdersInputs): Promise<Omit<ApiTransactionResponse, "txKind"> & {
|
|
280
325
|
tx: Transaction;
|
|
@@ -286,9 +331,14 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
286
331
|
* in a given market. If the account has no position for `marketId`, this
|
|
287
332
|
* throws an error.
|
|
288
333
|
*
|
|
334
|
+
* Implementation details:
|
|
335
|
+
* - Determines the current position side from the account snapshot.
|
|
336
|
+
* - Sets `positionSide` for the API so SL/TP orders are bound to closing logic
|
|
337
|
+
* (i.e. they should trigger on the opposite side of the open position).
|
|
338
|
+
*
|
|
289
339
|
* @param inputs - See {@link SdkPerpetualsPlaceSlTpOrdersInputs}.
|
|
290
340
|
*
|
|
291
|
-
* @returns Transaction response containing `
|
|
341
|
+
* @returns Transaction response containing `tx`.
|
|
292
342
|
*/
|
|
293
343
|
getPlaceSlTpOrdersTx(inputs: SdkPerpetualsPlaceSlTpOrdersInputs): Promise<Omit<ApiTransactionResponse, "txKind"> & {
|
|
294
344
|
tx: Transaction;
|
|
@@ -298,10 +348,15 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
298
348
|
*
|
|
299
349
|
* This endpoint lets you update existing stop orders in batch.
|
|
300
350
|
*
|
|
351
|
+
* Notes:
|
|
352
|
+
* - You must provide the full updated stop-order objects (including object IDs).
|
|
353
|
+
* - This is typically used to adjust trigger prices, sizes, expiries, or the
|
|
354
|
+
* embedded limit-order parameters.
|
|
355
|
+
*
|
|
301
356
|
* @param inputs.stopOrders - Full updated stop-order payloads to apply.
|
|
302
357
|
* @param inputs.tx - Optional transaction to extend.
|
|
303
358
|
*
|
|
304
|
-
* @returns Transaction response containing `
|
|
359
|
+
* @returns Transaction response containing `tx`.
|
|
305
360
|
*/
|
|
306
361
|
getEditStopOrdersTx(inputs: Omit<ApiPerpetualsEditStopOrdersBody, "txKind" | "accountObjectId"> & {
|
|
307
362
|
tx?: Transaction;
|
|
@@ -314,13 +369,18 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
314
369
|
* This updates the effective leverage for the position (or potential position)
|
|
315
370
|
* in `marketId`, and optionally adjusts collateral in tandem.
|
|
316
371
|
*
|
|
372
|
+
* Notes:
|
|
373
|
+
* - Leverage changes may be constrained by protocol risk limits and current
|
|
374
|
+
* position state.
|
|
375
|
+
* - If you want to understand the effect first, use {@link getSetLeveragePreview}.
|
|
376
|
+
*
|
|
317
377
|
* @param inputs.tx - Optional transaction to extend.
|
|
318
378
|
* @param inputs.leverage - Target leverage value.
|
|
319
379
|
* @param inputs.collateralChange - Net collateral change to apply alongside
|
|
320
380
|
* the leverage update.
|
|
321
381
|
* @param inputs.marketId - Market whose leverage to adjust.
|
|
322
382
|
*
|
|
323
|
-
* @returns Transaction response containing `
|
|
383
|
+
* @returns Transaction response containing `tx`.
|
|
324
384
|
*/
|
|
325
385
|
getSetLeverageTx(inputs: {
|
|
326
386
|
tx?: Transaction;
|
|
@@ -337,6 +397,12 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
337
397
|
* This payload is intended to be signed off-chain and then submitted to
|
|
338
398
|
* `getStopOrderDatas` as a proof of account ownership.
|
|
339
399
|
*
|
|
400
|
+
* Important:
|
|
401
|
+
* - The returned payload is *not* a Sui transaction; it is an off-chain
|
|
402
|
+
* “authentication” message.
|
|
403
|
+
* - The backend expects `account_id` to be a decimal string. This code
|
|
404
|
+
* normalizes the bigint `accountId` by stripping the trailing `n`.
|
|
405
|
+
*
|
|
340
406
|
* @param inputs.marketIds - Optional list of market IDs to scope the query.
|
|
341
407
|
*
|
|
342
408
|
* @returns An object describing the action and account/market IDs, suitable
|
|
@@ -360,6 +426,9 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
360
426
|
/**
|
|
361
427
|
* Preview the effects of placing a market order (without building a tx).
|
|
362
428
|
*
|
|
429
|
+
* This is a read-only API call that runs the protocol’s pricing / margin /
|
|
430
|
+
* slippage logic against the current market state and your account/vault context.
|
|
431
|
+
*
|
|
363
432
|
* @param inputs - See {@link SdkPerpetualsPlaceMarketOrderPreviewInputs}.
|
|
364
433
|
* @param abortSignal - Optional `AbortSignal` to cancel the request.
|
|
365
434
|
*
|
|
@@ -387,6 +456,11 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
387
456
|
/**
|
|
388
457
|
* Preview the effects of placing a limit order (without building a tx).
|
|
389
458
|
*
|
|
459
|
+
* The preview simulates:
|
|
460
|
+
* - How much size would execute immediately vs post to the book
|
|
461
|
+
* - Expected slippage and execution price
|
|
462
|
+
* - Resulting position and margin impact
|
|
463
|
+
*
|
|
390
464
|
* @param inputs - See {@link SdkPerpetualsPlaceLimitOrderPreviewInputs}.
|
|
391
465
|
* @param abortSignal - Optional `AbortSignal` to cancel the request.
|
|
392
466
|
*
|
|
@@ -409,21 +483,29 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
409
483
|
/**
|
|
410
484
|
* Preview the effects of canceling orders across one or more markets.
|
|
411
485
|
*
|
|
486
|
+
* This is commonly used to:
|
|
487
|
+
* - Validate that cancels are allowed under current margin constraints
|
|
488
|
+
* - Estimate how collateral/margin would change after canceling (and applying
|
|
489
|
+
* the associated `collateralChange` values)
|
|
490
|
+
*
|
|
412
491
|
* If `marketIdsToData` is empty, this returns a trivial preview with:
|
|
413
|
-
* - `
|
|
414
|
-
* - `updatedPositions: []`
|
|
492
|
+
* - `marketIdsToData: {}`
|
|
415
493
|
*
|
|
416
494
|
* @param inputs - See {@link SdkPerpetualsCancelOrdersPreviewInputs}.
|
|
417
495
|
* @param abortSignal - Optional `AbortSignal` to cancel the request.
|
|
418
496
|
*
|
|
419
497
|
* @returns Either:
|
|
420
|
-
* - `{
|
|
498
|
+
* - `{ marketIdsToData }`, or
|
|
421
499
|
* - `{ error }`.
|
|
422
500
|
*/
|
|
423
501
|
getCancelOrdersPreview(inputs: SdkPerpetualsCancelOrdersPreviewInputs, abortSignal?: AbortSignal): Promise<ApiPerpetualsPreviewCancelOrdersResponse>;
|
|
424
502
|
/**
|
|
425
503
|
* Preview the effects of setting leverage for a given market.
|
|
426
504
|
*
|
|
505
|
+
* The preview returns:
|
|
506
|
+
* - The position after the leverage change (`updatedPosition`)
|
|
507
|
+
* - The collateral delta required/produced (`collateralChange`)
|
|
508
|
+
*
|
|
427
509
|
* @param inputs.marketId - Market whose leverage you want to adjust.
|
|
428
510
|
* @param inputs.leverage - Target leverage value.
|
|
429
511
|
* @param abortSignal - Optional `AbortSignal` to cancel the request.
|
|
@@ -445,6 +527,10 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
445
527
|
* Preview the effects of allocating/deallocating collateral for the position in
|
|
446
528
|
* a given market.
|
|
447
529
|
*
|
|
530
|
+
* Semantics:
|
|
531
|
+
* - Positive `collateralChange` previews allocation (moving collateral into the market).
|
|
532
|
+
* - Negative `collateralChange` previews deallocation (moving collateral out of the market).
|
|
533
|
+
*
|
|
448
534
|
* @param inputs.marketId - Market of whose position you want to allocate/deallocate
|
|
449
535
|
* collateral to/from.
|
|
450
536
|
* @param inputs.collateralChange - The target collateral change (a positive number
|
|
@@ -470,20 +556,28 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
470
556
|
* This is especially useful after a long-running session where on-chain
|
|
471
557
|
* pending orders may have changed relative to the local `account` state.
|
|
472
558
|
*
|
|
473
|
-
*
|
|
474
|
-
*
|
|
559
|
+
* The request payload is derived from this instance’s current snapshot:
|
|
560
|
+
* - It enumerates `account.positions[].pendingOrders`
|
|
561
|
+
* - Sends each `{ orderId, currentSize }` to the API to resolve canonical order data
|
|
562
|
+
*
|
|
563
|
+
* @returns {@link ApiPerpetualsAccountOrderDatasResponse} containing an `orderDatas`
|
|
564
|
+
* array. Returns `{ orderDatas: [] }` if there are no pending orders.
|
|
475
565
|
*/
|
|
476
566
|
getOrderDatas(): Promise<ApiPerpetualsAccountOrderDatasResponse>;
|
|
477
567
|
/**
|
|
478
568
|
* Fetch stop-order ticket data for this account, using an off-chain signed
|
|
479
569
|
* payload.
|
|
480
570
|
*
|
|
481
|
-
*
|
|
482
|
-
*
|
|
571
|
+
* Typical flow:
|
|
572
|
+
* 1) Call {@link getStopOrdersMessageToSign} to construct a deterministic payload
|
|
573
|
+
* 2) Sign the payload with the wallet
|
|
574
|
+
* 3) Provide the signed payload to this method to fetch stop order data
|
|
575
|
+
*
|
|
576
|
+
* @param inputs.bytes - Serialized message that was signed (e.g. JSON string).
|
|
483
577
|
* @param inputs.signature - Signature over `bytes`.
|
|
484
578
|
* @param inputs.marketIds - Optional subset of markets to filter results by.
|
|
485
579
|
*
|
|
486
|
-
* @returns
|
|
580
|
+
* @returns {@link ApiPerpetualsStopOrderDatasResponse} containing `stopOrderDatas`.
|
|
487
581
|
*/
|
|
488
582
|
getStopOrderDatas(inputs: {
|
|
489
583
|
bytes: string;
|
|
@@ -494,23 +588,49 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
494
588
|
* Fetch paginated collateral-change history for this account, including
|
|
495
589
|
* deposits, withdrawals, funding settlements, liquidations, etc.
|
|
496
590
|
*
|
|
591
|
+
* Pagination:
|
|
592
|
+
* - Use `beforeTimestampCursor` to fetch older entries.
|
|
593
|
+
* - The API returns a `nextBeforeTimestampCursor` to continue pagination.
|
|
594
|
+
*
|
|
497
595
|
* @param inputs.beforeTimestampCursor - Optional cursor for pagination.
|
|
498
596
|
* @param inputs.limit - Optional limit per page.
|
|
499
597
|
*
|
|
500
598
|
* @returns {@link ApiPerpetualsAccountCollateralHistoryResponse} containing
|
|
501
|
-
*
|
|
599
|
+
* an array of changes and a `nextBeforeTimestampCursor`.
|
|
502
600
|
*/
|
|
503
601
|
getCollateralHistory(inputs: Omit<ApiPerpetualsAccountCollateralHistoryBody, "accountId">): Promise<ApiPerpetualsAccountCollateralHistoryResponse>;
|
|
504
602
|
/**
|
|
505
603
|
* Fetch paginated order history for this account.
|
|
506
604
|
*
|
|
605
|
+
* This endpoint is distinct from {@link getOrderDatas}:
|
|
606
|
+
* - `getOrderDatas` resolves current/pending orders based on the snapshot.
|
|
607
|
+
* - `getOrderHistory` returns historical order events (fills, cancels, etc.)
|
|
608
|
+
* over time with cursor-based pagination.
|
|
609
|
+
*
|
|
507
610
|
* @param inputs.beforeTimestampCursor - Optional cursor for pagination.
|
|
508
611
|
* @param inputs.limit - Optional limit per page.
|
|
509
612
|
*
|
|
510
613
|
* @returns {@link ApiPerpetualsAccountOrderHistoryResponse} containing a list of
|
|
511
|
-
*
|
|
614
|
+
* orders and a `nextBeforeTimestampCursor`.
|
|
512
615
|
*/
|
|
513
616
|
getOrderHistory(inputs: Omit<ApiPerpetualsAccountOrderHistoryBody, "accountId">): Promise<ApiPerpetualsAccountOrderHistoryResponse>;
|
|
617
|
+
/**
|
|
618
|
+
* Fetch historical margin snapshots for this account over a time range.
|
|
619
|
+
*
|
|
620
|
+
* This endpoint returns time-series margin data suitable for charting UI
|
|
621
|
+
* such as equity and available collateral over time.
|
|
622
|
+
*
|
|
623
|
+
* Inputs:
|
|
624
|
+
* - `fromTimestamp` / `toTimestamp` are Unix timestamps in **milliseconds**.
|
|
625
|
+
* - `intervalMs` controls the resolution (e.g. 60_000 for 1-minute points).
|
|
626
|
+
*
|
|
627
|
+
* Notes:
|
|
628
|
+
* - Returned points are typically aligned to the requested interval.
|
|
629
|
+
* - This is an account-level view (aggregated across markets).
|
|
630
|
+
*
|
|
631
|
+
* @param inputs - {@link ApiPerpetualsAccountMarginHistoryBody} without `accountId`.
|
|
632
|
+
* @returns {@link ApiPerpetualsAccountMarginHistoryResponse} containing `marginHistoryDatas`.
|
|
633
|
+
*/
|
|
514
634
|
getMarginHistory(inputs: Omit<ApiPerpetualsAccountMarginHistoryBody, "accountId">): Promise<ApiPerpetualsAccountMarginHistoryResponse>;
|
|
515
635
|
/**
|
|
516
636
|
* Find the current position for a given market ID, if any.
|
|
@@ -527,6 +647,10 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
527
647
|
* A stop order is considered SL/TP if it appears in the combined set of
|
|
528
648
|
* SL/TP orders across **all** markets (see {@link slTpStopOrderDatas}).
|
|
529
649
|
*
|
|
650
|
+
* Note:
|
|
651
|
+
* - This implementation uses JSON string equality to compare objects.
|
|
652
|
+
* This is pragmatic but assumes stable field ordering and identical shapes.
|
|
653
|
+
*
|
|
530
654
|
* @param inputs.stopOrderDatas - Full array of stop-order ticket data.
|
|
531
655
|
* @returns An array of non-SL/TP stop orders, or `undefined` if none exist.
|
|
532
656
|
*/
|
|
@@ -545,6 +669,9 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
545
669
|
* - "Full" SL/TP orders (size >= `i64MaxBigInt`)
|
|
546
670
|
* - "Partial" SL/TP orders (size < `i64MaxBigInt`)
|
|
547
671
|
*
|
|
672
|
+
* The "full vs partial" distinction is a protocol convention: some systems
|
|
673
|
+
* encode “close entire position” using a sentinel max size.
|
|
674
|
+
*
|
|
548
675
|
* @param inputs.stopOrderDatas - Full list of stop-order tickets.
|
|
549
676
|
* @returns Array of SL/TP stop orders, or `undefined` if none exist.
|
|
550
677
|
*/
|
|
@@ -575,6 +702,10 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
575
702
|
* - Order side is opposite of the position side.
|
|
576
703
|
* - At least a `stopLossIndexPrice` or `takeProfitIndexPrice` is set.
|
|
577
704
|
*
|
|
705
|
+
* Notes on matching:
|
|
706
|
+
* - The side comparison uses the current position side derived from the account snapshot.
|
|
707
|
+
* - If `baseAssetAmount === 0` (no effective position), the method returns no SL/TP orders.
|
|
708
|
+
*
|
|
578
709
|
* @param inputs.marketId - Market to categorize stop orders for.
|
|
579
710
|
* @param inputs.stopOrderDatas - Full list of stop orders.
|
|
580
711
|
*
|
|
@@ -592,6 +723,9 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
592
723
|
/**
|
|
593
724
|
* Convenience accessor for the account's available collateral (in coin units).
|
|
594
725
|
*
|
|
726
|
+
* This is the amount of collateral not currently locked/allocated across markets,
|
|
727
|
+
* as represented by the backend response.
|
|
728
|
+
*
|
|
595
729
|
* @returns Available collateral as a `number`.
|
|
596
730
|
*/
|
|
597
731
|
collateral(): number;
|
|
@@ -604,8 +738,12 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
604
738
|
/**
|
|
605
739
|
* Resolve the owner wallet address of this account or vault.
|
|
606
740
|
*
|
|
607
|
-
* - For direct accounts, returns the `walletAddress` field.
|
|
608
|
-
* - For vault-backed accounts, returns `ownerAddress`.
|
|
741
|
+
* - For direct accounts, returns the cap's `walletAddress` field.
|
|
742
|
+
* - For vault-backed accounts, returns the vault cap's `ownerAddress`.
|
|
743
|
+
*
|
|
744
|
+
* Naming note:
|
|
745
|
+
* - Some types use `walletAddress` for direct ownership. For vault-backed accounts
|
|
746
|
+
* the analogous field is `ownerAddress`.
|
|
609
747
|
*
|
|
610
748
|
* @returns Owner wallet {@link SuiAddress}.
|
|
611
749
|
*/
|
|
@@ -613,20 +751,26 @@ export declare class PerpetualsAccount extends Caller {
|
|
|
613
751
|
/**
|
|
614
752
|
* Get the underlying account object ID.
|
|
615
753
|
*
|
|
754
|
+
* This is the on-chain object that holds the account's state and positions.
|
|
755
|
+
*
|
|
616
756
|
* @returns {@link ObjectId} of the account object.
|
|
617
757
|
*/
|
|
618
758
|
accountObjectId(): ObjectId;
|
|
619
759
|
/**
|
|
620
760
|
* Get the numeric perpetuals account ID.
|
|
621
761
|
*
|
|
762
|
+
* This is the protocol-level identifier (bigint-derived) used across API calls.
|
|
763
|
+
*
|
|
622
764
|
* @returns {@link PerpetualsAccountId} for this account.
|
|
623
765
|
*/
|
|
624
766
|
accountId(): PerpetualsAccountId;
|
|
625
767
|
/**
|
|
626
768
|
* Get the account cap object ID, if this is a direct account.
|
|
627
769
|
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
770
|
+
* Direct accounts are controlled via an on-chain “cap” object. Vault-backed
|
|
771
|
+
* accounts are controlled via vault caps and do not expose a direct account-cap ID.
|
|
772
|
+
*
|
|
773
|
+
* @throws If called for a vault-backed account.
|
|
630
774
|
*
|
|
631
775
|
* @returns {@link ObjectId} of the account cap.
|
|
632
776
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perpetualsAccount.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAMN,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kCAAkC,EAClC,mCAAmC,EACnC,UAAU,EAEV,QAAQ,EAGR,UAAU,EAIV,6CAA6C,EAC7C,wCAAwC,EACxC,mBAAmB,EACnB,yCAAyC,EACzC,oCAAoC,EAEpC,wCAAwC,EASxC,YAAY,EACZ,sCAAsC,EAEtC,uBAAuB,EAGvB,kCAAkC,EAClC,+BAA+B,EAC/B,kCAAkC,EAGlC,uCAAuC,EACvC,0CAA0C,EAC1C,yCAAyC,EAGzC,sBAAsB,EAItB,qCAAqC,EAErC,yBAAyB,EACzB,sCAAsC,EACtC,yCAAyC,EACzC,mCAAmC,EACnC,MAAM,aAAa,CAAC;AAGrB,OAAO,EACN,WAAW,EACX,yBAAyB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"perpetualsAccount.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsAccount.ts"],"names":[],"mappings":"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"}
|