@@ -32,10 +32,10 @@ export function raceUntil<T>(promises: Promise<T>[], fallback: T, evalRes: (val:
32
32
} )
33
33
}
34
34
35
- export async function serialResolve < T > ( promises : Promise < T > [ ] , fallback : T , evalRes : ( val : T ) => boolean ) : Promise < T > {
35
+ export async function serialResolve < T > ( promises : Array < ( ) => Promise < T > > , fallback : T , evalRes : ( val : T ) => boolean ) : Promise < T > {
36
36
for ( const p of promises ) {
37
37
try {
38
- const val = await p
38
+ const val = await p ( )
39
39
if ( evalRes ( val ) ) {
40
40
return val
41
41
}
@@ -63,10 +63,14 @@ export class MultipleTracker implements migrator.PresignedMigrationTracker, Conf
63
63
let result1 : { res : commons . config . Config | undefined ; i : number } | undefined
64
64
65
65
if ( this . isSerial ) {
66
- result1 = await serialResolve ( requests , undefined , val => {
67
- if ( val ?. res === undefined ) return false
68
- return universal . genericCoderFor ( val . res . version ) . config . isComplete ( val . res )
69
- } )
66
+ result1 = await serialResolve (
67
+ requests . map ( p => ( ) => p ) ,
68
+ undefined ,
69
+ val => {
70
+ if ( val ?. res === undefined ) return false
71
+ return universal . genericCoderFor ( val . res . version ) . config . isComplete ( val . res )
72
+ }
73
+ )
70
74
} else {
71
75
// We try to find a complete configuration, we race so that we don't wait for all trackers to respond
72
76
result1 = await raceUntil ( requests , undefined , val => {
@@ -113,7 +117,11 @@ export class MultipleTracker implements migrator.PresignedMigrationTracker, Conf
113
117
const requests = this . trackers . map ( t => t . imageHashOfCounterfactualWallet ( args ) )
114
118
115
119
if ( this . isSerial ) {
116
- imageHash = await serialResolve ( requests , undefined , result => Boolean ( result ) )
120
+ imageHash = await serialResolve (
121
+ requests . map ( p => ( ) => p ) ,
122
+ undefined ,
123
+ result => Boolean ( result )
124
+ )
117
125
} else {
118
126
imageHash = await raceUntil ( requests , undefined , result => Boolean ( result ) )
119
127
}
0 commit comments