@agoric/inter-protocol 0.13.2-dev-45a498e.0 → 0.13.2-dev-8ab381f.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.13.2-dev-45a498e.0+45a498e",
3
+ "version": "0.13.2-dev-8ab381f.0+8ab381f",
4
4
  "description": "Core cryptoeconomy contracts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -29,28 +29,28 @@
29
29
  },
30
30
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
31
31
  "dependencies": {
32
- "@agoric/assert": "0.5.2-dev-45a498e.0+45a498e",
33
- "@agoric/ertp": "0.15.4-dev-45a498e.0+45a498e",
34
- "@agoric/governance": "0.9.2-dev-45a498e.0+45a498e",
35
- "@agoric/internal": "0.2.2-dev-45a498e.0+45a498e",
36
- "@agoric/notifier": "0.5.2-dev-45a498e.0+45a498e",
37
- "@agoric/store": "0.8.4-dev-45a498e.0+45a498e",
38
- "@agoric/time": "0.2.2-dev-45a498e.0+45a498e",
39
- "@agoric/vat-data": "0.4.4-dev-45a498e.0+45a498e",
40
- "@agoric/vats": "0.13.1-dev-45a498e.0+45a498e",
41
- "@agoric/zoe": "0.25.4-dev-45a498e.0+45a498e",
32
+ "@agoric/assert": "0.5.2-dev-8ab381f.0+8ab381f",
33
+ "@agoric/ertp": "0.15.4-dev-8ab381f.0+8ab381f",
34
+ "@agoric/governance": "0.9.2-dev-8ab381f.0+8ab381f",
35
+ "@agoric/internal": "0.2.2-dev-8ab381f.0+8ab381f",
36
+ "@agoric/notifier": "0.5.2-dev-8ab381f.0+8ab381f",
37
+ "@agoric/store": "0.8.4-dev-8ab381f.0+8ab381f",
38
+ "@agoric/time": "0.2.2-dev-8ab381f.0+8ab381f",
39
+ "@agoric/vat-data": "0.4.4-dev-8ab381f.0+8ab381f",
40
+ "@agoric/vats": "0.13.1-dev-8ab381f.0+8ab381f",
41
+ "@agoric/zoe": "0.25.4-dev-8ab381f.0+8ab381f",
42
42
  "@endo/captp": "^3.1.1",
43
43
  "@endo/eventual-send": "^0.17.2",
44
44
  "@endo/far": "^0.2.18",
45
45
  "@endo/marshal": "^0.8.5",
46
46
  "@endo/nat": "^4.1.27",
47
- "agoric": "0.18.3-dev-45a498e.0+45a498e"
47
+ "agoric": "0.18.3-dev-8ab381f.0+8ab381f"
48
48
  },
49
49
  "devDependencies": {
50
- "@agoric/deploy-script-support": "0.9.5-dev-45a498e.0+45a498e",
51
- "@agoric/smart-wallet": "0.4.3-dev-45a498e.0+45a498e",
52
- "@agoric/swingset-liveslots": "0.9.1-dev-45a498e.0+45a498e",
53
- "@agoric/swingset-vat": "0.30.3-dev-45a498e.0+45a498e",
50
+ "@agoric/deploy-script-support": "0.9.5-dev-8ab381f.0+8ab381f",
51
+ "@agoric/smart-wallet": "0.4.3-dev-8ab381f.0+8ab381f",
52
+ "@agoric/swingset-liveslots": "0.9.1-dev-8ab381f.0+8ab381f",
53
+ "@agoric/swingset-vat": "0.30.3-dev-8ab381f.0+8ab381f",
54
54
  "@endo/bundle-source": "^2.5.1",
55
55
  "@endo/init": "^0.5.56",
56
56
  "@endo/promise-kit": "^0.2.56",
@@ -76,5 +76,5 @@
76
76
  "publishConfig": {
77
77
  "access": "public"
78
78
  },
79
- "gitHead": "45a498e49d4c579ca881ba4da425ad7b239d335a"
79
+ "gitHead": "8ab381fc38b55ef77873f2a2c4a46eff88bbf9e4"
80
80
  }
@@ -29,9 +29,11 @@ const trace = makeTracer('FluxAgg');
29
29
  * timer: TimerService,
30
30
  * brandIn: Brand<'nat'>,
31
31
  * brandOut: Brand<'nat'>,
32
+ * description: string,
32
33
  * unitAmountIn?: Amount<'nat'>,
33
34
  * }>} zcf
34
35
  * @param {{
36
+ * highPrioritySendersManager: import('@agoric/internal/src/priority-senders.js').PrioritySendersManager,
35
37
  * initialPoserInvitation: Invitation,
36
38
  * marshaller: Marshaller,
37
39
  * namesByAddressAdmin: ERef<import('@agoric/vats').NameAdmin>,
@@ -49,6 +51,7 @@ export const prepare = async (zcf, privateArgs, baggage) => {
49
51
  : makeDurableIssuerKit(baggage, 'quote', 'set');
50
52
 
51
53
  const {
54
+ highPrioritySendersManager,
52
55
  initialPoserInvitation,
53
56
  marshaller,
54
57
  namesByAddressAdmin,
@@ -56,7 +59,7 @@ export const prepare = async (zcf, privateArgs, baggage) => {
56
59
  } = privateArgs;
57
60
  assertAllDefined({ initialPoserInvitation, marshaller, storageNode });
58
61
 
59
- const { timer } = zcf.getTerms();
62
+ const { description, timer } = zcf.getTerms();
60
63
 
61
64
  trace('awaited args');
62
65
 
@@ -111,39 +114,41 @@ export const prepare = async (zcf, privateArgs, baggage) => {
111
114
  addr,
112
115
  [invitation],
113
116
  );
117
+ await highPrioritySendersManager.add(description, addr);
114
118
  return `added ${addr}`;
115
119
  };
116
120
 
117
121
  /**
118
122
  * Remove an oracle from aggregation and disable its facet.
119
123
  *
120
- * @param {string} oracleId
124
+ * @param {string} addr
121
125
  */
122
- const removeOracle = async oracleId => {
123
- trace('removeOracle', oracleId);
124
- await E(faKit.creator).removeOracle(oracleId);
125
- return `removed ${oracleId}`;
126
+ const removeOracle = async addr => {
127
+ trace('removeOracle', addr);
128
+ await E(faKit.creator).removeOracle(addr);
129
+ highPrioritySendersManager.remove(description, addr);
130
+ return `removed ${addr}`;
126
131
  };
127
132
 
128
133
  const governedApis = {
129
134
  /**
130
135
  * Add the specified oracles. May partially fail, such that some oracles are added and others aren't.
131
136
  *
132
- * @param {string[]} oracleIds
137
+ * @param {string[]} addrs
133
138
  * @returns {Promise<Array<PromiseSettledResult<string>>>}
134
139
  */
135
- addOracles: oracleIds => {
136
- return Promise.allSettled(oracleIds.map(addOracle));
140
+ addOracles: addrs => {
141
+ return Promise.allSettled(addrs.map(addOracle));
137
142
  },
138
143
  /**
139
144
  * Remove the specified oracles. May partially fail, such that some oracles are removed and others aren't.
140
145
  * If the oracle was never part of the set that's a PromiseRejectedResult
141
146
  *
142
- * @param {string[]} oracleIds
147
+ * @param {string[]} addrs
143
148
  * @returns {Promise<Array<PromiseSettledResult<string>>>}
144
149
  */
145
- removeOracles: oracleIds => {
146
- return Promise.allSettled(oracleIds.map(removeOracle));
150
+ removeOracles: addrs => {
151
+ return Promise.allSettled(addrs.map(removeOracle));
147
152
  },
148
153
  };
149
154
 
@@ -7,12 +7,20 @@ const { values } = Object;
7
7
  /** @type { <X, Y>(xs: X[], ys: Y[]) => [X, Y][]} */
8
8
  const zip = (xs, ys) => xs.map((x, i) => [x, ys[i]]);
9
9
 
10
+ const EC_HIGH_PRIORITY_SENDERS_NAMESPACE = 'economicCommittee';
11
+
10
12
  /**
11
13
  * @param {import('./econ-behaviors').EconomyBootstrapPowers} powers
12
14
  * @param {{ options: { voterAddresses: Record<string, string> }}} param1
13
15
  */
14
16
  export const inviteCommitteeMembers = async (
15
- { consume: { namesByAddressAdmin, economicCommitteeCreatorFacet } },
17
+ {
18
+ consume: {
19
+ namesByAddressAdmin,
20
+ economicCommitteeCreatorFacet,
21
+ highPrioritySendersManager,
22
+ },
23
+ },
16
24
  { options: { voterAddresses } },
17
25
  ) => {
18
26
  const invitations = await E(
@@ -32,6 +40,10 @@ export const inviteCommitteeMembers = async (
32
40
  addr,
33
41
  [invitationP],
34
42
  );
43
+ await E(highPrioritySendersManager)?.add(
44
+ EC_HIGH_PRIORITY_SENDERS_NAMESPACE,
45
+ addr,
46
+ );
35
47
  }),
36
48
  );
37
49
  };
@@ -149,7 +161,11 @@ export const getManifestForInviteCommittee = async (
149
161
  return {
150
162
  manifest: {
151
163
  [inviteCommitteeMembers.name]: {
152
- consume: { namesByAddressAdmin: t, economicCommitteeCreatorFacet: t },
164
+ consume: {
165
+ namesByAddressAdmin: t,
166
+ economicCommitteeCreatorFacet: t,
167
+ highPrioritySendersManager: t,
168
+ },
153
169
  },
154
170
  [startEconCharter.name]: {
155
171
  consume: { zoe: t },
@@ -99,6 +99,7 @@ export const createPriceFeed = async (
99
99
  client,
100
100
  econCharterKit,
101
101
  economicCommitteeCreatorFacet,
102
+ highPrioritySendersManager,
102
103
  namesByAddressAdmin,
103
104
  priceAuthority,
104
105
  priceAuthorityAdmin,
@@ -195,6 +196,7 @@ export const createPriceFeed = async (
195
196
  governorTerms,
196
197
  {
197
198
  governed: {
199
+ highPrioritySendersManager,
198
200
  initialPoserInvitation,
199
201
  marshaller,
200
202
  namesByAddressAdmin,
@@ -276,6 +278,7 @@ export const getManifestForPriceFeed = async (
276
278
  contractGovernor: t,
277
279
  econCharterKit: t,
278
280
  economicCommitteeCreatorFacet: t,
281
+ highPrioritySendersManager: t,
279
282
  namesByAddressAdmin: t,
280
283
  priceAuthority: t,
281
284
  priceAuthorityAdmin: t,
@@ -361,6 +361,7 @@ export const INVITE_PSM_COMMITTEE_MANIFEST = harden(
361
361
  namesByAddressAdmin: true,
362
362
  economicCommitteeCreatorFacet: true,
363
363
  econCharterKit: true,
364
+ highPrioritySendersManager: true,
364
365
  },
365
366
  },
366
367
  [inviteToEconCharter.name]: {