@agoric/inter-protocol 0.16.2-dev-5694c0c.0 → 0.16.2-dev-2ca7ea6.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-5694c0c.0+5694c0c",
3
+ "version": "0.16.2-dev-2ca7ea6.0+2ca7ea6",
4
4
  "description": "Core cryptoeconomy contracts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -31,15 +31,15 @@
31
31
  },
32
32
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
33
33
  "dependencies": {
34
- "@agoric/ertp": "0.16.3-dev-5694c0c.0+5694c0c",
35
- "@agoric/governance": "0.10.4-dev-5694c0c.0+5694c0c",
36
- "@agoric/internal": "0.3.3-dev-5694c0c.0+5694c0c",
37
- "@agoric/notifier": "0.6.3-dev-5694c0c.0+5694c0c",
38
- "@agoric/store": "0.9.3-dev-5694c0c.0+5694c0c",
39
- "@agoric/time": "0.3.3-dev-5694c0c.0+5694c0c",
40
- "@agoric/vat-data": "0.5.3-dev-5694c0c.0+5694c0c",
41
- "@agoric/vats": "0.15.2-dev-5694c0c.0+5694c0c",
42
- "@agoric/zoe": "0.26.3-dev-5694c0c.0+5694c0c",
34
+ "@agoric/ertp": "0.16.3-dev-2ca7ea6.0+2ca7ea6",
35
+ "@agoric/governance": "0.10.4-dev-2ca7ea6.0+2ca7ea6",
36
+ "@agoric/internal": "0.3.3-dev-2ca7ea6.0+2ca7ea6",
37
+ "@agoric/notifier": "0.6.3-dev-2ca7ea6.0+2ca7ea6",
38
+ "@agoric/store": "0.9.3-dev-2ca7ea6.0+2ca7ea6",
39
+ "@agoric/time": "0.3.3-dev-2ca7ea6.0+2ca7ea6",
40
+ "@agoric/vat-data": "0.5.3-dev-2ca7ea6.0+2ca7ea6",
41
+ "@agoric/vats": "0.15.2-dev-2ca7ea6.0+2ca7ea6",
42
+ "@agoric/zoe": "0.26.3-dev-2ca7ea6.0+2ca7ea6",
43
43
  "@endo/captp": "^4.4.0",
44
44
  "@endo/errors": "^1.2.6",
45
45
  "@endo/eventual-send": "^1.2.6",
@@ -50,10 +50,10 @@
50
50
  "jessie.js": "^0.3.4"
51
51
  },
52
52
  "devDependencies": {
53
- "@agoric/smart-wallet": "0.5.4-dev-5694c0c.0+5694c0c",
54
- "@agoric/swingset-liveslots": "0.10.3-dev-5694c0c.0+5694c0c",
55
- "@agoric/swingset-vat": "0.32.3-dev-5694c0c.0+5694c0c",
56
- "@agoric/zone": "0.2.3-dev-5694c0c.0+5694c0c",
53
+ "@agoric/smart-wallet": "0.5.4-dev-2ca7ea6.0+2ca7ea6",
54
+ "@agoric/swingset-liveslots": "0.10.3-dev-2ca7ea6.0+2ca7ea6",
55
+ "@agoric/swingset-vat": "0.32.3-dev-2ca7ea6.0+2ca7ea6",
56
+ "@agoric/zone": "0.2.3-dev-2ca7ea6.0+2ca7ea6",
57
57
  "@endo/bundle-source": "^3.4.1",
58
58
  "@endo/init": "^1.1.5",
59
59
  "@endo/promise-kit": "^1.1.6",
@@ -84,5 +84,5 @@
84
84
  "typeCoverage": {
85
85
  "atLeast": 95.8
86
86
  },
87
- "gitHead": "5694c0c706d7f8516c565c893ff844d0ada92b8a"
87
+ "gitHead": "2ca7ea6ff2dfc5f5db4624fb3cdcab1786571e73"
88
88
  }
@@ -114,8 +114,8 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
114
114
  getRoundStatus(roundId: bigint): Readonly<RoundDetails & Round>;
115
115
  /**
116
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.
117
+ * only to be callable by oracleStatuses. Not for use by contracts to
118
+ * read state.
119
119
  *
120
120
  * @param {OracleStatus} status
121
121
  * @param {Timestamp} blockTimestamp
@@ -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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"}
@@ -26,7 +26,7 @@ const V3_NO_DATA_ERROR = 'No data present';
26
26
  /** @type {bigint} */
27
27
  export const ROUND_MAX = BigInt(2 ** 32 - 1);
28
28
 
29
- const trace = makeTracer('RoundsM', false);
29
+ const trace = makeTracer('RoundsM', true);
30
30
 
31
31
  /** @param {bigint} roundId */
32
32
  const validRoundId = roundId => {
@@ -172,10 +172,13 @@ export const prepareRoundsManagerKit = baggage =>
172
172
  rounds,
173
173
  unitIn,
174
174
  };
175
+
176
+ const roundId = 0n;
177
+
175
178
  return {
176
179
  ...immutable,
177
180
  lastValueOutForUnitIn: null,
178
- reportingRoundId: 0n,
181
+ reportingRoundId: roundId,
179
182
  };
180
183
  },
181
184
  {
@@ -600,8 +603,8 @@ export const prepareRoundsManagerKit = baggage =>
600
603
 
601
604
  /**
602
605
  * a method to provide all current info oracleStatuses need. Intended
603
- * only only to be callable by oracleStatuses. Not for use by contracts
604
- * to read state.
606
+ * only to be callable by oracleStatuses. Not for use by contracts to
607
+ * read state.
605
608
  *
606
609
  * @param {OracleStatus} status
607
610
  * @param {Timestamp} blockTimestamp
@@ -728,4 +731,50 @@ export const prepareRoundsManagerKit = baggage =>
728
731
  },
729
732
  },
730
733
  },
734
+ {
735
+ finish: ({ state }) => {
736
+ const { details, rounds, timerPresence } = state;
737
+ // Zero is treated as special as roundId and in times. It's hard to
738
+ // avoid on restart and in tests, so make 1 the minimum
739
+
740
+ const firstRound = 1n;
741
+ state.reportingRoundId = firstRound;
742
+ details.init(
743
+ firstRound,
744
+ harden({
745
+ submissions: [],
746
+ maxSubmissions: state.maxSubmissionCount,
747
+ minSubmissions: state.minSubmissionCount,
748
+ roundTimeout: state.timeout,
749
+ }),
750
+ );
751
+
752
+ // Cannot await in first crank. Fail if no timestamp available
753
+ void E.when(
754
+ E(timerPresence).getCurrentTimestamp(),
755
+ nowMaybe => {
756
+ const now =
757
+ TimeMath.compareAbs(nowMaybe, 1n) < 0
758
+ ? TimeMath.coerceTimestampRecord(1n, nowMaybe.timerBrand)
759
+ : nowMaybe;
760
+
761
+ const round = harden({
762
+ answer: 0n,
763
+ startedAt: now,
764
+ updatedAt: 0n,
765
+ answeredInRound: 0n,
766
+ });
767
+ rounds.init(firstRound, round);
768
+
769
+ // In case this is a replacement priceFeed, set roundId in vstorage.
770
+ void state.latestRoundPublisher.write({
771
+ roundId: firstRound,
772
+ startedAt: round.startedAt,
773
+ startedBy: 'uninitialized',
774
+ });
775
+ },
776
+ reason => Fail`need a timestamp to start roundsManager ${reason}`,
777
+ );
778
+ },
779
+ },
731
780
  );