@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 +1 -1
- package/lib/browser/accounts/grpcDriftClientAccountSubscriberV2.d.ts +6 -1
- package/lib/browser/accounts/grpcDriftClientAccountSubscriberV2.js +35 -2
- package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +4 -1
- package/lib/browser/accounts/grpcMultiAccountSubscriber.js +7 -0
- package/lib/browser/types.d.ts +3 -1
- package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.d.ts +6 -1
- package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.d.ts.map +1 -1
- package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.js +35 -2
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +4 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
- package/lib/node/accounts/grpcMultiAccountSubscriber.js +7 -0
- package/lib/node/types.d.ts +3 -1
- package/lib/node/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/client-test.ts +110 -64
- package/src/accounts/grpcDriftClientAccountSubscriberV2.ts +73 -9
- package/src/accounts/grpcMultiAccountSubscriber.ts +11 -1
- package/src/types.ts +4 -2
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.142.0-beta.
|
|
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
|
|
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
|
|
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;
|
package/lib/browser/types.d.ts
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
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;
|
|
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;
|
package/lib/node/types.d.ts
CHANGED
|
@@ -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
|
};
|
package/lib/node/types.d.ts.map
CHANGED
|
@@ -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
package/scripts/client-test.ts
CHANGED
|
@@ -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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
39
|
+
const driftClient = new DriftClient(config);
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
let perpMarketUpdateCount = 0;
|
|
42
|
+
let spotMarketUpdateCount = 0;
|
|
43
|
+
let oraclePriceUpdateCount = 0;
|
|
44
|
+
let userAccountUpdateCount = 0;
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
81
|
-
|
|
126
|
+
await driftClient.subscribe();
|
|
127
|
+
console.log('DriftClient initialized and listening for updates.');
|
|
82
128
|
|
|
83
|
-
|
|
84
|
-
|
|
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 {
|
|
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
|
|
128
|
-
|
|
129
|
-
|
|
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
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
1679
|
+
userOrderIndex: number;
|
|
1680
|
+
marketType: MarketType;
|
|
1679
1681
|
padding: number[];
|
|
1680
1682
|
};
|
|
1681
1683
|
|