@agoric/inter-protocol 0.17.0-u18.5 → 0.17.0-u18a.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 +28 -28
- package/src/auction/auctionBook.d.ts +1 -2
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionMath.d.ts +1 -1
- package/src/auction/auctionMath.d.ts.map +1 -1
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +3 -3
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +0 -1
- package/src/contractSupport.d.ts +1 -1
- package/src/contractSupport.d.ts.map +1 -1
- package/src/econCommitteeCharter.d.ts +1 -1
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/feeDistributor.d.ts +6 -6
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/roundsManager.d.ts +0 -1
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/proposals/econ-behaviors.d.ts +15 -13
- package/src/proposals/econ-behaviors.d.ts.map +1 -1
- package/src/proposals/econ-behaviors.js +3 -2
- package/src/proposals/price-feed-proposal.d.ts +1 -1
- package/src/proposals/price-feed-proposal.d.ts.map +1 -1
- package/src/proposals/replace-fee-distributor.d.ts +48 -0
- package/src/proposals/replace-fee-distributor.d.ts.map +1 -0
- package/src/proposals/replace-fee-distributor.js +195 -0
- package/src/proposals/replaceElectorate.d.ts +3 -0
- package/src/proposals/replaceElectorate.d.ts.map +1 -1
- package/src/proposals/replaceElectorate.js +71 -12
- package/src/proposals/startPSM.d.ts +1 -1
- package/src/proposals/startPSM.d.ts.map +1 -1
- package/src/proposals/upgrade-vaults.d.ts.map +1 -1
- package/src/proposals/upgrade-vaults.js +6 -0
- package/src/provisionPool.d.ts +4 -110
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +12 -2
- package/src/provisionPoolKit.d.ts +10 -257
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +81 -63
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +2 -5
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +6 -15
- package/src/reserve/params.d.ts +5 -3
- package/src/reserve/params.d.ts.map +1 -1
- package/src/reserve/params.js +4 -2
- package/src/vaultFactory/math.d.ts +1 -1
- package/src/vaultFactory/math.d.ts.map +1 -1
- package/src/vaultFactory/orderedVaultStore.d.ts +4 -4
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/prioritizedVaults.d.ts +12 -12
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -1
- package/src/vaultFactory/vault.d.ts +2 -2
- package/src/vaultFactory/vaultDirector.d.ts +12 -11
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +5 -1
- package/src/vaultFactory/vaultFactory.d.ts +7 -6
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.d.ts +50 -6
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.d.ts +2 -2
- package/src/vaultFactory/vaultManager.d.ts +16 -18
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { deeplyFulfilledObject, makeTracer } from '@agoric/internal';
|
|
2
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
3
|
+
import { makeScalarBigMapStore } from '@agoric/vat-data';
|
|
4
|
+
import { getInterfaceOf, E } from '@endo/far';
|
|
5
|
+
|
|
6
|
+
const trace = makeTracer('ReplaceFeeDistributer', true);
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Start the reward distributor.
|
|
10
|
+
*
|
|
11
|
+
* @param {import('./econ-behaviors').EconomyBootstrapPowers} powers
|
|
12
|
+
* @param {{
|
|
13
|
+
* options: {
|
|
14
|
+
* keywordShares: Record<string, bigint>;
|
|
15
|
+
* collectionInterval: bigint;
|
|
16
|
+
* };
|
|
17
|
+
* }} options
|
|
18
|
+
*/
|
|
19
|
+
export const replaceFeeDistributor = async (
|
|
20
|
+
{
|
|
21
|
+
consume: {
|
|
22
|
+
chainTimerService,
|
|
23
|
+
bankManager,
|
|
24
|
+
vaultFactoryKit,
|
|
25
|
+
periodicFeeCollectors,
|
|
26
|
+
reserveKit,
|
|
27
|
+
zoe,
|
|
28
|
+
contractKits: contractKitsP,
|
|
29
|
+
},
|
|
30
|
+
produce: {
|
|
31
|
+
feeDistributorKit,
|
|
32
|
+
periodicFeeCollectors: periodicFeeCollectorsP,
|
|
33
|
+
},
|
|
34
|
+
instance: {
|
|
35
|
+
produce: { feeDistributor: feeDistributorP },
|
|
36
|
+
},
|
|
37
|
+
installation: {
|
|
38
|
+
consume: { feeDistributor },
|
|
39
|
+
},
|
|
40
|
+
issuer: {
|
|
41
|
+
consume: { [Stable.symbol]: centralIssuerP },
|
|
42
|
+
},
|
|
43
|
+
brand: {
|
|
44
|
+
consume: { [Stable.symbol]: centralBrandP },
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{ options },
|
|
48
|
+
) => {
|
|
49
|
+
trace('replaceFeeDistributer', options);
|
|
50
|
+
|
|
51
|
+
const { keywordShares, collectionInterval } = options;
|
|
52
|
+
|
|
53
|
+
const feeDistributorTerms = await deeplyFulfilledObject(
|
|
54
|
+
harden({
|
|
55
|
+
timerService: chainTimerService,
|
|
56
|
+
collectionInterval,
|
|
57
|
+
keywordShares,
|
|
58
|
+
}),
|
|
59
|
+
);
|
|
60
|
+
trace('feeDistributorTerms', feeDistributorTerms);
|
|
61
|
+
|
|
62
|
+
const [centralIssuer, centralBrand, contractKits] = await Promise.all([
|
|
63
|
+
centralIssuerP,
|
|
64
|
+
centralBrandP,
|
|
65
|
+
contractKitsP,
|
|
66
|
+
]);
|
|
67
|
+
|
|
68
|
+
const rewardDistributorDepositFacet = await E(bankManager)
|
|
69
|
+
.getRewardDistributorDepositFacet(Stable.denom, {
|
|
70
|
+
issuer: centralIssuer,
|
|
71
|
+
brand: centralBrand,
|
|
72
|
+
})
|
|
73
|
+
.catch(e => {
|
|
74
|
+
console.error('Cannot create fee collector deposit facet', e);
|
|
75
|
+
return undefined;
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @type {StartedInstanceKit<
|
|
80
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
81
|
+
* >}
|
|
82
|
+
*/
|
|
83
|
+
const instanceKit = await E(zoe).startInstance(
|
|
84
|
+
feeDistributor,
|
|
85
|
+
{ Fee: centralIssuer },
|
|
86
|
+
feeDistributorTerms,
|
|
87
|
+
undefined,
|
|
88
|
+
'feeDistributor',
|
|
89
|
+
);
|
|
90
|
+
await E(instanceKit.creatorFacet).setDestinations({
|
|
91
|
+
...(rewardDistributorDepositFacet && {
|
|
92
|
+
RewardDistributor: E(
|
|
93
|
+
instanceKit.creatorFacet,
|
|
94
|
+
).makeDepositFacetDestination(rewardDistributorDepositFacet),
|
|
95
|
+
}),
|
|
96
|
+
Reserve: E(instanceKit.creatorFacet).makeOfferDestination(
|
|
97
|
+
zoe,
|
|
98
|
+
'Collateral',
|
|
99
|
+
E.get(reserveKit).publicFacet,
|
|
100
|
+
'makeAddCollateralInvitation',
|
|
101
|
+
),
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
trace('Clearing the old instance from bootstrap powers...');
|
|
105
|
+
feeDistributorKit.reset();
|
|
106
|
+
feeDistributorP.reset();
|
|
107
|
+
|
|
108
|
+
trace('Now introduce the new instance');
|
|
109
|
+
feeDistributorKit.resolve(
|
|
110
|
+
harden({ ...instanceKit, label: 'feeDistributor' }),
|
|
111
|
+
);
|
|
112
|
+
feeDistributorP.resolve(instanceKit.instance);
|
|
113
|
+
|
|
114
|
+
const periodicCollectors = await periodicFeeCollectors;
|
|
115
|
+
trace(
|
|
116
|
+
`Stop periodicCollectors of the old instance. Number of collectors: ${periodicCollectors.getSize()}`,
|
|
117
|
+
);
|
|
118
|
+
for await (const [key, collector] of periodicCollectors.entries()) {
|
|
119
|
+
trace('Getting debugName', key);
|
|
120
|
+
// @ts-expect-error incomplete PeriodicFeeCollector type
|
|
121
|
+
const debugName = await E(collector).getDebugName();
|
|
122
|
+
trace(`Stopping ${debugName}...`);
|
|
123
|
+
await E(collector).stop();
|
|
124
|
+
}
|
|
125
|
+
periodicFeeCollectorsP.reset();
|
|
126
|
+
|
|
127
|
+
trace('Old collectors cleared. Start creating and setting new ones.');
|
|
128
|
+
|
|
129
|
+
const collectorKit = {
|
|
130
|
+
vaultFactory: E.get(vaultFactoryKit).creatorFacet,
|
|
131
|
+
};
|
|
132
|
+
const newCollectorStore = makeScalarBigMapStore('periodicCollectors', {
|
|
133
|
+
durable: true,
|
|
134
|
+
});
|
|
135
|
+
await Promise.all(
|
|
136
|
+
Object.entries(collectorKit).map(async ([debugName, collectorFacet]) => {
|
|
137
|
+
const collector = E(instanceKit.creatorFacet).makeContractFeeCollector(
|
|
138
|
+
zoe,
|
|
139
|
+
collectorFacet,
|
|
140
|
+
);
|
|
141
|
+
const periodicCollector = await E(
|
|
142
|
+
instanceKit.creatorFacet,
|
|
143
|
+
).startPeriodicCollection(debugName, collector);
|
|
144
|
+
newCollectorStore.init(periodicCollectors.getSize(), periodicCollector);
|
|
145
|
+
}),
|
|
146
|
+
);
|
|
147
|
+
|
|
148
|
+
trace('Write newCollectorStore in periodicFeeCollectors');
|
|
149
|
+
periodicFeeCollectorsP.resolve(newCollectorStore);
|
|
150
|
+
|
|
151
|
+
trace('Write to contractKits');
|
|
152
|
+
const label = getInterfaceOf(instanceKit.instance);
|
|
153
|
+
const kit = harden({ ...instanceKit, label });
|
|
154
|
+
contractKits.init(kit.instance, kit);
|
|
155
|
+
|
|
156
|
+
trace('Done.');
|
|
157
|
+
};
|
|
158
|
+
harden(replaceFeeDistributor);
|
|
159
|
+
|
|
160
|
+
const t = 'replaceFeeDistributor';
|
|
161
|
+
export const getManifestForReplaceFeeDistributor = async (
|
|
162
|
+
_,
|
|
163
|
+
feeDistributorOptions,
|
|
164
|
+
) => ({
|
|
165
|
+
manifest: {
|
|
166
|
+
[replaceFeeDistributor.name]: {
|
|
167
|
+
consume: {
|
|
168
|
+
chainTimerService: t,
|
|
169
|
+
bankManager: t,
|
|
170
|
+
vaultFactoryKit: t,
|
|
171
|
+
periodicFeeCollectors: t,
|
|
172
|
+
reserveKit: t,
|
|
173
|
+
zoe: t,
|
|
174
|
+
contractKits: t,
|
|
175
|
+
},
|
|
176
|
+
produce: {
|
|
177
|
+
feeDistributorKit: t,
|
|
178
|
+
periodicFeeCollectors: t,
|
|
179
|
+
},
|
|
180
|
+
instance: {
|
|
181
|
+
produce: { feeDistributor: t },
|
|
182
|
+
},
|
|
183
|
+
installation: {
|
|
184
|
+
consume: { feeDistributor: t },
|
|
185
|
+
},
|
|
186
|
+
issuer: {
|
|
187
|
+
consume: { [Stable.symbol]: t },
|
|
188
|
+
},
|
|
189
|
+
brand: {
|
|
190
|
+
consume: { [Stable.symbol]: t },
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
options: { ...feeDistributorOptions },
|
|
195
|
+
});
|
|
@@ -18,6 +18,8 @@ export function getManifestForReplaceAllElectorates({ economicCommitteeRef: _eco
|
|
|
18
18
|
auctionUpgradeNewGovCreator: boolean;
|
|
19
19
|
auctionUpgradeNewInstance: boolean;
|
|
20
20
|
psmKit: boolean;
|
|
21
|
+
contractKits: boolean;
|
|
22
|
+
econCharterKit: boolean;
|
|
21
23
|
governedContractKits: boolean;
|
|
22
24
|
chainStorage: boolean;
|
|
23
25
|
highPrioritySendersManager: boolean;
|
|
@@ -47,6 +49,7 @@ export function getManifestForReplaceAllElectorates({ economicCommitteeRef: _eco
|
|
|
47
49
|
};
|
|
48
50
|
consume: {
|
|
49
51
|
economicCommittee: boolean;
|
|
52
|
+
econCommitteeCharter: boolean;
|
|
50
53
|
};
|
|
51
54
|
};
|
|
52
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceElectorate.d.ts","sourceRoot":"","sources":["replaceElectorate.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replaceElectorate.d.ts","sourceRoot":"","sources":["replaceElectorate.js"],"names":[],"mappings":"AAweO,uDAlBI,sBAAsB,GAAG,eAAe,UAGxC;IACN,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,yBAAyB,EAAE;YACzB,cAAc,EAAE,MAAM,EAAE,CAAC;YACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC;CACH,GAGS,OAAO,CAAC,IAAI,CAAC,CAuEzB;AAIM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDL;8BA9NW,cAAc,CAAC;IACvB,yBAAyB,EAAE,QAAQ,CAAC;IACpC,2BAA2B,EAAE,GAAG,CAAC;IACjC,wBAAwB,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACtD,CAAC;4CApXqC,qBAAqB"}
|
|
@@ -289,33 +289,87 @@ const startNewEconomicCommittee = async (
|
|
|
289
289
|
* Starts a new Economic Committee Charter by creating an instance with the
|
|
290
290
|
* provided committee specifications.
|
|
291
291
|
*
|
|
292
|
-
* @param {EconomyBootstrapPowers
|
|
293
|
-
*
|
|
292
|
+
* @param {EconomyBootstrapPowers &
|
|
293
|
+
* PromiseSpaceOf<{ retiredContractInstances: MapStore<string, Instance> }>} powers
|
|
294
|
+
* - The resources and capabilities required to start the committee.
|
|
295
|
+
*
|
|
294
296
|
* @returns {Promise<EconCharterStartResult>} A promise that resolves to the
|
|
295
297
|
* charter kit result.
|
|
296
298
|
*/
|
|
297
299
|
const startNewEconCharter = async ({
|
|
298
|
-
consume: {
|
|
299
|
-
|
|
300
|
+
consume: {
|
|
301
|
+
board,
|
|
302
|
+
startUpgradable,
|
|
303
|
+
contractKits: contractKitsP,
|
|
304
|
+
econCharterKit: econCharterKitP,
|
|
305
|
+
retiredContractInstances: retiredContractInstancesP,
|
|
306
|
+
},
|
|
307
|
+
produce: {
|
|
308
|
+
econCharterKit: produceEconCharterKit,
|
|
309
|
+
retiredContractInstances: produceRetiredInstances,
|
|
310
|
+
},
|
|
300
311
|
installation: {
|
|
301
312
|
consume: { binaryVoteCounter: counterP, econCommitteeCharter: installP },
|
|
302
313
|
},
|
|
303
314
|
instance: {
|
|
304
315
|
produce: { econCommitteeCharter },
|
|
316
|
+
consume: { econCommitteeCharter: previousInstanceP },
|
|
305
317
|
},
|
|
306
318
|
}) => {
|
|
307
|
-
const [
|
|
319
|
+
const [
|
|
320
|
+
charterInstall,
|
|
321
|
+
counterInstall,
|
|
322
|
+
previousInstance,
|
|
323
|
+
contractKits,
|
|
324
|
+
econCharterKit,
|
|
325
|
+
retiredInstances,
|
|
326
|
+
] = await Promise.all([
|
|
308
327
|
installP,
|
|
309
328
|
counterP,
|
|
329
|
+
previousInstanceP,
|
|
330
|
+
contractKitsP,
|
|
331
|
+
econCharterKitP,
|
|
332
|
+
provideRetiredInstances(retiredContractInstancesP, produceRetiredInstances),
|
|
310
333
|
]);
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
334
|
+
|
|
335
|
+
const label = 'econCommitteeCharter';
|
|
336
|
+
const previousCharterKit = { ...econCharterKit, label };
|
|
337
|
+
|
|
338
|
+
const boardID = await E(board).getId(previousCharterKit.instance);
|
|
339
|
+
const identifier = `${label}-${boardID}`;
|
|
340
|
+
trace('Saving previous EC Charter Instance', label);
|
|
341
|
+
|
|
342
|
+
// save the old charter instance kit so we can manage it later
|
|
343
|
+
if (retiredInstances.has(identifier)) {
|
|
344
|
+
// bootstrap tests start having already run this upgrade. Actual upgrades on
|
|
345
|
+
// mainNet or testnets should start with the promiseSpace post upgrade-17,
|
|
346
|
+
// which doesn't have this entry in the map.
|
|
347
|
+
trace(
|
|
348
|
+
'⚠️ WARNING: collision on storing Charter in retireInstances not' +
|
|
349
|
+
' expected during chain upgrade. It IS normal during bootstrap tests',
|
|
350
|
+
);
|
|
351
|
+
} else {
|
|
352
|
+
retiredInstances.init(identifier, previousCharterKit.instance);
|
|
353
|
+
}
|
|
354
|
+
if (contractKits.has(previousInstance)) {
|
|
355
|
+
// bootstrap tests start having already run this upgrade. Actual upgrades on
|
|
356
|
+
// mainNet or testnets should start with the promiseSpace post upgrade-17,
|
|
357
|
+
// which doesn't have this entry in the map.
|
|
358
|
+
trace(
|
|
359
|
+
'⚠️ WARNING: collision on storing Charter in contractKits not' +
|
|
360
|
+
' expected during chain upgrade. It IS normal during bootstrap tests',
|
|
361
|
+
);
|
|
362
|
+
} else {
|
|
363
|
+
contractKits.init(previousInstance, previousCharterKit);
|
|
364
|
+
}
|
|
314
365
|
|
|
315
366
|
trace('Starting new EC Charter Instance');
|
|
316
367
|
|
|
368
|
+
const terms = harden({
|
|
369
|
+
binaryVoteCounterInstallation: counterInstall,
|
|
370
|
+
});
|
|
317
371
|
const startResult = await E(startUpgradable)({
|
|
318
|
-
label
|
|
372
|
+
label,
|
|
319
373
|
installation: charterInstall,
|
|
320
374
|
terms,
|
|
321
375
|
});
|
|
@@ -325,8 +379,8 @@ const startNewEconCharter = async ({
|
|
|
325
379
|
econCommitteeCharter.reset();
|
|
326
380
|
econCommitteeCharter.resolve(E.get(startResult).instance);
|
|
327
381
|
|
|
328
|
-
|
|
329
|
-
|
|
382
|
+
produceEconCharterKit.reset();
|
|
383
|
+
produceEconCharterKit.resolve(startResult);
|
|
330
384
|
return startResult;
|
|
331
385
|
};
|
|
332
386
|
|
|
@@ -515,6 +569,8 @@ export const getManifestForReplaceAllElectorates = async (
|
|
|
515
569
|
auctionUpgradeNewGovCreator: true,
|
|
516
570
|
auctionUpgradeNewInstance: true,
|
|
517
571
|
psmKit: true,
|
|
572
|
+
contractKits: true,
|
|
573
|
+
econCharterKit: true,
|
|
518
574
|
governedContractKits: true,
|
|
519
575
|
chainStorage: true,
|
|
520
576
|
highPrioritySendersManager: true,
|
|
@@ -543,7 +599,10 @@ export const getManifestForReplaceAllElectorates = async (
|
|
|
543
599
|
economicCommittee: true,
|
|
544
600
|
econCommitteeCharter: true,
|
|
545
601
|
},
|
|
546
|
-
consume: {
|
|
602
|
+
consume: {
|
|
603
|
+
economicCommittee: true,
|
|
604
|
+
econCommitteeCharter: true,
|
|
605
|
+
},
|
|
547
606
|
},
|
|
548
607
|
},
|
|
549
608
|
},
|
|
@@ -5,7 +5,7 @@ export function startPSM({ vatParameters: { chainStorageEntries }, consume: { ag
|
|
|
5
5
|
options?: {
|
|
6
6
|
anchorOptions?: AnchorOptions;
|
|
7
7
|
} | undefined;
|
|
8
|
-
}
|
|
8
|
+
}): Promise<void>;
|
|
9
9
|
export function makeAnchorAsset({ vatParameters: { chainStorageEntries }, consume: { agoricNamesAdmin, bankManager, startUpgradable, anchorBalancePayments, }, installation: { consume: { mintHolder }, }, produce: { testFirstAnchorKit, anchorBalancePayments: produceAnchorBalancePayments, }, }: EconomyBootstrapPowers & WellKnownSpaces & ChainStorageVatParams, { options: { anchorOptions } }: {
|
|
10
10
|
options: {
|
|
11
11
|
anchorOptions?: AnchorOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startPSM.d.ts","sourceRoot":"","sources":["startPSM.js"],"names":[],"mappings":"AAuFO,ydAPI,sBAAsB,GAAG,eAAe,GAAG,qBAAqB
|
|
1
|
+
{"version":3,"file":"startPSM.d.ts","sourceRoot":"","sources":["startPSM.js"],"names":[],"mappings":"AAuFO,ydAPI,sBAAsB,GAAG,eAAe,GAAG,qBAAqB,kFAExE;IAAwB,eAAe;IACf,eAAe;IACf,UAAU;IACiB,OAAO;wBAAhC,aAAa;;CAAoB,iBAsM7D;AAuBM,qSAHI,sBAAsB,GAAG,eAAe,GAAG,qBAAqB,kCAChE;IAAE,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAA;CAAE,iBAwGxD;AAGD,iEAAiE;AAEjE,8DAiBE;AAEF,gCAAgC;AAChC,2BADW,iBAAiB,CA6C1B;AAGK;;;;;;;;;;;;EAaN;AAEM;;;;;;;;;;;;;;EAcN;;;;;;;uCAreM,yBAAyB;iCAAzB,yBAAyB;oCAAzB,yBAAyB;4CAIU,qBAAqB;uBAZxC,gCAAgC;uCAUlB,mCAAmC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-vaults.d.ts","sourceRoot":"","sources":["upgrade-vaults.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upgrade-vaults.d.ts","sourceRoot":"","sources":["upgrade-vaults.js"],"names":[],"mappings":"AA+BO,+XARI,OAAO,oCAAoC,EAAE,sBAAsB,GACvE,eAAe,uDACX;IACN,OAAO,EAAE;QACP,kBAAkB,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1C,CAAC;CACH,iBA8IH;AAUM,4DAHJ;IAAmB,UAAU,EAArB,GAAG;CACX,uBAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;GA4Bb;8BAhMY,cAAc,CAAC;IACvB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,yBAAyB,EAAE,QAAQ,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file this core-eval proposal is specific to the upgrade-18 scenario,
|
|
3
|
+
* handling tasks beyond generic Vault Factory null upgrade. For a reusable
|
|
4
|
+
* proposal, see upgrade-vaultFactory-proposal.js.
|
|
5
|
+
*/
|
|
6
|
+
|
|
1
7
|
import { E } from '@endo/far';
|
|
2
8
|
import { makeNotifierFromAsyncIterable } from '@agoric/notifier';
|
|
3
9
|
import { makeTracer } from '@agoric/internal/src/index.js';
|
package/src/provisionPool.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
7
7
|
storageNode: StorageNode;
|
|
8
8
|
marshaller: Marshal<any>;
|
|
9
9
|
metricsOverride?: import("./provisionPoolKit.js").MetricsNotification;
|
|
10
|
+
governedParamOverrides?: Record<string, Amount | undefined>;
|
|
10
11
|
}, baggage: import("@agoric/vat-data").Baggage): Promise<{
|
|
11
12
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
12
13
|
getParamMgrRetriever: () => {
|
|
@@ -23,112 +24,7 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
23
24
|
}>;
|
|
24
25
|
}>;
|
|
25
26
|
getInvitation: (name: any) => Promise<Invitation<unknown, undefined>>;
|
|
26
|
-
getLimitedCreatorFacet: () =>
|
|
27
|
-
addRevivableAddresses(oldAddresses: string[]): void;
|
|
28
|
-
getWalletReviver(): import("@endo/exo").Guarded<{
|
|
29
|
-
reviveWallet(address: string): Promise<{
|
|
30
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
31
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
32
|
-
receive(payment: Payment): Promise<Amount>;
|
|
33
|
-
}>;
|
|
34
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
35
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
36
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
37
|
-
}>;
|
|
38
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
39
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
40
|
-
getPublicTopics(): {
|
|
41
|
-
current: {
|
|
42
|
-
description: string;
|
|
43
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
44
|
-
storagePath: Promise<string>;
|
|
45
|
-
};
|
|
46
|
-
updates: {
|
|
47
|
-
description: string;
|
|
48
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
49
|
-
storagePath: Promise<string>;
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
} & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
|
|
53
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
54
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
55
|
-
receive(payment: Payment): Promise<Amount>;
|
|
56
|
-
}>;
|
|
57
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
58
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
59
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
60
|
-
}>;
|
|
61
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
62
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
63
|
-
getPublicTopics(): {
|
|
64
|
-
current: {
|
|
65
|
-
description: string;
|
|
66
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
67
|
-
storagePath: Promise<string>;
|
|
68
|
-
};
|
|
69
|
-
updates: {
|
|
70
|
-
description: string;
|
|
71
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
72
|
-
storagePath: Promise<string>;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
}> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
76
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
77
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
78
|
-
receive(payment: Payment): Promise<Amount>;
|
|
79
|
-
}>;
|
|
80
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
81
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
82
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
83
|
-
}>;
|
|
84
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
85
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
86
|
-
getPublicTopics(): {
|
|
87
|
-
current: {
|
|
88
|
-
description: string;
|
|
89
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
90
|
-
storagePath: Promise<string>;
|
|
91
|
-
};
|
|
92
|
-
updates: {
|
|
93
|
-
description: string;
|
|
94
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
95
|
-
storagePath: Promise<string>;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
} & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
|
|
99
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
100
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
101
|
-
receive(payment: Payment): Promise<Amount>;
|
|
102
|
-
}>;
|
|
103
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
104
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
105
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
106
|
-
}>;
|
|
107
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
108
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
109
|
-
getPublicTopics(): {
|
|
110
|
-
current: {
|
|
111
|
-
description: string;
|
|
112
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
113
|
-
storagePath: Promise<string>;
|
|
114
|
-
};
|
|
115
|
-
updates: {
|
|
116
|
-
description: string;
|
|
117
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
118
|
-
storagePath: Promise<string>;
|
|
119
|
-
};
|
|
120
|
-
};
|
|
121
|
-
}>> & import("@endo/pass-style").RemotableObject>;
|
|
122
|
-
ackWallet(address: string): boolean;
|
|
123
|
-
}>;
|
|
124
|
-
setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
|
|
125
|
-
makeHandler(): {
|
|
126
|
-
fromBridge: (obj: any) => Promise<void>;
|
|
127
|
-
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
128
|
-
fromBridge: (obj: any) => Promise<void>;
|
|
129
|
-
}>;
|
|
130
|
-
initPSM(brand: Brand, instance: PsmInstance): void;
|
|
131
|
-
}>;
|
|
27
|
+
getLimitedCreatorFacet: () => any;
|
|
132
28
|
getGovernedApis: () => GovernedApis;
|
|
133
29
|
getGovernedApiNames: () => string[];
|
|
134
30
|
setOfferFilter: (strings: any) => Promise<void>;
|
|
@@ -147,10 +43,8 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
147
43
|
getUnknown: (name: string) => any;
|
|
148
44
|
getSubscription: () => globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
|
|
149
45
|
getGovernedParams: () => globalThis.ERef<globalThis.ParamStateRecord>;
|
|
150
|
-
getMetrics():
|
|
151
|
-
getPublicTopics():
|
|
152
|
-
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./provisionPoolKit.js").MetricsNotification>;
|
|
153
|
-
};
|
|
46
|
+
getMetrics(): any;
|
|
47
|
+
getPublicTopics(): any;
|
|
154
48
|
}>;
|
|
155
49
|
}>;
|
|
156
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAoBA,8CAA8C;AAE9C,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAsBK,2BAbI,GAAG,CAAC,cAAc,CAAC,eACnB;IACN,QAAQ,EAAE,OAAO,WAAW,EAAE,IAAI,CACtC,OAAa,8BAA8B,EAAE,IAAI,CAC5C,CAAC;IACF,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,uBAAuB,EAAE,mBAAmB,CAAC;IACtE,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7D,WACO,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA2EktT,cAAc;kDAAuE,cAAc;;;;;;;GAHj2T;;;;6BAxFY,aAAa,GACrB,eAAe,CAAC;IACd,uBAAuB,EAAE,QAAQ,CAAC;CACnC,CAAC;6BAxBoB,eAAe"}
|
package/src/provisionPool.js
CHANGED
|
@@ -12,7 +12,11 @@ import { prepareExo } from '@agoric/vat-data';
|
|
|
12
12
|
import { provideSingleton } from '@agoric/zoe/src/contractSupport/durability.js';
|
|
13
13
|
import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
14
14
|
import { TopicsRecordShape } from '@agoric/zoe/src/contractSupport/topics.js';
|
|
15
|
-
import {
|
|
15
|
+
import { makeDurableZone } from '@agoric/zone/durable.js';
|
|
16
|
+
import {
|
|
17
|
+
prepareBridgeProvisionTool,
|
|
18
|
+
prepareProvisionPoolKit,
|
|
19
|
+
} from './provisionPoolKit.js';
|
|
16
20
|
|
|
17
21
|
/** @import {Marshal} from '@endo/marshal'; */
|
|
18
22
|
|
|
@@ -49,6 +53,7 @@ harden(meta);
|
|
|
49
53
|
* storageNode: StorageNode;
|
|
50
54
|
* marshaller: Marshal<any>;
|
|
51
55
|
* metricsOverride?: import('./provisionPoolKit.js').MetricsNotification;
|
|
56
|
+
* governedParamOverrides?: Record<string, Amount | undefined>;
|
|
52
57
|
* }} privateArgs
|
|
53
58
|
* @param {import('@agoric/vat-data').Baggage} baggage
|
|
54
59
|
*/
|
|
@@ -70,13 +75,18 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
70
75
|
},
|
|
71
76
|
privateArgs.storageNode,
|
|
72
77
|
privateArgs.marshaller,
|
|
78
|
+
privateArgs.governedParamOverrides,
|
|
73
79
|
);
|
|
74
80
|
|
|
75
|
-
const
|
|
81
|
+
const zone = makeDurableZone(baggage);
|
|
82
|
+
|
|
83
|
+
const makeBridgeProvisionTool = prepareBridgeProvisionTool(zone);
|
|
84
|
+
const makeProvisionPoolKit = prepareProvisionPoolKit(zone, {
|
|
76
85
|
makeRecorderKit,
|
|
77
86
|
params,
|
|
78
87
|
poolBank,
|
|
79
88
|
zcf,
|
|
89
|
+
makeBridgeProvisionTool,
|
|
80
90
|
});
|
|
81
91
|
|
|
82
92
|
const provisionPoolKit = await provideSingleton(
|