@agoric/inter-protocol 0.16.2-dev-14b75b9.0.14b75b9 → 0.16.2-dev-64cee5a.0.64cee5a
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/auction/auctionBook.d.ts +2 -1
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionBook.js +2 -1
- package/src/auction/auctioneer.d.ts +12 -8
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +10 -5
- package/src/auction/params.d.ts +10 -4
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/params.js +6 -3
- package/src/auction/scheduleMath.d.ts +5 -3
- package/src/auction/scheduleMath.d.ts.map +1 -1
- package/src/auction/scheduleMath.js +11 -7
- package/src/auction/scheduler.d.ts +8 -3
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +14 -6
- package/src/clientSupport.d.ts +28 -73
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +24 -128
- package/src/econCommitteeCharter.d.ts +9 -5
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/econCommitteeCharter.js +8 -6
- package/src/feeDistributor.d.ts +10 -16
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/feeDistributor.js +3 -3
- package/src/price/fluxAggregatorContract.d.ts +10 -3
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.js +8 -4
- package/src/price/fluxAggregatorKit.d.ts +10 -6
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +10 -5
- package/src/price/priceOracleKit.d.ts +2 -1
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +2 -1
- package/src/price/roundsManager.d.ts +6 -4
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +4 -2
- package/src/proposals/add-auction.js +2 -2
- package/src/proposals/addAssetToVault.js +7 -3
- package/src/proposals/committee-proposal.js +10 -5
- package/src/proposals/core-proposal.js +9 -3
- package/src/proposals/deploy-price-feeds.js +7 -4
- package/src/proposals/econ-behaviors.js +14 -8
- package/src/proposals/price-feed-proposal.js +10 -3
- package/src/proposals/replace-fee-distributor.js +7 -4
- package/src/proposals/startEconCommittee.js +5 -1
- package/src/proposals/startPSM.js +6 -3
- package/src/proposals/upgrade-vaults.js +9 -4
- package/src/proposals/utils.d.ts +6 -4
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +8 -8
- package/src/proposals/withdraw-reserve-proposal.js +1 -1
- package/src/provisionPool.d.ts +12 -4
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +7 -5
- package/src/provisionPoolKit.d.ts +17 -74
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +22 -20
- package/src/reserve/assetReserveKit.d.ts +4 -2
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +4 -2
- package/src/vaultFactory/liquidation.d.ts +5 -3
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +9 -7
- package/src/vaultFactory/params.d.ts +13 -5
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +10 -6
- package/src/vaultFactory/prioritizedVaults.d.ts +6 -6
- package/src/vaultFactory/types-ambient.d.ts.map +1 -1
- package/src/vaultFactory/types-ambient.js +1 -0
- package/src/vaultFactory/vault.d.ts +18 -16
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +13 -11
- package/src/vaultFactory/vaultDirector.d.ts +24 -14
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +21 -17
- package/src/vaultFactory/vaultFactory.d.ts +14 -50
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +10 -8
- package/src/vaultFactory/vaultHolder.d.ts +5 -2
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +6 -3
- package/src/vaultFactory/vaultKit.d.ts +3 -1
- package/src/vaultFactory/vaultKit.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.js +4 -2
- package/src/vaultFactory/vaultManager.d.ts +28 -19
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +20 -11
|
@@ -16,6 +16,10 @@ const trace = makeTracer('LIQ');
|
|
|
16
16
|
* @import {MapStore, SetStore} from '@agoric/store';
|
|
17
17
|
* @import {RelativeTimeRecord, TimerService, TimerWaker} from '@agoric/time';
|
|
18
18
|
* @import {PriceQuote} from '@agoric/zoe/tools/types.js';
|
|
19
|
+
* @import {Schedule} from '../auction/scheduler.js';
|
|
20
|
+
* @import {TimestampRecord} from '@agoric/time';
|
|
21
|
+
* @import {AuctioneerPublicFacet} from '../auction/auctioneer.js';
|
|
22
|
+
* @import {makePrioritizedVaults} from './prioritizedVaults.js';
|
|
19
23
|
*/
|
|
20
24
|
|
|
21
25
|
const makeCancelToken = makeCancelTokenMaker('liq');
|
|
@@ -64,8 +68,8 @@ const cancelWakeups = timer => {
|
|
|
64
68
|
* @param {TimerWaker} opts.priceLockWaker
|
|
65
69
|
* @param {TimerWaker} opts.liquidationWaker
|
|
66
70
|
* @param {TimerWaker} opts.reschedulerWaker
|
|
67
|
-
* @param {
|
|
68
|
-
* @param {
|
|
71
|
+
* @param {Schedule} opts.nextAuctionSchedule
|
|
72
|
+
* @param {TimestampRecord} opts.now
|
|
69
73
|
* @param {ParamStateRecord} opts.params
|
|
70
74
|
* @returns {void}
|
|
71
75
|
*/
|
|
@@ -139,7 +143,7 @@ const setWakeups = ({
|
|
|
139
143
|
* Called by vaultDirector's resetWakeupsForNextAuction at start() and every
|
|
140
144
|
* time there's a "reschedule" wakeup.
|
|
141
145
|
*
|
|
142
|
-
* @param {ERef<
|
|
146
|
+
* @param {ERef<AuctioneerPublicFacet>} auctioneerPublicFacet
|
|
143
147
|
* @param {ERef<TimerService>} timer
|
|
144
148
|
* @param {TimerWaker} priceLockWaker
|
|
145
149
|
* @param {TimerWaker} liquidationWaker
|
|
@@ -205,7 +209,7 @@ harden(liquidationResults);
|
|
|
205
209
|
/**
|
|
206
210
|
* Watch governed params for change
|
|
207
211
|
*
|
|
208
|
-
* @param {ERef<
|
|
212
|
+
* @param {ERef<AuctioneerPublicFacet>} auctioneerPublicFacet
|
|
209
213
|
* @param {ERef<TimerService>} timer
|
|
210
214
|
* @param {TimerWaker} reschedulerWaker
|
|
211
215
|
* @returns {void}
|
|
@@ -242,9 +246,7 @@ export const watchForGovernanceChange = (
|
|
|
242
246
|
* @param {PriceQuote} collateralizationDetails.quote
|
|
243
247
|
* @param {Ratio} collateralizationDetails.interest
|
|
244
248
|
* @param {Ratio} collateralizationDetails.margin
|
|
245
|
-
* @param {ReturnType<
|
|
246
|
-
* typeof import('./prioritizedVaults.js').makePrioritizedVaults
|
|
247
|
-
* >} prioritizedVaults
|
|
249
|
+
* @param {ReturnType<typeof makePrioritizedVaults>} prioritizedVaults
|
|
248
250
|
* @param {SetStore<Vault>} liquidatingVaults
|
|
249
251
|
* @param {Brand<'nat'>} debtBrand
|
|
250
252
|
* @param {Brand<'nat'>} collateralBrand
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* @import {EMarshaller} from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
4
4
|
* @import {MapStore} from '@agoric/store';
|
|
5
5
|
* @import {PriceAuthority} from '@agoric/zoe/tools/types.js';
|
|
6
|
+
* @import {ParamTypesMapFromRecord} from '@agoric/governance/src/contractGovernance/typedParamManager.js';
|
|
7
|
+
* @import {StoredPublisherKit} from '@agoric/notifier';
|
|
8
|
+
* @import {TimerService} from '@agoric/time';
|
|
9
|
+
* @import {Baggage} from '@agoric/vat-data';
|
|
6
10
|
*/
|
|
7
11
|
export const CHARGING_PERIOD_KEY: "ChargingPeriod";
|
|
8
12
|
export const RECORDING_PERIOD_KEY: "RecordingPeriod";
|
|
@@ -21,7 +25,7 @@ export namespace vaultDirectorParamTypes {
|
|
|
21
25
|
let RecordingPeriod: "nat";
|
|
22
26
|
let ReferencedUI: "string";
|
|
23
27
|
}
|
|
24
|
-
export function makeVaultParamManager(publisherKit:
|
|
28
|
+
export function makeVaultParamManager(publisherKit: StoredPublisherKit<GovernanceSubscriptionState>, { debtLimit, interestRate, liquidationMargin, liquidationPadding, liquidationPenalty, mintFee, }: VaultManagerParamValues): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
25
29
|
DebtLimit: "amount";
|
|
26
30
|
InterestRate: "ratio";
|
|
27
31
|
LiquidationPadding: "ratio";
|
|
@@ -36,7 +40,7 @@ export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationA
|
|
|
36
40
|
minInitialDebt: Amount<"nat">;
|
|
37
41
|
bootstrapPaymentValue: bigint;
|
|
38
42
|
priceAuthority: ERef<PriceAuthority>;
|
|
39
|
-
timer: ERef<
|
|
43
|
+
timer: ERef<TimerService>;
|
|
40
44
|
reservePublicFacet: AssetReservePublicFacet;
|
|
41
45
|
interestTiming: InterestTiming;
|
|
42
46
|
shortfallInvitationAmount: Amount<"set">;
|
|
@@ -49,7 +53,7 @@ export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationA
|
|
|
49
53
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
|
|
50
54
|
};
|
|
51
55
|
}>>;
|
|
52
|
-
timerService: globalThis.ERef<
|
|
56
|
+
timerService: globalThis.ERef<TimerService>;
|
|
53
57
|
governedParams: {
|
|
54
58
|
Electorate: {
|
|
55
59
|
type: "invitation";
|
|
@@ -78,7 +82,7 @@ export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationA
|
|
|
78
82
|
};
|
|
79
83
|
bootstrapPaymentValue: bigint;
|
|
80
84
|
};
|
|
81
|
-
export function provideVaultParamManagers(baggage:
|
|
85
|
+
export function provideVaultParamManagers(baggage: Baggage, marshaller: ERemote<EMarshaller>, managerParamOverrides: Record<string, VaultManagerParamOverrides>): {
|
|
82
86
|
/**
|
|
83
87
|
* @param {Brand} brand
|
|
84
88
|
* @param {Remote<StorageNode>} storageNode
|
|
@@ -102,12 +106,15 @@ export function provideVaultParamManagers(baggage: import("@agoric/vat-data").Ba
|
|
|
102
106
|
MintFee: "ratio";
|
|
103
107
|
}>;
|
|
104
108
|
};
|
|
105
|
-
export type VaultDirectorParams =
|
|
109
|
+
export type VaultDirectorParams = ParamTypesMapFromRecord<ReturnType<typeof makeVaultDirectorParams>>;
|
|
106
110
|
export type VaultParamManager = ReturnType<typeof makeVaultParamManager>;
|
|
107
111
|
export type VaultManagerParamOverrides = VaultManagerParamValues & {
|
|
108
112
|
brand: Brand;
|
|
109
113
|
};
|
|
114
|
+
import type { StoredPublisherKit } from '@agoric/notifier';
|
|
110
115
|
import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
|
|
116
|
+
import type { TimerService } from '@agoric/time';
|
|
117
|
+
import type { Baggage } from '@agoric/vat-data';
|
|
111
118
|
import type { EMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
112
119
|
import type { ERemote } from '@agoric/internal';
|
|
113
120
|
import type { Remote } from '@agoric/internal';
|
|
@@ -144,5 +151,6 @@ declare function makeVaultDirectorParams(electorateInvitationAmount: Amount<"set
|
|
|
144
151
|
value: bigint;
|
|
145
152
|
};
|
|
146
153
|
};
|
|
154
|
+
import type { ParamTypesMapFromRecord } from '@agoric/governance/src/contractGovernance/typedParamManager.js';
|
|
147
155
|
export {};
|
|
148
156
|
//# sourceMappingURL=params.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAiBA
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAiBA;;;;;;;;;GASG;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;;;;;;;AAkEzC,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;kCAzKY,wBACR,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAC3C;gCA8BU,UAAU,CAAC,OAAO,qBAAqB,CAAC;yCAwDxC,uBAAuB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE;wCA7JnB,kBAAkB;oCAFtB,4BAA4B;kCAG9B,cAAc;6BACnB,kBAAkB;iCANd,iDAAiD;6BAD7C,kBAAkB;4BAAlB,kBAAkB;AAiCpD;;;;;;GAMG;AACH,qEANW,MAAM,CAAC,KAAK,CAAC,kBACb,MAAM,CAAC,KAAK,CAAC,6BACb,MAAM,CAAC,KAAK,CAAC,gBACb,MAAM,kBACN,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxB;6CAlEyC,gEAAgE"}
|
|
@@ -20,6 +20,10 @@ import { amountPattern, ratioPattern } from '../contractSupport.js';
|
|
|
20
20
|
* @import {EMarshaller} from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
21
21
|
* @import {MapStore} from '@agoric/store';
|
|
22
22
|
* @import {PriceAuthority} from '@agoric/zoe/tools/types.js';
|
|
23
|
+
* @import {ParamTypesMapFromRecord} from '@agoric/governance/src/contractGovernance/typedParamManager.js';
|
|
24
|
+
* @import {StoredPublisherKit} from '@agoric/notifier';
|
|
25
|
+
* @import {TimerService} from '@agoric/time';
|
|
26
|
+
* @import {Baggage} from '@agoric/vat-data';
|
|
23
27
|
*/
|
|
24
28
|
|
|
25
29
|
export const CHARGING_PERIOD_KEY = 'ChargingPeriod';
|
|
@@ -86,9 +90,9 @@ const makeVaultDirectorParams = (
|
|
|
86
90
|
harden(makeVaultDirectorParams);
|
|
87
91
|
|
|
88
92
|
/**
|
|
89
|
-
* @typedef {
|
|
90
|
-
*
|
|
91
|
-
*
|
|
93
|
+
* @typedef {ParamTypesMapFromRecord<
|
|
94
|
+
* ReturnType<typeof makeVaultDirectorParams>
|
|
95
|
+
* >} VaultDirectorParams
|
|
92
96
|
*/
|
|
93
97
|
|
|
94
98
|
/** @type {(liquidationMargin: Ratio) => Ratio} */
|
|
@@ -96,7 +100,7 @@ const zeroRatio = liquidationMargin =>
|
|
|
96
100
|
subtractRatios(liquidationMargin, liquidationMargin);
|
|
97
101
|
|
|
98
102
|
/**
|
|
99
|
-
* @param {
|
|
103
|
+
* @param {StoredPublisherKit<GovernanceSubscriptionState>} publisherKit
|
|
100
104
|
* @param {VaultManagerParamValues} initial
|
|
101
105
|
*/
|
|
102
106
|
export const makeVaultParamManager = (
|
|
@@ -140,7 +144,7 @@ export const vaultParamPattern = M.splitRecord(
|
|
|
140
144
|
* minInitialDebt: Amount<'nat'>;
|
|
141
145
|
* bootstrapPaymentValue: bigint;
|
|
142
146
|
* priceAuthority: ERef<PriceAuthority>;
|
|
143
|
-
* timer: ERef<
|
|
147
|
+
* timer: ERef<TimerService>;
|
|
144
148
|
* reservePublicFacet: AssetReservePublicFacet;
|
|
145
149
|
* interestTiming: InterestTiming;
|
|
146
150
|
* shortfallInvitationAmount: Amount<'set'>;
|
|
@@ -182,7 +186,7 @@ harden(makeGovernedTerms);
|
|
|
182
186
|
*
|
|
183
187
|
* NB: changes from initial values will be lost upon restart
|
|
184
188
|
*
|
|
185
|
-
* @param {
|
|
189
|
+
* @param {Baggage} baggage
|
|
186
190
|
* @param {ERemote<EMarshaller>} marshaller
|
|
187
191
|
* @param {Record<string, VaultManagerParamOverrides>} managerParamOverrides
|
|
188
192
|
*/
|
|
@@ -41,7 +41,7 @@ export function makePrioritizedVaults(store: MapStore<string, Vault>): {
|
|
|
41
41
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
42
42
|
getCollateralAmount(): Amount<"nat">;
|
|
43
43
|
getCurrentDebt(): Amount<"nat">;
|
|
44
|
-
getNormalizedDebt():
|
|
44
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
45
45
|
}>]>;
|
|
46
46
|
getCount: (keyPatt?: Pattern, valuePatt?: Pattern) => number;
|
|
47
47
|
hasVaultByAttributes: (oldDebt: NormalizedDebt, oldCollateral: Amount<"nat">, vaultId: string) => boolean;
|
|
@@ -87,7 +87,7 @@ export function makePrioritizedVaults(store: MapStore<string, Vault>): {
|
|
|
87
87
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
88
88
|
getCollateralAmount(): Amount<"nat">;
|
|
89
89
|
getCurrentDebt(): Amount<"nat">;
|
|
90
|
-
getNormalizedDebt():
|
|
90
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
91
91
|
}>;
|
|
92
92
|
removeVaultsBelow: ({ margin, quote, interest }: {
|
|
93
93
|
margin: any;
|
|
@@ -133,7 +133,7 @@ export function makePrioritizedVaults(store: MapStore<string, Vault>): {
|
|
|
133
133
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
134
134
|
getCollateralAmount(): Amount<"nat">;
|
|
135
135
|
getCurrentDebt(): Amount<"nat">;
|
|
136
|
-
getNormalizedDebt():
|
|
136
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
137
137
|
}>>;
|
|
138
138
|
countVaultsBelow: (crKey: any) => number;
|
|
139
139
|
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
@@ -178,7 +178,7 @@ export function makePrioritizedVaults(store: MapStore<string, Vault>): {
|
|
|
178
178
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
179
179
|
getCollateralAmount(): Amount<"nat">;
|
|
180
180
|
getCurrentDebt(): Amount<"nat">;
|
|
181
|
-
getNormalizedDebt():
|
|
181
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
182
182
|
}>]>;
|
|
183
183
|
getCount: (keyPatt?: Pattern, valuePatt?: Pattern) => number;
|
|
184
184
|
hasVaultByAttributes: (oldDebt: NormalizedDebt, oldCollateral: Amount<"nat">, vaultId: string) => boolean;
|
|
@@ -224,7 +224,7 @@ export function makePrioritizedVaults(store: MapStore<string, Vault>): {
|
|
|
224
224
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
225
225
|
getCollateralAmount(): Amount<"nat">;
|
|
226
226
|
getCurrentDebt(): Amount<"nat">;
|
|
227
|
-
getNormalizedDebt():
|
|
227
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
228
228
|
}>;
|
|
229
229
|
removeVaultsBelow: ({ margin, quote, interest }: {
|
|
230
230
|
margin: any;
|
|
@@ -270,7 +270,7 @@ export function makePrioritizedVaults(store: MapStore<string, Vault>): {
|
|
|
270
270
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
271
271
|
getCollateralAmount(): Amount<"nat">;
|
|
272
272
|
getCurrentDebt(): Amount<"nat">;
|
|
273
|
-
getNormalizedDebt():
|
|
273
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
274
274
|
}>>;
|
|
275
275
|
countVaultsBelow: (crKey: any) => number;
|
|
276
276
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"+
|
|
1
|
+
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"+BAIa,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,KACrB,OAAO,CAAC,YAAY,CAAC;;kBAKpB,YAAY;yBACZ,MAAM,OAAO,aAAa,EAAE,UAAU;+BACtC,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;;;;;uBAEX,MAAM,YAAY;;;;;wBAElB,MAAM,YAAY;;eAIlB,MAAM;;;;;oBAIN,YAAY;;;;qBACZ,YAAY;;;oBAKZ,MAAM,oBAAoB;kBAC1B,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,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAA;KAAE,CAAC,CAC9D;;;0BAKU,SAAS;;;;cACT,QAAQ;;;;aACR,QAAQ;;8BAKX,UAAU,eACV,SAAS,KACP,UAAU;;;;;;eAKT,SAAS;;;;;;;8BAET,SAAS;;6BAMT;IAAE,GAAG,EAAE,gBAAgB,GAAG;QAAE,eAAe,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE;uCApIhC,YAAY;2BACxB,YAAY;8BACT,eAAe;kCACX,mBAAmB;uCACd,mBAAmB;qDACL,4BAA4B;6CACpC,4BAA4B;2CAC9B,0BAA0B;+BACtC,cAAc;kCACX,cAAc"}
|
|
@@ -28,7 +28,7 @@ export namespace Phase {
|
|
|
28
28
|
*/
|
|
29
29
|
/**
|
|
30
30
|
* @typedef {object} VaultManager
|
|
31
|
-
* @property {() => Subscriber<
|
|
31
|
+
* @property {() => Subscriber<AssetState>} getAssetSubscriber
|
|
32
32
|
* @property {(collateralAmount: Amount) => Amount<'nat'>} maxDebtFor
|
|
33
33
|
* @property {() => Brand<'nat'>} getCollateralBrand
|
|
34
34
|
* @property {(base: string) => string} scopeDescription
|
|
@@ -37,13 +37,13 @@ export namespace Phase {
|
|
|
37
37
|
* @property {(amount: Amount, seat: ZCFSeat) => void} burn
|
|
38
38
|
* @property {() => Ratio} getCompoundedInterest
|
|
39
39
|
* @property {(
|
|
40
|
-
* oldDebt:
|
|
40
|
+
* oldDebt: NormalizedDebt,
|
|
41
41
|
* oldCollateral: Amount<'nat'>,
|
|
42
42
|
* vaultId: VaultId,
|
|
43
43
|
* vaultPhase: VaultPhase,
|
|
44
44
|
* vault: Vault,
|
|
45
45
|
* ) => void} handleBalanceChange
|
|
46
|
-
* @property {() =>
|
|
46
|
+
* @property {() => GovernedParamGetters} getGovernedParams
|
|
47
47
|
*/
|
|
48
48
|
/**
|
|
49
49
|
* @typedef {Readonly<{
|
|
@@ -61,9 +61,7 @@ export namespace Phase {
|
|
|
61
61
|
* interestSnapshot: Ratio;
|
|
62
62
|
* phase: VaultPhase;
|
|
63
63
|
* debtSnapshot: Amount<'nat'>;
|
|
64
|
-
* outerUpdater:
|
|
65
|
-
* | import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification>
|
|
66
|
-
* | null;
|
|
64
|
+
* outerUpdater: Recorder<VaultNotification> | null;
|
|
67
65
|
* }} MutableState
|
|
68
66
|
*/
|
|
69
67
|
export const VaultI: import("@endo/patterns").InterfaceGuard<{
|
|
@@ -79,7 +77,7 @@ export const VaultI: import("@endo/patterns").InterfaceGuard<{
|
|
|
79
77
|
makeTransferInvitation: import("@endo/patterns").MethodGuard;
|
|
80
78
|
abortLiquidation: import("@endo/patterns").MethodGuard;
|
|
81
79
|
}>;
|
|
82
|
-
export function prepareVault(baggage:
|
|
80
|
+
export function prepareVault(baggage: Baggage, makeRecorderKit: MakeRecorderKit, zcf: ZCF): (manager: VaultManager, idInManager: string, storageNode: Remote<globalThis.StorageNode>) => import("@endo/exo").GuardedKit<{
|
|
83
81
|
helper: {
|
|
84
82
|
collateralBrand(): Brand<"nat">;
|
|
85
83
|
debtBrand(): Brand<"nat">;
|
|
@@ -242,7 +240,7 @@ export function prepareVault(baggage: import("@agoric/swingset-liveslots").Bagga
|
|
|
242
240
|
getCurrentDebt(): import("@agoric/ertp").NatAmount;
|
|
243
241
|
getNormalizedDebt(): NormalizedDebt;
|
|
244
242
|
}>;
|
|
245
|
-
vaultUpdater:
|
|
243
|
+
vaultUpdater: Recorder<VaultNotification>;
|
|
246
244
|
}>;
|
|
247
245
|
/** Called by manager at start of liquidation. */
|
|
248
246
|
liquidating(): void;
|
|
@@ -284,12 +282,11 @@ export function prepareVault(baggage: import("@agoric/swingset-liveslots").Bagga
|
|
|
284
282
|
* order vaults by their debt-to-collateral ratios without having to
|
|
285
283
|
* mutate the debts as the interest accrues.
|
|
286
284
|
*
|
|
287
|
-
* @returns {
|
|
288
|
-
*
|
|
289
|
-
* accrued
|
|
285
|
+
* @returns {NormalizedDebt} as if the vault was open at the launch of
|
|
286
|
+
* this manager, before any interest accrued
|
|
290
287
|
* @see getActualDebAmount
|
|
291
288
|
*/
|
|
292
|
-
getNormalizedDebt():
|
|
289
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
293
290
|
};
|
|
294
291
|
}>;
|
|
295
292
|
export type VaultPhase = Exclude<Phase, "transfer">;
|
|
@@ -309,7 +306,7 @@ export type VaultNotification = {
|
|
|
309
306
|
vaultState: Phase;
|
|
310
307
|
};
|
|
311
308
|
export type VaultManager = {
|
|
312
|
-
getAssetSubscriber: () => Subscriber<
|
|
309
|
+
getAssetSubscriber: () => Subscriber<AssetState>;
|
|
313
310
|
maxDebtFor: (collateralAmount: Amount) => Amount<"nat">;
|
|
314
311
|
getCollateralBrand: () => Brand<"nat">;
|
|
315
312
|
scopeDescription: (base: string) => string;
|
|
@@ -317,8 +314,8 @@ export type VaultManager = {
|
|
|
317
314
|
mintAndTransfer: MintAndTransfer;
|
|
318
315
|
burn: (amount: Amount, seat: ZCFSeat) => void;
|
|
319
316
|
getCompoundedInterest: () => Ratio;
|
|
320
|
-
handleBalanceChange: (oldDebt:
|
|
321
|
-
getGovernedParams: () =>
|
|
317
|
+
handleBalanceChange: (oldDebt: NormalizedDebt, oldCollateral: Amount<"nat">, vaultId: VaultId, vaultPhase: VaultPhase, vault: Vault) => void;
|
|
318
|
+
getGovernedParams: () => GovernedParamGetters;
|
|
322
319
|
};
|
|
323
320
|
export type ImmutableState = Readonly<{
|
|
324
321
|
idInManager: VaultId;
|
|
@@ -334,12 +331,17 @@ export type MutableState = {
|
|
|
334
331
|
interestSnapshot: Ratio;
|
|
335
332
|
phase: VaultPhase;
|
|
336
333
|
debtSnapshot: Amount<"nat">;
|
|
337
|
-
outerUpdater:
|
|
334
|
+
outerUpdater: Recorder<VaultNotification> | null;
|
|
338
335
|
};
|
|
339
336
|
export type Vault = EReturn<EReturn<typeof prepareVault>>["self"];
|
|
337
|
+
import type { Baggage } from '@agoric/swingset-liveslots';
|
|
338
|
+
import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
340
339
|
import type { Remote } from '@agoric/internal';
|
|
341
340
|
import type { Brand } from '@agoric/ertp/src/types.js';
|
|
342
341
|
import type { NormalizedDebt } from './storeUtils.js';
|
|
343
342
|
import { calculateDebtCosts } from './math.js';
|
|
343
|
+
import type { Recorder } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
344
|
+
import type { AssetState } from './vaultManager.js';
|
|
345
|
+
import type { GovernedParamGetters } from './vaultManager.js';
|
|
344
346
|
import type { EReturn } from '@endo/far';
|
|
345
347
|
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["vault.js"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["vault.js"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,11 @@ const trace = makeTracer('Vault', true);
|
|
|
21
21
|
* @import {EReturn} from '@endo/far';
|
|
22
22
|
* @import {Brand} from '@agoric/ertp/src/types.js';
|
|
23
23
|
* @import {NormalizedDebt} from './storeUtils.js';
|
|
24
|
+
* @import {AssetState} from './vaultManager.js';
|
|
25
|
+
* @import {GovernedParamGetters} from './vaultManager.js';
|
|
26
|
+
* @import {Recorder} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
27
|
+
* @import {Baggage} from '@agoric/swingset-liveslots';
|
|
28
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
24
29
|
*/
|
|
25
30
|
|
|
26
31
|
/**
|
|
@@ -88,7 +93,7 @@ const validTransitions = {
|
|
|
88
93
|
// XXX masks typedef from types.js, but using that causes circular def problems
|
|
89
94
|
/**
|
|
90
95
|
* @typedef {object} VaultManager
|
|
91
|
-
* @property {() => Subscriber<
|
|
96
|
+
* @property {() => Subscriber<AssetState>} getAssetSubscriber
|
|
92
97
|
* @property {(collateralAmount: Amount) => Amount<'nat'>} maxDebtFor
|
|
93
98
|
* @property {() => Brand<'nat'>} getCollateralBrand
|
|
94
99
|
* @property {(base: string) => string} scopeDescription
|
|
@@ -97,13 +102,13 @@ const validTransitions = {
|
|
|
97
102
|
* @property {(amount: Amount, seat: ZCFSeat) => void} burn
|
|
98
103
|
* @property {() => Ratio} getCompoundedInterest
|
|
99
104
|
* @property {(
|
|
100
|
-
* oldDebt:
|
|
105
|
+
* oldDebt: NormalizedDebt,
|
|
101
106
|
* oldCollateral: Amount<'nat'>,
|
|
102
107
|
* vaultId: VaultId,
|
|
103
108
|
* vaultPhase: VaultPhase,
|
|
104
109
|
* vault: Vault,
|
|
105
110
|
* ) => void} handleBalanceChange
|
|
106
|
-
* @property {() =>
|
|
111
|
+
* @property {() => GovernedParamGetters} getGovernedParams
|
|
107
112
|
*/
|
|
108
113
|
|
|
109
114
|
/**
|
|
@@ -123,9 +128,7 @@ const validTransitions = {
|
|
|
123
128
|
* interestSnapshot: Ratio;
|
|
124
129
|
* phase: VaultPhase;
|
|
125
130
|
* debtSnapshot: Amount<'nat'>;
|
|
126
|
-
* outerUpdater:
|
|
127
|
-
* | import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification>
|
|
128
|
-
* | null;
|
|
131
|
+
* outerUpdater: Recorder<VaultNotification> | null;
|
|
129
132
|
* }} MutableState
|
|
130
133
|
*/
|
|
131
134
|
|
|
@@ -155,8 +158,8 @@ const VaultStateShape = harden({
|
|
|
155
158
|
});
|
|
156
159
|
|
|
157
160
|
/**
|
|
158
|
-
* @param {
|
|
159
|
-
* @param {
|
|
161
|
+
* @param {Baggage} baggage
|
|
162
|
+
* @param {MakeRecorderKit} makeRecorderKit
|
|
160
163
|
* @param {ZCF} zcf
|
|
161
164
|
*/
|
|
162
165
|
export const prepareVault = (baggage, makeRecorderKit, zcf) => {
|
|
@@ -857,9 +860,8 @@ export const prepareVault = (baggage, makeRecorderKit, zcf) => {
|
|
|
857
860
|
* order vaults by their debt-to-collateral ratios without having to
|
|
858
861
|
* mutate the debts as the interest accrues.
|
|
859
862
|
*
|
|
860
|
-
* @returns {
|
|
861
|
-
*
|
|
862
|
-
* accrued
|
|
863
|
+
* @returns {NormalizedDebt} as if the vault was open at the launch of
|
|
864
|
+
* this manager, before any interest accrued
|
|
863
865
|
* @see getActualDebAmount
|
|
864
866
|
*/
|
|
865
867
|
getNormalizedDebt() {
|
|
@@ -17,33 +17,33 @@ export type MutableState = {};
|
|
|
17
17
|
export type State = ImmutableState & MutableState;
|
|
18
18
|
export type FactoryPowersFacet = {
|
|
19
19
|
burnDebt: BurnDebt;
|
|
20
|
-
getGovernedParams: (collateralBrand: Brand) =>
|
|
20
|
+
getGovernedParams: (collateralBrand: Brand) => GovernedParamGetters;
|
|
21
21
|
mintAndTransfer: MintAndTransfer;
|
|
22
|
-
getShortfallReporter: () => Promise<
|
|
22
|
+
getShortfallReporter: () => Promise<ShortfallReporter>;
|
|
23
23
|
};
|
|
24
24
|
export type MethodContext = Readonly<{
|
|
25
25
|
state: State;
|
|
26
26
|
}>;
|
|
27
|
-
export type VaultDirectorParamManager =
|
|
27
|
+
export type VaultDirectorParamManager = TypedParamManager<VaultDirectorParams>;
|
|
28
28
|
export type VaultDirector = EReturn<EReturn<typeof prepareVaultDirector>>;
|
|
29
29
|
/**
|
|
30
|
-
* @param {
|
|
31
|
-
* @param {
|
|
30
|
+
* @param {Baggage} baggage
|
|
31
|
+
* @param {VaultFactoryZCF} zcf
|
|
32
32
|
* @param {VaultDirectorParamManager} directorParamManager
|
|
33
33
|
* @param {ZCFMint<'nat'>} debtMint
|
|
34
|
-
* @param {ERef<
|
|
35
|
-
* @param {ERef<
|
|
34
|
+
* @param {ERef<TimerService>} timer
|
|
35
|
+
* @param {ERef<AuctioneerPublicFacet>} auctioneer
|
|
36
36
|
* @param {ERemote<StorageNode>} storageNode
|
|
37
37
|
* @param {ERemote<EMarshaller>} marshaller
|
|
38
|
-
* @param {
|
|
39
|
-
* @param {
|
|
38
|
+
* @param {MakeRecorderKit} makeRecorderKit
|
|
39
|
+
* @param {MakeERecorderKit} makeERecorderKit
|
|
40
40
|
* @param {Record<string, import('./params.js').VaultManagerParamOverrides>} managerParams
|
|
41
41
|
*/
|
|
42
|
-
declare function prepareVaultDirector(baggage:
|
|
42
|
+
declare function prepareVaultDirector(baggage: Baggage, zcf: VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<TimerService>, auctioneer: ERef<AuctioneerPublicFacet>, storageNode: ERemote<StorageNode>, marshaller: ERemote<EMarshaller>, makeRecorderKit: MakeRecorderKit, makeERecorderKit: MakeERecorderKit, managerParams: Record<string, import("./params.js").VaultManagerParamOverrides>): () => import("@endo/exo").GuardedKit<{
|
|
43
43
|
creator: {
|
|
44
44
|
getParamMgrRetriever: () => {
|
|
45
45
|
/** @param {VaultFactoryParamPath} paramPath */
|
|
46
|
-
get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager |
|
|
46
|
+
get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager | TypedParamManager<{
|
|
47
47
|
DebtLimit: "amount";
|
|
48
48
|
InterestRate: "ratio";
|
|
49
49
|
LiquidationPadding: "ratio";
|
|
@@ -53,7 +53,7 @@ declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslot
|
|
|
53
53
|
}>;
|
|
54
54
|
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
55
55
|
/** @param {VaultFactoryParamPath} paramPath */
|
|
56
|
-
get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager |
|
|
56
|
+
get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager | TypedParamManager<{
|
|
57
57
|
DebtLimit: "amount";
|
|
58
58
|
InterestRate: "ratio";
|
|
59
59
|
LiquidationPadding: "ratio";
|
|
@@ -71,7 +71,7 @@ declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslot
|
|
|
71
71
|
* @param {VaultManagerParamValues} initialParamValues
|
|
72
72
|
*/
|
|
73
73
|
addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
|
|
74
|
-
getGovernedParams():
|
|
74
|
+
getGovernedParams(): GovernedParamGetters;
|
|
75
75
|
makeVaultKit(seat: ZCFSeat): Promise<{
|
|
76
76
|
publicSubscribers: {
|
|
77
77
|
vault: {
|
|
@@ -175,7 +175,7 @@ declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslot
|
|
|
175
175
|
* @param {VaultManagerParamValues} initialParamValues
|
|
176
176
|
*/
|
|
177
177
|
addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
|
|
178
|
-
getGovernedParams():
|
|
178
|
+
getGovernedParams(): GovernedParamGetters;
|
|
179
179
|
makeVaultKit(seat: ZCFSeat): Promise<{
|
|
180
180
|
publicSubscribers: {
|
|
181
181
|
vault: {
|
|
@@ -340,10 +340,20 @@ declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslot
|
|
|
340
340
|
start(): Promise<void>;
|
|
341
341
|
};
|
|
342
342
|
}>;
|
|
343
|
+
import type { GovernedParamGetters } from './vaultManager.js';
|
|
344
|
+
import type { ShortfallReporter } from '../reserve/assetReserve.js';
|
|
345
|
+
import type { VaultDirectorParams } from './params.js';
|
|
346
|
+
import type { TypedParamManager } from '@agoric/governance/src/contractGovernance/typedParamManager.js';
|
|
343
347
|
import type { EReturn } from '@endo/far';
|
|
348
|
+
import type { Baggage } from '@agoric/swingset-liveslots';
|
|
349
|
+
import type { VaultFactoryZCF } from './vaultFactory.js';
|
|
344
350
|
import type { ZCFMint } from '@agoric/zoe';
|
|
351
|
+
import type { TimerService } from '@agoric/time';
|
|
352
|
+
import type { AuctioneerPublicFacet } from '../auction/auctioneer.js';
|
|
345
353
|
import type { ERemote } from '@agoric/internal';
|
|
346
354
|
import type { EMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
355
|
+
import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
356
|
+
import type { MakeERecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
347
357
|
import type { ZCFSeat } from '@agoric/zoe';
|
|
348
358
|
export {};
|
|
349
359
|
//# sourceMappingURL=vaultDirector.d.ts.map
|
|
@@ -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":"AA+FO,iFAEE,IADK,CAAC,EAAE,EAAE,YAAY,KAAK,IACzB,UAOV;AAocD,6EAA6E;AAE7E;;;;;;GAMG;AACH,8BAJU,CACT,GAAO,OAAO,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAChD,aAAa,CAQnB;kCA7fW;IACR,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,oBAAoB,EAAE,mBAAmB,CAAC;CAC3C;6BAGS,QAAQ,CAAC,EAAE,CAAC;2BAEZ,EAAE;oBAEF,cAAc,GAAG,YAAY;iCAE7B;IACR,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,CAAC,eAAe,EAAE,KAAK,KAAK,oBAAoB,CAAC;IACpE,eAAe,EAAE,eAAe,CAAC;IACjC,oBAAoB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxD;4BAGS,QAAQ,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;wCAEQ,kBAAkB,mBAAmB,CAAC;4BAsdrC,QAAQ,QAAQ,OAAO,oBAAoB,CAAC,CAAC;AAlc3D;;;;;;;;;;;;GAYG;AACH,+CAZW,OAAO,OACP,eAAe,wBACf,yBAAyB,YACzB,QAAQ,KAAK,CAAC,SACd,IAAI,CAAC,YAAY,CAAC,cAClB,IAAI,CAAC,qBAAqB,CAAC,eAC3B,QAAQ,WAAW,CAAC,cACpB,QAAQ,WAAW,CAAC,mBACpB,eAAe,oBACf,gBAAgB,iBAChB,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,0BAA0B,CAAC;;;YAwO/D,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;YAAjC,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;QAarC,2BAA2B;4BAAf,MAAM;;YAmBlB;;;;eAIG;2CAHQ,MAAM,CAAC,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAflC,oCAAoC;2BAAtB,IAAI,CAAC,YAAY,CAAC;;;;;QAYhC;;;;WAIG;uCAHQ,MAAM,CAAC,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6FlC,6BAA6B;sCAAjB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAUjB;;;;WAIG;6CADQ;YAAE,eAAe,EAAE,KAAK,CAAA;SAAE;;;;QAQrC,0EAA0E;;QAI1E;;;;;WAKG;+CADQ;YAAE,eAAe,EAAE,KAAK,CAAA;SAAE;;QASrC,2BAA2B;kCAAf,MAAM;;;;QAoBlB,2EAA2E;;;GAmBlF;0CA3fsC,mBAAmB;uCACtB,4BAA4B;yCAE1B,aAAa;uCADf,gEAAgE;6BAL1E,WAAW;6BAOX,4BAA4B;qCACpB,mBAAmB;6BATC,aAAa;kCAUpC,cAAc;2CACL,0BAA0B;6BATlB,kBAAkB;iCACpC,iDAAiD;qCAS7C,6CAA6C;sCAC5C,6CAA6C;6BAb1B,aAAa"}
|
|
@@ -45,6 +45,16 @@ import {
|
|
|
45
45
|
* @import {EReturn} from '@endo/far';
|
|
46
46
|
* @import {TypedPattern, ERemote, Remote} from '@agoric/internal';
|
|
47
47
|
* @import {EMarshaller} from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
48
|
+
* @import {GovernedParamGetters} from './vaultManager.js';
|
|
49
|
+
* @import {ShortfallReporter} from '../reserve/assetReserve.js';
|
|
50
|
+
* @import {TypedParamManager} from '@agoric/governance/src/contractGovernance/typedParamManager.js';
|
|
51
|
+
* @import {VaultDirectorParams} from './params.js';
|
|
52
|
+
* @import {Baggage} from '@agoric/swingset-liveslots';
|
|
53
|
+
* @import {VaultFactoryZCF} from './vaultFactory.js';
|
|
54
|
+
* @import {TimerService} from '@agoric/time';
|
|
55
|
+
* @import {AuctioneerPublicFacet} from '../auction/auctioneer.js';
|
|
56
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
57
|
+
* @import {MakeERecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
48
58
|
*/
|
|
49
59
|
|
|
50
60
|
const trace = makeTracer('VD', true);
|
|
@@ -64,13 +74,9 @@ const trace = makeTracer('VD', true);
|
|
|
64
74
|
*
|
|
65
75
|
* @typedef {{
|
|
66
76
|
* burnDebt: BurnDebt;
|
|
67
|
-
* getGovernedParams: (
|
|
68
|
-
* collateralBrand: Brand,
|
|
69
|
-
* ) => import('./vaultManager.js').GovernedParamGetters;
|
|
77
|
+
* getGovernedParams: (collateralBrand: Brand) => GovernedParamGetters;
|
|
70
78
|
* mintAndTransfer: MintAndTransfer;
|
|
71
|
-
* getShortfallReporter: () => Promise<
|
|
72
|
-
* import('../reserve/assetReserve.js').ShortfallReporter
|
|
73
|
-
* >;
|
|
79
|
+
* getShortfallReporter: () => Promise<ShortfallReporter>;
|
|
74
80
|
* }} FactoryPowersFacet
|
|
75
81
|
*
|
|
76
82
|
*
|
|
@@ -78,9 +84,7 @@ const trace = makeTracer('VD', true);
|
|
|
78
84
|
* state: State;
|
|
79
85
|
* }>} MethodContext
|
|
80
86
|
*
|
|
81
|
-
* @typedef {
|
|
82
|
-
* import('./params.js').VaultDirectorParams
|
|
83
|
-
* >} VaultDirectorParamManager
|
|
87
|
+
* @typedef {TypedParamManager<VaultDirectorParams>} VaultDirectorParamManager
|
|
84
88
|
*/
|
|
85
89
|
|
|
86
90
|
const shortfallInvitationKey = 'shortfallInvitation';
|
|
@@ -101,16 +105,16 @@ export const makeAllManagersDo = (collateralManagers, vaultManagers) => {
|
|
|
101
105
|
};
|
|
102
106
|
|
|
103
107
|
/**
|
|
104
|
-
* @param {
|
|
105
|
-
* @param {
|
|
108
|
+
* @param {Baggage} baggage
|
|
109
|
+
* @param {VaultFactoryZCF} zcf
|
|
106
110
|
* @param {VaultDirectorParamManager} directorParamManager
|
|
107
111
|
* @param {ZCFMint<'nat'>} debtMint
|
|
108
|
-
* @param {ERef<
|
|
109
|
-
* @param {ERef<
|
|
112
|
+
* @param {ERef<TimerService>} timer
|
|
113
|
+
* @param {ERef<AuctioneerPublicFacet>} auctioneer
|
|
110
114
|
* @param {ERemote<StorageNode>} storageNode
|
|
111
115
|
* @param {ERemote<EMarshaller>} marshaller
|
|
112
|
-
* @param {
|
|
113
|
-
* @param {
|
|
116
|
+
* @param {MakeRecorderKit} makeRecorderKit
|
|
117
|
+
* @param {MakeERecorderKit} makeERecorderKit
|
|
114
118
|
* @param {Record<string, import('./params.js').VaultManagerParamOverrides>} managerParams
|
|
115
119
|
*/
|
|
116
120
|
const prepareVaultDirector = (
|
|
@@ -126,7 +130,7 @@ const prepareVaultDirector = (
|
|
|
126
130
|
makeERecorderKit,
|
|
127
131
|
managerParams,
|
|
128
132
|
) => {
|
|
129
|
-
/** @type {
|
|
133
|
+
/** @type {ShortfallReporter} */
|
|
130
134
|
let shortfallReporter;
|
|
131
135
|
|
|
132
136
|
/** For holding newly minted tokens until transferred */
|
|
@@ -297,7 +301,7 @@ const prepareVaultDirector = (
|
|
|
297
301
|
/**
|
|
298
302
|
* "Director" of the vault factory, overseeing "vault managers".
|
|
299
303
|
*
|
|
300
|
-
* @param {
|
|
304
|
+
* @param {VaultFactoryZCF} zcf
|
|
301
305
|
* @param {VaultDirectorParamManager} directorParamManager
|
|
302
306
|
* @param {ZCFMint<'nat'>} debtMint
|
|
303
307
|
*/
|