@drift-labs/sdk 2.142.0-beta.2 → 2.142.0-beta.4

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/VERSION CHANGED
@@ -1 +1 @@
1
- 2.142.0-beta.2
1
+ 2.142.0-beta.4
@@ -1,14 +1,19 @@
1
1
  import { WebSocketDriftClientAccountSubscriber } from './webSocketDriftClientAccountSubscriber';
2
2
  import { OracleInfo } from '../oracles/types';
3
3
  import { Program } from '@coral-xyz/anchor';
4
- import { DelistedMarketSetting, GrpcConfigs, ResubOpts } from './types';
4
+ import { DataAndSlot, DelistedMarketSetting, GrpcConfigs, ResubOpts } from './types';
5
+ import { PerpMarketAccount, SpotMarketAccount } from '../types';
5
6
  export declare class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAccountSubscriber {
6
7
  private grpcConfigs;
7
8
  private perpMarketsSubscriber?;
8
9
  private spotMarketsSubscriber?;
9
10
  private oracleMultiSubscriber?;
11
+ private perpMarketIndexToAccountPubkeyMap;
12
+ private spotMarketIndexToAccountPubkeyMap;
10
13
  constructor(grpcConfigs: GrpcConfigs, program: Program, perpMarketIndexes: number[], spotMarketIndexes: number[], oracleInfos: OracleInfo[], shouldFindAllMarketsAndOracles: boolean, delistedMarketSetting: DelistedMarketSetting, resubOpts?: ResubOpts);
11
14
  subscribe(): Promise<boolean>;
15
+ getMarketAccountAndSlot(marketIndex: number): DataAndSlot<PerpMarketAccount> | undefined;
16
+ getSpotMarketAccountAndSlot(marketIndex: number): DataAndSlot<SpotMarketAccount> | undefined;
12
17
  subscribeToPerpMarketAccounts(): Promise<boolean>;
13
18
  subscribeToSpotMarketAccounts(): Promise<boolean>;
14
19
  subscribeToOracles(): Promise<boolean>;
@@ -11,6 +11,8 @@ const oracleId_1 = require("../oracles/oracleId");
11
11
  class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubscriber_1.WebSocketDriftClientAccountSubscriber {
12
12
  constructor(grpcConfigs, program, perpMarketIndexes, spotMarketIndexes, oracleInfos, shouldFindAllMarketsAndOracles, delistedMarketSetting, resubOpts) {
13
13
  super(program, perpMarketIndexes, spotMarketIndexes, oracleInfos, shouldFindAllMarketsAndOracles, delistedMarketSetting, resubOpts);
14
+ this.perpMarketIndexToAccountPubkeyMap = new Map();
15
+ this.spotMarketIndexToAccountPubkeyMap = new Map();
14
16
  this.grpcConfigs = grpcConfigs;
15
17
  }
16
18
  async subscribe() {
@@ -59,8 +61,23 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
59
61
  this.removeInitialData();
60
62
  return true;
61
63
  }
64
+ getMarketAccountAndSlot(marketIndex) {
65
+ var _a;
66
+ return (_a = this.perpMarketsSubscriber) === null || _a === void 0 ? void 0 : _a.getAccountData(this.perpMarketIndexToAccountPubkeyMap.get(marketIndex));
67
+ }
68
+ getSpotMarketAccountAndSlot(marketIndex) {
69
+ var _a;
70
+ return (_a = this.spotMarketsSubscriber) === null || _a === void 0 ? void 0 : _a.getAccountData(this.spotMarketIndexToAccountPubkeyMap.get(marketIndex));
71
+ }
62
72
  async subscribeToPerpMarketAccounts() {
63
- const perpMarketPubkeys = await Promise.all(this.perpMarketIndexes.map((marketIndex) => (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex)));
73
+ const perpMarketIndexToAccountPubkeys = await Promise.all(this.perpMarketIndexes.map(async (marketIndex) => [
74
+ marketIndex,
75
+ await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex),
76
+ ]));
77
+ for (const [marketIndex, accountPubkey,] of perpMarketIndexToAccountPubkeys) {
78
+ this.perpMarketIndexToAccountPubkeyMap.set(marketIndex, accountPubkey);
79
+ }
80
+ const perpMarketPubkeys = perpMarketIndexToAccountPubkeys.map(([_, accountPubkey]) => accountPubkey);
64
81
  this.perpMarketsSubscriber =
65
82
  await grpcMultiAccountSubscriber_1.grpcMultiAccountSubscriber.create(this.grpcConfigs, 'perpMarket', this.program, undefined, this.resubOpts, undefined, async () => {
66
83
  var _a;
@@ -74,6 +91,9 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
74
91
  console.error('Perp markets resubscribe failed:', e);
75
92
  }
76
93
  });
94
+ for (const data of this.initialPerpMarketAccountData.values()) {
95
+ this.perpMarketsSubscriber.setAccountData(data.pubkey, data);
96
+ }
77
97
  await this.perpMarketsSubscriber.subscribe(perpMarketPubkeys, (_accountId, data) => {
78
98
  this.eventEmitter.emit('perpMarketAccountUpdate', data);
79
99
  this.eventEmitter.emit('update');
@@ -81,7 +101,14 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
81
101
  return true;
82
102
  }
83
103
  async subscribeToSpotMarketAccounts() {
84
- const spotMarketPubkeys = await Promise.all(this.spotMarketIndexes.map((marketIndex) => (0, pda_1.getSpotMarketPublicKey)(this.program.programId, marketIndex)));
104
+ const spotMarketIndexToAccountPubkeys = await Promise.all(this.spotMarketIndexes.map(async (marketIndex) => [
105
+ marketIndex,
106
+ await (0, pda_1.getSpotMarketPublicKey)(this.program.programId, marketIndex),
107
+ ]));
108
+ for (const [marketIndex, accountPubkey,] of spotMarketIndexToAccountPubkeys) {
109
+ this.spotMarketIndexToAccountPubkeyMap.set(marketIndex, accountPubkey);
110
+ }
111
+ const spotMarketPubkeys = spotMarketIndexToAccountPubkeys.map(([_, accountPubkey]) => accountPubkey);
85
112
  this.spotMarketsSubscriber =
86
113
  await grpcMultiAccountSubscriber_1.grpcMultiAccountSubscriber.create(this.grpcConfigs, 'spotMarket', this.program, undefined, this.resubOpts, undefined, async () => {
87
114
  var _a;
@@ -95,6 +122,9 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
95
122
  console.error('Spot markets resubscribe failed:', e);
96
123
  }
97
124
  });
125
+ for (const data of this.initialSpotMarketAccountData.values()) {
126
+ this.spotMarketsSubscriber.setAccountData(data.pubkey, data);
127
+ }
98
128
  await this.spotMarketsSubscriber.subscribe(spotMarketPubkeys, (_accountId, data) => {
99
129
  this.eventEmitter.emit('spotMarketAccountUpdate', data);
100
130
  this.eventEmitter.emit('update');
@@ -136,6 +166,9 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
136
166
  console.error('Oracle resubscribe failed:', e);
137
167
  }
138
168
  });
169
+ for (const data of this.initialOraclePriceData.entries()) {
170
+ this.oracleMultiSubscriber.setAccountData(new web3_js_1.PublicKey(data[0]), data[1]);
171
+ }
139
172
  await this.oracleMultiSubscriber.subscribe(oraclePubkeys, (accountId, data) => {
140
173
  const source = pubkeyToSource.get(accountId.toBase58());
141
174
  this.eventEmitter.emit('oraclePriceUpdate', accountId, source, data);
@@ -3,7 +3,7 @@
3
3
  import { Program } from '@coral-xyz/anchor';
4
4
  import { Context, PublicKey } from '@solana/web3.js';
5
5
  import { Client } from '../isomorphic/grpc';
6
- import { GrpcConfigs, ResubOpts } from './types';
6
+ import { DataAndSlot, GrpcConfigs, ResubOpts } from './types';
7
7
  export declare class grpcMultiAccountSubscriber<T> {
8
8
  private client;
9
9
  private stream;
@@ -19,8 +19,11 @@ export declare class grpcMultiAccountSubscriber<T> {
19
19
  private receivingData;
20
20
  private subscribedAccounts;
21
21
  private onChangeMap;
22
+ private dataMap;
22
23
  private constructor();
23
24
  static create<U>(grpcConfigs: GrpcConfigs, accountName: string, program: Program, decodeBuffer?: (buffer: Buffer, pubkey?: string) => U, resubOpts?: ResubOpts, clientProp?: Client, onUnsubscribe?: () => Promise<void>): Promise<grpcMultiAccountSubscriber<U>>;
25
+ setAccountData(accountPubkey: PublicKey, data: T, slot?: number): void;
26
+ getAccountData(accountPubkey: PublicKey): DataAndSlot<T> | undefined;
24
27
  subscribe(accounts: PublicKey[], onChange: (accountId: PublicKey, data: T, context: Context, buffer: Buffer) => void): Promise<void>;
25
28
  addAccounts(accounts: PublicKey[]): Promise<void>;
26
29
  removeAccounts(accounts: PublicKey[]): Promise<void>;
@@ -37,6 +37,7 @@ class grpcMultiAccountSubscriber {
37
37
  this.receivingData = false;
38
38
  this.subscribedAccounts = new Set();
39
39
  this.onChangeMap = new Map();
40
+ this.dataMap = new Map();
40
41
  this.client = client;
41
42
  this.commitmentLevel = commitmentLevel;
42
43
  this.accountName = accountName;
@@ -55,6 +56,12 @@ class grpcMultiAccountSubscriber {
55
56
  (_b = grpcConfigs.commitmentLevel) !== null && _b !== void 0 ? _b : grpc_1.CommitmentLevel.CONFIRMED;
56
57
  return new grpcMultiAccountSubscriber(client, commitmentLevel, accountName, program, decodeBuffer, resubOpts, onUnsubscribe);
57
58
  }
59
+ setAccountData(accountPubkey, data, slot) {
60
+ this.dataMap.set(accountPubkey.toBase58(), { data, slot });
61
+ }
62
+ getAccountData(accountPubkey) {
63
+ return this.dataMap.get(accountPubkey.toBase58());
64
+ }
58
65
  async subscribe(accounts, onChange) {
59
66
  if (this.listenerId != null || this.isUnsubscribing) {
60
67
  return;
@@ -1649,12 +1649,14 @@ export type RevenueShareEscrowAccount = {
1649
1649
  approvedBuilders: BuilderInfo[];
1650
1650
  };
1651
1651
  export type RevenueShareOrder = {
1652
- builderIdx: number;
1653
1652
  feesAccrued: BN;
1654
1653
  orderId: number;
1655
1654
  feeTenthBps: number;
1656
1655
  marketIndex: number;
1656
+ subAccountId: number;
1657
+ builderIdx: number;
1657
1658
  bitFlags: number;
1659
+ userOrderIndex: number;
1658
1660
  marketType: MarketType;
1659
1661
  padding: number[];
1660
1662
  };
@@ -1,14 +1,19 @@
1
1
  import { WebSocketDriftClientAccountSubscriber } from './webSocketDriftClientAccountSubscriber';
2
2
  import { OracleInfo } from '../oracles/types';
3
3
  import { Program } from '@coral-xyz/anchor';
4
- import { DelistedMarketSetting, GrpcConfigs, ResubOpts } from './types';
4
+ import { DataAndSlot, DelistedMarketSetting, GrpcConfigs, ResubOpts } from './types';
5
+ import { PerpMarketAccount, SpotMarketAccount } from '../types';
5
6
  export declare class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAccountSubscriber {
6
7
  private grpcConfigs;
7
8
  private perpMarketsSubscriber?;
8
9
  private spotMarketsSubscriber?;
9
10
  private oracleMultiSubscriber?;
11
+ private perpMarketIndexToAccountPubkeyMap;
12
+ private spotMarketIndexToAccountPubkeyMap;
10
13
  constructor(grpcConfigs: GrpcConfigs, program: Program, perpMarketIndexes: number[], spotMarketIndexes: number[], oracleInfos: OracleInfo[], shouldFindAllMarketsAndOracles: boolean, delistedMarketSetting: DelistedMarketSetting, resubOpts?: ResubOpts);
11
14
  subscribe(): Promise<boolean>;
15
+ getMarketAccountAndSlot(marketIndex: number): DataAndSlot<PerpMarketAccount> | undefined;
16
+ getSpotMarketAccountAndSlot(marketIndex: number): DataAndSlot<SpotMarketAccount> | undefined;
12
17
  subscribeToPerpMarketAccounts(): Promise<boolean>;
13
18
  subscribeToSpotMarketAccounts(): Promise<boolean>;
14
19
  subscribeToOracles(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"grpcDriftClientAccountSubscriberV2.d.ts","sourceRoot":"","sources":["../../../src/accounts/grpcDriftClientAccountSubscriberV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMxE,qBAAa,kCAAmC,SAAQ,qCAAqC;IAC5F,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAAgD;IAC9E,OAAO,CAAC,qBAAqB,CAAC,CAAgD;IAC9E,OAAO,CAAC,qBAAqB,CAAC,CAA8C;gBAG3E,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,WAAW,EAAE,UAAU,EAAE,EACzB,8BAA8B,EAAE,OAAO,EACvC,qBAAqB,EAAE,qBAAqB,EAC5C,SAAS,CAAC,EAAE,SAAS;IAcT,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAiF3B,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IA0CjD,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IA0CjD,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAoE/C,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAO3C"}
1
+ {"version":3,"file":"grpcDriftClientAccountSubscriberV2.d.ts","sourceRoot":"","sources":["../../../src/accounts/grpcDriftClientAccountSubscriberV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,OAAO,EACN,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAgB,MAAM,UAAU,CAAC;AAG9E,qBAAa,kCAAmC,SAAQ,qCAAqC;IAC5F,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAAgD;IAC9E,OAAO,CAAC,qBAAqB,CAAC,CAAgD;IAC9E,OAAO,CAAC,qBAAqB,CAAC,CAA8C;IAC5E,OAAO,CAAC,iCAAiC,CAAgC;IACzE,OAAO,CAAC,iCAAiC,CAAgC;gBAGxE,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,WAAW,EAAE,UAAU,EAAE,EACzB,8BAA8B,EAAE,OAAO,EACvC,qBAAqB,EAAE,qBAAqB,EAC5C,SAAS,CAAC,EAAE,SAAS;IAcT,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAiFjC,uBAAuB,CAC/B,WAAW,EAAE,MAAM,GACjB,WAAW,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAMpC,2BAA2B,CACnC,WAAW,EAAE,MAAM,GACjB,WAAW,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAM9B,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IA2DjD,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IA2DjD,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IA2E/C,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAO3C"}
@@ -11,6 +11,8 @@ const oracleId_1 = require("../oracles/oracleId");
11
11
  class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubscriber_1.WebSocketDriftClientAccountSubscriber {
12
12
  constructor(grpcConfigs, program, perpMarketIndexes, spotMarketIndexes, oracleInfos, shouldFindAllMarketsAndOracles, delistedMarketSetting, resubOpts) {
13
13
  super(program, perpMarketIndexes, spotMarketIndexes, oracleInfos, shouldFindAllMarketsAndOracles, delistedMarketSetting, resubOpts);
14
+ this.perpMarketIndexToAccountPubkeyMap = new Map();
15
+ this.spotMarketIndexToAccountPubkeyMap = new Map();
14
16
  this.grpcConfigs = grpcConfigs;
15
17
  }
16
18
  async subscribe() {
@@ -59,8 +61,23 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
59
61
  this.removeInitialData();
60
62
  return true;
61
63
  }
64
+ getMarketAccountAndSlot(marketIndex) {
65
+ var _a;
66
+ return (_a = this.perpMarketsSubscriber) === null || _a === void 0 ? void 0 : _a.getAccountData(this.perpMarketIndexToAccountPubkeyMap.get(marketIndex));
67
+ }
68
+ getSpotMarketAccountAndSlot(marketIndex) {
69
+ var _a;
70
+ return (_a = this.spotMarketsSubscriber) === null || _a === void 0 ? void 0 : _a.getAccountData(this.spotMarketIndexToAccountPubkeyMap.get(marketIndex));
71
+ }
62
72
  async subscribeToPerpMarketAccounts() {
63
- const perpMarketPubkeys = await Promise.all(this.perpMarketIndexes.map((marketIndex) => (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex)));
73
+ const perpMarketIndexToAccountPubkeys = await Promise.all(this.perpMarketIndexes.map(async (marketIndex) => [
74
+ marketIndex,
75
+ await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, marketIndex),
76
+ ]));
77
+ for (const [marketIndex, accountPubkey,] of perpMarketIndexToAccountPubkeys) {
78
+ this.perpMarketIndexToAccountPubkeyMap.set(marketIndex, accountPubkey);
79
+ }
80
+ const perpMarketPubkeys = perpMarketIndexToAccountPubkeys.map(([_, accountPubkey]) => accountPubkey);
64
81
  this.perpMarketsSubscriber =
65
82
  await grpcMultiAccountSubscriber_1.grpcMultiAccountSubscriber.create(this.grpcConfigs, 'perpMarket', this.program, undefined, this.resubOpts, undefined, async () => {
66
83
  var _a;
@@ -74,6 +91,9 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
74
91
  console.error('Perp markets resubscribe failed:', e);
75
92
  }
76
93
  });
94
+ for (const data of this.initialPerpMarketAccountData.values()) {
95
+ this.perpMarketsSubscriber.setAccountData(data.pubkey, data);
96
+ }
77
97
  await this.perpMarketsSubscriber.subscribe(perpMarketPubkeys, (_accountId, data) => {
78
98
  this.eventEmitter.emit('perpMarketAccountUpdate', data);
79
99
  this.eventEmitter.emit('update');
@@ -81,7 +101,14 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
81
101
  return true;
82
102
  }
83
103
  async subscribeToSpotMarketAccounts() {
84
- const spotMarketPubkeys = await Promise.all(this.spotMarketIndexes.map((marketIndex) => (0, pda_1.getSpotMarketPublicKey)(this.program.programId, marketIndex)));
104
+ const spotMarketIndexToAccountPubkeys = await Promise.all(this.spotMarketIndexes.map(async (marketIndex) => [
105
+ marketIndex,
106
+ await (0, pda_1.getSpotMarketPublicKey)(this.program.programId, marketIndex),
107
+ ]));
108
+ for (const [marketIndex, accountPubkey,] of spotMarketIndexToAccountPubkeys) {
109
+ this.spotMarketIndexToAccountPubkeyMap.set(marketIndex, accountPubkey);
110
+ }
111
+ const spotMarketPubkeys = spotMarketIndexToAccountPubkeys.map(([_, accountPubkey]) => accountPubkey);
85
112
  this.spotMarketsSubscriber =
86
113
  await grpcMultiAccountSubscriber_1.grpcMultiAccountSubscriber.create(this.grpcConfigs, 'spotMarket', this.program, undefined, this.resubOpts, undefined, async () => {
87
114
  var _a;
@@ -95,6 +122,9 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
95
122
  console.error('Spot markets resubscribe failed:', e);
96
123
  }
97
124
  });
125
+ for (const data of this.initialSpotMarketAccountData.values()) {
126
+ this.spotMarketsSubscriber.setAccountData(data.pubkey, data);
127
+ }
98
128
  await this.spotMarketsSubscriber.subscribe(spotMarketPubkeys, (_accountId, data) => {
99
129
  this.eventEmitter.emit('spotMarketAccountUpdate', data);
100
130
  this.eventEmitter.emit('update');
@@ -136,6 +166,9 @@ class grpcDriftClientAccountSubscriberV2 extends webSocketDriftClientAccountSubs
136
166
  console.error('Oracle resubscribe failed:', e);
137
167
  }
138
168
  });
169
+ for (const data of this.initialOraclePriceData.entries()) {
170
+ this.oracleMultiSubscriber.setAccountData(new web3_js_1.PublicKey(data[0]), data[1]);
171
+ }
139
172
  await this.oracleMultiSubscriber.subscribe(oraclePubkeys, (accountId, data) => {
140
173
  const source = pubkeyToSource.get(accountId.toBase58());
141
174
  this.eventEmitter.emit('oraclePriceUpdate', accountId, source, data);
@@ -3,7 +3,7 @@
3
3
  import { Program } from '@coral-xyz/anchor';
4
4
  import { Context, PublicKey } from '@solana/web3.js';
5
5
  import { Client } from '../isomorphic/grpc';
6
- import { GrpcConfigs, ResubOpts } from './types';
6
+ import { DataAndSlot, GrpcConfigs, ResubOpts } from './types';
7
7
  export declare class grpcMultiAccountSubscriber<T> {
8
8
  private client;
9
9
  private stream;
@@ -19,8 +19,11 @@ export declare class grpcMultiAccountSubscriber<T> {
19
19
  private receivingData;
20
20
  private subscribedAccounts;
21
21
  private onChangeMap;
22
+ private dataMap;
22
23
  private constructor();
23
24
  static create<U>(grpcConfigs: GrpcConfigs, accountName: string, program: Program, decodeBuffer?: (buffer: Buffer, pubkey?: string) => U, resubOpts?: ResubOpts, clientProp?: Client, onUnsubscribe?: () => Promise<void>): Promise<grpcMultiAccountSubscriber<U>>;
25
+ setAccountData(accountPubkey: PublicKey, data: T, slot?: number): void;
26
+ getAccountData(accountPubkey: PublicKey): DataAndSlot<T> | undefined;
24
27
  subscribe(accounts: PublicKey[], onChange: (accountId: PublicKey, data: T, context: Context, buffer: Buffer) => void): Promise<void>;
25
28
  addAccounts(accounts: PublicKey[]): Promise<void>;
26
29
  removeAccounts(accounts: PublicKey[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"grpcMultiAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/accounts/grpcMultiAccountSubscriber.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EACN,MAAM,EAMN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAUjD,qBAAa,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAwD;IACtE,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAyC;IAChE,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAsB;IAErC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,UAAS;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAgC;IAClD,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,WAAW,CAGf;IAEJ,OAAO;WAkBa,MAAM,CAAC,CAAC,EAC3B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,EACrD,SAAS,CAAC,EAAE,SAAS,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAuBnC,SAAS,CACd,QAAQ,EAAE,SAAS,EAAE,EACrB,QAAQ,EAAE,CACT,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,KACV,IAAI,GACP,OAAO,CAAC,IAAI,CAAC;IA+FV,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjD,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCpD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA4ClC,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;CAIlB"}
1
+ {"version":3,"file":"grpcMultiAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/accounts/grpcMultiAccountSubscriber.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIrD,OAAO,EACN,MAAM,EAMN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAU9D,qBAAa,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAwD;IACtE,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAyC;IAChE,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAsB;IAErC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,UAAS;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAgC;IAClD,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,WAAW,CAGf;IAEJ,OAAO,CAAC,OAAO,CAAqC;IAEpD,OAAO;WAkBa,MAAM,CAAC,CAAC,EAC3B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,EACrD,SAAS,CAAC,EAAE,SAAS,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAuBzC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAItE,cAAc,CAAC,aAAa,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS;IAI9D,SAAS,CACd,QAAQ,EAAE,SAAS,EAAE,EACrB,QAAQ,EAAE,CACT,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,KACV,IAAI,GACP,OAAO,CAAC,IAAI,CAAC;IA+FV,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjD,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCpD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA4ClC,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;CAIlB"}
@@ -37,6 +37,7 @@ class grpcMultiAccountSubscriber {
37
37
  this.receivingData = false;
38
38
  this.subscribedAccounts = new Set();
39
39
  this.onChangeMap = new Map();
40
+ this.dataMap = new Map();
40
41
  this.client = client;
41
42
  this.commitmentLevel = commitmentLevel;
42
43
  this.accountName = accountName;
@@ -55,6 +56,12 @@ class grpcMultiAccountSubscriber {
55
56
  (_b = grpcConfigs.commitmentLevel) !== null && _b !== void 0 ? _b : grpc_1.CommitmentLevel.CONFIRMED;
56
57
  return new grpcMultiAccountSubscriber(client, commitmentLevel, accountName, program, decodeBuffer, resubOpts, onUnsubscribe);
57
58
  }
59
+ setAccountData(accountPubkey, data, slot) {
60
+ this.dataMap.set(accountPubkey.toBase58(), { data, slot });
61
+ }
62
+ getAccountData(accountPubkey) {
63
+ return this.dataMap.get(accountPubkey.toBase58());
64
+ }
58
65
  async subscribe(accounts, onChange) {
59
66
  if (this.listenerId != null || this.isUnsubscribing) {
60
67
  return;
@@ -1649,12 +1649,14 @@ export type RevenueShareEscrowAccount = {
1649
1649
  approvedBuilders: BuilderInfo[];
1650
1650
  };
1651
1651
  export type RevenueShareOrder = {
1652
- builderIdx: number;
1653
1652
  feesAccrued: BN;
1654
1653
  orderId: number;
1655
1654
  feeTenthBps: number;
1656
1655
  marketIndex: number;
1656
+ subAccountId: number;
1657
+ builderIdx: number;
1657
1658
  bitFlags: number;
1659
+ userOrderIndex: number;
1658
1660
  marketType: MarketType;
1659
1661
  padding: number[];
1660
1662
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk",
3
- "version": "2.142.0-beta.2",
3
+ "version": "2.142.0-beta.4",
4
4
  "main": "lib/node/index.js",
5
5
  "types": "lib/node/index.d.ts",
6
6
  "browser": "./lib/browser/index.js",
@@ -10,78 +10,124 @@ const GRPC_ENDPOINT = process.env.GRPC_ENDPOINT;
10
10
  const TOKEN = process.env.TOKEN;
11
11
 
12
12
  async function initializeGrpcDriftClientV2() {
13
- const connection = new Connection('https://api.mainnet-beta.solana.com');
14
- const wallet = new Wallet(new Keypair());
15
- dotenv.config({ path: '../' });
16
- const config: DriftClientConfig = {
17
- connection,
18
- wallet,
19
- programID: new PublicKey(DRIFT_PROGRAM_ID),
20
- accountSubscription: {
21
- type: 'grpc',
22
- grpcConfigs: {
23
- endpoint: GRPC_ENDPOINT,
24
- token: TOKEN,
25
- commitmentLevel: 'confirmed' as unknown as CommitmentLevel,
26
- channelOptions: {
27
- 'grpc.keepalive_time_ms': 10_000,
28
- 'grpc.keepalive_timeout_ms': 1_000,
29
- 'grpc.keepalive_permit_without_calls': 1,
30
- },
31
- },
32
- driftClientAccountSubscriber: grpcDriftClientAccountSubscriberV2,
33
- },
34
- perpMarketIndexes: [0, 1, 2], // Example market indexes
35
- spotMarketIndexes: [0, 1, 2], // Example market indexes
36
- oracleInfos: [], // Add oracle information if needed
37
- };
13
+ const connection = new Connection('https://api.mainnet-beta.solana.com');
14
+ const wallet = new Wallet(new Keypair());
15
+ dotenv.config({ path: '../' });
16
+ const config: DriftClientConfig = {
17
+ connection,
18
+ wallet,
19
+ programID: new PublicKey(DRIFT_PROGRAM_ID),
20
+ accountSubscription: {
21
+ type: 'grpc',
22
+ grpcConfigs: {
23
+ endpoint: GRPC_ENDPOINT,
24
+ token: TOKEN,
25
+ commitmentLevel: 'confirmed' as unknown as CommitmentLevel,
26
+ channelOptions: {
27
+ 'grpc.keepalive_time_ms': 10_000,
28
+ 'grpc.keepalive_timeout_ms': 1_000,
29
+ 'grpc.keepalive_permit_without_calls': 1,
30
+ },
31
+ },
32
+ driftClientAccountSubscriber: grpcDriftClientAccountSubscriberV2,
33
+ },
34
+ perpMarketIndexes: [0, 1, 2], // Example market indexes
35
+ spotMarketIndexes: [0, 1, 2], // Example market indexes
36
+ oracleInfos: [], // Add oracle information if needed
37
+ };
38
38
 
39
- const driftClient = new DriftClient(config);
39
+ const driftClient = new DriftClient(config);
40
40
 
41
- let perpMarketUpdateCount = 0;
42
- let spotMarketUpdateCount = 0;
43
- let oraclePriceUpdateCount = 0;
44
- let userAccountUpdateCount = 0;
41
+ let perpMarketUpdateCount = 0;
42
+ let spotMarketUpdateCount = 0;
43
+ let oraclePriceUpdateCount = 0;
44
+ let userAccountUpdateCount = 0;
45
45
 
46
- const updatePromise = new Promise<void>((resolve) => {
47
- driftClient.accountSubscriber.eventEmitter.on('perpMarketAccountUpdate', (data) => {
48
- console.log('Perp market account update:', decodeName(data.name));
49
- perpMarketUpdateCount++;
50
- if (perpMarketUpdateCount >= 10 && spotMarketUpdateCount >= 10 && oraclePriceUpdateCount >= 10 && userAccountUpdateCount >= 2) {
51
- resolve();
52
- }
53
- });
46
+ const updatePromise = new Promise<void>((resolve) => {
47
+ driftClient.accountSubscriber.eventEmitter.on(
48
+ 'perpMarketAccountUpdate',
49
+ (data) => {
50
+ console.log('Perp market account update:', decodeName(data.name));
51
+ const perpMarketData = driftClient.getPerpMarketAccount(
52
+ data.marketIndex
53
+ );
54
+ console.log(
55
+ 'Perp market data market index:',
56
+ perpMarketData?.marketIndex
57
+ );
58
+ perpMarketUpdateCount++;
59
+ if (
60
+ perpMarketUpdateCount >= 10 &&
61
+ spotMarketUpdateCount >= 10 &&
62
+ oraclePriceUpdateCount >= 10 &&
63
+ userAccountUpdateCount >= 2
64
+ ) {
65
+ resolve();
66
+ }
67
+ }
68
+ );
54
69
 
55
- driftClient.accountSubscriber.eventEmitter.on('spotMarketAccountUpdate', (data) => {
56
- console.log('Spot market account update:', decodeName(data.name));
57
- spotMarketUpdateCount++;
58
- if (perpMarketUpdateCount >= 10 && spotMarketUpdateCount >= 10 && oraclePriceUpdateCount >= 10 && userAccountUpdateCount >= 2) {
59
- resolve();
60
- }
61
- });
70
+ driftClient.accountSubscriber.eventEmitter.on(
71
+ 'spotMarketAccountUpdate',
72
+ (data) => {
73
+ console.log('Spot market account update:', decodeName(data.name));
74
+ const spotMarketData = driftClient.getSpotMarketAccount(
75
+ data.marketIndex
76
+ );
77
+ console.log(
78
+ 'Spot market data market index:',
79
+ spotMarketData?.marketIndex
80
+ );
81
+ spotMarketUpdateCount++;
82
+ if (
83
+ perpMarketUpdateCount >= 10 &&
84
+ spotMarketUpdateCount >= 10 &&
85
+ oraclePriceUpdateCount >= 10 &&
86
+ userAccountUpdateCount >= 2
87
+ ) {
88
+ resolve();
89
+ }
90
+ }
91
+ );
62
92
 
63
- driftClient.accountSubscriber.eventEmitter.on('oraclePriceUpdate', (data) => {
64
- console.log('Oracle price update:', data.toBase58());
65
- oraclePriceUpdateCount++;
66
- if (perpMarketUpdateCount >= 10 && spotMarketUpdateCount >= 10 && oraclePriceUpdateCount >= 10 && userAccountUpdateCount >= 2) {
67
- resolve();
68
- }
69
- });
93
+ driftClient.accountSubscriber.eventEmitter.on(
94
+ 'oraclePriceUpdate',
95
+ (data) => {
96
+ console.log('Oracle price update:', data.toBase58());
97
+ oraclePriceUpdateCount++;
98
+ if (
99
+ perpMarketUpdateCount >= 10 &&
100
+ spotMarketUpdateCount >= 10 &&
101
+ oraclePriceUpdateCount >= 10 &&
102
+ userAccountUpdateCount >= 2
103
+ ) {
104
+ resolve();
105
+ }
106
+ }
107
+ );
70
108
 
71
- driftClient.accountSubscriber.eventEmitter.on('userAccountUpdate', (data) => {
72
- console.log('User account update:', decodeName(data.name));
73
- userAccountUpdateCount++;
74
- if (perpMarketUpdateCount >= 10 && spotMarketUpdateCount >= 10 && oraclePriceUpdateCount >= 10 && userAccountUpdateCount >= 2) {
75
- resolve();
76
- }
77
- });
78
- });
109
+ driftClient.accountSubscriber.eventEmitter.on(
110
+ 'userAccountUpdate',
111
+ (data) => {
112
+ console.log('User account update:', decodeName(data.name));
113
+ userAccountUpdateCount++;
114
+ if (
115
+ perpMarketUpdateCount >= 10 &&
116
+ spotMarketUpdateCount >= 10 &&
117
+ oraclePriceUpdateCount >= 10 &&
118
+ userAccountUpdateCount >= 2
119
+ ) {
120
+ resolve();
121
+ }
122
+ }
123
+ );
124
+ });
79
125
 
80
- await driftClient.subscribe();
81
- console.log('DriftClient initialized and listening for updates.');
126
+ await driftClient.subscribe();
127
+ console.log('DriftClient initialized and listening for updates.');
82
128
 
83
- await updatePromise;
84
- console.log('Received required number of updates.');
129
+ await updatePromise;
130
+ console.log('Received required number of updates.');
85
131
  }
86
132
 
87
133
  initializeGrpcDriftClientV2().catch(console.error);
@@ -8,7 +8,12 @@ import {
8
8
  getPerpMarketPublicKey,
9
9
  getSpotMarketPublicKey,
10
10
  } from '../addresses/pda';
11
- import { DelistedMarketSetting, GrpcConfigs, ResubOpts } from './types';
11
+ import {
12
+ DataAndSlot,
13
+ DelistedMarketSetting,
14
+ GrpcConfigs,
15
+ ResubOpts,
16
+ } from './types';
12
17
  import { grpcAccountSubscriber } from './grpcAccountSubscriber';
13
18
  import { grpcMultiAccountSubscriber } from './grpcMultiAccountSubscriber';
14
19
  import { PerpMarketAccount, SpotMarketAccount, StateAccount } from '../types';
@@ -19,6 +24,8 @@ export class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAcco
19
24
  private perpMarketsSubscriber?: grpcMultiAccountSubscriber<PerpMarketAccount>;
20
25
  private spotMarketsSubscriber?: grpcMultiAccountSubscriber<SpotMarketAccount>;
21
26
  private oracleMultiSubscriber?: grpcMultiAccountSubscriber<OraclePriceData>;
27
+ private perpMarketIndexToAccountPubkeyMap = new Map<number, PublicKey>();
28
+ private spotMarketIndexToAccountPubkeyMap = new Map<number, PublicKey>();
22
29
 
23
30
  constructor(
24
31
  grpcConfigs: GrpcConfigs,
@@ -123,11 +130,39 @@ export class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAcco
123
130
  return true;
124
131
  }
125
132
 
133
+ override getMarketAccountAndSlot(
134
+ marketIndex: number
135
+ ): DataAndSlot<PerpMarketAccount> | undefined {
136
+ return this.perpMarketsSubscriber?.getAccountData(
137
+ this.perpMarketIndexToAccountPubkeyMap.get(marketIndex)
138
+ );
139
+ }
140
+
141
+ override getSpotMarketAccountAndSlot(
142
+ marketIndex: number
143
+ ): DataAndSlot<SpotMarketAccount> | undefined {
144
+ return this.spotMarketsSubscriber?.getAccountData(
145
+ this.spotMarketIndexToAccountPubkeyMap.get(marketIndex)
146
+ );
147
+ }
148
+
126
149
  override async subscribeToPerpMarketAccounts(): Promise<boolean> {
127
- const perpMarketPubkeys = await Promise.all(
128
- this.perpMarketIndexes.map((marketIndex) =>
129
- getPerpMarketPublicKey(this.program.programId, marketIndex)
130
- )
150
+ const perpMarketIndexToAccountPubkeys: Array<[number, PublicKey]> =
151
+ await Promise.all(
152
+ this.perpMarketIndexes.map(async (marketIndex) => [
153
+ marketIndex,
154
+ await getPerpMarketPublicKey(this.program.programId, marketIndex),
155
+ ])
156
+ );
157
+ for (const [
158
+ marketIndex,
159
+ accountPubkey,
160
+ ] of perpMarketIndexToAccountPubkeys) {
161
+ this.perpMarketIndexToAccountPubkeyMap.set(marketIndex, accountPubkey);
162
+ }
163
+
164
+ const perpMarketPubkeys = perpMarketIndexToAccountPubkeys.map(
165
+ ([_, accountPubkey]) => accountPubkey
131
166
  );
132
167
 
133
168
  this.perpMarketsSubscriber =
@@ -151,6 +186,11 @@ export class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAcco
151
186
  }
152
187
  }
153
188
  );
189
+
190
+ for (const data of this.initialPerpMarketAccountData.values()) {
191
+ this.perpMarketsSubscriber.setAccountData(data.pubkey, data);
192
+ }
193
+
154
194
  await this.perpMarketsSubscriber.subscribe(
155
195
  perpMarketPubkeys,
156
196
  (_accountId, data) => {
@@ -166,10 +206,22 @@ export class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAcco
166
206
  }
167
207
 
168
208
  override async subscribeToSpotMarketAccounts(): Promise<boolean> {
169
- const spotMarketPubkeys = await Promise.all(
170
- this.spotMarketIndexes.map((marketIndex) =>
171
- getSpotMarketPublicKey(this.program.programId, marketIndex)
172
- )
209
+ const spotMarketIndexToAccountPubkeys: Array<[number, PublicKey]> =
210
+ await Promise.all(
211
+ this.spotMarketIndexes.map(async (marketIndex) => [
212
+ marketIndex,
213
+ await getSpotMarketPublicKey(this.program.programId, marketIndex),
214
+ ])
215
+ );
216
+ for (const [
217
+ marketIndex,
218
+ accountPubkey,
219
+ ] of spotMarketIndexToAccountPubkeys) {
220
+ this.spotMarketIndexToAccountPubkeyMap.set(marketIndex, accountPubkey);
221
+ }
222
+
223
+ const spotMarketPubkeys = spotMarketIndexToAccountPubkeys.map(
224
+ ([_, accountPubkey]) => accountPubkey
173
225
  );
174
226
 
175
227
  this.spotMarketsSubscriber =
@@ -193,6 +245,11 @@ export class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAcco
193
245
  }
194
246
  }
195
247
  );
248
+
249
+ for (const data of this.initialSpotMarketAccountData.values()) {
250
+ this.spotMarketsSubscriber.setAccountData(data.pubkey, data);
251
+ }
252
+
196
253
  await this.spotMarketsSubscriber.subscribe(
197
254
  spotMarketPubkeys,
198
255
  (_accountId, data) => {
@@ -263,6 +320,13 @@ export class grpcDriftClientAccountSubscriberV2 extends WebSocketDriftClientAcco
263
320
  }
264
321
  );
265
322
 
323
+ for (const data of this.initialOraclePriceData.entries()) {
324
+ this.oracleMultiSubscriber.setAccountData(
325
+ new PublicKey(data[0]),
326
+ data[1]
327
+ );
328
+ }
329
+
266
330
  await this.oracleMultiSubscriber.subscribe(
267
331
  oraclePubkeys,
268
332
  (accountId, data) => {
@@ -11,7 +11,7 @@ import {
11
11
  SubscribeUpdate,
12
12
  createClient,
13
13
  } from '../isomorphic/grpc';
14
- import { GrpcConfigs, ResubOpts } from './types';
14
+ import { DataAndSlot, GrpcConfigs, ResubOpts } from './types';
15
15
 
16
16
  interface AccountInfoLike {
17
17
  owner: PublicKey;
@@ -42,6 +42,8 @@ export class grpcMultiAccountSubscriber<T> {
42
42
  (data: T, context: Context, buffer: Buffer) => void
43
43
  >();
44
44
 
45
+ private dataMap = new Map<string, DataAndSlot<T>>();
46
+
45
47
  private constructor(
46
48
  client: Client,
47
49
  commitmentLevel: CommitmentLevel,
@@ -91,6 +93,14 @@ export class grpcMultiAccountSubscriber<T> {
91
93
  );
92
94
  }
93
95
 
96
+ setAccountData(accountPubkey: PublicKey, data: T, slot?: number): void {
97
+ this.dataMap.set(accountPubkey.toBase58(), { data, slot });
98
+ }
99
+
100
+ getAccountData(accountPubkey: PublicKey): DataAndSlot<T> | undefined {
101
+ return this.dataMap.get(accountPubkey.toBase58());
102
+ }
103
+
94
104
  async subscribe(
95
105
  accounts: PublicKey[],
96
106
  onChange: (
package/src/types.ts CHANGED
@@ -1669,13 +1669,15 @@ export type RevenueShareEscrowAccount = {
1669
1669
  };
1670
1670
 
1671
1671
  export type RevenueShareOrder = {
1672
- builderIdx: number;
1673
1672
  feesAccrued: BN;
1674
1673
  orderId: number;
1675
1674
  feeTenthBps: number;
1676
1675
  marketIndex: number;
1676
+ subAccountId: number;
1677
+ builderIdx: number;
1677
1678
  bitFlags: number;
1678
- marketType: MarketType; // 0: spot, 1: perp
1679
+ userOrderIndex: number;
1680
+ marketType: MarketType;
1679
1681
  padding: number[];
1680
1682
  };
1681
1683