@agoric/inter-protocol 0.16.2-dev-d6fae11.0.d6fae11 → 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 +2 -2
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +1 -1
- 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
|
@@ -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
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {ZCF<
|
|
3
|
-
* GovernanceTerms<
|
|
3
|
+
* GovernanceTerms<VaultDirectorParams> & {
|
|
4
4
|
* priceAuthority: ERef<PriceAuthority>;
|
|
5
5
|
* reservePublicFacet: AssetReservePublicFacet;
|
|
6
|
-
* timerService:
|
|
6
|
+
* timerService: TimerService;
|
|
7
7
|
* }
|
|
8
8
|
* >} VaultFactoryZCF
|
|
9
9
|
*/
|
|
@@ -15,51 +15,10 @@ export function start(zcf: VaultFactoryZCF, privateArgs: {
|
|
|
15
15
|
initialShortfallInvitation: Invitation;
|
|
16
16
|
storageNode: Remote<StorageNode>;
|
|
17
17
|
marshaller: Remote<Marshaller>;
|
|
18
|
-
auctioneerInstance: Instance<
|
|
19
|
-
|
|
20
|
-
reservePublicFacet: AssetReservePublicFacet;
|
|
21
|
-
priceAuthority: PriceAuthority;
|
|
22
|
-
}>, privateArgs: {
|
|
23
|
-
initialPoserInvitation: Invitation;
|
|
24
|
-
storageNode: Remote<StorageNode>;
|
|
25
|
-
marshaller: Remote<Marshaller>;
|
|
26
|
-
}, baggage: Baggage) => Promise<{
|
|
27
|
-
publicFacet: globalThis.GovernedPublicFacet<{
|
|
28
|
-
getElectorate: () => import("@agoric/ertp").SetAmount<import("@endo/patterns").Key>;
|
|
29
|
-
getStartFrequency: () => RelativeTime;
|
|
30
|
-
getClockStep: () => RelativeTime;
|
|
31
|
-
getStartingRate: () => bigint;
|
|
32
|
-
getLowestRate: () => bigint;
|
|
33
|
-
getDiscountStep: () => bigint;
|
|
34
|
-
getAuctionStartDelay: () => RelativeTime;
|
|
35
|
-
getPriceLockPeriod: () => RelativeTime;
|
|
36
|
-
makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
|
|
37
|
-
getSchedules(): {
|
|
38
|
-
liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
39
|
-
nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
|
|
40
|
-
};
|
|
41
|
-
getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
|
|
42
|
-
getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
|
|
43
|
-
getPublicTopics(brand: any): {
|
|
44
|
-
bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
|
|
45
|
-
} | {
|
|
46
|
-
schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
|
|
47
|
-
};
|
|
48
|
-
makeDepositInvitation: () => Promise<Invitation<string, {
|
|
49
|
-
goal: Amount<"nat">;
|
|
50
|
-
}>>;
|
|
51
|
-
}>;
|
|
52
|
-
creatorFacet: globalThis.GovernedCreatorFacet<{
|
|
53
|
-
addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
|
|
54
|
-
getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
|
|
55
|
-
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
56
|
-
addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
|
|
57
|
-
getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
|
|
58
|
-
}>>;
|
|
59
|
-
}>>;
|
|
60
|
-
managerParams: Record<string, import("./params.js").VaultManagerParamOverrides>;
|
|
18
|
+
auctioneerInstance: Instance<typeof auctioneerStart>;
|
|
19
|
+
managerParams: Record<string, VaultManagerParamOverrides>;
|
|
61
20
|
directorParamOverrides: [object];
|
|
62
|
-
}, baggage:
|
|
21
|
+
}, baggage: Baggage): Promise<{
|
|
63
22
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
64
23
|
getParamMgrRetriever: () => {
|
|
65
24
|
get: (paramPath?: VaultFactoryParamPath) => import("./vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
@@ -233,19 +192,24 @@ export function start(zcf: VaultFactoryZCF, privateArgs: {
|
|
|
233
192
|
getInvitationAmount(name: string): import("@agoric/ertp").SetAmount<import("@agoric/zoe").InvitationDetails>;
|
|
234
193
|
}>;
|
|
235
194
|
}>;
|
|
236
|
-
export type VaultFactoryZCF = ZCF<GovernanceTerms<
|
|
195
|
+
export type VaultFactoryZCF = ZCF<GovernanceTerms<VaultDirectorParams> & {
|
|
237
196
|
priceAuthority: ERef<PriceAuthority>;
|
|
238
197
|
reservePublicFacet: AssetReservePublicFacet;
|
|
239
|
-
timerService:
|
|
198
|
+
timerService: TimerService;
|
|
240
199
|
}>;
|
|
241
200
|
export type VaultFactoryContract = ContractOf<typeof start>;
|
|
242
201
|
import type { ContractMeta } from '@agoric/zoe';
|
|
243
202
|
import type { FeeMintAccess } from '@agoric/zoe';
|
|
244
203
|
import type { Invitation } from '@agoric/zoe';
|
|
245
204
|
import type { Remote } from '@agoric/internal';
|
|
246
|
-
import type {
|
|
247
|
-
import type {
|
|
205
|
+
import type { start as auctioneerStart } from '../auction/auctioneer.js';
|
|
206
|
+
import type { VaultManagerParamOverrides } from './params.js';
|
|
207
|
+
import type { Baggage } from '@agoric/swingset-liveslots';
|
|
248
208
|
import type { ZCFSeat } from '@agoric/zoe';
|
|
249
209
|
import type { PriceQuote } from '@agoric/zoe/tools/types.js';
|
|
210
|
+
import type { VaultDirectorParams } from './params.js';
|
|
211
|
+
import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
|
|
212
|
+
import type { TimerService } from '@agoric/time';
|
|
213
|
+
import type { ZCF } from '@agoric/zoe';
|
|
250
214
|
import type { ContractOf } from '@agoric/zoe/src/zoeService/utils.js';
|
|
251
215
|
//# sourceMappingURL=vaultFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultFactory.d.ts","sourceRoot":"","sources":["vaultFactory.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultFactory.d.ts","sourceRoot":"","sources":["vaultFactory.js"],"names":[],"mappings":"AA8CA;;;;;;;;GAQG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAiBK,2BAbI,eAAe,eACf;IACN,aAAa,EAAE,aAAa,CAAC;IAC7B,sBAAsB,EAAE,UAAU,CAAC;IACnC,0BAA0B,EAAE,UAAU,CAAC;IACvC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,kBAAkB,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAC1D,sBAAsB,EAAE,CAAC,MAAM,CAAC,CAAC;CAClC,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFjB;8BA/HY,IACR,eAAe,CAAC,mBAAmB,CAAC,GAAG;IACrC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,YAAY,EAAE,YAAY,CAAC;CAC5B,CACF;mCA4HU,WAAW,OAAO,KAAK,CAAC;kCA/IoF,aAAa;mCAAb,aAAa;gCAAb,aAAa;4BAD9G,kBAAkB;8CAMA,0BAA0B;gDACxB,aAAa;6BAChC,4BAA4B;6BAPoE,aAAa;gCAE1C,4BAA4B;yCACnF,aAAa;oCAD0C,4BAA4B;kCAE1F,cAAc;yBAJ6E,aAAa;gCAC1G,qCAAqC"}
|
|
@@ -35,16 +35,21 @@ import { provideDirector } from './vaultDirector.js';
|
|
|
35
35
|
* @import {ContractMeta, FeeMintAccess, HandleOffer, Invitation, OfferHandler, TransferPart, ZCF, ZCFMint, ZCFSeat} from '@agoric/zoe';
|
|
36
36
|
* @import {ContractOf} from '@agoric/zoe/src/zoeService/utils.js';
|
|
37
37
|
* @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js';
|
|
38
|
+
* @import {VaultDirectorParams} from './params.js';
|
|
39
|
+
* @import {TimerService} from '@agoric/time';
|
|
40
|
+
* @import {start as auctioneerStart} from '../auction/auctioneer.js';
|
|
41
|
+
* @import {VaultManagerParamOverrides} from './params.js';
|
|
42
|
+
* @import {Baggage} from '@agoric/swingset-liveslots';
|
|
38
43
|
*/
|
|
39
44
|
|
|
40
45
|
const trace = makeTracer('VF', true);
|
|
41
46
|
|
|
42
47
|
/**
|
|
43
48
|
* @typedef {ZCF<
|
|
44
|
-
* GovernanceTerms<
|
|
49
|
+
* GovernanceTerms<VaultDirectorParams> & {
|
|
45
50
|
* priceAuthority: ERef<PriceAuthority>;
|
|
46
51
|
* reservePublicFacet: AssetReservePublicFacet;
|
|
47
|
-
* timerService:
|
|
52
|
+
* timerService: TimerService;
|
|
48
53
|
* }
|
|
49
54
|
* >} VaultFactoryZCF
|
|
50
55
|
*/
|
|
@@ -75,14 +80,11 @@ harden(meta);
|
|
|
75
80
|
* initialShortfallInvitation: Invitation;
|
|
76
81
|
* storageNode: Remote<StorageNode>;
|
|
77
82
|
* marshaller: Remote<Marshaller>;
|
|
78
|
-
* auctioneerInstance: Instance<
|
|
79
|
-
* managerParams: Record<
|
|
80
|
-
* string,
|
|
81
|
-
* import('./params.js').VaultManagerParamOverrides
|
|
82
|
-
* >;
|
|
83
|
+
* auctioneerInstance: Instance<typeof auctioneerStart>;
|
|
84
|
+
* managerParams: Record<string, VaultManagerParamOverrides>;
|
|
83
85
|
* directorParamOverrides: [object];
|
|
84
86
|
* }} privateArgs
|
|
85
|
-
* @param {
|
|
87
|
+
* @param {Baggage} baggage
|
|
86
88
|
*/
|
|
87
89
|
export const start = async (zcf, privateArgs, baggage) => {
|
|
88
90
|
trace('prepare start', privateArgs, [...baggage.keys()]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function prepareVaultHolder(baggage:
|
|
1
|
+
export function prepareVaultHolder(baggage: Baggage, makeRecorderKit: MakeRecorderKit): (vault: import("@endo/exo").Guarded<{
|
|
2
2
|
getVaultSeat(): globalThis.ZCFSeat;
|
|
3
3
|
initVaultKit(seat: ZCFSeat, storageNode: Remote<StorageNode>): Promise<{
|
|
4
4
|
publicSubscribers: {
|
|
@@ -164,8 +164,11 @@ export function prepareVaultHolder(baggage: import("@agoric/swingset-liveslots")
|
|
|
164
164
|
};
|
|
165
165
|
}>;
|
|
166
166
|
export type State = {
|
|
167
|
-
topicKit:
|
|
167
|
+
topicKit: RecorderKit<VaultNotification>;
|
|
168
168
|
vault: Vault | null;
|
|
169
169
|
};
|
|
170
|
+
import type { Baggage } from '@agoric/swingset-liveslots';
|
|
171
|
+
import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
170
172
|
import type { Remote } from '@agoric/internal';
|
|
173
|
+
import type { RecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
171
174
|
//# sourceMappingURL=vaultHolder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultHolder.d.ts","sourceRoot":"","sources":["vaultHolder.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultHolder.d.ts","sourceRoot":"","sources":["vaultHolder.js"],"names":[],"mappings":"AAyCO,4CAHI,OAAO,mBACP,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;YAqElB;;;eAGG;;;;;;;;;;;;;;;;;;;QA3CH,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;oBAwCtD;;;uBAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAHH;;;mBAGG;;;;;;;;;;;;;;;;;;;QAHH;;;WAGG;;;;;;;;;;;;;;;;;;;;;GAoBV;oBAnHY;IACR,QAAQ,EAAE,YAAY,iBAAiB,CAAC,CAAC;IACzC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;6BARsB,4BAA4B;qCACpB,6CAA6C;4BAJtD,kBAAkB;iCAEb,6CAA6C"}
|
|
@@ -8,11 +8,14 @@ import { UnguardedHelperI } from '@agoric/internal/src/typeGuards.js';
|
|
|
8
8
|
/**
|
|
9
9
|
* @import {Remote} from '@agoric/internal';
|
|
10
10
|
* @import {Key, Pattern} from '@endo/patterns';
|
|
11
|
+
* @import {RecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
12
|
+
* @import {Baggage} from '@agoric/swingset-liveslots';
|
|
13
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
11
14
|
*/
|
|
12
15
|
|
|
13
16
|
/**
|
|
14
17
|
* @typedef {{
|
|
15
|
-
* topicKit:
|
|
18
|
+
* topicKit: RecorderKit<VaultNotification>;
|
|
16
19
|
* vault: Vault | null;
|
|
17
20
|
* }} State
|
|
18
21
|
*/
|
|
@@ -33,8 +36,8 @@ const PUBLIC_TOPICS = {
|
|
|
33
36
|
};
|
|
34
37
|
|
|
35
38
|
/**
|
|
36
|
-
* @param {
|
|
37
|
-
* @param {
|
|
39
|
+
* @param {Baggage} baggage
|
|
40
|
+
* @param {MakeRecorderKit} makeRecorderKit
|
|
38
41
|
*/
|
|
39
42
|
export const prepareVaultHolder = (baggage, makeRecorderKit) => {
|
|
40
43
|
const makeVaultHolderKit = prepareExoClassKit(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function prepareVaultKit(baggage:
|
|
1
|
+
export function prepareVaultKit(baggage: Baggage, makeRecorderKit: MakeRecorderKit): (vault: Vault, storageNode: Remote<StorageNode>) => {
|
|
2
2
|
publicSubscribers: {
|
|
3
3
|
vault: {
|
|
4
4
|
description: string;
|
|
@@ -29,6 +29,8 @@ export function prepareVaultKit(baggage: import("@agoric/swingset-liveslots").Ba
|
|
|
29
29
|
vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
|
|
30
30
|
};
|
|
31
31
|
export type VaultKit = EReturn<EReturn<typeof prepareVaultKit>>;
|
|
32
|
+
import type { Baggage } from '@agoric/swingset-liveslots';
|
|
33
|
+
import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
32
34
|
import type { Remote } from '@agoric/internal';
|
|
33
35
|
import type { EReturn } from '@endo/far';
|
|
34
36
|
//# sourceMappingURL=vaultKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultKit.d.ts","sourceRoot":"","sources":["vaultKit.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultKit.d.ts","sourceRoot":"","sources":["vaultKit.js"],"names":[],"mappings":"AAuBO,yCAHI,OAAO,mBACP,eAAe,WASb,KAAK,eACL,OAAO,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB/B;uBAEa,QAAQ,QAAQ,OAAO,eAAe,CAAC,CAAC;6BAzC5B,4BAA4B;qCACpB,6CAA6C;4BAHtD,kBAAkB;6BACjB,WAAW"}
|
|
@@ -10,14 +10,16 @@ const trace = makeTracer('VK', true);
|
|
|
10
10
|
/**
|
|
11
11
|
* @import {Remote} from '@agoric/internal';
|
|
12
12
|
* @import {EReturn} from '@endo/far';
|
|
13
|
+
* @import {Baggage} from '@agoric/swingset-liveslots';
|
|
14
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
13
15
|
*/
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* Wrap the VaultHolder duration object in a record suitable for the result of
|
|
17
19
|
* an invitation.
|
|
18
20
|
*
|
|
19
|
-
* @param {
|
|
20
|
-
* @param {
|
|
21
|
+
* @param {Baggage} baggage
|
|
22
|
+
* @param {MakeRecorderKit} makeRecorderKit
|
|
21
23
|
*/
|
|
22
24
|
export const prepareVaultKit = (baggage, makeRecorderKit) => {
|
|
23
25
|
trace('prepareVaultKit', [...baggage.keys()]);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export function watchQuoteNotifier<T, A extends any[] = unknown[]>(notifierP: ERef<LatestTopic<T>>, watcher:
|
|
2
|
-
export function prepareVaultManagerKit(baggage:
|
|
3
|
-
zcf:
|
|
1
|
+
export function watchQuoteNotifier<T, A extends any[] = unknown[]>(notifierP: ERef<LatestTopic<T>>, watcher: PromiseWatcher<T, A>, ...args: A): Promise<void>;
|
|
2
|
+
export function prepareVaultManagerKit(baggage: Baggage, { zcf, marshaller, makeRecorderKit, factoryPowers }: {
|
|
3
|
+
zcf: VaultFactoryZCF;
|
|
4
4
|
marshaller: ERemote<EMarshaller>;
|
|
5
|
-
makeRecorderKit:
|
|
6
|
-
makeERecorderKit:
|
|
7
|
-
factoryPowers:
|
|
5
|
+
makeRecorderKit: MakeRecorderKit;
|
|
6
|
+
makeERecorderKit: MakeERecorderKit;
|
|
7
|
+
factoryPowers: FactoryPowersFacet;
|
|
8
8
|
}): (externalParams: Omit<Parameters<(params: Readonly<{
|
|
9
9
|
debtMint: ZCFMint<"nat">;
|
|
10
10
|
collateralBrand: Brand<"nat">;
|
|
@@ -46,7 +46,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
46
46
|
}>;
|
|
47
47
|
vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
|
|
48
48
|
}, undefined>>;
|
|
49
|
-
getQuotes():
|
|
49
|
+
getQuotes(): StoredNotifier<PriceQuote>;
|
|
50
50
|
getCompoundedInterest(): Ratio;
|
|
51
51
|
getPublicTopics(): {
|
|
52
52
|
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<AssetState>;
|
|
@@ -90,7 +90,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
90
90
|
collateralAmount: Amount<"nat">;
|
|
91
91
|
debtAmount: Amount<"nat">;
|
|
92
92
|
}>, totalCollateral: Amount<"nat">): {
|
|
93
|
-
plan:
|
|
93
|
+
plan: DistributionPlan;
|
|
94
94
|
vaultsInPlan: import("@endo/exo").Guarded<{
|
|
95
95
|
getVaultSeat(): globalThis.ZCFSeat;
|
|
96
96
|
initVaultKit(seat: ZCFSeat, storageNode: Remote<StorageNode>): Promise<{
|
|
@@ -131,7 +131,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
131
131
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
132
132
|
getCollateralAmount(): Amount<"nat">;
|
|
133
133
|
getCurrentDebt(): Amount<"nat">;
|
|
134
|
-
getNormalizedDebt():
|
|
134
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
135
135
|
}>[];
|
|
136
136
|
};
|
|
137
137
|
/**
|
|
@@ -141,7 +141,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
141
141
|
* manually in dev and verified this function recovers as expected.
|
|
142
142
|
*
|
|
143
143
|
* @param {object} obj
|
|
144
|
-
* @param {
|
|
144
|
+
* @param {DistributionPlan} obj.plan
|
|
145
145
|
* @param {Vault[]} obj.vaultsInPlan
|
|
146
146
|
* @param {ZCFSeat} obj.liqSeat
|
|
147
147
|
* @param {Amount<'nat'>} obj.totalCollateral
|
|
@@ -149,7 +149,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
149
149
|
* @returns {void}
|
|
150
150
|
*/
|
|
151
151
|
distributeProceeds({ plan, vaultsInPlan, liqSeat, totalCollateral, totalDebt, }: {
|
|
152
|
-
plan:
|
|
152
|
+
plan: DistributionPlan;
|
|
153
153
|
vaultsInPlan: Vault[];
|
|
154
154
|
liqSeat: ZCFSeat;
|
|
155
155
|
totalCollateral: Amount<"nat">;
|
|
@@ -260,7 +260,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
260
260
|
}>;
|
|
261
261
|
vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
|
|
262
262
|
}, undefined>>;
|
|
263
|
-
getQuotes():
|
|
263
|
+
getQuotes(): StoredNotifier<PriceQuote>;
|
|
264
264
|
getCompoundedInterest(): Ratio;
|
|
265
265
|
getPublicTopics(): {
|
|
266
266
|
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<AssetState>;
|
|
@@ -303,7 +303,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
303
303
|
}>;
|
|
304
304
|
vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
|
|
305
305
|
}, undefined>>;
|
|
306
|
-
getQuotes():
|
|
306
|
+
getQuotes(): StoredNotifier<PriceQuote>;
|
|
307
307
|
getCompoundedInterest(): Ratio;
|
|
308
308
|
getPublicTopics(): {
|
|
309
309
|
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<AssetState>;
|
|
@@ -347,7 +347,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
347
347
|
collateralAmount: Amount<"nat">;
|
|
348
348
|
debtAmount: Amount<"nat">;
|
|
349
349
|
}>, totalCollateral: Amount<"nat">): {
|
|
350
|
-
plan:
|
|
350
|
+
plan: DistributionPlan;
|
|
351
351
|
vaultsInPlan: import("@endo/exo").Guarded<{
|
|
352
352
|
getVaultSeat(): globalThis.ZCFSeat;
|
|
353
353
|
initVaultKit(seat: ZCFSeat, storageNode: Remote<StorageNode>): Promise<{
|
|
@@ -388,7 +388,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
388
388
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
389
389
|
getCollateralAmount(): Amount<"nat">;
|
|
390
390
|
getCurrentDebt(): Amount<"nat">;
|
|
391
|
-
getNormalizedDebt():
|
|
391
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
392
392
|
}>[];
|
|
393
393
|
};
|
|
394
394
|
/**
|
|
@@ -398,7 +398,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
398
398
|
* manually in dev and verified this function recovers as expected.
|
|
399
399
|
*
|
|
400
400
|
* @param {object} obj
|
|
401
|
-
* @param {
|
|
401
|
+
* @param {DistributionPlan} obj.plan
|
|
402
402
|
* @param {Vault[]} obj.vaultsInPlan
|
|
403
403
|
* @param {ZCFSeat} obj.liqSeat
|
|
404
404
|
* @param {Amount<'nat'>} obj.totalCollateral
|
|
@@ -406,7 +406,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
406
406
|
* @returns {void}
|
|
407
407
|
*/
|
|
408
408
|
distributeProceeds({ plan, vaultsInPlan, liqSeat, totalCollateral, totalDebt, }: {
|
|
409
|
-
plan:
|
|
409
|
+
plan: DistributionPlan;
|
|
410
410
|
vaultsInPlan: Vault[];
|
|
411
411
|
liqSeat: ZCFSeat;
|
|
412
412
|
totalCollateral: Amount<"nat">;
|
|
@@ -517,7 +517,7 @@ export function prepareVaultManagerKit(baggage: import("@agoric/swingset-liveslo
|
|
|
517
517
|
}>;
|
|
518
518
|
vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
|
|
519
519
|
}, undefined>>;
|
|
520
|
-
getQuotes():
|
|
520
|
+
getQuotes(): StoredNotifier<PriceQuote>;
|
|
521
521
|
getCompoundedInterest(): Ratio;
|
|
522
522
|
getPublicTopics(): {
|
|
523
523
|
asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<AssetState>;
|
|
@@ -632,7 +632,7 @@ export type HeldParams = Readonly<{
|
|
|
632
632
|
storageNode: Remote<StorageNode>;
|
|
633
633
|
}>;
|
|
634
634
|
export type ImmutableState = {
|
|
635
|
-
assetTopicKit:
|
|
635
|
+
assetTopicKit: RecorderKit<AssetState>;
|
|
636
636
|
debtBrand: Brand<"nat">;
|
|
637
637
|
liquidatingVaults: SetStore<Vault>;
|
|
638
638
|
metricsTopicKit: import("@agoric/zoe/src/contractSupport/recorder.js").RecorderKit<MetricsNotification>;
|
|
@@ -666,14 +666,23 @@ export type VaultManagerKit = EReturn<EReturn<typeof prepareVaultManagerKit>>;
|
|
|
666
666
|
*/
|
|
667
667
|
export type VaultManager = VaultManagerKit["self"];
|
|
668
668
|
export type CollateralManager = VaultManagerKit["collateral"];
|
|
669
|
+
import type { PromiseWatcher } from '@agoric/swingset-liveslots';
|
|
670
|
+
import type { Baggage } from '@agoric/swingset-liveslots';
|
|
671
|
+
import type { VaultFactoryZCF } from './vaultFactory.js';
|
|
669
672
|
import type { EMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
670
673
|
import type { ERemote } from '@agoric/internal';
|
|
674
|
+
import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
675
|
+
import type { MakeERecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
676
|
+
import type { FactoryPowersFacet } from './vaultDirector.js';
|
|
671
677
|
import type { ZCFMint } from '@agoric/zoe';
|
|
672
678
|
import type { Remote } from '@agoric/internal';
|
|
673
679
|
import type { NormalizedDebt } from './storeUtils.js';
|
|
674
680
|
import type { PriceQuote } from '@agoric/zoe/tools/types.js';
|
|
681
|
+
import type { StoredNotifier } from '@agoric/notifier';
|
|
675
682
|
import type { MapStore } from '@agoric/store';
|
|
683
|
+
import type { DistributionPlan } from './proceeds.js';
|
|
676
684
|
import type { RelativeTime } from '@agoric/time';
|
|
685
|
+
import type { RecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
677
686
|
import type { SetStore } from '@agoric/store';
|
|
678
687
|
import type { EReturn } from '@endo/far';
|
|
679
688
|
//# sourceMappingURL=vaultManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,16 @@ import { AuctionPFShape } from '../auction/auctioneer.js';
|
|
|
72
72
|
* @import {EReturn} from '@endo/far';
|
|
73
73
|
* @import {ZCFMint} from '@agoric/zoe';
|
|
74
74
|
* @import {PriceQuote} from '@agoric/zoe/tools/types.js';
|
|
75
|
+
* @import {PromiseWatcher} from '@agoric/swingset-liveslots';
|
|
76
|
+
* @import {RecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
77
|
+
* @import {StoredNotifier} from '@agoric/notifier';
|
|
78
|
+
* @import {Baggage} from '@agoric/swingset-liveslots';
|
|
79
|
+
* @import {VaultFactoryZCF} from './vaultFactory.js';
|
|
80
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
81
|
+
* @import {MakeERecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
82
|
+
* @import {FactoryPowersFacet} from './vaultDirector.js';
|
|
83
|
+
* @import {VaultBalances} from './proceeds.js';
|
|
84
|
+
* @import {DistributionPlan} from './proceeds.js';
|
|
75
85
|
*/
|
|
76
86
|
|
|
77
87
|
const trace = makeTracer('VM');
|
|
@@ -84,7 +94,7 @@ const trace = makeTracer('VM');
|
|
|
84
94
|
* @template T notifier topic
|
|
85
95
|
* @template {any[]} [A=unknown[]] arbitrary arguments
|
|
86
96
|
* @param {ERef<LatestTopic<T>>} notifierP
|
|
87
|
-
* @param {
|
|
97
|
+
* @param {PromiseWatcher<T, A>} watcher
|
|
88
98
|
* @param {A} args
|
|
89
99
|
*/
|
|
90
100
|
export const watchQuoteNotifier = async (notifierP, watcher, ...args) => {
|
|
@@ -177,7 +187,7 @@ export const watchQuoteNotifier = async (notifierP, watcher, ...args) => {
|
|
|
177
187
|
|
|
178
188
|
/**
|
|
179
189
|
* @typedef {{
|
|
180
|
-
* assetTopicKit:
|
|
190
|
+
* assetTopicKit: RecorderKit<AssetState>;
|
|
181
191
|
* debtBrand: Brand<'nat'>;
|
|
182
192
|
* liquidatingVaults: SetStore<Vault>;
|
|
183
193
|
* metricsTopicKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<MetricsNotification>;
|
|
@@ -209,7 +219,7 @@ export const watchQuoteNotifier = async (notifierP, watcher, ...args) => {
|
|
|
209
219
|
/**
|
|
210
220
|
* @type {(brand: Brand) => {
|
|
211
221
|
* prioritizedVaults: ReturnType<typeof makePrioritizedVaults>;
|
|
212
|
-
* storedQuotesNotifier:
|
|
222
|
+
* storedQuotesNotifier: StoredNotifier<PriceQuote>;
|
|
213
223
|
* storedCollateralQuote: PriceQuote | null;
|
|
214
224
|
* }}
|
|
215
225
|
*/
|
|
@@ -217,13 +227,13 @@ export const watchQuoteNotifier = async (notifierP, watcher, ...args) => {
|
|
|
217
227
|
const collateralEphemera = makeEphemeraProvider(() => /** @type {any} */ ({}));
|
|
218
228
|
|
|
219
229
|
/**
|
|
220
|
-
* @param {
|
|
230
|
+
* @param {Baggage} baggage
|
|
221
231
|
* @param {{
|
|
222
|
-
* zcf:
|
|
232
|
+
* zcf: VaultFactoryZCF;
|
|
223
233
|
* marshaller: ERemote<EMarshaller>;
|
|
224
|
-
* makeRecorderKit:
|
|
225
|
-
* makeERecorderKit:
|
|
226
|
-
* factoryPowers:
|
|
234
|
+
* makeRecorderKit: MakeRecorderKit;
|
|
235
|
+
* makeERecorderKit: MakeERecorderKit;
|
|
236
|
+
* factoryPowers: FactoryPowersFacet;
|
|
227
237
|
* }} powers
|
|
228
238
|
*/
|
|
229
239
|
export const prepareVaultManagerKit = (
|
|
@@ -720,8 +730,7 @@ export const prepareVaultManagerKit = (
|
|
|
720
730
|
|
|
721
731
|
// unzip the entry tuples
|
|
722
732
|
const vaultsInPlan = /** @type {Vault[]} */ ([]);
|
|
723
|
-
const vaultsBalances =
|
|
724
|
-
/** @type {import('./proceeds.js').VaultBalances[]} */ ([]);
|
|
733
|
+
const vaultsBalances = /** @type {VaultBalances[]} */ ([]);
|
|
725
734
|
for (const [vault, balances] of bestToWorst) {
|
|
726
735
|
vaultsInPlan.push(vault);
|
|
727
736
|
vaultsBalances.push({
|
|
@@ -752,7 +761,7 @@ export const prepareVaultManagerKit = (
|
|
|
752
761
|
* manually in dev and verified this function recovers as expected.
|
|
753
762
|
*
|
|
754
763
|
* @param {object} obj
|
|
755
|
-
* @param {
|
|
764
|
+
* @param {DistributionPlan} obj.plan
|
|
756
765
|
* @param {Vault[]} obj.vaultsInPlan
|
|
757
766
|
* @param {ZCFSeat} obj.liqSeat
|
|
758
767
|
* @param {Amount<'nat'>} obj.totalCollateral
|