@@ -214,18 +214,27 @@ export const contract = async (zcf, privateArgs, zone, tools) => {
214
214
215
215
const feedKit = zone . makeOnce ( 'Feed Kit' , ( ) => makeFeedKit ( ) ) ;
216
216
217
- const poolAccountV =
218
- // cast to HostInterface
219
- /** @type { Vow<HostInterface<OrchestrationAccount<{chainId: 'agoric';}>>> } */ (
220
- /** @type {unknown }*/ (
221
- zone . makeOnce ( 'Pool Local Orch Account' , ( ) => makeLocalAccount ( ) )
222
- )
223
- ) ;
224
- const poolAccount = await vowTools . when ( poolAccountV ) ;
217
+ const poolAccountV = zone . makeOnce ( 'PoolAccount' , ( ) => makeLocalAccount ( ) ) ;
218
+ const settleAccountV = zone . makeOnce ( 'SettleAccount' , ( ) =>
219
+ makeLocalAccount ( ) ,
220
+ ) ;
221
+ // when() is OK here since this clearly resolves promptly.
222
+ /** @type {HostInterface<OrchestrationAccount<{chainId: 'agoric';}>>[] } */
223
+ const [ poolAccount , settlementAccount ] = await vowTools . when (
224
+ vowTools . all ( [ poolAccountV , settleAccountV ] ) ,
225
+ ) ;
226
+
227
+ const settlerKit = makeSettler ( {
228
+ repayer : poolKit . repayer ,
229
+ sourceChannel : 'channel-1234' , // TODO: fix this as soon as testing needs it',
230
+ remoteDenom : 'uusdc' ,
231
+ settlementAccount,
232
+ } ) ;
225
233
226
234
const advancer = zone . makeOnce ( 'Advancer' , ( ) =>
227
235
makeAdvancer ( {
228
236
borrowerFacet : poolKit . borrower ,
237
+ notifyFacet : settlerKit . notify ,
229
238
poolAccount,
230
239
} ) ,
231
240
) ;
@@ -240,28 +249,12 @@ export const contract = async (zcf, privateArgs, zone, tools) => {
240
249
} ,
241
250
} ) ;
242
251
243
- console . log ( '\n\n\nDEBUG making settlementAccount' ) ;
244
-
245
- const settleAccountV = zone . makeOnce ( 'settleAccount' , ( ) =>
246
- makeLocalAccount ( ) ,
247
- ) ;
248
- // when() is OK here since this clearly resolves promptly.
249
- /** @type {Parameters<typeof makeSettler>[0]['settlementAccount'] } */
250
- const settlementAccount = await tools . vowTools . when ( settleAccountV ) ;
251
-
252
252
console . log ( 'DEBUG settlementAccount' , settlementAccount . getAddress ( ) ) ;
253
253
254
- const { creator : settlerCreator } = makeSettler ( {
255
- repayer : poolKit . repayer ,
256
- sourceChannel : 'channel-1234' , // TODO: fix this as soon as testing needs it',
257
- remoteDenom : 'uusdc' ,
258
- settlementAccount,
259
- } ) ;
260
-
261
- console . log ( 'DEBUG made settler' , settlerCreator ) ;
254
+ console . log ( 'DEBUG made settler' , settlerKit ) ;
262
255
// FIXME triggers a race in packet-tools, but it can't be called earlier and the only way to do it later is to have the
263
256
// await settler.monitorMintingDeposits();
264
- await settlerCreator . monitorMintingDeposits ( ) ;
257
+ await settlerKit . creator . monitorMintingDeposits ( ) ;
265
258
266
259
return harden ( { creatorFacet, publicFacet } ) ;
267
260
} ;
0 commit comments