@agoric/vats 0.15.2-dev-a2813f6.0 → 0.15.2-dev-adb17dd.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/vats",
3
- "version": "0.15.2-dev-a2813f6.0+a2813f6",
3
+ "version": "0.15.2-dev-adb17dd.0+adb17dd",
4
4
  "description": "Agoric's Vat library",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -22,19 +22,19 @@
22
22
  "author": "Agoric",
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
- "@agoric/cosmic-proto": "0.4.1-dev-a2813f6.0+a2813f6",
26
- "@agoric/ertp": "0.16.3-dev-a2813f6.0+a2813f6",
27
- "@agoric/governance": "0.10.4-dev-a2813f6.0+a2813f6",
28
- "@agoric/internal": "0.3.3-dev-a2813f6.0+a2813f6",
29
- "@agoric/network": "0.1.1-dev-a2813f6.0+a2813f6",
30
- "@agoric/notifier": "0.6.3-dev-a2813f6.0+a2813f6",
31
- "@agoric/store": "0.9.3-dev-a2813f6.0+a2813f6",
32
- "@agoric/swingset-vat": "0.32.3-dev-a2813f6.0+a2813f6",
33
- "@agoric/time": "0.3.3-dev-a2813f6.0+a2813f6",
34
- "@agoric/vat-data": "0.5.3-dev-a2813f6.0+a2813f6",
35
- "@agoric/vow": "0.1.1-dev-a2813f6.0+a2813f6",
36
- "@agoric/zoe": "0.26.3-dev-a2813f6.0+a2813f6",
37
- "@agoric/zone": "0.2.3-dev-a2813f6.0+a2813f6",
25
+ "@agoric/cosmic-proto": "0.4.1-dev-adb17dd.0+adb17dd",
26
+ "@agoric/ertp": "0.16.3-dev-adb17dd.0+adb17dd",
27
+ "@agoric/governance": "0.10.4-dev-adb17dd.0+adb17dd",
28
+ "@agoric/internal": "0.3.3-dev-adb17dd.0+adb17dd",
29
+ "@agoric/network": "0.1.1-dev-adb17dd.0+adb17dd",
30
+ "@agoric/notifier": "0.6.3-dev-adb17dd.0+adb17dd",
31
+ "@agoric/store": "0.9.3-dev-adb17dd.0+adb17dd",
32
+ "@agoric/swingset-vat": "0.32.3-dev-adb17dd.0+adb17dd",
33
+ "@agoric/time": "0.3.3-dev-adb17dd.0+adb17dd",
34
+ "@agoric/vat-data": "0.5.3-dev-adb17dd.0+adb17dd",
35
+ "@agoric/vow": "0.1.1-dev-adb17dd.0+adb17dd",
36
+ "@agoric/zoe": "0.26.3-dev-adb17dd.0+adb17dd",
37
+ "@agoric/zone": "0.2.3-dev-adb17dd.0+adb17dd",
38
38
  "@endo/errors": "^1.2.8",
39
39
  "@endo/far": "^1.1.9",
40
40
  "@endo/import-bundle": "^1.3.2",
@@ -47,7 +47,7 @@
47
47
  "jessie.js": "^0.3.4"
48
48
  },
49
49
  "devDependencies": {
50
- "@agoric/swingset-liveslots": "0.10.3-dev-a2813f6.0+a2813f6",
50
+ "@agoric/swingset-liveslots": "0.10.3-dev-adb17dd.0+adb17dd",
51
51
  "@endo/bundle-source": "^3.5.0",
52
52
  "@endo/init": "^1.1.7",
53
53
  "ava": "^5.3.0",
@@ -79,5 +79,5 @@
79
79
  "typeCoverage": {
80
80
  "atLeast": 91.21
81
81
  },
82
- "gitHead": "a2813f626adc1be43c16a23ab5c447f54ab21449"
82
+ "gitHead": "adb17dd2f16dad4a895854dae0bbe3298aa5dd2e"
83
83
  }
@@ -0,0 +1,33 @@
1
+ export function upgradeAssetReserve({ consume: { economicCommitteeCreatorFacet: electorateCreatorFacet, reserveKit: reserveKitP, instancePrivateArgs: instancePrivateArgsP, }, produce: { reserveKit: reserveKitWriter }, }: BootstrapPowers & {
2
+ consume: {
3
+ economicCommitteeCreatorFacet: any;
4
+ reserveKit: any;
5
+ };
6
+ produce: {
7
+ reserveKit: any;
8
+ };
9
+ }, options: {
10
+ options: {
11
+ assetReserveRef: VatSourceRef;
12
+ };
13
+ }): Promise<void>;
14
+ export function getManifestForUpgradingAssetReserve(_powers: any, { assetReserveRef }: {
15
+ assetReserveRef: any;
16
+ }): {
17
+ manifest: {
18
+ [x: string]: {
19
+ consume: {
20
+ economicCommitteeCreatorFacet: boolean;
21
+ instancePrivateArgs: boolean;
22
+ reserveKit: boolean;
23
+ };
24
+ produce: {
25
+ reserveKit: boolean;
26
+ };
27
+ };
28
+ };
29
+ options: {
30
+ assetReserveRef: any;
31
+ };
32
+ };
33
+ //# sourceMappingURL=upgrade-asset-reserve-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-asset-reserve-proposal.d.ts","sourceRoot":"","sources":["upgrade-asset-reserve-proposal.js"],"names":[],"mappings":"AAmBO,6NAZI,eAAe,GAAG;IACxB,OAAO,EAAE;QACP,6BAA6B,EAAE,GAAG,CAAC;QACnC,UAAU,EAAE,GAAG,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,GAAG,CAAC;KACjB,CAAC;CACH,WAED;IAAmD,OAAO,EAAlD;QAAE,eAAe,EAAE,YAAY,CAAA;KAAE;CAC3C,iBAuDA;AAEM;;;;;;;;;;;;;;;;;;EAiBL"}
@@ -0,0 +1,93 @@
1
+ import { E } from '@endo/far';
2
+ import { deeplyFulfilled } from '@endo/marshal';
3
+ import { makeTracer } from '@agoric/internal';
4
+
5
+ const tracer = makeTracer('UpgradeAssetReserve');
6
+
7
+ /**
8
+ * @param {BootstrapPowers & {
9
+ * consume: {
10
+ * economicCommitteeCreatorFacet: any;
11
+ * reserveKit: any;
12
+ * };
13
+ * produce: {
14
+ * reserveKit: any;
15
+ * };
16
+ * }} powers
17
+ * @param {object} options
18
+ * @param {{ assetReserveRef: VatSourceRef }} options.options
19
+ */
20
+ export const upgradeAssetReserve = async (
21
+ {
22
+ consume: {
23
+ economicCommitteeCreatorFacet: electorateCreatorFacet,
24
+ reserveKit: reserveKitP,
25
+ instancePrivateArgs: instancePrivateArgsP,
26
+ },
27
+ produce: { reserveKit: reserveKitWriter },
28
+ },
29
+ options,
30
+ ) => {
31
+ const { assetReserveRef } = options.options;
32
+
33
+ assert(assetReserveRef.bundleID);
34
+ tracer(`ASSET RESERVE BUNDLE ID: `, assetReserveRef);
35
+
36
+ const [reserveKit, instancePrivateArgs] = await Promise.all([
37
+ reserveKitP,
38
+ instancePrivateArgsP,
39
+ ]);
40
+ const { governorCreatorFacet, instance } = reserveKit;
41
+
42
+ const [originalPrivateArgs, poserInvitation] = await Promise.all([
43
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
44
+ // @ts-ignore Local tsc sees this as an error but typedoc does not
45
+ deeplyFulfilled(instancePrivateArgs.get(instance)),
46
+ E(electorateCreatorFacet).getPoserInvitation(),
47
+ ]);
48
+
49
+ const newPrivateArgs = harden({
50
+ ...originalPrivateArgs,
51
+ initialPoserInvitation: poserInvitation,
52
+ });
53
+
54
+ const adminFacet = await E(governorCreatorFacet).getAdminFacet();
55
+
56
+ // We need to reset the kit and produce a new adminFacet because the
57
+ // original contract is producing an admin facet that is for the
58
+ // governor, not the reserve.
59
+ reserveKitWriter.reset();
60
+ reserveKitWriter.resolve(
61
+ harden({
62
+ ...reserveKit,
63
+ adminFacet,
64
+ }),
65
+ );
66
+
67
+ const upgradeResult = await E(adminFacet).upgradeContract(
68
+ assetReserveRef.bundleID,
69
+ newPrivateArgs,
70
+ );
71
+
72
+ tracer('AssetReserve upgraded: ', upgradeResult);
73
+ tracer('Done.');
74
+ };
75
+
76
+ export const getManifestForUpgradingAssetReserve = (
77
+ _powers,
78
+ { assetReserveRef },
79
+ ) => ({
80
+ manifest: {
81
+ [upgradeAssetReserve.name]: {
82
+ consume: {
83
+ economicCommitteeCreatorFacet: true,
84
+ instancePrivateArgs: true,
85
+ reserveKit: true,
86
+ },
87
+ produce: {
88
+ reserveKit: true,
89
+ },
90
+ },
91
+ },
92
+ options: { assetReserveRef },
93
+ });