@drift-labs/sdk 2.124.0-beta.7 → 2.124.0-beta.9
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/customizedCadenceBulkAccountLoader.d.ts +13 -5
- package/lib/browser/accounts/customizedCadenceBulkAccountLoader.js +53 -25
- package/lib/browser/decode/customCoder.d.ts +46 -0
- package/lib/browser/decode/customCoder.js +75 -0
- package/lib/browser/driftClient.js +1 -1
- package/lib/browser/driftClientConfig.d.ts +2 -0
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts +13 -5
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts.map +1 -1
- package/lib/node/accounts/customizedCadenceBulkAccountLoader.js +53 -25
- package/lib/node/decode/customCoder.d.ts +47 -0
- package/lib/node/decode/customCoder.d.ts.map +1 -0
- package/lib/node/decode/customCoder.js +75 -0
- package/lib/node/driftClient.d.ts.map +1 -1
- package/lib/node/driftClient.js +1 -1
- package/lib/node/driftClientConfig.d.ts +2 -0
- package/lib/node/driftClientConfig.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/accounts/customizedCadenceBulkAccountLoader.ts +66 -30
- package/src/decode/customCoder.ts +114 -0
- package/src/driftClient.ts +2 -1
- package/src/driftClientConfig.ts +2 -0
- package/tests/accounts/customizedCadenceBulkAccountLoader.test.ts +2 -2
- package/tests/dlob/helpers.ts +3 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.124.0-beta.
|
|
1
|
+
2.124.0-beta.9
|
|
@@ -4,13 +4,20 @@ import { BulkAccountLoader } from './bulkAccountLoader';
|
|
|
4
4
|
import { Commitment, Connection, PublicKey } from '@solana/web3.js';
|
|
5
5
|
export declare class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
6
6
|
private customIntervalId;
|
|
7
|
+
private currentPollingFrequency;
|
|
7
8
|
private accountFrequencies;
|
|
8
|
-
private
|
|
9
|
+
private lastPollingTimes;
|
|
9
10
|
private defaultPollingFrequency;
|
|
10
11
|
constructor(connection: Connection, commitment: Commitment, defaultPollingFrequency: number);
|
|
11
12
|
private getAccountsToLoad;
|
|
12
13
|
load(): Promise<void>;
|
|
13
14
|
private handleAccountLoading;
|
|
15
|
+
/**
|
|
16
|
+
* Updates the polling frequency for an account. This affects all callbacks attached to this account.
|
|
17
|
+
*
|
|
18
|
+
* @param publicKey The public key of the account to set the custom polling frequency for
|
|
19
|
+
* @param newFrequency The new polling frequency in ms
|
|
20
|
+
*/
|
|
14
21
|
setCustomPollingFrequency(publicKey: PublicKey, newFrequency: number): void;
|
|
15
22
|
private restartPollingIfNeeded;
|
|
16
23
|
/**
|
|
@@ -22,13 +29,14 @@ export declare class CustomizedCadenceBulkAccountLoader extends BulkAccountLoade
|
|
|
22
29
|
* @returns A unique callback ID that can be used to remove this specific callback later
|
|
23
30
|
*
|
|
24
31
|
* The method will:
|
|
25
|
-
* 1. Create a new callback mapping for the account
|
|
26
|
-
* 2. Set up polling frequency tracking for the account
|
|
27
|
-
*
|
|
32
|
+
* 1. Create a new callback mapping for the account if it doesn't exist already
|
|
33
|
+
* 2. Set up polling frequency tracking for the account if it doesn't exist already. If previous polling frequency is faster than the new one,
|
|
34
|
+
* we will use the previous frequency.
|
|
35
|
+
* 3. Reset last polling time to 0 to ensure data fetch is triggered on the next poll. Note that this does not mean the account will be fetched immediately.
|
|
28
36
|
* 4. Automatically restart polling if this account needs a faster frequency than existing accounts
|
|
29
37
|
*/
|
|
30
38
|
addAccount(publicKey: PublicKey, callback: (buffer: Buffer, slot: number) => void, customPollingFrequency?: number): Promise<string>;
|
|
31
|
-
removeAccount(publicKey: PublicKey): void;
|
|
39
|
+
removeAccount(publicKey: PublicKey, callbackId: string): void;
|
|
32
40
|
getAccountCadence(publicKey: PublicKey): number | null;
|
|
33
41
|
startPolling(): void;
|
|
34
42
|
stopPolling(): void;
|
|
@@ -8,20 +8,21 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
8
8
|
constructor(connection, commitment, defaultPollingFrequency) {
|
|
9
9
|
super(connection, commitment, defaultPollingFrequency);
|
|
10
10
|
this.customIntervalId = null;
|
|
11
|
+
this.currentPollingFrequency = null;
|
|
11
12
|
this.accountFrequencies = new Map();
|
|
12
|
-
this.
|
|
13
|
+
this.lastPollingTimes = new Map();
|
|
13
14
|
this.defaultPollingFrequency = defaultPollingFrequency;
|
|
14
15
|
}
|
|
15
16
|
getAccountsToLoad() {
|
|
16
17
|
const currentTime = Date.now();
|
|
17
18
|
const accountsToLoad = [];
|
|
18
19
|
for (const [key, frequency] of this.accountFrequencies.entries()) {
|
|
19
|
-
const lastPollTime = this.
|
|
20
|
+
const lastPollTime = this.lastPollingTimes.get(key) || 0;
|
|
20
21
|
if (currentTime - lastPollTime >= frequency) {
|
|
21
22
|
const account = this.accountsToLoad.get(key);
|
|
22
23
|
if (account) {
|
|
23
24
|
accountsToLoad.push(account);
|
|
24
|
-
this.
|
|
25
|
+
this.lastPollingTimes.set(key, currentTime);
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
}
|
|
@@ -39,15 +40,22 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
39
40
|
}));
|
|
40
41
|
}
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Updates the polling frequency for an account. This affects all callbacks attached to this account.
|
|
45
|
+
*
|
|
46
|
+
* @param publicKey The public key of the account to set the custom polling frequency for
|
|
47
|
+
* @param newFrequency The new polling frequency in ms
|
|
48
|
+
*/
|
|
42
49
|
setCustomPollingFrequency(publicKey, newFrequency) {
|
|
43
50
|
const key = publicKey.toBase58();
|
|
44
51
|
this.accountFrequencies.set(key, newFrequency);
|
|
45
|
-
this.
|
|
52
|
+
this.lastPollingTimes.set(key, 0); // Reset last polling time to ensure immediate load
|
|
46
53
|
this.restartPollingIfNeeded(newFrequency);
|
|
47
54
|
}
|
|
48
55
|
restartPollingIfNeeded(newFrequency) {
|
|
49
|
-
|
|
50
|
-
|
|
56
|
+
if ((this.currentPollingFrequency &&
|
|
57
|
+
newFrequency < this.currentPollingFrequency) ||
|
|
58
|
+
!this.customIntervalId) {
|
|
51
59
|
this.stopPolling();
|
|
52
60
|
this.startPolling();
|
|
53
61
|
}
|
|
@@ -61,31 +69,49 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
61
69
|
* @returns A unique callback ID that can be used to remove this specific callback later
|
|
62
70
|
*
|
|
63
71
|
* The method will:
|
|
64
|
-
* 1. Create a new callback mapping for the account
|
|
65
|
-
* 2. Set up polling frequency tracking for the account
|
|
66
|
-
*
|
|
72
|
+
* 1. Create a new callback mapping for the account if it doesn't exist already
|
|
73
|
+
* 2. Set up polling frequency tracking for the account if it doesn't exist already. If previous polling frequency is faster than the new one,
|
|
74
|
+
* we will use the previous frequency.
|
|
75
|
+
* 3. Reset last polling time to 0 to ensure data fetch is triggered on the next poll. Note that this does not mean the account will be fetched immediately.
|
|
67
76
|
* 4. Automatically restart polling if this account needs a faster frequency than existing accounts
|
|
68
77
|
*/
|
|
69
78
|
async addAccount(publicKey, callback, customPollingFrequency) {
|
|
70
79
|
const callbackId = (0, uuid_1.v4)();
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
const existingAccountToLoad = this.accountsToLoad.get(publicKey.toString());
|
|
81
|
+
if (existingAccountToLoad) {
|
|
82
|
+
existingAccountToLoad.callbacks.set(callbackId, callback);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const callbacks = new Map();
|
|
86
|
+
callbacks.set(callbackId, callback);
|
|
87
|
+
const newAccountToLoad = {
|
|
88
|
+
publicKey,
|
|
89
|
+
callbacks,
|
|
90
|
+
};
|
|
91
|
+
this.accountsToLoad.set(publicKey.toString(), newAccountToLoad);
|
|
92
|
+
}
|
|
78
93
|
const key = publicKey.toBase58();
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
94
|
+
const previousFrequency = this.accountFrequencies.get(key) || this.defaultPollingFrequency;
|
|
95
|
+
const updatedFrequency = customPollingFrequency && customPollingFrequency < previousFrequency
|
|
96
|
+
? customPollingFrequency
|
|
97
|
+
: previousFrequency;
|
|
98
|
+
this.accountFrequencies.set(key, updatedFrequency);
|
|
99
|
+
this.lastPollingTimes.set(key, 0); // Reset last polling time to ensure immediate load
|
|
100
|
+
this.restartPollingIfNeeded(updatedFrequency);
|
|
83
101
|
return callbackId;
|
|
84
102
|
}
|
|
85
|
-
removeAccount(publicKey) {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
103
|
+
removeAccount(publicKey, callbackId) {
|
|
104
|
+
const existingAccountToLoad = this.accountsToLoad.get(publicKey.toString());
|
|
105
|
+
if (existingAccountToLoad) {
|
|
106
|
+
existingAccountToLoad.callbacks.delete(callbackId);
|
|
107
|
+
if (existingAccountToLoad.callbacks.size === 0) {
|
|
108
|
+
this.bufferAndSlotMap.delete(publicKey.toString());
|
|
109
|
+
this.accountsToLoad.delete(existingAccountToLoad.publicKey.toString());
|
|
110
|
+
const key = publicKey.toBase58();
|
|
111
|
+
this.accountFrequencies.delete(key);
|
|
112
|
+
this.lastPollingTimes.delete(key);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
89
115
|
if (this.accountsToLoad.size === 0) {
|
|
90
116
|
this.stopPolling();
|
|
91
117
|
}
|
|
@@ -103,6 +129,7 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
103
129
|
return;
|
|
104
130
|
}
|
|
105
131
|
const minFrequency = Math.min(...Array.from(this.accountFrequencies.values()), this.defaultPollingFrequency);
|
|
132
|
+
this.currentPollingFrequency = minFrequency;
|
|
106
133
|
this.customIntervalId = setInterval(() => {
|
|
107
134
|
this.handleAccountLoading().catch((error) => {
|
|
108
135
|
console.error('Error in account loading:', error);
|
|
@@ -114,8 +141,9 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
114
141
|
if (this.customIntervalId) {
|
|
115
142
|
clearInterval(this.customIntervalId);
|
|
116
143
|
this.customIntervalId = null;
|
|
144
|
+
this.currentPollingFrequency = null;
|
|
117
145
|
}
|
|
118
|
-
this.
|
|
146
|
+
this.lastPollingTimes.clear();
|
|
119
147
|
}
|
|
120
148
|
clearAccountFrequencies() {
|
|
121
149
|
this.accountFrequencies.clear();
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
import { Idl, IdlTypeDef } from '@coral-xyz/anchor/dist/cjs/idl';
|
|
5
|
+
import { AccountsCoder, BorshEventCoder, BorshInstructionCoder, Coder } from '@coral-xyz/anchor/dist/cjs/coder';
|
|
6
|
+
import { BorshTypesCoder } from '@coral-xyz/anchor/dist/cjs/coder/borsh/types';
|
|
7
|
+
export declare class CustomBorshCoder<A extends string = string, T extends string = string> implements Coder {
|
|
8
|
+
readonly idl: Idl;
|
|
9
|
+
/**
|
|
10
|
+
* Instruction coder.
|
|
11
|
+
*/
|
|
12
|
+
readonly instruction: BorshInstructionCoder;
|
|
13
|
+
/**
|
|
14
|
+
* Account coder.
|
|
15
|
+
*/
|
|
16
|
+
readonly accounts: CustomBorshAccountsCoder<A>;
|
|
17
|
+
/**
|
|
18
|
+
* Coder for events.
|
|
19
|
+
*/
|
|
20
|
+
readonly events: BorshEventCoder;
|
|
21
|
+
/**
|
|
22
|
+
* Coder for user-defined types.
|
|
23
|
+
*/
|
|
24
|
+
readonly types: BorshTypesCoder<T>;
|
|
25
|
+
constructor(idl: Idl);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Custom accounts coder that wraps BorshAccountsCoder to fix encode buffer sizing.
|
|
29
|
+
*/
|
|
30
|
+
export declare class CustomBorshAccountsCoder<A extends string = string> implements AccountsCoder {
|
|
31
|
+
private baseCoder;
|
|
32
|
+
private idl;
|
|
33
|
+
constructor(idl: Idl);
|
|
34
|
+
encode<T = any>(accountName: A, account: T): Promise<Buffer>;
|
|
35
|
+
decode<T = any>(accountName: A, data: Buffer): T;
|
|
36
|
+
decodeAny<T = any>(data: Buffer): T;
|
|
37
|
+
decodeUnchecked<T = any>(accountName: A, ix: Buffer): T;
|
|
38
|
+
memcmp(accountName: A, appendData?: Buffer): any;
|
|
39
|
+
size(idlAccount: IdlTypeDef): number;
|
|
40
|
+
/**
|
|
41
|
+
* Calculates and returns a unique 8 byte discriminator prepended to all anchor accounts.
|
|
42
|
+
*
|
|
43
|
+
* @param name The name of the account to calculate the discriminator.
|
|
44
|
+
*/
|
|
45
|
+
static accountDiscriminator(name: string): Buffer;
|
|
46
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CustomBorshAccountsCoder = exports.CustomBorshCoder = void 0;
|
|
7
|
+
const buffer_1 = require("buffer");
|
|
8
|
+
const camelcase_1 = __importDefault(require("camelcase"));
|
|
9
|
+
const coder_1 = require("@coral-xyz/anchor/dist/cjs/coder");
|
|
10
|
+
const types_1 = require("@coral-xyz/anchor/dist/cjs/coder/borsh/types");
|
|
11
|
+
const discriminator_1 = require("@coral-xyz/anchor/dist/cjs/coder/borsh/discriminator");
|
|
12
|
+
class CustomBorshCoder {
|
|
13
|
+
constructor(idl) {
|
|
14
|
+
this.instruction = new coder_1.BorshInstructionCoder(idl);
|
|
15
|
+
this.accounts = new CustomBorshAccountsCoder(idl);
|
|
16
|
+
this.events = new coder_1.BorshEventCoder(idl);
|
|
17
|
+
this.types = new types_1.BorshTypesCoder(idl);
|
|
18
|
+
this.idl = idl;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.CustomBorshCoder = CustomBorshCoder;
|
|
22
|
+
/**
|
|
23
|
+
* Custom accounts coder that wraps BorshAccountsCoder to fix encode buffer sizing.
|
|
24
|
+
*/
|
|
25
|
+
class CustomBorshAccountsCoder {
|
|
26
|
+
constructor(idl) {
|
|
27
|
+
this.baseCoder = new coder_1.BorshAccountsCoder(idl);
|
|
28
|
+
this.idl = idl;
|
|
29
|
+
}
|
|
30
|
+
async encode(accountName, account) {
|
|
31
|
+
var _a;
|
|
32
|
+
const idlAcc = (_a = this.idl.accounts) === null || _a === void 0 ? void 0 : _a.find((acc) => acc.name === accountName);
|
|
33
|
+
if (!idlAcc) {
|
|
34
|
+
throw new Error(`Unknown account not found in idl: ${accountName}`);
|
|
35
|
+
}
|
|
36
|
+
const buffer = buffer_1.Buffer.alloc(this.size(idlAcc)); // fix encode issue - use proper size instead of fixed 1000
|
|
37
|
+
const layout = this.baseCoder['accountLayouts'].get(accountName);
|
|
38
|
+
if (!layout) {
|
|
39
|
+
throw new Error(`Unknown account: ${accountName}`);
|
|
40
|
+
}
|
|
41
|
+
const len = layout.encode(account, buffer);
|
|
42
|
+
const accountData = buffer.slice(0, len);
|
|
43
|
+
const discriminator = coder_1.BorshAccountsCoder.accountDiscriminator(accountName);
|
|
44
|
+
return buffer_1.Buffer.concat([discriminator, accountData]);
|
|
45
|
+
}
|
|
46
|
+
// Delegate all other methods to the base coder
|
|
47
|
+
decode(accountName, data) {
|
|
48
|
+
return this.baseCoder.decode(accountName, data);
|
|
49
|
+
}
|
|
50
|
+
decodeAny(data) {
|
|
51
|
+
return this.baseCoder.decodeAny(data);
|
|
52
|
+
}
|
|
53
|
+
decodeUnchecked(accountName, ix) {
|
|
54
|
+
return this.baseCoder.decodeUnchecked(accountName, ix);
|
|
55
|
+
}
|
|
56
|
+
memcmp(accountName, appendData) {
|
|
57
|
+
return this.baseCoder.memcmp(accountName, appendData);
|
|
58
|
+
}
|
|
59
|
+
size(idlAccount) {
|
|
60
|
+
return this.baseCoder.size(idlAccount);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Calculates and returns a unique 8 byte discriminator prepended to all anchor accounts.
|
|
64
|
+
*
|
|
65
|
+
* @param name The name of the account to calculate the discriminator.
|
|
66
|
+
*/
|
|
67
|
+
static accountDiscriminator(name) {
|
|
68
|
+
const discriminatorPreimage = `account:${(0, camelcase_1.default)(name, {
|
|
69
|
+
pascalCase: true,
|
|
70
|
+
preserveConsecutiveUppercase: true,
|
|
71
|
+
})}`;
|
|
72
|
+
return (0, discriminator_1.discriminator)(discriminatorPreimage);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.CustomBorshAccountsCoder = CustomBorshAccountsCoder;
|
|
@@ -105,7 +105,7 @@ class DriftClient {
|
|
|
105
105
|
this.provider = new anchor_1.AnchorProvider(config.connection,
|
|
106
106
|
// @ts-ignore
|
|
107
107
|
config.wallet, this.opts);
|
|
108
|
-
this.program = new anchor_1.Program(drift_json_1.default, (_d = config.programID) !== null && _d !== void 0 ? _d : new web3_js_1.PublicKey(config_1.DRIFT_PROGRAM_ID), this.provider);
|
|
108
|
+
this.program = new anchor_1.Program(drift_json_1.default, (_d = config.programID) !== null && _d !== void 0 ? _d : new web3_js_1.PublicKey(config_1.DRIFT_PROGRAM_ID), this.provider, config.coder);
|
|
109
109
|
this.authority = (_e = config.authority) !== null && _e !== void 0 ? _e : this.wallet.publicKey;
|
|
110
110
|
this.activeSubAccountId = (_f = config.activeSubAccountId) !== null && _f !== void 0 ? _f : 0;
|
|
111
111
|
this.skipLoadUsers = (_g = config.skipLoadUsers) !== null && _g !== void 0 ? _g : false;
|
|
@@ -6,6 +6,7 @@ import { DriftEnv } from './config';
|
|
|
6
6
|
import { TxSender } from './tx/types';
|
|
7
7
|
import { TxHandler, TxHandlerConfig } from './tx/txHandler';
|
|
8
8
|
import { DelistedMarketSetting, GrpcConfigs } from './accounts/types';
|
|
9
|
+
import { Coder } from '@coral-xyz/anchor';
|
|
9
10
|
export type DriftClientConfig = {
|
|
10
11
|
connection: Connection;
|
|
11
12
|
wallet: IWallet;
|
|
@@ -34,6 +35,7 @@ export type DriftClientConfig = {
|
|
|
34
35
|
txHandlerConfig?: TxHandlerConfig;
|
|
35
36
|
delistedMarketSetting?: DelistedMarketSetting;
|
|
36
37
|
useHotWalletAdmin?: boolean;
|
|
38
|
+
coder?: Coder;
|
|
37
39
|
};
|
|
38
40
|
export type DriftClientSubscriptionConfig = {
|
|
39
41
|
type: 'grpc';
|
|
@@ -4,13 +4,20 @@ import { BulkAccountLoader } from './bulkAccountLoader';
|
|
|
4
4
|
import { Commitment, Connection, PublicKey } from '@solana/web3.js';
|
|
5
5
|
export declare class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
6
6
|
private customIntervalId;
|
|
7
|
+
private currentPollingFrequency;
|
|
7
8
|
private accountFrequencies;
|
|
8
|
-
private
|
|
9
|
+
private lastPollingTimes;
|
|
9
10
|
private defaultPollingFrequency;
|
|
10
11
|
constructor(connection: Connection, commitment: Commitment, defaultPollingFrequency: number);
|
|
11
12
|
private getAccountsToLoad;
|
|
12
13
|
load(): Promise<void>;
|
|
13
14
|
private handleAccountLoading;
|
|
15
|
+
/**
|
|
16
|
+
* Updates the polling frequency for an account. This affects all callbacks attached to this account.
|
|
17
|
+
*
|
|
18
|
+
* @param publicKey The public key of the account to set the custom polling frequency for
|
|
19
|
+
* @param newFrequency The new polling frequency in ms
|
|
20
|
+
*/
|
|
14
21
|
setCustomPollingFrequency(publicKey: PublicKey, newFrequency: number): void;
|
|
15
22
|
private restartPollingIfNeeded;
|
|
16
23
|
/**
|
|
@@ -22,13 +29,14 @@ export declare class CustomizedCadenceBulkAccountLoader extends BulkAccountLoade
|
|
|
22
29
|
* @returns A unique callback ID that can be used to remove this specific callback later
|
|
23
30
|
*
|
|
24
31
|
* The method will:
|
|
25
|
-
* 1. Create a new callback mapping for the account
|
|
26
|
-
* 2. Set up polling frequency tracking for the account
|
|
27
|
-
*
|
|
32
|
+
* 1. Create a new callback mapping for the account if it doesn't exist already
|
|
33
|
+
* 2. Set up polling frequency tracking for the account if it doesn't exist already. If previous polling frequency is faster than the new one,
|
|
34
|
+
* we will use the previous frequency.
|
|
35
|
+
* 3. Reset last polling time to 0 to ensure data fetch is triggered on the next poll. Note that this does not mean the account will be fetched immediately.
|
|
28
36
|
* 4. Automatically restart polling if this account needs a faster frequency than existing accounts
|
|
29
37
|
*/
|
|
30
38
|
addAccount(publicKey: PublicKey, callback: (buffer: Buffer, slot: number) => void, customPollingFrequency?: number): Promise<string>;
|
|
31
|
-
removeAccount(publicKey: PublicKey): void;
|
|
39
|
+
removeAccount(publicKey: PublicKey, callbackId: string): void;
|
|
32
40
|
getAccountCadence(publicKey: PublicKey): number | null;
|
|
33
41
|
startPolling(): void;
|
|
34
42
|
stopPolling(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customizedCadenceBulkAccountLoader.d.ts","sourceRoot":"","sources":["../../../src/accounts/customizedCadenceBulkAccountLoader.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGpE,qBAAa,kCAAmC,SAAQ,iBAAiB;IACxE,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"customizedCadenceBulkAccountLoader.d.ts","sourceRoot":"","sources":["../../../src/accounts/customizedCadenceBulkAccountLoader.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGpE,qBAAa,kCAAmC,SAAQ,iBAAiB;IACxE,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,uBAAuB,CAAgB;IAC/C,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,uBAAuB,CAAS;gBAGvC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,uBAAuB,EAAE,MAAM;IAUhC,OAAO,CAAC,iBAAiB;IAwBZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAIpB,oBAAoB;IAiBlC;;;;;OAKG;IACI,yBAAyB,CAC/B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,GAClB,IAAI;IAOP,OAAO,CAAC,sBAAsB;IAW9B;;;;;;;;;;;;;;OAcG;IACU,UAAU,CACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EAChD,sBAAsB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,MAAM,CAAC;IAmCX,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAuB7D,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAKtD,YAAY,IAAI,IAAI;IAmBpB,WAAW,IAAI,IAAI;IAWnB,uBAAuB,IAAI,IAAI;CAGtC"}
|
|
@@ -8,20 +8,21 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
8
8
|
constructor(connection, commitment, defaultPollingFrequency) {
|
|
9
9
|
super(connection, commitment, defaultPollingFrequency);
|
|
10
10
|
this.customIntervalId = null;
|
|
11
|
+
this.currentPollingFrequency = null;
|
|
11
12
|
this.accountFrequencies = new Map();
|
|
12
|
-
this.
|
|
13
|
+
this.lastPollingTimes = new Map();
|
|
13
14
|
this.defaultPollingFrequency = defaultPollingFrequency;
|
|
14
15
|
}
|
|
15
16
|
getAccountsToLoad() {
|
|
16
17
|
const currentTime = Date.now();
|
|
17
18
|
const accountsToLoad = [];
|
|
18
19
|
for (const [key, frequency] of this.accountFrequencies.entries()) {
|
|
19
|
-
const lastPollTime = this.
|
|
20
|
+
const lastPollTime = this.lastPollingTimes.get(key) || 0;
|
|
20
21
|
if (currentTime - lastPollTime >= frequency) {
|
|
21
22
|
const account = this.accountsToLoad.get(key);
|
|
22
23
|
if (account) {
|
|
23
24
|
accountsToLoad.push(account);
|
|
24
|
-
this.
|
|
25
|
+
this.lastPollingTimes.set(key, currentTime);
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
}
|
|
@@ -39,15 +40,22 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
39
40
|
}));
|
|
40
41
|
}
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Updates the polling frequency for an account. This affects all callbacks attached to this account.
|
|
45
|
+
*
|
|
46
|
+
* @param publicKey The public key of the account to set the custom polling frequency for
|
|
47
|
+
* @param newFrequency The new polling frequency in ms
|
|
48
|
+
*/
|
|
42
49
|
setCustomPollingFrequency(publicKey, newFrequency) {
|
|
43
50
|
const key = publicKey.toBase58();
|
|
44
51
|
this.accountFrequencies.set(key, newFrequency);
|
|
45
|
-
this.
|
|
52
|
+
this.lastPollingTimes.set(key, 0); // Reset last polling time to ensure immediate load
|
|
46
53
|
this.restartPollingIfNeeded(newFrequency);
|
|
47
54
|
}
|
|
48
55
|
restartPollingIfNeeded(newFrequency) {
|
|
49
|
-
|
|
50
|
-
|
|
56
|
+
if ((this.currentPollingFrequency &&
|
|
57
|
+
newFrequency < this.currentPollingFrequency) ||
|
|
58
|
+
!this.customIntervalId) {
|
|
51
59
|
this.stopPolling();
|
|
52
60
|
this.startPolling();
|
|
53
61
|
}
|
|
@@ -61,31 +69,49 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
61
69
|
* @returns A unique callback ID that can be used to remove this specific callback later
|
|
62
70
|
*
|
|
63
71
|
* The method will:
|
|
64
|
-
* 1. Create a new callback mapping for the account
|
|
65
|
-
* 2. Set up polling frequency tracking for the account
|
|
66
|
-
*
|
|
72
|
+
* 1. Create a new callback mapping for the account if it doesn't exist already
|
|
73
|
+
* 2. Set up polling frequency tracking for the account if it doesn't exist already. If previous polling frequency is faster than the new one,
|
|
74
|
+
* we will use the previous frequency.
|
|
75
|
+
* 3. Reset last polling time to 0 to ensure data fetch is triggered on the next poll. Note that this does not mean the account will be fetched immediately.
|
|
67
76
|
* 4. Automatically restart polling if this account needs a faster frequency than existing accounts
|
|
68
77
|
*/
|
|
69
78
|
async addAccount(publicKey, callback, customPollingFrequency) {
|
|
70
79
|
const callbackId = (0, uuid_1.v4)();
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
const existingAccountToLoad = this.accountsToLoad.get(publicKey.toString());
|
|
81
|
+
if (existingAccountToLoad) {
|
|
82
|
+
existingAccountToLoad.callbacks.set(callbackId, callback);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const callbacks = new Map();
|
|
86
|
+
callbacks.set(callbackId, callback);
|
|
87
|
+
const newAccountToLoad = {
|
|
88
|
+
publicKey,
|
|
89
|
+
callbacks,
|
|
90
|
+
};
|
|
91
|
+
this.accountsToLoad.set(publicKey.toString(), newAccountToLoad);
|
|
92
|
+
}
|
|
78
93
|
const key = publicKey.toBase58();
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
94
|
+
const previousFrequency = this.accountFrequencies.get(key) || this.defaultPollingFrequency;
|
|
95
|
+
const updatedFrequency = customPollingFrequency && customPollingFrequency < previousFrequency
|
|
96
|
+
? customPollingFrequency
|
|
97
|
+
: previousFrequency;
|
|
98
|
+
this.accountFrequencies.set(key, updatedFrequency);
|
|
99
|
+
this.lastPollingTimes.set(key, 0); // Reset last polling time to ensure immediate load
|
|
100
|
+
this.restartPollingIfNeeded(updatedFrequency);
|
|
83
101
|
return callbackId;
|
|
84
102
|
}
|
|
85
|
-
removeAccount(publicKey) {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
103
|
+
removeAccount(publicKey, callbackId) {
|
|
104
|
+
const existingAccountToLoad = this.accountsToLoad.get(publicKey.toString());
|
|
105
|
+
if (existingAccountToLoad) {
|
|
106
|
+
existingAccountToLoad.callbacks.delete(callbackId);
|
|
107
|
+
if (existingAccountToLoad.callbacks.size === 0) {
|
|
108
|
+
this.bufferAndSlotMap.delete(publicKey.toString());
|
|
109
|
+
this.accountsToLoad.delete(existingAccountToLoad.publicKey.toString());
|
|
110
|
+
const key = publicKey.toBase58();
|
|
111
|
+
this.accountFrequencies.delete(key);
|
|
112
|
+
this.lastPollingTimes.delete(key);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
89
115
|
if (this.accountsToLoad.size === 0) {
|
|
90
116
|
this.stopPolling();
|
|
91
117
|
}
|
|
@@ -103,6 +129,7 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
103
129
|
return;
|
|
104
130
|
}
|
|
105
131
|
const minFrequency = Math.min(...Array.from(this.accountFrequencies.values()), this.defaultPollingFrequency);
|
|
132
|
+
this.currentPollingFrequency = minFrequency;
|
|
106
133
|
this.customIntervalId = setInterval(() => {
|
|
107
134
|
this.handleAccountLoading().catch((error) => {
|
|
108
135
|
console.error('Error in account loading:', error);
|
|
@@ -114,8 +141,9 @@ class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccount
|
|
|
114
141
|
if (this.customIntervalId) {
|
|
115
142
|
clearInterval(this.customIntervalId);
|
|
116
143
|
this.customIntervalId = null;
|
|
144
|
+
this.currentPollingFrequency = null;
|
|
117
145
|
}
|
|
118
|
-
this.
|
|
146
|
+
this.lastPollingTimes.clear();
|
|
119
147
|
}
|
|
120
148
|
clearAccountFrequencies() {
|
|
121
149
|
this.accountFrequencies.clear();
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
import { Idl, IdlTypeDef } from '@coral-xyz/anchor/dist/cjs/idl';
|
|
5
|
+
import { AccountsCoder, BorshEventCoder, BorshInstructionCoder, Coder } from '@coral-xyz/anchor/dist/cjs/coder';
|
|
6
|
+
import { BorshTypesCoder } from '@coral-xyz/anchor/dist/cjs/coder/borsh/types';
|
|
7
|
+
export declare class CustomBorshCoder<A extends string = string, T extends string = string> implements Coder {
|
|
8
|
+
readonly idl: Idl;
|
|
9
|
+
/**
|
|
10
|
+
* Instruction coder.
|
|
11
|
+
*/
|
|
12
|
+
readonly instruction: BorshInstructionCoder;
|
|
13
|
+
/**
|
|
14
|
+
* Account coder.
|
|
15
|
+
*/
|
|
16
|
+
readonly accounts: CustomBorshAccountsCoder<A>;
|
|
17
|
+
/**
|
|
18
|
+
* Coder for events.
|
|
19
|
+
*/
|
|
20
|
+
readonly events: BorshEventCoder;
|
|
21
|
+
/**
|
|
22
|
+
* Coder for user-defined types.
|
|
23
|
+
*/
|
|
24
|
+
readonly types: BorshTypesCoder<T>;
|
|
25
|
+
constructor(idl: Idl);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Custom accounts coder that wraps BorshAccountsCoder to fix encode buffer sizing.
|
|
29
|
+
*/
|
|
30
|
+
export declare class CustomBorshAccountsCoder<A extends string = string> implements AccountsCoder {
|
|
31
|
+
private baseCoder;
|
|
32
|
+
private idl;
|
|
33
|
+
constructor(idl: Idl);
|
|
34
|
+
encode<T = any>(accountName: A, account: T): Promise<Buffer>;
|
|
35
|
+
decode<T = any>(accountName: A, data: Buffer): T;
|
|
36
|
+
decodeAny<T = any>(data: Buffer): T;
|
|
37
|
+
decodeUnchecked<T = any>(accountName: A, ix: Buffer): T;
|
|
38
|
+
memcmp(accountName: A, appendData?: Buffer): any;
|
|
39
|
+
size(idlAccount: IdlTypeDef): number;
|
|
40
|
+
/**
|
|
41
|
+
* Calculates and returns a unique 8 byte discriminator prepended to all anchor accounts.
|
|
42
|
+
*
|
|
43
|
+
* @param name The name of the account to calculate the discriminator.
|
|
44
|
+
*/
|
|
45
|
+
static accountDiscriminator(name: string): Buffer;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=customCoder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customCoder.d.ts","sourceRoot":"","sources":["../../../src/decode/customCoder.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACN,aAAa,EAEb,eAAe,EACf,qBAAqB,EACrB,KAAK,EACL,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAG/E,qBAAa,gBAAgB,CAC5B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,MAAM,GAAG,MAAM,CACxB,YAAW,KAAK;IAEjB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;gBAEvB,GAAG,EAAE,GAAG;CAOpB;AAED;;GAEG;AACH,qBAAa,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAC9D,YAAW,aAAa;IAExB,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,GAAG,CAAM;gBAEE,GAAG,EAAE,GAAG;IAKd,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBlE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAIhD,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAInC,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAIvD,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG;IAIhD,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAI3C;;;;OAIG;WACW,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAOxD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CustomBorshAccountsCoder = exports.CustomBorshCoder = void 0;
|
|
7
|
+
const buffer_1 = require("buffer");
|
|
8
|
+
const camelcase_1 = __importDefault(require("camelcase"));
|
|
9
|
+
const coder_1 = require("@coral-xyz/anchor/dist/cjs/coder");
|
|
10
|
+
const types_1 = require("@coral-xyz/anchor/dist/cjs/coder/borsh/types");
|
|
11
|
+
const discriminator_1 = require("@coral-xyz/anchor/dist/cjs/coder/borsh/discriminator");
|
|
12
|
+
class CustomBorshCoder {
|
|
13
|
+
constructor(idl) {
|
|
14
|
+
this.instruction = new coder_1.BorshInstructionCoder(idl);
|
|
15
|
+
this.accounts = new CustomBorshAccountsCoder(idl);
|
|
16
|
+
this.events = new coder_1.BorshEventCoder(idl);
|
|
17
|
+
this.types = new types_1.BorshTypesCoder(idl);
|
|
18
|
+
this.idl = idl;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.CustomBorshCoder = CustomBorshCoder;
|
|
22
|
+
/**
|
|
23
|
+
* Custom accounts coder that wraps BorshAccountsCoder to fix encode buffer sizing.
|
|
24
|
+
*/
|
|
25
|
+
class CustomBorshAccountsCoder {
|
|
26
|
+
constructor(idl) {
|
|
27
|
+
this.baseCoder = new coder_1.BorshAccountsCoder(idl);
|
|
28
|
+
this.idl = idl;
|
|
29
|
+
}
|
|
30
|
+
async encode(accountName, account) {
|
|
31
|
+
var _a;
|
|
32
|
+
const idlAcc = (_a = this.idl.accounts) === null || _a === void 0 ? void 0 : _a.find((acc) => acc.name === accountName);
|
|
33
|
+
if (!idlAcc) {
|
|
34
|
+
throw new Error(`Unknown account not found in idl: ${accountName}`);
|
|
35
|
+
}
|
|
36
|
+
const buffer = buffer_1.Buffer.alloc(this.size(idlAcc)); // fix encode issue - use proper size instead of fixed 1000
|
|
37
|
+
const layout = this.baseCoder['accountLayouts'].get(accountName);
|
|
38
|
+
if (!layout) {
|
|
39
|
+
throw new Error(`Unknown account: ${accountName}`);
|
|
40
|
+
}
|
|
41
|
+
const len = layout.encode(account, buffer);
|
|
42
|
+
const accountData = buffer.slice(0, len);
|
|
43
|
+
const discriminator = coder_1.BorshAccountsCoder.accountDiscriminator(accountName);
|
|
44
|
+
return buffer_1.Buffer.concat([discriminator, accountData]);
|
|
45
|
+
}
|
|
46
|
+
// Delegate all other methods to the base coder
|
|
47
|
+
decode(accountName, data) {
|
|
48
|
+
return this.baseCoder.decode(accountName, data);
|
|
49
|
+
}
|
|
50
|
+
decodeAny(data) {
|
|
51
|
+
return this.baseCoder.decodeAny(data);
|
|
52
|
+
}
|
|
53
|
+
decodeUnchecked(accountName, ix) {
|
|
54
|
+
return this.baseCoder.decodeUnchecked(accountName, ix);
|
|
55
|
+
}
|
|
56
|
+
memcmp(accountName, appendData) {
|
|
57
|
+
return this.baseCoder.memcmp(accountName, appendData);
|
|
58
|
+
}
|
|
59
|
+
size(idlAccount) {
|
|
60
|
+
return this.baseCoder.size(idlAccount);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Calculates and returns a unique 8 byte discriminator prepended to all anchor accounts.
|
|
64
|
+
*
|
|
65
|
+
* @param name The name of the account to calculate the discriminator.
|
|
66
|
+
*/
|
|
67
|
+
static accountDiscriminator(name) {
|
|
68
|
+
const discriminatorPreimage = `account:${(0, camelcase_1.default)(name, {
|
|
69
|
+
pascalCase: true,
|
|
70
|
+
preserveConsecutiveUppercase: true,
|
|
71
|
+
})}`;
|
|
72
|
+
return (0, discriminator_1.discriminator)(discriminatorPreimage);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.CustomBorshAccountsCoder = CustomBorshAccountsCoder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driftClient.d.ts","sourceRoot":"","sources":["../../src/driftClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driftClient.d.ts","sourceRoot":"","sources":["../../src/driftClient.ts"],"names":[],"mappings":"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"}
|
package/lib/node/driftClient.js
CHANGED
|
@@ -105,7 +105,7 @@ class DriftClient {
|
|
|
105
105
|
this.provider = new anchor_1.AnchorProvider(config.connection,
|
|
106
106
|
// @ts-ignore
|
|
107
107
|
config.wallet, this.opts);
|
|
108
|
-
this.program = new anchor_1.Program(drift_json_1.default, (_d = config.programID) !== null && _d !== void 0 ? _d : new web3_js_1.PublicKey(config_1.DRIFT_PROGRAM_ID), this.provider);
|
|
108
|
+
this.program = new anchor_1.Program(drift_json_1.default, (_d = config.programID) !== null && _d !== void 0 ? _d : new web3_js_1.PublicKey(config_1.DRIFT_PROGRAM_ID), this.provider, config.coder);
|
|
109
109
|
this.authority = (_e = config.authority) !== null && _e !== void 0 ? _e : this.wallet.publicKey;
|
|
110
110
|
this.activeSubAccountId = (_f = config.activeSubAccountId) !== null && _f !== void 0 ? _f : 0;
|
|
111
111
|
this.skipLoadUsers = (_g = config.skipLoadUsers) !== null && _g !== void 0 ? _g : false;
|
|
@@ -6,6 +6,7 @@ import { DriftEnv } from './config';
|
|
|
6
6
|
import { TxSender } from './tx/types';
|
|
7
7
|
import { TxHandler, TxHandlerConfig } from './tx/txHandler';
|
|
8
8
|
import { DelistedMarketSetting, GrpcConfigs } from './accounts/types';
|
|
9
|
+
import { Coder } from '@coral-xyz/anchor';
|
|
9
10
|
export type DriftClientConfig = {
|
|
10
11
|
connection: Connection;
|
|
11
12
|
wallet: IWallet;
|
|
@@ -34,6 +35,7 @@ export type DriftClientConfig = {
|
|
|
34
35
|
txHandlerConfig?: TxHandlerConfig;
|
|
35
36
|
delistedMarketSetting?: DelistedMarketSetting;
|
|
36
37
|
useHotWalletAdmin?: boolean;
|
|
38
|
+
coder?: Coder;
|
|
37
39
|
};
|
|
38
40
|
export type DriftClientSubscriptionConfig = {
|
|
39
41
|
type: 'grpc';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driftClientConfig.d.ts","sourceRoot":"","sources":["../../src/driftClientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"driftClientConfig.d.ts","sourceRoot":"","sources":["../../src/driftClientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mBAAmB,CAAC,EAAE,6BAA6B,CAAC;IACpD,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACtC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC1B,GACD;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;CACvB,GACD;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,iBAAiB,CAAC;CAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,8 +5,9 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
5
5
|
|
|
6
6
|
export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
7
7
|
private customIntervalId: NodeJS.Timeout | null;
|
|
8
|
+
private currentPollingFrequency: number | null;
|
|
8
9
|
private accountFrequencies: Map<string, number>;
|
|
9
|
-
private
|
|
10
|
+
private lastPollingTimes: Map<string, number>;
|
|
10
11
|
private defaultPollingFrequency: number;
|
|
11
12
|
|
|
12
13
|
constructor(
|
|
@@ -16,8 +17,9 @@ export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
|
16
17
|
) {
|
|
17
18
|
super(connection, commitment, defaultPollingFrequency);
|
|
18
19
|
this.customIntervalId = null;
|
|
20
|
+
this.currentPollingFrequency = null;
|
|
19
21
|
this.accountFrequencies = new Map();
|
|
20
|
-
this.
|
|
22
|
+
this.lastPollingTimes = new Map();
|
|
21
23
|
this.defaultPollingFrequency = defaultPollingFrequency;
|
|
22
24
|
}
|
|
23
25
|
|
|
@@ -32,12 +34,12 @@ export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
|
32
34
|
}> = [];
|
|
33
35
|
|
|
34
36
|
for (const [key, frequency] of this.accountFrequencies.entries()) {
|
|
35
|
-
const lastPollTime = this.
|
|
37
|
+
const lastPollTime = this.lastPollingTimes.get(key) || 0;
|
|
36
38
|
if (currentTime - lastPollTime >= frequency) {
|
|
37
39
|
const account = this.accountsToLoad.get(key);
|
|
38
40
|
if (account) {
|
|
39
41
|
accountsToLoad.push(account);
|
|
40
|
-
this.
|
|
42
|
+
this.lastPollingTimes.set(key, currentTime);
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
}
|
|
@@ -66,23 +68,28 @@ export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
|
|
71
|
+
/**
|
|
72
|
+
* Updates the polling frequency for an account. This affects all callbacks attached to this account.
|
|
73
|
+
*
|
|
74
|
+
* @param publicKey The public key of the account to set the custom polling frequency for
|
|
75
|
+
* @param newFrequency The new polling frequency in ms
|
|
76
|
+
*/
|
|
69
77
|
public setCustomPollingFrequency(
|
|
70
78
|
publicKey: PublicKey,
|
|
71
79
|
newFrequency: number
|
|
72
80
|
): void {
|
|
73
81
|
const key = publicKey.toBase58();
|
|
74
82
|
this.accountFrequencies.set(key, newFrequency);
|
|
75
|
-
this.
|
|
83
|
+
this.lastPollingTimes.set(key, 0); // Reset last polling time to ensure immediate load
|
|
76
84
|
this.restartPollingIfNeeded(newFrequency);
|
|
77
85
|
}
|
|
78
86
|
|
|
79
87
|
private restartPollingIfNeeded(newFrequency: number): void {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (newFrequency < currentMinFrequency || !this.customIntervalId) {
|
|
88
|
+
if (
|
|
89
|
+
(this.currentPollingFrequency &&
|
|
90
|
+
newFrequency < this.currentPollingFrequency) ||
|
|
91
|
+
!this.customIntervalId
|
|
92
|
+
) {
|
|
86
93
|
this.stopPolling();
|
|
87
94
|
this.startPolling();
|
|
88
95
|
}
|
|
@@ -97,9 +104,10 @@ export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
|
97
104
|
* @returns A unique callback ID that can be used to remove this specific callback later
|
|
98
105
|
*
|
|
99
106
|
* The method will:
|
|
100
|
-
* 1. Create a new callback mapping for the account
|
|
101
|
-
* 2. Set up polling frequency tracking for the account
|
|
102
|
-
*
|
|
107
|
+
* 1. Create a new callback mapping for the account if it doesn't exist already
|
|
108
|
+
* 2. Set up polling frequency tracking for the account if it doesn't exist already. If previous polling frequency is faster than the new one,
|
|
109
|
+
* we will use the previous frequency.
|
|
110
|
+
* 3. Reset last polling time to 0 to ensure data fetch is triggered on the next poll. Note that this does not mean the account will be fetched immediately.
|
|
103
111
|
* 4. Automatically restart polling if this account needs a faster frequency than existing accounts
|
|
104
112
|
*/
|
|
105
113
|
public async addAccount(
|
|
@@ -108,28 +116,53 @@ export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
|
108
116
|
customPollingFrequency?: number
|
|
109
117
|
): Promise<string> {
|
|
110
118
|
const callbackId = uuidv4();
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
119
|
+
const existingAccountToLoad = this.accountsToLoad.get(publicKey.toString());
|
|
120
|
+
|
|
121
|
+
if (existingAccountToLoad) {
|
|
122
|
+
existingAccountToLoad.callbacks.set(callbackId, callback);
|
|
123
|
+
} else {
|
|
124
|
+
const callbacks = new Map<
|
|
125
|
+
string,
|
|
126
|
+
(buffer: Buffer, slot: number) => void
|
|
127
|
+
>();
|
|
128
|
+
callbacks.set(callbackId, callback);
|
|
129
|
+
const newAccountToLoad = {
|
|
130
|
+
publicKey,
|
|
131
|
+
callbacks,
|
|
132
|
+
};
|
|
133
|
+
this.accountsToLoad.set(publicKey.toString(), newAccountToLoad);
|
|
134
|
+
}
|
|
118
135
|
|
|
119
136
|
const key = publicKey.toBase58();
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
137
|
+
const previousFrequency =
|
|
138
|
+
this.accountFrequencies.get(key) || this.defaultPollingFrequency;
|
|
139
|
+
const updatedFrequency =
|
|
140
|
+
customPollingFrequency && customPollingFrequency < previousFrequency
|
|
141
|
+
? customPollingFrequency
|
|
142
|
+
: previousFrequency;
|
|
143
|
+
|
|
144
|
+
this.accountFrequencies.set(key, updatedFrequency);
|
|
145
|
+
this.lastPollingTimes.set(key, 0); // Reset last polling time to ensure immediate load
|
|
123
146
|
|
|
124
|
-
this.restartPollingIfNeeded(
|
|
147
|
+
this.restartPollingIfNeeded(updatedFrequency);
|
|
125
148
|
|
|
126
149
|
return callbackId;
|
|
127
150
|
}
|
|
128
151
|
|
|
129
|
-
public removeAccount(publicKey: PublicKey): void {
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
152
|
+
public removeAccount(publicKey: PublicKey, callbackId: string): void {
|
|
153
|
+
const existingAccountToLoad = this.accountsToLoad.get(publicKey.toString());
|
|
154
|
+
|
|
155
|
+
if (existingAccountToLoad) {
|
|
156
|
+
existingAccountToLoad.callbacks.delete(callbackId);
|
|
157
|
+
|
|
158
|
+
if (existingAccountToLoad.callbacks.size === 0) {
|
|
159
|
+
this.bufferAndSlotMap.delete(publicKey.toString());
|
|
160
|
+
this.accountsToLoad.delete(existingAccountToLoad.publicKey.toString());
|
|
161
|
+
const key = publicKey.toBase58();
|
|
162
|
+
this.accountFrequencies.delete(key);
|
|
163
|
+
this.lastPollingTimes.delete(key);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
133
166
|
|
|
134
167
|
if (this.accountsToLoad.size === 0) {
|
|
135
168
|
this.stopPolling();
|
|
@@ -154,6 +187,8 @@ export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
|
154
187
|
this.defaultPollingFrequency
|
|
155
188
|
);
|
|
156
189
|
|
|
190
|
+
this.currentPollingFrequency = minFrequency;
|
|
191
|
+
|
|
157
192
|
this.customIntervalId = setInterval(() => {
|
|
158
193
|
this.handleAccountLoading().catch((error) => {
|
|
159
194
|
console.error('Error in account loading:', error);
|
|
@@ -167,8 +202,9 @@ export class CustomizedCadenceBulkAccountLoader extends BulkAccountLoader {
|
|
|
167
202
|
if (this.customIntervalId) {
|
|
168
203
|
clearInterval(this.customIntervalId);
|
|
169
204
|
this.customIntervalId = null;
|
|
205
|
+
this.currentPollingFrequency = null;
|
|
170
206
|
}
|
|
171
|
-
this.
|
|
207
|
+
this.lastPollingTimes.clear();
|
|
172
208
|
}
|
|
173
209
|
|
|
174
210
|
public clearAccountFrequencies(): void {
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Buffer } from 'buffer';
|
|
2
|
+
import camelcase from 'camelcase';
|
|
3
|
+
import { Idl, IdlTypeDef } from '@coral-xyz/anchor/dist/cjs/idl';
|
|
4
|
+
import {
|
|
5
|
+
AccountsCoder,
|
|
6
|
+
BorshAccountsCoder,
|
|
7
|
+
BorshEventCoder,
|
|
8
|
+
BorshInstructionCoder,
|
|
9
|
+
Coder,
|
|
10
|
+
} from '@coral-xyz/anchor/dist/cjs/coder';
|
|
11
|
+
import { BorshTypesCoder } from '@coral-xyz/anchor/dist/cjs/coder/borsh/types';
|
|
12
|
+
import { discriminator } from '@coral-xyz/anchor/dist/cjs/coder/borsh/discriminator';
|
|
13
|
+
|
|
14
|
+
export class CustomBorshCoder<
|
|
15
|
+
A extends string = string,
|
|
16
|
+
T extends string = string,
|
|
17
|
+
> implements Coder
|
|
18
|
+
{
|
|
19
|
+
readonly idl: Idl;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Instruction coder.
|
|
23
|
+
*/
|
|
24
|
+
readonly instruction: BorshInstructionCoder;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Account coder.
|
|
28
|
+
*/
|
|
29
|
+
readonly accounts: CustomBorshAccountsCoder<A>;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Coder for events.
|
|
33
|
+
*/
|
|
34
|
+
readonly events: BorshEventCoder;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Coder for user-defined types.
|
|
38
|
+
*/
|
|
39
|
+
readonly types: BorshTypesCoder<T>;
|
|
40
|
+
|
|
41
|
+
constructor(idl: Idl) {
|
|
42
|
+
this.instruction = new BorshInstructionCoder(idl);
|
|
43
|
+
this.accounts = new CustomBorshAccountsCoder(idl);
|
|
44
|
+
this.events = new BorshEventCoder(idl);
|
|
45
|
+
this.types = new BorshTypesCoder(idl);
|
|
46
|
+
this.idl = idl;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Custom accounts coder that wraps BorshAccountsCoder to fix encode buffer sizing.
|
|
52
|
+
*/
|
|
53
|
+
export class CustomBorshAccountsCoder<A extends string = string>
|
|
54
|
+
implements AccountsCoder
|
|
55
|
+
{
|
|
56
|
+
private baseCoder: BorshAccountsCoder<A>;
|
|
57
|
+
private idl: Idl;
|
|
58
|
+
|
|
59
|
+
public constructor(idl: Idl) {
|
|
60
|
+
this.baseCoder = new BorshAccountsCoder<A>(idl);
|
|
61
|
+
this.idl = idl;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
public async encode<T = any>(accountName: A, account: T): Promise<Buffer> {
|
|
65
|
+
const idlAcc = this.idl.accounts?.find((acc) => acc.name === accountName);
|
|
66
|
+
if (!idlAcc) {
|
|
67
|
+
throw new Error(`Unknown account not found in idl: ${accountName}`);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const buffer = Buffer.alloc(this.size(idlAcc)); // fix encode issue - use proper size instead of fixed 1000
|
|
71
|
+
const layout = this.baseCoder['accountLayouts'].get(accountName);
|
|
72
|
+
if (!layout) {
|
|
73
|
+
throw new Error(`Unknown account: ${accountName}`);
|
|
74
|
+
}
|
|
75
|
+
const len = layout.encode(account, buffer);
|
|
76
|
+
const accountData = buffer.slice(0, len);
|
|
77
|
+
const discriminator = BorshAccountsCoder.accountDiscriminator(accountName);
|
|
78
|
+
return Buffer.concat([discriminator, accountData]);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Delegate all other methods to the base coder
|
|
82
|
+
public decode<T = any>(accountName: A, data: Buffer): T {
|
|
83
|
+
return this.baseCoder.decode(accountName, data);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
public decodeAny<T = any>(data: Buffer): T {
|
|
87
|
+
return this.baseCoder.decodeAny(data);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
public decodeUnchecked<T = any>(accountName: A, ix: Buffer): T {
|
|
91
|
+
return this.baseCoder.decodeUnchecked(accountName, ix);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
public memcmp(accountName: A, appendData?: Buffer): any {
|
|
95
|
+
return this.baseCoder.memcmp(accountName, appendData);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
public size(idlAccount: IdlTypeDef): number {
|
|
99
|
+
return this.baseCoder.size(idlAccount);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Calculates and returns a unique 8 byte discriminator prepended to all anchor accounts.
|
|
104
|
+
*
|
|
105
|
+
* @param name The name of the account to calculate the discriminator.
|
|
106
|
+
*/
|
|
107
|
+
public static accountDiscriminator(name: string): Buffer {
|
|
108
|
+
const discriminatorPreimage = `account:${camelcase(name, {
|
|
109
|
+
pascalCase: true,
|
|
110
|
+
preserveConsecutiveUppercase: true,
|
|
111
|
+
})}`;
|
|
112
|
+
return discriminator(discriminatorPreimage);
|
|
113
|
+
}
|
|
114
|
+
}
|
package/src/driftClient.ts
CHANGED
|
@@ -273,7 +273,8 @@ export class DriftClient {
|
|
|
273
273
|
this.program = new Program(
|
|
274
274
|
driftIDL as Idl,
|
|
275
275
|
config.programID ?? new PublicKey(DRIFT_PROGRAM_ID),
|
|
276
|
-
this.provider
|
|
276
|
+
this.provider,
|
|
277
|
+
config.coder
|
|
277
278
|
);
|
|
278
279
|
|
|
279
280
|
this.authority = config.authority ?? this.wallet.publicKey;
|
package/src/driftClientConfig.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { DriftEnv } from './config';
|
|
|
12
12
|
import { TxSender } from './tx/types';
|
|
13
13
|
import { TxHandler, TxHandlerConfig } from './tx/txHandler';
|
|
14
14
|
import { DelistedMarketSetting, GrpcConfigs } from './accounts/types';
|
|
15
|
+
import { Coder } from '@coral-xyz/anchor';
|
|
15
16
|
|
|
16
17
|
export type DriftClientConfig = {
|
|
17
18
|
connection: Connection;
|
|
@@ -41,6 +42,7 @@ export type DriftClientConfig = {
|
|
|
41
42
|
txHandlerConfig?: TxHandlerConfig;
|
|
42
43
|
delistedMarketSetting?: DelistedMarketSetting;
|
|
43
44
|
useHotWalletAdmin?: boolean;
|
|
45
|
+
coder?: Coder;
|
|
44
46
|
};
|
|
45
47
|
|
|
46
48
|
export type DriftClientSubscriptionConfig =
|
|
@@ -54,8 +54,8 @@ describe('CustomizedCadenceBulkAccountLoader', () => {
|
|
|
54
54
|
const customFrequency = 500;
|
|
55
55
|
const callback = () => {};
|
|
56
56
|
|
|
57
|
-
await loader.addAccount(pubkey, callback, customFrequency);
|
|
58
|
-
loader.removeAccount(pubkey);
|
|
57
|
+
const cid = await loader.addAccount(pubkey, callback, customFrequency);
|
|
58
|
+
loader.removeAccount(pubkey, cid);
|
|
59
59
|
|
|
60
60
|
expect(loader.getAccountCadence(pubkey)).to.equal(null);
|
|
61
61
|
});
|
package/tests/dlob/helpers.ts
CHANGED
|
@@ -146,6 +146,9 @@ export const mockAMM: AMM = {
|
|
|
146
146
|
netUnsettledFundingPnl: new BN(0),
|
|
147
147
|
quoteAssetAmountWithUnsettledLp: new BN(0),
|
|
148
148
|
referencePriceOffset: 0,
|
|
149
|
+
|
|
150
|
+
takerSpeedBumpOverride: 0,
|
|
151
|
+
ammSpreadAdjustment: 0,
|
|
149
152
|
};
|
|
150
153
|
|
|
151
154
|
export const mockPerpMarkets: Array<PerpMarketAccount> = [
|