@agoric/vats 0.15.2-dev-1b64aa6.0 → 0.15.2-dev-47d00ff.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 +2 -2
- package/src/proposals/upgrade-provisionPool-proposal.d.ts.map +1 -1
- package/src/proposals/upgrade-provisionPool-proposal.js +6 -2
- package/src/proposals/upgrade-provisionPool-to-BLD-proposal.d.ts +41 -0
- package/src/proposals/upgrade-provisionPool-to-BLD-proposal.d.ts.map +1 -0
- package/src/proposals/upgrade-provisionPool-to-BLD-proposal.js +146 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/vats",
|
|
3
|
-
"version": "0.15.2-dev-
|
|
3
|
+
"version": "0.15.2-dev-47d00ff.0+47d00ff",
|
|
4
4
|
"description": "Agoric's Vat library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"typeCoverage": {
|
|
80
80
|
"atLeast": 90.49
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "47d00ffad8c595b0a9be215efc6665204ff90525"
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-provisionPool-proposal.d.ts","sourceRoot":"","sources":["upgrade-provisionPool-proposal.js"],"names":[],"mappings":"AAeO,0XARI,eAAe,GAAG;IACxB,OAAO,EAAE;QACP,6BAA6B,EAAE,GAAG,CAAC;KACpC,CAAC;CACH,WAED;IAAoD,OAAO,EAAnD;QAAE,gBAAgB,EAAE,YAAY,CAAA;KAAE;CAC5C,
|
|
1
|
+
{"version":3,"file":"upgrade-provisionPool-proposal.d.ts","sourceRoot":"","sources":["upgrade-provisionPool-proposal.js"],"names":[],"mappings":"AAeO,0XARI,eAAe,GAAG;IACxB,OAAO,EAAE;QACP,6BAA6B,EAAE,GAAG,CAAC;KACpC,CAAC;CACH,WAED;IAAoD,OAAO,EAAnD;QAAE,gBAAgB,EAAE,YAAY,CAAA;KAAE;CAC5C,iBAoGA;AAEM;;;;;;QAKH,CAAC,oBAAoB,CAAC,IAAI,CAAC;;;;;;;;;;;UAW1B;;;;;;;;EAIH"}
|
|
@@ -62,15 +62,19 @@ export const upgradeProvisionPool = async (
|
|
|
62
62
|
deeplyFulfilled(instancePrivateArgs.get(instance)),
|
|
63
63
|
E(electorateCreatorFacet).getPoserInvitation(),
|
|
64
64
|
]);
|
|
65
|
+
trace('originalPrivateArgs: ', originalPrivateArgs);
|
|
65
66
|
|
|
66
67
|
const params = await E(ppPublicFacet).getGovernedParams();
|
|
67
68
|
const governedParamOverrides = harden({
|
|
69
|
+
...params,
|
|
68
70
|
PerAccountInitialAmount: params.PerAccountInitialAmount.value,
|
|
69
71
|
});
|
|
70
|
-
trace('governedParamOverrides: ',
|
|
72
|
+
trace('governedParamOverrides: ', governedParamOverrides);
|
|
71
73
|
|
|
74
|
+
const { metricsOverride: _, ...preservedPrivateArgs } =
|
|
75
|
+
originalPrivateArgs || {};
|
|
72
76
|
const newPrivateArgs = harden({
|
|
73
|
-
...
|
|
77
|
+
...preservedPrivateArgs,
|
|
74
78
|
initialPoserInvitation: poserInvitation,
|
|
75
79
|
governedParamOverrides,
|
|
76
80
|
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export function upgradeProvisionPool({ consume: { economicCommitteeCreatorFacet: electorateCreatorFacetP, instancePrivateArgs: instancePrivateArgsP, provisionPoolStartResult: provisionPoolStartResultP, bankManager, namesByAddressAdmin: namesByAddressAdminP, walletFactoryStartResult: walletFactoryStartResultP, provisionWalletBridgeManager: provisionWalletBridgeManagerP, }, brand: { consume: { [Stake.symbol]: brandP }, }, }: BootstrapPowers & {
|
|
2
|
+
consume: {
|
|
3
|
+
economicCommitteeCreatorFacet: any;
|
|
4
|
+
};
|
|
5
|
+
}, options: {
|
|
6
|
+
options: {
|
|
7
|
+
provisionPoolRef: VatSourceRef;
|
|
8
|
+
};
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export function getManifestForUpgradingProvisionPool({ restoreRef }: {
|
|
11
|
+
restoreRef: any;
|
|
12
|
+
}, { provisionPoolRef }: {
|
|
13
|
+
provisionPoolRef: any;
|
|
14
|
+
}): {
|
|
15
|
+
manifest: {
|
|
16
|
+
[upgradeProvisionPool.name]: {
|
|
17
|
+
consume: {
|
|
18
|
+
economicCommitteeCreatorFacet: boolean;
|
|
19
|
+
instancePrivateArgs: boolean;
|
|
20
|
+
provisionPoolStartResult: boolean;
|
|
21
|
+
bankManager: boolean;
|
|
22
|
+
namesByAddressAdmin: boolean;
|
|
23
|
+
walletFactoryStartResult: boolean;
|
|
24
|
+
provisionWalletBridgeManager: boolean;
|
|
25
|
+
};
|
|
26
|
+
brand: {
|
|
27
|
+
consume: {
|
|
28
|
+
BLD: boolean;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
installations: {
|
|
34
|
+
provisionPool: any;
|
|
35
|
+
};
|
|
36
|
+
options: {
|
|
37
|
+
provisionPoolRef: any;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
import { Stake } from '@agoric/internal/src/tokens.js';
|
|
41
|
+
//# sourceMappingURL=upgrade-provisionPool-to-BLD-proposal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-provisionPool-to-BLD-proposal.d.ts","sourceRoot":"","sources":["upgrade-provisionPool-to-BLD-proposal.js"],"names":[],"mappings":"AAgBO,2aARI,eAAe,GAAG;IACxB,OAAO,EAAE;QACP,6BAA6B,EAAE,GAAG,CAAC;KACpC,CAAC;CACH,WAED;IAAoD,OAAO,EAAnD;QAAE,gBAAgB,EAAE,YAAY,CAAA;KAAE;CAC5C,iBA0GA;AAEM;;;;;;QAKH,CAAC,oBAAoB,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;UAa1B;;;;;;;;EAIH;sBA9IoB,gCAAgC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { E } from '@endo/far';
|
|
2
|
+
import { deeplyFulfilled } from '@endo/marshal';
|
|
3
|
+
import { makeTracer } from '@agoric/internal';
|
|
4
|
+
import { Stake } from '@agoric/internal/src/tokens.js';
|
|
5
|
+
|
|
6
|
+
const trace = makeTracer('UpgradeProvisionPool');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @param {BootstrapPowers & {
|
|
10
|
+
* consume: {
|
|
11
|
+
* economicCommitteeCreatorFacet: any;
|
|
12
|
+
* };
|
|
13
|
+
* }} powers
|
|
14
|
+
* @param {object} options
|
|
15
|
+
* @param {{ provisionPoolRef: VatSourceRef }} options.options
|
|
16
|
+
*/
|
|
17
|
+
export const upgradeProvisionPool = async (
|
|
18
|
+
{
|
|
19
|
+
consume: {
|
|
20
|
+
economicCommitteeCreatorFacet: electorateCreatorFacetP,
|
|
21
|
+
instancePrivateArgs: instancePrivateArgsP,
|
|
22
|
+
provisionPoolStartResult: provisionPoolStartResultP,
|
|
23
|
+
bankManager,
|
|
24
|
+
namesByAddressAdmin: namesByAddressAdminP,
|
|
25
|
+
walletFactoryStartResult: walletFactoryStartResultP,
|
|
26
|
+
provisionWalletBridgeManager: provisionWalletBridgeManagerP,
|
|
27
|
+
},
|
|
28
|
+
brand: {
|
|
29
|
+
consume: { [Stake.symbol]: brandP },
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
options,
|
|
33
|
+
) => {
|
|
34
|
+
const { provisionPoolRef } = options.options;
|
|
35
|
+
|
|
36
|
+
assert(provisionPoolRef.bundleID);
|
|
37
|
+
trace(`PROVISION POOL BUNDLE ID: `, provisionPoolRef);
|
|
38
|
+
|
|
39
|
+
const [
|
|
40
|
+
brand,
|
|
41
|
+
provisionPoolStartResult,
|
|
42
|
+
instancePrivateArgs,
|
|
43
|
+
namesByAddressAdmin,
|
|
44
|
+
walletFactoryStartResult,
|
|
45
|
+
provisionWalletBridgeManager,
|
|
46
|
+
electorateCreatorFacet,
|
|
47
|
+
] = await Promise.all([
|
|
48
|
+
brandP,
|
|
49
|
+
provisionPoolStartResultP,
|
|
50
|
+
instancePrivateArgsP,
|
|
51
|
+
namesByAddressAdminP,
|
|
52
|
+
walletFactoryStartResultP,
|
|
53
|
+
provisionWalletBridgeManagerP,
|
|
54
|
+
electorateCreatorFacetP,
|
|
55
|
+
]);
|
|
56
|
+
const {
|
|
57
|
+
adminFacet,
|
|
58
|
+
instance,
|
|
59
|
+
creatorFacet: ppCreatorFacet,
|
|
60
|
+
publicFacet: ppPublicFacet,
|
|
61
|
+
governorAdminFacet,
|
|
62
|
+
} = provisionPoolStartResult;
|
|
63
|
+
const { creatorFacet: wfCreatorFacet } = walletFactoryStartResult;
|
|
64
|
+
|
|
65
|
+
const [originalPrivateArgs, poserInvitation] = await Promise.all([
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
67
|
+
// @ts-ignore Local tsc sees this as an error but typedoc does not
|
|
68
|
+
deeplyFulfilled(instancePrivateArgs.get(instance)),
|
|
69
|
+
E(electorateCreatorFacet).getPoserInvitation(),
|
|
70
|
+
]);
|
|
71
|
+
trace('originalPrivateArgs: ', originalPrivateArgs);
|
|
72
|
+
|
|
73
|
+
const params = await E(ppPublicFacet).getGovernedParams();
|
|
74
|
+
const governedParamOverrides = harden({
|
|
75
|
+
...params,
|
|
76
|
+
// 10e6 ubld = 10 BLD
|
|
77
|
+
PerAccountInitialAmount: { brand, value: 10_000_000n },
|
|
78
|
+
});
|
|
79
|
+
trace('governedParamOverrides: ', governedParamOverrides);
|
|
80
|
+
|
|
81
|
+
const { metricsOverride: _, ...preservedPrivateArgs } =
|
|
82
|
+
originalPrivateArgs || {};
|
|
83
|
+
const newPrivateArgs = harden({
|
|
84
|
+
...preservedPrivateArgs,
|
|
85
|
+
initialPoserInvitation: poserInvitation,
|
|
86
|
+
governedParamOverrides,
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const upgradeResult = await E(adminFacet).upgradeContract(
|
|
90
|
+
provisionPoolRef.bundleID,
|
|
91
|
+
newPrivateArgs,
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
trace('ProvisionPool upgraded: ', upgradeResult);
|
|
95
|
+
|
|
96
|
+
const references = {
|
|
97
|
+
bankManager,
|
|
98
|
+
namesByAddressAdmin,
|
|
99
|
+
walletFactory: wfCreatorFacet,
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
trace('Calling setReferences with: ', references);
|
|
103
|
+
await E(ppCreatorFacet).setReferences(references);
|
|
104
|
+
|
|
105
|
+
trace('Creating bridgeHandler...');
|
|
106
|
+
const bridgeHandler = await E(ppCreatorFacet).makeHandler();
|
|
107
|
+
|
|
108
|
+
trace('Setting new bridgeHandler...');
|
|
109
|
+
// @ts-expect-error casting
|
|
110
|
+
await E(provisionWalletBridgeManager).setHandler(bridgeHandler);
|
|
111
|
+
|
|
112
|
+
trace('Null upgrading governor...', {
|
|
113
|
+
economicCommitteeCreatorFacet: electorateCreatorFacet,
|
|
114
|
+
governed: newPrivateArgs,
|
|
115
|
+
});
|
|
116
|
+
await E(governorAdminFacet).restartContract({
|
|
117
|
+
economicCommitteeCreatorFacet: electorateCreatorFacet,
|
|
118
|
+
governed: newPrivateArgs,
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
trace('Done.');
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export const getManifestForUpgradingProvisionPool = (
|
|
125
|
+
{ restoreRef },
|
|
126
|
+
{ provisionPoolRef },
|
|
127
|
+
) => ({
|
|
128
|
+
manifest: {
|
|
129
|
+
[upgradeProvisionPool.name]: {
|
|
130
|
+
consume: {
|
|
131
|
+
economicCommitteeCreatorFacet: true,
|
|
132
|
+
instancePrivateArgs: true,
|
|
133
|
+
provisionPoolStartResult: true,
|
|
134
|
+
bankManager: true,
|
|
135
|
+
namesByAddressAdmin: true,
|
|
136
|
+
walletFactoryStartResult: true,
|
|
137
|
+
provisionWalletBridgeManager: true,
|
|
138
|
+
},
|
|
139
|
+
brand: {
|
|
140
|
+
consume: { [Stake.symbol]: true },
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
installations: { provisionPool: restoreRef(provisionPoolRef) },
|
|
145
|
+
options: { provisionPoolRef },
|
|
146
|
+
});
|