@drift-labs/jit-proxy 0.13.17 → 0.13.19

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.
@@ -1,8 +1,7 @@
1
1
  /// <reference types="bn.js" />
2
- import { BN, DriftClient, MakerInfo, MarketType, PostOnlyParams, ReferrerInfo, TxParams, UserAccount } from '@drift-labs/sdk';
2
+ import { BN, DriftClient, MakerInfo, MarketType, PostOnlyParams, ReferrerInfo, SignedMsgOrderParams, TxParams, UserAccount } from '@drift-labs/sdk';
3
3
  import { PublicKey, TransactionInstruction } from '@solana/web3.js';
4
4
  import { TxSigAndSlot } from '@drift-labs/sdk';
5
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
6
5
  export declare const DEFAULT_CU_LIMIT = 1400000;
7
6
  export type JitIxParams = {
8
7
  takerKey: PublicKey;
@@ -20,7 +19,7 @@ export type JitIxParams = {
20
19
  };
21
20
  export type JitSwiftIxParams = JitIxParams & {
22
21
  authorityToUse: PublicKey;
23
- signedSwiftOrderParams: SignedSwiftOrderParams;
22
+ signedMsgOrderParams: SignedMsgOrderParams;
24
23
  uuid: Uint8Array;
25
24
  marketIndex: number;
26
25
  };
@@ -30,7 +30,7 @@ class JitProxyClient {
30
30
  microLamports: (computeBudgetParams === null || computeBudgetParams === void 0 ? void 0 : computeBudgetParams.computeUnitsPrice) || 0,
31
31
  }),
32
32
  ];
33
- const swiftTakerIxs = await this.driftClient.getPlaceSwiftTakerPerpOrderIxs(params.signedSwiftOrderParams, params.marketIndex, {
33
+ const swiftTakerIxs = await this.driftClient.getPlaceSignedMsgTakerPerpOrderIxs(params.signedMsgOrderParams, params.marketIndex, {
34
34
  taker: params.takerKey,
35
35
  takerStats: params.takerStatsKey,
36
36
  takerUserAccount: params.taker,
@@ -130,8 +130,8 @@ class JitProxyClient {
130
130
  isSigner: false,
131
131
  });
132
132
  }
133
- const jitSwiftParams = {
134
- swiftOrderUuid: Array.from(uuid),
133
+ const jitSignedMsgParams = {
134
+ signedMsgOrderUuid: Array.from(uuid),
135
135
  maxPosition,
136
136
  minPosition,
137
137
  bid,
@@ -140,11 +140,11 @@ class JitProxyClient {
140
140
  priceType,
141
141
  };
142
142
  return this.program.methods
143
- .jitSwift(jitSwiftParams)
143
+ .jitSignedMsg(jitSignedMsgParams)
144
144
  .accounts({
145
145
  taker: takerKey,
146
146
  takerStats: takerStatsKey,
147
- takerSwiftUserOrders: (0, sdk_1.getSwiftUserAccountPublicKey)(this.driftClient.program.programId, taker.authority),
147
+ takerSignedMsgUserOrders: (0, sdk_1.getSignedMsgUserAccountPublicKey)(this.driftClient.program.programId, taker.authority),
148
148
  authority: this.driftClient.wallet.payer.publicKey,
149
149
  state: await this.driftClient.getStatePublicKey(),
150
150
  user: await this.driftClient.getUserAccountPublicKey(subAccountId),
@@ -1,8 +1,7 @@
1
1
  /// <reference types="bn.js" />
2
2
  import { JitProxyClient, PriceType } from '../jitProxyClient';
3
3
  import { PublicKey } from '@solana/web3.js';
4
- import { AuctionSubscriber, BN, DriftClient, Order, PostOnlyParams, SlotSubscriber, SwiftOrderSubscriber, UserAccount, UserStatsMap } from '@drift-labs/sdk';
5
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
4
+ import { AuctionSubscriber, BN, DriftClient, Order, PostOnlyParams, SignedMsgOrderSubscriber, SlotSubscriber, SignedMsgOrderParams, UserAccount, UserStatsMap } from '@drift-labs/sdk';
6
5
  export type UserFilter = (userAccount: UserAccount, userKey: string, order: Order) => boolean;
7
6
  export type JitParams = {
8
7
  bid: BN;
@@ -15,7 +14,7 @@ export type JitParams = {
15
14
  };
16
15
  export declare abstract class BaseJitter {
17
16
  auctionSubscriber: AuctionSubscriber;
18
- swiftOrderSubscriber: SwiftOrderSubscriber;
17
+ signedMsgOrderSubscriber: SignedMsgOrderSubscriber;
19
18
  slotSubscriber: SlotSubscriber;
20
19
  driftClient: DriftClient;
21
20
  jitProxyClient: JitProxyClient;
@@ -27,17 +26,17 @@ export declare abstract class BaseJitter {
27
26
  userFilter: UserFilter;
28
27
  computeUnits: number;
29
28
  computeUnitsPrice: number;
30
- constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, swiftOrderSubscriber, slotSubscriber, }: {
29
+ constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, signedMsgOrderSubscriber, slotSubscriber, }: {
31
30
  driftClient: DriftClient;
32
31
  auctionSubscriber: AuctionSubscriber;
33
32
  jitProxyClient: JitProxyClient;
34
33
  userStatsMap: UserStatsMap;
35
- swiftOrderSubscriber?: SwiftOrderSubscriber;
34
+ signedMsgOrderSubscriber?: SignedMsgOrderSubscriber;
36
35
  slotSubscriber?: SlotSubscriber;
37
36
  });
38
37
  subscribe(): Promise<void>;
39
38
  createTryFill(taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string): () => Promise<void>;
40
- createTrySwiftFill(authorityToUse: PublicKey, signedSwiftOrderParams: SignedSwiftOrderParams, uuid: Uint8Array, taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string, marketIndex: number): () => Promise<void>;
39
+ createTrySwiftFill(authorityToUse: PublicKey, signedMsgOrderParams: SignedMsgOrderParams, uuid: Uint8Array, taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string, marketIndex: number): () => Promise<void>;
41
40
  deleteOnGoingAuction(orderSignature: string): void;
42
41
  getOrderSignatures(takerKey: string, orderId: number): string;
43
42
  private convertUuidToNumber;
@@ -5,7 +5,7 @@ const web3_js_1 = require("@solana/web3.js");
5
5
  const sdk_1 = require("@drift-labs/sdk");
6
6
  const tweetnacl_util_1 = require("tweetnacl-util");
7
7
  class BaseJitter {
8
- constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, swiftOrderSubscriber, slotSubscriber, }) {
8
+ constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, signedMsgOrderSubscriber, slotSubscriber, }) {
9
9
  this.perpParams = new Map();
10
10
  this.spotParams = new Map();
11
11
  this.seenOrders = new Set();
@@ -17,8 +17,8 @@ class BaseJitter {
17
17
  userStatsMap ||
18
18
  new sdk_1.UserStatsMap(this.driftClient, new sdk_1.BulkAccountLoader(this.driftClient.connection, 'confirmed', 0));
19
19
  this.slotSubscriber = slotSubscriber;
20
- this.swiftOrderSubscriber = swiftOrderSubscriber;
21
- if (this.swiftOrderSubscriber && !this.slotSubscriber) {
20
+ this.signedMsgOrderSubscriber = signedMsgOrderSubscriber;
21
+ if (this.signedMsgOrderSubscriber && !this.slotSubscriber) {
22
22
  throw new Error('Slot subscriber is required for swift order subscriber');
23
23
  }
24
24
  }
@@ -78,34 +78,34 @@ class BaseJitter {
78
78
  }
79
79
  });
80
80
  await ((_a = this.slotSubscriber) === null || _a === void 0 ? void 0 : _a.subscribe());
81
- await ((_b = this.swiftOrderSubscriber) === null || _b === void 0 ? void 0 : _b.subscribe(async (orderMessageRaw, swiftOrderParamsMessage) => {
81
+ await ((_b = this.signedMsgOrderSubscriber) === null || _b === void 0 ? void 0 : _b.subscribe(async (orderMessageRaw, swiftOrderParamsMessage) => {
82
82
  var _a, _b, _c;
83
83
  const swiftOrderParamsBufHex = Buffer.from(orderMessageRaw['order_message']);
84
84
  const swiftOrderParamsBuf = Buffer.from(orderMessageRaw['order_message'], 'hex');
85
- const { swiftOrderParams, subAccountId: takerSubaccountId, } = this.driftClient.decodeSwiftOrderParamsMessage(swiftOrderParamsBuf);
85
+ const { signedMsgOrderParams, subAccountId: takerSubaccountId, } = this.driftClient.decodeSignedMsgOrderParamsMessage(swiftOrderParamsBuf);
86
86
  const takerAuthority = new web3_js_1.PublicKey(orderMessageRaw['taker_authority']);
87
87
  const signingAuthority = new web3_js_1.PublicKey(orderMessageRaw['signing_authority']);
88
88
  const takerUserPubkey = await (0, sdk_1.getUserAccountPublicKey)(this.driftClient.program.programId, takerAuthority, takerSubaccountId);
89
89
  const takerUserPubkeyString = takerUserPubkey.toBase58();
90
- const takerUserAccount = (await this.swiftOrderSubscriber.userMap.mustGet(takerUserPubkey.toString())).getUserAccount();
90
+ const takerUserAccount = (await this.signedMsgOrderSubscriber.userMap.mustGet(takerUserPubkey.toString())).getUserAccount();
91
91
  const swiftOrder = {
92
92
  status: sdk_1.OrderStatus.OPEN,
93
- orderType: swiftOrderParams.orderType,
93
+ orderType: signedMsgOrderParams.orderType,
94
94
  orderId: this.convertUuidToNumber(orderMessageRaw['uuid']),
95
95
  slot: swiftOrderParamsMessage.slot,
96
- marketIndex: swiftOrderParams.marketIndex,
96
+ marketIndex: signedMsgOrderParams.marketIndex,
97
97
  marketType: sdk_1.MarketType.PERP,
98
- baseAssetAmount: swiftOrderParams.baseAssetAmount,
99
- auctionDuration: swiftOrderParams.auctionDuration,
100
- auctionStartPrice: swiftOrderParams.auctionStartPrice,
101
- auctionEndPrice: swiftOrderParams.auctionEndPrice,
102
- immediateOrCancel: swiftOrderParams.immediateOrCancel,
103
- direction: swiftOrderParams.direction,
98
+ baseAssetAmount: signedMsgOrderParams.baseAssetAmount,
99
+ auctionDuration: signedMsgOrderParams.auctionDuration,
100
+ auctionStartPrice: signedMsgOrderParams.auctionStartPrice,
101
+ auctionEndPrice: signedMsgOrderParams.auctionEndPrice,
102
+ immediateOrCancel: signedMsgOrderParams.immediateOrCancel,
103
+ direction: signedMsgOrderParams.direction,
104
104
  postOnly: false,
105
- oraclePriceOffset: (_a = swiftOrderParams.oraclePriceOffset) !== null && _a !== void 0 ? _a : 0,
106
- maxTs: (_b = swiftOrderParams.maxTs) !== null && _b !== void 0 ? _b : sdk_1.ZERO,
107
- reduceOnly: swiftOrderParams.reduceOnly,
108
- triggerCondition: swiftOrderParams.triggerCondition,
105
+ oraclePriceOffset: (_a = signedMsgOrderParams.oraclePriceOffset) !== null && _a !== void 0 ? _a : 0,
106
+ maxTs: (_b = signedMsgOrderParams.maxTs) !== null && _b !== void 0 ? _b : sdk_1.ZERO,
107
+ reduceOnly: signedMsgOrderParams.reduceOnly,
108
+ triggerCondition: signedMsgOrderParams.triggerCondition,
109
109
  // Rest are not necessary and set for type conforming
110
110
  price: sdk_1.ZERO,
111
111
  existingPositionDirection: sdk_1.PositionDirection.LONG,
@@ -148,7 +148,7 @@ class BaseJitter {
148
148
  createTryFill(taker, takerKey, takerStatsKey, order, orderSignature) {
149
149
  throw new Error('Not implemented');
150
150
  }
151
- createTrySwiftFill(authorityToUse, signedSwiftOrderParams, uuid, taker, takerKey, takerStatsKey, order, orderSignature, marketIndex) {
151
+ createTrySwiftFill(authorityToUse, signedMsgOrderParams, uuid, taker, takerKey, takerStatsKey, order, orderSignature, marketIndex) {
152
152
  throw new Error('Not implemented');
153
153
  }
154
154
  deleteOnGoingAuction(orderSignature) {
@@ -1,17 +1,16 @@
1
1
  import { JitProxyClient } from '../jitProxyClient';
2
2
  import { PublicKey } from '@solana/web3.js';
3
- import { AuctionSubscriber, DriftClient, Order, SlotSubscriber, SwiftOrderSubscriber, UserAccount, UserStatsMap } from '@drift-labs/sdk';
3
+ import { AuctionSubscriber, DriftClient, Order, SlotSubscriber, SignedMsgOrderParams, SignedMsgOrderSubscriber, UserAccount, UserStatsMap } from '@drift-labs/sdk';
4
4
  import { BaseJitter } from './baseJitter';
5
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
6
5
  export declare class JitterShotgun extends BaseJitter {
7
- constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, swiftOrderSubscriber, slotSubscriber, }: {
6
+ constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, signedMsgOrderSubscriber, slotSubscriber, }: {
8
7
  driftClient: DriftClient;
9
8
  auctionSubscriber: AuctionSubscriber;
10
9
  jitProxyClient: JitProxyClient;
11
10
  userStatsMap?: UserStatsMap;
12
- swiftOrderSubscriber?: SwiftOrderSubscriber;
11
+ signedMsgOrderSubscriber?: SignedMsgOrderSubscriber;
13
12
  slotSubscriber?: SlotSubscriber;
14
13
  });
15
14
  createTryFill(taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string): () => Promise<void>;
16
- createTrySwiftFill(authorityToUse: PublicKey, signedSwiftOrderParams: SignedSwiftOrderParams, uuid: Uint8Array, taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string, marketIndex: number): () => Promise<void>;
15
+ createTrySwiftFill(authorityToUse: PublicKey, signedMsgOrderParams: SignedMsgOrderParams, uuid: Uint8Array, taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string, marketIndex: number): () => Promise<void>;
17
16
  }
@@ -4,13 +4,13 @@ exports.JitterShotgun = void 0;
4
4
  const sdk_1 = require("@drift-labs/sdk");
5
5
  const baseJitter_1 = require("./baseJitter");
6
6
  class JitterShotgun extends baseJitter_1.BaseJitter {
7
- constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, swiftOrderSubscriber, slotSubscriber, }) {
7
+ constructor({ auctionSubscriber, jitProxyClient, driftClient, userStatsMap, signedMsgOrderSubscriber, slotSubscriber, }) {
8
8
  super({
9
9
  auctionSubscriber,
10
10
  jitProxyClient,
11
11
  driftClient,
12
12
  userStatsMap,
13
- swiftOrderSubscriber,
13
+ signedMsgOrderSubscriber,
14
14
  slotSubscriber,
15
15
  });
16
16
  }
@@ -74,7 +74,7 @@ class JitterShotgun extends baseJitter_1.BaseJitter {
74
74
  this.deleteOnGoingAuction(orderSignature);
75
75
  };
76
76
  }
77
- createTrySwiftFill(authorityToUse, signedSwiftOrderParams, uuid, taker, takerKey, takerStatsKey, order, orderSignature, marketIndex) {
77
+ createTrySwiftFill(authorityToUse, signedMsgOrderParams, uuid, taker, takerKey, takerStatsKey, order, orderSignature, marketIndex) {
78
78
  return async () => {
79
79
  var _a;
80
80
  let i = 0;
@@ -107,7 +107,7 @@ class JitterShotgun extends baseJitter_1.BaseJitter {
107
107
  referrerInfo,
108
108
  subAccountId: params.subAccountId,
109
109
  authorityToUse,
110
- signedSwiftOrderParams,
110
+ signedMsgOrderParams,
111
111
  uuid,
112
112
  marketIndex,
113
113
  }, txParams);
@@ -1,8 +1,7 @@
1
1
  import { JitProxyClient } from '../jitProxyClient';
2
2
  import { PublicKey } from '@solana/web3.js';
3
- import { AuctionSubscriber, DriftClient, OraclePriceData, Order, SlotSubscriber, SwiftOrderSubscriber, UserAccount, UserStatsMap } from '@drift-labs/sdk';
3
+ import { AuctionSubscriber, DriftClient, OraclePriceData, Order, SignedMsgOrderParams, SignedMsgOrderSubscriber, SlotSubscriber, UserAccount, UserStatsMap } from '@drift-labs/sdk';
4
4
  import { BaseJitter } from './baseJitter';
5
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
6
5
  type AuctionAndOrderDetails = {
7
6
  slotsTilCross: number;
8
7
  willCross: boolean;
@@ -16,16 +15,16 @@ type AuctionAndOrderDetails = {
16
15
  export declare class JitterSniper extends BaseJitter {
17
16
  slotSubscriber: SlotSubscriber;
18
17
  userStatsMap: UserStatsMap;
19
- constructor({ auctionSubscriber, slotSubscriber, jitProxyClient, driftClient, userStatsMap, swiftOrderSubscriber, }: {
18
+ constructor({ auctionSubscriber, slotSubscriber, jitProxyClient, driftClient, userStatsMap, signedMsgOrderSubscriber, }: {
20
19
  driftClient: DriftClient;
21
20
  slotSubscriber: SlotSubscriber;
22
21
  auctionSubscriber: AuctionSubscriber;
23
22
  jitProxyClient: JitProxyClient;
24
23
  userStatsMap?: UserStatsMap;
25
- swiftOrderSubscriber?: SwiftOrderSubscriber;
24
+ signedMsgOrderSubscriber?: SignedMsgOrderSubscriber;
26
25
  });
27
26
  createTryFill(taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string): () => Promise<void>;
28
- createTrySwiftFill(authorityToUse: PublicKey, signedSwiftOrderParams: SignedSwiftOrderParams, uuid: Uint8Array, taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string, marketIndex: number): () => Promise<void>;
27
+ createTrySwiftFill(authorityToUse: PublicKey, signedMsgOrderParams: SignedMsgOrderParams, uuid: Uint8Array, taker: UserAccount, takerKey: PublicKey, takerStatsKey: PublicKey, order: Order, orderSignature: string, marketIndex: number): () => Promise<void>;
29
28
  getAuctionAndOrderDetails(order: Order): AuctionAndOrderDetails;
30
29
  waitForSlotOrCrossOrExpiry(targetSlot: number, order: Order, initialDetails: AuctionAndOrderDetails): Promise<{
31
30
  slot: number;
@@ -4,13 +4,13 @@ exports.JitterSniper = void 0;
4
4
  const sdk_1 = require("@drift-labs/sdk");
5
5
  const baseJitter_1 = require("./baseJitter");
6
6
  class JitterSniper extends baseJitter_1.BaseJitter {
7
- constructor({ auctionSubscriber, slotSubscriber, jitProxyClient, driftClient, userStatsMap, swiftOrderSubscriber, }) {
7
+ constructor({ auctionSubscriber, slotSubscriber, jitProxyClient, driftClient, userStatsMap, signedMsgOrderSubscriber, }) {
8
8
  super({
9
9
  auctionSubscriber,
10
10
  jitProxyClient,
11
11
  driftClient,
12
12
  userStatsMap,
13
- swiftOrderSubscriber,
13
+ signedMsgOrderSubscriber,
14
14
  slotSubscriber,
15
15
  });
16
16
  this.slotSubscriber = slotSubscriber;
@@ -144,7 +144,7 @@ class JitterSniper extends baseJitter_1.BaseJitter {
144
144
  this.deleteOnGoingAuction(orderSignature);
145
145
  };
146
146
  }
147
- createTrySwiftFill(authorityToUse, signedSwiftOrderParams, uuid, taker, takerKey, takerStatsKey, order, orderSignature, marketIndex) {
147
+ createTrySwiftFill(authorityToUse, signedMsgOrderParams, uuid, taker, takerKey, takerStatsKey, order, orderSignature, marketIndex) {
148
148
  return async () => {
149
149
  const params = this.perpParams.get(order.marketIndex);
150
150
  if (!params) {
@@ -244,7 +244,7 @@ class JitterSniper extends baseJitter_1.BaseJitter {
244
244
  referrerInfo,
245
245
  subAccountId: params.subAccountId,
246
246
  authorityToUse,
247
- signedSwiftOrderParams,
247
+ signedMsgOrderParams,
248
248
  uuid,
249
249
  marketIndex,
250
250
  }, txParams);
@@ -51,7 +51,7 @@ export type JitProxy = {
51
51
  ];
52
52
  },
53
53
  {
54
- name: 'jitSwift';
54
+ name: 'jitSignedMsg';
55
55
  accounts: [
56
56
  {
57
57
  name: 'state';
@@ -79,7 +79,7 @@ export type JitProxy = {
79
79
  isSigner: false;
80
80
  },
81
81
  {
82
- name: 'takerSwiftUserOrders';
82
+ name: 'takerSignedMsgUserOrders';
83
83
  isMut: true;
84
84
  isSigner: false;
85
85
  },
@@ -98,7 +98,7 @@ export type JitProxy = {
98
98
  {
99
99
  name: 'params';
100
100
  type: {
101
- defined: 'JitSwiftParams';
101
+ defined: 'JitSignedMsgParams';
102
102
  };
103
103
  }
104
104
  ];
@@ -230,12 +230,12 @@ export type JitProxy = {
230
230
  };
231
231
  },
232
232
  {
233
- name: 'JitSwiftParams';
233
+ name: 'JitSignedMsgParams';
234
234
  type: {
235
235
  kind: 'struct';
236
236
  fields: [
237
237
  {
238
- name: 'swiftOrderUuid';
238
+ name: 'signedMsgOrderUuid';
239
239
  type: {
240
240
  array: ['u8', 8];
241
241
  };
@@ -375,8 +375,8 @@ export type JitProxy = {
375
375
  },
376
376
  {
377
377
  code: 6010;
378
- name: 'SwiftOrderDoesNotExist';
379
- msg: 'SwiftOrderDoesNotExist';
378
+ name: 'SignedMsgOrderDoesNotExist';
379
+ msg: 'SignedMsgOrderDoesNotExist';
380
380
  }
381
381
  ];
382
382
  };
@@ -54,7 +54,7 @@ exports.IDL = {
54
54
  ],
55
55
  },
56
56
  {
57
- name: 'jitSwift',
57
+ name: 'jitSignedMsg',
58
58
  accounts: [
59
59
  {
60
60
  name: 'state',
@@ -82,7 +82,7 @@ exports.IDL = {
82
82
  isSigner: false,
83
83
  },
84
84
  {
85
- name: 'takerSwiftUserOrders',
85
+ name: 'takerSignedMsgUserOrders',
86
86
  isMut: true,
87
87
  isSigner: false,
88
88
  },
@@ -101,7 +101,7 @@ exports.IDL = {
101
101
  {
102
102
  name: 'params',
103
103
  type: {
104
- defined: 'JitSwiftParams',
104
+ defined: 'JitSignedMsgParams',
105
105
  },
106
106
  },
107
107
  ],
@@ -233,12 +233,12 @@ exports.IDL = {
233
233
  },
234
234
  },
235
235
  {
236
- name: 'JitSwiftParams',
236
+ name: 'JitSignedMsgParams',
237
237
  type: {
238
238
  kind: 'struct',
239
239
  fields: [
240
240
  {
241
- name: 'swiftOrderUuid',
241
+ name: 'signedMsgOrderUuid',
242
242
  type: {
243
243
  array: ['u8', 8],
244
244
  },
@@ -378,8 +378,8 @@ exports.IDL = {
378
378
  },
379
379
  {
380
380
  code: 6010,
381
- name: 'SwiftOrderDoesNotExist',
382
- msg: 'SwiftOrderDoesNotExist',
381
+ name: 'SignedMsgOrderDoesNotExist',
382
+ msg: 'SignedMsgOrderDoesNotExist',
383
383
  },
384
384
  ],
385
385
  };
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@drift-labs/jit-proxy",
3
- "version": "0.13.17",
3
+ "version": "0.13.19",
4
4
  "scripts": {
5
5
  "clean": "rm -rf lib",
6
6
  "build": "yarn clean && tsc"
7
7
  },
8
8
  "dependencies": {
9
9
  "@coral-xyz/anchor": "0.26.0",
10
- "@drift-labs/sdk": "2.110.0-beta.14",
10
+ "@drift-labs/sdk": "2.110.0-beta.17",
11
11
  "@solana/web3.js": "1.91.7",
12
12
  "tweetnacl-util": "^0.15.1"
13
13
  },
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  BN,
3
3
  DriftClient,
4
- getSwiftUserAccountPublicKey,
4
+ getSignedMsgUserAccountPublicKey,
5
5
  isVariant,
6
6
  MakerInfo,
7
7
  MarketType,
8
8
  PostOnlyParams,
9
9
  QUOTE_SPOT_MARKET_INDEX,
10
10
  ReferrerInfo,
11
+ SignedMsgOrderParams,
11
12
  TxParams,
12
13
  UserAccount,
13
14
  } from '@drift-labs/sdk';
@@ -21,7 +22,6 @@ import {
21
22
  } from '@solana/web3.js';
22
23
  import { Program } from '@coral-xyz/anchor';
23
24
  import { TxSigAndSlot } from '@drift-labs/sdk';
24
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
25
25
 
26
26
  export const DEFAULT_CU_LIMIT = 1_400_000;
27
27
 
@@ -42,7 +42,7 @@ export type JitIxParams = {
42
42
 
43
43
  export type JitSwiftIxParams = JitIxParams & {
44
44
  authorityToUse: PublicKey;
45
- signedSwiftOrderParams: SignedSwiftOrderParams;
45
+ signedMsgOrderParams: SignedMsgOrderParams;
46
46
  uuid: Uint8Array;
47
47
  marketIndex: number;
48
48
  };
@@ -99,17 +99,18 @@ export class JitProxyClient {
99
99
  }),
100
100
  ];
101
101
 
102
- const swiftTakerIxs = await this.driftClient.getPlaceSwiftTakerPerpOrderIxs(
103
- params.signedSwiftOrderParams,
104
- params.marketIndex,
105
- {
106
- taker: params.takerKey,
107
- takerStats: params.takerStatsKey,
108
- takerUserAccount: params.taker,
109
- signingAuthority: params.authorityToUse,
110
- },
111
- ixs
112
- );
102
+ const swiftTakerIxs =
103
+ await this.driftClient.getPlaceSignedMsgTakerPerpOrderIxs(
104
+ params.signedMsgOrderParams,
105
+ params.marketIndex,
106
+ {
107
+ taker: params.takerKey,
108
+ takerStats: params.takerStatsKey,
109
+ takerUserAccount: params.taker,
110
+ signingAuthority: params.authorityToUse,
111
+ },
112
+ ixs
113
+ );
113
114
  ixs.push(...swiftTakerIxs);
114
115
 
115
116
  const ix = await this.getJitSwiftIx(params);
@@ -244,8 +245,8 @@ export class JitProxyClient {
244
245
  });
245
246
  }
246
247
 
247
- const jitSwiftParams = {
248
- swiftOrderUuid: Array.from(uuid),
248
+ const jitSignedMsgParams = {
249
+ signedMsgOrderUuid: Array.from(uuid),
249
250
  maxPosition,
250
251
  minPosition,
251
252
  bid,
@@ -255,11 +256,11 @@ export class JitProxyClient {
255
256
  };
256
257
 
257
258
  return this.program.methods
258
- .jitSwift(jitSwiftParams)
259
+ .jitSignedMsg(jitSignedMsgParams)
259
260
  .accounts({
260
261
  taker: takerKey,
261
262
  takerStats: takerStatsKey,
262
- takerSwiftUserOrders: getSwiftUserAccountPublicKey(
263
+ takerSignedMsgUserOrders: getSignedMsgUserAccountPublicKey(
263
264
  this.driftClient.program.programId,
264
265
  taker.authority
265
266
  ),
@@ -14,18 +14,16 @@ import {
14
14
  MarketType,
15
15
  Order,
16
16
  OrderStatus,
17
- OrderTriggerCondition,
18
- OrderType,
19
17
  PositionDirection,
20
18
  PostOnlyParams,
19
+ SignedMsgOrderSubscriber,
21
20
  SlotSubscriber,
22
- SwiftOrderParamsMessage,
23
- SwiftOrderSubscriber,
21
+ SignedMsgOrderParams,
24
22
  UserAccount,
25
23
  UserStatsMap,
26
24
  ZERO,
25
+ SignedMsgOrderParamsMessage,
27
26
  } from '@drift-labs/sdk';
28
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
29
27
  import { decodeUTF8 } from 'tweetnacl-util';
30
28
 
31
29
  export type UserFilter = (
@@ -46,7 +44,7 @@ export type JitParams = {
46
44
 
47
45
  export abstract class BaseJitter {
48
46
  auctionSubscriber: AuctionSubscriber;
49
- swiftOrderSubscriber: SwiftOrderSubscriber;
47
+ signedMsgOrderSubscriber: SignedMsgOrderSubscriber;
50
48
  slotSubscriber: SlotSubscriber;
51
49
  driftClient: DriftClient;
52
50
  jitProxyClient: JitProxyClient;
@@ -68,14 +66,14 @@ export abstract class BaseJitter {
68
66
  jitProxyClient,
69
67
  driftClient,
70
68
  userStatsMap,
71
- swiftOrderSubscriber,
69
+ signedMsgOrderSubscriber,
72
70
  slotSubscriber,
73
71
  }: {
74
72
  driftClient: DriftClient;
75
73
  auctionSubscriber: AuctionSubscriber;
76
74
  jitProxyClient: JitProxyClient;
77
75
  userStatsMap: UserStatsMap;
78
- swiftOrderSubscriber?: SwiftOrderSubscriber;
76
+ signedMsgOrderSubscriber?: SignedMsgOrderSubscriber;
79
77
  slotSubscriber?: SlotSubscriber;
80
78
  }) {
81
79
  this.auctionSubscriber = auctionSubscriber;
@@ -88,9 +86,9 @@ export abstract class BaseJitter {
88
86
  new BulkAccountLoader(this.driftClient.connection, 'confirmed', 0)
89
87
  );
90
88
  this.slotSubscriber = slotSubscriber;
91
- this.swiftOrderSubscriber = swiftOrderSubscriber;
89
+ this.signedMsgOrderSubscriber = signedMsgOrderSubscriber;
92
90
 
93
- if (this.swiftOrderSubscriber && !this.slotSubscriber) {
91
+ if (this.signedMsgOrderSubscriber && !this.slotSubscriber) {
94
92
  throw new Error('Slot subscriber is required for swift order subscriber');
95
93
  }
96
94
  }
@@ -190,7 +188,7 @@ export abstract class BaseJitter {
190
188
  }
191
189
  );
192
190
  await this.slotSubscriber?.subscribe();
193
- await this.swiftOrderSubscriber?.subscribe(
191
+ await this.signedMsgOrderSubscriber?.subscribe(
194
192
  async (orderMessageRaw, swiftOrderParamsMessage) => {
195
193
  const swiftOrderParamsBufHex = Buffer.from(
196
194
  orderMessageRaw['order_message']
@@ -200,10 +198,12 @@ export abstract class BaseJitter {
200
198
  'hex'
201
199
  );
202
200
  const {
203
- swiftOrderParams,
201
+ signedMsgOrderParams,
204
202
  subAccountId: takerSubaccountId,
205
- }: SwiftOrderParamsMessage =
206
- this.driftClient.decodeSwiftOrderParamsMessage(swiftOrderParamsBuf);
203
+ }: SignedMsgOrderParamsMessage =
204
+ this.driftClient.decodeSignedMsgOrderParamsMessage(
205
+ swiftOrderParamsBuf
206
+ );
207
207
 
208
208
  const takerAuthority = new PublicKey(
209
209
  orderMessageRaw['taker_authority']
@@ -218,29 +218,29 @@ export abstract class BaseJitter {
218
218
  );
219
219
  const takerUserPubkeyString = takerUserPubkey.toBase58();
220
220
  const takerUserAccount = (
221
- await this.swiftOrderSubscriber.userMap.mustGet(
221
+ await this.signedMsgOrderSubscriber.userMap.mustGet(
222
222
  takerUserPubkey.toString()
223
223
  )
224
224
  ).getUserAccount();
225
225
 
226
226
  const swiftOrder: Order = {
227
227
  status: OrderStatus.OPEN,
228
- orderType: swiftOrderParams.orderType,
228
+ orderType: signedMsgOrderParams.orderType,
229
229
  orderId: this.convertUuidToNumber(orderMessageRaw['uuid']),
230
230
  slot: swiftOrderParamsMessage.slot,
231
- marketIndex: swiftOrderParams.marketIndex,
231
+ marketIndex: signedMsgOrderParams.marketIndex,
232
232
  marketType: MarketType.PERP,
233
- baseAssetAmount: swiftOrderParams.baseAssetAmount,
234
- auctionDuration: swiftOrderParams.auctionDuration!,
235
- auctionStartPrice: swiftOrderParams.auctionStartPrice!,
236
- auctionEndPrice: swiftOrderParams.auctionEndPrice!,
237
- immediateOrCancel: swiftOrderParams.immediateOrCancel,
238
- direction: swiftOrderParams.direction,
233
+ baseAssetAmount: signedMsgOrderParams.baseAssetAmount,
234
+ auctionDuration: signedMsgOrderParams.auctionDuration!,
235
+ auctionStartPrice: signedMsgOrderParams.auctionStartPrice!,
236
+ auctionEndPrice: signedMsgOrderParams.auctionEndPrice!,
237
+ immediateOrCancel: signedMsgOrderParams.immediateOrCancel,
238
+ direction: signedMsgOrderParams.direction,
239
239
  postOnly: false,
240
- oraclePriceOffset: swiftOrderParams.oraclePriceOffset ?? 0,
241
- maxTs: swiftOrderParams.maxTs ?? ZERO,
242
- reduceOnly: swiftOrderParams.reduceOnly,
243
- triggerCondition: swiftOrderParams.triggerCondition,
240
+ oraclePriceOffset: signedMsgOrderParams.oraclePriceOffset ?? 0,
241
+ maxTs: signedMsgOrderParams.maxTs ?? ZERO,
242
+ reduceOnly: signedMsgOrderParams.reduceOnly,
243
+ triggerCondition: signedMsgOrderParams.triggerCondition,
244
244
  // Rest are not necessary and set for type conforming
245
245
  price: ZERO,
246
246
  existingPositionDirection: PositionDirection.LONG,
@@ -328,7 +328,7 @@ export abstract class BaseJitter {
328
328
 
329
329
  createTrySwiftFill(
330
330
  authorityToUse: PublicKey,
331
- signedSwiftOrderParams: SignedSwiftOrderParams,
331
+ signedMsgOrderParams: SignedMsgOrderParams,
332
332
  uuid: Uint8Array,
333
333
  taker: UserAccount,
334
334
  takerKey: PublicKey,
@@ -6,12 +6,12 @@ import {
6
6
  Order,
7
7
  PostOnlyParams,
8
8
  SlotSubscriber,
9
- SwiftOrderSubscriber,
9
+ SignedMsgOrderParams,
10
+ SignedMsgOrderSubscriber,
10
11
  UserAccount,
11
12
  UserStatsMap,
12
13
  } from '@drift-labs/sdk';
13
14
  import { BaseJitter } from './baseJitter';
14
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
15
15
 
16
16
  export class JitterShotgun extends BaseJitter {
17
17
  constructor({
@@ -19,14 +19,14 @@ export class JitterShotgun extends BaseJitter {
19
19
  jitProxyClient,
20
20
  driftClient,
21
21
  userStatsMap,
22
- swiftOrderSubscriber,
22
+ signedMsgOrderSubscriber,
23
23
  slotSubscriber,
24
24
  }: {
25
25
  driftClient: DriftClient;
26
26
  auctionSubscriber: AuctionSubscriber;
27
27
  jitProxyClient: JitProxyClient;
28
28
  userStatsMap?: UserStatsMap;
29
- swiftOrderSubscriber?: SwiftOrderSubscriber;
29
+ signedMsgOrderSubscriber?: SignedMsgOrderSubscriber;
30
30
  slotSubscriber?: SlotSubscriber;
31
31
  }) {
32
32
  super({
@@ -34,7 +34,7 @@ export class JitterShotgun extends BaseJitter {
34
34
  jitProxyClient,
35
35
  driftClient,
36
36
  userStatsMap,
37
- swiftOrderSubscriber,
37
+ signedMsgOrderSubscriber,
38
38
  slotSubscriber,
39
39
  });
40
40
  }
@@ -116,7 +116,7 @@ export class JitterShotgun extends BaseJitter {
116
116
 
117
117
  createTrySwiftFill(
118
118
  authorityToUse: PublicKey,
119
- signedSwiftOrderParams: SignedSwiftOrderParams,
119
+ signedMsgOrderParams: SignedMsgOrderParams,
120
120
  uuid: Uint8Array,
121
121
  taker: UserAccount,
122
122
  takerKey: PublicKey,
@@ -163,7 +163,7 @@ export class JitterShotgun extends BaseJitter {
163
163
  referrerInfo,
164
164
  subAccountId: params.subAccountId,
165
165
  authorityToUse,
166
- signedSwiftOrderParams,
166
+ signedMsgOrderParams,
167
167
  uuid,
168
168
  marketIndex,
169
169
  },
@@ -13,14 +13,14 @@ import {
13
13
  Order,
14
14
  PostOnlyParams,
15
15
  PRICE_PRECISION,
16
+ SignedMsgOrderParams,
17
+ SignedMsgOrderSubscriber,
16
18
  SlotSubscriber,
17
- SwiftOrderSubscriber,
18
19
  UserAccount,
19
20
  UserStatsMap,
20
21
  ZERO,
21
22
  } from '@drift-labs/sdk';
22
23
  import { BaseJitter } from './baseJitter';
23
- import { SignedSwiftOrderParams } from '@drift-labs/sdk/lib/node/swift/types';
24
24
 
25
25
  type AuctionAndOrderDetails = {
26
26
  slotsTilCross: number;
@@ -43,21 +43,21 @@ export class JitterSniper extends BaseJitter {
43
43
  jitProxyClient,
44
44
  driftClient,
45
45
  userStatsMap,
46
- swiftOrderSubscriber,
46
+ signedMsgOrderSubscriber,
47
47
  }: {
48
48
  driftClient: DriftClient;
49
49
  slotSubscriber: SlotSubscriber;
50
50
  auctionSubscriber: AuctionSubscriber;
51
51
  jitProxyClient: JitProxyClient;
52
52
  userStatsMap?: UserStatsMap;
53
- swiftOrderSubscriber?: SwiftOrderSubscriber;
53
+ signedMsgOrderSubscriber?: SignedMsgOrderSubscriber;
54
54
  }) {
55
55
  super({
56
56
  auctionSubscriber,
57
57
  jitProxyClient,
58
58
  driftClient,
59
59
  userStatsMap,
60
- swiftOrderSubscriber,
60
+ signedMsgOrderSubscriber,
61
61
  slotSubscriber,
62
62
  });
63
63
  this.slotSubscriber = slotSubscriber;
@@ -247,7 +247,7 @@ export class JitterSniper extends BaseJitter {
247
247
 
248
248
  createTrySwiftFill(
249
249
  authorityToUse: PublicKey,
250
- signedSwiftOrderParams: SignedSwiftOrderParams,
250
+ signedMsgOrderParams: SignedMsgOrderParams,
251
251
  uuid: Uint8Array,
252
252
  taker: UserAccount,
253
253
  takerKey: PublicKey,
@@ -402,7 +402,7 @@ export class JitterSniper extends BaseJitter {
402
402
  referrerInfo,
403
403
  subAccountId: params.subAccountId,
404
404
  authorityToUse,
405
- signedSwiftOrderParams,
405
+ signedMsgOrderParams,
406
406
  uuid,
407
407
  marketIndex,
408
408
  },
@@ -51,7 +51,7 @@ export type JitProxy = {
51
51
  ];
52
52
  },
53
53
  {
54
- name: 'jitSwift';
54
+ name: 'jitSignedMsg';
55
55
  accounts: [
56
56
  {
57
57
  name: 'state';
@@ -79,7 +79,7 @@ export type JitProxy = {
79
79
  isSigner: false;
80
80
  },
81
81
  {
82
- name: 'takerSwiftUserOrders';
82
+ name: 'takerSignedMsgUserOrders';
83
83
  isMut: true;
84
84
  isSigner: false;
85
85
  },
@@ -98,7 +98,7 @@ export type JitProxy = {
98
98
  {
99
99
  name: 'params';
100
100
  type: {
101
- defined: 'JitSwiftParams';
101
+ defined: 'JitSignedMsgParams';
102
102
  };
103
103
  }
104
104
  ];
@@ -230,12 +230,12 @@ export type JitProxy = {
230
230
  };
231
231
  },
232
232
  {
233
- name: 'JitSwiftParams';
233
+ name: 'JitSignedMsgParams';
234
234
  type: {
235
235
  kind: 'struct';
236
236
  fields: [
237
237
  {
238
- name: 'swiftOrderUuid';
238
+ name: 'signedMsgOrderUuid';
239
239
  type: {
240
240
  array: ['u8', 8];
241
241
  };
@@ -375,8 +375,8 @@ export type JitProxy = {
375
375
  },
376
376
  {
377
377
  code: 6010;
378
- name: 'SwiftOrderDoesNotExist';
379
- msg: 'SwiftOrderDoesNotExist';
378
+ name: 'SignedMsgOrderDoesNotExist';
379
+ msg: 'SignedMsgOrderDoesNotExist';
380
380
  }
381
381
  ];
382
382
  };
@@ -434,7 +434,7 @@ export const IDL: JitProxy = {
434
434
  ],
435
435
  },
436
436
  {
437
- name: 'jitSwift',
437
+ name: 'jitSignedMsg',
438
438
  accounts: [
439
439
  {
440
440
  name: 'state',
@@ -462,7 +462,7 @@ export const IDL: JitProxy = {
462
462
  isSigner: false,
463
463
  },
464
464
  {
465
- name: 'takerSwiftUserOrders',
465
+ name: 'takerSignedMsgUserOrders',
466
466
  isMut: true,
467
467
  isSigner: false,
468
468
  },
@@ -481,7 +481,7 @@ export const IDL: JitProxy = {
481
481
  {
482
482
  name: 'params',
483
483
  type: {
484
- defined: 'JitSwiftParams',
484
+ defined: 'JitSignedMsgParams',
485
485
  },
486
486
  },
487
487
  ],
@@ -613,12 +613,12 @@ export const IDL: JitProxy = {
613
613
  },
614
614
  },
615
615
  {
616
- name: 'JitSwiftParams',
616
+ name: 'JitSignedMsgParams',
617
617
  type: {
618
618
  kind: 'struct',
619
619
  fields: [
620
620
  {
621
- name: 'swiftOrderUuid',
621
+ name: 'signedMsgOrderUuid',
622
622
  type: {
623
623
  array: ['u8', 8],
624
624
  },
@@ -758,8 +758,8 @@ export const IDL: JitProxy = {
758
758
  },
759
759
  {
760
760
  code: 6010,
761
- name: 'SwiftOrderDoesNotExist',
762
- msg: 'SwiftOrderDoesNotExist',
761
+ name: 'SignedMsgOrderDoesNotExist',
762
+ msg: 'SignedMsgOrderDoesNotExist',
763
763
  },
764
764
  ],
765
765
  };