@agoric/inter-protocol 0.18.0-u23.0 → 0.18.0-u23.1

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 (70) hide show
  1. package/package.json +13 -13
  2. package/src/auction/util.d.ts +33 -0
  3. package/src/auction/util.d.ts.map +1 -0
  4. package/src/clientSupport.d.ts +124 -0
  5. package/src/clientSupport.d.ts.map +1 -0
  6. package/src/collectFees.d.ts +6 -0
  7. package/src/collectFees.d.ts.map +1 -0
  8. package/src/contractSupport.d.ts +36 -0
  9. package/src/contractSupport.d.ts.map +1 -0
  10. package/src/econCommitteeCharter.d.ts +54 -0
  11. package/src/econCommitteeCharter.d.ts.map +1 -0
  12. package/src/feeDistributor.d.ts +228 -0
  13. package/src/feeDistributor.d.ts.map +1 -0
  14. package/src/index.d.ts +2 -0
  15. package/src/index.d.ts.map +1 -0
  16. package/src/interest-math.d.ts +5 -0
  17. package/src/interest-math.d.ts.map +1 -0
  18. package/src/interest.d.ts +42 -0
  19. package/src/interest.d.ts.map +1 -0
  20. package/src/price/fluxAggregatorContract.d.ts +95 -0
  21. package/src/price/fluxAggregatorContract.d.ts.map +1 -0
  22. package/src/price/fluxAggregatorKit.d.ts +114 -0
  23. package/src/price/fluxAggregatorKit.d.ts.map +1 -0
  24. package/src/price/priceOracleKit.d.ts +41 -0
  25. package/src/price/priceOracleKit.d.ts.map +1 -0
  26. package/src/price/roundsManager.d.ts +211 -0
  27. package/src/price/roundsManager.d.ts.map +1 -0
  28. package/src/proposals/utils.d.ts +27 -0
  29. package/src/proposals/utils.d.ts.map +1 -0
  30. package/src/provisionPool.d.ts +87 -0
  31. package/src/provisionPool.d.ts.map +1 -0
  32. package/src/provisionPoolKit.d.ts +81 -0
  33. package/src/provisionPoolKit.d.ts.map +1 -0
  34. package/src/psm/psm.d.ts +145 -0
  35. package/src/psm/psm.d.ts.map +1 -0
  36. package/src/reserve/assetReserve.d.ts +68 -0
  37. package/src/reserve/assetReserve.d.ts.map +1 -0
  38. package/src/reserve/assetReserveKit.d.ts +106 -0
  39. package/src/reserve/assetReserveKit.d.ts.map +1 -0
  40. package/src/reserve/params.d.ts +16 -0
  41. package/src/reserve/params.d.ts.map +1 -0
  42. package/src/tokens.d.ts +3 -0
  43. package/src/tokens.d.ts.map +1 -0
  44. package/src/vaultFactory/burn.d.ts +5 -0
  45. package/src/vaultFactory/burn.d.ts.map +1 -0
  46. package/src/vaultFactory/math.d.ts +13 -0
  47. package/src/vaultFactory/math.d.ts.map +1 -0
  48. package/src/vaultFactory/orderedVaultStore.d.ts +94 -0
  49. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
  50. package/src/vaultFactory/params.d.ts +170 -0
  51. package/src/vaultFactory/params.d.ts.map +1 -0
  52. package/src/vaultFactory/prioritizedVaults.d.ts +283 -0
  53. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
  54. package/src/vaultFactory/storeUtils.d.ts +30 -0
  55. package/src/vaultFactory/storeUtils.d.ts.map +1 -0
  56. package/src/vaultFactory/types.d.ts +137 -0
  57. package/src/vaultFactory/types.d.ts.map +1 -0
  58. package/src/vaultFactory/vault.d.ts +360 -0
  59. package/src/vaultFactory/vault.d.ts.map +1 -0
  60. package/src/vaultFactory/vaultDirector.d.ts +337 -0
  61. package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
  62. package/src/vaultFactory/vaultFactory.d.ts +202 -0
  63. package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
  64. package/src/vaultFactory/vaultHolder.d.ts +177 -0
  65. package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
  66. package/src/vaultFactory/vaultKit.d.ts +38 -0
  67. package/src/vaultFactory/vaultKit.d.ts.map +1 -0
  68. package/src/vaultFactory/vaultManager.d.ts +526 -0
  69. package/src/vaultFactory/vaultManager.d.ts.map +1 -0
  70. package/src/c.log +0 -1
@@ -0,0 +1,337 @@
1
+ export function makeAllManagersDo(collateralManagers: any, vaultManagers: any): (fn: (vm: VaultManager) => void) => void;
2
+ /** @typedef {EReturn<EReturn<typeof prepareVaultDirector>>} VaultDirector */
3
+ /**
4
+ * Prepare the VaultDirector kind, get or make the singleton
5
+ *
6
+ * @type {(
7
+ * ...pvdArgs: Parameters<typeof prepareVaultDirector>
8
+ * ) => VaultDirector}
9
+ */
10
+ export const provideDirector: (...pvdArgs: Parameters<typeof prepareVaultDirector>) => VaultDirector;
11
+ export type MetricsNotification = {
12
+ collaterals: Brand[];
13
+ rewardPoolAllocation: AmountKeywordRecord;
14
+ };
15
+ export type ImmutableState = Readonly<{}>;
16
+ export type MutableState = {};
17
+ export type State = ImmutableState & MutableState;
18
+ export type FactoryPowersFacet = {
19
+ burnDebt: BurnDebt;
20
+ getGovernedParams: (collateralBrand: Brand) => GovernedParamGetters;
21
+ mintAndTransfer: MintAndTransfer;
22
+ getShortfallReporter: () => Promise<ShortfallReporter>;
23
+ };
24
+ export type MethodContext = Readonly<{
25
+ state: State;
26
+ }>;
27
+ export type VaultDirectorParamManager = TypedParamManager<VaultDirectorParams>;
28
+ export type VaultDirector = EReturn<EReturn<typeof prepareVaultDirector>>;
29
+ import type { VaultManager } from './vaultManager.js';
30
+ /**
31
+ * @param {Baggage} baggage
32
+ * @param {VaultFactoryZCF} zcf
33
+ * @param {VaultDirectorParamManager} directorParamManager
34
+ * @param {ZCFMint<'nat'>} debtMint
35
+ * @param {ERef<TimerService>} timer
36
+ * @param {ERemote<StorageNode>} storageNode
37
+ * @param {ERemote<EMarshaller>} marshaller
38
+ * @param {MakeRecorderKit} makeRecorderKit
39
+ * @param {MakeERecorderKit} makeERecorderKit
40
+ * @param {Record<string, VaultManagerParamOverrides>} managerParams
41
+ */
42
+ declare function prepareVaultDirector(baggage: Baggage, zcf: VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<TimerService>, storageNode: ERemote<StorageNode>, marshaller: ERemote<EMarshaller>, makeRecorderKit: MakeRecorderKit, makeERecorderKit: MakeERecorderKit, managerParams: Record<string, VaultManagerParamOverrides>): () => import("@endo/exo").GuardedKit<{
43
+ creator: {
44
+ getParamMgrRetriever: () => {
45
+ /** @param {VaultFactoryParamPath} paramPath */
46
+ get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager | TypedParamManager<{
47
+ DebtLimit: "amount";
48
+ InterestRate: "ratio";
49
+ LiquidationPadding: "ratio";
50
+ LiquidationMargin: "ratio";
51
+ LiquidationPenalty: "ratio";
52
+ MintFee: "ratio";
53
+ }>;
54
+ } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
55
+ /** @param {VaultFactoryParamPath} paramPath */
56
+ get: (paramPath?: VaultFactoryParamPath) => VaultDirectorParamManager | TypedParamManager<{
57
+ DebtLimit: "amount";
58
+ InterestRate: "ratio";
59
+ LiquidationPadding: "ratio";
60
+ LiquidationMargin: "ratio";
61
+ LiquidationPenalty: "ratio";
62
+ MintFee: "ratio";
63
+ }>;
64
+ }>;
65
+ /** @param {string} name */
66
+ getInvitation(name: string): Promise<import("@agoric/zoe").Invitation>;
67
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
68
+ /**
69
+ * @param {Issuer<'nat'>} collateralIssuer
70
+ * @param {Keyword} collateralKeyword
71
+ * @param {VaultManagerParamValues} initialParamValues
72
+ */
73
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
74
+ getGovernedParams(): GovernedParamGetters;
75
+ makeVaultKit(seat: ZCFSeat): Promise<{
76
+ publicSubscribers: {
77
+ vault: {
78
+ description: string;
79
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
80
+ storagePath: Promise<string>;
81
+ };
82
+ };
83
+ invitationMakers: import("@endo/exo").Guarded<{
84
+ AdjustBalances(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
85
+ CloseVault(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
86
+ TransferVault(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
87
+ }>;
88
+ vault: import("@endo/exo").Guarded<{
89
+ getPublicTopics(): {
90
+ vault: {
91
+ description: string;
92
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
93
+ storagePath: Promise<string>;
94
+ };
95
+ };
96
+ makeAdjustBalancesInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
97
+ makeCloseInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
98
+ makeTransferInvitation(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
99
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
100
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
101
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
102
+ }>;
103
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
104
+ }>;
105
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
106
+ getPublicFacet(): import("@endo/exo").Guarded<{
107
+ makeVaultInvitation(): Promise<import("@agoric/zoe").Invitation<{
108
+ publicSubscribers: {
109
+ vault: {
110
+ description: string;
111
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
112
+ storagePath: Promise<string>;
113
+ };
114
+ };
115
+ invitationMakers: import("@endo/exo").Guarded<{
116
+ AdjustBalances(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
117
+ CloseVault(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
118
+ TransferVault(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
119
+ }>;
120
+ vault: import("@endo/exo").Guarded<{
121
+ getPublicTopics(): {
122
+ vault: {
123
+ description: string;
124
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
125
+ storagePath: Promise<string>;
126
+ };
127
+ };
128
+ makeAdjustBalancesInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
129
+ makeCloseInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
130
+ makeTransferInvitation(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
131
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
132
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
133
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
134
+ }>;
135
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
136
+ }, undefined>>;
137
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
138
+ getCompoundedInterest(): import("@agoric/ertp").Ratio;
139
+ getPublicTopics(): {
140
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
141
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
142
+ };
143
+ }>;
144
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
145
+ }>>;
146
+ makeCollectFeesInvitation(): Promise<import("@agoric/zoe").Invitation<string>>;
147
+ getRewardAllocation(): import("@agoric/zoe").Allocation;
148
+ setShortfallReporter(newInvitation: any): Promise<void>;
149
+ }>;
150
+ /** @returns {ERef<GovernedApis>} */
151
+ getGovernedApis(): ERef<GovernedApis>;
152
+ getGovernedApiNames(): never[];
153
+ setOfferFilter: (strings: any) => Promise<void>;
154
+ };
155
+ machine: {
156
+ /**
157
+ * @param {Issuer<'nat'>} collateralIssuer
158
+ * @param {Keyword} collateralKeyword
159
+ * @param {VaultManagerParamValues} initialParamValues
160
+ */
161
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
162
+ getGovernedParams(): GovernedParamGetters;
163
+ makeVaultKit(seat: ZCFSeat): Promise<{
164
+ publicSubscribers: {
165
+ vault: {
166
+ description: string;
167
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
168
+ storagePath: Promise<string>;
169
+ };
170
+ };
171
+ invitationMakers: import("@endo/exo").Guarded<{
172
+ AdjustBalances(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
173
+ CloseVault(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
174
+ TransferVault(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
175
+ }>;
176
+ vault: import("@endo/exo").Guarded<{
177
+ getPublicTopics(): {
178
+ vault: {
179
+ description: string;
180
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
181
+ storagePath: Promise<string>;
182
+ };
183
+ };
184
+ makeAdjustBalancesInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
185
+ makeCloseInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
186
+ makeTransferInvitation(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
187
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
188
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
189
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
190
+ }>;
191
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
192
+ }>;
193
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
194
+ getPublicFacet(): import("@endo/exo").Guarded<{
195
+ makeVaultInvitation(): Promise<import("@agoric/zoe").Invitation<{
196
+ publicSubscribers: {
197
+ vault: {
198
+ description: string;
199
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
200
+ storagePath: Promise<string>;
201
+ };
202
+ };
203
+ invitationMakers: import("@endo/exo").Guarded<{
204
+ AdjustBalances(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
205
+ CloseVault(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
206
+ TransferVault(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
207
+ }>;
208
+ vault: import("@endo/exo").Guarded<{
209
+ getPublicTopics(): {
210
+ vault: {
211
+ description: string;
212
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
213
+ storagePath: Promise<string>;
214
+ };
215
+ };
216
+ makeAdjustBalancesInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
217
+ makeCloseInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
218
+ makeTransferInvitation(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
219
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
220
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
221
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
222
+ }>;
223
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
224
+ }, undefined>>;
225
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
226
+ getCompoundedInterest(): import("@agoric/ertp").Ratio;
227
+ getPublicTopics(): {
228
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
229
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
230
+ };
231
+ }>;
232
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
233
+ }>>;
234
+ makeCollectFeesInvitation(): Promise<import("@agoric/zoe").Invitation<string>>;
235
+ getRewardAllocation(): import("@agoric/zoe").Allocation;
236
+ setShortfallReporter(newInvitation: any): Promise<void>;
237
+ };
238
+ public: {
239
+ /** @param {Brand} brandIn */
240
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
241
+ makeVaultInvitation(): Promise<import("@agoric/zoe").Invitation<{
242
+ publicSubscribers: {
243
+ vault: {
244
+ description: string;
245
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
246
+ storagePath: Promise<string>;
247
+ };
248
+ };
249
+ invitationMakers: import("@endo/exo").Guarded<{
250
+ AdjustBalances(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
251
+ CloseVault(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
252
+ TransferVault(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
253
+ }>;
254
+ vault: import("@endo/exo").Guarded<{
255
+ getPublicTopics(): {
256
+ vault: {
257
+ description: string;
258
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
259
+ storagePath: Promise<string>;
260
+ };
261
+ };
262
+ makeAdjustBalancesInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
263
+ makeCloseInvitation(): Promise<import("@agoric/zoe").Invitation<string, undefined>>;
264
+ makeTransferInvitation(): Promise<import("@agoric/zoe").Invitation</*elided*/ any>>;
265
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
266
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
267
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
268
+ }>;
269
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
270
+ }, undefined>>;
271
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
272
+ getCompoundedInterest(): import("@agoric/ertp").Ratio;
273
+ getPublicTopics(): {
274
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
275
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
276
+ };
277
+ }>;
278
+ getDebtIssuer(): Issuer<"nat", import("@endo/patterns").Key>;
279
+ /**
280
+ * subscription for the paramManager for a particular vaultManager
281
+ *
282
+ * @param {{ collateralBrand: Brand }} selector
283
+ */
284
+ getSubscription({ collateralBrand }: {
285
+ collateralBrand: Brand;
286
+ }): import("@agoric/notifier").StoredSubscription<import("@agoric/governance/src/types.js").GovernanceSubscriptionState>;
287
+ getPublicTopics(): {
288
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
289
+ };
290
+ /** subscription for the paramManager for the vaultFactory's electorate */
291
+ getElectorateSubscription(): import("@agoric/notifier").StoredSubscription<import("@agoric/governance/src/types.js").GovernanceSubscriptionState>;
292
+ /**
293
+ * Note this works only for a collateral manager. For the director use,
294
+ * `getDirectorGovernedParams`
295
+ *
296
+ * @param {{ collateralBrand: Brand }} selector
297
+ */
298
+ getGovernedParams({ collateralBrand }: {
299
+ collateralBrand: Brand;
300
+ }): ERef<import("@agoric/governance/src/types.js").ParamStateRecord>;
301
+ getDirectorGovernedParams(): ERef<import("@agoric/governance/src/types.js").ParamStateRecord>;
302
+ /** @param {string} name */
303
+ getInvitationAmount(name: string): import("@agoric/ertp").SetAmount<import("@agoric/zoe").InvitationDetails>;
304
+ };
305
+ helper: {
306
+ /** Start non-durable processes (or restart if needed after vat restart) */
307
+ start(): Promise<void>;
308
+ };
309
+ }>;
310
+ import type { Brand } from '@agoric/ertp';
311
+ import type { AmountKeywordRecord } from '@agoric/zoe';
312
+ import type { BurnDebt } from './types.js';
313
+ import type { GovernedParamGetters } from './vaultManager.js';
314
+ import type { MintAndTransfer } from './types.js';
315
+ import type { ShortfallReporter } from '../reserve/assetReserve.js';
316
+ import type { VaultDirectorParams } from './params.js';
317
+ import type { TypedParamManager } from '@agoric/governance/src/contractGovernance/typedParamManager.js';
318
+ import type { EReturn } from '@endo/far';
319
+ import type { Baggage } from '@agoric/swingset-liveslots';
320
+ import type { VaultFactoryZCF } from './vaultFactory.js';
321
+ import type { ZCFMint } from '@agoric/zoe';
322
+ import type { TimerService } from '@agoric/time';
323
+ import type { ERef } from '@agoric/vow';
324
+ import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
325
+ import type { ERemote } from '@agoric/internal';
326
+ import type { EMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
327
+ import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
328
+ import type { MakeERecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
329
+ import type { VaultManagerParamOverrides } from './params.js';
330
+ import type { VaultFactoryParamPath } from './types.js';
331
+ import type { Issuer } from '@agoric/ertp';
332
+ import type { Keyword } from '@agoric/zoe';
333
+ import type { VaultManagerParamValues } from './types.js';
334
+ import type { ZCFSeat } from '@agoric/zoe';
335
+ import type { GovernedApis } from '@agoric/governance/src/types.js';
336
+ export {};
337
+ //# sourceMappingURL=vaultDirector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultDirector.d.ts","sourceRoot":"","sources":["vaultDirector.js"],"names":[],"mappings":"AAkGO,iFAEE,IADK,CAAC,EAAE,EAAE,YAAY,KAAK,IACzB,UAOV;AAiZD,6EAA6E;AAE7E;;;;;;GAMG;AACH,8BAJU,CACT,GAAO,OAAO,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAChD,aAAa,CAQnB;kCA1cW;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;4BAmarC,QAAQ,QAAQ,OAAO,oBAAoB,CAAC,CAAC;kCA3c5B,mBAAmB;AA4DlD;;;;;;;;;;;GAWG;AACH,+CAXW,OAAO,OACP,eAAe,wBACf,yBAAyB,YACzB,QAAQ,KAAK,CAAC,SACd,KAAK,YAAY,CAAC,eAClB,QAAQ,WAAW,CAAC,cACpB,QAAQ,WAAW,CAAC,mBACpB,eAAe,oBACf,gBAAgB,iBAChB,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC;;;YA2NzC,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;YAAjC,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;QAarC,2BAA2B;4BAAf,MAAM;;YAmBlB;;;;eAIG;2CAHQ,OAAO,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAflC,oCAAoC;2BAAtB,KAAK,YAAY,CAAC;;;;;QAYhC;;;;WAIG;uCAHQ,OAAO,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4ElC,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;;;QAMlB,2EAA2E;;;GAalF;2BAncuB,cAAc;yCAnB8C,aAAa;8BAe7C,YAAY;0CAXzB,mBAAmB;qCAYxB,YAAY;uCAXV,4BAA4B;yCAE1B,aAAa;uCADf,gEAAgE;6BAL1E,WAAW;6BAOX,4BAA4B;qCACpB,mBAAmB;6BAT+B,aAAa;kCAUlE,cAAc;0BAatB,aAAa;iCADN,0CAA0C;6BApBxB,kBAAkB;iCACpC,iDAAiD;qCAQ7C,6CAA6C;sCAC5C,6CAA6C;gDAEnC,aAAa;2CAGlB,YAAY;4BAI3B,cAAc;6BArB6C,aAAa;6CAe7C,YAAY;6BAfoB,aAAa;kCAkBlE,iCAAiC"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * @typedef {ZCF<
3
+ * GovernanceTerms<VaultDirectorParams> & {
4
+ * priceAuthority: ERef<PriceAuthority>;
5
+ * reservePublicFacet: AssetReservePublicFacet;
6
+ * timerService: TimerService;
7
+ * }
8
+ * >} VaultFactoryZCF
9
+ */
10
+ /** @type {ContractMeta<typeof start>} */
11
+ export const meta: ContractMeta<typeof start>;
12
+ export function start(zcf: VaultFactoryZCF, privateArgs: {
13
+ feeMintAccess: FeeMintAccess;
14
+ initialPoserInvitation: Invitation;
15
+ initialShortfallInvitation: Invitation;
16
+ storageNode: Remote<StorageNode>;
17
+ marshaller: Remote<Marshaller>;
18
+ managerParams: Record<string, VaultManagerParamOverrides>;
19
+ directorParamOverrides: [object];
20
+ }, baggage: Baggage): Promise<{
21
+ creatorFacet: import("@endo/exo").Guarded<{
22
+ getParamMgrRetriever: () => {
23
+ get: (paramPath?: import("./types.js").VaultFactoryParamPath) => import("./vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
24
+ DebtLimit: "amount";
25
+ InterestRate: "ratio";
26
+ LiquidationPadding: "ratio";
27
+ LiquidationMargin: "ratio";
28
+ LiquidationPenalty: "ratio";
29
+ MintFee: "ratio";
30
+ }>;
31
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
32
+ get: (paramPath?: import("./types.js").VaultFactoryParamPath) => import("./vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
33
+ DebtLimit: "amount";
34
+ InterestRate: "ratio";
35
+ LiquidationPadding: "ratio";
36
+ LiquidationMargin: "ratio";
37
+ LiquidationPenalty: "ratio";
38
+ MintFee: "ratio";
39
+ }>;
40
+ }>;
41
+ getInvitation(name: string): Promise<Invitation>;
42
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
43
+ addVaultType(collateralIssuer: import("@agoric/ertp").Issuer<"nat">, collateralKeyword: import("@agoric/zoe").Keyword, initialParamValues: import("./types.js").VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
44
+ getGovernedParams(): import("./vaultManager.js").GovernedParamGetters;
45
+ makeVaultKit(seat: ZCFSeat): Promise<{
46
+ publicSubscribers: {
47
+ vault: {
48
+ description: string;
49
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
50
+ storagePath: Promise<string>;
51
+ };
52
+ };
53
+ invitationMakers: import("@endo/exo").Guarded<{
54
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
55
+ CloseVault(): Promise<Invitation<string, undefined>>;
56
+ TransferVault(): Promise<Invitation</*elided*/ any>>;
57
+ }>;
58
+ vault: import("@endo/exo").Guarded<{
59
+ getPublicTopics(): {
60
+ vault: {
61
+ description: string;
62
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
63
+ storagePath: Promise<string>;
64
+ };
65
+ };
66
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
67
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
68
+ makeTransferInvitation(): Promise<Invitation</*elided*/ any>>;
69
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
70
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
71
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
72
+ }>;
73
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
74
+ }>;
75
+ getCollateralQuote(): PriceQuote;
76
+ getPublicFacet(): import("@endo/exo").Guarded<{
77
+ makeVaultInvitation(): Promise<Invitation<{
78
+ publicSubscribers: {
79
+ vault: {
80
+ description: string;
81
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
82
+ storagePath: Promise<string>;
83
+ };
84
+ };
85
+ invitationMakers: import("@endo/exo").Guarded<{
86
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
87
+ CloseVault(): Promise<Invitation<string, undefined>>;
88
+ TransferVault(): Promise<Invitation</*elided*/ any>>;
89
+ }>;
90
+ vault: import("@endo/exo").Guarded<{
91
+ getPublicTopics(): {
92
+ vault: {
93
+ description: string;
94
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
95
+ storagePath: Promise<string>;
96
+ };
97
+ };
98
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
99
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
100
+ makeTransferInvitation(): Promise<Invitation</*elided*/ any>>;
101
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
102
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
103
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
104
+ }>;
105
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
106
+ }, undefined>>;
107
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
108
+ getCompoundedInterest(): import("@agoric/ertp").Ratio;
109
+ getPublicTopics(): {
110
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
111
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
112
+ };
113
+ }>;
114
+ lockOraclePrices(): PriceQuote;
115
+ }>>;
116
+ makeCollectFeesInvitation(): Promise<Invitation<string>>;
117
+ getRewardAllocation(): import("@agoric/zoe").Allocation;
118
+ setShortfallReporter(newInvitation: any): Promise<void>;
119
+ }>;
120
+ getGovernedApis(): ERef<import("@agoric/governance").GovernedApis>;
121
+ getGovernedApiNames(): never[];
122
+ setOfferFilter: (strings: any) => Promise<void>;
123
+ }>;
124
+ publicFacet: import("@endo/exo").Guarded<{
125
+ getCollateralManager(brandIn: import("@agoric/ertp").Brand): import("@endo/exo").Guarded<{
126
+ makeVaultInvitation(): Promise<Invitation<{
127
+ publicSubscribers: {
128
+ vault: {
129
+ description: string;
130
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
131
+ storagePath: Promise<string>;
132
+ };
133
+ };
134
+ invitationMakers: import("@endo/exo").Guarded<{
135
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
136
+ CloseVault(): Promise<Invitation<string, undefined>>;
137
+ TransferVault(): Promise<Invitation</*elided*/ any>>;
138
+ }>;
139
+ vault: import("@endo/exo").Guarded<{
140
+ getPublicTopics(): {
141
+ vault: {
142
+ description: string;
143
+ subscriber: import("@agoric/notifier").Subscriber<import("./vault.js").VaultNotification>;
144
+ storagePath: Promise<string>;
145
+ };
146
+ };
147
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
148
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
149
+ makeTransferInvitation(): Promise<Invitation</*elided*/ any>>;
150
+ getCollateralAmount(): import("@agoric/ertp").NatAmount;
151
+ getCurrentDebt(): import("@agoric/ertp").NatAmount;
152
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
153
+ }>;
154
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<import("./vault.js").VaultNotification>;
155
+ }, undefined>>;
156
+ getQuotes(): import("@agoric/notifier").StoredNotifier<PriceQuote>;
157
+ getCompoundedInterest(): import("@agoric/ertp").Ratio;
158
+ getPublicTopics(): {
159
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").AssetState>;
160
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultManager.js").MetricsNotification>;
161
+ };
162
+ }>;
163
+ getDebtIssuer(): import("@agoric/ertp").Issuer<"nat", import("@endo/patterns").Key>;
164
+ getSubscription({ collateralBrand }: {
165
+ collateralBrand: import("@agoric/ertp").Brand;
166
+ }): import("@agoric/notifier").StoredSubscription<import("@agoric/governance").GovernanceSubscriptionState>;
167
+ getPublicTopics(): {
168
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./vaultDirector.js").MetricsNotification>;
169
+ };
170
+ getElectorateSubscription(): import("@agoric/notifier").StoredSubscription<import("@agoric/governance").GovernanceSubscriptionState>;
171
+ getGovernedParams({ collateralBrand }: {
172
+ collateralBrand: import("@agoric/ertp").Brand;
173
+ }): ERef<import("@agoric/governance").ParamStateRecord>;
174
+ getDirectorGovernedParams(): ERef<import("@agoric/governance").ParamStateRecord>;
175
+ getInvitationAmount(name: string): import("@agoric/ertp").SetAmount<import("@agoric/zoe").InvitationDetails>;
176
+ }>;
177
+ }>;
178
+ export type VaultFactoryZCF = ZCF<GovernanceTerms<VaultDirectorParams> & {
179
+ priceAuthority: ERef<PriceAuthority>;
180
+ reservePublicFacet: AssetReservePublicFacet;
181
+ timerService: TimerService;
182
+ }>;
183
+ export type VaultFactoryContract = ContractOf<typeof start>;
184
+ import type { ContractMeta } from '@agoric/zoe';
185
+ import type { FeeMintAccess } from '@agoric/zoe';
186
+ import type { Invitation } from '@agoric/zoe';
187
+ import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
188
+ import type { Remote } from '@agoric/internal';
189
+ import type { Marshaller } from '@agoric/internal/src/lib-chainStorage.js';
190
+ import type { VaultManagerParamOverrides } from './params.js';
191
+ import type { Baggage } from '@agoric/swingset-liveslots';
192
+ import type { ZCFSeat } from '@agoric/zoe';
193
+ import type { PriceQuote } from '@agoric/zoe/tools/types.js';
194
+ import type { ERef } from '@agoric/vow';
195
+ import type { VaultDirectorParams } from './params.js';
196
+ import type { GovernanceTerms } from '@agoric/governance/src/types.js';
197
+ import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
198
+ import type { AssetReservePublicFacet } from '../reserve/assetReserve.js';
199
+ import type { TimerService } from '@agoric/time';
200
+ import type { ZCF } from '@agoric/zoe';
201
+ import type { ContractOf } from '@agoric/zoe/src/zoeService/utils.js';
202
+ //# sourceMappingURL=vaultFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultFactory.d.ts","sourceRoot":"","sources":["vaultFactory.js"],"names":[],"mappings":"AA6CA;;;;;;;;GAQG;AAEH,yCAAyC;AACzC,mBADW,aAAa,OAAO,KAAK,CAAC,CAgBnC;AAgBK,2BAZI,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,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAC1D,sBAAsB,EAAE,CAAC,MAAM,CAAC,CAAC;CAClC,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFjB;8BA1HY,IACZ,gBAAoB,mBAAmB,CAAC,GAAG;IACrC,cAAc,EAAE,KAAK,cAAc,CAAC,CAAC;IACrC,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,YAAY,EAAE,YAAY,CAAC;CAC5B,CACF;mCAuHU,WAAW,OAAO,KAAK,CAAC;kCA9IoF,aAAa;mCAAb,aAAa;gCAAb,aAAa;iCASzG,0CAA0C;4BAV/C,kBAAkB;gCAWd,0CAA0C;gDAJ1B,aAAa;6BAChC,4BAA4B;6BAPoE,aAAa;gCAE1C,4BAA4B;0BASlG,aAAa;yCARE,aAAa;qCAKjB,iCAAiC;oCAN0B,4BAA4B;6CAG/E,4BAA4B;kCADvC,cAAc;yBAJ6E,aAAa;gCAC1G,qCAAqC"}