@agoric/inter-protocol 0.16.2-dev-c1ae023.0 → 0.16.2-dev-5affa34.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/inter-protocol",
3
- "version": "0.16.2-dev-c1ae023.0+c1ae023",
3
+ "version": "0.16.2-dev-5affa34.0+5affa34",
4
4
  "description": "Core cryptoeconomy contracts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -31,16 +31,16 @@
31
31
  },
32
32
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
33
33
  "dependencies": {
34
- "@agoric/ertp": "0.16.3-dev-c1ae023.0+c1ae023",
35
- "@agoric/governance": "0.10.4-dev-c1ae023.0+c1ae023",
36
- "@agoric/internal": "0.3.3-dev-c1ae023.0+c1ae023",
37
- "@agoric/notifier": "0.6.3-dev-c1ae023.0+c1ae023",
38
- "@agoric/store": "0.9.3-dev-c1ae023.0+c1ae023",
39
- "@agoric/time": "0.3.3-dev-c1ae023.0+c1ae023",
40
- "@agoric/vat-data": "0.5.3-dev-c1ae023.0+c1ae023",
41
- "@agoric/vats": "0.15.2-dev-c1ae023.0+c1ae023",
42
- "@agoric/zoe": "0.26.3-dev-c1ae023.0+c1ae023",
43
- "@agoric/zone": "0.2.3-dev-c1ae023.0+c1ae023",
34
+ "@agoric/ertp": "0.16.3-dev-5affa34.0+5affa34",
35
+ "@agoric/governance": "0.10.4-dev-5affa34.0+5affa34",
36
+ "@agoric/internal": "0.3.3-dev-5affa34.0+5affa34",
37
+ "@agoric/notifier": "0.6.3-dev-5affa34.0+5affa34",
38
+ "@agoric/store": "0.9.3-dev-5affa34.0+5affa34",
39
+ "@agoric/time": "0.3.3-dev-5affa34.0+5affa34",
40
+ "@agoric/vat-data": "0.5.3-dev-5affa34.0+5affa34",
41
+ "@agoric/vats": "0.15.2-dev-5affa34.0+5affa34",
42
+ "@agoric/zoe": "0.26.3-dev-5affa34.0+5affa34",
43
+ "@agoric/zone": "0.2.3-dev-5affa34.0+5affa34",
44
44
  "@endo/captp": "^4.4.3",
45
45
  "@endo/errors": "^1.2.8",
46
46
  "@endo/eventual-send": "^1.2.8",
@@ -51,9 +51,9 @@
51
51
  "jessie.js": "^0.3.4"
52
52
  },
53
53
  "devDependencies": {
54
- "@agoric/smart-wallet": "0.5.4-dev-c1ae023.0+c1ae023",
55
- "@agoric/swingset-liveslots": "0.10.3-dev-c1ae023.0+c1ae023",
56
- "@agoric/swingset-vat": "0.32.3-dev-c1ae023.0+c1ae023",
54
+ "@agoric/smart-wallet": "0.5.4-dev-5affa34.0+5affa34",
55
+ "@agoric/swingset-liveslots": "0.10.3-dev-5affa34.0+5affa34",
56
+ "@agoric/swingset-vat": "0.32.3-dev-5affa34.0+5affa34",
57
57
  "@endo/bundle-source": "^3.5.0",
58
58
  "@endo/init": "^1.1.7",
59
59
  "@endo/promise-kit": "^1.1.8",
@@ -84,5 +84,5 @@
84
84
  "typeCoverage": {
85
85
  "atLeast": 95.58
86
86
  },
87
- "gitHead": "c1ae023438eb7cdf0c84bc5e21e6b682ec9fbd36"
87
+ "gitHead": "5affa34beb10ed922683ac7a972a7c447862c1a4"
88
88
  }
@@ -56,7 +56,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
56
56
  helper: {
57
57
  /** Start non-durable processes (or restart if needed after vat restart) */
58
58
  start(): void;
59
- observeQuoteNotifier(): void;
59
+ ensureQuoteNotifierWatched(): void;
60
60
  /** @param {Timestamp} updateTime */
61
61
  chargeAllVaults(updateTime: Timestamp): Promise<void>;
62
62
  assetNotify(): Promise<void>;
@@ -313,7 +313,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
313
313
  helper: {
314
314
  /** Start non-durable processes (or restart if needed after vat restart) */
315
315
  start(): void;
316
- observeQuoteNotifier(): void;
316
+ ensureQuoteNotifierWatched(): void;
317
317
  /** @param {Timestamp} updateTime */
318
318
  chargeAllVaults(updateTime: Timestamp): Promise<void>;
319
319
  assetNotify(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"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"}
@@ -227,6 +227,7 @@ export const prepareVaultManagerKit = (
227
227
  { zcf, marshaller, makeRecorderKit, factoryPowers },
228
228
  ) => {
229
229
  const { priceAuthority, timerService, reservePublicFacet } = zcf.getTerms();
230
+ const watchedBrands = new Set();
230
231
 
231
232
  const makeVault = prepareVault(baggage, makeRecorderKit, zcf);
232
233
 
@@ -424,52 +425,69 @@ export const prepareVaultManagerKit = (
424
425
  },
425
426
  });
426
427
 
427
- void facets.helper.observeQuoteNotifier();
428
+ void facets.helper.ensureQuoteNotifierWatched();
428
429
 
429
430
  trace('helper.start() done');
430
431
  },
431
- observeQuoteNotifier() {
432
+ ensureQuoteNotifierWatched() {
432
433
  const { state } = this;
433
434
 
434
435
  const { collateralBrand, collateralUnit, debtBrand, storageNode } =
435
436
  state;
437
+ if (watchedBrands.has(collateralBrand)) {
438
+ return;
439
+ }
440
+ watchedBrands.add(collateralBrand);
441
+
436
442
  const ephemera = collateralEphemera(collateralBrand);
437
443
 
438
- const quoteNotifier = E(priceAuthority).makeQuoteNotifier(
444
+ const quoteNotifierP = E(priceAuthority).makeQuoteNotifier(
439
445
  collateralUnit,
440
446
  debtBrand,
441
447
  );
442
- // @ts-expect-error XXX quotes
443
- ephemera.storedQuotesNotifier = makeStoredNotifier(
444
- // @ts-expect-error XXX quotes
445
- quoteNotifier,
446
- E(storageNode).makeChildNode('quotes'),
447
- marshaller,
448
- );
449
- trace(
450
- 'helper.start() awaiting observe storedQuotesNotifier',
451
- collateralBrand,
452
- );
453
- // NB: upon restart, there may not be a price for a while. If manager
454
- // operations are permitted, ones that depend on price information
455
- // will throw. See https://github.com/Agoric/agoric-sdk/issues/4317
456
- const quoteWatcher = harden({
457
- onFulfilled(value) {
458
- trace('watcher updated price', value);
459
- ephemera.storedCollateralQuote = value;
460
- },
461
- onRejected() {
462
- // NOTE: drastic action, if the quoteNotifier fails, we don't know
463
- // the value of the asset, nor do we know how long we'll be in
464
- // ignorance. Best choice is to disable actions that require
465
- // prices and restart when we have a new price. If we restart the
466
- // notifier immediately, we'll trigger an infinite loop, so try
467
- // to restart each time we get a request.
468
448
 
449
+ void E.when(
450
+ quoteNotifierP,
451
+ quoteNotifier => {
452
+ // @ts-expect-error XXX quotes
453
+ ephemera.storedQuotesNotifier = makeStoredNotifier(
454
+ // @ts-expect-error XXX quotes
455
+ quoteNotifier,
456
+ E(storageNode).makeChildNode('quotes'),
457
+ marshaller,
458
+ );
459
+ trace(
460
+ 'helper.start() awaiting observe storedQuotesNotifier',
461
+ collateralBrand,
462
+ );
463
+ // NB: upon restart, there may not be a price for a while. If manager
464
+ // operations are permitted, ones that depend on price information
465
+ // will throw. See https://github.com/Agoric/agoric-sdk/issues/4317
466
+ const quoteWatcher = harden({
467
+ onFulfilled(value) {
468
+ trace('watcher updated price', value);
469
+ ephemera.storedCollateralQuote = value;
470
+ },
471
+ onRejected() {
472
+ // NOTE: drastic action, if the quoteNotifier fails, we don't know
473
+ // the value of the asset, nor do we know how long we'll be in
474
+ // ignorance. Best choice is to disable actions that require
475
+ // prices and restart when we have a new price. If we restart the
476
+ // notifier immediately, we'll trigger an infinite loop, so try
477
+ // to restart each time we get a request.
478
+
479
+ ephemera.storedCollateralQuote = null;
480
+ watchedBrands.delete(collateralBrand);
481
+ },
482
+ });
483
+ void watchQuoteNotifier(quoteNotifier, quoteWatcher);
484
+ },
485
+ e => {
486
+ trace('makeQuoteNotifier failed, resetting', e);
469
487
  ephemera.storedCollateralQuote = null;
488
+ watchedBrands.delete(collateralBrand);
470
489
  },
471
- });
472
- void watchQuoteNotifier(quoteNotifier, quoteWatcher);
490
+ );
473
491
  },
474
492
  /** @param {Timestamp} updateTime */
475
493
  async chargeAllVaults(updateTime) {
@@ -841,7 +859,7 @@ export const prepareVaultManagerKit = (
841
859
  const { collateralBrand } = state;
842
860
  const { storedCollateralQuote } = collateralEphemera(collateralBrand);
843
861
  if (!storedCollateralQuote) {
844
- facets.helper.observeQuoteNotifier();
862
+ facets.helper.ensureQuoteNotifierWatched();
845
863
 
846
864
  // it might take an arbitrary amount of time to get a new quote
847
865
  throw Fail`maxDebtFor called before a collateral quote was available for ${collateralBrand}`;
@@ -1088,7 +1106,7 @@ export const prepareVaultManagerKit = (
1088
1106
  state.collateralBrand,
1089
1107
  );
1090
1108
  if (!storedCollateralQuote) {
1091
- facets.helper.observeQuoteNotifier();
1109
+ facets.helper.ensureQuoteNotifierWatched();
1092
1110
 
1093
1111
  // it might take an arbitrary amount of time to get a new quote
1094
1112
  throw Fail`getCollateralQuote called before a collateral quote was available`;
@@ -1107,7 +1125,7 @@ export const prepareVaultManagerKit = (
1107
1125
  state.collateralBrand,
1108
1126
  );
1109
1127
  if (!storedCollateralQuote) {
1110
- facets.helper.observeQuoteNotifier();
1128
+ facets.helper.ensureQuoteNotifierWatched();
1111
1129
 
1112
1130
  // it might take an arbitrary amount of time to get a new quote
1113
1131
  throw Fail`lockOraclePrices called before a collateral quote was available for ${state.collateralBrand}`;