@@ -9,10 +9,12 @@ import type {
99  RequestedPaymentRequirements , 
1010}  from  "./schemas.js" ; 
1111
12+ export  type  WaitUtil  =  "simulated"  |  "submitted"  |  "confirmed" ; 
13+ 
1214export  type  ThirdwebX402FacilitatorConfig  =  { 
1315  client : ThirdwebClient ; 
1416  serverWalletAddress : string ; 
15-   waitUtil ?: "simulated"   |   "submitted"   |   "confirmed" ; 
17+   waitUtil ?: WaitUtil ; 
1618  vaultAccessToken ?: string ; 
1719  baseUrl ?: string ; 
1820} ; 
@@ -37,6 +39,7 @@ export type ThirdwebX402Facilitator = {
3739  settle : ( 
3840    payload : RequestedPaymentPayload , 
3941    paymentRequirements : RequestedPaymentRequirements , 
42+     waitUtil ?: WaitUtil , 
4043  )  =>  Promise < FacilitatorSettleResponse > ; 
4144  supported : ( filters ?: { 
4245    chainId : number ; 
@@ -167,12 +170,14 @@ export function facilitator(
167170    async  settle ( 
168171      payload : RequestedPaymentPayload , 
169172      paymentRequirements : RequestedPaymentRequirements , 
173+       waitUtil ?: WaitUtil , 
170174    ) : Promise < FacilitatorSettleResponse >  { 
171175      const  url  =  config . baseUrl  ??  DEFAULT_BASE_URL ; 
172176
173177      let  headers  =  {  "Content-Type" : "application/json"  } ; 
174178      const  authHeaders  =  await  facilitator . createAuthHeaders ( ) ; 
175179      headers  =  {  ...headers ,  ...authHeaders . settle  } ; 
180+       const  waitUtilParam  =  waitUtil  ||  config . waitUtil ; 
176181
177182      const  res  =  await  fetch ( `${ url }  ,  { 
178183        method : "POST" , 
@@ -181,7 +186,7 @@ export function facilitator(
181186          x402Version : payload . x402Version , 
182187          paymentPayload : payload , 
183188          paymentRequirements : paymentRequirements , 
184-           ...( config . waitUtil  ? {  waitUtil : config . waitUtil  }  : { } ) , 
189+           ...( waitUtilParam  ? {  waitUtil : waitUtilParam  }  : { } ) , 
185190        } ) , 
186191      } ) ; 
187192
0 commit comments