@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 CHANGED
@@ -1 +1 @@
1
- 2.124.0-beta.7
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 lastPollingTime;
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
- * 3. Reset last polling time to 0 to ensure immediate data fetch
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.lastPollingTime = new Map();
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.lastPollingTime.get(key) || 0;
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.lastPollingTime.set(key, currentTime);
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.lastPollingTime.set(key, 0); // Reset last polling time to ensure immediate load
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
- const currentMinFrequency = Math.min(...Array.from(this.accountFrequencies.values()), this.defaultPollingFrequency);
50
- if (newFrequency < currentMinFrequency || !this.customIntervalId) {
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
- * 3. Reset last polling time to 0 to ensure immediate data fetch
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 callbacks = new Map();
72
- callbacks.set(callbackId, callback);
73
- const newAccountToLoad = {
74
- publicKey,
75
- callbacks,
76
- };
77
- this.accountsToLoad.set(publicKey.toString(), newAccountToLoad);
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 frequency = customPollingFrequency || this.defaultPollingFrequency;
80
- this.accountFrequencies.set(key, frequency);
81
- this.lastPollingTime.set(key, 0); // Reset last polling time to ensure immediate load
82
- this.restartPollingIfNeeded(frequency);
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 key = publicKey.toBase58();
87
- this.accountFrequencies.delete(key);
88
- this.lastPollingTime.delete(key);
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.lastPollingTime.clear();
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 lastPollingTime;
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
- * 3. Reset last polling time to 0 to ensure immediate data fetch
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,eAAe,CAAsB;IAC7C,OAAO,CAAC,uBAAuB,CAAS;gBAGvC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,uBAAuB,EAAE,MAAM;IAShC,OAAO,CAAC,iBAAiB;IAwBZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAIpB,oBAAoB;IAiB3B,yBAAyB,CAC/B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,GAClB,IAAI;IAOP,OAAO,CAAC,sBAAsB;IAY9B;;;;;;;;;;;;;OAaG;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;IAoBX,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAazC,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAKtD,YAAY,IAAI,IAAI;IAiBpB,WAAW,IAAI,IAAI;IAUnB,uBAAuB,IAAI,IAAI;CAGtC"}
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.lastPollingTime = new Map();
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.lastPollingTime.get(key) || 0;
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.lastPollingTime.set(key, currentTime);
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.lastPollingTime.set(key, 0); // Reset last polling time to ensure immediate load
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
- const currentMinFrequency = Math.min(...Array.from(this.accountFrequencies.values()), this.defaultPollingFrequency);
50
- if (newFrequency < currentMinFrequency || !this.customIntervalId) {
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
- * 3. Reset last polling time to 0 to ensure immediate data fetch
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 callbacks = new Map();
72
- callbacks.set(callbackId, callback);
73
- const newAccountToLoad = {
74
- publicKey,
75
- callbacks,
76
- };
77
- this.accountsToLoad.set(publicKey.toString(), newAccountToLoad);
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 frequency = customPollingFrequency || this.defaultPollingFrequency;
80
- this.accountFrequencies.set(key, frequency);
81
- this.lastPollingTime.set(key, 0); // Reset last polling time to ensure immediate load
82
- this.restartPollingIfNeeded(frequency);
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 key = publicKey.toBase58();
87
- this.accountFrequencies.delete(key);
88
- this.lastPollingTime.delete(key);
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.lastPollingTime.clear();
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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"}
@@ -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;AAEtE,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;CAC5B,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk",
3
- "version": "2.124.0-beta.7",
3
+ "version": "2.124.0-beta.9",
4
4
  "main": "lib/node/index.js",
5
5
  "types": "lib/node/index.d.ts",
6
6
  "browser": "./lib/browser/index.js",
@@ -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 lastPollingTime: Map<string, number>;
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.lastPollingTime = new Map();
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.lastPollingTime.get(key) || 0;
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.lastPollingTime.set(key, currentTime);
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.lastPollingTime.set(key, 0); // Reset last polling time to ensure immediate load
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
- const currentMinFrequency = Math.min(
81
- ...Array.from(this.accountFrequencies.values()),
82
- this.defaultPollingFrequency
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
- * 3. Reset last polling time to 0 to ensure immediate data fetch
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 callbacks = new Map<string, (buffer: Buffer, slot: number) => void>();
112
- callbacks.set(callbackId, callback);
113
- const newAccountToLoad = {
114
- publicKey,
115
- callbacks,
116
- };
117
- this.accountsToLoad.set(publicKey.toString(), newAccountToLoad);
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 frequency = customPollingFrequency || this.defaultPollingFrequency;
121
- this.accountFrequencies.set(key, frequency);
122
- this.lastPollingTime.set(key, 0); // Reset last polling time to ensure immediate load
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(frequency);
147
+ this.restartPollingIfNeeded(updatedFrequency);
125
148
 
126
149
  return callbackId;
127
150
  }
128
151
 
129
- public removeAccount(publicKey: PublicKey): void {
130
- const key = publicKey.toBase58();
131
- this.accountFrequencies.delete(key);
132
- this.lastPollingTime.delete(key);
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.lastPollingTime.clear();
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
+ }
@@ -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;
@@ -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
  });
@@ -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> = [