@ledgerhq/coin-solana 0.37.0-nightly.20251125074637 → 0.38.0-nightly.20251126023856

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.
Files changed (111) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +52 -8
  3. package/lib/bridge/bridge.d.ts +2 -4
  4. package/lib/bridge/bridge.d.ts.map +1 -1
  5. package/lib/bridge/bridge.js +15 -15
  6. package/lib/bridge/bridge.js.map +1 -1
  7. package/lib/bridge/js.d.ts.map +1 -1
  8. package/lib/bridge/js.js +8 -8
  9. package/lib/bridge/js.js.map +1 -1
  10. package/lib/config.d.ts +0 -1
  11. package/lib/config.d.ts.map +1 -1
  12. package/lib/config.js.map +1 -1
  13. package/lib/network/chain/index.d.ts.map +1 -1
  14. package/lib/network/chain/index.js +29 -38
  15. package/lib/network/chain/index.js.map +1 -1
  16. package/lib/network/chain/web3.d.ts.map +1 -1
  17. package/lib/network/chain/web3.js +9 -5
  18. package/lib/network/chain/web3.js.map +1 -1
  19. package/lib/network/index.d.ts +0 -2
  20. package/lib/network/index.d.ts.map +1 -1
  21. package/lib/network/index.js +1 -5
  22. package/lib/network/index.js.map +1 -1
  23. package/lib/network/nft/index.js +3 -3
  24. package/lib/network/nft/index.js.map +1 -1
  25. package/lib/preload.d.ts +1 -1
  26. package/lib/preload.d.ts.map +1 -1
  27. package/lib/preload.js +1 -2
  28. package/lib/preload.js.map +1 -1
  29. package/lib/signOperation.d.ts +1 -1
  30. package/lib/signOperation.d.ts.map +1 -1
  31. package/lib/signOperation.js +1 -1
  32. package/lib/signOperation.js.map +1 -1
  33. package/lib/synchronization.d.ts.map +1 -1
  34. package/lib/synchronization.js +9 -5
  35. package/lib/synchronization.js.map +1 -1
  36. package/lib-es/bridge/bridge.d.ts +2 -4
  37. package/lib-es/bridge/bridge.d.ts.map +1 -1
  38. package/lib-es/bridge/bridge.js +15 -15
  39. package/lib-es/bridge/bridge.js.map +1 -1
  40. package/lib-es/bridge/js.d.ts.map +1 -1
  41. package/lib-es/bridge/js.js +9 -9
  42. package/lib-es/bridge/js.js.map +1 -1
  43. package/lib-es/config.d.ts +0 -1
  44. package/lib-es/config.d.ts.map +1 -1
  45. package/lib-es/config.js.map +1 -1
  46. package/lib-es/network/chain/index.d.ts.map +1 -1
  47. package/lib-es/network/chain/index.js +29 -38
  48. package/lib-es/network/chain/index.js.map +1 -1
  49. package/lib-es/network/chain/web3.d.ts.map +1 -1
  50. package/lib-es/network/chain/web3.js +9 -5
  51. package/lib-es/network/chain/web3.js.map +1 -1
  52. package/lib-es/network/index.d.ts +0 -2
  53. package/lib-es/network/index.d.ts.map +1 -1
  54. package/lib-es/network/index.js +0 -2
  55. package/lib-es/network/index.js.map +1 -1
  56. package/lib-es/network/nft/index.js +1 -1
  57. package/lib-es/network/nft/index.js.map +1 -1
  58. package/lib-es/preload.d.ts +1 -1
  59. package/lib-es/preload.d.ts.map +1 -1
  60. package/lib-es/preload.js +1 -2
  61. package/lib-es/preload.js.map +1 -1
  62. package/lib-es/signOperation.d.ts +1 -1
  63. package/lib-es/signOperation.d.ts.map +1 -1
  64. package/lib-es/signOperation.js +1 -1
  65. package/lib-es/signOperation.js.map +1 -1
  66. package/lib-es/synchronization.d.ts.map +1 -1
  67. package/lib-es/synchronization.js +9 -5
  68. package/lib-es/synchronization.js.map +1 -1
  69. package/package.json +6 -8
  70. package/src/__tests__/getTransactions.test.ts +81 -0
  71. package/src/__tests__/unit/hw-signMessage.unit.test.ts +0 -1
  72. package/src/bridge/bridge.ts +24 -33
  73. package/src/bridge/js.ts +9 -25
  74. package/src/config.ts +0 -1
  75. package/src/network/chain/index.ts +29 -38
  76. package/src/network/chain/web3.integration.test.ts +21 -1
  77. package/src/network/chain/web3.ts +11 -5
  78. package/src/network/index.ts +0 -2
  79. package/src/network/nft/index.ts +1 -1
  80. package/src/preload.test.ts +3 -3
  81. package/src/preload.ts +1 -3
  82. package/src/signOperation.test.ts +2 -2
  83. package/src/signOperation.ts +2 -2
  84. package/src/synchronization.ts +9 -5
  85. package/lib/network/cached.d.ts +0 -3
  86. package/lib/network/cached.d.ts.map +0 -1
  87. package/lib/network/cached.js +0 -56
  88. package/lib/network/cached.js.map +0 -1
  89. package/lib/network/queued.d.ts +0 -3
  90. package/lib/network/queued.d.ts.map +0 -1
  91. package/lib/network/queued.js +0 -27
  92. package/lib/network/queued.js.map +0 -1
  93. package/lib/network/traced.d.ts +0 -3
  94. package/lib/network/traced.d.ts.map +0 -1
  95. package/lib/network/traced.js +0 -80
  96. package/lib/network/traced.js.map +0 -1
  97. package/lib-es/network/cached.d.ts +0 -3
  98. package/lib-es/network/cached.d.ts.map +0 -1
  99. package/lib-es/network/cached.js +0 -49
  100. package/lib-es/network/cached.js.map +0 -1
  101. package/lib-es/network/queued.d.ts +0 -3
  102. package/lib-es/network/queued.d.ts.map +0 -1
  103. package/lib-es/network/queued.js +0 -23
  104. package/lib-es/network/queued.js.map +0 -1
  105. package/lib-es/network/traced.d.ts +0 -3
  106. package/lib-es/network/traced.d.ts.map +0 -1
  107. package/lib-es/network/traced.js +0 -76
  108. package/lib-es/network/traced.js.map +0 -1
  109. package/src/network/cached.ts +0 -111
  110. package/src/network/queued.ts +0 -25
  111. package/src/network/traced.ts +0 -89
@@ -1 +1 @@
1
- {"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../src/synchronization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synchronization.js","sourceRoot":"","sources":["../src/synchronization.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-solana",
3
- "version": "0.37.0-nightly.20251125074637",
3
+ "version": "0.38.0-nightly.20251126023856",
4
4
  "description": "Ledger Solana Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -52,19 +52,18 @@
52
52
  "invariant": "^2.2.2",
53
53
  "ky": "1.7.5",
54
54
  "lodash": "^4.17.21",
55
- "object-hash": "^2.2.0",
56
55
  "rxjs": "^7.8.1",
57
56
  "semver": "7.7.1",
58
57
  "superstruct": "0.16.7",
59
- "@ledgerhq/coin-framework": "^6.9.0-nightly.20251125074637",
60
- "@ledgerhq/cryptoassets": "^13.33.0-nightly.20251125074637",
58
+ "@ledgerhq/coin-framework": "^6.10.0-nightly.20251126023856",
59
+ "@ledgerhq/cryptoassets": "^13.34.0-nightly.20251126023856",
61
60
  "@ledgerhq/devices": "8.7.0",
62
61
  "@ledgerhq/errors": "^6.27.0",
63
- "@ledgerhq/live-env": "^2.21.0-nightly.20251125074637",
64
- "@ledgerhq/live-network": "^2.1.1-nightly.20251125074637",
62
+ "@ledgerhq/live-env": "^2.21.1-nightly.20251126023856",
63
+ "@ledgerhq/live-network": "^2.1.2-nightly.20251126023856",
65
64
  "@ledgerhq/logs": "^6.13.0",
66
65
  "@ledgerhq/types-cryptoassets": "^7.30.0",
67
- "@ledgerhq/types-live": "^6.89.0-nightly.20251125074637"
66
+ "@ledgerhq/types-live": "^6.90.0-nightly.20251126023856"
68
67
  },
69
68
  "devDependencies": {
70
69
  "@faker-js/faker": "^8.4.1",
@@ -74,7 +73,6 @@
74
73
  "@types/invariant": "^2.2.2",
75
74
  "@types/jest": "^29.5.10",
76
75
  "@types/lodash": "^4.14.191",
77
- "@types/object-hash": "^2.1.0",
78
76
  "@types/semver": "7.7.0",
79
77
  "axios": "1.12.2",
80
78
  "eslint-plugin-jest": "^27.4.2",
@@ -0,0 +1,81 @@
1
+ import { getTransactions } from "../network/chain/web3";
2
+ import { ChainAPI } from "../network";
3
+ import { parsedTransaction } from "./fixtures/helpers.fixture";
4
+
5
+ describe("getTransactions", () => {
6
+ it("returns sorted valid transactions (filters failing, null, missing blockTime)", async () => {
7
+ const mockAPI = {
8
+ async getSignaturesForAddress() {
9
+ return [
10
+ { signature: "tx4" },
11
+ { signature: "tx3" },
12
+ { signature: "tx2" },
13
+ { signature: "tx1" },
14
+ ];
15
+ },
16
+
17
+ async getParsedTransactions() {
18
+ return [
19
+ parsedTransaction({
20
+ signature: "tx2",
21
+ slot: 12,
22
+ blockTime: new Date(1000),
23
+ meta: {
24
+ err: null,
25
+ fee: 0,
26
+ preBalances: [],
27
+ postBalances: [],
28
+ },
29
+ }),
30
+ parsedTransaction({
31
+ signature: "tx3", // ❌ failing
32
+ slot: 14,
33
+ blockTime: new Date(1000),
34
+ meta: {
35
+ err: "SomeError",
36
+ fee: 0,
37
+ preBalances: [],
38
+ postBalances: [],
39
+ },
40
+ }),
41
+ parsedTransaction({
42
+ signature: "tx1", // ❌ missing blockTime
43
+ slot: 10,
44
+ meta: {
45
+ err: null,
46
+ fee: 0,
47
+ preBalances: [],
48
+ postBalances: [],
49
+ },
50
+ }),
51
+ null, // ❌ null transaction (RPC issue)
52
+ parsedTransaction({
53
+ signature: "tx4",
54
+ slot: 16,
55
+ blockTime: new Date(4000),
56
+ meta: {
57
+ err: null,
58
+ fee: 0,
59
+ preBalances: [],
60
+ postBalances: [],
61
+ },
62
+ }),
63
+ ];
64
+ },
65
+ } as unknown as ChainAPI;
66
+
67
+ const res = await getTransactions("main-address", undefined, mockAPI);
68
+
69
+ // Expect: only tx4 and tx1, sorted by slot descending
70
+ expect(res).toMatchObject([
71
+ {
72
+ info: { signature: "tx4" },
73
+ parsed: { slot: 16, blockTime: 4 },
74
+ },
75
+ {
76
+ info: { signature: "tx2" },
77
+ parsed: { slot: 12, blockTime: 1 },
78
+ },
79
+ ]);
80
+ });
81
+ });
@@ -7,7 +7,6 @@ import bs58 from "bs58";
7
7
 
8
8
  coinConfig.setCoinConfig(() => ({
9
9
  legacyOCMSMaxVersion: "1.8.0",
10
- queuedInterval: 1,
11
10
  token2022Enabled: false,
12
11
  status: { type: "active" },
13
12
  }));
@@ -34,32 +34,29 @@ import {
34
34
  import nftResolvers from "../nftResolvers";
35
35
  import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
36
36
 
37
- function makePrepare(getChainAPI: (config: Config) => Promise<ChainAPI>) {
38
- const prepareTransaction: AccountBridge<
39
- Transaction,
40
- SolanaAccount
41
- >["prepareTransaction"] = async (mainAccount, transaction) => {
37
+ function makePrepare(getChainAPI: (config: Config) => ChainAPI) {
38
+ const prepareTransaction: AccountBridge<Transaction, SolanaAccount>["prepareTransaction"] = (
39
+ mainAccount,
40
+ transaction,
41
+ ) => {
42
42
  const config: Config = {
43
43
  endpoint: endpointByCurrencyId(mainAccount.currency.id),
44
44
  };
45
45
 
46
- const chainAPI = await getChainAPI(config);
46
+ const chainAPI = getChainAPI(config);
47
47
  return prepareTransactionWithAPI(mainAccount, transaction, chainAPI);
48
48
  };
49
49
 
50
50
  return prepareTransaction;
51
51
  }
52
52
 
53
- function makeSyncAndScan(
54
- getChainAPI: (config: Config) => Promise<ChainAPI>,
55
- getAddress: GetAddressFn,
56
- ) {
57
- const getAccountShape: GetAccountShape<SolanaAccount> = async info => {
53
+ function makeSyncAndScan(getChainAPI: (config: Config) => ChainAPI, getAddress: GetAddressFn) {
54
+ const getAccountShape: GetAccountShape<SolanaAccount> = info => {
58
55
  const config: Config = {
59
56
  endpoint: endpointByCurrencyId(info.currency.id),
60
57
  };
61
58
 
62
- const chainAPI = await getChainAPI(config);
59
+ const chainAPI = getChainAPI(config);
63
60
  return getAccountShapeWithAPI(info, chainAPI);
64
61
  };
65
62
  return {
@@ -68,11 +65,11 @@ function makeSyncAndScan(
68
65
  };
69
66
  }
70
67
 
71
- function makeEstimateMaxSpendable(getChainAPI: (config: Config) => Promise<ChainAPI>) {
68
+ function makeEstimateMaxSpendable(getChainAPI: (config: Config) => ChainAPI) {
72
69
  const estimateMaxSpendable: AccountBridge<
73
70
  Transaction,
74
71
  SolanaAccount
75
- >["estimateMaxSpendable"] = async arg => {
72
+ >["estimateMaxSpendable"] = arg => {
76
73
  const { account, parentAccount } = arg;
77
74
 
78
75
  const currencyId =
@@ -86,7 +83,7 @@ function makeEstimateMaxSpendable(getChainAPI: (config: Config) => Promise<Chain
86
83
  endpoint: endpointByCurrencyId(currencyId),
87
84
  };
88
85
 
89
- const api = await getChainAPI(config);
86
+ const api = getChainAPI(config);
90
87
 
91
88
  return estimateMaxSpendableWithAPI(arg, api);
92
89
  };
@@ -107,38 +104,36 @@ function makeEstimateMaxSpendable(getChainAPI: (config: Config) => Promise<Chain
107
104
  }
108
105
 
109
106
  function makeBroadcast(
110
- getChainAPI: (config: Config) => Promise<ChainAPI>,
107
+ getChainAPI: (config: Config) => ChainAPI,
111
108
  ): AccountBridge<Transaction, SolanaAccount>["broadcast"] {
112
- return async info => {
109
+ return info => {
113
110
  const config: Config = {
114
111
  endpoint: endpointByCurrencyId(info.account.currency.id),
115
112
  };
116
- const api = await getChainAPI(config);
113
+ const api = getChainAPI(config);
117
114
  return broadcastWithAPI(info, api);
118
115
  };
119
116
  }
120
117
 
121
118
  function makeSign(
122
- getChainAPI: (config: Config) => Promise<ChainAPI>,
119
+ getChainAPI: (config: Config) => ChainAPI,
123
120
  signerContext: SignerContext<SolanaSigner>,
124
121
  ): AccountBridge<Transaction, SolanaAccount>["signOperation"] {
125
122
  return info => {
126
123
  const config: Config = {
127
124
  endpoint: endpointByCurrencyId(info.account.currency.id),
128
125
  };
129
- const api = () => getChainAPI(config);
126
+ const api = getChainAPI(config);
130
127
  return buildSignOperation(signerContext, api)(info);
131
128
  };
132
129
  }
133
130
 
134
- function makePreload(
135
- getChainAPI: (config: Config) => Promise<ChainAPI>,
136
- ): CurrencyBridge["preload"] {
131
+ function makePreload(getChainAPI: (config: Config) => ChainAPI): CurrencyBridge["preload"] {
137
132
  const preload: CurrencyBridge["preload"] = (currency): Promise<SolanaPreloadDataV1> => {
138
133
  const config: Config = {
139
134
  endpoint: endpointByCurrencyId(currency.id),
140
135
  };
141
- const api = () => getChainAPI(config);
136
+ const api = getChainAPI(config);
142
137
  return preloadWithAPI(currency, api);
143
138
  };
144
139
  return preload;
@@ -152,29 +147,25 @@ function getPreloadStrategy() {
152
147
 
153
148
  export function makeBridges({
154
149
  getAPI,
155
- getQueuedAPI,
156
- getQueuedAndCachedAPI,
157
150
  signerContext,
158
151
  }: {
159
- getAPI: (config: Config) => Promise<ChainAPI>;
160
- getQueuedAPI: (config: Config) => Promise<ChainAPI>;
161
- getQueuedAndCachedAPI: (config: Config) => Promise<ChainAPI>;
152
+ getAPI: (config: Config) => ChainAPI;
162
153
  signerContext: SignerContext<SolanaSigner>;
163
154
  }): {
164
155
  currencyBridge: CurrencyBridge;
165
156
  accountBridge: AccountBridge<Transaction, SolanaAccount, TransactionStatus>;
166
157
  } {
167
158
  const getAddress = resolver(signerContext);
168
- const { sync, scan } = makeSyncAndScan(getQueuedAPI, getAddress);
159
+ const { sync, scan } = makeSyncAndScan(getAPI, getAddress);
169
160
 
170
161
  const accountBridge: AccountBridge<Transaction, SolanaAccount, TransactionStatus> = {
171
162
  createTransaction,
172
163
  updateTransaction,
173
- estimateMaxSpendable: makeEstimateMaxSpendable(getQueuedAndCachedAPI),
164
+ estimateMaxSpendable: makeEstimateMaxSpendable(getAPI),
174
165
  getTransactionStatus,
175
166
  sync,
176
167
  receive: makeAccountBridgeReceive(getAddress),
177
- prepareTransaction: makePrepare(getQueuedAndCachedAPI),
168
+ prepareTransaction: makePrepare(getAPI),
178
169
  broadcast: makeBroadcast(getAPI),
179
170
  signOperation: makeSign(getAPI, signerContext),
180
171
  signRawOperation: () => {
@@ -190,7 +181,7 @@ export function makeBridges({
190
181
  };
191
182
 
192
183
  const currencyBridge: CurrencyBridge = {
193
- preload: makePreload(getQueuedAndCachedAPI),
184
+ preload: makePreload(getAPI),
194
185
  hydrate: (_data: unknown, _currency: CryptoCurrency) => {},
195
186
  scanAccounts: scan,
196
187
  getPreloadStrategy,
package/src/bridge/js.ts CHANGED
@@ -1,7 +1,5 @@
1
- import { makeLRUCache, minutes } from "@ledgerhq/live-network/cache";
2
1
  import { log } from "@ledgerhq/logs";
3
- import { cached, Config, getChainAPI, queued } from "../network";
4
- import { traced } from "../network/traced";
2
+ import { Config, getChainAPI } from "../network";
5
3
  import { makeBridges } from "./bridge";
6
4
  import { SignerContext } from "@ledgerhq/coin-framework/signer";
7
5
  import { SolanaSigner } from "../signer";
@@ -16,34 +14,20 @@ const httpRequestLogger = (url: string, options: any) => {
16
14
  });
17
15
  };
18
16
 
19
- const getAPI = makeLRUCache(
20
- (config: Config) => Promise.resolve(traced(getChainAPI(config, httpRequestLogger))),
21
- config => config.endpoint,
22
- minutes(1000),
23
- );
24
-
25
- const getQueuedAPI = makeLRUCache(
26
- (config: Config) =>
27
- getAPI(config).then(api => queued(api, solanaCoinConfig.getCoinConfig().queuedInterval)),
28
- config => config.endpoint,
29
- minutes(1000),
30
- );
31
-
32
- const getQueuedAndCachedAPI = makeLRUCache(
33
- (config: Config) => getQueuedAPI(config).then(cached),
34
- config => config.endpoint,
35
- minutes(1000),
36
- );
37
-
38
17
  export function createBridges(
39
18
  signerContext: SignerContext<SolanaSigner>,
40
19
  coinConfig: CoinConfig<SolanaCoinConfig>,
41
20
  ) {
42
21
  solanaCoinConfig.setCoinConfig(coinConfig);
22
+ const chainAPICache = new Map<string, ReturnType<typeof getChainAPI>>();
43
23
  return makeBridges({
44
- getAPI,
45
- getQueuedAPI,
46
- getQueuedAndCachedAPI,
24
+ getAPI: (config: Config) => {
25
+ const endpoint = config.endpoint;
26
+ if (!chainAPICache.has(endpoint)) {
27
+ chainAPICache.set(endpoint, getChainAPI(config, httpRequestLogger));
28
+ }
29
+ return chainAPICache.get(endpoint)!;
30
+ },
47
31
  signerContext,
48
32
  });
49
33
  }
package/src/config.ts CHANGED
@@ -2,7 +2,6 @@ import buildCoinConfig, { type CurrencyConfig } from "@ledgerhq/coin-framework/c
2
2
 
3
3
  export type SolanaConfig = {
4
4
  token2022Enabled: boolean;
5
- queuedInterval: number;
6
5
  legacyOCMSMaxVersion: string;
7
6
  };
8
7
 
@@ -154,44 +154,38 @@ export function getChainAPI(
154
154
  fetch(url, options);
155
155
  };
156
156
 
157
- let _connection: Connection;
158
- const connection = () => {
159
- if (!_connection) {
160
- _connection = new Connection(config.endpoint, {
161
- ...(fetchMiddleware ? { fetchMiddleware } : {}),
162
- fetch: kyNoTimeout as typeof fetch, // Type cast for jest test having an issue with the type
163
- commitment: "confirmed",
164
- confirmTransactionInitialTimeout: getEnv("SOLANA_TX_CONFIRMATION_TIMEOUT") || 0,
165
- });
166
- }
167
- return _connection;
168
- };
157
+ const connection = new Connection(config.endpoint, {
158
+ ...(fetchMiddleware ? { fetchMiddleware } : {}),
159
+ fetch: kyNoTimeout as typeof fetch, // Type cast for jest test having an issue with the type
160
+ commitment: "confirmed",
161
+ confirmTransactionInitialTimeout: getEnv("SOLANA_TX_CONFIRMATION_TIMEOUT") || 0,
162
+ });
169
163
 
170
164
  return {
171
165
  getBalance: (address: string) =>
172
- connection().getBalance(new PublicKey(address)).catch(remapErrors),
166
+ connection.getBalance(new PublicKey(address)).catch(remapErrors),
173
167
 
174
168
  getLatestBlockhash: (commitmentOrConfig?: Commitment | GetLatestBlockhashConfig) =>
175
- connection().getLatestBlockhash(commitmentOrConfig).catch(remapErrors),
169
+ connection.getLatestBlockhash(commitmentOrConfig).catch(remapErrors),
176
170
 
177
171
  getFeeForMessage: (msg: VersionedMessage) =>
178
- connection()
172
+ connection
179
173
  .getFeeForMessage(msg)
180
174
  .then(r => r.value)
181
175
  .catch(remapErrors),
182
176
 
183
177
  getBalanceAndContext: (address: string) =>
184
- connection().getBalanceAndContext(new PublicKey(address)).catch(remapErrors),
178
+ connection.getBalanceAndContext(new PublicKey(address)).catch(remapErrors),
185
179
 
186
180
  getParsedTokenAccountsByOwner: (address: string) =>
187
- connection()
181
+ connection
188
182
  .getParsedTokenAccountsByOwner(new PublicKey(address), {
189
183
  programId: TOKEN_PROGRAM_ID,
190
184
  })
191
185
  .catch(remapErrors),
192
186
 
193
187
  getParsedToken2022AccountsByOwner: (address: string) =>
194
- connection()
188
+ connection
195
189
  .getParsedTokenAccountsByOwner(new PublicKey(address), {
196
190
  programId: TOKEN_2022_PROGRAM_ID,
197
191
  })
@@ -199,7 +193,7 @@ export function getChainAPI(
199
193
 
200
194
  getStakeAccountsByStakeAuth: makeLRUCache(
201
195
  (authAddr: string) =>
202
- connection()
196
+ connection
203
197
  .getParsedProgramAccounts(StakeProgram.programId, {
204
198
  filters: [
205
199
  {
@@ -217,7 +211,7 @@ export function getChainAPI(
217
211
 
218
212
  getStakeAccountsByWithdrawAuth: makeLRUCache(
219
213
  (authAddr: string) =>
220
- connection()
214
+ connection
221
215
  .getParsedProgramAccounts(StakeProgram.programId, {
222
216
  filters: [
223
217
  {
@@ -234,51 +228,48 @@ export function getChainAPI(
234
228
  ),
235
229
 
236
230
  getInflationReward: (addresses: string[]) =>
237
- connection()
238
- .getInflationReward(addresses.map(addr => new PublicKey(addr)))
239
- .catch(remapErrors),
231
+ connection.getInflationReward(addresses.map(addr => new PublicKey(addr))).catch(remapErrors),
240
232
 
241
- getVoteAccounts: () => connection().getVoteAccounts().catch(remapErrors),
233
+ getVoteAccounts: () => connection.getVoteAccounts().catch(remapErrors),
242
234
 
243
235
  getSignaturesForAddress: (address: string, opts?: SignaturesForAddressOptions) => {
244
236
  const callback = () => {
245
- return connection().getSignaturesForAddress(new PublicKey(address), opts);
237
+ return connection.getSignaturesForAddress(new PublicKey(address), opts);
246
238
  };
247
239
  return callback().catch(remapErrorsWithRetry(callback));
248
240
  },
249
241
 
250
242
  getParsedTransactions: (signatures: string[]) =>
251
- connection()
243
+ connection
252
244
  .getParsedTransactions(signatures, {
253
245
  maxSupportedTransactionVersion: 0,
254
246
  })
255
247
  .catch(remapErrors),
256
248
 
257
249
  getAccountInfo: (address: string) =>
258
- connection()
250
+ connection
259
251
  .getParsedAccountInfo(new PublicKey(address))
260
252
  .then(r => r.value)
261
253
  .catch(remapErrors),
262
254
 
263
255
  getMultipleAccounts: (addresses: string[]) =>
264
- connection()
256
+ connection
265
257
  .getMultipleParsedAccounts(addresses.map(address => new PublicKey(address)))
266
258
  .then(r => r.value)
267
259
  .catch(remapErrors),
268
260
 
269
261
  sendRawTransaction: (buffer: Buffer, recentBlockhash?: BlockhashWithExpiryBlockHeight) => {
270
262
  return (async () => {
271
- const conn = connection();
272
263
  const commitment = "confirmed";
273
264
 
274
- const signature = await conn.sendRawTransaction(buffer, {
265
+ const signature = await connection.sendRawTransaction(buffer, {
275
266
  preflightCommitment: commitment,
276
267
  });
277
268
 
278
269
  if (!recentBlockhash) {
279
- recentBlockhash = await conn.getLatestBlockhash(commitment);
270
+ recentBlockhash = await connection.getLatestBlockhash(commitment);
280
271
  }
281
- const { value: status } = await conn.confirmTransaction(
272
+ const { value: status } = await connection.confirmTransaction(
282
273
  {
283
274
  blockhash: recentBlockhash.blockhash,
284
275
  lastValidBlockHeight: recentBlockhash.lastValidBlockHeight,
@@ -312,15 +303,15 @@ export function getChainAPI(
312
303
  },
313
304
 
314
305
  getAssocTokenAccMinNativeBalance: () =>
315
- getMinimumBalanceForRentExemptAccount(connection()).catch(remapErrors),
306
+ getMinimumBalanceForRentExemptAccount(connection).catch(remapErrors),
316
307
 
317
308
  getMinimumBalanceForRentExemption: (dataLength: number) =>
318
- connection().getMinimumBalanceForRentExemption(dataLength).catch(remapErrors),
309
+ connection.getMinimumBalanceForRentExemption(dataLength).catch(remapErrors),
319
310
 
320
- getEpochInfo: () => connection().getEpochInfo().catch(remapErrors),
311
+ getEpochInfo: () => connection.getEpochInfo().catch(remapErrors),
321
312
 
322
313
  getRecentPrioritizationFees: (accounts: string[]) => {
323
- return connection()
314
+ return connection
324
315
  .getRecentPrioritizationFees({
325
316
  lockedWritableAccounts: accounts.map(acc => new PublicKey(acc)),
326
317
  })
@@ -345,7 +336,7 @@ export function getChainAPI(
345
336
  recentBlockhash: PublicKey.default.toString(),
346
337
  }).compileToLegacyMessage(),
347
338
  );
348
- const rpcResponse = await connection().simulateTransaction(testTransaction, {
339
+ const rpcResponse = await connection.simulateTransaction(testTransaction, {
349
340
  replaceRecentBlockhash: true,
350
341
  sigVerify: false,
351
342
  });
@@ -353,6 +344,6 @@ export function getChainAPI(
353
344
  },
354
345
 
355
346
  config,
356
- connection: connection(),
347
+ connection,
357
348
  };
358
349
  }