@0xsequence/wallet-wdk 3.0.0-beta.16 → 3.0.0-beta.18

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
 
3
- > @0xsequence/wallet-wdk@3.0.0-beta.16 build /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
3
+ > @0xsequence/wallet-wdk@3.0.0-beta.18 build /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
4
4
  > tsc
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @0xsequence/wallet-wdk
2
2
 
3
+ ## 3.0.0-beta.18
4
+
5
+ ### Patch Changes
6
+
7
+ - multicall3 optimization
8
+ - Updated dependencies
9
+ - @0xsequence/guard@3.0.0-beta.18
10
+ - @0xsequence/identity-instrument@3.0.0-beta.18
11
+ - @0xsequence/relayer@3.0.0-beta.18
12
+ - @0xsequence/wallet-core@3.0.0-beta.18
13
+ - @0xsequence/wallet-primitives@3.0.0-beta.18
14
+
15
+ ## 3.0.0-beta.17
16
+
17
+ ### Patch Changes
18
+
19
+ - New chains, relayer rpc fix
20
+ - Updated dependencies
21
+ - @0xsequence/guard@3.0.0-beta.17
22
+ - @0xsequence/identity-instrument@3.0.0-beta.17
23
+ - @0xsequence/relayer@3.0.0-beta.17
24
+ - @0xsequence/wallet-core@3.0.0-beta.17
25
+ - @0xsequence/wallet-primitives@3.0.0-beta.17
26
+
3
27
  ## 3.0.0-beta.16
4
28
 
5
29
  ### Patch Changes
@@ -159,6 +159,7 @@ export declare const ManagerOptionsDefaults: {
159
159
  defaultRecoverySettings: {
160
160
  requiredDeltaTime: bigint;
161
161
  minTimestamp: bigint;
162
+ includeTestnets: boolean;
162
163
  };
163
164
  multiInjectedProviderDiscovery: boolean;
164
165
  identity: {
@@ -185,6 +186,7 @@ export declare function applyManagerOptionsDefaults(options?: ManagerOptions): R
185
186
  export type RecoverySettings = {
186
187
  requiredDeltaTime: bigint;
187
188
  minTimestamp: bigint;
189
+ includeTestnets?: boolean;
188
190
  };
189
191
  export type Databases = {
190
192
  readonly encryptedPks: CoreSigners.Pk.Encrypted.EncryptedPksDb;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/sequence/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/sequence/manager.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,7 @@ export const ManagerOptionsDefaults = {
80
80
  defaultRecoverySettings: {
81
81
  requiredDeltaTime: 2592000n, // 30 days (in seconds)
82
82
  minTimestamp: 0n,
83
+ includeTestnets: false,
83
84
  },
84
85
  multiInjectedProviderDiscovery: true,
85
86
  identity: {
@@ -178,6 +178,8 @@ export declare class Recovery implements RecoveryInterface {
178
178
  onQueuedPayloadsUpdate(wallet: Address.Address | undefined, cb: (payloads: QueuedRecoveryPayload[]) => void, trigger?: boolean): () => void;
179
179
  updateQueuedPayloads(): Promise<void>;
180
180
  fetchQueuedPayloads(wallet: Address.Address, chainId?: number): Promise<QueuedRecoveryPayload[]>;
181
+ private fetchTotalQueuedPayloadsBatched;
182
+ private fetchTotalQueuedPayloadsFallback;
181
183
  encodeRecoverySignature(imageHash: Hex.Hex, signer: Address.Address): Promise<import("ox/Bytes").Bytes>;
182
184
  }
183
185
  //# sourceMappingURL=recovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/sequence/recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/sequence/recovery.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { Envelope } from '@0xsequence/wallet-core';
2
2
  import { Config, Constants, Extensions, GenericTree, Payload } from '@0xsequence/wallet-primitives';
3
- import { Address, Provider, RpcTransport } from 'ox';
3
+ import { Abi, AbiFunction, Address, Hex, Provider, RpcTransport } from 'ox';
4
4
  import { MnemonicHandler } from './handlers/mnemonic.js';
5
5
  import { Actions } from './types/index.js';
6
6
  import { Kinds } from './types/signer.js';
7
+ const AGGREGATE3 = Abi.from([
8
+ 'function aggregate3((address target, bool allowFailure, bytes callData)[] calls) external payable returns ((bool success, bytes returnData)[])',
9
+ ])[0];
7
10
  export class Recovery {
8
11
  shared;
9
12
  constructor(shared) {
@@ -97,7 +100,7 @@ export class Recovery {
97
100
  throw new Error('recovery-module-not-enabled');
98
101
  }
99
102
  await this.updateRecoveryModule(modules, (leaves) => {
100
- const next = leaves.filter((l) => l.signer !== address);
103
+ const next = leaves.filter((l) => !Address.isEqual(l.signer, address));
101
104
  if (next.length === 0) {
102
105
  return [
103
106
  {
@@ -264,9 +267,14 @@ export class Recovery {
264
267
  async fetchQueuedPayloads(wallet, chainId) {
265
268
  // Create providers for each network
266
269
  const providers = this.shared.sequence.networks
267
- .filter((network) => (chainId ? network.chainId === chainId : true))
270
+ .filter((network) => chainId
271
+ ? network.chainId === chainId
272
+ : !this.shared.sequence.defaultRecoverySettings.includeTestnets
273
+ ? network.type !== 'testnet'
274
+ : true)
268
275
  .map((network) => ({
269
276
  chainId: network.chainId,
277
+ multicall3Address: network.contracts?.multicall3,
270
278
  provider: Provider.from(RpcTransport.fromHttp(network.rpcUrl)),
271
279
  }));
272
280
  // See if they have any recover signers
@@ -274,44 +282,102 @@ export class Recovery {
274
282
  if (!signers || signers.length === 0) {
275
283
  return [];
276
284
  }
285
+ const recoveryExtension = this.shared.sequence.extensions.recovery;
277
286
  const payloads = [];
278
- for (const signer of signers) {
279
- for (const { chainId, provider } of providers) {
280
- const totalPayloads = await Extensions.Recovery.totalQueuedPayloads(provider, this.shared.sequence.extensions.recovery, wallet, signer.address);
281
- for (let i = 0n; i < totalPayloads; i++) {
282
- const payloadHash = await Extensions.Recovery.queuedPayloadHashOf(provider, this.shared.sequence.extensions.recovery, wallet, signer.address, i);
283
- const timestamp = await Extensions.Recovery.timestampForQueuedPayload(provider, this.shared.sequence.extensions.recovery, wallet, signer.address, payloadHash);
284
- const payload = await this.shared.sequence.stateProvider.getPayload(payloadHash);
285
- // If ready, we need to check if it was executed already
286
- // for this, we check if the wallet nonce for the given space
287
- // is greater than the nonce in the payload
288
- if (timestamp < Date.now() / 1000 && payload && Payload.isCalls(payload.payload)) {
289
- const nonce = await this.shared.modules.wallets.getNonce(chainId, wallet, payload.payload.space);
290
- if (nonce > i) {
291
- continue;
287
+ await Promise.all(providers.map(async ({ chainId, provider, multicall3Address }) => {
288
+ try {
289
+ let totalPayloadsBySigner;
290
+ if (multicall3Address) {
291
+ try {
292
+ // Batch all totalQueuedPayloads calls for every signer into a single Multicall3 request.
293
+ // This reduces N signer calls per network down to 1 call per network.
294
+ totalPayloadsBySigner = await this.fetchTotalQueuedPayloadsBatched(provider, recoveryExtension, wallet, signers, multicall3Address);
295
+ }
296
+ catch (err) {
297
+ console.error(`Recovery.fetchQueuedPayloads multicall3 failed for chainId ${chainId}, retrying with individual calls:`, err);
298
+ totalPayloadsBySigner = await this.fetchTotalQueuedPayloadsFallback(provider, recoveryExtension, wallet, signers);
299
+ }
300
+ }
301
+ else {
302
+ totalPayloadsBySigner = await this.fetchTotalQueuedPayloadsFallback(provider, recoveryExtension, wallet, signers);
303
+ }
304
+ for (let s = 0; s < signers.length; s++) {
305
+ const signer = signers[s];
306
+ const totalPayloads = totalPayloadsBySigner[s];
307
+ if (totalPayloads === 0n)
308
+ continue;
309
+ // Only make individual calls for the rare case where payloads actually exist
310
+ for (let i = 0n; i < totalPayloads; i++) {
311
+ const payloadHash = await Extensions.Recovery.queuedPayloadHashOf(provider, recoveryExtension, wallet, signer.address, i);
312
+ const timestamp = await Extensions.Recovery.timestampForQueuedPayload(provider, recoveryExtension, wallet, signer.address, payloadHash);
313
+ const payload = await this.shared.sequence.stateProvider.getPayload(payloadHash);
314
+ // If ready, we need to check if it was executed already
315
+ // for this, we check if the wallet nonce for the given space
316
+ // is greater than the nonce in the payload
317
+ if (timestamp < Date.now() / 1000 && payload && Payload.isCalls(payload.payload)) {
318
+ const nonce = await this.shared.modules.wallets.getNonce(chainId, wallet, payload.payload.space);
319
+ if (nonce > i) {
320
+ continue;
321
+ }
292
322
  }
323
+ // The id is the index + signer address + chainId + wallet address
324
+ const id = `${i}-${signer.address}-${chainId}-${wallet}`;
325
+ const payloadEntry = {
326
+ id,
327
+ index: i,
328
+ recoveryModule: recoveryExtension,
329
+ wallet: wallet,
330
+ signer: signer.address,
331
+ chainId,
332
+ startTimestamp: timestamp,
333
+ endTimestamp: timestamp + signer.requiredDeltaTime,
334
+ payloadHash,
335
+ payload: payload?.payload,
336
+ };
337
+ payloads.push(payloadEntry);
293
338
  }
294
- // The id is the index + signer address + chainId + wallet address
295
- const id = `${i}-${signer.address}-${chainId}-${wallet}`;
296
- // Create a new payload
297
- const payloadEntry = {
298
- id,
299
- index: i,
300
- recoveryModule: this.shared.sequence.extensions.recovery,
301
- wallet: wallet,
302
- signer: signer.address,
303
- chainId,
304
- startTimestamp: timestamp,
305
- endTimestamp: timestamp + signer.requiredDeltaTime,
306
- payloadHash,
307
- payload: payload?.payload,
308
- };
309
- payloads.push(payloadEntry);
310
339
  }
311
340
  }
312
- }
341
+ catch (err) {
342
+ console.error(`Recovery.fetchQueuedPayloads error for chainId ${chainId}:`, err);
343
+ }
344
+ }));
313
345
  return payloads;
314
346
  }
347
+ async fetchTotalQueuedPayloadsBatched(provider, recoveryExtension, wallet, signers, multicall3Address) {
348
+ const calls = signers.map((signer) => ({
349
+ target: recoveryExtension,
350
+ allowFailure: true,
351
+ callData: AbiFunction.encodeData(Extensions.Recovery.TOTAL_QUEUED_PAYLOADS, [wallet, signer.address]),
352
+ }));
353
+ const response = await provider.request({
354
+ method: 'eth_call',
355
+ params: [
356
+ {
357
+ to: multicall3Address,
358
+ data: AbiFunction.encodeData(AGGREGATE3, [calls]),
359
+ },
360
+ 'latest',
361
+ ],
362
+ });
363
+ const results = AbiFunction.decodeResult(AGGREGATE3, response);
364
+ return results.map((result) => {
365
+ if (!result.success || result.returnData === '0x') {
366
+ return 0n;
367
+ }
368
+ return Hex.toBigInt(result.returnData);
369
+ });
370
+ }
371
+ fetchTotalQueuedPayloadsFallback = async (provider, recoveryExtension, wallet, signers) => {
372
+ const result = signers.map(() => 0n);
373
+ // Fallback to individual calls if the multicall3 call fails
374
+ for (let s = 0; s < signers.length; s++) {
375
+ const signer = signers[s];
376
+ const totalPayloads = await Extensions.Recovery.totalQueuedPayloads(provider, recoveryExtension, wallet, signer.address);
377
+ result[s] = totalPayloads;
378
+ }
379
+ return result;
380
+ };
315
381
  async encodeRecoverySignature(imageHash, signer) {
316
382
  const genericTree = await this.shared.sequence.stateProvider.getTree(imageHash);
317
383
  if (!genericTree) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/wallet-wdk",
3
- "version": "3.0.0-beta.16",
3
+ "version": "3.0.0-beta.18",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -29,11 +29,11 @@
29
29
  "jwt-decode": "^4.0.0",
30
30
  "ox": "^0.9.17",
31
31
  "uuid": "^13.0.0",
32
- "@0xsequence/relayer": "^3.0.0-beta.16",
33
- "@0xsequence/guard": "^3.0.0-beta.16",
34
- "@0xsequence/wallet-core": "^3.0.0-beta.16",
35
- "@0xsequence/identity-instrument": "^3.0.0-beta.16",
36
- "@0xsequence/wallet-primitives": "^3.0.0-beta.16"
32
+ "@0xsequence/guard": "^3.0.0-beta.18",
33
+ "@0xsequence/identity-instrument": "^3.0.0-beta.18",
34
+ "@0xsequence/relayer": "^3.0.0-beta.18",
35
+ "@0xsequence/wallet-core": "^3.0.0-beta.18",
36
+ "@0xsequence/wallet-primitives": "^3.0.0-beta.18"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "tsc",
@@ -233,6 +233,7 @@ export const ManagerOptionsDefaults = {
233
233
  defaultRecoverySettings: {
234
234
  requiredDeltaTime: 2592000n, // 30 days (in seconds)
235
235
  minTimestamp: 0n,
236
+ includeTestnets: false,
236
237
  },
237
238
 
238
239
  multiInjectedProviderDiscovery: true,
@@ -369,6 +370,7 @@ export function applyManagerOptionsDefaults(options?: ManagerOptions): ResolvedM
369
370
  export type RecoverySettings = {
370
371
  requiredDeltaTime: bigint
371
372
  minTimestamp: bigint
373
+ includeTestnets?: boolean
372
374
  }
373
375
 
374
376
  export type Databases = {
@@ -1,12 +1,16 @@
1
1
  import { Envelope } from '@0xsequence/wallet-core'
2
2
  import { Config, Constants, Extensions, GenericTree, Payload } from '@0xsequence/wallet-primitives'
3
- import { Address, Hex, Provider, RpcTransport } from 'ox'
3
+ import { Abi, AbiFunction, Address, Hex, Provider, RpcTransport } from 'ox'
4
4
  import { MnemonicHandler } from './handlers/mnemonic.js'
5
5
  import { Shared } from './manager.js'
6
6
  import { Actions, Module } from './types/index.js'
7
7
  import { QueuedRecoveryPayload } from './types/recovery.js'
8
8
  import { Kinds, RecoverySigner } from './types/signer.js'
9
9
 
10
+ const AGGREGATE3 = Abi.from([
11
+ 'function aggregate3((address target, bool allowFailure, bytes callData)[] calls) external payable returns ((bool success, bytes returnData)[])',
12
+ ])[0]!
13
+
10
14
  export interface RecoveryInterface {
11
15
  /**
12
16
  * Retrieves the list of configured recovery signers for a given wallet.
@@ -284,7 +288,7 @@ export class Recovery implements RecoveryInterface {
284
288
  }
285
289
 
286
290
  await this.updateRecoveryModule(modules, (leaves) => {
287
- const next = leaves.filter((l) => l.signer !== address)
291
+ const next = leaves.filter((l) => !Address.isEqual(l.signer, address))
288
292
  if (next.length === 0) {
289
293
  return [
290
294
  {
@@ -514,9 +518,16 @@ export class Recovery implements RecoveryInterface {
514
518
  async fetchQueuedPayloads(wallet: Address.Address, chainId?: number): Promise<QueuedRecoveryPayload[]> {
515
519
  // Create providers for each network
516
520
  const providers = this.shared.sequence.networks
517
- .filter((network) => (chainId ? network.chainId === chainId : true))
521
+ .filter((network) =>
522
+ chainId
523
+ ? network.chainId === chainId
524
+ : !this.shared.sequence.defaultRecoverySettings.includeTestnets
525
+ ? network.type !== 'testnet'
526
+ : true,
527
+ )
518
528
  .map((network) => ({
519
529
  chainId: network.chainId,
530
+ multicall3Address: network.contracts?.multicall3,
520
531
  provider: Provider.from(RpcTransport.fromHttp(network.rpcUrl)),
521
532
  }))
522
533
 
@@ -526,69 +537,167 @@ export class Recovery implements RecoveryInterface {
526
537
  return []
527
538
  }
528
539
 
540
+ const recoveryExtension = this.shared.sequence.extensions.recovery
529
541
  const payloads: QueuedRecoveryPayload[] = []
530
542
 
531
- for (const signer of signers) {
532
- for (const { chainId, provider } of providers) {
533
- const totalPayloads = await Extensions.Recovery.totalQueuedPayloads(
534
- provider,
535
- this.shared.sequence.extensions.recovery,
536
- wallet,
537
- signer.address,
538
- )
539
-
540
- for (let i = 0n; i < totalPayloads; i++) {
541
- const payloadHash = await Extensions.Recovery.queuedPayloadHashOf(
542
- provider,
543
- this.shared.sequence.extensions.recovery,
544
- wallet,
545
- signer.address,
546
- i,
547
- )
548
-
549
- const timestamp = await Extensions.Recovery.timestampForQueuedPayload(
550
- provider,
551
- this.shared.sequence.extensions.recovery,
552
- wallet,
553
- signer.address,
554
- payloadHash,
555
- )
556
-
557
- const payload = await this.shared.sequence.stateProvider.getPayload(payloadHash)
558
-
559
- // If ready, we need to check if it was executed already
560
- // for this, we check if the wallet nonce for the given space
561
- // is greater than the nonce in the payload
562
- if (timestamp < Date.now() / 1000 && payload && Payload.isCalls(payload.payload)) {
563
- const nonce = await this.shared.modules.wallets.getNonce(chainId, wallet, payload.payload.space)
564
- if (nonce > i) {
565
- continue
543
+ await Promise.all(
544
+ providers.map(async ({ chainId, provider, multicall3Address }) => {
545
+ try {
546
+ let totalPayloadsBySigner: bigint[]
547
+
548
+ if (multicall3Address) {
549
+ try {
550
+ // Batch all totalQueuedPayloads calls for every signer into a single Multicall3 request.
551
+ // This reduces N signer calls per network down to 1 call per network.
552
+ totalPayloadsBySigner = await this.fetchTotalQueuedPayloadsBatched(
553
+ provider,
554
+ recoveryExtension,
555
+ wallet,
556
+ signers,
557
+ multicall3Address,
558
+ )
559
+ } catch (err) {
560
+ console.error(
561
+ `Recovery.fetchQueuedPayloads multicall3 failed for chainId ${chainId}, retrying with individual calls:`,
562
+ err,
563
+ )
564
+ totalPayloadsBySigner = await this.fetchTotalQueuedPayloadsFallback(
565
+ provider,
566
+ recoveryExtension,
567
+ wallet,
568
+ signers,
569
+ )
566
570
  }
571
+ } else {
572
+ totalPayloadsBySigner = await this.fetchTotalQueuedPayloadsFallback(
573
+ provider,
574
+ recoveryExtension,
575
+ wallet,
576
+ signers,
577
+ )
567
578
  }
568
579
 
569
- // The id is the index + signer address + chainId + wallet address
570
- const id = `${i}-${signer.address}-${chainId}-${wallet}`
571
-
572
- // Create a new payload
573
- const payloadEntry: QueuedRecoveryPayload = {
574
- id,
575
- index: i,
576
- recoveryModule: this.shared.sequence.extensions.recovery,
577
- wallet: wallet,
578
- signer: signer.address,
579
- chainId,
580
- startTimestamp: timestamp,
581
- endTimestamp: timestamp + signer.requiredDeltaTime,
582
- payloadHash,
583
- payload: payload?.payload,
580
+ for (let s = 0; s < signers.length; s++) {
581
+ const signer = signers[s]!
582
+ const totalPayloads = totalPayloadsBySigner[s]!
583
+ if (totalPayloads === 0n) continue
584
+
585
+ // Only make individual calls for the rare case where payloads actually exist
586
+ for (let i = 0n; i < totalPayloads; i++) {
587
+ const payloadHash = await Extensions.Recovery.queuedPayloadHashOf(
588
+ provider,
589
+ recoveryExtension,
590
+ wallet,
591
+ signer.address,
592
+ i,
593
+ )
594
+
595
+ const timestamp = await Extensions.Recovery.timestampForQueuedPayload(
596
+ provider,
597
+ recoveryExtension,
598
+ wallet,
599
+ signer.address,
600
+ payloadHash,
601
+ )
602
+
603
+ const payload = await this.shared.sequence.stateProvider.getPayload(payloadHash)
604
+
605
+ // If ready, we need to check if it was executed already
606
+ // for this, we check if the wallet nonce for the given space
607
+ // is greater than the nonce in the payload
608
+ if (timestamp < Date.now() / 1000 && payload && Payload.isCalls(payload.payload)) {
609
+ const nonce = await this.shared.modules.wallets.getNonce(chainId, wallet, payload.payload.space)
610
+ if (nonce > i) {
611
+ continue
612
+ }
613
+ }
614
+
615
+ // The id is the index + signer address + chainId + wallet address
616
+ const id = `${i}-${signer.address}-${chainId}-${wallet}`
617
+
618
+ const payloadEntry: QueuedRecoveryPayload = {
619
+ id,
620
+ index: i,
621
+ recoveryModule: recoveryExtension,
622
+ wallet: wallet,
623
+ signer: signer.address,
624
+ chainId,
625
+ startTimestamp: timestamp,
626
+ endTimestamp: timestamp + signer.requiredDeltaTime,
627
+ payloadHash,
628
+ payload: payload?.payload,
629
+ }
630
+
631
+ payloads.push(payloadEntry)
632
+ }
584
633
  }
585
-
586
- payloads.push(payloadEntry)
634
+ } catch (err) {
635
+ console.error(`Recovery.fetchQueuedPayloads error for chainId ${chainId}:`, err)
587
636
  }
637
+ }),
638
+ )
639
+
640
+ return payloads
641
+ }
642
+
643
+ private async fetchTotalQueuedPayloadsBatched(
644
+ provider: Provider.Provider,
645
+ recoveryExtension: Address.Address,
646
+ wallet: Address.Address,
647
+ signers: RecoverySigner[],
648
+ multicall3Address: Address.Address,
649
+ ): Promise<bigint[]> {
650
+ const calls = signers.map((signer) => ({
651
+ target: recoveryExtension,
652
+ allowFailure: true,
653
+ callData: AbiFunction.encodeData(Extensions.Recovery.TOTAL_QUEUED_PAYLOADS, [wallet, signer.address]),
654
+ }))
655
+
656
+ const response = await provider.request({
657
+ method: 'eth_call',
658
+ params: [
659
+ {
660
+ to: multicall3Address,
661
+ data: AbiFunction.encodeData(AGGREGATE3, [calls]),
662
+ },
663
+ 'latest',
664
+ ],
665
+ })
666
+
667
+ const results = AbiFunction.decodeResult(AGGREGATE3, response) as readonly {
668
+ success: boolean
669
+ returnData: Hex.Hex
670
+ }[]
671
+
672
+ return results.map((result) => {
673
+ if (!result.success || result.returnData === '0x') {
674
+ return 0n
588
675
  }
676
+ return Hex.toBigInt(result.returnData)
677
+ })
678
+ }
679
+
680
+ private fetchTotalQueuedPayloadsFallback = async (
681
+ provider: Provider.Provider,
682
+ recoveryExtension: Address.Address,
683
+ wallet: Address.Address,
684
+ signers: RecoverySigner[],
685
+ ): Promise<bigint[]> => {
686
+ const result: bigint[] = signers.map(() => 0n)
687
+
688
+ // Fallback to individual calls if the multicall3 call fails
689
+ for (let s = 0; s < signers.length; s++) {
690
+ const signer = signers[s]!
691
+ const totalPayloads = await Extensions.Recovery.totalQueuedPayloads(
692
+ provider,
693
+ recoveryExtension,
694
+ wallet,
695
+ signer.address,
696
+ )
697
+ result[s] = totalPayloads
589
698
  }
590
699
 
591
- return payloads
700
+ return result
592
701
  }
593
702
 
594
703
  async encodeRecoverySignature(imageHash: Hex.Hex, signer: Address.Address) {