@agoric/inter-protocol 0.16.2-dev-857e650.0 → 0.16.2-dev-fb922d3.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 (128) hide show
  1. package/bundles/bundle-auctioneer-js-meta.json +181 -181
  2. package/bundles/bundle-auctioneer.js +1 -1
  3. package/bundles/bundle-econCommitteeCharter-js-meta.json +129 -129
  4. package/bundles/bundle-econCommitteeCharter.js +1 -1
  5. package/bundles/bundle-feeDistributor-js-meta.json +115 -115
  6. package/bundles/bundle-feeDistributor.js +1 -1
  7. package/bundles/bundle-fluxAggregatorKit-js-meta.json +169 -169
  8. package/bundles/bundle-fluxAggregatorKit.js +1 -1
  9. package/bundles/bundle-psm-js-meta.json +167 -167
  10. package/bundles/bundle-psm.js +1 -1
  11. package/bundles/bundle-reserve-js-meta.json +169 -169
  12. package/bundles/bundle-reserve.js +1 -1
  13. package/bundles/bundle-scaledPriceAuthority-js-meta.json +142 -142
  14. package/bundles/bundle-scaledPriceAuthority.js +1 -1
  15. package/bundles/bundle-vaultFactory-js-meta.json +200 -200
  16. package/bundles/bundle-vaultFactory.js +1 -1
  17. package/package.json +17 -17
  18. package/scripts/deploy-contracts.js +12 -2
  19. package/scripts/init-core.js +5 -6
  20. package/scripts/manual-price-feed.js +20 -15
  21. package/src/auction/auctionBook.d.ts +16 -13
  22. package/src/auction/auctionBook.d.ts.map +1 -1
  23. package/src/auction/auctionBook.js +68 -56
  24. package/src/auction/auctioneer.d.ts.map +1 -1
  25. package/src/auction/auctioneer.js +54 -42
  26. package/src/auction/offerBook.d.ts.map +1 -1
  27. package/src/auction/offerBook.js +12 -11
  28. package/src/auction/params.d.ts +1 -1
  29. package/src/auction/params.d.ts.map +1 -1
  30. package/src/auction/params.js +3 -5
  31. package/src/auction/scheduleMath.d.ts.map +1 -1
  32. package/src/auction/scheduleMath.js +13 -13
  33. package/src/auction/scheduler.d.ts +4 -4
  34. package/src/auction/scheduler.d.ts.map +1 -1
  35. package/src/auction/scheduler.js +20 -20
  36. package/src/auction/sortedOffers.d.ts.map +1 -1
  37. package/src/auction/sortedOffers.js +8 -7
  38. package/src/auction/util.d.ts +1 -1
  39. package/src/auction/util.js +4 -4
  40. package/src/clientSupport.d.ts +65 -27
  41. package/src/clientSupport.d.ts.map +1 -1
  42. package/src/clientSupport.js +92 -34
  43. package/src/contractSupport.js +5 -5
  44. package/src/econCommitteeCharter.d.ts +4 -6
  45. package/src/econCommitteeCharter.d.ts.map +1 -1
  46. package/src/econCommitteeCharter.js +7 -11
  47. package/src/feeDistributor.d.ts +8 -24
  48. package/src/feeDistributor.d.ts.map +1 -1
  49. package/src/feeDistributor.js +26 -28
  50. package/src/interest.d.ts +1 -0
  51. package/src/interest.d.ts.map +1 -1
  52. package/src/interest.js +22 -15
  53. package/src/price/fluxAggregatorContract.d.ts +1 -0
  54. package/src/price/fluxAggregatorContract.d.ts.map +1 -1
  55. package/src/price/fluxAggregatorContract.js +24 -19
  56. package/src/price/fluxAggregatorKit.d.ts +23 -18
  57. package/src/price/fluxAggregatorKit.d.ts.map +1 -1
  58. package/src/price/fluxAggregatorKit.js +47 -32
  59. package/src/price/priceOracleKit.d.ts +2 -8
  60. package/src/price/priceOracleKit.d.ts.map +1 -1
  61. package/src/price/priceOracleKit.js +11 -13
  62. package/src/price/roundsManager.d.ts +28 -46
  63. package/src/price/roundsManager.d.ts.map +1 -1
  64. package/src/price/roundsManager.js +51 -63
  65. package/src/proposals/committee-proposal.d.ts.map +1 -1
  66. package/src/proposals/committee-proposal.js +5 -9
  67. package/src/proposals/core-proposal.d.ts.map +1 -1
  68. package/src/proposals/core-proposal.js +3 -5
  69. package/src/proposals/econ-behaviors.d.ts.map +1 -1
  70. package/src/proposals/econ-behaviors.js +55 -28
  71. package/src/proposals/price-feed-proposal.d.ts.map +1 -1
  72. package/src/proposals/price-feed-proposal.js +30 -11
  73. package/src/proposals/startPSM.d.ts.map +1 -1
  74. package/src/proposals/startPSM.js +24 -17
  75. package/src/proposals/utils.d.ts +1 -1
  76. package/src/proposals/utils.d.ts.map +1 -1
  77. package/src/proposals/utils.js +26 -7
  78. package/src/psm/psm.d.ts +14 -22
  79. package/src/psm/psm.d.ts.map +1 -1
  80. package/src/psm/psm.js +34 -31
  81. package/src/reserve/assetReserve.d.ts.map +1 -1
  82. package/src/reserve/assetReserve.js +16 -13
  83. package/src/reserve/assetReserveKit.d.ts +14 -26
  84. package/src/reserve/assetReserveKit.d.ts.map +1 -1
  85. package/src/reserve/assetReserveKit.js +13 -21
  86. package/src/tokens.d.ts +3 -3
  87. package/src/tokens.d.ts.map +1 -1
  88. package/src/tokens.js +5 -5
  89. package/src/typeGuards.d.ts +1 -3
  90. package/src/typeGuards.d.ts.map +1 -1
  91. package/src/typeGuards.js +1 -3
  92. package/src/vaultFactory/liquidation.d.ts.map +1 -1
  93. package/src/vaultFactory/liquidation.js +29 -16
  94. package/src/vaultFactory/math.d.ts.map +1 -1
  95. package/src/vaultFactory/math.js +8 -9
  96. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
  97. package/src/vaultFactory/orderedVaultStore.js +6 -9
  98. package/src/vaultFactory/params.d.ts +1 -4
  99. package/src/vaultFactory/params.d.ts.map +1 -1
  100. package/src/vaultFactory/params.js +24 -18
  101. package/src/vaultFactory/prioritizedVaults.js +2 -2
  102. package/src/vaultFactory/proceeds.d.ts +3 -3
  103. package/src/vaultFactory/proceeds.d.ts.map +1 -1
  104. package/src/vaultFactory/proceeds.js +24 -18
  105. package/src/vaultFactory/storeUtils.d.ts +2 -6
  106. package/src/vaultFactory/storeUtils.d.ts.map +1 -1
  107. package/src/vaultFactory/storeUtils.js +8 -12
  108. package/src/vaultFactory/types.d.ts +16 -11
  109. package/src/vaultFactory/types.d.ts.map +1 -1
  110. package/src/vaultFactory/types.js +37 -27
  111. package/src/vaultFactory/vault.d.ts +103 -159
  112. package/src/vaultFactory/vault.d.ts.map +1 -1
  113. package/src/vaultFactory/vault.js +84 -85
  114. package/src/vaultFactory/vaultDirector.d.ts +21 -43
  115. package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
  116. package/src/vaultFactory/vaultDirector.js +30 -40
  117. package/src/vaultFactory/vaultFactory.d.ts +8 -6
  118. package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
  119. package/src/vaultFactory/vaultFactory.js +13 -11
  120. package/src/vaultFactory/vaultHolder.d.ts +12 -16
  121. package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
  122. package/src/vaultFactory/vaultHolder.js +7 -12
  123. package/src/vaultFactory/vaultKit.d.ts +1 -1
  124. package/src/vaultFactory/vaultKit.d.ts.map +1 -1
  125. package/src/vaultFactory/vaultKit.js +3 -2
  126. package/src/vaultFactory/vaultManager.d.ts +454 -68
  127. package/src/vaultFactory/vaultManager.d.ts.map +1 -1
  128. package/src/vaultFactory/vaultManager.js +120 -110
@@ -18,6 +18,7 @@ import { prepareFluxAggregatorKit } from './fluxAggregatorKit.js';
18
18
  const trace = makeTracer('FluxAgg', false);
19
19
  /**
20
20
  * @typedef {import('@agoric/vat-data').Baggage} Baggage
21
+ *
21
22
  * @typedef {import('@agoric/time/src/types').TimerService} TimerService
22
23
  */
23
24
 
@@ -39,23 +40,25 @@ export const privateArgsShape = M.splitRecord(
39
40
  );
40
41
 
41
42
  /**
42
- * PriceAuthority for their median. Unlike the simpler `priceAggregator.js`, this approximates
43
- * the *Node Operator Aggregation* logic of [Chainlink price
43
+ * PriceAuthority for their median. Unlike the simpler `priceAggregator.js`,
44
+ * this approximates the _Node Operator Aggregation_ logic of [Chainlink price
44
45
  * feeds](https://blog.chain.link/levels-of-data-aggregation-in-chainlink-price-feeds/).
45
46
  *
46
- * @param {ZCF<import('./fluxAggregatorKit.js').ChainlinkConfig & {
47
- * timer: TimerService,
48
- * brandIn: Brand<'nat'>,
49
- * brandOut: Brand<'nat'>,
50
- * description: string,
51
- * unitAmountIn?: Amount<'nat'>,
52
- * }>} zcf
47
+ * @param {ZCF<
48
+ * import('./fluxAggregatorKit.js').ChainlinkConfig & {
49
+ * timer: TimerService;
50
+ * brandIn: Brand<'nat'>;
51
+ * brandOut: Brand<'nat'>;
52
+ * description: string;
53
+ * unitAmountIn?: Amount<'nat'>;
54
+ * }
55
+ * >} zcf
53
56
  * @param {{
54
- * highPrioritySendersManager?: import('@agoric/internal/src/priority-senders.js').PrioritySendersManager,
55
- * initialPoserInvitation: Invitation,
56
- * marshaller: ERef<Marshaller>,
57
- * namesByAddressAdmin: ERef<import('@agoric/vats').NameAdmin>,
58
- * storageNode: StorageNode,
57
+ * highPrioritySendersManager?: import('@agoric/internal/src/priority-senders.js').PrioritySendersManager;
58
+ * initialPoserInvitation: Invitation;
59
+ * marshaller: ERef<Marshaller>;
60
+ * namesByAddressAdmin: ERef<import('@agoric/vats').NameAdmin>;
61
+ * storageNode: StorageNode;
59
62
  * }} privateArgs
60
63
  * @param {Baggage} baggage
61
64
  */
@@ -151,20 +154,22 @@ export const prepare = async (zcf, privateArgs, baggage) => {
151
154
 
152
155
  const governedApis = {
153
156
  /**
154
- * Add the specified oracles. May partially fail, such that some oracles are added and others aren't.
157
+ * Add the specified oracles. May partially fail, such that some oracles are
158
+ * added and others aren't.
155
159
  *
156
160
  * @param {string[]} addrs
157
- * @returns {Promise<Array<PromiseSettledResult<string>>>}
161
+ * @returns {Promise<PromiseSettledResult<string>[]>}
158
162
  */
159
163
  addOracles: addrs => {
160
164
  return Promise.allSettled(addrs.map(addOracle));
161
165
  },
162
166
  /**
163
- * Remove the specified oracles. May partially fail, such that some oracles are removed and others aren't.
164
- * If the oracle was never part of the set that's a PromiseRejectedResult
167
+ * Remove the specified oracles. May partially fail, such that some oracles
168
+ * are removed and others aren't. If the oracle was never part of the set
169
+ * that's a PromiseRejectedResult
165
170
  *
166
171
  * @param {string[]} addrs
167
- * @returns {Promise<Array<PromiseSettledResult<string>>>}
172
+ * @returns {Promise<PromiseSettledResult<string>[]>}
168
173
  */
169
174
  removeOracles: addrs => {
170
175
  return Promise.allSettled(addrs.map(removeOracle));
@@ -10,9 +10,9 @@ export function prepareFluxAggregatorKit(baggage: MapStore<string, unknown>, zcf
10
10
  * An "oracle invitation" is an invitation to be able to submit data to
11
11
  * include in the priceAggregator's results.
12
12
  *
13
- * The offer result from this invitation is a OracleAdmin, which can be used
14
- * directly to manage the price submissions as well as to terminate the
15
- * relationship.
13
+ * The offer result from this invitation is a OracleAdmin, which can be
14
+ * used directly to manage the price submissions as well as to terminate
15
+ * the relationship.
16
16
  *
17
17
  * @param {string} oracleId unique per contract instance
18
18
  */
@@ -39,8 +39,9 @@ export function prepareFluxAggregatorKit(baggage: MapStore<string, unknown>, zcf
39
39
  };
40
40
  }>>;
41
41
  /**
42
- * a method to provide all current info oracleStatuses need. Intended only
43
- * only to be callable by oracleStatuses. Not for use by contracts to read state.
42
+ * a method to provide all current info oracleStatuses need. Intended
43
+ * only only to be callable by oracleStatuses. Not for use by contracts
44
+ * to read state.
44
45
  *
45
46
  * @param {string} oracleId
46
47
  * @param {bigint} queriedRoundId
@@ -61,9 +62,9 @@ export function prepareFluxAggregatorKit(baggage: MapStore<string, unknown>, zcf
61
62
  * An "oracle invitation" is an invitation to be able to submit data to
62
63
  * include in the priceAggregator's results.
63
64
  *
64
- * The offer result from this invitation is a OracleAdmin, which can be used
65
- * directly to manage the price submissions as well as to terminate the
66
- * relationship.
65
+ * The offer result from this invitation is a OracleAdmin, which can be
66
+ * used directly to manage the price submissions as well as to terminate
67
+ * the relationship.
67
68
  *
68
69
  * @param {string} oracleId unique per contract instance
69
70
  */
@@ -90,8 +91,9 @@ export function prepareFluxAggregatorKit(baggage: MapStore<string, unknown>, zcf
90
91
  };
91
92
  }>>;
92
93
  /**
93
- * a method to provide all current info oracleStatuses need. Intended only
94
- * only to be callable by oracleStatuses. Not for use by contracts to read state.
94
+ * a method to provide all current info oracleStatuses need. Intended
95
+ * only only to be callable by oracleStatuses. Not for use by contracts
96
+ * to read state.
95
97
  *
96
98
  * @param {string} oracleId
97
99
  * @param {bigint} queriedRoundId
@@ -110,7 +112,8 @@ export function prepareFluxAggregatorKit(baggage: MapStore<string, unknown>, zcf
110
112
  export type Baggage = import('@agoric/vat-data').Baggage;
111
113
  export type Timestamp = import('@agoric/time/src/types').Timestamp;
112
114
  /**
113
- * // TODO: use RelativeTime, not RelativeTimeValue
115
+ * //
116
+ * TODO: use RelativeTime, not RelativeTimeValue
114
117
  */
115
118
  export type RelativeTime = import('@agoric/time/src/types').RelativeTime;
116
119
  export type RelativeTimeValue = import('@agoric/time/src/types').RelativeTimeValue;
@@ -127,22 +130,24 @@ export type ChainlinkConfig = {
127
130
  maxSubmissionCount: number;
128
131
  minSubmissionCount: number;
129
132
  /**
130
- * the number of rounds an Oracle has to wait before they can initiate a round
133
+ * the number of rounds an Oracle has to wait
134
+ * before they can initiate a round
131
135
  */
132
136
  restartDelay: bigint;
133
137
  /**
134
- * an immutable check for a lower bound of what
135
- * submission values are accepted from an oracle
138
+ * an immutable check for a lower bound of
139
+ * what submission values are accepted from an oracle
136
140
  */
137
141
  minSubmissionValue: number;
138
142
  /**
139
- * an immutable check for an upper bound of what
140
- * submission values are accepted from an oracle
143
+ * an immutable check for an upper bound
144
+ * of what submission values are accepted from an oracle
141
145
  */
142
146
  maxSubmissionValue: number;
143
147
  /**
144
- * the number of seconds after the previous round that
145
- * allowed to lapse before allowing an oracle to skip an unfinished round
148
+ * the number of seconds after the previous round
149
+ * that allowed to lapse before allowing an oracle to skip an unfinished
150
+ * round
146
151
  */
147
152
  timeout: number;
148
153
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fluxAggregatorKit.d.ts","sourceRoot":"","sources":["fluxAggregatorKit.js"],"names":[],"mappings":"AAsBA,yDAA0D;AA2DnD;WAXG,YAAY;aACV,MAAM,KAAK,CAAC;cACX,MAAM,KAAK,CAAC;;mBAGd,YAAY,YACZ,OAAO,oBAAoB,EAAE,QAAQ,eACrC,WAAW,yBACX,MAAM,WAAW,GAAG,CAAC,gBACrB,OAAO,6CAA6C,EAAE,YAAY;;QA8IrE;;;;;;;;;WASG;uCADQ,MAAM;QAsCjB,+BAA+B;+BAAnB,MAAM;;QAalB,+BAA+B;6BAAnB,MAAM;;;;;;;;;;;;;;;;;QAoBlB;;;;;;;WAOG;mCAHQ,MAAM,kBACN,MAAM,GACJ,QAAQ,UAAU,CAAC;;;;;;;;;;;QArFhC;;;;;;;;;WASG;uCADQ,MAAM;QAsCjB,+BAA+B;+BAAnB,MAAM;;QAalB,+BAA+B;6BAAnB,MAAM;;;;;;;;;;;;;;;;;QAoBlB;;;;;;;WAOG;mCAHQ,MAAM,kBACN,MAAM,GACJ,QAAQ,UAAU,CAAC;;;;;;;;;IAqDvC;sBA9UY,OAAO,kBAAkB,EAAE,OAAO;wBAClC,OAAO,wBAAwB,EAAE,SAAS;;;;2BAC1C,OAAO,wBAAwB,EAAE,YAAY;gCAE7C,OAAO,wBAAwB,EAAE,iBAAiB;2BAClD,OAAO,wBAAwB,EAAE,YAAY;;8BAQ5C,OAAO;oBACP,MAAM;sBACN,MAAM;eACN,SAAS;kBACT,MAAM;iBACN,MAAM;;;wBAMN,MAAM;wBACN,MAAM;;;;kBACN,MAAM;;;;;wBACN,MAAM;;;;;wBAEN,MAAM;;;;;aAEN,MAAM;;gCAiTN,WAAW,QAAQ,WAAW,+BAA+B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"fluxAggregatorKit.d.ts","sourceRoot":"","sources":["fluxAggregatorKit.js"],"names":[],"mappings":"AAsBA,yDAA0D;AAoEnD;WAZO,YAAY;aACV,MAAM,KAAK,CAAC;cACX,MAAM,KAAK,CAAC;;mBAIlB,YAAY,YACZ,OAAO,oBAAoB,EAAE,QAAQ,eACrC,WAAW,yBACX,MAAM,WAAW,GAAG,CAAC,gBACrB,OAAO,6CAA6C,EAAE,YAAY;;QAmJrE;;;;;;;;;WASG;uCADQ,MAAM;QAsCjB,+BAA+B;+BAAnB,MAAM;;QAalB,+BAA+B;6BAAnB,MAAM;;;;;;;;;;;;;;;;;QAoBlB;;;;;;;;WAQG;mCAHQ,MAAM,kBACN,MAAM,GACJ,QAAQ,UAAU,CAAC;;;;;;;;;;;QAtFhC;;;;;;;;;WASG;uCADQ,MAAM;QAsCjB,+BAA+B;+BAAnB,MAAM;;QAalB,+BAA+B;6BAAnB,MAAM;;;;;;;;;;;;;;;;;QAoBlB;;;;;;;;WAQG;mCAHQ,MAAM,kBACN,MAAM,GACJ,QAAQ,UAAU,CAAC;;;;;;;;;IAqDvC;sBA7VY,OAAO,kBAAkB,EAAE,OAAO;wBAElC,OAAO,wBAAwB,EAAE,SAAS;;;;;2BAE1C,OAAO,wBAAwB,EAAE,YAAY;gCAG7C,OAAO,wBAAwB,EAAE,iBAAiB;2BAElD,OAAO,wBAAwB,EAAE,YAAY;;8BAQ5C,OAAO;oBACP,MAAM;sBACN,MAAM;eACN,SAAS;kBACT,MAAM;iBACN,MAAM;;;wBAMN,MAAM;wBACN,MAAM;;;;;kBACN,MAAM;;;;;wBAEN,MAAM;;;;;wBAEN,MAAM;;;;;;aAEN,MAAM;;gCA2TN,WAAW,QAAQ,WAAW,+BAA+B,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @file
3
- * Adaptation of Chainlink algorithm to the Agoric platform.
4
- * Modeled on https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.6/FluxAggregator.sol (version?)
2
+ * @file Adaptation of Chainlink algorithm to the Agoric platform. Modeled on
3
+ * https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.6/FluxAggregator.sol
4
+ * (version?)
5
5
  */
6
6
  import { AmountMath } from '@agoric/ertp';
7
7
  import { assertAllDefined, makeTracer } from '@agoric/internal';
@@ -24,10 +24,14 @@ export const INVITATION_MAKERS_DESC = 'oracle invitation';
24
24
 
25
25
  /**
26
26
  * @typedef {import('@agoric/vat-data').Baggage} Baggage
27
+ *
27
28
  * @typedef {import('@agoric/time/src/types').Timestamp} Timestamp
28
- * @typedef {import('@agoric/time/src/types').RelativeTime} RelativeTime
29
- * // TODO: use RelativeTime, not RelativeTimeValue
29
+ *
30
+ * @typedef {import('@agoric/time/src/types').RelativeTime} RelativeTime //
31
+ * TODO: use RelativeTime, not RelativeTimeValue
32
+ *
30
33
  * @typedef {import('@agoric/time/src/types').RelativeTimeValue} RelativeTimeValue
34
+ *
31
35
  * @typedef {import('@agoric/time/src/types').TimerService} TimerService
32
36
  */
33
37
 
@@ -49,30 +53,35 @@ const priceDescriptionFromQuote = quote => quote.quoteAmount.value[0];
49
53
  * @typedef {object} ChainlinkConfig
50
54
  * @property {number} maxSubmissionCount
51
55
  * @property {number} minSubmissionCount
52
- * @property {bigint} restartDelay the number of rounds an Oracle has to wait before they can initiate a round
53
- * @property {number} minSubmissionValue an immutable check for a lower bound of what
54
- * submission values are accepted from an oracle
55
- * @property {number} maxSubmissionValue an immutable check for an upper bound of what
56
- * submission values are accepted from an oracle
57
- * @property {number} timeout the number of seconds after the previous round that
58
- * allowed to lapse before allowing an oracle to skip an unfinished round
56
+ * @property {bigint} restartDelay the number of rounds an Oracle has to wait
57
+ * before they can initiate a round
58
+ * @property {number} minSubmissionValue an immutable check for a lower bound of
59
+ * what submission values are accepted from an oracle
60
+ * @property {number} maxSubmissionValue an immutable check for an upper bound
61
+ * of what submission values are accepted from an oracle
62
+ * @property {number} timeout the number of seconds after the previous round
63
+ * that allowed to lapse before allowing an oracle to skip an unfinished
64
+ * round
59
65
  */
60
66
 
61
67
  /**
62
- * Returns a maker for a single durable FluxAggregatorKit, closed over the prepare() arguments.
68
+ * Returns a maker for a single durable FluxAggregatorKit, closed over the
69
+ * prepare() arguments.
63
70
  *
64
71
  * The kit aggregates price inputs to produce a PriceAuthority. Unlike the
65
- * simpler `priceAggregator.js`, this approximates the *Node Operator
66
- * Aggregation* logic of [Chainlink price
72
+ * simpler `priceAggregator.js`, this approximates the _Node Operator
73
+ * Aggregation_ logic of [Chainlink price
67
74
  * feeds](https://blog.chain.link/levels-of-data-aggregation-in-chainlink-price-feeds/).
68
75
  *
69
76
  * @param {Baggage} baggage
70
- * @param {ZCF<ChainlinkConfig & {
71
- * timer: TimerService,
72
- * brandIn: Brand<'nat'>,
73
- * brandOut: Brand<'nat'>,
74
- * unitAmountIn?: Amount<'nat'>,
75
- * }>} zcf
77
+ * @param {ZCF<
78
+ * ChainlinkConfig & {
79
+ * timer: TimerService;
80
+ * brandIn: Brand<'nat'>;
81
+ * brandOut: Brand<'nat'>;
82
+ * unitAmountIn?: Amount<'nat'>;
83
+ * }
84
+ * >} zcf
76
85
  * @param {TimerService} timerPresence
77
86
  * @param {import('./roundsManager.js').QuoteKit} quoteKit
78
87
  * @param {StorageNode} storageNode
@@ -128,7 +137,10 @@ export const prepareFluxAggregatorKit = async (
128
137
  // end of maker definitions /////////////////////////////////
129
138
 
130
139
  const { answerKit, latestRoundKit, priceKit } = await provideAll(baggage, {
131
- /** This is just a signal that there's a new answer, which is read from `lastValueOutForUnitIn` */
140
+ /**
141
+ * This is just a signal that there's a new answer, which is read from
142
+ * `lastValueOutForUnitIn`
143
+ */
132
144
  answerKit: () => makeDurablePublishKit(),
133
145
  /** For publishing priceAuthority values to off-chain storage */
134
146
  priceKit: () =>
@@ -142,9 +154,11 @@ export const prepareFluxAggregatorKit = async (
142
154
  E.when(E(storageNode).makeChildNode('latestRound'), node =>
143
155
  makeRecorderKit(
144
156
  node,
145
- /** @type {import('@agoric/zoe/src/contractSupport/recorder.js').TypedMatcher<import('./roundsManager.js').LatestRound>} */ (
146
- M.any()
147
- ),
157
+ /**
158
+ * @type {import('@agoric/zoe/src/contractSupport/recorder.js').TypedMatcher<
159
+ * import('./roundsManager.js').LatestRound
160
+ * >}
161
+ */ (M.any()),
148
162
  ),
149
163
  ),
150
164
  });
@@ -223,9 +237,9 @@ export const prepareFluxAggregatorKit = async (
223
237
  * An "oracle invitation" is an invitation to be able to submit data to
224
238
  * include in the priceAggregator's results.
225
239
  *
226
- * The offer result from this invitation is a OracleAdmin, which can be used
227
- * directly to manage the price submissions as well as to terminate the
228
- * relationship.
240
+ * The offer result from this invitation is a OracleAdmin, which can be
241
+ * used directly to manage the price submissions as well as to terminate
242
+ * the relationship.
229
243
  *
230
244
  * @param {string} oracleId unique per contract instance
231
245
  */
@@ -235,8 +249,8 @@ export const prepareFluxAggregatorKit = async (
235
249
  /**
236
250
  * If custom arguments are supplied to the `zoe.offer` call, they can
237
251
  * indicate an OraclePriceSubmission notifier and a corresponding
238
- * `shiftValueOut` that should be adapted as part of the priceAuthority's
239
- * reported data.
252
+ * `shiftValueOut` that should be adapted as part of the
253
+ * priceAuthority's reported data.
240
254
  *
241
255
  * @param {ZCFSeat} seat
242
256
  */
@@ -299,8 +313,9 @@ export const prepareFluxAggregatorKit = async (
299
313
  },
300
314
 
301
315
  /**
302
- * a method to provide all current info oracleStatuses need. Intended only
303
- * only to be callable by oracleStatuses. Not for use by contracts to read state.
316
+ * a method to provide all current info oracleStatuses need. Intended
317
+ * only only to be callable by oracleStatuses. Not for use by contracts
318
+ * to read state.
304
319
  *
305
320
  * @param {string} oracleId
306
321
  * @param {bigint} queriedRoundId
@@ -10,10 +10,7 @@ export function prepareOracleAdminKit(baggage: any): (args_0: HeldParams) => {
10
10
  * @param {PriceDatum} datum
11
11
  */
12
12
  pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
13
- /**
14
- *
15
- * @returns {OracleStatus}
16
- */
13
+ /** @returns {OracleStatus} */
17
14
  getStatus(): OracleStatus;
18
15
  };
19
16
  } & import("@endo/eventual-send").RemotableBrand<{}, {
@@ -27,10 +24,7 @@ export function prepareOracleAdminKit(baggage: any): (args_0: HeldParams) => {
27
24
  * @param {PriceDatum} datum
28
25
  */
29
26
  pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
30
- /**
31
- *
32
- * @returns {OracleStatus}
33
- */
27
+ /** @returns {OracleStatus} */
34
28
  getStatus(): OracleStatus;
35
29
  };
36
30
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"priceOracleKit.d.ts","sourceRoot":"","sources":["priceOracleKit.js"],"names":[],"mappings":"AAMA,yDAA0D;AA2DnD;;;;;QAcC;;;;WAIG;iEADQ,UAAU;QA0BrB;;;WAGG;qBADU,YAAY;;;;;;;QA/BzB;;;;WAIG;iEADQ,UAAU;QA0BrB;;;WAGG;qBADU,YAAY;;GAc9B;;cAlHY,MAAM;;6BACoB,YAAY,UAAU,OAAO,oBAAoB,EAAE,UAAU,KAAK,QAAQ,YAAY,CAAC;;;yBAKnH;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE;;;uBAMnD,MAAM;sBACN,MAAM;sBACN,MAAM;cACN,MAAM;;6BAGP,SAAS,UAAU,GAAG,EAC/B,CAAC;2BAEQ,YAAY,GAAG,EACxB;oBAEU,cAAc,GAAG,YAAY;wBA4F7B,WAAW,WAAW,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"priceOracleKit.d.ts","sourceRoot":"","sources":["priceOracleKit.js"],"names":[],"mappings":"AAMA,yDAA0D;AA4DnD;;;;;QAcC;;;;WAIG;iEADQ,UAAU;QA0BrB,8BAA8B;qBAAhB,YAAY;;;;;;;QA7B1B;;;;WAIG;iEADQ,UAAU;QA0BrB,8BAA8B;qBAAhB,YAAY;;GAa/B;;cAhHY,MAAM;;6BAGJ,YAAY,UACZ,OAAO,oBAAoB,EAAE,UAAU,KAC5C,QAAQ,YAAY,CAAC;;;yBAKnB;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE;;;uBAKpD,MAAM;sBACN,MAAM;sBACN,MAAM;cACN,MAAM;;6BAGP,SAAS,UAAU,GAAG,EAAE,CAAC;2BAEzB,YAAY,GAAG,EAAE;oBAEhB,cAAc,GAAG,YAAY;wBAyF7B,WAAW,WAAW,4BAA4B,CAAC,CAAC"}
@@ -8,14 +8,17 @@ export const INVITATION_MAKERS_DESC = 'oracle invitation';
8
8
 
9
9
  /**
10
10
  * @typedef {{
11
- * oracleId: string,
12
- * roundPowers: { handlePush: (status: OracleStatus, result: import('./roundsManager.js').PriceRound) => Promise<OracleStatus> }
11
+ * oracleId: string;
12
+ * roundPowers: {
13
+ * handlePush: (
14
+ * status: OracleStatus,
15
+ * result: import('./roundsManager.js').PriceRound,
16
+ * ) => Promise<OracleStatus>;
17
+ * };
13
18
  * }} HeldParams
14
19
  */
15
20
 
16
- /**
17
- * @typedef {{ roundId: number | undefined, unitPrice: NatValue }} PriceDatum
18
- */
21
+ /** @typedef {{ roundId: number | undefined; unitPrice: NatValue }} PriceDatum */
19
22
 
20
23
  /**
21
24
  * @typedef {object} OracleStatus
@@ -26,11 +29,9 @@ export const INVITATION_MAKERS_DESC = 'oracle invitation';
26
29
  * @property {string} oracleId
27
30
  */
28
31
  /**
29
- * @typedef {Readonly<HeldParams & {
30
- * }>} ImmutableState
32
+ * @typedef {Readonly<HeldParams & {}>} ImmutableState
31
33
  *
32
- * @typedef {OracleStatus & {
33
- * }} MutableState
34
+ * @typedef {OracleStatus & {}} MutableState
34
35
  */
35
36
  /** @typedef {ImmutableState & MutableState} State */
36
37
 
@@ -106,10 +107,7 @@ export const prepareOracleAdminKit = baggage =>
106
107
  state.lastStartedRound = result.lastStartedRound;
107
108
  state.latestSubmission = result.latestSubmission;
108
109
  },
109
- /**
110
- *
111
- * @returns {OracleStatus}
112
- */
110
+ /** @returns {OracleStatus} */
113
111
  getStatus() {
114
112
  const { state } = this;
115
113
  return {
@@ -11,22 +11,16 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
11
11
  unitAmountIn: Amount<'nat'>;
12
12
  }) => {
13
13
  helper: {
14
- /**
15
- * @param {bigint} roundId
16
- */
14
+ /** @param {bigint} roundId */
17
15
  acceptingSubmissions(roundId: bigint): boolean;
18
16
  /**
19
17
  * @param {OracleStatus} status
20
18
  * @param {bigint} roundId
21
19
  */
22
20
  delayed(status: OracleStatus, roundId: bigint): boolean;
23
- /**
24
- * @param {bigint} roundId
25
- */
21
+ /** @param {bigint} roundId */
26
22
  deleteRoundDetails(roundId: bigint): void;
27
- /**
28
- * @param {bigint} roundId
29
- */
23
+ /** @param {bigint} roundId */
30
24
  isNextRound(roundId: bigint): boolean;
31
25
  /**
32
26
  * @param {bigint} roundId
@@ -77,15 +71,12 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
77
71
  * @param {OracleStatus} status
78
72
  * @param {bigint} roundId
79
73
  * @param {Timestamp} blockTimestamp
80
- * @returns {string?} error message, if there is one
74
+ * @returns {string | null} error message, if there is one
81
75
  */
82
76
  validateOracleRound(status: OracleStatus, roundId: bigint, blockTimestamp: Timestamp): string | null;
83
77
  };
84
78
  contract: {
85
- /**
86
- *
87
- * @param {PriceQuoteValue} quote
88
- */
79
+ /** @param {PriceQuoteValue} quote */
89
80
  authenticateQuote(quote: PriceQuoteValue): Promise<{
90
81
  quoteAmount: Amount<"set">;
91
82
  quotePayment: Payment<"set">;
@@ -112,9 +103,8 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
112
103
  */
113
104
  eligibleForSpecificRound(status: OracleStatus, queriedRoundId: bigint, blockTimestamp: Timestamp): boolean;
114
105
  /**
115
- * consumers are encouraged to check
116
- * that they're receiving fresh data by inspecting the updatedAt and
117
- * answeredInRound return values.
106
+ * consumers are encouraged to check that they're receiving fresh data
107
+ * by inspecting the updatedAt and answeredInRound return values.
118
108
  *
119
109
  * @param {bigint | number} roundIdRaw
120
110
  * @returns {Promise<RoundData>}
@@ -123,8 +113,9 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
123
113
  /** @type {(roundId: bigint) => Readonly<RoundDetails & Round>} */
124
114
  getRoundStatus(roundId: bigint): Readonly<RoundDetails & Round>;
125
115
  /**
126
- * a method to provide all current info oracleStatuses need. Intended only
127
- * only to be callable by oracleStatuses. Not for use by contracts to read state.
116
+ * a method to provide all current info oracleStatuses need. Intended
117
+ * only only to be callable by oracleStatuses. Not for use by contracts
118
+ * to read state.
128
119
  *
129
120
  * @param {OracleStatus} status
130
121
  * @param {Timestamp} blockTimestamp
@@ -148,22 +139,16 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
148
139
  };
149
140
  } & import("@endo/eventual-send").RemotableBrand<{}, {
150
141
  helper: {
151
- /**
152
- * @param {bigint} roundId
153
- */
142
+ /** @param {bigint} roundId */
154
143
  acceptingSubmissions(roundId: bigint): boolean;
155
144
  /**
156
145
  * @param {OracleStatus} status
157
146
  * @param {bigint} roundId
158
147
  */
159
148
  delayed(status: OracleStatus, roundId: bigint): boolean;
160
- /**
161
- * @param {bigint} roundId
162
- */
149
+ /** @param {bigint} roundId */
163
150
  deleteRoundDetails(roundId: bigint): void;
164
- /**
165
- * @param {bigint} roundId
166
- */
151
+ /** @param {bigint} roundId */
167
152
  isNextRound(roundId: bigint): boolean;
168
153
  /**
169
154
  * @param {bigint} roundId
@@ -214,15 +199,12 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
214
199
  * @param {OracleStatus} status
215
200
  * @param {bigint} roundId
216
201
  * @param {Timestamp} blockTimestamp
217
- * @returns {string?} error message, if there is one
202
+ * @returns {string | null} error message, if there is one
218
203
  */
219
204
  validateOracleRound(status: OracleStatus, roundId: bigint, blockTimestamp: Timestamp): string | null;
220
205
  };
221
206
  contract: {
222
- /**
223
- *
224
- * @param {PriceQuoteValue} quote
225
- */
207
+ /** @param {PriceQuoteValue} quote */
226
208
  authenticateQuote(quote: PriceQuoteValue): Promise<{
227
209
  quoteAmount: Amount<"set">;
228
210
  quotePayment: Payment<"set">;
@@ -249,9 +231,8 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
249
231
  */
250
232
  eligibleForSpecificRound(status: OracleStatus, queriedRoundId: bigint, blockTimestamp: Timestamp): boolean;
251
233
  /**
252
- * consumers are encouraged to check
253
- * that they're receiving fresh data by inspecting the updatedAt and
254
- * answeredInRound return values.
234
+ * consumers are encouraged to check that they're receiving fresh data
235
+ * by inspecting the updatedAt and answeredInRound return values.
255
236
  *
256
237
  * @param {bigint | number} roundIdRaw
257
238
  * @returns {Promise<RoundData>}
@@ -260,8 +241,9 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
260
241
  /** @type {(roundId: bigint) => Readonly<RoundDetails & Round>} */
261
242
  getRoundStatus(roundId: bigint): Readonly<RoundDetails & Round>;
262
243
  /**
263
- * a method to provide all current info oracleStatuses need. Intended only
264
- * only to be callable by oracleStatuses. Not for use by contracts to read state.
244
+ * a method to provide all current info oracleStatuses need. Intended
245
+ * only only to be callable by oracleStatuses. Not for use by contracts
246
+ * to read state.
265
247
  *
266
248
  * @param {OracleStatus} status
267
249
  * @param {Timestamp} blockTimestamp
@@ -303,20 +285,20 @@ export type Round = {
303
285
  */
304
286
  answer: bigint;
305
287
  /**
306
- * the timestamp when the round was started. This is 0
307
- * if the round hasn't been started yet.
288
+ * the timestamp when the round was started.
289
+ * This is 0 if the round hasn't been started yet.
308
290
  */
309
291
  startedAt: Timestamp;
310
292
  /**
311
- * the timestamp when the round last was updated (i.e.
312
- * answer was last computed)
293
+ * the timestamp when the round last was updated
294
+ * (i.e. answer was last computed)
313
295
  */
314
296
  updatedAt: Timestamp;
315
297
  /**
316
- * the round ID of the round in which the answer
317
- * was computed. answeredInRound may be smaller than roundId when the round
318
- * timed out. answeredInRound is equal to roundId when the round didn't time out
319
- * and was completed regularly.
298
+ * the round ID of the round in which the
299
+ * answer was computed. answeredInRound may be smaller than roundId when the
300
+ * round timed out. answeredInRound is equal to roundId when the round didn't
301
+ * time out and was completed regularly.
320
302
  */
321
303
  answeredInRound: bigint;
322
304
  };
@@ -1 +1 @@
1
- {"version":3,"file":"roundsManager.d.ts","sourceRoot":"","sources":["roundsManager.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roundsManager.d.ts","sourceRoot":"","sources":["roundsManager.js"],"names":[],"mappings":"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"}