@agoric/inter-protocol 0.16.2-upgrade-18-dev-6ddbef0.0 → 0.16.2-upgrade-19-dev-c605745.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.
Files changed (108) hide show
  1. package/package.json +29 -29
  2. package/src/auction/auctionBook.d.ts +4 -4
  3. package/src/auction/auctionBook.d.ts.map +1 -1
  4. package/src/auction/auctionBook.js +51 -26
  5. package/src/auction/auctionMath.d.ts +1 -1
  6. package/src/auction/auctionMath.d.ts.map +1 -1
  7. package/src/auction/auctioneer.d.ts.map +1 -1
  8. package/src/auction/auctioneer.js +3 -3
  9. package/src/auction/params.d.ts.map +1 -1
  10. package/src/auction/scheduler.d.ts.map +1 -1
  11. package/src/auction/scheduler.js +0 -1
  12. package/src/contractSupport.d.ts +1 -1
  13. package/src/contractSupport.d.ts.map +1 -1
  14. package/src/econCommitteeCharter.d.ts +1 -1
  15. package/src/econCommitteeCharter.d.ts.map +1 -1
  16. package/src/feeDistributor.d.ts +16 -16
  17. package/src/feeDistributor.d.ts.map +1 -1
  18. package/src/interest-math.d.ts +1 -0
  19. package/src/interest-math.d.ts.map +1 -1
  20. package/src/interest-math.js +4 -0
  21. package/src/price/README.md +1 -1
  22. package/src/price/fluxAggregatorContract.d.ts.map +1 -1
  23. package/src/price/fluxAggregatorKit.d.ts +2 -1
  24. package/src/price/fluxAggregatorKit.d.ts.map +1 -1
  25. package/src/price/fluxAggregatorKit.js +2 -2
  26. package/src/price/priceOracleKit.d.ts +2 -1
  27. package/src/price/priceOracleKit.d.ts.map +1 -1
  28. package/src/price/priceOracleKit.js +5 -1
  29. package/src/price/roundsManager.d.ts +0 -1
  30. package/src/price/roundsManager.d.ts.map +1 -1
  31. package/src/proposals/add-auction.js +31 -11
  32. package/src/proposals/deploy-price-feeds.js +28 -3
  33. package/src/proposals/econ-behaviors.js +3 -2
  34. package/src/proposals/replace-fee-distributor.js +198 -0
  35. package/src/proposals/replaceElectorate.js +105 -16
  36. package/src/proposals/upgrade-vaults.js +6 -0
  37. package/src/proposals/utils.d.ts +1 -0
  38. package/src/proposals/utils.d.ts.map +1 -1
  39. package/src/proposals/utils.js +20 -0
  40. package/src/provisionPool.d.ts +4 -110
  41. package/src/provisionPool.d.ts.map +1 -1
  42. package/src/provisionPool.js +12 -2
  43. package/src/provisionPoolKit.d.ts +12 -257
  44. package/src/provisionPoolKit.d.ts.map +1 -1
  45. package/src/provisionPoolKit.js +90 -65
  46. package/src/psm/psm.d.ts +5 -1
  47. package/src/psm/psm.d.ts.map +1 -1
  48. package/src/psm/psm.js +7 -6
  49. package/src/reserve/assetReserve.d.ts +3 -2
  50. package/src/reserve/assetReserve.d.ts.map +1 -1
  51. package/src/reserve/assetReserve.js +12 -17
  52. package/src/reserve/assetReserveKit.d.ts +2 -1
  53. package/src/reserve/assetReserveKit.d.ts.map +1 -1
  54. package/src/reserve/assetReserveKit.js +2 -1
  55. package/src/reserve/params.d.ts +5 -3
  56. package/src/reserve/params.d.ts.map +1 -1
  57. package/src/reserve/params.js +4 -2
  58. package/src/vaultFactory/burn.d.ts +1 -1
  59. package/src/vaultFactory/burn.d.ts.map +1 -1
  60. package/src/vaultFactory/math.d.ts +1 -1
  61. package/src/vaultFactory/math.d.ts.map +1 -1
  62. package/src/vaultFactory/orderedVaultStore.d.ts +4 -4
  63. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
  64. package/src/vaultFactory/params.d.ts.map +1 -1
  65. package/src/vaultFactory/prioritizedVaults.d.ts +12 -12
  66. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -1
  67. package/src/vaultFactory/vault.d.ts +4 -3
  68. package/src/vaultFactory/vault.d.ts.map +1 -1
  69. package/src/vaultFactory/vault.js +2 -1
  70. package/src/vaultFactory/vaultDirector.d.ts +17 -13
  71. package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
  72. package/src/vaultFactory/vaultDirector.js +8 -2
  73. package/src/vaultFactory/vaultFactory.d.ts +7 -6
  74. package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
  75. package/src/vaultFactory/vaultHolder.d.ts +50 -6
  76. package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
  77. package/src/vaultFactory/vaultKit.d.ts +4 -3
  78. package/src/vaultFactory/vaultKit.d.ts.map +1 -1
  79. package/src/vaultFactory/vaultKit.js +5 -1
  80. package/src/vaultFactory/vaultManager.d.ts +20 -21
  81. package/src/vaultFactory/vaultManager.d.ts.map +1 -1
  82. package/src/vaultFactory/vaultManager.js +54 -36
  83. package/src/proposals/add-auction.d.ts +0 -109
  84. package/src/proposals/add-auction.d.ts.map +0 -1
  85. package/src/proposals/addAssetToVault.d.ts +0 -173
  86. package/src/proposals/addAssetToVault.d.ts.map +0 -1
  87. package/src/proposals/committee-proposal.d.ts +0 -113
  88. package/src/proposals/committee-proposal.d.ts.map +0 -1
  89. package/src/proposals/core-proposal.d.ts +0 -149
  90. package/src/proposals/core-proposal.d.ts.map +0 -1
  91. package/src/proposals/deploy-price-feeds.d.ts +0 -76
  92. package/src/proposals/deploy-price-feeds.d.ts.map +0 -1
  93. package/src/proposals/econ-behaviors.d.ts +0 -541
  94. package/src/proposals/econ-behaviors.d.ts.map +0 -1
  95. package/src/proposals/price-feed-proposal.d.ts +0 -84
  96. package/src/proposals/price-feed-proposal.d.ts.map +0 -1
  97. package/src/proposals/replace-scaledPriceAuthorities.d.ts +0 -30
  98. package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +0 -1
  99. package/src/proposals/replaceElectorate.d.ts +0 -55
  100. package/src/proposals/replaceElectorate.d.ts.map +0 -1
  101. package/src/proposals/startEconCommittee.d.ts +0 -34
  102. package/src/proposals/startEconCommittee.d.ts.map +0 -1
  103. package/src/proposals/startPSM.d.ts +0 -59
  104. package/src/proposals/startPSM.d.ts.map +0 -1
  105. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +0 -24
  106. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +0 -1
  107. package/src/proposals/upgrade-vaults.d.ts +0 -41
  108. package/src/proposals/upgrade-vaults.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/inter-protocol",
3
- "version": "0.16.2-upgrade-18-dev-6ddbef0.0+6ddbef0",
3
+ "version": "0.16.2-upgrade-19-dev-c605745.0+c605745",
4
4
  "description": "Core cryptoeconomy contracts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -13,7 +13,7 @@
13
13
  "prepack": "tsc --build tsconfig.build.json",
14
14
  "postpack": "git clean -f '*.d.ts*' '*.tsbuildinfo'",
15
15
  "test": "ava",
16
- "test:c8": "c8 $C8_OPTIONS ava --config=ava-nesm.config.js",
16
+ "test:c8": "c8 --all $C8_OPTIONS ava",
17
17
  "test:xs": "exit 0",
18
18
  "lint-fix": "yarn lint:eslint --fix",
19
19
  "lint": "run-s --continue-on-error lint:*",
@@ -31,37 +31,37 @@
31
31
  },
32
32
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
33
33
  "dependencies": {
34
- "@agoric/ertp": "0.16.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
35
- "@agoric/governance": "0.10.4-upgrade-18-dev-6ddbef0.0+6ddbef0",
36
- "@agoric/internal": "0.3.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
37
- "@agoric/notifier": "0.6.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
38
- "@agoric/store": "0.9.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
39
- "@agoric/time": "0.3.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
40
- "@agoric/vat-data": "0.5.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
41
- "@agoric/vats": "0.15.2-upgrade-18-dev-6ddbef0.0+6ddbef0",
42
- "@agoric/zoe": "0.26.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
43
- "@endo/captp": "^4.4.2",
44
- "@endo/errors": "^1.2.7",
45
- "@endo/eventual-send": "^1.2.7",
46
- "@endo/far": "^1.1.8",
47
- "@endo/marshal": "^1.6.1",
48
- "@endo/nat": "^5.0.12",
49
- "@endo/promise-kit": "^1.1.7",
34
+ "@agoric/ertp": "0.16.3-upgrade-19-dev-c605745.0+c605745",
35
+ "@agoric/governance": "0.10.4-upgrade-19-dev-c605745.0+c605745",
36
+ "@agoric/internal": "0.3.3-upgrade-19-dev-c605745.0+c605745",
37
+ "@agoric/notifier": "0.6.3-upgrade-19-dev-c605745.0+c605745",
38
+ "@agoric/store": "0.9.3-upgrade-19-dev-c605745.0+c605745",
39
+ "@agoric/time": "0.3.3-upgrade-19-dev-c605745.0+c605745",
40
+ "@agoric/vat-data": "0.5.3-upgrade-19-dev-c605745.0+c605745",
41
+ "@agoric/vats": "0.15.2-upgrade-19-dev-c605745.0+c605745",
42
+ "@agoric/zoe": "0.26.3-upgrade-19-dev-c605745.0+c605745",
43
+ "@agoric/zone": "0.2.3-upgrade-19-dev-c605745.0+c605745",
44
+ "@endo/captp": "^4.4.4",
45
+ "@endo/errors": "^1.2.9",
46
+ "@endo/eventual-send": "^1.3.0",
47
+ "@endo/far": "^1.1.10",
48
+ "@endo/marshal": "^1.6.3",
49
+ "@endo/nat": "^5.0.14",
50
+ "@endo/promise-kit": "^1.1.9",
50
51
  "jessie.js": "^0.3.4"
51
52
  },
52
53
  "devDependencies": {
53
- "@agoric/smart-wallet": "0.5.4-upgrade-18-dev-6ddbef0.0+6ddbef0",
54
- "@agoric/swingset-liveslots": "0.10.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
55
- "@agoric/swingset-vat": "0.32.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
56
- "@agoric/zone": "0.2.3-upgrade-18-dev-6ddbef0.0+6ddbef0",
57
- "@endo/bundle-source": "^3.4.2",
58
- "@endo/init": "^1.1.6",
59
- "@endo/promise-kit": "^1.1.7",
54
+ "@agoric/smart-wallet": "0.5.4-upgrade-19-dev-c605745.0+c605745",
55
+ "@agoric/swingset-liveslots": "0.10.3-upgrade-19-dev-c605745.0+c605745",
56
+ "@agoric/swingset-vat": "0.32.3-upgrade-19-dev-c605745.0+c605745",
57
+ "@endo/bundle-source": "^3.5.1",
58
+ "@endo/init": "^1.1.8",
59
+ "@endo/promise-kit": "^1.1.9",
60
60
  "@fast-check/ava": "^1.1.5",
61
61
  "ava": "^5.3.0",
62
- "c8": "^9.1.0",
62
+ "c8": "^10.1.2",
63
63
  "deep-object-diff": "^1.1.9",
64
- "import-meta-resolve": "^2.2.1"
64
+ "import-meta-resolve": "^4.1.0"
65
65
  },
66
66
  "files": [
67
67
  "scripts",
@@ -82,7 +82,7 @@
82
82
  "access": "public"
83
83
  },
84
84
  "typeCoverage": {
85
- "atLeast": 95.8
85
+ "atLeast": 95.62
86
86
  },
87
- "gitHead": "6ddbef09f18c18f205e8d166c363ff4884115ce9"
87
+ "gitHead": "c605745ee6619292b51cec5fc0db0a25ff1b203c"
88
88
  }
@@ -59,7 +59,7 @@ export function prepareAuctionBook(baggage: Baggage, zcf: ZCF, makeRecorderKit:
59
59
  exitAfterBuy?: boolean | undefined;
60
60
  }): void;
61
61
  publishBookData(): Promise<void>;
62
- observeQuoteNotifier(): void;
62
+ ensureQuoteNotifierObserved(): void;
63
63
  };
64
64
  self: {
65
65
  /**
@@ -71,8 +71,7 @@ export function prepareAuctionBook(baggage: Baggage, zcf: ZCF, makeRecorderKit:
71
71
  * sell more if there is more than one supplier of collateral, and
72
72
  * they request inconsistent limits.
73
73
  */
74
- addAssets(assetAmount: Amount<"nat">, sourceSeat: ZCFSeat, proceedsGoal?: import("@agoric/ertp").NatAmount | undefined): void;
75
- /** @type {(reduction: Ratio) => void} */
74
+ addAssets(assetAmount: Amount<"nat">, sourceSeat: ZCFSeat, proceedsGoal?: Amount<"nat">): void;
76
75
  settleAtNewRate(reduction: Ratio): void;
77
76
  getCurrentPrice(): Ratio | null;
78
77
  hasOrders(): boolean;
@@ -141,7 +140,8 @@ export type BookDataNotification = {
141
140
  */
142
141
  collateralAvailable: Amount<"nat"> | null;
143
142
  };
144
- export type AuctionBook = ReturnType<ReturnType<typeof prepareAuctionBook>>;
143
+ export type AuctionBook = EReturn<EReturn<typeof prepareAuctionBook>>;
145
144
  import type { Baggage } from '@agoric/vat-data';
146
145
  import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
146
+ import type { EReturn } from '@endo/far';
147
147
  //# sourceMappingURL=auctionBook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auctionBook.d.ts","sourceRoot":"","sources":["auctionBook.js"],"names":[],"mappings":"AA8EO,6CAHI,KAAK,CAAC,KAAK,CAAC,mBACZ,KAAK,CAAC,KAAK,CAAC,oCAiBtB;AAwBM,4CAJI,OAAO,OACP,GAAG,mBACH,OAAO,6CAA6C,EAAE,eAAe,8IAsoBtE,UAAU;;QA/gBZ;;;;;;WAMG;+BAFQ,MAAM,SACN,KAAK,GAAG,SAAS;QAW5B;;;;;;;WAOG;2BAHQ,MAAM,kBACN,MAAM,SACN,KAAK,GAAG,SAAS;QAW5B;;;;;;WAMG;qBAFQ,OAAO,oBACP,MAAM,CAAC,KAAK,CAAC;QA+DxB;;;;;;;;;;;WAWG;+BANQ,OAAO,SACP,KAAK,UACL,MAAM,CAAC,KAAK,CAAC,+BAErB;YAAsB,SAAS,EAAvB,OAAO;YACQ,YAAY;SAAC;QAsCvC;;;;;;;;;;;WAWG;mCANQ,OAAO,cACP,KAAK,UACL,MAAM,CAAC,KAAK,CAAC,+BAErB;YAAsB,SAAS,EAAvB,OAAO;YACQ,YAAY;SAAC;;;;;QAoGvC;;;;;;;;WAQG;+BAPQ,MAAM,CAAC,KAAK,CAAC,cACb,OAAO;QA4ElB,yCAAyC;mCAAlB,KAAK,GAAK,IAAI;;;;;QAsGrC;;;;WAIG;4BAHQ,SAAS,QACT,OAAO,aACP,OAAO;;;;;;;;;;;;GAqFqB,CAAC,MAAM,CAAC,CAItD;wBAhsBY;IACR,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CACvB,GAAG;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,CACE;IACE,UAAU,EAAE,KAAK,CAAC;CACnB,GACD;IACE,eAAe,EAAE,KAAK,CAAC;CACxB,CACJ;;;;;gBAyBQ,KAAK,GAAG,IAAI;;;;;uBACZ,KAAK,GAAG,IAAI;;;;;uBAEZ,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;;;;;2BAEpB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;;;;;oBAEpB,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;;;;;qBAEzB,MAAM,CAAC,KAAK,CAAC;;;;;yBAEb,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;;0BAopBpB,UAAU,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;6BAluBrC,kBAAkB;oCACX,4BAA4B"}
1
+ {"version":3,"file":"auctionBook.d.ts","sourceRoot":"","sources":["auctionBook.js"],"names":[],"mappings":"AA+EO,6CAHI,KAAK,CAAC,KAAK,CAAC,mBACZ,KAAK,CAAC,KAAK,CAAC,oCAiBtB;AAwBM,4CAJI,OAAO,OACP,GAAG,mBACH,OAAO,6CAA6C,EAAE,eAAe,8IA8pBtE,UAAU;;QAriBZ;;;;;;WAMG;+BAFQ,MAAM,SACN,KAAK,GAAG,SAAS;QAW5B;;;;;;;WAOG;2BAHQ,MAAM,kBACN,MAAM,SACN,KAAK,GAAG,SAAS;QAW5B;;;;;;WAMG;qBAFQ,OAAO,oBACP,MAAM,CAAC,KAAK,CAAC;QA+DxB;;;;;;;;;;;WAWG;+BANQ,OAAO,SACP,KAAK,UACL,MAAM,CAAC,KAAK,CAAC,+BAErB;YAAsB,SAAS,EAAvB,OAAO;YACQ,YAAY;SAAC;QAsCvC;;;;;;;;;;;WAWG;mCANQ,OAAO,cACP,KAAK,UACL,MAAM,CAAC,KAAK,CAAC,+BAErB;YAAsB,SAAS,EAAvB,OAAO;YACQ,YAAY;SAAC;;;;;QAyHvC;;;;;;;;WAQG;+BAPQ,MAAM,CAAC,KAAK,CAAC,cACb,OAAO,iBACP,MAAM,CAAC,KAAK,CAAC;mCA2ED,KAAK,GAAK,IAAI;;;;;QAuGrC;;;;WAIG;4BAHQ,SAAS,QACT,OAAO,aACP,OAAO;;;;;;;;;;;;GAqFqB,CAAC,MAAM,CAAC,CAItD;wBAxtBY;IACR,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CACvB,GAAG;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,CACE;IACE,UAAU,EAAE,KAAK,CAAC;CACnB,GACD;IACE,eAAe,EAAE,KAAK,CAAC;CACxB,CACJ;;;;;gBAyBQ,KAAK,GAAG,IAAI;;;;;uBACZ,KAAK,GAAG,IAAI;;;;;uBAEZ,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;;;;;2BAEpB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;;;;;oBAEpB,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;;;;;qBAEzB,MAAM,CAAC,KAAK,CAAC;;;;;yBAEb,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;;0BA4qBpB,QAAQ,QAAQ,OAAO,kBAAkB,CAAC,CAAC;6BA1vB/B,kBAAkB;oCACX,4BAA4B;6BAFnC,WAAW"}
@@ -28,6 +28,7 @@ import {
28
28
  } from './util.js';
29
29
 
30
30
  /**
31
+ * @import {EReturn} from '@endo/far';
31
32
  * @import {Baggage} from '@agoric/vat-data';
32
33
  * @import {PriceAuthority} from '@agoric/zoe/tools/types.js';
33
34
  * @import {TypedPattern} from '@agoric/internal';
@@ -118,6 +119,8 @@ export const makeOfferSpecShape = (bidBrand, collateralBrand) => {
118
119
  export const prepareAuctionBook = (baggage, zcf, makeRecorderKit) => {
119
120
  const makeScaledBidBook = prepareScaledBidBook(baggage);
120
121
  const makePriceBook = preparePriceBook(baggage);
122
+ // Brands that have or are making active quoteNotifier Observers
123
+ const observedBrands = new Set();
121
124
 
122
125
  const AuctionBookStateShape = harden({
123
126
  collateralBrand: M.any(),
@@ -454,38 +457,59 @@ export const prepareAuctionBook = (baggage, zcf, makeRecorderKit) => {
454
457
  });
455
458
  return state.bookDataKit.recorder.write(bookData);
456
459
  },
457
- observeQuoteNotifier() {
460
+ // Ensure that there is an observer monitoring the quoteNotifier. We
461
+ // assume that all failure modes for quoteNotifier eventually lead to
462
+ // fail or finish.
463
+ ensureQuoteNotifierObserved() {
458
464
  const { state, facets } = this;
459
465
  const { collateralBrand, bidBrand, priceAuthority } = state;
460
466
 
467
+ if (observedBrands.has(collateralBrand)) {
468
+ return;
469
+ }
470
+ observedBrands.add(collateralBrand);
461
471
  trace('observing');
462
472
 
463
- const quoteNotifier = E(priceAuthority).makeQuoteNotifier(
473
+ const quoteNotifierP = E(priceAuthority).makeQuoteNotifier(
464
474
  AmountMath.make(collateralBrand, QUOTE_SCALE),
465
475
  bidBrand,
466
476
  );
467
- void observeNotifier(quoteNotifier, {
468
- updateState: quote => {
469
- trace(
470
- `BOOK notifier ${priceFrom(quote).numerator.value}/${
471
- priceFrom(quote).denominator.value
472
- }`,
473
- );
474
- state.updatingOracleQuote = priceFrom(quote);
475
- },
476
- fail: reason => {
477
- trace(`Failure from quoteNotifier (${reason}) setting to null`);
478
- // lack of quote will trigger restart
479
- state.updatingOracleQuote = null;
480
- },
481
- finish: done => {
482
- trace(
483
- `quoteNotifier invoked finish(${done}). setting quote to null`,
484
- );
485
- // lack of quote will trigger restart
477
+
478
+ void E.when(
479
+ quoteNotifierP,
480
+ quoteNotifier =>
481
+ observeNotifier(quoteNotifier, {
482
+ updateState: quote => {
483
+ trace(
484
+ `BOOK notifier ${priceFrom(quote).numerator.value}/${
485
+ priceFrom(quote).denominator.value
486
+ }`,
487
+ );
488
+ state.updatingOracleQuote = priceFrom(quote);
489
+ },
490
+ fail: reason => {
491
+ trace(
492
+ `Failure from quoteNotifier (${reason}) setting to null`,
493
+ );
494
+ // lack of quote will trigger restart
495
+ state.updatingOracleQuote = null;
496
+ observedBrands.delete(collateralBrand);
497
+ },
498
+ finish: done => {
499
+ trace(
500
+ `quoteNotifier invoked finish(${done}). setting quote to null`,
501
+ );
502
+ // lack of quote will trigger restart
503
+ state.updatingOracleQuote = null;
504
+ observedBrands.delete(collateralBrand);
505
+ },
506
+ }),
507
+ e => {
508
+ trace('makeQuoteNotifier failed, resetting', e);
486
509
  state.updatingOracleQuote = null;
510
+ observedBrands.delete(collateralBrand);
487
511
  },
488
- });
512
+ );
489
513
 
490
514
  void facets.helper.publishBookData();
491
515
  },
@@ -645,8 +669,9 @@ export const prepareAuctionBook = (baggage, zcf, makeRecorderKit) => {
645
669
 
646
670
  trace(`capturing oracle price `, state.updatingOracleQuote);
647
671
  if (!state.updatingOracleQuote) {
648
- // if the price has feed has died, try restarting it.
649
- facets.helper.observeQuoteNotifier();
672
+ // if the price feed has died (or hasn't been started for this
673
+ // incarnation), (re)start it.
674
+ facets.helper.ensureQuoteNotifierObserved();
650
675
  return;
651
676
  }
652
677
 
@@ -750,7 +775,7 @@ export const prepareAuctionBook = (baggage, zcf, makeRecorderKit) => {
750
775
  const { collateralBrand, bidBrand, priceAuthority } = state;
751
776
  assertAllDefined({ collateralBrand, bidBrand, priceAuthority });
752
777
 
753
- facets.helper.observeQuoteNotifier();
778
+ facets.helper.ensureQuoteNotifierObserved();
754
779
  },
755
780
  stateShape: AuctionBookStateShape,
756
781
  },
@@ -766,4 +791,4 @@ export const prepareAuctionBook = (baggage, zcf, makeRecorderKit) => {
766
791
  };
767
792
  harden(prepareAuctionBook);
768
793
 
769
- /** @typedef {ReturnType<ReturnType<typeof prepareAuctionBook>>} AuctionBook */
794
+ /** @typedef {EReturn<EReturn<typeof prepareAuctionBook>>} AuctionBook */
@@ -4,7 +4,7 @@ export function amountsToSettle({ bidAlloc, collateralWanted, collateralAvailabl
4
4
  collateralAvailable: Amount<"nat">;
5
5
  curAuctionPrice: Ratio;
6
6
  remainingProceedsGoal: Amount<"nat"> | null;
7
- }, log?: ((...msgs: any[]) => void) | undefined): {
7
+ }, log?: (...msgs: any[]) => void): {
8
8
  proceedsExpected: null;
9
9
  proceedsTarget?: undefined;
10
10
  collateralTarget?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"auctionMath.d.ts","sourceRoot":"","sources":["auctionMath.js"],"names":[],"mappings":"AAoBO,8HARJ;IAAyB,QAAQ,EAAzB,OAAO,KAAK,CAAC;IACI,gBAAgB,EAAjC,OAAO,KAAK,CAAC;IACI,mBAAmB,EAApC,OAAO,KAAK,CAAC;IACJ,eAAe,EAAxB,KAAK;IACmB,qBAAqB,EAA7C,OAAO,KAAK,CAAC,GAAG,IAAI;CAE5B,mBAAkB,GAAG,EAAE,KAAK,IAAI;;;;;;;;EA6DlC;4BAxEwB,2BAA2B"}
1
+ {"version":3,"file":"auctionMath.d.ts","sourceRoot":"","sources":["auctionMath.js"],"names":[],"mappings":"AAoBO,8HARJ;IAAyB,QAAQ,EAAzB,OAAO,KAAK,CAAC;IACI,gBAAgB,EAAjC,OAAO,KAAK,CAAC;IACI,mBAAmB,EAApC,OAAO,KAAK,CAAC;IACJ,eAAe,EAAxB,KAAK;IACmB,qBAAqB,EAA7C,OAAO,KAAK,CAAC,GAAG,IAAI;CAE5B,QAAQ,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;;;;;;;;EA6DlC;4BAxEwB,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"auctioneer.d.ts","sourceRoot":"","sources":["auctioneer.js"],"names":[],"mappings":"AAgLO,yEAXI,MAAM,CAAC,KAAK,CAAC,YACb,MAAM,CAAC,KAAK,CAAC,YACb;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;CAAE,EAAE,kBAC/D,OAAO,kBACP,OAAO,qBAEP,MAAM,eAEN,OAAO,SACP,KAAK,kBAgNf;AAiBM,2BAdI,GAAG,CACT,eAAe,CAAC,OAAO,oBAAoB,CAAC,GAAG;IAC7C,YAAY,EAAE,OAAO,cAAc,EAAE,YAAY,CAAC;IAClD,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,cAAc,EAAE,cAAc,CAAC;CAChC,CACF,eACO;IACN,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;CACxB,WACO,OAAO;;;;;;;;;;QAsOZ,4CAA4C;2CAAhC,KAAK,CAAC,KAAK,CAAC;;;;;;;;;;;;;kBApCT,MAAM,CAAC,KAAK,CAAC;;;;QAmG5B;;;WAGG;yBAFQ,MAAM,CAAC,KAAK,CAAC,OACb,OAAO;QAwBlB,gEAAgE;uBAAlD,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;;QA1B5D;;;WAGG;yBAFQ,MAAM,CAAC,KAAK,CAAC,OACb,OAAO;QAwBlB,gEAAgE;uBAAlD,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;;GAQjE;AAED,6DAA6D;AAC7D,yEAAyE;AACzE,2EAA2E;AAE3E,8DAAkE;iCAJpD,UAAU,CAAC,OAAO,KAAK,CAAC;oCACxB,kBAAkB,CAAC,aAAa,CAAC;qCACjC,kBAAkB,CAAC,cAAc,CAAC;qCAxrBX,aAAa;oCAO2C,4BAA4B;6BAD/F,kBAAkB"}
1
+ {"version":3,"file":"auctioneer.d.ts","sourceRoot":"","sources":["auctioneer.js"],"names":[],"mappings":"AAkLO,yEAXI,MAAM,CAAC,KAAK,CAAC,YACb,MAAM,CAAC,KAAK,CAAC,YACb;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;CAAE,EAAE,kBAC/D,OAAO,kBACP,OAAO,qBAEP,MAAM,eAEN,OAAO,SACP,KAAK,kBAgNf;AAiBM,2BAdI,GAAG,CACT,eAAe,CAAC,OAAO,oBAAoB,CAAC,GAAG;IAC7C,YAAY,EAAE,OAAO,cAAc,EAAE,YAAY,CAAC;IAClD,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,cAAc,EAAE,cAAc,CAAC;CAChC,CACF,eACO;IACN,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;CACxB,WACO,OAAO;;;;;;;;;;QAqOZ,4CAA4C;2CAAhC,KAAK,CAAC,KAAK,CAAC;;;;;;;;;;;;;kBApCT,MAAM,CAAC,KAAK,CAAC;;;;QAkG5B;;;WAGG;yBAFQ,MAAM,CAAC,KAAK,CAAC,OACb,OAAO;QAwBlB,gEAAgE;uBAAlD,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;;QA1B5D;;;WAGG;yBAFQ,MAAM,CAAC,KAAK,CAAC,OACb,OAAO;QAwBlB,gEAAgE;uBAAlD,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;;GAQjE;AAED,6DAA6D;AAC7D,yEAAyE;AACzE,2EAA2E;AAE3E,8DAAkE;iCAJpD,UAAU,CAAC,OAAO,KAAK,CAAC;oCACxB,kBAAkB,CAAC,aAAa,CAAC;qCACjC,kBAAkB,CAAC,cAAc,CAAC;qCAxrBX,aAAa;oCAO2C,4BAA4B;6BAD/F,kBAAkB"}
@@ -6,7 +6,7 @@ import { E } from '@endo/eventual-send';
6
6
  import { Far } from '@endo/marshal';
7
7
  import { AmountMath, AmountShape, BrandShape } from '@agoric/ertp';
8
8
  import { handleParamGovernance } from '@agoric/governance';
9
- import { BASIS_POINTS, makeTracer } from '@agoric/internal';
9
+ import { makeTracer } from '@agoric/internal';
10
10
  import { prepareDurablePublishKit } from '@agoric/notifier';
11
11
  import { mustMatch } from '@agoric/store';
12
12
  import { appendToStoredArray } from '@agoric/store/src/stores/store-utils.js';
@@ -40,6 +40,8 @@ import { AuctionState } from './util.js';
40
40
  * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js';
41
41
  */
42
42
 
43
+ const BASIS_POINTS = 10_000n;
44
+
43
45
  const { add, multiply } = natSafeMath;
44
46
 
45
47
  const trace = makeTracer('Auction', true);
@@ -584,7 +586,6 @@ export const start = async (zcf, privateArgs, baggage) => {
584
586
  },
585
587
  });
586
588
 
587
- // eslint-disable-next-line no-use-before-define
588
589
  const isActive = () => scheduler.getAuctionState() === AuctionState.ACTIVE;
589
590
 
590
591
  /**
@@ -651,7 +652,6 @@ export const start = async (zcf, privateArgs, baggage) => {
651
652
  );
652
653
  },
653
654
  getSchedules() {
654
- // eslint-disable-next-line no-use-before-define
655
655
  return scheduler.getSchedule();
656
656
  },
657
657
  getScheduleUpdates() {
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAQA;;;;GAIG;AAGH,+DAAyD;AAEzD;;;;;;GAMG;AACH,+CAAgD;AAChD,gDAAgD;AAChD,qCAAsC;AACtC,iFAAiF;AACjF,8CAA+C;AAC/C,4DAA4D;AAC5D,0CAA2C;AAC3C,4EAA4E;AAC5E,8CAA+C;AAC/C;;;GAGG;AACH,sDAAuD;AAIvD,kDAAmD;AAEnD,sEASG;;;;;;;;;;;AA2BI,yLADK,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCxB;AAQM,yDAJI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,OAC1E,GAAG,WACH,aAAa;;;;;;;;;GA0BvB;AAUM,0FANI;IAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;CAAE,SAChE,IAAI,CAAC,OAAO,cAAc,EAAE,YAAY,CAAC,kBACzC,IAAI,CAAC,cAAc,CAAC,sBACpB,IAAI,CAAC,uBAAuB,CAAC,UAC7B,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvB;;gCAxGa,MAAM,CAAC,KAAK,CAAC;oBACb,YAAY;eACZ,YAAY;kBACZ,MAAM;gBACN,MAAM;kBACN,MAAM;uBACN,YAAY;qBACZ,YAAY;gBACZ,OAAO,cAAc,EAAE,UAAU;;kCAmGjC,UAAU,CAAC,OAAO,0BAA0B,CAAC;oCAnKkC,4BAA4B"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAQA;;;;GAIG;AAGH,+DAAyD;AAEzD;;;;;;GAMG;AACH,8BAA+B,gBAAgB,CAAC;AAChD,gDAAgD;AAChD,yBAA0B,WAAW,CAAC;AACtC,iFAAiF;AACjF,+BAAgC,cAAc,CAAC;AAC/C,4DAA4D;AAC5D,6BAA8B,YAAY,CAAC;AAC3C,4EAA4E;AAC5E,+BAAgC,cAAc,CAAC;AAC/C;;;GAGG;AACH,kCAAmC,mBAAmB,CAAC;AAIvD,gCAAiC,iBAAiB,CAAC;AAEnD,sEASG;;;;;;;;;;;AA2BI,yLADK,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCxB;AAQM,yDAJI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,OAC1E,GAAG,WACH,aAAa;;;;;;;;;GA0BvB;AAUM,0FANI;IAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;CAAE,SAChE,IAAI,CAAC,OAAO,cAAc,EAAE,YAAY,CAAC,kBACzC,IAAI,CAAC,cAAc,CAAC,sBACpB,IAAI,CAAC,uBAAuB,CAAC,UAC7B,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvB;;gCAxGa,MAAM,CAAC,KAAK,CAAC;oBACb,YAAY;eACZ,YAAY;kBACZ,MAAM;gBACN,MAAM;kBACN,MAAM;uBACN,YAAY;qBACZ,YAAY;gBACZ,OAAO,cAAc,EAAE,UAAU;;kCAmGjC,UAAU,CAAC,OAAO,0BAA0B,CAAC;oCAnKkC,4BAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["scheduler.js"],"names":[],"mappings":"AA8EO,6CAPI,aAAa,SACb,OAAO,cAAc,EAAE,YAAY,UACnC,OAAO,CAAC,OAAO,aAAa,EAAE,mBAAmB,CAAC,cAClD,OAAO,cAAc,EAAE,UAAU,oBACjC,OAAO,6CAA6C,EAAE,QAAQ,CAAC,oBAAoB,CAAC,2BACpF,kBAAkB,CAAC,2BAA2B,CAAC;;;;;;;;;;;;IA2RzD;;yBA5Ta,MAAM,IAAI;cACV,MAAM,IAAI;gBACV,MAAM,IAAI;mBACV,MAAM,IAAI;;;;;;;qBAKV,SAAS,GAAG,IAAI;;;;mBAEhB,SAAS,GAAG,IAAI;;;;;4BAChB,SAAS,GAAG,IAAI;;;eAqThB,OAAO,cAAc,EAAE,eAAe;aACtC,OAAO,cAAc,EAAE,eAAe;WACtC,QAAQ;aACR,QAAQ;gBACR,YAAY;eACZ,YAAY;;;;yBAMZ,QAAQ,GAAG,IAAI;yBACf,QAAQ,GAAG,IAAI;;6BAhXsB,WAAW"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["scheduler.js"],"names":[],"mappings":"AA8EO,6CAPI,aAAa,SACb,OAAO,cAAc,EAAE,YAAY,UACnC,OAAO,CAAC,OAAO,aAAa,EAAE,mBAAmB,CAAC,cAClD,OAAO,cAAc,EAAE,UAAU,oBACjC,OAAO,6CAA6C,EAAE,QAAQ,CAAC,oBAAoB,CAAC,2BACpF,kBAAkB,CAAC,2BAA2B,CAAC;;;;;;;;;;;;IA0RzD;;yBA3Ta,MAAM,IAAI;cACV,MAAM,IAAI;gBACV,MAAM,IAAI;mBACV,MAAM,IAAI;;;;;;;qBAKV,SAAS,GAAG,IAAI;;;;mBAEhB,SAAS,GAAG,IAAI;;;;;4BAChB,SAAS,GAAG,IAAI;;;eAoThB,OAAO,cAAc,EAAE,eAAe;aACtC,OAAO,cAAc,EAAE,eAAe;WACtC,QAAQ;aACR,QAAQ;gBACR,YAAY;eACZ,YAAY;;;;yBAMZ,QAAQ,GAAG,IAAI;yBACf,QAAQ,GAAG,IAAI;;6BA/WsB,WAAW"}
@@ -244,7 +244,6 @@ export const makeScheduler = async (
244
244
  try {
245
245
  setTimeMonotonically(time);
246
246
  auctionDriver.capturePrices();
247
- // eslint-disable-next-line no-use-before-define
248
247
  return startAuction();
249
248
  } catch (e) {
250
249
  console.error(`⚠️ Auction threw ${e}. Caught in SchedulerWaker.`);
@@ -11,7 +11,7 @@ export function subtractToEmpty<T extends Amount>(left: T, right: T): T;
11
11
  export function assertOnlyKeys(proposal: ProposalRecord, keys: string[]): void;
12
12
  export function allEmpty(amounts: Amount[]): boolean;
13
13
  export function checkDebtLimit(debtLimit: Amount<"nat">, totalDebt: Amount<"nat">, toMint: Amount<"nat">): void;
14
- export function makeNatAmountShape(brand: Brand, min?: bigint | undefined): {
14
+ export function makeNatAmountShape(brand: Brand, min?: NatValue): {
15
15
  brand: globalThis.Brand;
16
16
  value: import("@endo/patterns").Matcher;
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contractSupport.d.ts","sourceRoot":"","sources":["contractSupport.js"],"names":[],"mappings":";;;;;;;;AA4BO,4BANe,CAAC,SAAT,MAAO,QACV,CAAC,QACD,CAAC,QACD,CAAC,GACC,CAAC,CAGyC;AAQhD,gCALe,CAAC,SAAT,MAAO,QACV,CAAC,SACD,CAAC,GACC,CAAC,CAK2C;AAQlD,yCAHI,cAAc,QACd,MAAM,EAAE,QAQlB;AAMM,kCAHI,MAAM,EAAE,GACN,OAAO,CAInB;AAUM,0CAPI,MAAM,CAAC,KAAK,CAAC,aACb,MAAM,CAAC,KAAK,CAAC,UACb,MAAM,CAAC,KAAK,CAAC,QAcvB;AAoBM,0CAHI,KAAK;;;EAIsC;AAG/C,0CADK,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,CAAC,SAEO;gCAtBtD,CAAC;wBAEA,iBAAiB,CAAC,CAAC,CAAC;yBACpB,kBAAkB,CAAC,CAAC,CAAC;;8BAItB,CAAC;sBAEA,SAAS,CAAC,CAAC,CAAC;uBACZ,gBAAgB,CAAC,CAAC,CAAC;;sCAvF6D,4BAA4B"}
1
+ {"version":3,"file":"contractSupport.d.ts","sourceRoot":"","sources":["contractSupport.js"],"names":[],"mappings":";;;;;;;;AA4BO,4BANe,CAAC,SAAT,MAAO,QACV,CAAC,QACD,CAAC,QACD,CAAC,GACC,CAAC,CAGyC;AAQhD,gCALe,CAAC,SAAT,MAAO,QACV,CAAC,SACD,CAAC,GACC,CAAC,CAK2C;AAQlD,yCAHI,cAAc,QACd,MAAM,EAAE,QAQlB;AAMM,kCAHI,MAAM,EAAE,GACN,OAAO,CAInB;AAUM,0CAPI,MAAM,CAAC,KAAK,CAAC,aACb,MAAM,CAAC,KAAK,CAAC,UACb,MAAM,CAAC,KAAK,CAAC,QAcvB;AAoBM,0CAHI,KAAK,QACL,QAAQ;;;EAGmC;AAG/C,0CADK,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,CAAC,SAEO;gCAtBtD,CAAC;wBAEA,iBAAiB,CAAC,CAAC,CAAC;yBACpB,kBAAkB,CAAC,CAAC,CAAC;;8BAItB,CAAC;sBAEA,SAAS,CAAC,CAAC,CAAC;uBACZ,gBAAgB,CAAC,CAAC,CAAC;;sCAvF6D,4BAA4B"}
@@ -16,7 +16,7 @@ export function start(zcf: ZCF<{
16
16
  * @param {GovernorCreatorFacet<any>} governorFacet
17
17
  * @param {string} [label] for diagnostic use only
18
18
  */
19
- addInstance: (governedInstance: Instance, governorFacet: GovernorCreatorFacet<any>, label?: string | undefined) => void;
19
+ addInstance: (governedInstance: Instance, governorFacet: GovernorCreatorFacet<any>, label?: string) => void;
20
20
  makeCharterMemberInvitation: () => Promise<Invitation<{
21
21
  invitationMakers: import("@endo/exo").Guarded<{
22
22
  VoteOnParamChange: () => Promise<Invitation<import("@agoric/governance/src/types").ContractGovernanceVoteResult, ParamChangesOfferArgs>>;
@@ -1 +1 @@
1
- {"version":3,"file":"econCommitteeCharter.d.ts","sourceRoot":"","sources":["econCommitteeCharter.js"],"names":[],"mappings":"AAaA;;;;;GAKG;AAEH,iEAAkE;AAoBlE,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAMnC;AAQK,2BAJI,GAAG,CAAC;IAAE,6BAA6B,EAAE,YAAY,CAAA;CAAE,CAAC,eACpD,SAAS,WACT,OAAO,kBAAkB,EAAE,OAAO;;QAsHvC;;;;WAIG;wCAHQ,QAAQ,iBACR,oBAAoB,CAAC,GAAG,CAAC;;;;;0CAxE7B,QAAQ,cACR,MAAM,cACN,MAAM,EAAE,YACR,OAAO,cAAc,EAAE,cAAc;;;;GAkFjD;;cAjKa,MAAM;cACN,QAAQ;YACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;mBACV,OAAO"}
1
+ {"version":3,"file":"econCommitteeCharter.d.ts","sourceRoot":"","sources":["econCommitteeCharter.js"],"names":[],"mappings":"AAaA;;;;;GAKG;AAEH,qCAAsC,2BAA2B,CAAC;AAoBlE,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAMnC;AAQK,2BAJI,GAAG,CAAC;IAAE,6BAA6B,EAAE,YAAY,CAAA;CAAE,CAAC,eACpD,SAAS,WACT,OAAO,kBAAkB,EAAE,OAAO;;QAsHvC;;;;WAIG;wCAHQ,QAAQ,iBACR,oBAAoB,CAAC,GAAG,CAAC,UACzB,MAAM;;;;;0CAzEV,QAAQ,cACR,MAAM,cACN,MAAM,EAAE,YACR,OAAO,cAAc,EAAE,cAAc;;;;GAkFjD;;cAjKa,MAAM;cACN,QAAQ;YACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;mBACV,OAAO"}
@@ -1,12 +1,12 @@
1
1
  /** @type {ContractMeta<typeof start>} */
2
2
  export const meta: ContractMeta<typeof start>;
3
3
  export function makeContractFeeCollector(zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>): {
4
- collectFees: () => Promise<globalThis.Payment<any>>;
4
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
5
5
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
6
- collectFees: () => Promise<globalThis.Payment<any>>;
6
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
7
7
  }>;
8
- export function startDistributing(schedulePayments: () => Promise<unknown>, timerService: ERef<TimerService>, collectionInterval?: RelativeTime | undefined): void;
9
- export function makeShareConfig(destinations?: Record<string, globalThis.ERef<FeeDestination>> | undefined, keywordShares?: Record<string, bigint> | undefined): {
8
+ export function startDistributing(schedulePayments: () => Promise<unknown>, timerService: ERef<TimerService>, collectionInterval?: RelativeTime): void;
9
+ export function makeShareConfig(destinations?: Record<Keyword, ERef<FeeDestination>>, keywordShares?: Record<Keyword, NatValue>): {
10
10
  shares: {
11
11
  share: bigint;
12
12
  destination: globalThis.ERef<FeeDestination>;
@@ -21,9 +21,9 @@ export function makeFeeDistributor(feeIssuer: ERef<Issuer<"nat">>, terms: {
21
21
  }): {
22
22
  creatorFacet: {
23
23
  makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
24
- collectFees: () => Promise<globalThis.Payment<any>>;
24
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
25
25
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
26
- collectFees: () => Promise<globalThis.Payment<any>>;
26
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
27
27
  }>;
28
28
  /**
29
29
  * Start distributing fees from this collector.
@@ -51,7 +51,7 @@ export function makeFeeDistributor(feeIssuer: ERef<Issuer<"nat">>, terms: {
51
51
  * @param {PropertyKey} makeInvitationMethod
52
52
  * @param {unknown[]} [args]
53
53
  */
54
- makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
54
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[]) => {
55
55
  pushPayment: (payment: any, issuer: any) => Promise<any>;
56
56
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
57
57
  pushPayment: (payment: any, issuer: any) => Promise<any>;
@@ -62,9 +62,9 @@ export function makeFeeDistributor(feeIssuer: ERef<Issuer<"nat">>, terms: {
62
62
  setKeywordShares: (newShares: Record<Keyword, bigint>) => void;
63
63
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
64
64
  makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
65
- collectFees: () => Promise<globalThis.Payment<any>>;
65
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
66
66
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
67
- collectFees: () => Promise<globalThis.Payment<any>>;
67
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
68
68
  }>;
69
69
  /**
70
70
  * Start distributing fees from this collector.
@@ -92,7 +92,7 @@ export function makeFeeDistributor(feeIssuer: ERef<Issuer<"nat">>, terms: {
92
92
  * @param {PropertyKey} makeInvitationMethod
93
93
  * @param {unknown[]} [args]
94
94
  */
95
- makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
95
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[]) => {
96
96
  pushPayment: (payment: any, issuer: any) => Promise<any>;
97
97
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
98
98
  pushPayment: (payment: any, issuer: any) => Promise<any>;
@@ -113,9 +113,9 @@ export function makeFeeDistributor(feeIssuer: ERef<Issuer<"nat">>, terms: {
113
113
  export function start(zcf: ZCF<Parameters<typeof makeFeeDistributor>[1]>): Promise<{
114
114
  creatorFacet: {
115
115
  makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
116
- collectFees: () => Promise<globalThis.Payment<any>>;
116
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
117
117
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
118
- collectFees: () => Promise<globalThis.Payment<any>>;
118
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
119
119
  }>;
120
120
  /**
121
121
  * Start distributing fees from this collector.
@@ -143,7 +143,7 @@ export function start(zcf: ZCF<Parameters<typeof makeFeeDistributor>[1]>): Promi
143
143
  * @param {PropertyKey} makeInvitationMethod
144
144
  * @param {unknown[]} [args]
145
145
  */
146
- makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
146
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[]) => {
147
147
  pushPayment: (payment: any, issuer: any) => Promise<any>;
148
148
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
149
149
  pushPayment: (payment: any, issuer: any) => Promise<any>;
@@ -154,9 +154,9 @@ export function start(zcf: ZCF<Parameters<typeof makeFeeDistributor>[1]>): Promi
154
154
  setKeywordShares: (newShares: Record<Keyword, bigint>) => void;
155
155
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
156
156
  makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
157
- collectFees: () => Promise<globalThis.Payment<any>>;
157
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
158
158
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
159
- collectFees: () => Promise<globalThis.Payment<any>>;
159
+ collectFees: () => Promise<globalThis.Payment<any, any>>;
160
160
  }>;
161
161
  /**
162
162
  * Start distributing fees from this collector.
@@ -184,7 +184,7 @@ export function start(zcf: ZCF<Parameters<typeof makeFeeDistributor>[1]>): Promi
184
184
  * @param {PropertyKey} makeInvitationMethod
185
185
  * @param {unknown[]} [args]
186
186
  */
187
- makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
187
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[]) => {
188
188
  pushPayment: (payment: any, issuer: any) => Promise<any>;
189
189
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
190
190
  pushPayment: (payment: any, issuer: any) => Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"feeDistributor.d.ts","sourceRoot":"","sources":["feeDistributor.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feeDistributor.d.ts","sourceRoot":"","sources":["feeDistributor.js"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export function calculateCurrentDebt(debtSnapshot: Amount<"nat">, interestSnapshot: Ratio, currentCompoundedInterest: Ratio): Amount<"nat">;
2
2
  export function reverseInterest(debt: Amount<"nat">, interestApplied: Ratio): Amount<"nat">;
3
+ import type { Amount } from '@agoric/ertp';
3
4
  //# sourceMappingURL=interest-math.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interest-math.d.ts","sourceRoot":"","sources":["interest-math.js"],"names":[],"mappings":"AAgCO,mDALI,MAAM,CAAC,KAAK,CAAC,oBACb,KAAK,6BACL,KAAK,GACH,MAAM,CAAC,KAAK,CAAC,CAiBzB;AAOM,sCAJI,MAAM,CAAC,KAAK,CAAC,mBACb,KAAK,GACH,MAAM,CAAC,KAAK,CAAC,CAIzB"}
1
+ {"version":3,"file":"interest-math.d.ts","sourceRoot":"","sources":["interest-math.js"],"names":[],"mappings":"AAoCO,mDALI,OAAO,KAAK,CAAC,oBACb,KAAK,6BACL,KAAK,GACH,OAAO,KAAK,CAAC,CAiBzB;AAOM,sCAJI,OAAO,KAAK,CAAC,mBACb,KAAK,GACH,OAAO,KAAK,CAAC,CAIzB;4BAjDwC,cAAc"}
@@ -8,6 +8,10 @@ import {
8
8
  ratiosSame,
9
9
  } from '@agoric/zoe/src/contractSupport/ratio.js';
10
10
 
11
+ /**
12
+ * @import {Amount, Brand, Payment} from '@agoric/ertp';
13
+ */
14
+
11
15
  /**
12
16
  * @param {Ratio} currentCompoundedInterest as coefficient
13
17
  * @param {Ratio} previousCompoundedInterest as coefficient
@@ -25,7 +25,7 @@ Oracle operates can make PushPrice offers in the CLI. There is no GUI.
25
25
 
26
26
  ### CLI
27
27
 
28
- See [oracle.js command file](/packages/agoric-cli/src/commands/oracle.js) and its [integration test script](/packages/agoric-cli/test/agops-oracle-smoketest.sh).
28
+ See [oracle.js command file](/packages/agoric-cli/src/commands/oracle.js)
29
29
 
30
30
  ```mermaid
31
31
  sequenceDiagram
@@ -1 +1 @@
1
- {"version":3,"file":"fluxAggregatorContract.d.ts","sourceRoot":"","sources":["fluxAggregatorContract.js"],"names":[],"mappings":"AAcA;;;GAGG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAmBrB;AA0BK,2BAlBI,GAAG,CACb,OAAW,wBAAwB,EAAE,eAAe,GAAG;IACjD,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CAC9B,CACF,eACO;IACN,0BAA0B,CAAC,EAAE,OAAO,0CAA0C,EAAE,sBAAsB,CAAC;IACvG,sBAAsB,EAAE,UAAU,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,mBAAmB,EAAE,IAAI,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAC;IAC5D,WAAW,EAAE,WAAW,CAAC;CAC1B,WACO,OAAO;;;;;;;;;;;;;;;6CAyI8vF,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAJnyF;0BAGa,OAAO,KAAK;kCAtLK,cAAc;6BADnB,kBAAkB"}
1
+ {"version":3,"file":"fluxAggregatorContract.d.ts","sourceRoot":"","sources":["fluxAggregatorContract.js"],"names":[],"mappings":"AAcA;;;GAGG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAmBrB;AA0BK,2BAlBI,GAAG,CACb,OAAW,wBAAwB,EAAE,eAAe,GAAG;IACjD,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CAC9B,CACF,eACO;IACN,0BAA0B,CAAC,EAAE,OAAO,0CAA0C,EAAE,sBAAsB,CAAC;IACvG,sBAAsB,EAAE,UAAU,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,mBAAmB,EAAE,IAAI,CAAC,OAAO,cAAc,EAAE,SAAS,CAAC,CAAC;IAC5D,WAAW,EAAE,WAAW,CAAC;CAC1B,WACO,OAAO;;;;;;;;;;;;;;;6CAyIywF,oBAAoB;;6CAApB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAJ9yF;0BAGa,OAAO,KAAK;kCAtLK,cAAc;6BADnB,kBAAkB"}
@@ -94,10 +94,11 @@ export type ChainlinkConfig = {
94
94
  */
95
95
  timeout: number;
96
96
  };
97
- export type FluxAggregatorKit = ReturnType<Awaited<ReturnType<typeof prepareFluxAggregatorKit>>>;
97
+ export type FluxAggregatorKit = EReturn<EReturn<typeof prepareFluxAggregatorKit>>;
98
98
  import type { Baggage } from '@agoric/vat-data';
99
99
  import type { TimerService } from '@agoric/time';
100
100
  import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
101
101
  import type { PriceDescription } from '@agoric/zoe/tools/types.js';
102
102
  import type { Timestamp } from '@agoric/time';
103
+ import type { EReturn } from '@endo/far';
103
104
  //# sourceMappingURL=fluxAggregatorKit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fluxAggregatorKit.d.ts","sourceRoot":"","sources":["fluxAggregatorKit.js"],"names":[],"mappings":"AA2BA,yDAA0D;AAgEnD,kDAfI,OAAO,OACP,GAAG,CACT,eAAe,GAAG;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CAC9B,CACF,iBACO,YAAY,YACZ,OAAO,oBAAoB,EAAE,QAAQ,eACrC,WAAW,yBACX,MAAM,UAAU,CAAC,GAAG,CAAC,gBACrB,OAAO,6CAA6C,EAAE,YAAY;;QA+IrE;;;;;;;;;WASG;uCADQ,MAAM;;gBAiBX,8DAA8D;kCAAlD,OAAO,oBAAoB,EAAE,UAAU;;gBAAnD,8DAA8D;kCAAlD,OAAO,oBAAoB,EAAE,UAAU;;;;;;;QAqBzD,+BAA+B;+BAAnB,MAAM;;QAalB,+BAA+B;6BAAnB,MAAM;;;;;;;;;QAoBlB;;;;;;;;WAQG;mCAHQ,MAAM,kBACN,MAAM,GACJ,OAAO,CAAC,UAAU,CAAC;;;;;;;;;IAqDvC;;8BAxUa,OAAO;oBACP,MAAM;sBACN,MAAM;eACN,SAAS;kBACT,MAAM;iBACN,MAAM;;;wBAMN,MAAM;wBACN,MAAM;;;;;kBACN,MAAM;;;;;wBAEN,MAAM;;;;;wBAEN,MAAM;;;;;;aAEN,MAAM;;gCAuTN,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;6BAvVpD,kBAAkB;kCAKb,cAAc;oCAbgD,4BAA4B;sCAA5B,4BAA4B;+BAS7F,cAAc"}
1
+ {"version":3,"file":"fluxAggregatorKit.d.ts","sourceRoot":"","sources":["fluxAggregatorKit.js"],"names":[],"mappings":"AA4BA,qCAAsC,mBAAmB,CAAC;AAgEnD,kDAfI,OAAO,OACP,GAAG,CACT,eAAe,GAAG;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CAC9B,CACF,iBACO,YAAY,YACZ,OAAO,oBAAoB,EAAE,QAAQ,eACrC,WAAW,yBACX,MAAM,UAAU,CAAC,GAAG,CAAC,gBACrB,OAAO,6CAA6C,EAAE,YAAY;;QA8IrE;;;;;;;;;WASG;uCADQ,MAAM;;gBAiBX,8DAA8D;kCAAlD,OAAO,oBAAoB,EAAE,UAAU;;gBAAnD,8DAA8D;kCAAlD,OAAO,oBAAoB,EAAE,UAAU;;;;;;;QAqBzD,+BAA+B;+BAAnB,MAAM;;QAalB,+BAA+B;6BAAnB,MAAM;;;;;;;;;QAoBlB;;;;;;;;WAQG;mCAHQ,MAAM,kBACN,MAAM,GACJ,OAAO,CAAC,UAAU,CAAC;;;;;;;;;IAqDvC;;8BAvUa,OAAO;oBACP,MAAM;sBACN,MAAM;eACN,SAAS;kBACT,MAAM;iBACN,MAAM;;;wBAMN,MAAM;wBACN,MAAM;;;;;kBACN,MAAM;;;;;wBAEN,MAAM;;;;;wBAEN,MAAM;;;;;;aAEN,MAAM;;gCAsTN,QAAQ,QAAQ,OAAO,wBAAwB,CAAC,CAAC;6BAtVrC,kBAAkB;kCAKb,cAAc;oCAbgD,4BAA4B;sCAA5B,4BAA4B;+BAS7F,cAAc;6BAXhB,WAAW"}
@@ -19,6 +19,7 @@ import { prepareOracleAdminKit } from './priceOracleKit.js';
19
19
  import { prepareRoundsManagerKit } from './roundsManager.js';
20
20
 
21
21
  /**
22
+ * @import {EReturn} from '@endo/far';
22
23
  * @import {TypedPattern} from '@agoric/internal';
23
24
  * @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js';
24
25
  */
@@ -130,7 +131,6 @@ export const prepareFluxAggregatorKit = async (
130
131
  const makeOracleAdminKit = prepareOracleAdminKit(baggage);
131
132
 
132
133
  const makeRecorderKit = defineRecorderKit({
133
- // @ts-expect-error XXX
134
134
  makeDurablePublishKit,
135
135
  makeRecorder,
136
136
  });
@@ -371,4 +371,4 @@ export const prepareFluxAggregatorKit = async (
371
371
  return makeFluxAggregatorKit;
372
372
  };
373
373
  harden(prepareFluxAggregatorKit);
374
- /** @typedef {ReturnType<Awaited<ReturnType<typeof prepareFluxAggregatorKit>>>} FluxAggregatorKit */
374
+ /** @typedef {EReturn<EReturn<typeof prepareFluxAggregatorKit>>} FluxAggregatorKit */
@@ -34,5 +34,6 @@ export type OracleStatus = {
34
34
  export type ImmutableState = Readonly<HeldParams & {}>;
35
35
  export type MutableState = OracleStatus & {};
36
36
  export type State = ImmutableState & MutableState;
37
- export type OracleKit = ReturnType<ReturnType<typeof prepareOracleAdminKit>>;
37
+ export type OracleKit = EReturn<EReturn<typeof prepareOracleAdminKit>>;
38
+ import type { EReturn } from '@endo/far';
38
39
  //# sourceMappingURL=priceOracleKit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceOracleKit.d.ts","sourceRoot":"","sources":["priceOracleKit.js"],"names":[],"mappings":"AAMA,yDAA0D;AA4DnD;;;;;QAcC;;;;WAIG;iEADQ,UAAU;QA0BrB,8BAA8B;qBAAhB,YAAY;;GAa/B;yBAjHU;IACR,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,UAAU,EAAE,CACV,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,OAAO,oBAAoB,EAAE,UAAU,KAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;KAC5B,CAAC;CACH;yBAGU;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE;;;uBAKpD,MAAM;sBACN,MAAM;sBACN,MAAM;cACN,MAAM;;6BAGP,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;2BAEzB,YAAY,GAAG,EAAE;oBAEhB,cAAc,GAAG,YAAY;wBAyF7B,UAAU,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"priceOracleKit.d.ts","sourceRoot":"","sources":["priceOracleKit.js"],"names":[],"mappings":"AAMA,qCAAsC,mBAAmB,CAAC;AAgEnD;;;;;QAcC;;;;WAIG;iEADQ,UAAU;QA0BrB,8BAA8B;qBAAhB,YAAY;;GAa/B;yBAjHU;IACR,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,UAAU,EAAE,CACV,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,OAAO,oBAAoB,EAAE,UAAU,KAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;KAC5B,CAAC;CACH;yBAGU;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE;;;uBAKpD,MAAM;sBACN,MAAM;sBACN,MAAM;cACN,MAAM;;6BAGP,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;2BAEzB,YAAY,GAAG,EAAE;oBAEhB,cAAc,GAAG,YAAY;wBAyF7B,QAAQ,QAAQ,OAAO,qBAAqB,CAAC,CAAC;6BAvHlC,WAAW"}
@@ -6,6 +6,10 @@ const trace = makeTracer('OrKit', true);
6
6
 
7
7
  export const INVITATION_MAKERS_DESC = 'oracle invitation';
8
8
 
9
+ /**
10
+ * @import {EReturn} from '@endo/far';
11
+ */
12
+
9
13
  /**
10
14
  * @typedef {{
11
15
  * oracleId: string;
@@ -122,4 +126,4 @@ export const prepareOracleAdminKit = baggage =>
122
126
  },
123
127
  );
124
128
 
125
- /** @typedef {ReturnType<ReturnType<typeof prepareOracleAdminKit>>} OracleKit */
129
+ /** @typedef {EReturn<EReturn<typeof prepareOracleAdminKit>>} OracleKit */