@agoric/inter-protocol 0.16.2-dev-286302a.0 → 0.16.2-dev-24f7f32.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 +16 -16
- package/src/proposals/add-auction.js +2 -2
- package/src/proposals/econ-behaviors.d.ts +44 -57
- package/src/proposals/econ-behaviors.d.ts.map +1 -1
- package/src/proposals/econ-behaviors.js +4 -4
- package/src/proposals/price-feed-proposal.js +1 -1
- package/src/proposals/upgrade-vaults.d.ts +35 -0
- package/src/proposals/upgrade-vaults.d.ts.map +1 -0
- package/src/proposals/upgrade-vaults.js +202 -0
- package/src/provisionPoolKit.d.ts +1 -4
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/vaultFactory/params.d.ts +5 -52
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +26 -6
- package/src/vaultFactory/types-ambient.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.d.ts +3 -1
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +18 -2
- package/src/vaultFactory/vaultFactory.d.ts +4 -3
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +13 -3
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +2 -2
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-24f7f32.0+24f7f32",
|
|
4
4
|
"description": "Core cryptoeconomy contracts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/Agoric/agoric-sdk#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@agoric/assert": "0.6.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-
|
|
34
|
+
"@agoric/assert": "0.6.1-dev-24f7f32.0+24f7f32",
|
|
35
|
+
"@agoric/ertp": "0.16.3-dev-24f7f32.0+24f7f32",
|
|
36
|
+
"@agoric/governance": "0.10.4-dev-24f7f32.0+24f7f32",
|
|
37
|
+
"@agoric/internal": "0.3.3-dev-24f7f32.0+24f7f32",
|
|
38
|
+
"@agoric/notifier": "0.6.3-dev-24f7f32.0+24f7f32",
|
|
39
|
+
"@agoric/store": "0.9.3-dev-24f7f32.0+24f7f32",
|
|
40
|
+
"@agoric/time": "0.3.3-dev-24f7f32.0+24f7f32",
|
|
41
|
+
"@agoric/vat-data": "0.5.3-dev-24f7f32.0+24f7f32",
|
|
42
|
+
"@agoric/vats": "0.15.2-dev-24f7f32.0+24f7f32",
|
|
43
|
+
"@agoric/zoe": "0.26.3-dev-24f7f32.0+24f7f32",
|
|
44
44
|
"@endo/captp": "^4.1.1",
|
|
45
45
|
"@endo/eventual-send": "^1.2.1",
|
|
46
46
|
"@endo/far": "^1.1.1",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"jessie.js": "^0.3.4"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@agoric/smart-wallet": "0.5.4-dev-
|
|
54
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
55
|
-
"@agoric/swingset-vat": "0.32.3-dev-
|
|
56
|
-
"@agoric/zone": "0.2.3-dev-
|
|
53
|
+
"@agoric/smart-wallet": "0.5.4-dev-24f7f32.0+24f7f32",
|
|
54
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-24f7f32.0+24f7f32",
|
|
55
|
+
"@agoric/swingset-vat": "0.32.3-dev-24f7f32.0+24f7f32",
|
|
56
|
+
"@agoric/zone": "0.2.3-dev-24f7f32.0+24f7f32",
|
|
57
57
|
"@endo/bundle-source": "^3.2.2",
|
|
58
58
|
"@endo/init": "^1.1.1",
|
|
59
59
|
"@endo/promise-kit": "^1.1.1",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"typeCoverage": {
|
|
86
86
|
"atLeast": 95.89
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "24f7f32495a6eda13fd75d18620ab9f7989b5d2e"
|
|
89
89
|
}
|
|
@@ -125,7 +125,6 @@ export const addAuction = async ({
|
|
|
125
125
|
),
|
|
126
126
|
);
|
|
127
127
|
|
|
128
|
-
// don't overwrite auctioneerKit yet
|
|
129
128
|
newAuctioneerKit.resolve(
|
|
130
129
|
harden({
|
|
131
130
|
label: 'auctioneer',
|
|
@@ -139,7 +138,8 @@ export const addAuction = async ({
|
|
|
139
138
|
governorAdminFacet: governorStartResult.adminFacet,
|
|
140
139
|
}),
|
|
141
140
|
);
|
|
142
|
-
// don't
|
|
141
|
+
// don't overwrite auctioneerKit or auction instance yet. Wait until
|
|
142
|
+
// upgrade-vault.js
|
|
143
143
|
};
|
|
144
144
|
|
|
145
145
|
export const ADD_AUCTION_MANIFEST = harden({
|
|
@@ -32,31 +32,6 @@ export function setupVaultFactoryArguments(consume: EconomyBootstrapPowers["cons
|
|
|
32
32
|
} | undefined;
|
|
33
33
|
} | undefined, minInitialDebt: Amount<"nat">): Promise<{
|
|
34
34
|
vaultFactoryTerms: {
|
|
35
|
-
auctioneerPublicFacet: globalThis.ERef<globalThis.GovernedPublicFacet<{
|
|
36
|
-
getElectorate: () => globalThis.Amount<"set">;
|
|
37
|
-
getStartFrequency: () => RelativeTime;
|
|
38
|
-
getClockStep: () => RelativeTime;
|
|
39
|
-
getStartingRate: () => bigint;
|
|
40
|
-
getLowestRate: () => bigint;
|
|
41
|
-
getDiscountStep: () => bigint;
|
|
42
|
-
getAuctionStartDelay: () => RelativeTime;
|
|
43
|
-
getPriceLockPeriod: () => RelativeTime;
|
|
44
|
-
makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
|
|
45
|
-
getSchedules(): {
|
|
46
|
-
liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
47
|
-
nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
48
|
-
};
|
|
49
|
-
getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
|
|
50
|
-
getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
|
|
51
|
-
getPublicTopics(brand: any): {
|
|
52
|
-
bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
|
|
53
|
-
} | {
|
|
54
|
-
schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
|
|
55
|
-
};
|
|
56
|
-
makeDepositInvitation: () => Promise<Invitation<string, {
|
|
57
|
-
goal: globalThis.Amount<"nat">;
|
|
58
|
-
}>>;
|
|
59
|
-
}>>;
|
|
60
35
|
priceAuthority: globalThis.ERef<import("@agoric/zoe/tools/types.js").PriceAuthority>;
|
|
61
36
|
reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
|
|
62
37
|
makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
|
|
@@ -94,6 +69,7 @@ export function setupVaultFactoryArguments(consume: EconomyBootstrapPowers["cons
|
|
|
94
69
|
bootstrapPaymentValue: bigint;
|
|
95
70
|
};
|
|
96
71
|
vaultFactoryPrivateArgs: {
|
|
72
|
+
auctioneerInstance: "Instance" & typeof import("@endo/pass-style").Remotable & import("@agoric/internal/src/tagged.js").Tag<"StartFunction", any>;
|
|
97
73
|
feeMintAccess: "feeMintAccess" & typeof import("@endo/pass-style").Remotable;
|
|
98
74
|
initialPoserInvitation: globalThis.Payment<"set"> & {
|
|
99
75
|
[OfferReturn]?: unknown;
|
|
@@ -130,23 +106,14 @@ export function startRewardDistributor({ consume: { chainTimerService, bankManag
|
|
|
130
106
|
export function startAuctioneer({ consume: { zoe, board, chainTimerService, priceAuthority, chainStorage, economicCommitteeCreatorFacet: electorateCreatorFacet, }, produce: { auctioneerKit }, instance: { produce: { auctioneer: auctionInstance }, consume: { reserve: reserveInstance }, }, installation: { consume: { auctioneer: auctionInstallation, contractGovernor: contractGovernorInstallation, }, }, issuer: { consume: { [Stable.symbol]: stableIssuerP }, }, }: EconomyBootstrapPowers, { auctionParams, }?: {
|
|
131
107
|
auctionParams?: any;
|
|
132
108
|
}): Promise<void>;
|
|
133
|
-
export type VaultFactoryPublicFacet = Awaited<ReturnType<(zcf: VaultFactoryZCF, privateArgs:
|
|
134
|
-
/**
|
|
135
|
-
* @file A collection of productions, each of which declares inputs and outputs.
|
|
136
|
-
* Each function is passed a set of powers for reading from and writing to the
|
|
137
|
-
* vat config.
|
|
138
|
-
*
|
|
139
|
-
* Each of the things they produce they're responsible for resolving or setting.
|
|
140
|
-
*
|
|
141
|
-
* In production called by @agoric/vats to bootstrap.
|
|
142
|
-
*/
|
|
143
|
-
/** @param {EconomyBootstrapPowers} powers */
|
|
144
|
-
{
|
|
109
|
+
export type VaultFactoryPublicFacet = Awaited<ReturnType<(zcf: VaultFactoryZCF, privateArgs: {
|
|
145
110
|
feeMintAccess: FeeMintAccess;
|
|
146
111
|
initialPoserInvitation: Invitation;
|
|
147
112
|
initialShortfallInvitation: Invitation;
|
|
148
113
|
storageNode: ERef<StorageNode>;
|
|
149
114
|
marshaller: ERef<Marshaller>;
|
|
115
|
+
auctioneerInstance: Instance;
|
|
116
|
+
managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
|
|
150
117
|
}, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
|
|
151
118
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
152
119
|
getParamMgrRetriever: () => {
|
|
@@ -237,7 +204,11 @@ export type VaultFactoryPublicFacet = Awaited<ReturnType<(zcf: VaultFactoryZCF,
|
|
|
237
204
|
getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
|
|
238
205
|
getCompoundedInterest(): Ratio;
|
|
239
206
|
getPublicTopics(): {
|
|
240
|
-
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
|
|
207
|
+
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>; /**
|
|
208
|
+
* @type {StartedInstanceKit<
|
|
209
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
210
|
+
* >}
|
|
211
|
+
*/
|
|
241
212
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
|
|
242
213
|
};
|
|
243
214
|
}>;
|
|
@@ -285,6 +256,7 @@ export type VaultFactoryPublicFacet = Awaited<ReturnType<(zcf: VaultFactoryZCF,
|
|
|
285
256
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
286
257
|
wake: (timestamp: any) => any;
|
|
287
258
|
}>;
|
|
259
|
+
setShortfallReporter(newInvitation: any): Promise<void>;
|
|
288
260
|
}>;
|
|
289
261
|
getGovernedApis(): globalThis.ERef<globalThis.GovernedApis>;
|
|
290
262
|
getGovernedApiNames(): never[];
|
|
@@ -325,7 +297,11 @@ export type VaultFactoryPublicFacet = Awaited<ReturnType<(zcf: VaultFactoryZCF,
|
|
|
325
297
|
getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
|
|
326
298
|
getCompoundedInterest(): Ratio;
|
|
327
299
|
getPublicTopics(): {
|
|
328
|
-
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
|
|
300
|
+
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>; /**
|
|
301
|
+
* @type {StartedInstanceKit<
|
|
302
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
303
|
+
* >}
|
|
304
|
+
*/
|
|
329
305
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
|
|
330
306
|
};
|
|
331
307
|
}>;
|
|
@@ -491,23 +467,14 @@ export type EconomyBootstrapSpace = {
|
|
|
491
467
|
};
|
|
492
468
|
}>>;
|
|
493
469
|
}>>>;
|
|
494
|
-
vaultFactoryKit: Promise<globalThis.GovernanceFacetKit<(zcf: VaultFactoryZCF, privateArgs:
|
|
495
|
-
/**
|
|
496
|
-
* @file A collection of productions, each of which declares inputs and outputs.
|
|
497
|
-
* Each function is passed a set of powers for reading from and writing to the
|
|
498
|
-
* vat config.
|
|
499
|
-
*
|
|
500
|
-
* Each of the things they produce they're responsible for resolving or setting.
|
|
501
|
-
*
|
|
502
|
-
* In production called by @agoric/vats to bootstrap.
|
|
503
|
-
*/
|
|
504
|
-
/** @param {EconomyBootstrapPowers} powers */
|
|
505
|
-
{
|
|
470
|
+
vaultFactoryKit: Promise<globalThis.GovernanceFacetKit<(zcf: VaultFactoryZCF, privateArgs: {
|
|
506
471
|
feeMintAccess: FeeMintAccess;
|
|
507
472
|
initialPoserInvitation: Invitation;
|
|
508
473
|
initialShortfallInvitation: Invitation;
|
|
509
474
|
storageNode: ERef<StorageNode>;
|
|
510
475
|
marshaller: ERef<Marshaller>;
|
|
476
|
+
auctioneerInstance: Instance;
|
|
477
|
+
managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
|
|
511
478
|
}, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
|
|
512
479
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
513
480
|
getParamMgrRetriever: () => {
|
|
@@ -598,7 +565,11 @@ export type EconomyBootstrapSpace = {
|
|
|
598
565
|
getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
|
|
599
566
|
getCompoundedInterest(): Ratio;
|
|
600
567
|
getPublicTopics(): {
|
|
601
|
-
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
|
|
568
|
+
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>; /**
|
|
569
|
+
* @type {StartedInstanceKit<
|
|
570
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
571
|
+
* >}
|
|
572
|
+
*/
|
|
602
573
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
|
|
603
574
|
};
|
|
604
575
|
}>;
|
|
@@ -646,6 +617,7 @@ export type EconomyBootstrapSpace = {
|
|
|
646
617
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
647
618
|
wake: (timestamp: any) => any;
|
|
648
619
|
}>;
|
|
620
|
+
setShortfallReporter(newInvitation: any): Promise<void>;
|
|
649
621
|
}>;
|
|
650
622
|
getGovernedApis(): globalThis.ERef<globalThis.GovernedApis>;
|
|
651
623
|
getGovernedApiNames(): never[];
|
|
@@ -686,7 +658,11 @@ export type EconomyBootstrapSpace = {
|
|
|
686
658
|
getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
|
|
687
659
|
getCompoundedInterest(): Ratio;
|
|
688
660
|
getPublicTopics(): {
|
|
689
|
-
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
|
|
661
|
+
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>; /**
|
|
662
|
+
* @type {StartedInstanceKit<
|
|
663
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
664
|
+
* >}
|
|
665
|
+
*/
|
|
690
666
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
|
|
691
667
|
};
|
|
692
668
|
}>;
|
|
@@ -705,7 +681,7 @@ export type EconomyBootstrapSpace = {
|
|
|
705
681
|
}>;
|
|
706
682
|
}>>>;
|
|
707
683
|
auctioneerKit: Promise<AuctioneerKit>;
|
|
708
|
-
newAuctioneerKit: Promise<AuctioneerKit>;
|
|
684
|
+
newAuctioneerKit: Promise<AuctioneerKit | undefined>;
|
|
709
685
|
minInitialDebt: Promise<bigint>;
|
|
710
686
|
};
|
|
711
687
|
produce: {
|
|
@@ -796,6 +772,8 @@ export type EconomyBootstrapSpace = {
|
|
|
796
772
|
initialShortfallInvitation: Invitation;
|
|
797
773
|
storageNode: ERef<StorageNode>;
|
|
798
774
|
marshaller: ERef<Marshaller>;
|
|
775
|
+
auctioneerInstance: Instance;
|
|
776
|
+
managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
|
|
799
777
|
}, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
|
|
800
778
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
801
779
|
getParamMgrRetriever: () => {
|
|
@@ -886,7 +864,11 @@ export type EconomyBootstrapSpace = {
|
|
|
886
864
|
getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
|
|
887
865
|
getCompoundedInterest(): Ratio;
|
|
888
866
|
getPublicTopics(): {
|
|
889
|
-
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
|
|
867
|
+
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>; /**
|
|
868
|
+
* @type {StartedInstanceKit<
|
|
869
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
870
|
+
* >}
|
|
871
|
+
*/
|
|
890
872
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
|
|
891
873
|
};
|
|
892
874
|
}>;
|
|
@@ -934,6 +916,7 @@ export type EconomyBootstrapSpace = {
|
|
|
934
916
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
935
917
|
wake: (timestamp: any) => any;
|
|
936
918
|
}>;
|
|
919
|
+
setShortfallReporter(newInvitation: any): Promise<void>;
|
|
937
920
|
}>;
|
|
938
921
|
getGovernedApis(): globalThis.ERef<globalThis.GovernedApis>;
|
|
939
922
|
getGovernedApiNames(): never[];
|
|
@@ -974,7 +957,11 @@ export type EconomyBootstrapSpace = {
|
|
|
974
957
|
getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
|
|
975
958
|
getCompoundedInterest(): Ratio;
|
|
976
959
|
getPublicTopics(): {
|
|
977
|
-
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
|
|
960
|
+
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>; /**
|
|
961
|
+
* @type {StartedInstanceKit<
|
|
962
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
963
|
+
* >}
|
|
964
|
+
*/
|
|
978
965
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
|
|
979
966
|
};
|
|
980
967
|
}>;
|
|
@@ -993,7 +980,7 @@ export type EconomyBootstrapSpace = {
|
|
|
993
980
|
}>;
|
|
994
981
|
}>>>;
|
|
995
982
|
auctioneerKit: Producer<AuctioneerKit>;
|
|
996
|
-
newAuctioneerKit: Producer<AuctioneerKit>;
|
|
983
|
+
newAuctioneerKit: Producer<AuctioneerKit | undefined>;
|
|
997
984
|
minInitialDebt: Producer<bigint>;
|
|
998
985
|
};
|
|
999
986
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"econ-behaviors.d.ts","sourceRoot":"","sources":["econ-behaviors.js"],"names":[],"mappings":"AAmBA,qCAAsC;AACtC,sCAA0C;AAC1C,qCAAsD;AACtD,sCAAqD;AAuE9C,mcADK,sBAAsB,8BAxE3B,IAAI,mBAAyB,GAAE;IAAE,cACtB,CAAE,2BAA2B,CAAC,CAAC;CAChD,CAAK,eAAiB;IAAC,eAAoB,aAEzC,CAAC;IAAA,wBAA6B,UAAW,CAAC;IAAA,YAAiB,KAAM,UAC/D,CAAC,CAAC;IAAA,aAAkB,KAAM,WAAW,CAAC,CAAC;CAAK;;
|
|
1
|
+
{"version":3,"file":"econ-behaviors.d.ts","sourceRoot":"","sources":["econ-behaviors.js"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ export const SECONDS_PER_WEEK = 7n * SECONDS_PER_DAY;
|
|
|
64
64
|
* >;
|
|
65
65
|
* vaultFactoryKit: GovernanceFacetKit<VFStart>;
|
|
66
66
|
* auctioneerKit: AuctioneerKit;
|
|
67
|
-
* newAuctioneerKit: AuctioneerKit;
|
|
67
|
+
* newAuctioneerKit: AuctioneerKit | undefined;
|
|
68
68
|
* minInitialDebt: NatValue;
|
|
69
69
|
* }>} EconomyBootstrapSpace
|
|
70
70
|
*/
|
|
@@ -232,14 +232,14 @@ export const setupVaultFactoryArguments = async (
|
|
|
232
232
|
initialShortfallInvitation,
|
|
233
233
|
shortfallInvitationAmount,
|
|
234
234
|
feeMintAccess,
|
|
235
|
-
|
|
235
|
+
auctioneerInstance,
|
|
236
236
|
] = await Promise.all([
|
|
237
237
|
poserInvitationP,
|
|
238
238
|
E(E(zoe).getInvitationIssuer()).getAmountOf(poserInvitationP),
|
|
239
239
|
shortfallInvitationP,
|
|
240
240
|
E(E(zoe).getInvitationIssuer()).getAmountOf(shortfallInvitationP),
|
|
241
241
|
feeMintAccessP,
|
|
242
|
-
E.get(auctioneerKit).
|
|
242
|
+
E.get(auctioneerKit).instance,
|
|
243
243
|
]);
|
|
244
244
|
|
|
245
245
|
const reservePublicFacet = await E.get(reserveKit).publicFacet;
|
|
@@ -248,7 +248,6 @@ export const setupVaultFactoryArguments = async (
|
|
|
248
248
|
|
|
249
249
|
const vaultFactoryTerms = makeGovernedVFTerms({
|
|
250
250
|
priceAuthority,
|
|
251
|
-
auctioneerPublicFacet,
|
|
252
251
|
reservePublicFacet,
|
|
253
252
|
interestTiming,
|
|
254
253
|
timer: chainTimerService,
|
|
@@ -260,6 +259,7 @@ export const setupVaultFactoryArguments = async (
|
|
|
260
259
|
});
|
|
261
260
|
|
|
262
261
|
const vaultFactoryPrivateArgs = {
|
|
262
|
+
auctioneerInstance,
|
|
263
263
|
feeMintAccess,
|
|
264
264
|
initialPoserInvitation,
|
|
265
265
|
initialShortfallInvitation,
|
|
@@ -147,7 +147,7 @@ export const createPriceFeed = async (
|
|
|
147
147
|
),
|
|
148
148
|
err =>
|
|
149
149
|
console.error(
|
|
150
|
-
`🚨 failed to update priceAggregator
|
|
150
|
+
`🚨 failed to update priceAggregator installation for ${AGORIC_INSTANCE_NAME}`,
|
|
151
151
|
err,
|
|
152
152
|
),
|
|
153
153
|
);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function upgradeVaults(powers: import("../../src/proposals/econ-behaviors").EconomyBootstrapPowers, { options }: {
|
|
2
|
+
options: {
|
|
3
|
+
vaultsRef: {
|
|
4
|
+
bundleID: string;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
export function getManifestForUpgradeVaults(_ign: object, vaultUpgradeOptions: any): Promise<{
|
|
9
|
+
manifest: {
|
|
10
|
+
[x: string]: {
|
|
11
|
+
consume: {
|
|
12
|
+
agoricNamesAdmin: string;
|
|
13
|
+
newAuctioneerKit: string;
|
|
14
|
+
economicCommitteeCreatorFacet: string;
|
|
15
|
+
priceAuthority: string;
|
|
16
|
+
reserveKit: string;
|
|
17
|
+
vaultFactoryKit: string;
|
|
18
|
+
board: string;
|
|
19
|
+
zoe: string;
|
|
20
|
+
};
|
|
21
|
+
produce: {
|
|
22
|
+
auctioneerKit: string;
|
|
23
|
+
newAuctioneerKit: string;
|
|
24
|
+
};
|
|
25
|
+
instance: {
|
|
26
|
+
produce: {
|
|
27
|
+
auctioneer: string;
|
|
28
|
+
newAuctioneerKit: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
options: any;
|
|
34
|
+
}>;
|
|
35
|
+
//# sourceMappingURL=upgrade-vaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-vaults.d.ts","sourceRoot":"","sources":["upgrade-vaults.js"],"names":[],"mappings":"AA8BO,sCAHI,OAAO,oCAAoC,EAAE,sBAAsB,eACnE;IAAE,OAAO,EAAE;QAAE,SAAS,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,iBA+I1D;AASM,kDAHI,MAAM,uBACN,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAuBZ"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { E } from '@endo/far';
|
|
2
|
+
import { makeNotifierFromAsyncIterable } from '@agoric/notifier';
|
|
3
|
+
import { AmountMath } from '@agoric/ertp/src/index.js';
|
|
4
|
+
import { makeTracer } from '@agoric/internal/src/index.js';
|
|
5
|
+
|
|
6
|
+
const trace = makeTracer('upgrade Vaults proposal');
|
|
7
|
+
|
|
8
|
+
// stand-in for Promise.any() which isn't available at this point.
|
|
9
|
+
const any = promises =>
|
|
10
|
+
new Promise((resolve, reject) => {
|
|
11
|
+
for (const promise of promises) {
|
|
12
|
+
promise.then(resolve);
|
|
13
|
+
}
|
|
14
|
+
void Promise.allSettled(promises).then(results => {
|
|
15
|
+
const rejects = results.filter(({ status }) => status === 'rejected');
|
|
16
|
+
if (rejects.length === results.length) {
|
|
17
|
+
// @ts-expect-error TypeScript doesn't know enough
|
|
18
|
+
const messages = rejects.map(({ message }) => message);
|
|
19
|
+
const aggregate = new Error(messages.join(';'));
|
|
20
|
+
// @ts-expect-error TypeScript doesn't know enough
|
|
21
|
+
aggregate.errors = rejects.map(({ reason }) => reason);
|
|
22
|
+
reject(aggregate);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @param {import('../../src/proposals/econ-behaviors').EconomyBootstrapPowers} powers
|
|
29
|
+
* @param {{ options: { vaultsRef: { bundleID: string } } }} options
|
|
30
|
+
*/
|
|
31
|
+
export const upgradeVaults = async (powers, { options }) => {
|
|
32
|
+
const {
|
|
33
|
+
consume: {
|
|
34
|
+
agoricNamesAdmin,
|
|
35
|
+
newAuctioneerKit: auctioneerKitP,
|
|
36
|
+
priceAuthority,
|
|
37
|
+
vaultFactoryKit,
|
|
38
|
+
zoe,
|
|
39
|
+
economicCommitteeCreatorFacet: electorateCreatorFacet,
|
|
40
|
+
reserveKit,
|
|
41
|
+
},
|
|
42
|
+
produce: {
|
|
43
|
+
auctioneerKit: auctioneerKitProducer,
|
|
44
|
+
newAuctioneerKit: tempAuctioneerKit,
|
|
45
|
+
},
|
|
46
|
+
instance: {
|
|
47
|
+
produce: { auctioneer: auctioneerProducer },
|
|
48
|
+
},
|
|
49
|
+
} = powers;
|
|
50
|
+
const { vaultsRef } = options;
|
|
51
|
+
const kit = await vaultFactoryKit;
|
|
52
|
+
const auctioneerKit = await auctioneerKitP;
|
|
53
|
+
const { instance: directorInstance } = kit;
|
|
54
|
+
const allBrands = await E(zoe).getBrands(directorInstance);
|
|
55
|
+
const { Minted: istBrand, ...vaultBrands } = allBrands;
|
|
56
|
+
|
|
57
|
+
const bundleID = vaultsRef.bundleID;
|
|
58
|
+
console.log(`upgradeVaults: bundleId`, bundleID);
|
|
59
|
+
/**
|
|
60
|
+
* @type {Promise<
|
|
61
|
+
* Installation<import('../../src/vaultFactory/vaultFactory.js')['start']>
|
|
62
|
+
* >}
|
|
63
|
+
*/
|
|
64
|
+
let installationP;
|
|
65
|
+
await null;
|
|
66
|
+
if (vaultsRef) {
|
|
67
|
+
if (bundleID) {
|
|
68
|
+
installationP = E(zoe).installBundleID(bundleID);
|
|
69
|
+
await E.when(
|
|
70
|
+
installationP,
|
|
71
|
+
installation =>
|
|
72
|
+
E(E(agoricNamesAdmin).lookupAdmin('installation')).update(
|
|
73
|
+
'vaultFactory',
|
|
74
|
+
installation,
|
|
75
|
+
),
|
|
76
|
+
err =>
|
|
77
|
+
console.error(`🚨 failed to update vaultFactory installation`, err),
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const readManagerParams = async () => {
|
|
83
|
+
const { publicFacet: directorPF } = kit;
|
|
84
|
+
|
|
85
|
+
await null;
|
|
86
|
+
|
|
87
|
+
const params = {};
|
|
88
|
+
for (const kwd of Object.keys(vaultBrands)) {
|
|
89
|
+
const collateralBrand = vaultBrands[kwd];
|
|
90
|
+
const subscription = E(directorPF).getSubscription({
|
|
91
|
+
collateralBrand,
|
|
92
|
+
});
|
|
93
|
+
const notifier = makeNotifierFromAsyncIterable(subscription);
|
|
94
|
+
let { value, updateCount } = await notifier.getUpdateSince(0n);
|
|
95
|
+
// @ts-expect-error It's an amount.
|
|
96
|
+
while (AmountMath.isEmpty(value.current.DebtLimit.value)) {
|
|
97
|
+
({ value, updateCount } = await notifier.getUpdateSince(updateCount));
|
|
98
|
+
trace(`debtLimit was empty, retried`, value.current.DebtLimit.value);
|
|
99
|
+
}
|
|
100
|
+
trace(kwd, 'params at', updateCount, 'are', value.current);
|
|
101
|
+
params[kwd] = harden({
|
|
102
|
+
brand: collateralBrand,
|
|
103
|
+
debtLimit: value.current.DebtLimit.value,
|
|
104
|
+
interestRate: value.current.InterestRate.value,
|
|
105
|
+
liquidationMargin: value.current.LiquidationMargin.value,
|
|
106
|
+
liquidationPadding: value.current.LiquidationPadding.value,
|
|
107
|
+
liquidationPenalty: value.current.LiquidationPenalty.value,
|
|
108
|
+
mintFee: value.current.MintFee.value,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return params;
|
|
112
|
+
};
|
|
113
|
+
const managerParamValues = await readManagerParams();
|
|
114
|
+
|
|
115
|
+
// upgrade the vaultFactory
|
|
116
|
+
const upgradeVaultFactory = async () => {
|
|
117
|
+
// @ts-expect-error cast XXX privateArgs missing from type
|
|
118
|
+
const { privateArgs } = kit;
|
|
119
|
+
|
|
120
|
+
const shortfallInvitation = await E(
|
|
121
|
+
E.get(reserveKit).creatorFacet,
|
|
122
|
+
).makeShortfallReportingInvitation();
|
|
123
|
+
|
|
124
|
+
const poserInvitation = await E(
|
|
125
|
+
electorateCreatorFacet,
|
|
126
|
+
).getPoserInvitation();
|
|
127
|
+
/** @type {import('../../src/vaultFactory/vaultFactory').VaultFactoryContract['privateArgs']} */
|
|
128
|
+
const newPrivateArgs = harden({
|
|
129
|
+
...privateArgs,
|
|
130
|
+
// @ts-expect-error It has a value until reset after the upgrade
|
|
131
|
+
auctioneerInstance: auctioneerKit.instance,
|
|
132
|
+
initialPoserInvitation: poserInvitation,
|
|
133
|
+
initialShortfallInvitation: shortfallInvitation,
|
|
134
|
+
managerParams: managerParamValues,
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
const upgradeResult = await E(kit.adminFacet).upgradeContract(
|
|
138
|
+
bundleID,
|
|
139
|
+
newPrivateArgs,
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
console.log('upgraded vaultFactory.', upgradeResult);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
// Wait for at least one new price feed to be ready before upgrading Vaults
|
|
146
|
+
void E.when(
|
|
147
|
+
any(
|
|
148
|
+
Object.values(vaultBrands).map(brand =>
|
|
149
|
+
E(priceAuthority).quoteGiven(AmountMath.make(brand, 10n), istBrand),
|
|
150
|
+
),
|
|
151
|
+
),
|
|
152
|
+
async price => {
|
|
153
|
+
trace(`upgrading after delay`, price);
|
|
154
|
+
await upgradeVaultFactory();
|
|
155
|
+
auctioneerKitProducer.reset();
|
|
156
|
+
// @ts-expect-error auctioneerKit is non-null except between auctioneerKitProducer.reset() and auctioneerKitProducer.resolve()
|
|
157
|
+
auctioneerKitProducer.resolve(auctioneerKit);
|
|
158
|
+
auctioneerProducer.reset();
|
|
159
|
+
// @ts-expect-error auctioneerKit is non-null except between auctioneerKitProducer.reset() and auctioneerKitProducer.resolve()
|
|
160
|
+
auctioneerProducer.resolve(auctioneerKit.instance);
|
|
161
|
+
// We wanted it to be valid for only a short while.
|
|
162
|
+
tempAuctioneerKit.reset();
|
|
163
|
+
await E(E(agoricNamesAdmin).lookupAdmin('instance')).update(
|
|
164
|
+
'auctioneer',
|
|
165
|
+
// @ts-expect-error auctioneerKit is non-null except between auctioneerKitProducer.reset() and auctioneerKitProducer.resolve()
|
|
166
|
+
auctioneerKit.instance,
|
|
167
|
+
);
|
|
168
|
+
},
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
console.log(`upgradeVaults scheduled; waiting for priceFeeds`);
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
const uV = 'upgradeVaults';
|
|
175
|
+
/**
|
|
176
|
+
* Return the manifest, installations, and options for upgrading Vaults.
|
|
177
|
+
*
|
|
178
|
+
* @param {object} _ign
|
|
179
|
+
* @param {any} vaultUpgradeOptions
|
|
180
|
+
*/
|
|
181
|
+
export const getManifestForUpgradeVaults = async (
|
|
182
|
+
_ign,
|
|
183
|
+
vaultUpgradeOptions,
|
|
184
|
+
) => ({
|
|
185
|
+
manifest: {
|
|
186
|
+
[upgradeVaults.name]: {
|
|
187
|
+
consume: {
|
|
188
|
+
agoricNamesAdmin: uV,
|
|
189
|
+
newAuctioneerKit: uV,
|
|
190
|
+
economicCommitteeCreatorFacet: uV,
|
|
191
|
+
priceAuthority: uV,
|
|
192
|
+
reserveKit: uV,
|
|
193
|
+
vaultFactoryKit: uV,
|
|
194
|
+
board: uV,
|
|
195
|
+
zoe: uV,
|
|
196
|
+
},
|
|
197
|
+
produce: { auctioneerKit: uV, newAuctioneerKit: uV },
|
|
198
|
+
instance: { produce: { auctioneer: uV, newAuctioneerKit: uV } },
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
options: { ...vaultUpgradeOptions },
|
|
202
|
+
});
|
|
@@ -303,10 +303,7 @@ export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance
|
|
|
303
303
|
makeRestoreMetricsInvitation(): Promise<Invitation<void, Omit<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification, "anchorPoolBalance">>>;
|
|
304
304
|
}>;
|
|
305
305
|
getGovernedApis: () => globalThis.GovernedApis;
|
|
306
|
-
getGovernedApiNames: () => string[];
|
|
307
|
-
* @param {string} address
|
|
308
|
-
* @returns {boolean} isRevive
|
|
309
|
-
*/
|
|
306
|
+
getGovernedApiNames: () => string[];
|
|
310
307
|
setOfferFilter: (strings: any) => Promise<void>;
|
|
311
308
|
}>;
|
|
312
309
|
publicFacet: import("@endo/exo").Guarded<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"AA+DO,yFAHiC,OAAO,CAAC,IAAI,CAAC,iBAC1C,MAAM,IAAI,0DAGP,0BAA0B;;;;GA+BvC;AAWM,iDARI,OAAO,kBAAkB,EAAE,OAAO;qBAEvB,OAAO,6CAA6C,EAAE,eAAe;YAC9E,GAAG;;SAEN,GAAG;;eAwVA,KAAK,CAAC,KAAK,CAAC;;;;QAxQjB,qCAAqC;4CAAzB,MAAM,EAAE;;YA+CpB,8BAA8B;kCAAlB,MAAM;kDA2O8gsB,OAAO,eAAe,EAAE,OAAO,CAAC,SAAQ,IAAK,CAAC;;qCAA//R,OAAO;;;4CAAy1I,SAAS;0CAA+tH,OAAO;;;;;;;;;;;;;;;;;;0EAA05B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;0EAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;0EAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;YAtN/jsB;;;eAGG;+BAFQ,MAAM,GACJ,OAAO;;QA9DpB,gDAAgD;6BAApC,0BAA0B;;;;;;QA6BtC;;;WAGG;uBAFQ,KAAK,YACL,WAAW;;;QAQtB,8BAA8B;8BAAlB,MAAM;sEA2OsisB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;sEAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;sEAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;sEAAP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;QAtN/jsB;;;WAGG;2BAFQ,MAAM,GACJ,OAAO;;;;;;;QAgDpB,mCAAmC;;QA0BnC;;;WAGG;;;;QA2EH;;;;WAIG;wEADQ,WAAW;;;;;;;IAwD7B;0BAhbY,OAAO,qCAAqC,EAAE,QAAQ,OAoElB,IAAI,gBAAsB;IAAC,eACvE,OAAQ,CAAC;IAAA,eACI,OAAQ,CAAC;IAAA,WAAkB,QACtC,CAAC;CACR,CAAC,GAAE;IAAG,aAEE,MAAO,KAAK,CAAC,CAAC;IAAA,iBACjB,KACL,CAAC;CAAO,CAAK,eAAiB;IAAC,eAC1B,aACO,CAAC;IAAC,wBAER,UAAW,CAAC;IAAA,aAAmB,WAAW,CAAC;IAAA,YAC1C,UACF,CAAC;CAAK
|
|
1
|
+
{"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"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"}
|
|
@@ -26,32 +26,7 @@ export function makeVaultParamManager(publisherKit: import("@agoric/notifier").S
|
|
|
26
26
|
}>;
|
|
27
27
|
/** @typedef {ReturnType<typeof makeVaultParamManager>} VaultParamManager */
|
|
28
28
|
export const vaultParamPattern: import("@endo/patterns").Matcher;
|
|
29
|
-
export function makeGovernedTerms({
|
|
30
|
-
auctioneerPublicFacet: globalThis.ERef<globalThis.GovernedPublicFacet<{
|
|
31
|
-
getElectorate: () => globalThis.Amount<"set">;
|
|
32
|
-
getStartFrequency: () => RelativeTime;
|
|
33
|
-
getClockStep: () => RelativeTime;
|
|
34
|
-
getStartingRate: () => bigint;
|
|
35
|
-
getLowestRate: () => bigint;
|
|
36
|
-
getDiscountStep: () => bigint;
|
|
37
|
-
getAuctionStartDelay: () => RelativeTime;
|
|
38
|
-
getPriceLockPeriod: () => RelativeTime;
|
|
39
|
-
makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
|
|
40
|
-
getSchedules(): {
|
|
41
|
-
liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
42
|
-
nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
43
|
-
};
|
|
44
|
-
getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
|
|
45
|
-
getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
|
|
46
|
-
getPublicTopics(brand: any): {
|
|
47
|
-
bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
|
|
48
|
-
} | {
|
|
49
|
-
schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
|
|
50
|
-
};
|
|
51
|
-
makeDepositInvitation: () => Promise<Invitation<string, {
|
|
52
|
-
goal: globalThis.Amount<"nat">;
|
|
53
|
-
}>>;
|
|
54
|
-
}>>;
|
|
29
|
+
export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationAmount, interestTiming, minInitialDebt, priceAuthority, reservePublicFacet, timer, shortfallInvitationAmount, referencedUi, }: {
|
|
55
30
|
electorateInvitationAmount: Amount<"set">;
|
|
56
31
|
minInitialDebt: Amount<"nat">;
|
|
57
32
|
bootstrapPaymentValue: bigint;
|
|
@@ -67,31 +42,6 @@ export function makeGovernedTerms({ auctioneerPublicFacet, bootstrapPaymentValue
|
|
|
67
42
|
shortfallInvitationAmount: Amount<"set">;
|
|
68
43
|
referencedUi?: string;
|
|
69
44
|
}): {
|
|
70
|
-
auctioneerPublicFacet: globalThis.ERef<globalThis.GovernedPublicFacet<{
|
|
71
|
-
getElectorate: () => globalThis.Amount<"set">;
|
|
72
|
-
getStartFrequency: () => RelativeTime;
|
|
73
|
-
getClockStep: () => RelativeTime;
|
|
74
|
-
getStartingRate: () => bigint;
|
|
75
|
-
getLowestRate: () => bigint;
|
|
76
|
-
getDiscountStep: () => bigint;
|
|
77
|
-
getAuctionStartDelay: () => RelativeTime;
|
|
78
|
-
getPriceLockPeriod: () => RelativeTime;
|
|
79
|
-
makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
|
|
80
|
-
getSchedules(): {
|
|
81
|
-
liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
82
|
-
nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
83
|
-
};
|
|
84
|
-
getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
|
|
85
|
-
getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
|
|
86
|
-
getPublicTopics(brand: any): {
|
|
87
|
-
bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
|
|
88
|
-
} | {
|
|
89
|
-
schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
|
|
90
|
-
};
|
|
91
|
-
makeDepositInvitation: () => Promise<Invitation<string, {
|
|
92
|
-
goal: globalThis.Amount<"nat">;
|
|
93
|
-
}>>;
|
|
94
|
-
}>>;
|
|
95
45
|
priceAuthority: globalThis.ERef<PriceAuthority>;
|
|
96
46
|
reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
|
|
97
47
|
makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
|
|
@@ -128,7 +78,7 @@ export function makeGovernedTerms({ auctioneerPublicFacet, bootstrapPaymentValue
|
|
|
128
78
|
};
|
|
129
79
|
bootstrapPaymentValue: bigint;
|
|
130
80
|
};
|
|
131
|
-
export function provideVaultParamManagers(baggage: import("@agoric/vat-data").Baggage, marshaller: ERef<Marshaller>): {
|
|
81
|
+
export function provideVaultParamManagers(baggage: import("@agoric/vat-data").Baggage, marshaller: ERef<Marshaller>, managerParamOverrides: Record<string, VaultManagerParamOverrides>): {
|
|
132
82
|
/**
|
|
133
83
|
* @param {Brand} brand
|
|
134
84
|
* @param {StorageNode} storageNode
|
|
@@ -154,6 +104,9 @@ export function provideVaultParamManagers(baggage: import("@agoric/vat-data").Ba
|
|
|
154
104
|
};
|
|
155
105
|
export type VaultDirectorParams = import("@agoric/governance/src/contractGovernance/typedParamManager.js").ParamTypesMapFromRecord<ReturnType<typeof makeVaultDirectorParams>>;
|
|
156
106
|
export type VaultParamManager = ReturnType<typeof makeVaultParamManager>;
|
|
107
|
+
export type VaultManagerParamOverrides = VaultManagerParamValues & {
|
|
108
|
+
brand: Brand;
|
|
109
|
+
};
|
|
157
110
|
import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
|
|
158
111
|
/**
|
|
159
112
|
* @param {Amount<'set'>} electorateInvitationAmount
|
|
@@ -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":"AAiBA,8HAA8H;AAE9H,mDAAoD;AACpD,qDAAsD;AAEtD,yCAA0C;AAC1C,yDAA0D;AAC1D,2DAA4D;AAC5D,2DAA4D;AAC5D,+CAAgD;AAChD,qCAAsC;AACtC,oDAAqD;AACrD,6DAA8D;AAC9D,+CAAgD;;;;;;;AAkEzC,oDAHI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,oGAC1E,uBAAuB;;;;;;;GAoB9B;AACJ,4EAA4E;AAE5E,iEAYE;AAeK;gCAX0B,MAAM,CAAC,KAAK,CAAC;oBACzB,MAAM,CAAC,KAAK,CAAC;2BACN,MAAM;;WAEtB,IAAI,CAAC,OAAO,cAAc,EAAE,YAAY,CAAC;;;;;;;oBAEhC,cAAc;+BACH,MAAM,CAAC,KAAK,CAAC;mBACzB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BzB;AAeM,mDAJI,OAAO,kBAAkB,EAAE,OAAO,cAClC,IAAI,CAAC,UAAU,CAAC,yBAChB,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC;IA+CjD;;;;OAIG;2BAHQ,KAAK,eACL,WAAW,sBACX,uBAAuB;;;;;;;;IAOlC,2BAA2B;eAAf,KAAK;;;;;;;;EAKpB;kCAhKY,OAAO,gEAAgE,EAAE,uBAAuB,CAC5G,UAAgB,CAAC,OAAO,uBAAuB,CAAC,CAC3C;gCA8BQ,UAAU,CAAC,OAAO,qBAAqB,CAAC;yCAwDxC,uBAAuB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE;oCA1JsC,4BAA4B;AAyB1H;;;;;;GAMG;AACH,qEANW,MAAM,CAAC,KAAK,CAAC,kBACb,MAAM,CAAC,KAAK,CAAC,6BACb,MAAM,CAAC,KAAK,CAAC,gBACb,MAAM,kBACN,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxB"}
|
|
@@ -12,6 +12,7 @@ import { M, makeScalarMapStore } from '@agoric/store';
|
|
|
12
12
|
import { TimeMath } from '@agoric/time';
|
|
13
13
|
import { provideDurableMapStore } from '@agoric/vat-data';
|
|
14
14
|
import { subtractRatios } from '@agoric/zoe/src/contractSupport/ratio.js';
|
|
15
|
+
import { makeTracer } from '@agoric/internal/src/index.js';
|
|
15
16
|
import { amountPattern, ratioPattern } from '../contractSupport.js';
|
|
16
17
|
|
|
17
18
|
/** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */
|
|
@@ -37,6 +38,8 @@ export const vaultDirectorParamTypes = {
|
|
|
37
38
|
};
|
|
38
39
|
harden(vaultDirectorParamTypes);
|
|
39
40
|
|
|
41
|
+
const trace = makeTracer('Vault Params');
|
|
42
|
+
|
|
40
43
|
/**
|
|
41
44
|
* @param {Amount<'set'>} electorateInvitationAmount
|
|
42
45
|
* @param {Amount<'nat'>} minInitialDebt
|
|
@@ -128,7 +131,6 @@ export const vaultParamPattern = M.splitRecord(
|
|
|
128
131
|
|
|
129
132
|
/**
|
|
130
133
|
* @param {{
|
|
131
|
-
* auctioneerPublicFacet: ERef<AuctioneerPublicFacet>;
|
|
132
134
|
* electorateInvitationAmount: Amount<'set'>;
|
|
133
135
|
* minInitialDebt: Amount<'nat'>;
|
|
134
136
|
* bootstrapPaymentValue: bigint;
|
|
@@ -141,7 +143,6 @@ export const vaultParamPattern = M.splitRecord(
|
|
|
141
143
|
* }} opts
|
|
142
144
|
*/
|
|
143
145
|
export const makeGovernedTerms = ({
|
|
144
|
-
auctioneerPublicFacet,
|
|
145
146
|
bootstrapPaymentValue,
|
|
146
147
|
electorateInvitationAmount,
|
|
147
148
|
interestTiming,
|
|
@@ -153,7 +154,6 @@ export const makeGovernedTerms = ({
|
|
|
153
154
|
referencedUi = 'NO REFERENCE',
|
|
154
155
|
}) => {
|
|
155
156
|
return harden({
|
|
156
|
-
auctioneerPublicFacet,
|
|
157
157
|
priceAuthority,
|
|
158
158
|
reservePublicFacet,
|
|
159
159
|
timerService: timer,
|
|
@@ -168,6 +168,9 @@ export const makeGovernedTerms = ({
|
|
|
168
168
|
});
|
|
169
169
|
};
|
|
170
170
|
harden(makeGovernedTerms);
|
|
171
|
+
|
|
172
|
+
/** @typedef {VaultManagerParamValues & { brand: Brand }} VaultManagerParamOverrides */
|
|
173
|
+
|
|
171
174
|
/**
|
|
172
175
|
* Stop-gap which restores initial param values UNTIL
|
|
173
176
|
* https://github.com/Agoric/agoric-sdk/issues/5200
|
|
@@ -176,8 +179,13 @@ harden(makeGovernedTerms);
|
|
|
176
179
|
*
|
|
177
180
|
* @param {import('@agoric/vat-data').Baggage} baggage
|
|
178
181
|
* @param {ERef<Marshaller>} marshaller
|
|
182
|
+
* @param {Record<string, VaultManagerParamOverrides>} managerParamOverrides
|
|
179
183
|
*/
|
|
180
|
-
export const provideVaultParamManagers = (
|
|
184
|
+
export const provideVaultParamManagers = (
|
|
185
|
+
baggage,
|
|
186
|
+
marshaller,
|
|
187
|
+
managerParamOverrides,
|
|
188
|
+
) => {
|
|
181
189
|
/** @type {MapStore<Brand, VaultParamManager>} */
|
|
182
190
|
const managers = makeScalarMapStore();
|
|
183
191
|
|
|
@@ -202,8 +210,20 @@ export const provideVaultParamManagers = (baggage, marshaller) => {
|
|
|
202
210
|
return manager;
|
|
203
211
|
};
|
|
204
212
|
|
|
205
|
-
// restore from baggage
|
|
206
|
-
|
|
213
|
+
// restore from baggage, unless `managerParamOverrides` overrides.
|
|
214
|
+
for (const [brand, args] of managerArgs.entries()) {
|
|
215
|
+
const newInitial = managerParamOverrides
|
|
216
|
+
? Object.values(managerParamOverrides).find(e => e.brand === brand)
|
|
217
|
+
: undefined;
|
|
218
|
+
|
|
219
|
+
if (newInitial) {
|
|
220
|
+
trace(`reviving params, override`, brand, newInitial);
|
|
221
|
+
makeManager(brand, { ...args, initialParamValues: newInitial });
|
|
222
|
+
} else {
|
|
223
|
+
trace(`reviving params, keeping`, brand, args.initialParamValues);
|
|
224
|
+
makeManager(brand, args);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
207
227
|
|
|
208
228
|
return {
|
|
209
229
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"+BAGa,OAAO,mBAAmB,EAAE,oBAAoB,CAAC,aAAa,CAAC;;mBAe9D,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM;wBACxC,MAAM,UAAU;;;;;;;uBAKhB,KAAK;;;;;wBAEL,KAAK;;;;;kBAEL,KAAK;;;;;aAEL,KAAK;eAEL,MAAM,CAAC,KAAK,CAAC;;;;;;;uCAOhB,MAAM,qBACN,OAAO,UACP,uBAAuB;;
|
|
1
|
+
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"+BAGa,OAAO,mBAAmB,EAAE,oBAAoB,CAAC,aAAa,CAAC;;mBAe9D,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM;wBACxC,MAAM,UAAU;;;;;;;uBAKhB,KAAK;;;;;wBAEL,KAAK;;;;;kBAEL,KAAK;;;;;aAEL,KAAK;eAEL,MAAM,CAAC,KAAK,CAAC;;;;;;;uCAOhB,MAAM,qBACN,OAAO,UACP,uBAAuB;;uBA6F+w8B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAA7ia,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;kBAvFzwiB,YAAY;yBACZ,MAAM,UAAU;+BAChB,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;0BACxC,MAAM,OAAO,cAAc,EAAE,UAAU;wBACvC,MAAM,OAAO,cAAc,EAAE,UAAU;;;;;;;;sCAQ1C,OAAO,UACP,MAAM,CAAC,KAAK,CAAC,OACb,MAAM,CAAC,KAAK,CAAC,aACb,YAAY,EAAE,KACZ,IAAI;;;;;yBAMN,MAAM,YACN,OAAO,KACL,IAAI;;0BAKH,MAAM,KAAK;gBACX,MAAM,KAAK;wBACX,MAAM,OAAO,CAAC,OAAO,4BAA4B,EAAE,UAAU,CAAC;;;;;qBAC9D,MAAM,KAAK;;;;;;;;;;;;eAQX,MAAM;;;;;;;;;;;;oBAUN,MAAM,oBAAoB;kBAC1B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,QAAQ;oBAC7C,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC;;;6BAKrC,MAAM,OAAO,CAC1B,UAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAA;KAAE,CAAC,CAC9D;;;;;;;cAMU,QAAQ;;;;aACR,QAAQ;;8BAKX,UAAU,6BAER,UAAU;;;;;;eAKT,SAAS;;;;;;;8BAET,SAAS;;6BAMT;IAAE,GAAG,EAAE,gBAAgB,GAAG;QAAE,eAAe,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE;uCAjIhC,YAAY;2BACxB,YAAY;8BACT,eAAe;kCACX,mBAAmB;uCACd,mBAAmB;qDACL,4BAA4B;6CACpC,4BAA4B;2CAC9B,0BAA0B;+BACtC,cAAc;kCACX,cAAc"}
|
|
@@ -35,7 +35,7 @@ export type VaultDirectorParamManager = import("@agoric/governance/src/contractG
|
|
|
35
35
|
* @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit} makeRecorderKit
|
|
36
36
|
* @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeERecorderKit} makeERecorderKit
|
|
37
37
|
*/
|
|
38
|
-
declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslots").Baggage, zcf: import("./vaultFactory.js").VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<import("@agoric/time").TimerService>, auctioneer: ERef<import("../auction/auctioneer.js").AuctioneerPublicFacet>, storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller>, makeRecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeRecorderKit, makeERecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeERecorderKit): () => import("@endo/exo").GuardedKit<{
|
|
38
|
+
declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslots").Baggage, zcf: import("./vaultFactory.js").VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<import("@agoric/time").TimerService>, auctioneer: ERef<import("../auction/auctioneer.js").AuctioneerPublicFacet>, storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller>, makeRecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeRecorderKit, makeERecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeERecorderKit, managerParams: any): () => import("@endo/exo").GuardedKit<{
|
|
39
39
|
creator: {
|
|
40
40
|
getParamMgrRetriever: () => {
|
|
41
41
|
/** @param {VaultFactoryParamPath} paramPath */
|
|
@@ -181,6 +181,7 @@ declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslot
|
|
|
181
181
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
182
182
|
wake: (timestamp: any) => any;
|
|
183
183
|
}>;
|
|
184
|
+
setShortfallReporter(newInvitation: any): Promise<void>;
|
|
184
185
|
}>;
|
|
185
186
|
/** @returns {ERef<GovernedApis>} */
|
|
186
187
|
getGovernedApis(): ERef<GovernedApis>;
|
|
@@ -308,6 +309,7 @@ declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslot
|
|
|
308
309
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
309
310
|
wake: (timestamp: any) => any;
|
|
310
311
|
}>;
|
|
312
|
+
setShortfallReporter(newInvitation: any): Promise<void>;
|
|
311
313
|
};
|
|
312
314
|
public: {
|
|
313
315
|
/** @param {Brand} brandIn */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultDirector.d.ts","sourceRoot":"","sources":["vaultDirector.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultDirector.d.ts","sourceRoot":"","sources":["vaultDirector.js"],"names":[],"mappings":"AAshBA;;;;;;GAMG;AACH,8BAJU,CACT,GAAO,OAAO,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAChD,UAAU,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAQzD;kCAnfW;IACZ,WAAe,EAAE,KAAK,EAAE,CAAC;IACzB,oBAAwB,EAAE,mBAAmB,CAAC;CAC3C;6BAES,QAAQ,CAAC,EAAE,CAAC;2BAEZ,EAAE;oBAEF,cAAc,GAAG,YAAY;iCAE7B;IACZ,QAAY,EAAE,QAAQ,CAAC;IACvB,iBAAqB,EAAE,CACvB,eAAqB,EAAE,KAAK,KACnB,OAAO,mBAAmB,EAAE,oBAAoB,CAAC;IAC1D,eAAmB,EAAE,eAAe,CAAC;IACrC,oBAAwB,EAAE,MAAM,OAAO,CACvC,OAAa,4BAA4B,EAAE,iBAAiB,CACvD,CAAC;CACH;4BAES,QAAQ,CAAC;IACrB,KAAS,EAAE,KAAK,CAAC;CACd,CAAC;wCAEQ,OAAO,gEAAgE,EAAE,iBAAiB,CACtG,OAAa,aAAa,EAAE,mBAAmB,CAC1C;AAKN;;;;;;;;;;;GAWG;AACH,+CAXW,OAAO,4BAA4B,EAAE,OAAO,OAC5C,OAAO,mBAAmB,EAAE,eAAe,wBAC3C,yBAAyB,YACzB,OAAO,CAAC,KAAK,CAAC,SACd,IAAI,CAAC,OAAO,cAAc,EAAE,YAAY,CAAC,cACzC,IAAI,CAAC,OAAO,0BAA0B,EAAE,qBAAqB,CAAC,eAC9D,IAAI,CAAC,WAAW,CAAC,cACjB,IAAI,CAAC,UAAU,CAAC,mBAChB,OAAO,6CAA6C,EAAE,eAAe,oBACrE,OAAO,6CAA6C,EAAE,gBAAgB;;;YA+OrE,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;YAAjC,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;QAarC,2BAA2B;4BAAf,MAAM;;YAmBlB;;;;eAIG;2CAHQ,MAAM,CAAC,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;mCAwLuoiB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAA7ia,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAvM/oI,oCAAoC;2BAAtB,IAAI,CAAC,YAAY,CAAC;;;;;QAYhC;;;;WAIG;uCAHQ,MAAM,CAAC,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4FlC,6BAA6B;sCAAjB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAUjB;;;;WAIG;6CADQ;YAAE,eAAe,EAAE,KAAK,CAAA;SAAE;;;;QAQrC,0EAA0E;;QAI1E;;;;;WAKG;+CADQ;YAAE,eAAe,EAAE,KAAK,CAAA;SAAE;QAMrC,2BAA2B;kCAAf,MAAM;;;;QAoBlB,2EAA2E;;;GAmBlF"}
|
|
@@ -4,7 +4,10 @@ import '@agoric/zoe/src/contracts/exported.js';
|
|
|
4
4
|
import '@agoric/governance/exported.js';
|
|
5
5
|
|
|
6
6
|
import { AmountMath, AmountShape, BrandShape, IssuerShape } from '@agoric/ertp';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
GovernorFacetShape,
|
|
9
|
+
InvitationShape,
|
|
10
|
+
} from '@agoric/governance/src/typeGuards.js';
|
|
8
11
|
import { makeTracer } from '@agoric/internal';
|
|
9
12
|
import { M, mustMatch } from '@agoric/store';
|
|
10
13
|
import {
|
|
@@ -99,6 +102,7 @@ const prepareVaultDirector = (
|
|
|
99
102
|
marshaller,
|
|
100
103
|
makeRecorderKit,
|
|
101
104
|
makeERecorderKit,
|
|
105
|
+
managerParams,
|
|
102
106
|
) => {
|
|
103
107
|
/** @type {import('../reserve/assetReserve.js').ShortfallReporter} */
|
|
104
108
|
let shortfallReporter;
|
|
@@ -117,7 +121,11 @@ const prepareVaultDirector = (
|
|
|
117
121
|
// Non-durable map because param managers aren't durable.
|
|
118
122
|
// In the event they're needed they can be reconstructed from contract terms and off-chain data.
|
|
119
123
|
/** a powerful object; can modify parameters */
|
|
120
|
-
const vaultParamManagers = provideVaultParamManagers(
|
|
124
|
+
const vaultParamManagers = provideVaultParamManagers(
|
|
125
|
+
baggage,
|
|
126
|
+
marshaller,
|
|
127
|
+
managerParams,
|
|
128
|
+
);
|
|
121
129
|
|
|
122
130
|
const metricsNode = E(storageNode).makeChildNode('metrics');
|
|
123
131
|
|
|
@@ -143,6 +151,7 @@ const prepareVaultDirector = (
|
|
|
143
151
|
const oldInvitation = baggage.has(shortfallInvitationKey)
|
|
144
152
|
? baggage.get(shortfallInvitationKey)
|
|
145
153
|
: undefined;
|
|
154
|
+
|
|
146
155
|
const newInvitation = await directorParamManager.getInternalParamValue(
|
|
147
156
|
SHORTFALL_INVITATION_KEY,
|
|
148
157
|
);
|
|
@@ -294,6 +303,7 @@ const prepareVaultDirector = (
|
|
|
294
303
|
makePriceLockWaker: M.call().returns(M.remotable('TimerWaker')),
|
|
295
304
|
makeLiquidationWaker: M.call().returns(M.remotable('TimerWaker')),
|
|
296
305
|
makeReschedulerWaker: M.call().returns(M.remotable('TimerWaker')),
|
|
306
|
+
setShortfallReporter: M.call(InvitationShape).returns(M.promise()),
|
|
297
307
|
}),
|
|
298
308
|
public: M.interface('public', {
|
|
299
309
|
getCollateralManager: M.call(BrandShape).returns(M.remotable()),
|
|
@@ -437,6 +447,12 @@ const prepareVaultDirector = (
|
|
|
437
447
|
allManagersDo(vm => vm.lockOraclePrices());
|
|
438
448
|
});
|
|
439
449
|
},
|
|
450
|
+
async setShortfallReporter(newInvitation) {
|
|
451
|
+
const zoe = zcf.getZoeService();
|
|
452
|
+
shortfallReporter = await E(
|
|
453
|
+
E(zoe).offer(newInvitation),
|
|
454
|
+
).getOfferResult();
|
|
455
|
+
},
|
|
440
456
|
},
|
|
441
457
|
public: {
|
|
442
458
|
/** @param {Brand} brandIn */
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {ZCF<
|
|
3
|
-
* GovernanceTerms<import('./params
|
|
4
|
-
* auctioneerPublicFacet: import('../auction/auctioneer.js').AuctioneerPublicFacet;
|
|
3
|
+
* GovernanceTerms<import('./params').VaultDirectorParams> & {
|
|
5
4
|
* priceAuthority: ERef<PriceAuthority>;
|
|
6
5
|
* reservePublicFacet: AssetReservePublicFacet;
|
|
7
6
|
* timerService: import('@agoric/time').TimerService;
|
|
@@ -16,6 +15,8 @@ export function start(zcf: VaultFactoryZCF, privateArgs: {
|
|
|
16
15
|
initialShortfallInvitation: Invitation;
|
|
17
16
|
storageNode: ERef<StorageNode>;
|
|
18
17
|
marshaller: ERef<Marshaller>;
|
|
18
|
+
auctioneerInstance: Instance;
|
|
19
|
+
managerParams: Record<string, import("./params.js").VaultManagerParamOverrides>;
|
|
19
20
|
}, baggage: import("@agoric/swingset-liveslots").Baggage): Promise<{
|
|
20
21
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
21
22
|
getParamMgrRetriever: () => {
|
|
@@ -154,6 +155,7 @@ export function start(zcf: VaultFactoryZCF, privateArgs: {
|
|
|
154
155
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
155
156
|
wake: (timestamp: any) => any;
|
|
156
157
|
}>;
|
|
158
|
+
setShortfallReporter(newInvitation: any): Promise<void>;
|
|
157
159
|
}>;
|
|
158
160
|
getGovernedApis(): globalThis.ERef<globalThis.GovernedApis>;
|
|
159
161
|
getGovernedApiNames(): never[];
|
|
@@ -248,7 +250,6 @@ export type VaultFactoryZCF = {
|
|
|
248
250
|
value: bigint;
|
|
249
251
|
};
|
|
250
252
|
}>> & {
|
|
251
|
-
auctioneerPublicFacet: import("../auction/auctioneer.js").AuctioneerPublicFacet;
|
|
252
253
|
priceAuthority: globalThis.ERef<PriceAuthority>;
|
|
253
254
|
reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
|
|
254
255
|
makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultFactory.d.ts","sourceRoot":"","sources":["vaultFactory.js"],"names":[],"mappings":"AAsCA
|
|
1
|
+
{"version":3,"file":"vaultFactory.d.ts","sourceRoot":"","sources":["vaultFactory.js"],"names":[],"mappings":"AAsCA;;;;;;;;GAQG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAmBK,2BAfI,eAAe,eACf;IACV,aAAiB,EAAE,aAAa,CAAC;IACjC,sBAA0B,EAAE,UAAU,CAAC;IACvC,0BAA8B,EAAE,UAAU,CAAC;IAC3C,WAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,UAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,kBAAsB,EAAE,QAAQ,CAAC;IACjC,aAAiB,EAAE,MAAM,CACzB,MAAY,EACZ,OAAa,aAAa,EAAE,0BAA0B,CACjD,CAAC;CACH,WACO,OAAO,4BAA4B,EAAE,OAAO;;;8BAyFquJ,qBAAqB;;;;;;;;;;;;;;;;;;;;2CAA6lC,OAAO,KAAK,CAAC,qBAAsC,OAAO,sBAAuC,uBAAuB;;mCAAm2uB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAA7ia,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAAvtO,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAAge;YAAC,iBAAiB,KAAM,CAAA;SAAE;;;;;+CAA2jB;YAAC,iBAAiB,KAAM,CAAA;SAAE;;;GAJ3sU;;iCApJiB,YAAY,EAAE;;mCAI6D,OAAQ;0BAIhF,KAAM,MAAM,CAAC,WACrB,OAAQ;qDAcpB,aAAY,KAAK,CAAC,CAAC,EAAC,CAAE,CAAC,+DACS,OAAQ;2BAElC,UAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAM,OAAO,cAAc,EAAE,YAAY;;gEAUzC,OAAQ,CAAC,CAAC;iEAGgB,MAAQ,GAAE,CAAC;;qEAGjC,OAAQ,cAAiB,GAAI,YAE9C,gBACe,qBAEb,YAGH,mBAAmB;;;;;8BAMM,aACrB;;;;mCA8FS,UAAU,CAAC,OAAO,KAAK,CAAC;gCAtIwD,4BAA4B;oCAA5B,4BAA4B"}
|
|
@@ -38,8 +38,7 @@ const trace = makeTracer('VF', true);
|
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* @typedef {ZCF<
|
|
41
|
-
* GovernanceTerms<import('./params
|
|
42
|
-
* auctioneerPublicFacet: import('../auction/auctioneer.js').AuctioneerPublicFacet;
|
|
41
|
+
* GovernanceTerms<import('./params').VaultDirectorParams> & {
|
|
43
42
|
* priceAuthority: ERef<PriceAuthority>;
|
|
44
43
|
* reservePublicFacet: AssetReservePublicFacet;
|
|
45
44
|
* timerService: import('@agoric/time').TimerService;
|
|
@@ -73,6 +72,11 @@ harden(meta);
|
|
|
73
72
|
* initialShortfallInvitation: Invitation;
|
|
74
73
|
* storageNode: ERef<StorageNode>;
|
|
75
74
|
* marshaller: ERef<Marshaller>;
|
|
75
|
+
* auctioneerInstance: Instance;
|
|
76
|
+
* managerParams: Record<
|
|
77
|
+
* string,
|
|
78
|
+
* import('./params.js').VaultManagerParamOverrides
|
|
79
|
+
* >;
|
|
76
80
|
* }} privateArgs
|
|
77
81
|
* @param {import('@agoric/swingset-liveslots').Baggage} baggage
|
|
78
82
|
*/
|
|
@@ -83,6 +87,8 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
83
87
|
initialShortfallInvitation,
|
|
84
88
|
marshaller,
|
|
85
89
|
storageNode,
|
|
90
|
+
auctioneerInstance,
|
|
91
|
+
managerParams,
|
|
86
92
|
} = privateArgs;
|
|
87
93
|
|
|
88
94
|
trace('awaiting debtMint');
|
|
@@ -94,7 +100,10 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
94
100
|
mintedIssuerRecord: debtMint.getIssuerRecord(),
|
|
95
101
|
}));
|
|
96
102
|
|
|
97
|
-
const { timerService
|
|
103
|
+
const { timerService } = zcf.getTerms();
|
|
104
|
+
|
|
105
|
+
const zoe = zcf.getZoeService();
|
|
106
|
+
const auctioneerPublicFacet = E(zoe).getPublicFacet(auctioneerInstance);
|
|
98
107
|
|
|
99
108
|
const { makeRecorderKit, makeERecorderKit } = prepareRecorderKitMakers(
|
|
100
109
|
baggage,
|
|
@@ -137,6 +146,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
137
146
|
marshaller,
|
|
138
147
|
makeRecorderKit,
|
|
139
148
|
makeERecorderKit,
|
|
149
|
+
managerParams,
|
|
140
150
|
);
|
|
141
151
|
|
|
142
152
|
// cannot await because it would make remote calls during vat restart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"AAsFO,mCAHwD,CAAC,EACrD,CAAC,uCAFD,IAAI,CAAC,WAAW,CACoC,CAAC,AADnC,CAAC,CAAC,WACpB,OAAO,4BAA4B,EAAE,cAAc,CAAC,CAAC,EACrD,CAAC,AADuD,CAAC,WACzD,CAAC,iBAqBX;AAuHM,gDATI,OAAO,4BAA4B,EAAE,OAAO,uDAC5C;IACV,GAAO,EAAE,OAAO,mBAAmB,EAAE,eAAe,CAAC;IACrD,UAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,eAAmB,EAAE,OAAO,6CAA6C,EAAE,eAAe,CAAC;IAC3F,gBAAoB,EAAE,OAAO,6CAA6C,EAAE,gBAAgB,CAAC;IAC7F,aAAiB,EAAE,OAAO,oBAAoB,EAAE,kBAAkB,CAAC;CAChE;cA1DW,OAAO,CAAC,KAAK,CAAC;qBACP,KAAK,CAAC,KAAK,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC;sBACX,MAAM;;iBAEX,WAAW;;wBAgEmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4JnD,2EAA2E;;;QAiF3E,oCAAoC;;;;;;QAuGpC;;;;;WAKG;kCAJQ,MAAM,CAAC,KAAK,CAAC,cACb,MAAM,CAAC,KAAK,CAAC,WACb,MAAM,CAAC,KAAK,CAAC,aACb,MAAM,CAAC,KAAK,CAAC;;QA8ExB;;;;;;;;;;;;;;WAcG;2CARQ,mBAAmB,aACnB,MAAM,CAAC,KAAK,CAAC;;+
|
|
1
|
+
{"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,6 @@ import {
|
|
|
51
51
|
} from '@agoric/zoe/src/contractSupport/index.js';
|
|
52
52
|
import { PriceQuoteShape, SeatShape } from '@agoric/zoe/src/typeGuards.js';
|
|
53
53
|
import { E } from '@endo/eventual-send';
|
|
54
|
-
import { AuctionPFShape } from '../auction/auctioneer.js';
|
|
55
54
|
import {
|
|
56
55
|
checkDebtLimit,
|
|
57
56
|
makeNatAmountShape,
|
|
@@ -63,6 +62,7 @@ import { calculateMinimumCollateralization, minimumPrice } from './math.js';
|
|
|
63
62
|
import { makePrioritizedVaults } from './prioritizedVaults.js';
|
|
64
63
|
import { Phase, prepareVault } from './vault.js';
|
|
65
64
|
import { calculateDistributionPlan } from './proceeds.js';
|
|
65
|
+
import { AuctionPFShape } from '../auction/auctioneer.js';
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* @import {Baggage} from '@agoric/vat-data';
|
|
@@ -340,7 +340,7 @@ export const prepareVaultManagerKit = (
|
|
|
340
340
|
getCollateralQuote: M.call().returns(PriceQuoteShape),
|
|
341
341
|
getPublicFacet: M.call().returns(M.remotable('publicFacet')),
|
|
342
342
|
lockOraclePrices: M.call().returns(PriceQuoteShape),
|
|
343
|
-
liquidateVaults: M.call(AuctionPFShape).returns(M.promise()),
|
|
343
|
+
liquidateVaults: M.call(M.eref(AuctionPFShape)).returns(M.promise()),
|
|
344
344
|
}),
|
|
345
345
|
},
|
|
346
346
|
initState,
|