@zeroexcore/trader 3.0.1 → 3.1.0
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/commands/perps/index.d.ts.map +1 -1
- package/dist/commands/perps/index.js +2 -0
- package/dist/commands/perps/index.js.map +1 -1
- package/dist/commands/perps/positions.d.ts.map +1 -1
- package/dist/commands/perps/positions.js +10 -0
- package/dist/commands/perps/positions.js.map +1 -1
- package/dist/commands/perps/tpsl.d.ts +3 -0
- package/dist/commands/perps/tpsl.d.ts.map +1 -0
- package/dist/commands/perps/tpsl.js +80 -0
- package/dist/commands/perps/tpsl.js.map +1 -0
- package/dist/commands/portfolio.d.ts.map +1 -1
- package/dist/commands/portfolio.js +7 -0
- package/dist/commands/portfolio.js.map +1 -1
- package/dist/utils/perps/idl.json +1 -7241
- package/dist/utils/perps/index.d.ts +36 -0
- package/dist/utils/perps/index.d.ts.map +1 -1
- package/dist/utils/perps/index.js +177 -2
- package/dist/utils/perps/index.js.map +1 -1
- package/dist/utils/perps-api.d.ts +26 -0
- package/dist/utils/perps-api.d.ts.map +1 -1
- package/dist/utils/perps-api.js +66 -1
- package/dist/utils/perps-api.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,12 @@ declare const CUSTODY: {
|
|
|
12
12
|
};
|
|
13
13
|
declare const MARKET_MINTS: Record<string, PublicKey>;
|
|
14
14
|
export type Side = "long" | "short";
|
|
15
|
+
export type TriggerOrder = {
|
|
16
|
+
pubkey: string;
|
|
17
|
+
triggerPrice: Big;
|
|
18
|
+
triggerAboveThreshold: boolean;
|
|
19
|
+
entirePosition: boolean;
|
|
20
|
+
};
|
|
15
21
|
export type PerpsPosition = {
|
|
16
22
|
publicKey: string;
|
|
17
23
|
owner: string;
|
|
@@ -25,6 +31,7 @@ export type PerpsPosition = {
|
|
|
25
31
|
leverage: number;
|
|
26
32
|
unrealizedPnl: Big;
|
|
27
33
|
liquidationPrice: Big;
|
|
34
|
+
triggerOrders: TriggerOrder[];
|
|
28
35
|
};
|
|
29
36
|
export type CustodyInfo = {
|
|
30
37
|
name: string;
|
|
@@ -84,5 +91,34 @@ export declare function getAllCustodyInfo(connection: Connection): Promise<Custo
|
|
|
84
91
|
export declare function getOpenPositions(connection: Connection, walletPubkey: PublicKey | string,
|
|
85
92
|
/** Optional mark prices keyed by asset name (SOL, ETH, BTC). When provided, PnL + liquidation are computed. */
|
|
86
93
|
markPrices?: Record<string, number>): Promise<PerpsPosition[]>;
|
|
94
|
+
export type TpslRequest = {
|
|
95
|
+
owner: PublicKey;
|
|
96
|
+
positionPubkey: PublicKey;
|
|
97
|
+
desiredToken: string;
|
|
98
|
+
triggerPrice: BN;
|
|
99
|
+
triggerAboveThreshold: boolean;
|
|
100
|
+
entirePosition?: boolean;
|
|
101
|
+
sizeUsdDelta?: BN;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Build a createDecreasePositionRequest2 transaction with requestType: Trigger.
|
|
105
|
+
* Creates an on-chain TP or SL order. Keepers execute when trigger price is hit.
|
|
106
|
+
*/
|
|
107
|
+
export declare function buildTpslTx(connection: Connection, req: TpslRequest): Promise<VersionedTransaction>;
|
|
108
|
+
/**
|
|
109
|
+
* Build a transaction with both TP and SL in a single tx (two instructions).
|
|
110
|
+
*/
|
|
111
|
+
export declare function buildTpslPairTx(connection: Connection, tpReq: TpslRequest, slReq: TpslRequest): Promise<VersionedTransaction>;
|
|
112
|
+
export type UpdateTpslRequest = {
|
|
113
|
+
owner: PublicKey;
|
|
114
|
+
positionPubkey: PublicKey;
|
|
115
|
+
positionRequestPubkey: PublicKey;
|
|
116
|
+
triggerPrice: BN;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Build an updateDecreasePositionRequest2 transaction.
|
|
120
|
+
* Updates triggerPrice on an existing TP/SL PositionRequest. Owner-only.
|
|
121
|
+
*/
|
|
122
|
+
export declare function buildUpdateTpslTx(connection: Connection, requests: UpdateTpslRequest[]): Promise<VersionedTransaction>;
|
|
87
123
|
export { CUSTODY, POOL, PROGRAM_ID, MARKET_MINTS };
|
|
88
124
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,OAAO,CAAA;AACtB,OAAO,EAEL,UAAU,EAEV,SAAS,EAIT,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AAUxB,OAAO,GAAG,MAAM,QAAQ,CAAA;AAQxB,QAAA,MAAM,UAAU,WAAuC,CAAA;AACvD,QAAA,MAAM,IAAI,WAAyC,CAAA;AAYnD,QAAA,MAAM,OAAO;;;;;;CAMH,CAAA;AAOV,QAAA,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAM3C,CAAA;AAQD,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;AAEnC,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,GAAG,CAAA;IAClB,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,GAAG,CAAA;IAClB,gBAAgB,EAAE,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,OAAO,CAAA;AACtB,OAAO,EAEL,UAAU,EAEV,SAAS,EAIT,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AAUxB,OAAO,GAAG,MAAM,QAAQ,CAAA;AAQxB,QAAA,MAAM,UAAU,WAAuC,CAAA;AACvD,QAAA,MAAM,IAAI,WAAyC,CAAA;AAYnD,QAAA,MAAM,OAAO;;;;;;CAMH,CAAA;AAOV,QAAA,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAM3C,CAAA;AAQD,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,GAAG,CAAA;IACjB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,OAAO,EAAE,GAAG,CAAA;IACZ,aAAa,EAAE,GAAG,CAAA;IAClB,UAAU,EAAE,GAAG,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,GAAG,CAAA;IAClB,gBAAgB,EAAE,GAAG,CAAA;IACrB,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,YAAY,EAAE,SAAS,CAAA;IACvB,iBAAiB,EAAE,SAAS,CAAA;IAC5B,mBAAmB,EAAE,SAAS,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,GAAG,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,GAAG,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,MAAM,OAAO,OAAO,CAAA;IAC5B,IAAI,EAAE,IAAI,CAAA;IACV,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,EAAE,CAAA;IACpB,YAAY,EAAE,EAAE,CAAA;IAChB,aAAa,EAAE,EAAE,CAAA;IACjB,iBAAiB,CAAC,EAAE,EAAE,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,SAAS,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,EAAE,CAAA;IACjB,kBAAkB,CAAC,EAAE,EAAE,CAAA;IACvB,aAAa,EAAE,EAAE,CAAA;IACjB,iBAAiB,CAAC,EAAE,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAmBD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,SAAS,EAClB,iBAAiB,EAAE,SAAS,EAC5B,IAAI,EAAE,IAAI,GACT,SAAS,CAYX;AAwBD,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;;;EAS1D;AA4BD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAyD/B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA8D/B;AA4DD,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAO7E;AAuBD,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAGtF;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,SAAS,GAAG,MAAM;AAChC,+GAA+G;AAC/G,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,aAAa,EAAE,CAAC,CA4F1B;AAMD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,SAAS,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,EAAE,CAAA;IAChB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,EAAE,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,oBAAoB,CAAC,CA4D/B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,oBAAoB,CAAC,CA0D/B;AAMD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,SAAS,CAAA;IACzB,qBAAqB,EAAE,SAAS,CAAA;IAChC,YAAY,EAAE,EAAE,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAiC/B;AAGD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -85,7 +85,8 @@ function resolveInputMint(token) {
|
|
|
85
85
|
async function fetchCustodyOracles(program, custodyPubkey) {
|
|
86
86
|
const custody = await program.account.custody.fetch(custodyPubkey);
|
|
87
87
|
return {
|
|
88
|
-
|
|
88
|
+
// dovesAgOracle is the current doves price feed (replaced the older dovesOracle)
|
|
89
|
+
dovesPriceAccount: (custody.dovesAgOracle ?? custody.dovesOracle),
|
|
89
90
|
pythnetPriceAccount: custody.oracle.oracleAccount,
|
|
90
91
|
tokenAccount: custody.tokenAccount,
|
|
91
92
|
mint: custody.mint,
|
|
@@ -289,6 +290,35 @@ markPrices) {
|
|
|
289
290
|
{ memcmp: program.coder.accounts.memcmp("Position") },
|
|
290
291
|
],
|
|
291
292
|
});
|
|
293
|
+
// Scan for trigger orders (TP/SL) — PositionRequest accounts with requestType: Trigger
|
|
294
|
+
const triggerGpa = await connection.getProgramAccounts(program.programId, {
|
|
295
|
+
commitment: "confirmed",
|
|
296
|
+
filters: [
|
|
297
|
+
{ memcmp: { bytes: wallet.toBase58(), offset: 8 } },
|
|
298
|
+
{ memcmp: program.coder.accounts.memcmp("PositionRequest") },
|
|
299
|
+
],
|
|
300
|
+
});
|
|
301
|
+
const triggersByPosition = new Map();
|
|
302
|
+
for (const item of triggerGpa) {
|
|
303
|
+
try {
|
|
304
|
+
const req = program.coder.accounts.decode("PositionRequest", item.account.data);
|
|
305
|
+
// Only include trigger orders (not market orders), that haven't been executed
|
|
306
|
+
const isTrigger = !!req.requestType?.trigger;
|
|
307
|
+
if (!isTrigger || req.executed)
|
|
308
|
+
continue;
|
|
309
|
+
const posKey = req.position.toBase58();
|
|
310
|
+
const order = {
|
|
311
|
+
pubkey: item.pubkey.toBase58(),
|
|
312
|
+
triggerPrice: bnToBig(req.triggerPrice),
|
|
313
|
+
triggerAboveThreshold: !!req.triggerAboveThreshold,
|
|
314
|
+
entirePosition: !!req.entirePosition,
|
|
315
|
+
};
|
|
316
|
+
const existing = triggersByPosition.get(posKey) || [];
|
|
317
|
+
existing.push(order);
|
|
318
|
+
triggersByPosition.set(posKey, existing);
|
|
319
|
+
}
|
|
320
|
+
catch { /* skip decode errors */ }
|
|
321
|
+
}
|
|
292
322
|
const positions = gpaResult.map((item) => {
|
|
293
323
|
const account = program.coder.accounts.decode("Position", item.account.data);
|
|
294
324
|
const custodyKey = account.custody.toBase58();
|
|
@@ -317,8 +347,9 @@ markPrices) {
|
|
|
317
347
|
? entryPrice.mul(Big(1).minus(collateralRatio))
|
|
318
348
|
: entryPrice.mul(Big(1).plus(collateralRatio));
|
|
319
349
|
}
|
|
350
|
+
const posKey = item.pubkey.toBase58();
|
|
320
351
|
return {
|
|
321
|
-
publicKey:
|
|
352
|
+
publicKey: posKey,
|
|
322
353
|
owner: account.owner.toBase58(),
|
|
323
354
|
side,
|
|
324
355
|
custody: assetName,
|
|
@@ -330,10 +361,154 @@ markPrices) {
|
|
|
330
361
|
leverage,
|
|
331
362
|
unrealizedPnl,
|
|
332
363
|
liquidationPrice,
|
|
364
|
+
triggerOrders: triggersByPosition.get(posKey) || [],
|
|
333
365
|
};
|
|
334
366
|
});
|
|
335
367
|
return positions.filter((p) => p.sizeUsd.gt(0));
|
|
336
368
|
}
|
|
369
|
+
/**
|
|
370
|
+
* Build a createDecreasePositionRequest2 transaction with requestType: Trigger.
|
|
371
|
+
* Creates an on-chain TP or SL order. Keepers execute when trigger price is hit.
|
|
372
|
+
*/
|
|
373
|
+
export async function buildTpslTx(connection, req) {
|
|
374
|
+
const program = createProgram(connection);
|
|
375
|
+
const desiredMint = resolveInputMint(req.desiredToken);
|
|
376
|
+
// Fetch position data for custody addresses
|
|
377
|
+
const position = await program.account.position.fetch(req.positionPubkey);
|
|
378
|
+
const owner = position.owner;
|
|
379
|
+
const custodyPubkey = position.custody;
|
|
380
|
+
const collateralCustodyPubkey = position.collateralCustody;
|
|
381
|
+
// Fetch oracle accounts (needed by createDecreasePositionRequest2 but not by market version)
|
|
382
|
+
const oracles = await fetchCustodyOracles(program, custodyPubkey);
|
|
383
|
+
const { positionRequest, counter } = derivePositionRequestPda(req.positionPubkey, "decrease");
|
|
384
|
+
const positionRequestAta = getAssociatedTokenAddressSync(desiredMint, positionRequest, true);
|
|
385
|
+
const receivingAccount = getAssociatedTokenAddressSync(desiredMint, owner, true);
|
|
386
|
+
const preInstructions = [];
|
|
387
|
+
const postInstructions = [];
|
|
388
|
+
// Ensure receiving ATA exists (for trigger orders the keeper executes later)
|
|
389
|
+
preInstructions.push(createAssociatedTokenAccountIdempotentInstruction(owner, receivingAccount, owner, desiredMint));
|
|
390
|
+
const tpslIx = await program.methods
|
|
391
|
+
.createDecreasePositionRequest2({
|
|
392
|
+
collateralUsdDelta: new BN(0),
|
|
393
|
+
sizeUsdDelta: req.sizeUsdDelta ?? new BN(0),
|
|
394
|
+
requestType: { trigger: {} },
|
|
395
|
+
priceSlippage: null,
|
|
396
|
+
jupiterMinimumOut: null,
|
|
397
|
+
triggerPrice: req.triggerPrice,
|
|
398
|
+
triggerAboveThreshold: req.triggerAboveThreshold,
|
|
399
|
+
entirePosition: req.entirePosition ?? true,
|
|
400
|
+
counter,
|
|
401
|
+
})
|
|
402
|
+
.accounts({
|
|
403
|
+
owner,
|
|
404
|
+
receivingAccount,
|
|
405
|
+
perpetuals: PERPETUALS_PDA,
|
|
406
|
+
pool: POOL,
|
|
407
|
+
position: req.positionPubkey,
|
|
408
|
+
positionRequest,
|
|
409
|
+
positionRequestAta,
|
|
410
|
+
custody: custodyPubkey,
|
|
411
|
+
custodyDovesPriceAccount: oracles.dovesPriceAccount,
|
|
412
|
+
custodyPythnetPriceAccount: oracles.pythnetPriceAccount,
|
|
413
|
+
collateralCustody: collateralCustodyPubkey,
|
|
414
|
+
desiredMint,
|
|
415
|
+
referral: null,
|
|
416
|
+
tokenProgram: TOKEN_PROGRAM_ID,
|
|
417
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
418
|
+
systemProgram: SystemProgram.programId,
|
|
419
|
+
eventAuthority: EVENT_AUTHORITY,
|
|
420
|
+
program: PROGRAM_ID,
|
|
421
|
+
})
|
|
422
|
+
.instruction();
|
|
423
|
+
return buildAndSimulateTx(connection, owner, [...preInstructions, tpslIx, ...postInstructions]);
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Build a transaction with both TP and SL in a single tx (two instructions).
|
|
427
|
+
*/
|
|
428
|
+
export async function buildTpslPairTx(connection, tpReq, slReq) {
|
|
429
|
+
const program = createProgram(connection);
|
|
430
|
+
const position = await program.account.position.fetch(tpReq.positionPubkey);
|
|
431
|
+
const owner = position.owner;
|
|
432
|
+
const custodyPubkey = position.custody;
|
|
433
|
+
const collateralCustodyPubkey = position.collateralCustody;
|
|
434
|
+
const oracles = await fetchCustodyOracles(program, custodyPubkey);
|
|
435
|
+
const instructions = [];
|
|
436
|
+
for (const req of [tpReq, slReq]) {
|
|
437
|
+
const desiredMint = resolveInputMint(req.desiredToken);
|
|
438
|
+
const { positionRequest, counter } = derivePositionRequestPda(req.positionPubkey, "decrease");
|
|
439
|
+
const positionRequestAta = getAssociatedTokenAddressSync(desiredMint, positionRequest, true);
|
|
440
|
+
const receivingAccount = getAssociatedTokenAddressSync(desiredMint, owner, true);
|
|
441
|
+
instructions.push(createAssociatedTokenAccountIdempotentInstruction(owner, receivingAccount, owner, desiredMint));
|
|
442
|
+
const ix = await program.methods
|
|
443
|
+
.createDecreasePositionRequest2({
|
|
444
|
+
collateralUsdDelta: new BN(0),
|
|
445
|
+
sizeUsdDelta: req.sizeUsdDelta ?? new BN(0),
|
|
446
|
+
requestType: { trigger: {} },
|
|
447
|
+
priceSlippage: null,
|
|
448
|
+
jupiterMinimumOut: null,
|
|
449
|
+
triggerPrice: req.triggerPrice,
|
|
450
|
+
triggerAboveThreshold: req.triggerAboveThreshold,
|
|
451
|
+
entirePosition: req.entirePosition ?? true,
|
|
452
|
+
counter,
|
|
453
|
+
})
|
|
454
|
+
.accounts({
|
|
455
|
+
owner,
|
|
456
|
+
receivingAccount,
|
|
457
|
+
perpetuals: PERPETUALS_PDA,
|
|
458
|
+
pool: POOL,
|
|
459
|
+
position: req.positionPubkey,
|
|
460
|
+
positionRequest,
|
|
461
|
+
positionRequestAta,
|
|
462
|
+
custody: custodyPubkey,
|
|
463
|
+
custodyDovesPriceAccount: oracles.dovesPriceAccount,
|
|
464
|
+
custodyPythnetPriceAccount: oracles.pythnetPriceAccount,
|
|
465
|
+
collateralCustody: collateralCustodyPubkey,
|
|
466
|
+
desiredMint,
|
|
467
|
+
referral: null,
|
|
468
|
+
tokenProgram: TOKEN_PROGRAM_ID,
|
|
469
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
470
|
+
systemProgram: SystemProgram.programId,
|
|
471
|
+
eventAuthority: EVENT_AUTHORITY,
|
|
472
|
+
program: PROGRAM_ID,
|
|
473
|
+
})
|
|
474
|
+
.instruction();
|
|
475
|
+
instructions.push(ix);
|
|
476
|
+
}
|
|
477
|
+
return buildAndSimulateTx(connection, owner, instructions);
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Build an updateDecreasePositionRequest2 transaction.
|
|
481
|
+
* Updates triggerPrice on an existing TP/SL PositionRequest. Owner-only.
|
|
482
|
+
*/
|
|
483
|
+
export async function buildUpdateTpslTx(connection, requests) {
|
|
484
|
+
const program = createProgram(connection);
|
|
485
|
+
const owner = requests[0].owner;
|
|
486
|
+
// Fetch oracle accounts once (all requests should be same custody)
|
|
487
|
+
const position = await program.account.position.fetch(requests[0].positionPubkey);
|
|
488
|
+
const custodyPubkey = position.custody;
|
|
489
|
+
const oracles = await fetchCustodyOracles(program, custodyPubkey);
|
|
490
|
+
const instructions = [];
|
|
491
|
+
for (const req of requests) {
|
|
492
|
+
const ix = await program.methods
|
|
493
|
+
.updateDecreasePositionRequest2({
|
|
494
|
+
sizeUsdDelta: new BN(0),
|
|
495
|
+
triggerPrice: req.triggerPrice,
|
|
496
|
+
})
|
|
497
|
+
.accounts({
|
|
498
|
+
owner,
|
|
499
|
+
perpetuals: PERPETUALS_PDA,
|
|
500
|
+
pool: POOL,
|
|
501
|
+
position: req.positionPubkey,
|
|
502
|
+
positionRequest: req.positionRequestPubkey,
|
|
503
|
+
custody: custodyPubkey,
|
|
504
|
+
custodyDovesPriceAccount: oracles.dovesPriceAccount,
|
|
505
|
+
custodyPythnetPriceAccount: oracles.pythnetPriceAccount,
|
|
506
|
+
})
|
|
507
|
+
.instruction();
|
|
508
|
+
instructions.push(ix);
|
|
509
|
+
}
|
|
510
|
+
return buildAndSimulateTx(connection, owner, instructions);
|
|
511
|
+
}
|
|
337
512
|
// Re-export constants for use by commands
|
|
338
513
|
export { CUSTODY, POOL, PROGRAM_ID, MARKET_MINTS };
|
|
339
514
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/perps/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,13 @@ export declare const PERPS_ASSETS: readonly ["SOL", "ETH", "BTC"];
|
|
|
5
5
|
export type PerpsAsset = (typeof PERPS_ASSETS)[number];
|
|
6
6
|
export type PerpsSide = 'long' | 'short';
|
|
7
7
|
export type PerpsToken = PerpsAsset | 'USDC';
|
|
8
|
+
export interface TriggerOrderInfo {
|
|
9
|
+
pubkey: string;
|
|
10
|
+
triggerPriceUsd: string;
|
|
11
|
+
triggerAboveThreshold: boolean;
|
|
12
|
+
entirePosition: boolean;
|
|
13
|
+
label: string;
|
|
14
|
+
}
|
|
8
15
|
export interface PerpsPosition {
|
|
9
16
|
asset: string;
|
|
10
17
|
side: PerpsSide;
|
|
@@ -17,6 +24,9 @@ export interface PerpsPosition {
|
|
|
17
24
|
pnlAfterFeesUsd: string;
|
|
18
25
|
pnlAfterFeesPct: string;
|
|
19
26
|
positionPubkey: string;
|
|
27
|
+
tpPriceUsd?: string;
|
|
28
|
+
slPriceUsd?: string;
|
|
29
|
+
triggerOrders: TriggerOrderInfo[];
|
|
20
30
|
}
|
|
21
31
|
export interface PerpsPositionsResponse {
|
|
22
32
|
dataList: PerpsPosition[];
|
|
@@ -98,6 +108,22 @@ positionInfo?: {
|
|
|
98
108
|
* The keeper will automatically pick up the PositionRequest and execute the trade.
|
|
99
109
|
*/
|
|
100
110
|
export declare function signAndSendPerps(connection: Connection, keypair: Keypair, tx: VersionedTransaction): Promise<string>;
|
|
111
|
+
export interface TpslParams {
|
|
112
|
+
positionPubkey: string;
|
|
113
|
+
side: PerpsSide;
|
|
114
|
+
asset: PerpsAsset;
|
|
115
|
+
receiveToken: PerpsToken;
|
|
116
|
+
tpPrice?: number;
|
|
117
|
+
slPrice?: number;
|
|
118
|
+
entirePosition?: boolean;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Build a TP/SL transaction. If both tp and sl are provided, bundles both into one tx.
|
|
122
|
+
*/
|
|
123
|
+
export declare function buildTpslTransaction(connection: Connection, params: TpslParams): Promise<{
|
|
124
|
+
tx: VersionedTransaction;
|
|
125
|
+
positionPubkey: string;
|
|
126
|
+
}>;
|
|
101
127
|
export declare function signAndExecutePerps(connection: Connection, keypair: Keypair, txBase64: string, _action: string): Promise<string>;
|
|
102
128
|
/** Convert raw 6-decimal USD string to human-readable number */
|
|
103
129
|
export declare function rawToUsd(raw: string | number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perps-api.d.ts","sourceRoot":"","sources":["../../src/utils/perps-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAa,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"perps-api.d.ts","sourceRoot":"","sources":["../../src/utils/perps-api.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/perps-api.js
CHANGED
|
@@ -2,7 +2,7 @@ import BN from 'bn.js';
|
|
|
2
2
|
import { PublicKey, VersionedTransaction } from '@solana/web3.js';
|
|
3
3
|
import { apis, requireJupiterKey } from '../config.js';
|
|
4
4
|
import { sendAndConfirmTransaction } from './solana.js';
|
|
5
|
-
import { buildIncreasePositionTx, buildDecreasePositionTx, getOpenPositions as getOnChainPositions, resolveCustodies, derivePositionPda, } from './perps/index.js';
|
|
5
|
+
import { buildIncreasePositionTx, buildDecreasePositionTx, buildTpslTx, buildTpslPairTx, getOpenPositions as getOnChainPositions, resolveCustodies, derivePositionPda, } from './perps/index.js';
|
|
6
6
|
// ============================================================================
|
|
7
7
|
// Perps token mints
|
|
8
8
|
// ============================================================================
|
|
@@ -86,6 +86,7 @@ function normalizeApiPosition(raw) {
|
|
|
86
86
|
pnlAfterFeesUsd: raw.pnlAfterFees || raw.pnlAfterFeesUsd || '0',
|
|
87
87
|
pnlAfterFeesPct: raw.pnlChangePctAfterFees || raw.pnlAfterFeesPct || '0',
|
|
88
88
|
positionPubkey: raw.positionPubkey,
|
|
89
|
+
triggerOrders: [],
|
|
89
90
|
};
|
|
90
91
|
}
|
|
91
92
|
/** Fetch positions from on-chain with live mark prices, PnL, and liquidation */
|
|
@@ -107,6 +108,35 @@ export async function getPerpsPositions(walletAddress, connection) {
|
|
|
107
108
|
const pnlPct = p.collateralUsd.gt(0)
|
|
108
109
|
? p.unrealizedPnl.div(p.collateralUsd).mul(100).toFixed(1)
|
|
109
110
|
: '0';
|
|
111
|
+
const isLong = p.side === 'long';
|
|
112
|
+
// Classify trigger orders as TP or SL based on side
|
|
113
|
+
const triggerOrders = p.triggerOrders.map(t => ({
|
|
114
|
+
pubkey: t.pubkey,
|
|
115
|
+
triggerPriceUsd: t.triggerPrice.mul(1_000_000).toFixed(0),
|
|
116
|
+
triggerAboveThreshold: t.triggerAboveThreshold,
|
|
117
|
+
entirePosition: t.entirePosition,
|
|
118
|
+
// Long: above=TP, below=SL. Short: above=SL, below=TP
|
|
119
|
+
label: (isLong === t.triggerAboveThreshold) ? 'TP' : 'SL',
|
|
120
|
+
}));
|
|
121
|
+
// Pick the effective TP and SL prices
|
|
122
|
+
const tpOrders = triggerOrders.filter(t => t.label === 'TP');
|
|
123
|
+
const slOrders = triggerOrders.filter(t => t.label === 'SL');
|
|
124
|
+
// For TP: use the nearest (lowest for long, highest for short)
|
|
125
|
+
// For SL: use the nearest (highest for long, lowest for short)
|
|
126
|
+
const tpPriceUsd = tpOrders.length > 0
|
|
127
|
+
? tpOrders.reduce((best, t) => {
|
|
128
|
+
const price = Number(t.triggerPriceUsd);
|
|
129
|
+
const bestPrice = Number(best.triggerPriceUsd);
|
|
130
|
+
return isLong ? (price < bestPrice ? t : best) : (price > bestPrice ? t : best);
|
|
131
|
+
}).triggerPriceUsd
|
|
132
|
+
: undefined;
|
|
133
|
+
const slPriceUsd = slOrders.length > 0
|
|
134
|
+
? slOrders.reduce((best, t) => {
|
|
135
|
+
const price = Number(t.triggerPriceUsd);
|
|
136
|
+
const bestPrice = Number(best.triggerPriceUsd);
|
|
137
|
+
return isLong ? (price > bestPrice ? t : best) : (price < bestPrice ? t : best);
|
|
138
|
+
}).triggerPriceUsd
|
|
139
|
+
: undefined;
|
|
110
140
|
return {
|
|
111
141
|
asset: p.custody,
|
|
112
142
|
side: p.side,
|
|
@@ -119,6 +149,9 @@ export async function getPerpsPositions(walletAddress, connection) {
|
|
|
119
149
|
pnlAfterFeesUsd: p.unrealizedPnl.mul(1_000_000).toFixed(0),
|
|
120
150
|
pnlAfterFeesPct: pnlPct,
|
|
121
151
|
positionPubkey: p.publicKey,
|
|
152
|
+
tpPriceUsd,
|
|
153
|
+
slPriceUsd,
|
|
154
|
+
triggerOrders,
|
|
122
155
|
};
|
|
123
156
|
}),
|
|
124
157
|
};
|
|
@@ -237,6 +270,38 @@ export async function signAndSendPerps(connection, keypair, tx) {
|
|
|
237
270
|
tx.sign([keypair]);
|
|
238
271
|
return sendAndConfirmTransaction(connection, tx);
|
|
239
272
|
}
|
|
273
|
+
/**
|
|
274
|
+
* Build a TP/SL transaction. If both tp and sl are provided, bundles both into one tx.
|
|
275
|
+
*/
|
|
276
|
+
export async function buildTpslTransaction(connection, params) {
|
|
277
|
+
const positionPubkey = new PublicKey(params.positionPubkey);
|
|
278
|
+
const entirePosition = params.entirePosition ?? true;
|
|
279
|
+
// For longs: TP triggers above (price >= tp), SL triggers below (price <= sl)
|
|
280
|
+
// For shorts: TP triggers below (price <= tp), SL triggers above (price >= sl)
|
|
281
|
+
const isLong = params.side === 'long';
|
|
282
|
+
const makeReq = (price, isTP) => ({
|
|
283
|
+
owner: positionPubkey, // unused — fetched from position account
|
|
284
|
+
positionPubkey,
|
|
285
|
+
desiredToken: params.receiveToken,
|
|
286
|
+
triggerPrice: new BN(Math.round(price * 1_000_000)),
|
|
287
|
+
triggerAboveThreshold: isLong ? isTP : !isTP,
|
|
288
|
+
entirePosition,
|
|
289
|
+
});
|
|
290
|
+
let tx;
|
|
291
|
+
if (params.tpPrice && params.slPrice) {
|
|
292
|
+
tx = await buildTpslPairTx(connection, makeReq(params.tpPrice, true), makeReq(params.slPrice, false));
|
|
293
|
+
}
|
|
294
|
+
else if (params.tpPrice) {
|
|
295
|
+
tx = await buildTpslTx(connection, makeReq(params.tpPrice, true));
|
|
296
|
+
}
|
|
297
|
+
else if (params.slPrice) {
|
|
298
|
+
tx = await buildTpslTx(connection, makeReq(params.slPrice, false));
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
throw new Error('At least one of --tp or --sl is required');
|
|
302
|
+
}
|
|
303
|
+
return { tx, positionPubkey: params.positionPubkey };
|
|
304
|
+
}
|
|
240
305
|
// Legacy compat — kept for any code still using the old flow
|
|
241
306
|
export async function signAndExecutePerps(connection, keypair, txBase64, _action) {
|
|
242
307
|
const transaction = VersionedTransaction.deserialize(Buffer.from(txBase64, 'base64'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"perps-api.js","sourceRoot":"","sources":["../../src/utils/perps-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"perps-api.js","sourceRoot":"","sources":["../../src/utils/perps-api.ts"],"names":[],"mappings":"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"}
|