@atomiqlabs/chain-evm 2.1.10 → 2.1.11

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.
@@ -248,13 +248,20 @@ class EVMSpvVaultContract extends EVMContractBase_1.EVMContractBase {
248
248
  return Promise.resolve(null);
249
249
  });
250
250
  const vaults = [];
251
+ let promises = [];
251
252
  for (let [identifier, vaultParams] of openedVaults.entries()) {
252
253
  const [owner, vaultIdStr] = identifier.split(":");
253
- const vaultState = await this.contract.getVault(owner, BigInt(vaultIdStr));
254
- if (vaultState.spvVaultParametersCommitment === (0, EVMSpvVaultData_1.getVaultParamsCommitment)(vaultParams)) {
255
- vaults.push(new EVMSpvVaultData_1.EVMSpvVaultData(owner, BigInt(vaultIdStr), vaultState, vaultParams));
254
+ promises.push(this.contract.getVault(owner, BigInt(vaultIdStr)).then(vaultState => {
255
+ if (vaultState.spvVaultParametersCommitment === (0, EVMSpvVaultData_1.getVaultParamsCommitment)(vaultParams)) {
256
+ vaults.push(new EVMSpvVaultData_1.EVMSpvVaultData(owner, BigInt(vaultIdStr), vaultState, vaultParams));
257
+ }
258
+ }));
259
+ if (promises.length >= this.Chain.config.maxParallelCalls) {
260
+ await Promise.all(promises);
261
+ promises = [];
256
262
  }
257
263
  }
264
+ await Promise.all(promises);
258
265
  return vaults;
259
266
  }
260
267
  parseWithdrawalEvent(event) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomiqlabs/chain-evm",
3
- "version": "2.1.10",
3
+ "version": "2.1.11",
4
4
  "description": "EVM specific base implementation",
5
5
  "main": "./dist/index.js",
6
6
  "types:": "./dist/index.d.ts",
@@ -356,14 +356,22 @@ export class EVMSpvVaultContract<ChainId extends string>
356
356
  }
357
357
  );
358
358
  const vaults: EVMSpvVaultData[] = [];
359
+ let promises: Promise<void>[] = [];
359
360
  for(let [identifier, vaultParams] of openedVaults.entries()) {
360
361
  const [owner, vaultIdStr] = identifier.split(":");
361
362
 
362
- const vaultState = await this.contract.getVault(owner, BigInt(vaultIdStr));
363
- if(vaultState.spvVaultParametersCommitment === getVaultParamsCommitment(vaultParams)) {
364
- vaults.push(new EVMSpvVaultData(owner, BigInt(vaultIdStr), vaultState, vaultParams))
363
+ promises.push(this.contract.getVault(owner, BigInt(vaultIdStr)).then(vaultState => {
364
+ if(vaultState.spvVaultParametersCommitment === getVaultParamsCommitment(vaultParams)) {
365
+ vaults.push(new EVMSpvVaultData(owner, BigInt(vaultIdStr), vaultState, vaultParams))
366
+ }
367
+ }))
368
+
369
+ if(promises.length>=this.Chain.config.maxParallelCalls) {
370
+ await Promise.all(promises);
371
+ promises = [];
365
372
  }
366
373
  }
374
+ await Promise.all(promises);
367
375
  return vaults;
368
376
  }
369
377