@agoric/inter-protocol 0.16.2-dev-6ad0038.0.6ad0038 → 0.16.2-dev-b95c1c8.0.b95c1c8
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 +16 -16
- package/src/index.js +1 -0
- package/src/proposals/addAssetToVault.js +3 -97
- package/src/proposals/committee-proposal.js +3 -9
- package/src/proposals/core-proposal.js +1 -32
- package/src/proposals/econ-behaviors.js +1 -140
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +1 -0
- package/src/vaultFactory/types-ambient.d.ts +0 -2
- package/src/vaultFactory/types-ambient.d.ts.map +1 -1
- package/src/vaultFactory/types-ambient.js +0 -3
- package/src/vaultFactory/vaultDirector.d.ts +5 -40
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +3 -58
- package/src/vaultFactory/vaultFactory.d.ts +4 -22
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +2 -9
- package/src/vaultFactory/vaultManager.d.ts +2 -180
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +3 -300
- package/src/auction/auctionBook.d.ts +0 -150
- package/src/auction/auctionBook.d.ts.map +0 -1
- package/src/auction/auctionBook.js +0 -796
- package/src/auction/auctionMath.d.ts +0 -18
- package/src/auction/auctionMath.d.ts.map +0 -1
- package/src/auction/auctionMath.js +0 -82
- package/src/auction/auctioneer.d.ts +0 -76
- package/src/auction/auctioneer.d.ts.map +0 -1
- package/src/auction/auctioneer.js +0 -745
- package/src/auction/offerBook.d.ts +0 -47
- package/src/auction/offerBook.d.ts.map +0 -1
- package/src/auction/offerBook.js +0 -227
- package/src/auction/params.d.ts +0 -156
- package/src/auction/params.d.ts.map +0 -1
- package/src/auction/params.js +0 -184
- package/src/auction/scheduleMath.d.ts +0 -8
- package/src/auction/scheduleMath.d.ts.map +0 -1
- package/src/auction/scheduleMath.js +0 -174
- package/src/auction/scheduler.d.ts +0 -57
- package/src/auction/scheduler.d.ts.map +0 -1
- package/src/auction/scheduler.js +0 -391
- package/src/auction/sortedOffers.d.ts +0 -9
- package/src/auction/sortedOffers.d.ts.map +0 -1
- package/src/auction/sortedOffers.js +0 -141
- package/src/proposals/add-auction.js +0 -290
- package/src/proposals/upgrade-vaults.js +0 -212
- package/src/vaultFactory/liquidation.d.ts +0 -29
- package/src/vaultFactory/liquidation.d.ts.map +0 -1
- package/src/vaultFactory/liquidation.js +0 -313
- package/src/vaultFactory/proceeds.d.ts +0 -36
- package/src/vaultFactory/proceeds.d.ts.map +0 -1
- package/src/vaultFactory/proceeds.js +0 -285
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/inter-protocol",
|
|
3
|
-
"version": "0.16.2-dev-
|
|
3
|
+
"version": "0.16.2-dev-b95c1c8.0.b95c1c8",
|
|
4
4
|
"description": "Core cryptoeconomy contracts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/Agoric/agoric-sdk#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@agoric/base-zone": "0.1.1-dev-
|
|
35
|
-
"@agoric/ertp": "0.16.3-dev-
|
|
36
|
-
"@agoric/governance": "0.10.4-dev-
|
|
37
|
-
"@agoric/internal": "0.3.3-dev-
|
|
38
|
-
"@agoric/notifier": "0.6.3-dev-
|
|
39
|
-
"@agoric/store": "0.9.3-dev-
|
|
40
|
-
"@agoric/time": "0.3.3-dev-
|
|
41
|
-
"@agoric/vat-data": "0.5.3-dev-
|
|
42
|
-
"@agoric/vats": "0.15.2-dev-
|
|
43
|
-
"@agoric/zoe": "0.26.3-dev-
|
|
44
|
-
"@agoric/zone": "0.2.3-dev-
|
|
34
|
+
"@agoric/base-zone": "0.1.1-dev-b95c1c8.0.b95c1c8",
|
|
35
|
+
"@agoric/ertp": "0.16.3-dev-b95c1c8.0.b95c1c8",
|
|
36
|
+
"@agoric/governance": "0.10.4-dev-b95c1c8.0.b95c1c8",
|
|
37
|
+
"@agoric/internal": "0.3.3-dev-b95c1c8.0.b95c1c8",
|
|
38
|
+
"@agoric/notifier": "0.6.3-dev-b95c1c8.0.b95c1c8",
|
|
39
|
+
"@agoric/store": "0.9.3-dev-b95c1c8.0.b95c1c8",
|
|
40
|
+
"@agoric/time": "0.3.3-dev-b95c1c8.0.b95c1c8",
|
|
41
|
+
"@agoric/vat-data": "0.5.3-dev-b95c1c8.0.b95c1c8",
|
|
42
|
+
"@agoric/vats": "0.15.2-dev-b95c1c8.0.b95c1c8",
|
|
43
|
+
"@agoric/zoe": "0.26.3-dev-b95c1c8.0.b95c1c8",
|
|
44
|
+
"@agoric/zone": "0.2.3-dev-b95c1c8.0.b95c1c8",
|
|
45
45
|
"@endo/captp": "^4.4.8",
|
|
46
46
|
"@endo/errors": "^1.2.13",
|
|
47
47
|
"@endo/eventual-send": "^1.3.4",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"jessie.js": "^0.3.4"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@agoric/smart-wallet": "0.5.4-dev-
|
|
56
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
57
|
-
"@agoric/swingset-vat": "0.32.3-dev-
|
|
55
|
+
"@agoric/smart-wallet": "0.5.4-dev-b95c1c8.0.b95c1c8",
|
|
56
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-b95c1c8.0.b95c1c8",
|
|
57
|
+
"@agoric/swingset-vat": "0.32.3-dev-b95c1c8.0.b95c1c8",
|
|
58
58
|
"@endo/bundle-source": "^4.1.2",
|
|
59
59
|
"@endo/init": "^1.1.12",
|
|
60
60
|
"@endo/promise-kit": "^1.1.13",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"typeCoverage": {
|
|
86
86
|
"atLeast": 95.65
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "b95c1c8ea955b25f16fa2582bd9878d99f73fed1"
|
|
89
89
|
}
|
package/src/index.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
// @jessie-check
|
|
2
2
|
// @ts-check
|
|
3
3
|
|
|
4
|
-
import { q } from '@endo/errors';
|
|
5
|
-
import { ToFarFunction } from '@endo/captp';
|
|
6
|
-
import { Far } from '@endo/marshal';
|
|
7
4
|
import { AmountMath, AssetKind } from '@agoric/ertp';
|
|
5
|
+
import { parseRatio } from '@agoric/ertp/src/ratio.js';
|
|
8
6
|
import { deeplyFulfilledObject } from '@agoric/internal';
|
|
7
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
9
8
|
import { makeRatio } from '@agoric/zoe/src/contractSupport/index.js';
|
|
10
|
-
import { parseRatio } from '@agoric/ertp/src/ratio.js';
|
|
11
9
|
import { E } from '@endo/far';
|
|
12
|
-
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
13
|
-
import { TimeMath } from '@agoric/time/src/timeMath.js';
|
|
14
|
-
import { makePromiseKit } from '@endo/promise-kit';
|
|
15
10
|
|
|
16
11
|
import {
|
|
17
12
|
oracleBrandFeedName,
|
|
@@ -259,75 +254,6 @@ export const registerScaledPriceAuthority = async (powers, { options }) => {
|
|
|
259
254
|
produceInstance[label].resolve(spaKit.instance);
|
|
260
255
|
};
|
|
261
256
|
|
|
262
|
-
// wait a short while after end to allow things to settle
|
|
263
|
-
const BUFFER = 5n * 60n;
|
|
264
|
-
// let's insist on 20 minutes leeway for running the scripts
|
|
265
|
-
const COMPLETION = 20n * 60n;
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* This function works around an issue identified in #8307 and #8296, and fixed
|
|
269
|
-
* in #8301. The fix is needed until #8301 makes it into production.
|
|
270
|
-
*
|
|
271
|
-
* If there is a liveSchedule, 1) run now if start is far enough away,
|
|
272
|
-
* otherwise, 2) run after endTime. If neither liveSchedule nor nextSchedule is
|
|
273
|
-
* defined, 3) run now. If there is only a nextSchedule, 4) run now if startTime
|
|
274
|
-
* is far enough away, else 5) run after endTime
|
|
275
|
-
*
|
|
276
|
-
* @param {FullSchedule} schedules
|
|
277
|
-
* @param {ERef<TimerService>} timer
|
|
278
|
-
* @param {() => void} thunk
|
|
279
|
-
*/
|
|
280
|
-
const whenQuiescent = async (schedules, timer, thunk) => {
|
|
281
|
-
const { nextAuctionSchedule, liveAuctionSchedule } = schedules;
|
|
282
|
-
const now = await E(timer).getCurrentTimestamp();
|
|
283
|
-
|
|
284
|
-
const waker = Far('addAssetWaker', { wake: () => thunk() });
|
|
285
|
-
|
|
286
|
-
if (liveAuctionSchedule) {
|
|
287
|
-
const safeStart = TimeMath.subtractAbsRel(
|
|
288
|
-
liveAuctionSchedule.startTime,
|
|
289
|
-
COMPLETION,
|
|
290
|
-
);
|
|
291
|
-
|
|
292
|
-
if (TimeMath.compareAbs(safeStart, now) < 0) {
|
|
293
|
-
// case 2
|
|
294
|
-
console.warn(
|
|
295
|
-
`Add Asset after live schedule's endtime: ${q(
|
|
296
|
-
liveAuctionSchedule.endTime,
|
|
297
|
-
)}`,
|
|
298
|
-
);
|
|
299
|
-
|
|
300
|
-
return E(timer).setWakeup(
|
|
301
|
-
TimeMath.addAbsRel(liveAuctionSchedule.endTime, BUFFER),
|
|
302
|
-
waker,
|
|
303
|
-
);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
if (!liveAuctionSchedule && nextAuctionSchedule) {
|
|
308
|
-
const safeStart = TimeMath.subtractAbsRel(
|
|
309
|
-
nextAuctionSchedule.startTime,
|
|
310
|
-
COMPLETION,
|
|
311
|
-
);
|
|
312
|
-
if (TimeMath.compareAbs(safeStart, now) < 0) {
|
|
313
|
-
// case 5
|
|
314
|
-
console.warn(
|
|
315
|
-
`Add Asset after next schedule's endtime: ${q(
|
|
316
|
-
nextAuctionSchedule.endTime,
|
|
317
|
-
)}`,
|
|
318
|
-
);
|
|
319
|
-
return E(timer).setWakeup(
|
|
320
|
-
TimeMath.addAbsRel(nextAuctionSchedule.endTime, BUFFER),
|
|
321
|
-
waker,
|
|
322
|
-
);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
// cases 1, 3, and 4 fall through to here.
|
|
327
|
-
console.warn(`Add Asset immediately`, thunk);
|
|
328
|
-
return thunk();
|
|
329
|
-
};
|
|
330
|
-
|
|
331
257
|
/**
|
|
332
258
|
* @param {EconomyBootstrapPowers} powers
|
|
333
259
|
* @param {object} config
|
|
@@ -338,12 +264,7 @@ const whenQuiescent = async (schedules, timer, thunk) => {
|
|
|
338
264
|
*/
|
|
339
265
|
export const addAssetToVault = async (
|
|
340
266
|
{
|
|
341
|
-
consume: {
|
|
342
|
-
vaultFactoryKit,
|
|
343
|
-
agoricNamesAdmin,
|
|
344
|
-
auctioneerKit,
|
|
345
|
-
chainTimerService,
|
|
346
|
-
},
|
|
267
|
+
consume: { vaultFactoryKit, agoricNamesAdmin },
|
|
347
268
|
brand: {
|
|
348
269
|
consume: { [Stable.symbol]: stableP },
|
|
349
270
|
},
|
|
@@ -380,20 +301,6 @@ export const addAssetToVault = async (
|
|
|
380
301
|
// eslint-disable-next-line no-restricted-syntax -- allow this computed property
|
|
381
302
|
await consumeInstance[scaledPriceFeedName(issuerName)];
|
|
382
303
|
|
|
383
|
-
const auctioneerCreator = E.get(auctioneerKit).creatorFacet;
|
|
384
|
-
const schedules = await E(auctioneerCreator).getSchedule();
|
|
385
|
-
|
|
386
|
-
const finishPromiseKit = makePromiseKit();
|
|
387
|
-
const addBrandThenResolve = ToFarFunction('addBrandThenResolve', async () => {
|
|
388
|
-
await E(auctioneerCreator).addBrand(interchainIssuer, keyword);
|
|
389
|
-
finishPromiseKit.resolve(undefined);
|
|
390
|
-
});
|
|
391
|
-
|
|
392
|
-
// schedules actions on a timer (or does it immediately).
|
|
393
|
-
// finishPromiseKit signals completion.
|
|
394
|
-
void whenQuiescent(schedules, chainTimerService, addBrandThenResolve);
|
|
395
|
-
await finishPromiseKit.promise;
|
|
396
|
-
|
|
397
304
|
const stable = await stableP;
|
|
398
305
|
const vaultFactoryCreator = E.get(vaultFactoryKit).creatorFacet;
|
|
399
306
|
await E(vaultFactoryCreator).addVaultType(interchainIssuer, keyword, {
|
|
@@ -464,7 +371,6 @@ export const getManifestForAddAssetToVault = (
|
|
|
464
371
|
},
|
|
465
372
|
[addAssetToVault.name]: {
|
|
466
373
|
consume: {
|
|
467
|
-
auctioneerKit: 'auctioneer',
|
|
468
374
|
vaultFactoryKit: 'vaultFactory',
|
|
469
375
|
agoricNamesAdmin: true,
|
|
470
376
|
chainTimerService: true,
|
|
@@ -96,9 +96,9 @@ harden(startEconCharter);
|
|
|
96
96
|
* @param {EconomyBootstrapPowers} powers
|
|
97
97
|
*/
|
|
98
98
|
export const addGovernorsToEconCharter = async ({
|
|
99
|
-
consume: { reserveKit, vaultFactoryKit, econCharterKit
|
|
99
|
+
consume: { reserveKit, vaultFactoryKit, econCharterKit },
|
|
100
100
|
instance: {
|
|
101
|
-
consume: { reserve, VaultFactory
|
|
101
|
+
consume: { reserve, VaultFactory },
|
|
102
102
|
},
|
|
103
103
|
}) => {
|
|
104
104
|
const { creatorFacet } = E.get(econCharterKit);
|
|
@@ -115,11 +115,6 @@ export const addGovernorsToEconCharter = async ({
|
|
|
115
115
|
instanceP: VaultFactory,
|
|
116
116
|
facetP: E.get(vaultFactoryKit).governorCreatorFacet,
|
|
117
117
|
},
|
|
118
|
-
{
|
|
119
|
-
label: 'auctioneer',
|
|
120
|
-
instanceP: auctioneer,
|
|
121
|
-
facetP: E.get(auctioneerKit).governorCreatorFacet,
|
|
122
|
-
},
|
|
123
118
|
].map(async ({ label, instanceP, facetP }) => {
|
|
124
119
|
const [instance, govFacet] = await Promise.all([instanceP, facetP]);
|
|
125
120
|
|
|
@@ -180,7 +175,6 @@ export const getManifestForInviteCommittee = async (
|
|
|
180
175
|
},
|
|
181
176
|
[addGovernorsToEconCharter.name]: {
|
|
182
177
|
consume: {
|
|
183
|
-
auctioneerKit: t,
|
|
184
178
|
econCharterKit: t,
|
|
185
179
|
zoe: t,
|
|
186
180
|
agoricNames: t,
|
|
@@ -193,7 +187,7 @@ export const getManifestForInviteCommittee = async (
|
|
|
193
187
|
consume: { binaryVoteCounter: t },
|
|
194
188
|
},
|
|
195
189
|
instance: {
|
|
196
|
-
consume: {
|
|
190
|
+
consume: { reserve: t, VaultFactory: t },
|
|
197
191
|
},
|
|
198
192
|
},
|
|
199
193
|
[inviteToEconCharter.name]: {
|
|
@@ -27,7 +27,6 @@ export const storeInterContractStartKits = async ({
|
|
|
27
27
|
econCharterKit,
|
|
28
28
|
economicCommitteeKit,
|
|
29
29
|
feeDistributorKit,
|
|
30
|
-
auctioneerKit,
|
|
31
30
|
reserveKit,
|
|
32
31
|
vaultFactoryKit,
|
|
33
32
|
},
|
|
@@ -49,11 +48,7 @@ export const storeInterContractStartKits = async ({
|
|
|
49
48
|
econCharterKit,
|
|
50
49
|
feeDistributorKit,
|
|
51
50
|
]);
|
|
52
|
-
await storeAll(governedContractKits, [
|
|
53
|
-
auctioneerKit,
|
|
54
|
-
reserveKit,
|
|
55
|
-
vaultFactoryKit,
|
|
56
|
-
]);
|
|
51
|
+
await storeAll(governedContractKits, [reserveKit, vaultFactoryKit]);
|
|
57
52
|
};
|
|
58
53
|
|
|
59
54
|
/** @type {BootstrapManifest} */
|
|
@@ -70,7 +65,6 @@ const SHARED_MAIN_MANIFEST = harden({
|
|
|
70
65
|
priceAuthority: 'priceAuthority',
|
|
71
66
|
economicCommitteeCreatorFacet: 'economicCommittee',
|
|
72
67
|
reserveKit: 'reserve',
|
|
73
|
-
auctioneerKit: 'auction',
|
|
74
68
|
},
|
|
75
69
|
produce: { vaultFactoryKit: 'VaultFactory' },
|
|
76
70
|
brand: { consume: { [Stable.symbol]: 'zoe' } },
|
|
@@ -84,7 +78,6 @@ const SHARED_MAIN_MANIFEST = harden({
|
|
|
84
78
|
instance: {
|
|
85
79
|
consume: {
|
|
86
80
|
reserve: 'reserve',
|
|
87
|
-
auctioneer: 'auction',
|
|
88
81
|
},
|
|
89
82
|
produce: {
|
|
90
83
|
VaultFactory: 'VaultFactory',
|
|
@@ -124,28 +117,6 @@ const SHARED_MAIN_MANIFEST = harden({
|
|
|
124
117
|
},
|
|
125
118
|
},
|
|
126
119
|
|
|
127
|
-
[econBehaviors.startAuctioneer.name]: {
|
|
128
|
-
consume: {
|
|
129
|
-
zoe: 'zoe',
|
|
130
|
-
board: 'board',
|
|
131
|
-
chainTimerService: 'timer',
|
|
132
|
-
priceAuthority: 'priceAuthority',
|
|
133
|
-
chainStorage: true,
|
|
134
|
-
economicCommitteeCreatorFacet: 'economicCommittee',
|
|
135
|
-
},
|
|
136
|
-
produce: { auctioneerKit: 'auction' },
|
|
137
|
-
instance: {
|
|
138
|
-
produce: { auctioneer: 'auction' },
|
|
139
|
-
consume: { reserve: 'auction' },
|
|
140
|
-
},
|
|
141
|
-
installation: {
|
|
142
|
-
consume: { contractGovernor: 'zoe', auctioneer: 'zoe' },
|
|
143
|
-
},
|
|
144
|
-
issuer: {
|
|
145
|
-
consume: { [Stable.symbol]: 'zoe' },
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
|
|
149
120
|
[storeInterContractStartKits.name]: {
|
|
150
121
|
consume: {
|
|
151
122
|
contractKits: true,
|
|
@@ -153,7 +124,6 @@ const SHARED_MAIN_MANIFEST = harden({
|
|
|
153
124
|
econCharterKit: true,
|
|
154
125
|
economicCommitteeKit: true,
|
|
155
126
|
feeDistributorKit: true,
|
|
156
|
-
auctioneerKit: true,
|
|
157
127
|
reserveKit: true,
|
|
158
128
|
vaultFactoryKit: true,
|
|
159
129
|
},
|
|
@@ -211,7 +181,6 @@ export const getManifestForMain = (
|
|
|
211
181
|
manifest: SHARED_MAIN_MANIFEST,
|
|
212
182
|
installations: {
|
|
213
183
|
VaultFactory: restoreRef(installKeys.vaultFactory),
|
|
214
|
-
auctioneer: restoreRef(installKeys.auctioneer),
|
|
215
184
|
feeDistributor: restoreRef(installKeys.feeDistributor),
|
|
216
185
|
reserve: restoreRef(installKeys.reserve),
|
|
217
186
|
},
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// @jessie-check
|
|
2
|
+
/* eslint-disable @agoric/group-jsdoc-imports */
|
|
2
3
|
|
|
3
4
|
import { AmountMath } from '@agoric/ertp';
|
|
4
5
|
import { deeplyFulfilledObject, makeTracer } from '@agoric/internal';
|
|
@@ -6,7 +7,6 @@ import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
|
|
|
6
7
|
import { E } from '@endo/far';
|
|
7
8
|
import { makeScalarBigMapStore } from '@agoric/vat-data';
|
|
8
9
|
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
9
|
-
import { makeGovernedTerms as makeGovernedATerms } from '../auction/params.js';
|
|
10
10
|
import { makeReserveTerms } from '../reserve/params.js';
|
|
11
11
|
import { makeGovernedTerms as makeGovernedVFTerms } from '../vaultFactory/params.js';
|
|
12
12
|
|
|
@@ -55,12 +55,6 @@ export const SECONDS_PER_WEEK = 7n * SECONDS_PER_DAY;
|
|
|
55
55
|
* @property {AdminFacet} psmAdminFacet
|
|
56
56
|
*/
|
|
57
57
|
|
|
58
|
-
/**
|
|
59
|
-
* @typedef {GovernanceFacetKit<
|
|
60
|
-
* typeof import('../auction/auctioneer.js').start
|
|
61
|
-
* >} AuctioneerKit
|
|
62
|
-
*/
|
|
63
|
-
|
|
64
58
|
/**
|
|
65
59
|
* @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
|
|
66
60
|
*
|
|
@@ -82,8 +76,6 @@ export const SECONDS_PER_WEEK = 7n * SECONDS_PER_DAY;
|
|
|
82
76
|
* typeof import('../reserve/assetReserve.js').start
|
|
83
77
|
* >;
|
|
84
78
|
* vaultFactoryKit: GovernanceFacetKit<VFStart>;
|
|
85
|
-
* auctioneerKit: AuctioneerKit;
|
|
86
|
-
* newAuctioneerKit: AuctioneerKit | undefined;
|
|
87
79
|
* minInitialDebt: NatValue;
|
|
88
80
|
* }>} EconomyBootstrapSpace
|
|
89
81
|
*/
|
|
@@ -238,7 +230,6 @@ export const setupVaultFactoryArguments = async (
|
|
|
238
230
|
feeMintAccess: feeMintAccessP,
|
|
239
231
|
economicCommitteeCreatorFacet: electorateCreatorFacet,
|
|
240
232
|
reserveKit,
|
|
241
|
-
auctioneerKit,
|
|
242
233
|
} = consume;
|
|
243
234
|
|
|
244
235
|
const poserInvitationP = E(electorateCreatorFacet).getPoserInvitation();
|
|
@@ -252,14 +243,12 @@ export const setupVaultFactoryArguments = async (
|
|
|
252
243
|
initialShortfallInvitation,
|
|
253
244
|
shortfallInvitationAmount,
|
|
254
245
|
feeMintAccess,
|
|
255
|
-
auctioneerInstance,
|
|
256
246
|
] = await Promise.all([
|
|
257
247
|
poserInvitationP,
|
|
258
248
|
E(E(zoe).getInvitationIssuer()).getAmountOf(poserInvitationP),
|
|
259
249
|
shortfallInvitationP,
|
|
260
250
|
E(E(zoe).getInvitationIssuer()).getAmountOf(shortfallInvitationP),
|
|
261
251
|
feeMintAccessP,
|
|
262
|
-
E.get(auctioneerKit).instance,
|
|
263
252
|
]);
|
|
264
253
|
|
|
265
254
|
const reservePublicFacet = await E.get(reserveKit).publicFacet;
|
|
@@ -279,7 +268,6 @@ export const setupVaultFactoryArguments = async (
|
|
|
279
268
|
});
|
|
280
269
|
|
|
281
270
|
const vaultFactoryPrivateArgs = {
|
|
282
|
-
auctioneerInstance,
|
|
283
271
|
feeMintAccess,
|
|
284
272
|
initialPoserInvitation,
|
|
285
273
|
initialShortfallInvitation,
|
|
@@ -531,130 +519,3 @@ export const startRewardDistributor = async ({
|
|
|
531
519
|
);
|
|
532
520
|
};
|
|
533
521
|
harden(startRewardDistributor);
|
|
534
|
-
|
|
535
|
-
/**
|
|
536
|
-
* @param {EconomyBootstrapPowers} powers
|
|
537
|
-
* @param {object} config
|
|
538
|
-
* @param {any} [config.auctionParams]
|
|
539
|
-
*/
|
|
540
|
-
export const startAuctioneer = async (
|
|
541
|
-
{
|
|
542
|
-
consume: {
|
|
543
|
-
zoe,
|
|
544
|
-
board,
|
|
545
|
-
chainTimerService,
|
|
546
|
-
priceAuthority,
|
|
547
|
-
chainStorage,
|
|
548
|
-
economicCommitteeCreatorFacet: electorateCreatorFacet,
|
|
549
|
-
},
|
|
550
|
-
produce: { auctioneerKit },
|
|
551
|
-
instance: {
|
|
552
|
-
produce: { auctioneer: auctionInstance },
|
|
553
|
-
consume: { reserve: reserveInstance },
|
|
554
|
-
},
|
|
555
|
-
installation: {
|
|
556
|
-
consume: {
|
|
557
|
-
auctioneer: auctionInstallation,
|
|
558
|
-
contractGovernor: contractGovernorInstallation,
|
|
559
|
-
},
|
|
560
|
-
},
|
|
561
|
-
issuer: {
|
|
562
|
-
consume: { [Stable.symbol]: stableIssuerP },
|
|
563
|
-
},
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
auctionParams = {
|
|
567
|
-
StartFrequency: 1n * SECONDS_PER_HOUR,
|
|
568
|
-
ClockStep: 3n * SECONDS_PER_MINUTE,
|
|
569
|
-
StartingRate: 10500n,
|
|
570
|
-
LowestRate: 6500n,
|
|
571
|
-
DiscountStep: 500n,
|
|
572
|
-
AuctionStartDelay: 2n,
|
|
573
|
-
PriceLockPeriod: SECONDS_PER_HOUR / 2n,
|
|
574
|
-
},
|
|
575
|
-
} = {},
|
|
576
|
-
) => {
|
|
577
|
-
trace('startAuctioneer');
|
|
578
|
-
const STORAGE_PATH = 'auction';
|
|
579
|
-
|
|
580
|
-
const poserInvitationP = E(electorateCreatorFacet).getPoserInvitation();
|
|
581
|
-
|
|
582
|
-
const [initialPoserInvitation, electorateInvitationAmount, stableIssuer] =
|
|
583
|
-
await Promise.all([
|
|
584
|
-
poserInvitationP,
|
|
585
|
-
E(E(zoe).getInvitationIssuer()).getAmountOf(poserInvitationP),
|
|
586
|
-
stableIssuerP,
|
|
587
|
-
]);
|
|
588
|
-
|
|
589
|
-
const timerBrand = await E(chainTimerService).getTimerBrand();
|
|
590
|
-
|
|
591
|
-
const storageNode = await makeStorageNodeChild(chainStorage, STORAGE_PATH);
|
|
592
|
-
const marshaller = await E(board).getReadonlyMarshaller();
|
|
593
|
-
|
|
594
|
-
const reservePublicFacet = await E(zoe).getPublicFacet(reserveInstance);
|
|
595
|
-
|
|
596
|
-
const auctionTerms = makeGovernedATerms(
|
|
597
|
-
{ storageNode, marshaller },
|
|
598
|
-
chainTimerService,
|
|
599
|
-
priceAuthority,
|
|
600
|
-
reservePublicFacet,
|
|
601
|
-
{
|
|
602
|
-
...auctionParams,
|
|
603
|
-
ElectorateInvitationAmount: electorateInvitationAmount,
|
|
604
|
-
TimerBrand: timerBrand,
|
|
605
|
-
},
|
|
606
|
-
);
|
|
607
|
-
|
|
608
|
-
const governorTerms = await deeplyFulfilledObject(
|
|
609
|
-
harden({
|
|
610
|
-
timer: chainTimerService,
|
|
611
|
-
governedContractInstallation: auctionInstallation,
|
|
612
|
-
governed: {
|
|
613
|
-
terms: auctionTerms,
|
|
614
|
-
issuerKeywordRecord: { Bid: stableIssuer },
|
|
615
|
-
storageNode,
|
|
616
|
-
marshaller,
|
|
617
|
-
label: 'auctioneer',
|
|
618
|
-
},
|
|
619
|
-
}),
|
|
620
|
-
);
|
|
621
|
-
|
|
622
|
-
/** @type {GovernorStartedInstallationKit<typeof auctionInstallation>} */
|
|
623
|
-
const governorStartResult = await E(zoe).startInstance(
|
|
624
|
-
contractGovernorInstallation,
|
|
625
|
-
undefined,
|
|
626
|
-
governorTerms,
|
|
627
|
-
harden({
|
|
628
|
-
electorateCreatorFacet,
|
|
629
|
-
governed: {
|
|
630
|
-
initialPoserInvitation,
|
|
631
|
-
storageNode,
|
|
632
|
-
marshaller,
|
|
633
|
-
},
|
|
634
|
-
}),
|
|
635
|
-
'auctioneer.governor',
|
|
636
|
-
);
|
|
637
|
-
|
|
638
|
-
const [governedInstance, governedCreatorFacet, governedPublicFacet] =
|
|
639
|
-
await Promise.all([
|
|
640
|
-
E(governorStartResult.creatorFacet).getInstance(),
|
|
641
|
-
E(governorStartResult.creatorFacet).getCreatorFacet(),
|
|
642
|
-
E(governorStartResult.creatorFacet).getPublicFacet(),
|
|
643
|
-
]);
|
|
644
|
-
|
|
645
|
-
auctioneerKit.resolve(
|
|
646
|
-
harden({
|
|
647
|
-
label: 'auctioneer',
|
|
648
|
-
creatorFacet: governedCreatorFacet,
|
|
649
|
-
adminFacet: governorStartResult.adminFacet,
|
|
650
|
-
publicFacet: governedPublicFacet,
|
|
651
|
-
instance: governedInstance,
|
|
652
|
-
|
|
653
|
-
governor: governorStartResult.instance,
|
|
654
|
-
governorCreatorFacet: governorStartResult.creatorFacet,
|
|
655
|
-
governorAdminFacet: governorStartResult.adminFacet,
|
|
656
|
-
}),
|
|
657
|
-
);
|
|
658
|
-
|
|
659
|
-
auctionInstance.resolve(governedInstance);
|
|
660
|
-
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;GAYG;AAEH,kCAAmC,gBAAgB,CAAC;AACpD,mCAAoC,iBAAiB,CAAC;AAEtD,6BAA8B,WAAW,CAAC;AAC1C,qCAAsC,mBAAmB,CAAC;AAC1D,sCAAuC,oBAAoB,CAAC;AAC5D,sCAAuC,oBAAoB,CAAC;AAC5D,gCAAiC,cAAc,CAAC;AAChD,2BAA4B,SAAS,CAAC;AACtC,mCAAoC,gBAAgB,CAAC;AACrD,uCAAwC,qBAAqB,CAAC;AAC9D,gCAAiC,cAAc,CAAC;;;;;;;AAoEzC,oDAHI,mBAAmB,2BAA2B,CAAC,oGAC/C,uBAAuB;;;;;;;GAoB9B;AACJ,4EAA4E;AAE5E,iEAYE;AAeK,8MAZI;IACN,0BAA0B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,cAAc,EAAE,cAAc,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BH;AAeM,mDAJI,OAAO,cACP,QAAQ,WAAW,CAAC,yBACpB,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAwDjD;;;;OAIG;2BAHQ,KAAK,eACL,OAAO,WAAW,CAAC,sBACnB,uBAAuB;;;;;;;;IAOlC,2BAA2B;eAAf,KAAK;;;;;;;;EAKpB;kCA3KY,wBACR,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAC3C;gCAgCU,UAAU,CAAC,OAAO,qBAAqB,CAAC;yCAwDxC,uBAAuB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE;wCAlKnB,kBAAkB;6CAKG,oBAAoB;oCAP7C,4BAA4B;kCAG9B,cAAc;6CAGH,4BAA4B;oCACZ,oBAAoB;6BAHpD,kBAAkB;iCANd,iDAAiD;6BAD7C,kBAAkB;4BAAlB,kBAAkB;AAoCpD;;;;;;GAMG;AACH,qEANW,MAAM,CAAC,KAAK,CAAC,kBACb,MAAM,CAAC,KAAK,CAAC,6BACb,MAAM,CAAC,KAAK,CAAC,gBACb,MAAM,kBACN,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxB;6CArEyC,gEAAgE"}
|
|
@@ -36,8 +36,6 @@ export type VaultFactoryCreatorFacet = {
|
|
|
36
36
|
addVaultType: AddVaultType;
|
|
37
37
|
getRewardAllocation: () => import("@agoric/zoe").Allocation;
|
|
38
38
|
makeCollectFeesInvitation: () => Promise<Invitation<string, never>>;
|
|
39
|
-
makeLiquidationWaker: () => import("@agoric/time").TimerWaker;
|
|
40
|
-
makePriceLockWaker: () => import("@agoric/time").TimerWaker;
|
|
41
39
|
};
|
|
42
40
|
/**
|
|
43
41
|
* Mint new debt `toMint` and transfer the `fee`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"sCAQa,OAAO,mBAAmB,EAAE,oBAAoB,CAAC,aAAa,CAAC;;
|
|
1
|
+
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"sCAQa,OAAO,mBAAmB,EAAE,oBAAoB,CAAC,aAAa,CAAC;;mBAc9D,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM;wBACxC,MAAM,UAAU;;;;;;;uBAKhB,OAAO,cAAc,EAAE,KAAK;;;;;wBAE5B,OAAO,cAAc,EAAE,KAAK;;;;;kBAE5B,OAAO,cAAc,EAAE,KAAK;;;;;aAE5B,OAAO,cAAc,EAAE,KAAK;eAE5B,MAAM,CAAC,KAAK,CAAC;;;;;;;8CAOhB,MAAM,qBACN,OAAO,UACP,uBAAuB,KACrB,OAAO,CAAC,YAAY,CAAC;;kBAKpB,YAAY;yBACZ,MAAM,OAAO,aAAa,EAAE,UAAU;+BACtC,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;;;;;;;6CAQ3C,OAAO,UACP,MAAM,CAAC,KAAK,CAAC,OACb,MAAM,CAAC,KAAK,CAAC,aACb,YAAY,EAAE,KACZ,IAAI;;;;;gCAMN,MAAM,YACN,OAAO,KACL,IAAI;;0BAKH,MAAM,OAAO,cAAc,EAAE,KAAK;gBAClC,MAAM,OAAO,cAAc,EAAE,KAAK;wBAClC,MAAM,OAAO,CAAC,OAAO,4BAA4B,EAAE,UAAU,CAAC;;;;;qBAC9D,MAAM,OAAO,cAAc,EAAE,KAAK;;;;;uBAElC,MAAM,YAAY;;;;;wBAElB,MAAM,YAAY;;sBAIlB,MAAM;;;;;oBAIN,YAAY;;;;qBACZ,YAAY;;;oBAKZ,MAAM,OAAO,kDAAkD,EAAE,oBAAoB;kBACrF,CACT,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,KACR,OAAO,aAAa,EAAE,QAAQ;oBACxB,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC;;;6BAKrC,MAAM,OAAO,CACtB,UAAU,CACd,IAAU,EACV;QAAQ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,WAAW,EAAE,OAAO,cAAc,EAAE,KAAK,CAAA;KAAE,CACnE,CACF;;;0BAKU,SAAS;;;;cACT,QAAQ;;;;aACR,QAAQ;;qCAKX,UAAU,eACV,SAAS,KACP,UAAU;;;;;;eAKT,SAAS;;;;;;;8BAET,SAAS;;oCAMT;IAAE,GAAG,EAAE,gBAAgB,GAAG;QAAE,eAAe,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE;kCAjIrC,mBAAmB;kCAKnB,cAAc;+BADjB,cAAc"}
|
|
@@ -14,7 +14,6 @@ export {};
|
|
|
14
14
|
* @import {CollateralManager} from './vaultManager.js'
|
|
15
15
|
* @import {AssetReserveLimitedCreatorFacet} from '../reserve/assetReserve.js'
|
|
16
16
|
* @import {AssetReservePublicFacet} from '../reserve/assetReserve.js'
|
|
17
|
-
* @import {AuctioneerPublicFacet} from '../auction/auctioneer.js'
|
|
18
17
|
* @import {Timestamp} from '@agoric/time'
|
|
19
18
|
* @import {RelativeTime} from '@agoric/time'
|
|
20
19
|
*/
|
|
@@ -53,8 +52,6 @@ export {};
|
|
|
53
52
|
* @property {AddVaultType} addVaultType
|
|
54
53
|
* @property {() => import('@agoric/zoe').Allocation} getRewardAllocation
|
|
55
54
|
* @property {() => Promise<Invitation<string, never>>} makeCollectFeesInvitation
|
|
56
|
-
* @property {() => import('@agoric/time').TimerWaker} makeLiquidationWaker
|
|
57
|
-
* @property {() => import('@agoric/time').TimerWaker} makePriceLockWaker
|
|
58
55
|
*/
|
|
59
56
|
|
|
60
57
|
/**
|