@agoric/inter-protocol 0.16.2-dev-6e5b422.0 → 0.16.2-dev-bd1190d.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.
Files changed (112) hide show
  1. package/bundles/bundle-auctioneer-js-meta.json +116 -116
  2. package/bundles/bundle-econCommitteeCharter-js-meta.json +71 -71
  3. package/bundles/bundle-feeDistributor-js-meta.json +57 -57
  4. package/bundles/bundle-fluxAggregatorKit-js-meta.json +111 -111
  5. package/bundles/bundle-psm-js-meta.json +109 -109
  6. package/bundles/bundle-reserve-js-meta.json +108 -108
  7. package/bundles/bundle-scaledPriceAuthority-js-meta.json +84 -84
  8. package/bundles/bundle-vaultFactory-js-meta.json +133 -133
  9. package/package.json +19 -17
  10. package/src/auction/auctionBook.d.ts +80 -0
  11. package/src/auction/auctionBook.d.ts.map +1 -0
  12. package/src/auction/auctioneer.d.ts +75 -0
  13. package/src/auction/auctioneer.d.ts.map +1 -0
  14. package/src/auction/offerBook.d.ts +72 -0
  15. package/src/auction/offerBook.d.ts.map +1 -0
  16. package/src/auction/params.d.ts +142 -0
  17. package/src/auction/params.d.ts.map +1 -0
  18. package/src/auction/scheduleMath.d.ts +4 -0
  19. package/src/auction/scheduleMath.d.ts.map +1 -0
  20. package/src/auction/scheduler.d.ts +49 -0
  21. package/src/auction/scheduler.d.ts.map +1 -0
  22. package/src/auction/sortedOffers.d.ts +8 -0
  23. package/src/auction/sortedOffers.d.ts.map +1 -0
  24. package/src/auction/util.d.ts +30 -0
  25. package/src/auction/util.d.ts.map +1 -0
  26. package/src/clientSupport.d.ts +129 -0
  27. package/src/clientSupport.d.ts.map +1 -0
  28. package/src/collectFees.d.ts +2 -0
  29. package/src/collectFees.d.ts.map +1 -0
  30. package/src/contractSupport.d.ts +33 -0
  31. package/src/contractSupport.d.ts.map +1 -0
  32. package/src/econCommitteeCharter.d.ts +45 -0
  33. package/src/econCommitteeCharter.d.ts.map +1 -0
  34. package/src/feeDistributor.d.ts +234 -0
  35. package/src/feeDistributor.d.ts.map +1 -0
  36. package/src/index.d.ts +2 -0
  37. package/src/index.d.ts.map +1 -0
  38. package/src/interest-math.d.ts +3 -0
  39. package/src/interest-math.d.ts.map +1 -0
  40. package/src/interest.d.ts +28 -0
  41. package/src/interest.d.ts.map +1 -0
  42. package/src/price/fluxAggregatorContract.d.ts +110 -0
  43. package/src/price/fluxAggregatorContract.d.ts.map +1 -0
  44. package/src/price/fluxAggregatorKit.d.ts +150 -0
  45. package/src/price/fluxAggregatorKit.d.ts.map +1 -0
  46. package/src/price/priceOracleKit.d.ts +58 -0
  47. package/src/price/priceOracleKit.d.ts.map +1 -0
  48. package/src/price/roundsManager.d.ts +348 -0
  49. package/src/price/roundsManager.d.ts.map +1 -0
  50. package/src/proposals/addAssetToVault.d.ts +155 -0
  51. package/src/proposals/addAssetToVault.d.ts.map +1 -0
  52. package/src/proposals/committee-proposal.d.ts +121 -0
  53. package/src/proposals/committee-proposal.d.ts.map +1 -0
  54. package/src/proposals/core-proposal.d.ts +149 -0
  55. package/src/proposals/core-proposal.d.ts.map +1 -0
  56. package/src/proposals/econ-behaviors.d.ts +201 -0
  57. package/src/proposals/econ-behaviors.d.ts.map +1 -0
  58. package/src/proposals/price-feed-proposal.d.ts +83 -0
  59. package/src/proposals/price-feed-proposal.d.ts.map +1 -0
  60. package/src/proposals/startEconCommittee.d.ts +34 -0
  61. package/src/proposals/startEconCommittee.d.ts.map +1 -0
  62. package/src/proposals/startPSM.d.ts +61 -0
  63. package/src/proposals/startPSM.d.ts.map +1 -0
  64. package/src/proposals/startPSM.js +8 -7
  65. package/src/proposals/utils.d.ts +15 -0
  66. package/src/proposals/utils.d.ts.map +1 -0
  67. package/src/psm/psm.d.ts +193 -0
  68. package/src/psm/psm.d.ts.map +1 -0
  69. package/src/psm/types.d.ts +2 -0
  70. package/src/psm/types.d.ts.map +1 -0
  71. package/src/reserve/assetReserve.d.ts +42 -0
  72. package/src/reserve/assetReserve.d.ts.map +1 -0
  73. package/src/reserve/assetReserveKit.d.ts +126 -0
  74. package/src/reserve/assetReserveKit.d.ts.map +1 -0
  75. package/src/reserve/params.d.ts +10 -0
  76. package/src/reserve/params.d.ts.map +1 -0
  77. package/src/tokens.d.ts +36 -0
  78. package/src/tokens.d.ts.map +1 -0
  79. package/src/typeGuards.d.ts +5 -0
  80. package/src/typeGuards.d.ts.map +1 -0
  81. package/src/vaultFactory/burn.d.ts +2 -0
  82. package/src/vaultFactory/burn.d.ts.map +1 -0
  83. package/src/vaultFactory/liquidation.d.ts +24 -0
  84. package/src/vaultFactory/liquidation.d.ts.map +1 -0
  85. package/src/vaultFactory/math.d.ts +10 -0
  86. package/src/vaultFactory/math.d.ts.map +1 -0
  87. package/src/vaultFactory/orderedVaultStore.d.ts +94 -0
  88. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
  89. package/src/vaultFactory/params.d.ts +162 -0
  90. package/src/vaultFactory/params.d.ts.map +1 -0
  91. package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
  92. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
  93. package/src/vaultFactory/proceeds.d.ts +34 -0
  94. package/src/vaultFactory/proceeds.d.ts.map +1 -0
  95. package/src/vaultFactory/storeUtils.d.ts +29 -0
  96. package/src/vaultFactory/storeUtils.d.ts.map +1 -0
  97. package/src/vaultFactory/type-imports.d.ts +2 -0
  98. package/src/vaultFactory/type-imports.d.ts.map +1 -0
  99. package/src/vaultFactory/types.d.ts +132 -0
  100. package/src/vaultFactory/types.d.ts.map +1 -0
  101. package/src/vaultFactory/vault.d.ts +585 -0
  102. package/src/vaultFactory/vault.d.ts.map +1 -0
  103. package/src/vaultFactory/vaultDirector.d.ts +582 -0
  104. package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
  105. package/src/vaultFactory/vaultFactory.d.ts +159 -0
  106. package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
  107. package/src/vaultFactory/vaultHolder.d.ts +205 -0
  108. package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
  109. package/src/vaultFactory/vaultKit.d.ts +32 -0
  110. package/src/vaultFactory/vaultKit.d.ts.map +1 -0
  111. package/src/vaultFactory/vaultManager.d.ts +552 -0
  112. package/src/vaultFactory/vaultManager.d.ts.map +1 -0
@@ -0,0 +1,582 @@
1
+ /**
2
+ * Prepare the VaultDirector kind, get or make the singleton
3
+ *
4
+ * @type {(...pvdArgs: Parameters<typeof prepareVaultDirector>) => ReturnType<ReturnType<typeof prepareVaultDirector>>}
5
+ */
6
+ export const provideDirector: (baggage: MapStore<string, unknown>, zcf: import("./vaultFactory.js").VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<import("@agoric/time/src/types").TimerService>, auctioneer: ERef<GovernedPublicFacet<{
7
+ getElectorate: () => Amount<"set">;
8
+ getStartFrequency: () => import("@agoric/time/src/types").RelativeTime;
9
+ getClockStep: () => import("@agoric/time/src/types").RelativeTime;
10
+ getStartingRate: () => bigint;
11
+ getLowestRate: () => bigint;
12
+ getDiscountStep: () => bigint;
13
+ getAuctionStartDelay: () => import("@agoric/time/src/types").RelativeTime;
14
+ getPriceLockPeriod: () => import("@agoric/time/src/types").RelativeTime;
15
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<R, A>>;
16
+ getSchedules(): {
17
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null; /** @param {VaultFactoryParamPath} paramPath */
18
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
19
+ };
20
+ getScheduleUpdates(): Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
21
+ getBookDataUpdates(brand: any): Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
22
+ getPublicTopics(brand: any): {
23
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
24
+ } | {
25
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
26
+ };
27
+ makeDepositInvitation: () => Promise<Invitation<R, A>>;
28
+ }>>, storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller<unknown>>, makeRecorderKit: <T>(storageNode: StorageNode, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => import("@agoric/zoe/src/contractSupport/recorder.js").RecorderKit<T>, makeERecorderKit: <T_1>(storageNodeP: ERef<StorageNode>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T_1> | undefined) => import("@agoric/zoe/src/contractSupport/recorder.js").EventualRecorderKit<T_1>) => ReturnType<ReturnType<typeof prepareVaultDirector>>;
29
+ export type MetricsNotification = {
30
+ collaterals: Brand[];
31
+ rewardPoolAllocation: AmountKeywordRecord;
32
+ };
33
+ export type ImmutableState = Readonly<{}>;
34
+ export type MutableState = {};
35
+ export type State = ImmutableState & MutableState;
36
+ export type FactoryPowersFacet = {
37
+ burnDebt: BurnDebt;
38
+ getGovernedParams: (collateralBrand: Brand) => import('./vaultManager.js').GovernedParamGetters;
39
+ mintAndTransfer: MintAndTransfer;
40
+ getShortfallReporter: () => Promise<import('../reserve/assetReserve.js').ShortfallReporter>;
41
+ };
42
+ export type MethodContext = Readonly<{
43
+ state: State;
44
+ }>;
45
+ export type VaultDirectorParamManager = import('@agoric/governance/src/contractGovernance/typedParamManager').TypedParamManager<import('./params.js').VaultDirectorParams>;
46
+ /**
47
+ * @param {import('@agoric/ertp').Baggage} baggage
48
+ * @param {import('./vaultFactory.js').VaultFactoryZCF} zcf
49
+ * @param {VaultDirectorParamManager} directorParamManager
50
+ * @param {ZCFMint<"nat">} debtMint
51
+ * @param {ERef<import('@agoric/time/src/types').TimerService>} timer
52
+ * @param {ERef<import('../auction/auctioneer.js').AuctioneerPublicFacet>} auctioneer
53
+ * @param {ERef<StorageNode>} storageNode
54
+ * @param {ERef<Marshaller>} marshaller
55
+ * @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit} makeRecorderKit
56
+ * @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeERecorderKit} makeERecorderKit
57
+ */
58
+ declare function prepareVaultDirector(baggage: MapStore<string, unknown>, zcf: import('./vaultFactory.js').VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<import('@agoric/time/src/types').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): () => {
59
+ creator: {
60
+ getParamMgrRetriever: () => {
61
+ /** @param {VaultFactoryParamPath} paramPath */
62
+ get: (paramPath?: VaultFactoryParamPath) => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
63
+ DebtLimit: "amount";
64
+ StabilityFee: "ratio";
65
+ LiquidationPadding: "ratio";
66
+ LiquidationMargin: "ratio";
67
+ LiquidationPenalty: "ratio";
68
+ MintFee: "ratio";
69
+ }> | VaultDirectorParamManager;
70
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
71
+ /** @param {VaultFactoryParamPath} paramPath */
72
+ get: (paramPath?: VaultFactoryParamPath) => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
73
+ DebtLimit: "amount";
74
+ StabilityFee: "ratio";
75
+ LiquidationPadding: "ratio";
76
+ LiquidationMargin: "ratio";
77
+ LiquidationPenalty: "ratio";
78
+ MintFee: "ratio";
79
+ }> | VaultDirectorParamManager;
80
+ }>;
81
+ /**
82
+ * @param {string} name
83
+ */
84
+ getInvitation(name: string): Promise<Invitation<R, A>>;
85
+ getLimitedCreatorFacet(): {
86
+ /**
87
+ * @param {Issuer<'nat'>} collateralIssuer
88
+ * @param {Keyword} collateralKeyword
89
+ * @param {VaultManagerParamValues} initialParamValues
90
+ */
91
+ addVaultType(collateralIssuer: Issuer<'nat'>, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<{
92
+ getGovernedParams(): import("./vaultManager.js").GovernedParamGetters;
93
+ makeVaultKit(seat: ZCFSeat): Promise<{
94
+ publicSubscribers: {
95
+ vault: {
96
+ description: string;
97
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
98
+ storagePath: Promise<string>;
99
+ };
100
+ };
101
+ invitationMakers: {
102
+ AdjustBalances(): Promise<Invitation<R, A>>;
103
+ CloseVault(): Promise<Invitation<R, A>>;
104
+ TransferVault(): Promise<Invitation<R, A>>;
105
+ };
106
+ vault: {
107
+ getPublicTopics(): {
108
+ vault: {
109
+ description: string;
110
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
111
+ storagePath: Promise<string>;
112
+ };
113
+ };
114
+ makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
115
+ makeCloseInvitation(): Promise<Invitation<R, A>>;
116
+ makeTransferInvitation(): Promise<Invitation<R, A>>;
117
+ getCollateralAmount(): Amount<"nat">; /** @type {import('@agoric/zoe/src/contractSupport/recorder.js').TypedMatcher<MetricsNotification>} */
118
+ getCurrentDebt(): Amount<"nat">;
119
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
120
+ };
121
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
122
+ }>;
123
+ getCollateralQuote(): PriceQuote;
124
+ getPublicFacet(): {
125
+ makeVaultInvitation(): Promise<Invitation<R, A>>;
126
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
127
+ getCompoundedStabilityFee(): Ratio;
128
+ getPublicTopics(): {
129
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
130
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
131
+ };
132
+ };
133
+ lockOraclePrices(): PriceQuote;
134
+ liquidateVaults(auctionPF: ERef<GovernedPublicFacet<{
135
+ getElectorate: () => Amount<"set">;
136
+ getStartFrequency: () => import("@agoric/time/src/types").RelativeTime;
137
+ getClockStep: () => import("@agoric/time/src/types").RelativeTime;
138
+ getStartingRate: () => bigint;
139
+ getLowestRate: () => bigint;
140
+ getDiscountStep: () => bigint;
141
+ getAuctionStartDelay: () => import("@agoric/time/src/types").RelativeTime;
142
+ getPriceLockPeriod: () => import("@agoric/time/src/types").RelativeTime;
143
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<R, A>>;
144
+ getSchedules(): {
145
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null; /** @param {VaultFactoryParamPath} paramPath */
146
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
147
+ };
148
+ getScheduleUpdates(): Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
149
+ getBookDataUpdates(brand: any): Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
150
+ getPublicTopics(brand: any): {
151
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
152
+ } | {
153
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
154
+ };
155
+ makeDepositInvitation: () => Promise<Invitation<R, A>>;
156
+ }>>): Promise<void>;
157
+ }>;
158
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
159
+ getRewardAllocation(): AmountKeywordRecord;
160
+ makeLiquidationWaker(): {
161
+ wake: (timestamp: any) => any;
162
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
163
+ wake: (timestamp: any) => any;
164
+ }>;
165
+ makeReschedulerWaker(): {
166
+ wake: (timestamp: any) => any;
167
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
168
+ wake: (timestamp: any) => any;
169
+ }>;
170
+ makePriceLockWaker(): {
171
+ wake: (timestamp: any) => any;
172
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
173
+ wake: (timestamp: any) => any;
174
+ }>;
175
+ };
176
+ /** @returns {ERef<GovernedApis>} */
177
+ getGovernedApis(): ERef<GovernedApis>;
178
+ getGovernedApiNames(): never[];
179
+ setOfferFilter: (strings: any) => Promise<void>;
180
+ };
181
+ machine: {
182
+ /**
183
+ * @param {Issuer<'nat'>} collateralIssuer
184
+ * @param {Keyword} collateralKeyword
185
+ * @param {VaultManagerParamValues} initialParamValues
186
+ */
187
+ addVaultType(collateralIssuer: Issuer<'nat'>, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<{
188
+ getGovernedParams(): import("./vaultManager.js").GovernedParamGetters;
189
+ makeVaultKit(seat: ZCFSeat): Promise<{
190
+ publicSubscribers: {
191
+ vault: {
192
+ description: string;
193
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
194
+ storagePath: Promise<string>;
195
+ };
196
+ };
197
+ invitationMakers: {
198
+ AdjustBalances(): Promise<Invitation<R, A>>;
199
+ CloseVault(): Promise<Invitation<R, A>>;
200
+ TransferVault(): Promise<Invitation<R, A>>;
201
+ };
202
+ vault: {
203
+ getPublicTopics(): {
204
+ vault: {
205
+ description: string;
206
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
207
+ storagePath: Promise<string>;
208
+ };
209
+ };
210
+ makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
211
+ makeCloseInvitation(): Promise<Invitation<R, A>>;
212
+ makeTransferInvitation(): Promise<Invitation<R, A>>;
213
+ getCollateralAmount(): Amount<"nat">; /** @type {import('@agoric/zoe/src/contractSupport/recorder.js').TypedMatcher<MetricsNotification>} */
214
+ getCurrentDebt(): Amount<"nat">;
215
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
216
+ };
217
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
218
+ }>;
219
+ getCollateralQuote(): PriceQuote;
220
+ getPublicFacet(): {
221
+ makeVaultInvitation(): Promise<Invitation<R, A>>;
222
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
223
+ getCompoundedStabilityFee(): Ratio;
224
+ getPublicTopics(): {
225
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
226
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
227
+ };
228
+ };
229
+ lockOraclePrices(): PriceQuote;
230
+ liquidateVaults(auctionPF: ERef<GovernedPublicFacet<{
231
+ getElectorate: () => Amount<"set">;
232
+ getStartFrequency: () => import("@agoric/time/src/types").RelativeTime;
233
+ getClockStep: () => import("@agoric/time/src/types").RelativeTime;
234
+ getStartingRate: () => bigint;
235
+ getLowestRate: () => bigint;
236
+ getDiscountStep: () => bigint;
237
+ getAuctionStartDelay: () => import("@agoric/time/src/types").RelativeTime;
238
+ getPriceLockPeriod: () => import("@agoric/time/src/types").RelativeTime;
239
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<R, A>>;
240
+ getSchedules(): {
241
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null; /** @param {VaultFactoryParamPath} paramPath */
242
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
243
+ };
244
+ getScheduleUpdates(): Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
245
+ getBookDataUpdates(brand: any): Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
246
+ getPublicTopics(brand: any): {
247
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
248
+ } | {
249
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
250
+ };
251
+ makeDepositInvitation: () => Promise<Invitation<R, A>>;
252
+ }>>): Promise<void>;
253
+ }>;
254
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
255
+ getRewardAllocation(): AmountKeywordRecord;
256
+ makeLiquidationWaker(): {
257
+ wake: (timestamp: any) => any;
258
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
259
+ wake: (timestamp: any) => any;
260
+ }>;
261
+ makeReschedulerWaker(): {
262
+ wake: (timestamp: any) => any;
263
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
264
+ wake: (timestamp: any) => any;
265
+ }>;
266
+ makePriceLockWaker(): {
267
+ wake: (timestamp: any) => any;
268
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
269
+ wake: (timestamp: any) => any;
270
+ }>;
271
+ };
272
+ public: {
273
+ /**
274
+ * @param {Brand} brandIn
275
+ */
276
+ getCollateralManager(brandIn: Brand): {
277
+ makeVaultInvitation(): Promise<Invitation<R, A>>;
278
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
279
+ getCompoundedStabilityFee(): Ratio;
280
+ getPublicTopics(): {
281
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
282
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
283
+ };
284
+ };
285
+ getDebtIssuer(): Issuer<"nat">;
286
+ /**
287
+ * subscription for the paramManager for a particular vaultManager
288
+ *
289
+ * @param {{ collateralBrand: Brand }} selector
290
+ */
291
+ getSubscription({ collateralBrand }: {
292
+ collateralBrand: Brand;
293
+ }): StoredSubscription<GovernanceSubscriptionState>;
294
+ getPublicTopics(): {
295
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
296
+ };
297
+ /**
298
+ * subscription for the paramManager for the vaultFactory's electorate
299
+ */
300
+ getElectorateSubscription(): StoredSubscription<GovernanceSubscriptionState>;
301
+ /**
302
+ * @param {{ collateralBrand: Brand }} selector
303
+ */
304
+ getGovernedParams({ collateralBrand }: {
305
+ collateralBrand: Brand;
306
+ }): ERef<ParamStateRecord>;
307
+ /**
308
+ * @param {string} name
309
+ */
310
+ getInvitationAmount(name: string): Amount<"set">;
311
+ };
312
+ helper: {
313
+ resetWakeupsForNextAuction(): Promise<void>;
314
+ /**
315
+ * Start non-durable processes (or restart if needed after vat restart)
316
+ */
317
+ start(): Promise<void>;
318
+ };
319
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
320
+ creator: {
321
+ getParamMgrRetriever: () => {
322
+ /** @param {VaultFactoryParamPath} paramPath */
323
+ get: (paramPath?: VaultFactoryParamPath) => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
324
+ DebtLimit: "amount";
325
+ StabilityFee: "ratio";
326
+ LiquidationPadding: "ratio";
327
+ LiquidationMargin: "ratio";
328
+ LiquidationPenalty: "ratio";
329
+ MintFee: "ratio";
330
+ }> | VaultDirectorParamManager;
331
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
332
+ /** @param {VaultFactoryParamPath} paramPath */
333
+ get: (paramPath?: VaultFactoryParamPath) => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
334
+ DebtLimit: "amount";
335
+ StabilityFee: "ratio";
336
+ LiquidationPadding: "ratio";
337
+ LiquidationMargin: "ratio";
338
+ LiquidationPenalty: "ratio";
339
+ MintFee: "ratio";
340
+ }> | VaultDirectorParamManager;
341
+ }>;
342
+ /**
343
+ * @param {string} name
344
+ */
345
+ getInvitation(name: string): Promise<Invitation<R, A>>;
346
+ getLimitedCreatorFacet(): {
347
+ /**
348
+ * @param {Issuer<'nat'>} collateralIssuer
349
+ * @param {Keyword} collateralKeyword
350
+ * @param {VaultManagerParamValues} initialParamValues
351
+ */
352
+ addVaultType(collateralIssuer: Issuer<'nat'>, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<{
353
+ getGovernedParams(): import("./vaultManager.js").GovernedParamGetters;
354
+ makeVaultKit(seat: ZCFSeat): Promise<{
355
+ publicSubscribers: {
356
+ vault: {
357
+ description: string;
358
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
359
+ storagePath: Promise<string>;
360
+ };
361
+ };
362
+ invitationMakers: {
363
+ AdjustBalances(): Promise<Invitation<R, A>>;
364
+ CloseVault(): Promise<Invitation<R, A>>;
365
+ TransferVault(): Promise<Invitation<R, A>>;
366
+ };
367
+ vault: {
368
+ getPublicTopics(): {
369
+ vault: {
370
+ description: string;
371
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
372
+ storagePath: Promise<string>;
373
+ };
374
+ };
375
+ makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
376
+ makeCloseInvitation(): Promise<Invitation<R, A>>;
377
+ makeTransferInvitation(): Promise<Invitation<R, A>>;
378
+ getCollateralAmount(): Amount<"nat">; /** @type {import('@agoric/zoe/src/contractSupport/recorder.js').TypedMatcher<MetricsNotification>} */
379
+ getCurrentDebt(): Amount<"nat">;
380
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
381
+ };
382
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
383
+ }>;
384
+ getCollateralQuote(): PriceQuote;
385
+ getPublicFacet(): {
386
+ makeVaultInvitation(): Promise<Invitation<R, A>>;
387
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
388
+ getCompoundedStabilityFee(): Ratio;
389
+ getPublicTopics(): {
390
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
391
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
392
+ };
393
+ };
394
+ lockOraclePrices(): PriceQuote;
395
+ liquidateVaults(auctionPF: ERef<GovernedPublicFacet<{
396
+ getElectorate: () => Amount<"set">;
397
+ getStartFrequency: () => import("@agoric/time/src/types").RelativeTime;
398
+ getClockStep: () => import("@agoric/time/src/types").RelativeTime;
399
+ getStartingRate: () => bigint;
400
+ getLowestRate: () => bigint;
401
+ getDiscountStep: () => bigint;
402
+ getAuctionStartDelay: () => import("@agoric/time/src/types").RelativeTime;
403
+ getPriceLockPeriod: () => import("@agoric/time/src/types").RelativeTime;
404
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<R, A>>;
405
+ getSchedules(): {
406
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null; /** @param {VaultFactoryParamPath} paramPath */
407
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
408
+ };
409
+ getScheduleUpdates(): Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
410
+ getBookDataUpdates(brand: any): Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
411
+ getPublicTopics(brand: any): {
412
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
413
+ } | {
414
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
415
+ };
416
+ makeDepositInvitation: () => Promise<Invitation<R, A>>;
417
+ }>>): Promise<void>;
418
+ }>;
419
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
420
+ getRewardAllocation(): AmountKeywordRecord;
421
+ makeLiquidationWaker(): {
422
+ wake: (timestamp: any) => any;
423
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
424
+ wake: (timestamp: any) => any;
425
+ }>;
426
+ makeReschedulerWaker(): {
427
+ wake: (timestamp: any) => any;
428
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
429
+ wake: (timestamp: any) => any;
430
+ }>;
431
+ makePriceLockWaker(): {
432
+ wake: (timestamp: any) => any;
433
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
434
+ wake: (timestamp: any) => any;
435
+ }>;
436
+ };
437
+ /** @returns {ERef<GovernedApis>} */
438
+ getGovernedApis(): ERef<GovernedApis>;
439
+ getGovernedApiNames(): never[];
440
+ setOfferFilter: (strings: any) => Promise<void>;
441
+ };
442
+ machine: {
443
+ /**
444
+ * @param {Issuer<'nat'>} collateralIssuer
445
+ * @param {Keyword} collateralKeyword
446
+ * @param {VaultManagerParamValues} initialParamValues
447
+ */
448
+ addVaultType(collateralIssuer: Issuer<'nat'>, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<{
449
+ getGovernedParams(): import("./vaultManager.js").GovernedParamGetters;
450
+ makeVaultKit(seat: ZCFSeat): Promise<{
451
+ publicSubscribers: {
452
+ vault: {
453
+ description: string;
454
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
455
+ storagePath: Promise<string>;
456
+ };
457
+ };
458
+ invitationMakers: {
459
+ AdjustBalances(): Promise<Invitation<R, A>>;
460
+ CloseVault(): Promise<Invitation<R, A>>;
461
+ TransferVault(): Promise<Invitation<R, A>>;
462
+ };
463
+ vault: {
464
+ getPublicTopics(): {
465
+ vault: {
466
+ description: string;
467
+ subscriber: Subscriber<import("./vault.js").VaultNotification>;
468
+ storagePath: Promise<string>;
469
+ };
470
+ };
471
+ makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
472
+ makeCloseInvitation(): Promise<Invitation<R, A>>;
473
+ makeTransferInvitation(): Promise<Invitation<R, A>>;
474
+ getCollateralAmount(): Amount<"nat">; /** @type {import('@agoric/zoe/src/contractSupport/recorder.js').TypedMatcher<MetricsNotification>} */
475
+ getCurrentDebt(): Amount<"nat">;
476
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
477
+ };
478
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
479
+ }>;
480
+ getCollateralQuote(): PriceQuote;
481
+ getPublicFacet(): {
482
+ makeVaultInvitation(): Promise<Invitation<R, A>>;
483
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
484
+ getCompoundedStabilityFee(): Ratio;
485
+ getPublicTopics(): {
486
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
487
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
488
+ };
489
+ };
490
+ lockOraclePrices(): PriceQuote;
491
+ liquidateVaults(auctionPF: ERef<GovernedPublicFacet<{
492
+ getElectorate: () => Amount<"set">;
493
+ getStartFrequency: () => import("@agoric/time/src/types").RelativeTime;
494
+ getClockStep: () => import("@agoric/time/src/types").RelativeTime;
495
+ getStartingRate: () => bigint;
496
+ getLowestRate: () => bigint;
497
+ getDiscountStep: () => bigint;
498
+ getAuctionStartDelay: () => import("@agoric/time/src/types").RelativeTime;
499
+ getPriceLockPeriod: () => import("@agoric/time/src/types").RelativeTime;
500
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<R, A>>;
501
+ getSchedules(): {
502
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null; /** @param {VaultFactoryParamPath} paramPath */
503
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
504
+ };
505
+ getScheduleUpdates(): Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
506
+ getBookDataUpdates(brand: any): Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
507
+ getPublicTopics(brand: any): {
508
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
509
+ } | {
510
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
511
+ };
512
+ makeDepositInvitation: () => Promise<Invitation<R, A>>;
513
+ }>>): Promise<void>;
514
+ }>;
515
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
516
+ getRewardAllocation(): AmountKeywordRecord;
517
+ makeLiquidationWaker(): {
518
+ wake: (timestamp: any) => any;
519
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
520
+ wake: (timestamp: any) => any;
521
+ }>;
522
+ makeReschedulerWaker(): {
523
+ wake: (timestamp: any) => any;
524
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
525
+ wake: (timestamp: any) => any;
526
+ }>;
527
+ makePriceLockWaker(): {
528
+ wake: (timestamp: any) => any;
529
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
530
+ wake: (timestamp: any) => any;
531
+ }>;
532
+ };
533
+ public: {
534
+ /**
535
+ * @param {Brand} brandIn
536
+ */
537
+ getCollateralManager(brandIn: Brand): {
538
+ makeVaultInvitation(): Promise<Invitation<R, A>>;
539
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
540
+ getCompoundedStabilityFee(): Ratio;
541
+ getPublicTopics(): {
542
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
543
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
544
+ };
545
+ };
546
+ getDebtIssuer(): Issuer<"nat">;
547
+ /**
548
+ * subscription for the paramManager for a particular vaultManager
549
+ *
550
+ * @param {{ collateralBrand: Brand }} selector
551
+ */
552
+ getSubscription({ collateralBrand }: {
553
+ collateralBrand: Brand;
554
+ }): StoredSubscription<GovernanceSubscriptionState>;
555
+ getPublicTopics(): {
556
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
557
+ };
558
+ /**
559
+ * subscription for the paramManager for the vaultFactory's electorate
560
+ */
561
+ getElectorateSubscription(): StoredSubscription<GovernanceSubscriptionState>;
562
+ /**
563
+ * @param {{ collateralBrand: Brand }} selector
564
+ */
565
+ getGovernedParams({ collateralBrand }: {
566
+ collateralBrand: Brand;
567
+ }): ERef<ParamStateRecord>;
568
+ /**
569
+ * @param {string} name
570
+ */
571
+ getInvitationAmount(name: string): Amount<"set">;
572
+ };
573
+ helper: {
574
+ resetWakeupsForNextAuction(): Promise<void>;
575
+ /**
576
+ * Start non-durable processes (or restart if needed after vat restart)
577
+ */
578
+ start(): Promise<void>;
579
+ };
580
+ }>;
581
+ export {};
582
+ //# sourceMappingURL=vaultDirector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultDirector.d.ts","sourceRoot":"","sources":["vaultDirector.js"],"names":[],"mappings":"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"}