@agoric/inter-protocol 0.16.2-upgrade-14-dev-0169c7e.0 → 0.16.2-upgrade-16-dev-8879538.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 (175) hide show
  1. package/package.json +41 -34
  2. package/scripts/build-bundles.js +5 -21
  3. package/src/auction/auctionBook.d.ts +84 -0
  4. package/src/auction/auctionBook.d.ts.map +1 -0
  5. package/src/auction/auctionBook.js +135 -103
  6. package/src/auction/auctioneer.d.ts +83 -0
  7. package/src/auction/auctioneer.d.ts.map +1 -0
  8. package/src/auction/auctioneer.js +63 -49
  9. package/src/auction/offerBook.d.ts +45 -0
  10. package/src/auction/offerBook.d.ts.map +1 -0
  11. package/src/auction/offerBook.js +13 -12
  12. package/src/auction/params.d.ts +149 -0
  13. package/src/auction/params.d.ts.map +1 -0
  14. package/src/auction/params.js +10 -9
  15. package/src/auction/scheduleMath.d.ts +5 -0
  16. package/src/auction/scheduleMath.d.ts.map +1 -0
  17. package/src/auction/scheduleMath.js +17 -15
  18. package/src/auction/scheduler.d.ts +49 -0
  19. package/src/auction/scheduler.d.ts.map +1 -0
  20. package/src/auction/scheduler.js +51 -43
  21. package/src/auction/sortedOffers.d.ts +8 -0
  22. package/src/auction/sortedOffers.d.ts.map +1 -0
  23. package/src/auction/sortedOffers.js +9 -7
  24. package/src/auction/util.d.ts +32 -0
  25. package/src/auction/util.d.ts.map +1 -0
  26. package/src/auction/util.js +6 -4
  27. package/src/clientSupport.d.ts +167 -0
  28. package/src/clientSupport.d.ts.map +1 -0
  29. package/src/clientSupport.js +97 -40
  30. package/src/collectFees.d.ts +2 -0
  31. package/src/collectFees.d.ts.map +1 -0
  32. package/src/contractSupport.d.ts +28 -0
  33. package/src/contractSupport.d.ts.map +1 -0
  34. package/src/contractSupport.js +14 -12
  35. package/src/econCommitteeCharter.d.ts +39 -0
  36. package/src/econCommitteeCharter.d.ts.map +1 -0
  37. package/src/econCommitteeCharter.js +21 -20
  38. package/src/feeDistributor.d.ts +224 -0
  39. package/src/feeDistributor.d.ts.map +1 -0
  40. package/src/feeDistributor.js +37 -33
  41. package/src/index.d.ts +2 -0
  42. package/src/index.d.ts.map +1 -0
  43. package/src/index.js +1 -0
  44. package/src/interest-math.d.ts +3 -0
  45. package/src/interest-math.d.ts.map +1 -0
  46. package/src/interest.d.ts +28 -0
  47. package/src/interest.d.ts.map +1 -0
  48. package/src/interest.js +21 -16
  49. package/src/price/README.md +13 -0
  50. package/src/price/fluxAggregatorContract.d.ts +70 -0
  51. package/src/price/fluxAggregatorContract.d.ts.map +1 -0
  52. package/src/price/fluxAggregatorContract.js +62 -55
  53. package/src/price/fluxAggregatorKit.d.ts +103 -0
  54. package/src/price/fluxAggregatorKit.d.ts.map +1 -0
  55. package/src/price/fluxAggregatorKit.js +50 -37
  56. package/src/price/priceOracleKit.d.ts +38 -0
  57. package/src/price/priceOracleKit.d.ts.map +1 -0
  58. package/src/price/priceOracleKit.js +11 -13
  59. package/src/price/roundsManager.d.ts +238 -0
  60. package/src/price/roundsManager.d.ts.map +1 -0
  61. package/src/price/roundsManager.js +77 -82
  62. package/src/proposals/README.md +2 -3
  63. package/src/proposals/add-auction.d.ts +69 -0
  64. package/src/proposals/add-auction.d.ts.map +1 -0
  65. package/src/proposals/add-auction.js +181 -0
  66. package/src/proposals/addAssetToVault.d.ts +160 -0
  67. package/src/proposals/addAssetToVault.d.ts.map +1 -0
  68. package/src/proposals/addAssetToVault.js +172 -38
  69. package/src/proposals/committee-proposal.d.ts +113 -0
  70. package/src/proposals/committee-proposal.d.ts.map +1 -0
  71. package/src/proposals/committee-proposal.js +25 -31
  72. package/src/proposals/core-proposal.d.ts +149 -0
  73. package/src/proposals/core-proposal.d.ts.map +1 -0
  74. package/src/proposals/core-proposal.js +9 -11
  75. package/src/proposals/econ-behaviors.d.ts +1169 -0
  76. package/src/proposals/econ-behaviors.d.ts.map +1 -0
  77. package/src/proposals/econ-behaviors.js +66 -45
  78. package/src/proposals/price-feed-proposal.d.ts +84 -0
  79. package/src/proposals/price-feed-proposal.d.ts.map +1 -0
  80. package/src/proposals/price-feed-proposal.js +108 -51
  81. package/src/proposals/startEconCommittee.d.ts +34 -0
  82. package/src/proposals/startEconCommittee.d.ts.map +1 -0
  83. package/src/proposals/startEconCommittee.js +2 -2
  84. package/src/proposals/startPSM.d.ts +59 -0
  85. package/src/proposals/startPSM.d.ts.map +1 -0
  86. package/src/proposals/startPSM.js +38 -27
  87. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +24 -0
  88. package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +1 -0
  89. package/src/proposals/upgrade-scaledPriceAuthorities.js +78 -0
  90. package/src/proposals/upgrade-vaults.d.ts +35 -0
  91. package/src/proposals/upgrade-vaults.d.ts.map +1 -0
  92. package/src/proposals/upgrade-vaults.js +202 -0
  93. package/src/proposals/utils.d.ts +17 -0
  94. package/src/proposals/utils.d.ts.map +1 -0
  95. package/src/proposals/utils.js +34 -7
  96. package/src/provisionPool.d.ts +167 -0
  97. package/src/provisionPool.d.ts.map +1 -0
  98. package/src/provisionPool.js +122 -0
  99. package/src/provisionPoolKit.d.ts +770 -0
  100. package/src/provisionPoolKit.d.ts.map +1 -0
  101. package/src/provisionPoolKit.js +463 -0
  102. package/src/psm/psm.d.ts +122 -0
  103. package/src/psm/psm.d.ts.map +1 -0
  104. package/src/psm/psm.js +73 -69
  105. package/src/psm/types-ambient.d.ts +2 -0
  106. package/src/psm/types-ambient.d.ts.map +1 -0
  107. package/src/psm/types-ambient.js +3 -0
  108. package/src/reserve/assetReserve.d.ts +47 -0
  109. package/src/reserve/assetReserve.d.ts.map +1 -0
  110. package/src/reserve/assetReserve.js +28 -19
  111. package/src/reserve/assetReserveKit.d.ts +74 -0
  112. package/src/reserve/assetReserveKit.d.ts.map +1 -0
  113. package/src/reserve/assetReserveKit.js +18 -24
  114. package/src/reserve/params.d.ts +10 -0
  115. package/src/reserve/params.d.ts.map +1 -0
  116. package/src/tokens.d.ts +3 -0
  117. package/src/tokens.d.ts.map +1 -0
  118. package/src/tokens.js +5 -0
  119. package/src/vaultFactory/burn.d.ts +2 -0
  120. package/src/vaultFactory/burn.d.ts.map +1 -0
  121. package/src/vaultFactory/burn.js +1 -1
  122. package/src/vaultFactory/liquidation.d.ts +163 -0
  123. package/src/vaultFactory/liquidation.d.ts.map +1 -0
  124. package/src/vaultFactory/liquidation.js +36 -22
  125. package/src/vaultFactory/math.d.ts +11 -0
  126. package/src/vaultFactory/math.d.ts.map +1 -0
  127. package/src/vaultFactory/math.js +10 -9
  128. package/src/vaultFactory/orderedVaultStore.d.ts +360 -0
  129. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
  130. package/src/vaultFactory/orderedVaultStore.js +8 -11
  131. package/src/vaultFactory/params.d.ts +145 -0
  132. package/src/vaultFactory/params.d.ts.map +1 -0
  133. package/src/vaultFactory/params.js +52 -24
  134. package/src/vaultFactory/prioritizedVaults.d.ts +992 -0
  135. package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
  136. package/src/vaultFactory/prioritizedVaults.js +4 -4
  137. package/src/vaultFactory/proceeds.d.ts +35 -0
  138. package/src/vaultFactory/proceeds.d.ts.map +1 -0
  139. package/src/vaultFactory/proceeds.js +26 -18
  140. package/src/vaultFactory/storeUtils.d.ts +25 -0
  141. package/src/vaultFactory/storeUtils.d.ts.map +1 -0
  142. package/src/vaultFactory/storeUtils.js +10 -12
  143. package/src/vaultFactory/types-ambient.d.ts +234 -0
  144. package/src/vaultFactory/types-ambient.d.ts.map +1 -0
  145. package/src/vaultFactory/{types.js → types-ambient.js} +42 -42
  146. package/src/vaultFactory/vault.d.ts +402 -0
  147. package/src/vaultFactory/vault.d.ts.map +1 -0
  148. package/src/vaultFactory/vault.js +99 -93
  149. package/src/vaultFactory/vaultDirector.d.ts +388 -0
  150. package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
  151. package/src/vaultFactory/vaultDirector.js +61 -50
  152. package/src/vaultFactory/vaultFactory.d.ts +277 -0
  153. package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
  154. package/src/vaultFactory/vaultFactory.js +49 -32
  155. package/src/vaultFactory/vaultHolder.d.ts +270 -0
  156. package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
  157. package/src/vaultFactory/vaultHolder.js +10 -14
  158. package/src/vaultFactory/vaultKit.d.ts +102 -0
  159. package/src/vaultFactory/vaultKit.d.ts.map +1 -0
  160. package/src/vaultFactory/vaultKit.js +5 -4
  161. package/src/vaultFactory/vaultManager.d.ts +819 -0
  162. package/src/vaultFactory/vaultManager.d.ts.map +1 -0
  163. package/src/vaultFactory/vaultManager.js +248 -151
  164. package/CHANGELOG.md +0 -1066
  165. package/exported.js +0 -2
  166. package/scripts/add-collateral-core.js +0 -113
  167. package/scripts/deploy-contracts.js +0 -100
  168. package/scripts/init-core.js +0 -200
  169. package/scripts/invite-committee-core.js +0 -42
  170. package/scripts/manual-price-feed.js +0 -117
  171. package/scripts/price-feed-core.js +0 -104
  172. package/scripts/start-local-chain.sh +0 -84
  173. package/src/psm/types.js +0 -3
  174. package/src/typeGuards.js +0 -13
  175. package/src/vaultFactory/type-imports.js +0 -4
@@ -0,0 +1,1169 @@
1
+ export const SECONDS_PER_MINUTE: 60n;
2
+ export const SECONDS_PER_HOUR: bigint;
3
+ export const SECONDS_PER_DAY: bigint;
4
+ export const SECONDS_PER_WEEK: bigint;
5
+ export function setupReserve({ consume: { board, feeMintAccess: feeMintAccessP, chainStorage, chainTimerService, diagnostics, zoe, economicCommitteeCreatorFacet: committeeCreator, }, produce: { reserveKit }, issuer: { consume: { [Stable.symbol]: centralIssuer }, }, instance: { produce: { reserve: reserveInstanceProducer, reserveGovernor }, }, installation: { consume: { contractGovernor: governorInstallation, reserve: reserveInstallation, }, }, }: EconomyBootstrapPowers): Promise<Installation<(zcf: ZCF</** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */
6
+ /** @typedef {Awaited<ReturnType<VFStart>>['publicFacet']} VaultFactoryPublicFacet */
7
+ /**
8
+ * @typedef {object} PSMKit
9
+ * @property {string} label
10
+ * @property {Instance} psm
11
+ * @property {Instance} psmGovernor
12
+ * @property {Awaited<
13
+ * ReturnType<
14
+ * Awaited<
15
+ * ReturnType<import('../psm/psm.js')['start']>
16
+ * >['creatorFacet']['getLimitedCreatorFacet']
17
+ * >
18
+ * >} psmCreatorFacet
19
+ * @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['start']>} psmGovernorCreatorFacet
20
+ * @property {AdminFacet} psmAdminFacet
21
+ */
22
+ /** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
23
+ /**
24
+ * @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
25
+ *
26
+ * @typedef {PromiseSpaceOf<{
27
+ * economicCommitteeKit: CommitteeStartResult;
28
+ * economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
29
+ * feeDistributorKit: StartedInstanceKit<
30
+ * typeof import('../feeDistributor.js').start
31
+ * >;
32
+ * periodicFeeCollectors: MapStore<
33
+ * number,
34
+ * import('../feeDistributor.js').PeriodicFeeCollector
35
+ * >;
36
+ * psmKit: MapStore<Brand, PSMKit>;
37
+ * anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
38
+ * econCharterKit: EconCharterStartResult;
39
+ * reserveKit: GovernanceFacetKit<
40
+ * import('../reserve/assetReserve.js')['start']
41
+ * >;
42
+ * vaultFactoryKit: GovernanceFacetKit<VFStart>;
43
+ * auctioneerKit: AuctioneerKit;
44
+ * newAuctioneerKit: AuctioneerKit | undefined;
45
+ * minInitialDebt: NatValue;
46
+ * }>} EconomyBootstrapSpace
47
+ */
48
+ /**
49
+ * @typedef {StartedInstanceKit<
50
+ * import('../econCommitteeCharter.js')['start']
51
+ * >} EconCharterStartResult
52
+ */
53
+ /**
54
+ * @typedef {StartedInstanceKit<
55
+ * import('@agoric/governance/src/committee.js')['start']
56
+ * >} CommitteeStartResult
57
+ */
58
+ /**
59
+ * @file A collection of productions, each of which declares inputs and outputs.
60
+ * Each function is passed a set of powers for reading from and writing to the
61
+ * vat config.
62
+ *
63
+ * Each of the things they produce they're responsible for resolving or setting.
64
+ *
65
+ * In production called by @agoric/vats to bootstrap.
66
+ */
67
+ /** @param {EconomyBootstrapPowers} powers */
68
+ /** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */ GovernanceTerms<{}> & {
69
+ governedApis: ["burnFeesToReduceShortfall"];
70
+ }>, privateArgs: {
71
+ feeMintAccess: FeeMintAccess;
72
+ initialPoserInvitation: Invitation;
73
+ marshaller: ERef<Marshaller>;
74
+ storageNode: ERef<StorageNode>;
75
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
76
+ creatorFacet: globalThis.GovernedCreatorFacet<import("@endo/exo").Guarded<{
77
+ addIssuer(issuer: Issuer, keyword: string): Promise<void>;
78
+ getAllocations(): Allocation;
79
+ makeShortfallReportingInvitation(): Promise<Invitation<import("@endo/exo").Guarded<{
80
+ increaseLiquidationShortfall(shortfall: Amount<"nat">): void;
81
+ reduceLiquidationShortfall(reduction: Amount<"nat">): void;
82
+ }>, undefined>>;
83
+ }>>;
84
+ publicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
85
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
86
+ getPublicTopics(): {
87
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
88
+ };
89
+ }>>;
90
+ }>>>;
91
+ export function setupVaultFactoryArguments(consume: EconomyBootstrapPowers["consume"], { interestTiming, options: { referencedUi }, }: {
92
+ interestTiming?: InterestTiming | undefined;
93
+ options?: {
94
+ referencedUi?: string | undefined;
95
+ } | undefined;
96
+ } | undefined, minInitialDebt: Amount<"nat">): Promise<{
97
+ vaultFactoryTerms: {
98
+ priceAuthority: globalThis.ERef<import("@agoric/zoe/tools/types.js").PriceAuthority>;
99
+ reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
100
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
101
+ getPublicTopics(): {
102
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
103
+ };
104
+ }>>;
105
+ timerService: globalThis.ERef<import("@agoric/time").TimerService>;
106
+ governedParams: {
107
+ Electorate: {
108
+ type: "invitation";
109
+ value: import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
110
+ };
111
+ MinInitialDebt: {
112
+ type: "amount";
113
+ value: import("@agoric/ertp/src/types.js").NatAmount;
114
+ };
115
+ ShortfallInvitation: {
116
+ type: "invitation";
117
+ value: import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
118
+ };
119
+ ReferencedUI: {
120
+ type: "string";
121
+ value: string;
122
+ };
123
+ ChargingPeriod: {
124
+ type: "nat";
125
+ value: bigint;
126
+ };
127
+ RecordingPeriod: {
128
+ type: "nat";
129
+ value: bigint;
130
+ };
131
+ };
132
+ bootstrapPaymentValue: bigint;
133
+ };
134
+ vaultFactoryPrivateArgs: {
135
+ auctioneerInstance: import("@agoric/internal/src/tagged.js").TagContainer<any> & import("@endo/pass-style").RemotableObject & Handle<"Instance">;
136
+ feeMintAccess: FeeMintAccess;
137
+ initialPoserInvitation: import("@endo/pass-style").RemotableObject & import("@agoric/ertp/src/types.js").PaymentMethods<"set"> & {
138
+ [OfferReturn]?: unknown;
139
+ [OfferArgs]?: undefined;
140
+ };
141
+ initialShortfallInvitation: import("@endo/pass-style").RemotableObject & import("@agoric/ertp/src/types.js").PaymentMethods<"set"> & {
142
+ [OfferReturn]?: import("@endo/exo").Guarded<{
143
+ increaseLiquidationShortfall(shortfall: Amount<"nat">): void;
144
+ reduceLiquidationShortfall(reduction: Amount<"nat">): void;
145
+ }> | undefined;
146
+ [OfferArgs]?: undefined;
147
+ };
148
+ marshaller: import("@endo/exo").Guarded<{
149
+ toCapData(val: any): import("@endo/marshal").CapData<string | null>;
150
+ fromCapData(data: any): any;
151
+ serialize(data: any): import("@endo/marshal").CapData<string | null>;
152
+ unserialize(data: any): any;
153
+ }>;
154
+ storageNode: globalThis.StorageNode;
155
+ };
156
+ }>;
157
+ export function startVaultFactory({ consume, produce: { vaultFactoryKit }, brand: { consume: { [Stable.symbol]: centralBrandP }, }, instance: { produce: instanceProduce }, installation: { consume: { VaultFactory: vaultFactoryInstallation, contractGovernor: contractGovernorInstallation, }, }, }: EconomyBootstrapPowers, config: {
158
+ interestTiming?: InterestTiming | undefined;
159
+ options?: {
160
+ referencedUi?: string | undefined;
161
+ } | undefined;
162
+ }, minInitialDebt?: bigint): Promise<void>;
163
+ export function grantVaultFactoryControl({ consume: { client, priceAuthorityAdmin, vaultFactoryKit } }: EconomyBootstrapPowers, { options: { vaultFactoryControllerAddress } }?: {
164
+ options?: {
165
+ vaultFactoryControllerAddress?: string | undefined;
166
+ } | undefined;
167
+ } | undefined): Promise<void>;
168
+ export function startRewardDistributor({ consume: { chainTimerService, bankManager, vaultFactoryKit, periodicFeeCollectors, reserveKit, zoe, }, produce: { feeDistributorKit, periodicFeeCollectors: periodicFeeCollectorsP }, instance: { produce: { feeDistributor: feeDistributorP }, }, installation: { consume: { feeDistributor }, }, issuer: { consume: { [Stable.symbol]: centralIssuerP }, }, brand: { consume: { [Stable.symbol]: centralBrandP }, }, }: EconomyBootstrapPowers): Promise<void>;
169
+ export function startAuctioneer({ consume: { zoe, board, chainTimerService, priceAuthority, chainStorage, economicCommitteeCreatorFacet: electorateCreatorFacet, }, produce: { auctioneerKit }, instance: { produce: { auctioneer: auctionInstance }, consume: { reserve: reserveInstance }, }, installation: { consume: { auctioneer: auctionInstallation, contractGovernor: contractGovernorInstallation, }, }, issuer: { consume: { [Stable.symbol]: stableIssuerP }, }, }: EconomyBootstrapPowers, { auctionParams, }?: {
170
+ auctionParams?: any;
171
+ }): Promise<void>;
172
+ export type VaultFactoryPublicFacet = Awaited<ReturnType<(zcf: VaultFactoryZCF, privateArgs: {
173
+ feeMintAccess: FeeMintAccess;
174
+ initialPoserInvitation: Invitation /**
175
+ * @typedef {StartedInstanceKit<
176
+ * import('@agoric/governance/src/committee.js')['start']
177
+ * >} CommitteeStartResult
178
+ */;
179
+ initialShortfallInvitation: Invitation;
180
+ storageNode: ERef<StorageNode>;
181
+ marshaller: ERef<Marshaller>;
182
+ auctioneerInstance: Instance;
183
+ managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
184
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
185
+ creatorFacet: import("@endo/exo").Guarded<{
186
+ getParamMgrRetriever: () => {
187
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
188
+ DebtLimit: "amount";
189
+ InterestRate: "ratio";
190
+ LiquidationPadding: "ratio";
191
+ LiquidationMargin: "ratio";
192
+ LiquidationPenalty: "ratio";
193
+ MintFee: "ratio";
194
+ }>;
195
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
196
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
197
+ DebtLimit: "amount";
198
+ InterestRate: "ratio";
199
+ LiquidationPadding: "ratio";
200
+ LiquidationMargin: "ratio";
201
+ LiquidationPenalty: "ratio";
202
+ MintFee: "ratio";
203
+ }>;
204
+ }>;
205
+ getInvitation(name: string): Promise<Invitation<unknown, undefined>>;
206
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
207
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
208
+ getGovernedParams(): import("../vaultFactory/vaultManager.js").GovernedParamGetters;
209
+ makeVaultKit(seat: ZCFSeat): Promise<{
210
+ publicSubscribers: {
211
+ vault: {
212
+ description: string;
213
+ subscriber: globalThis.Subscriber<VaultNotification>;
214
+ storagePath: Promise<string>;
215
+ };
216
+ };
217
+ invitationMakers: import("@endo/exo").Guarded<{
218
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
219
+ CloseVault(): Promise<Invitation<string, undefined>>;
220
+ TransferVault(): Promise<Invitation<any, undefined>>;
221
+ }>;
222
+ vault: import("@endo/exo").Guarded<{
223
+ getPublicTopics(): {
224
+ vault: {
225
+ description: string;
226
+ subscriber: globalThis.Subscriber<VaultNotification>;
227
+ storagePath: Promise<string>;
228
+ };
229
+ };
230
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
231
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
232
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
233
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
234
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
235
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
236
+ }>;
237
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
238
+ }>;
239
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
240
+ getPublicFacet(): import("@endo/exo").Guarded<{
241
+ makeVaultInvitation(): Promise<Invitation<{
242
+ publicSubscribers: {
243
+ vault: {
244
+ description: string;
245
+ subscriber: globalThis.Subscriber<VaultNotification>;
246
+ storagePath: Promise<string>;
247
+ };
248
+ };
249
+ invitationMakers: import("@endo/exo").Guarded<{
250
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
251
+ CloseVault(): Promise<Invitation<string, undefined>>;
252
+ TransferVault(): Promise<Invitation<any, undefined>>;
253
+ }>;
254
+ vault: import("@endo/exo").Guarded<{
255
+ getPublicTopics(): {
256
+ vault: {
257
+ description: string;
258
+ subscriber: globalThis.Subscriber<VaultNotification>;
259
+ storagePath: Promise<string>;
260
+ };
261
+ };
262
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
263
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
264
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
265
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
266
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
267
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
268
+ }>;
269
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
270
+ }, undefined>>;
271
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
272
+ getCompoundedInterest(): Ratio;
273
+ getPublicTopics(): {
274
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
275
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
276
+ };
277
+ }>;
278
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
279
+ liquidateVaults(auctionPF: globalThis.ERef<globalThis.GovernedPublicFacet<{
280
+ getElectorate: () => import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
281
+ getStartFrequency: () => RelativeTime;
282
+ getClockStep: () => RelativeTime;
283
+ getStartingRate: () => bigint;
284
+ getLowestRate: () => bigint;
285
+ getDiscountStep: () => bigint;
286
+ getAuctionStartDelay: () => RelativeTime;
287
+ getPriceLockPeriod: () => RelativeTime;
288
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
289
+ getSchedules(): {
290
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
291
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
292
+ };
293
+ getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
294
+ getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
295
+ getPublicTopics(brand: any): {
296
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
297
+ } | {
298
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
299
+ };
300
+ makeDepositInvitation: () => Promise<Invitation<string, {
301
+ goal: import("@agoric/ertp/src/types.js").NatAmount;
302
+ }>>;
303
+ }>>): Promise<void>;
304
+ }>>;
305
+ makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
306
+ getRewardAllocation(): Allocation;
307
+ makeLiquidationWaker(): {
308
+ wake: (timestamp: any) => any;
309
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
310
+ wake: (timestamp: any) => any;
311
+ }>;
312
+ makeReschedulerWaker(): {
313
+ wake: (timestamp: any) => any;
314
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
315
+ wake: (timestamp: any) => any;
316
+ }>;
317
+ makePriceLockWaker(): {
318
+ wake: (timestamp: any) => any;
319
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
320
+ wake: (timestamp: any) => any;
321
+ }>;
322
+ setShortfallReporter(newInvitation: any): Promise<void>;
323
+ }>;
324
+ getGovernedApis(): globalThis.ERef<globalThis.GovernedApis>;
325
+ getGovernedApiNames(): never[];
326
+ setOfferFilter: (strings: any) => Promise<void>;
327
+ }>;
328
+ publicFacet: import("@endo/exo").Guarded<{
329
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
330
+ makeVaultInvitation(): Promise<Invitation<{
331
+ publicSubscribers: {
332
+ vault: {
333
+ description: string;
334
+ subscriber: globalThis.Subscriber<VaultNotification>;
335
+ storagePath: Promise<string>;
336
+ };
337
+ };
338
+ invitationMakers: import("@endo/exo").Guarded<{
339
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
340
+ CloseVault(): Promise<Invitation<string, undefined>>;
341
+ TransferVault(): Promise<Invitation<any, undefined>>;
342
+ }>;
343
+ vault: import("@endo/exo").Guarded<{
344
+ getPublicTopics(): {
345
+ vault: {
346
+ description: string;
347
+ subscriber: globalThis.Subscriber<VaultNotification>;
348
+ storagePath: Promise<string>;
349
+ };
350
+ };
351
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
352
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
353
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
354
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
355
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
356
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
357
+ }>;
358
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
359
+ }, undefined>>;
360
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
361
+ getCompoundedInterest(): Ratio;
362
+ getPublicTopics(): {
363
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
364
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
365
+ };
366
+ }>;
367
+ getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>;
368
+ getSubscription({ collateralBrand }: {
369
+ collateralBrand: Brand;
370
+ }): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
371
+ getPublicTopics(): {
372
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultDirector.js").MetricsNotification>;
373
+ };
374
+ getElectorateSubscription(): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
375
+ getGovernedParams({ collateralBrand }: {
376
+ collateralBrand: Brand;
377
+ }): globalThis.ERef<globalThis.ParamStateRecord>;
378
+ getInvitationAmount(name: string): import("@agoric/ertp/src/types.js").SetAmount<InvitationDetails>;
379
+ }>;
380
+ }>>>["publicFacet"];
381
+ export type PSMKit = {
382
+ label: string;
383
+ psm: Instance;
384
+ psmGovernor: Instance;
385
+ psmCreatorFacet: Awaited<ReturnType<Awaited<ReturnType<typeof import("../psm/psm.js")["start"]>>["creatorFacet"]["getLimitedCreatorFacet"]>>;
386
+ psmGovernorCreatorFacet: GovernorCreatorFacet<typeof import("../psm/psm.js")["start"]>;
387
+ psmAdminFacet: AdminFacet;
388
+ };
389
+ export type AuctioneerKit = GovernanceFacetKit<(zcf: ZCF<globalThis.GovernanceTerms<{
390
+ Electorate: "invitation";
391
+ StartFrequency: "relativeTime";
392
+ ClockStep: "relativeTime";
393
+ StartingRate: "nat";
394
+ LowestRate: "nat";
395
+ DiscountStep: "nat";
396
+ AuctionStartDelay: "relativeTime";
397
+ PriceLockPeriod: "relativeTime";
398
+ }> & {
399
+ timerService: import("@agoric/time").TimerService;
400
+ reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
401
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
402
+ getPublicTopics(): {
403
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
404
+ };
405
+ }>>;
406
+ priceAuthority: import("@agoric/zoe/tools/types.js").PriceAuthority;
407
+ }>, privateArgs: {
408
+ initialPoserInvitation: Invitation;
409
+ storageNode: StorageNode;
410
+ marshaller: Marshaller;
411
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
412
+ publicFacet: globalThis.GovernedPublicFacet<{
413
+ getElectorate: () => import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
414
+ getStartFrequency: () => RelativeTime;
415
+ getClockStep: () => RelativeTime;
416
+ getStartingRate: () => bigint;
417
+ getLowestRate: () => bigint;
418
+ getDiscountStep: () => bigint;
419
+ getAuctionStartDelay: () => RelativeTime;
420
+ getPriceLockPeriod: () => RelativeTime;
421
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
422
+ getSchedules(): {
423
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
424
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
425
+ };
426
+ getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
427
+ getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
428
+ getPublicTopics(brand: any): {
429
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
430
+ } | {
431
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
432
+ };
433
+ makeDepositInvitation: () => Promise<Invitation<string, {
434
+ goal: import("@agoric/ertp/src/types.js").NatAmount;
435
+ }>>;
436
+ }>;
437
+ creatorFacet: globalThis.GovernedCreatorFacet<{
438
+ addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
439
+ getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
440
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
441
+ addBrand(issuer: Issuer<"nat">, kwd: Keyword): Promise<void>;
442
+ getSchedule(): Promise<import("../auction/scheduler.js").FullSchedule>;
443
+ }>>;
444
+ }>>;
445
+ export type EconomyBootstrapPowers = WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace;
446
+ export type EconomyBootstrapSpace = {
447
+ consume: {
448
+ economicCommitteeKit: Promise<CommitteeStartResult>;
449
+ economicCommitteeCreatorFacet: Promise<import("@agoric/governance/src/committee.js").CommitteeElectorateCreatorFacet>;
450
+ feeDistributorKit: Promise<StartedInstanceKit<(zcf: ZCF<{
451
+ keywordShares: Record<string, bigint>;
452
+ timerService: globalThis.ERef<import("@agoric/time").TimerService>;
453
+ collectionInterval: RelativeTime;
454
+ }>) => Promise<{
455
+ creatorFacet: {
456
+ makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
457
+ collectFees: () => Promise<globalThis.Payment<any>>;
458
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
459
+ collectFees: () => Promise<globalThis.Payment<any>>;
460
+ }>;
461
+ startPeriodicCollection: (debugName: string, collectorP: ERef<FeeCollector>) => Promise<import("../feeDistributor.js").PeriodicFeeCollector>;
462
+ makeDepositFacetDestination: (depositFacet: import("@endo/far").EOnly<import("@agoric/ertp/src/types.js").DepositFacet>) => {
463
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
464
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
465
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
466
+ }>;
467
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
468
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
469
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
470
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
471
+ }>;
472
+ setDestinations: (newDestinations: Record<Keyword, ERef<FeeDestination>>) => Promise<void>;
473
+ setKeywordShares: (newShares: Record<Keyword, bigint>) => void;
474
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
475
+ makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
476
+ collectFees: () => Promise<globalThis.Payment<any>>;
477
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
478
+ collectFees: () => Promise<globalThis.Payment<any>>;
479
+ }>;
480
+ startPeriodicCollection: (debugName: string, collectorP: ERef<FeeCollector>) => Promise<import("../feeDistributor.js").PeriodicFeeCollector>;
481
+ makeDepositFacetDestination: (depositFacet: import("@endo/far").EOnly<import("@agoric/ertp/src/types.js").DepositFacet>) => {
482
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
483
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
484
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
485
+ }>;
486
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
487
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
488
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
489
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
490
+ }>;
491
+ setDestinations: (newDestinations: Record<Keyword, ERef<FeeDestination>>) => Promise<void>;
492
+ setKeywordShares: (newShares: Record<Keyword, bigint>) => void;
493
+ }>;
494
+ publicFacet: {
495
+ distributeFees: (payment: Payment<"nat">) => Promise<void>;
496
+ getKeywordShares: () => Record<string, bigint>;
497
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
498
+ distributeFees: (payment: Payment<"nat">) => Promise<void>;
499
+ getKeywordShares: () => Record<string, bigint>;
500
+ }>;
501
+ }>>>;
502
+ periodicFeeCollectors: Promise<globalThis.MapStore<number, import("../feeDistributor.js").PeriodicFeeCollector>>;
503
+ psmKit: Promise<globalThis.MapStore<globalThis.Brand, PSMKit>>;
504
+ anchorBalancePayments: Promise<globalThis.MapStore<globalThis.Brand, globalThis.Payment<"nat">>>;
505
+ econCharterKit: Promise<EconCharterStartResult>;
506
+ reserveKit: Promise<globalThis.GovernanceFacetKit<(zcf: ZCF</** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */
507
+ /** @typedef {Awaited<ReturnType<VFStart>>['publicFacet']} VaultFactoryPublicFacet */
508
+ /**
509
+ * @typedef {object} PSMKit
510
+ * @property {string} label
511
+ * @property {Instance} psm
512
+ * @property {Instance} psmGovernor
513
+ * @property {Awaited<
514
+ * ReturnType<
515
+ * Awaited<
516
+ * ReturnType<import('../psm/psm.js')['start']>
517
+ * >['creatorFacet']['getLimitedCreatorFacet']
518
+ * >
519
+ * >} psmCreatorFacet
520
+ * @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['start']>} psmGovernorCreatorFacet
521
+ * @property {AdminFacet} psmAdminFacet
522
+ */
523
+ /** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
524
+ /**
525
+ * @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
526
+ *
527
+ * @typedef {PromiseSpaceOf<{
528
+ * economicCommitteeKit: CommitteeStartResult;
529
+ * economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
530
+ * feeDistributorKit: StartedInstanceKit<
531
+ * typeof import('../feeDistributor.js').start
532
+ * >;
533
+ * periodicFeeCollectors: MapStore<
534
+ * number,
535
+ * import('../feeDistributor.js').PeriodicFeeCollector
536
+ * >;
537
+ * psmKit: MapStore<Brand, PSMKit>;
538
+ * anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
539
+ * econCharterKit: EconCharterStartResult;
540
+ * reserveKit: GovernanceFacetKit<
541
+ * import('../reserve/assetReserve.js')['start']
542
+ * >;
543
+ * vaultFactoryKit: GovernanceFacetKit<VFStart>;
544
+ * auctioneerKit: AuctioneerKit;
545
+ * newAuctioneerKit: AuctioneerKit | undefined;
546
+ * minInitialDebt: NatValue;
547
+ * }>} EconomyBootstrapSpace
548
+ */
549
+ /**
550
+ * @typedef {StartedInstanceKit<
551
+ * import('../econCommitteeCharter.js')['start']
552
+ * >} EconCharterStartResult
553
+ */
554
+ /**
555
+ * @typedef {StartedInstanceKit<
556
+ * import('@agoric/governance/src/committee.js')['start']
557
+ * >} CommitteeStartResult
558
+ */
559
+ /**
560
+ * @file A collection of productions, each of which declares inputs and outputs.
561
+ * Each function is passed a set of powers for reading from and writing to the
562
+ * vat config.
563
+ *
564
+ * Each of the things they produce they're responsible for resolving or setting.
565
+ *
566
+ * In production called by @agoric/vats to bootstrap.
567
+ */
568
+ /** @param {EconomyBootstrapPowers} powers */
569
+ /** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */ GovernanceTerms<{}> & {
570
+ governedApis: ["burnFeesToReduceShortfall"];
571
+ }>, privateArgs: {
572
+ feeMintAccess: FeeMintAccess;
573
+ initialPoserInvitation: Invitation;
574
+ marshaller: ERef<Marshaller>;
575
+ storageNode: ERef<StorageNode>;
576
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
577
+ creatorFacet: globalThis.GovernedCreatorFacet<import("@endo/exo").Guarded<{
578
+ addIssuer(issuer: Issuer, keyword: string): Promise<void>;
579
+ getAllocations(): Allocation;
580
+ makeShortfallReportingInvitation(): Promise<Invitation<import("@endo/exo").Guarded<{
581
+ increaseLiquidationShortfall(shortfall: Amount<"nat">): void;
582
+ reduceLiquidationShortfall(reduction: Amount<"nat">): void;
583
+ }>, undefined>>;
584
+ }>>;
585
+ publicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
586
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
587
+ getPublicTopics(): {
588
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
589
+ };
590
+ }>>;
591
+ }>>>;
592
+ vaultFactoryKit: Promise<globalThis.GovernanceFacetKit<(zcf: VaultFactoryZCF, privateArgs: {
593
+ feeMintAccess: FeeMintAccess;
594
+ initialPoserInvitation: Invitation /**
595
+ * @typedef {StartedInstanceKit<
596
+ * import('@agoric/governance/src/committee.js')['start']
597
+ * >} CommitteeStartResult
598
+ */;
599
+ initialShortfallInvitation: Invitation;
600
+ storageNode: ERef<StorageNode>;
601
+ marshaller: ERef<Marshaller>;
602
+ auctioneerInstance: Instance;
603
+ managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
604
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
605
+ creatorFacet: import("@endo/exo").Guarded<{
606
+ getParamMgrRetriever: () => {
607
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
608
+ DebtLimit: "amount";
609
+ InterestRate: "ratio";
610
+ LiquidationPadding: "ratio";
611
+ LiquidationMargin: "ratio";
612
+ LiquidationPenalty: "ratio";
613
+ MintFee: "ratio";
614
+ }>;
615
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
616
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
617
+ DebtLimit: "amount";
618
+ InterestRate: "ratio";
619
+ LiquidationPadding: "ratio";
620
+ LiquidationMargin: "ratio";
621
+ LiquidationPenalty: "ratio";
622
+ MintFee: "ratio";
623
+ }>;
624
+ }>;
625
+ getInvitation(name: string): Promise<Invitation<unknown, undefined>>;
626
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
627
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
628
+ getGovernedParams(): import("../vaultFactory/vaultManager.js").GovernedParamGetters;
629
+ makeVaultKit(seat: ZCFSeat): Promise<{
630
+ publicSubscribers: {
631
+ vault: {
632
+ description: string;
633
+ subscriber: globalThis.Subscriber<VaultNotification>;
634
+ storagePath: Promise<string>;
635
+ };
636
+ };
637
+ invitationMakers: import("@endo/exo").Guarded<{
638
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
639
+ CloseVault(): Promise<Invitation<string, undefined>>;
640
+ TransferVault(): Promise<Invitation<any, undefined>>;
641
+ }>;
642
+ vault: import("@endo/exo").Guarded<{
643
+ getPublicTopics(): {
644
+ vault: {
645
+ description: string;
646
+ subscriber: globalThis.Subscriber<VaultNotification>;
647
+ storagePath: Promise<string>;
648
+ };
649
+ };
650
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
651
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
652
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
653
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
654
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
655
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
656
+ }>;
657
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
658
+ }>;
659
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
660
+ getPublicFacet(): import("@endo/exo").Guarded<{
661
+ makeVaultInvitation(): Promise<Invitation<{
662
+ publicSubscribers: {
663
+ vault: {
664
+ description: string;
665
+ subscriber: globalThis.Subscriber<VaultNotification>;
666
+ storagePath: Promise<string>;
667
+ };
668
+ };
669
+ invitationMakers: import("@endo/exo").Guarded<{
670
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
671
+ CloseVault(): Promise<Invitation<string, undefined>>;
672
+ TransferVault(): Promise<Invitation<any, undefined>>;
673
+ }>;
674
+ vault: import("@endo/exo").Guarded<{
675
+ getPublicTopics(): {
676
+ vault: {
677
+ description: string;
678
+ subscriber: globalThis.Subscriber<VaultNotification>;
679
+ storagePath: Promise<string>;
680
+ };
681
+ };
682
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
683
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
684
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
685
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
686
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
687
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
688
+ }>;
689
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
690
+ }, undefined>>;
691
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
692
+ getCompoundedInterest(): Ratio;
693
+ getPublicTopics(): {
694
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
695
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
696
+ };
697
+ }>;
698
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
699
+ liquidateVaults(auctionPF: globalThis.ERef<globalThis.GovernedPublicFacet<{
700
+ getElectorate: () => import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
701
+ getStartFrequency: () => RelativeTime;
702
+ getClockStep: () => RelativeTime;
703
+ getStartingRate: () => bigint;
704
+ getLowestRate: () => bigint;
705
+ getDiscountStep: () => bigint;
706
+ getAuctionStartDelay: () => RelativeTime;
707
+ getPriceLockPeriod: () => RelativeTime;
708
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
709
+ getSchedules(): {
710
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
711
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
712
+ };
713
+ getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
714
+ getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
715
+ getPublicTopics(brand: any): {
716
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
717
+ } | {
718
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
719
+ };
720
+ makeDepositInvitation: () => Promise<Invitation<string, {
721
+ goal: import("@agoric/ertp/src/types.js").NatAmount;
722
+ }>>;
723
+ }>>): Promise<void>;
724
+ }>>;
725
+ makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
726
+ getRewardAllocation(): Allocation;
727
+ makeLiquidationWaker(): {
728
+ wake: (timestamp: any) => any;
729
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
730
+ wake: (timestamp: any) => any;
731
+ }>;
732
+ makeReschedulerWaker(): {
733
+ wake: (timestamp: any) => any;
734
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
735
+ wake: (timestamp: any) => any;
736
+ }>;
737
+ makePriceLockWaker(): {
738
+ wake: (timestamp: any) => any;
739
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
740
+ wake: (timestamp: any) => any;
741
+ }>;
742
+ setShortfallReporter(newInvitation: any): Promise<void>;
743
+ }>;
744
+ getGovernedApis(): globalThis.ERef<globalThis.GovernedApis>;
745
+ getGovernedApiNames(): never[];
746
+ setOfferFilter: (strings: any) => Promise<void>;
747
+ }>;
748
+ publicFacet: import("@endo/exo").Guarded<{
749
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
750
+ makeVaultInvitation(): Promise<Invitation<{
751
+ publicSubscribers: {
752
+ vault: {
753
+ description: string;
754
+ subscriber: globalThis.Subscriber<VaultNotification>;
755
+ storagePath: Promise<string>;
756
+ };
757
+ };
758
+ invitationMakers: import("@endo/exo").Guarded<{
759
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
760
+ CloseVault(): Promise<Invitation<string, undefined>>;
761
+ TransferVault(): Promise<Invitation<any, undefined>>;
762
+ }>;
763
+ vault: import("@endo/exo").Guarded<{
764
+ getPublicTopics(): {
765
+ vault: {
766
+ description: string;
767
+ subscriber: globalThis.Subscriber<VaultNotification>;
768
+ storagePath: Promise<string>;
769
+ };
770
+ };
771
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
772
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
773
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
774
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
775
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
776
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
777
+ }>;
778
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
779
+ }, undefined>>;
780
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
781
+ getCompoundedInterest(): Ratio;
782
+ getPublicTopics(): {
783
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
784
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
785
+ };
786
+ }>;
787
+ getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>;
788
+ getSubscription({ collateralBrand }: {
789
+ collateralBrand: Brand;
790
+ }): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
791
+ getPublicTopics(): {
792
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultDirector.js").MetricsNotification>;
793
+ };
794
+ getElectorateSubscription(): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
795
+ getGovernedParams({ collateralBrand }: {
796
+ collateralBrand: Brand;
797
+ }): globalThis.ERef<globalThis.ParamStateRecord>;
798
+ getInvitationAmount(name: string): import("@agoric/ertp/src/types.js").SetAmount<InvitationDetails>;
799
+ }>;
800
+ }>>>;
801
+ auctioneerKit: Promise<AuctioneerKit>;
802
+ newAuctioneerKit: Promise<AuctioneerKit | undefined>;
803
+ minInitialDebt: Promise<bigint>;
804
+ };
805
+ produce: {
806
+ economicCommitteeKit: Producer<CommitteeStartResult>;
807
+ economicCommitteeCreatorFacet: Producer<import("@agoric/governance/src/committee.js").CommitteeElectorateCreatorFacet>;
808
+ feeDistributorKit: Producer<StartedInstanceKit<(zcf: ZCF<{
809
+ keywordShares: Record<string, bigint>;
810
+ timerService: globalThis.ERef<import("@agoric/time").TimerService>;
811
+ collectionInterval: RelativeTime;
812
+ }>) => Promise<{
813
+ creatorFacet: {
814
+ makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
815
+ collectFees: () => Promise<globalThis.Payment<any>>;
816
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
817
+ collectFees: () => Promise<globalThis.Payment<any>>;
818
+ }>;
819
+ startPeriodicCollection: (debugName: string, collectorP: ERef<FeeCollector>) => Promise<import("../feeDistributor.js").PeriodicFeeCollector>;
820
+ makeDepositFacetDestination: (depositFacet: import("@endo/far").EOnly<import("@agoric/ertp/src/types.js").DepositFacet>) => {
821
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
822
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
823
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
824
+ }>;
825
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
826
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
827
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
828
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
829
+ }>;
830
+ setDestinations: (newDestinations: Record<Keyword, ERef<FeeDestination>>) => Promise<void>;
831
+ setKeywordShares: (newShares: Record<Keyword, bigint>) => void;
832
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
833
+ makeContractFeeCollector: (zoe: ERef<ZoeService>, creatorFacet: ERef<CollectibleContractFacet>) => {
834
+ collectFees: () => Promise<globalThis.Payment<any>>;
835
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
836
+ collectFees: () => Promise<globalThis.Payment<any>>;
837
+ }>;
838
+ startPeriodicCollection: (debugName: string, collectorP: ERef<FeeCollector>) => Promise<import("../feeDistributor.js").PeriodicFeeCollector>;
839
+ makeDepositFacetDestination: (depositFacet: import("@endo/far").EOnly<import("@agoric/ertp/src/types.js").DepositFacet>) => {
840
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
841
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
842
+ pushPayment: (payment: any, _issuer: any) => Promise<globalThis.Amount>;
843
+ }>;
844
+ makeOfferDestination: (zoe: ERef<ZoeService>, keyword: string, target: unknown, makeInvitationMethod: PropertyKey, args?: unknown[] | undefined) => {
845
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
846
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
847
+ pushPayment: (payment: any, issuer: any) => Promise<any>;
848
+ }>;
849
+ setDestinations: (newDestinations: Record<Keyword, ERef<FeeDestination>>) => Promise<void>;
850
+ setKeywordShares: (newShares: Record<Keyword, bigint>) => void;
851
+ }>;
852
+ publicFacet: {
853
+ distributeFees: (payment: Payment<"nat">) => Promise<void>;
854
+ getKeywordShares: () => Record<string, bigint>;
855
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
856
+ distributeFees: (payment: Payment<"nat">) => Promise<void>;
857
+ getKeywordShares: () => Record<string, bigint>;
858
+ }>;
859
+ }>>>;
860
+ periodicFeeCollectors: Producer<globalThis.MapStore<number, import("../feeDistributor.js").PeriodicFeeCollector>>;
861
+ psmKit: Producer<globalThis.MapStore<globalThis.Brand, PSMKit>>;
862
+ anchorBalancePayments: Producer<globalThis.MapStore<globalThis.Brand, globalThis.Payment<"nat">>>;
863
+ econCharterKit: Producer<EconCharterStartResult>;
864
+ reserveKit: Producer<globalThis.GovernanceFacetKit<(zcf: ZCF<GovernanceTerms<{}> & {
865
+ governedApis: ["burnFeesToReduceShortfall"];
866
+ }>, privateArgs: {
867
+ feeMintAccess: FeeMintAccess;
868
+ initialPoserInvitation: Invitation;
869
+ marshaller: ERef<Marshaller>;
870
+ storageNode: ERef<StorageNode>;
871
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
872
+ creatorFacet: globalThis.GovernedCreatorFacet<import("@endo/exo").Guarded<{
873
+ addIssuer(issuer: Issuer, keyword: string): Promise<void>;
874
+ getAllocations(): Allocation;
875
+ makeShortfallReportingInvitation(): Promise<Invitation<import("@endo/exo").Guarded<{
876
+ increaseLiquidationShortfall(shortfall: Amount<"nat">): void;
877
+ reduceLiquidationShortfall(reduction: Amount<"nat">): void;
878
+ }>, undefined>>;
879
+ }>>;
880
+ publicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
881
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
882
+ getPublicTopics(): {
883
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
884
+ };
885
+ }>>;
886
+ }>>>;
887
+ vaultFactoryKit: Producer<globalThis.GovernanceFacetKit<(zcf: VaultFactoryZCF, privateArgs: {
888
+ feeMintAccess: FeeMintAccess;
889
+ initialPoserInvitation: Invitation;
890
+ initialShortfallInvitation: Invitation;
891
+ storageNode: ERef<StorageNode>;
892
+ marshaller: ERef<Marshaller>;
893
+ auctioneerInstance: Instance;
894
+ managerParams: Record<string, import("../vaultFactory/params.js").VaultManagerParamOverrides>;
895
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
896
+ creatorFacet: import("@endo/exo").Guarded<{
897
+ getParamMgrRetriever: () => {
898
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
899
+ DebtLimit: "amount";
900
+ InterestRate: "ratio";
901
+ LiquidationPadding: "ratio";
902
+ LiquidationMargin: "ratio";
903
+ LiquidationPenalty: "ratio";
904
+ MintFee: "ratio";
905
+ }>;
906
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
907
+ get: (paramPath?: VaultFactoryParamPath) => import("../vaultFactory/vaultDirector.js").VaultDirectorParamManager | import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
908
+ DebtLimit: "amount";
909
+ InterestRate: "ratio";
910
+ LiquidationPadding: "ratio";
911
+ LiquidationMargin: "ratio";
912
+ LiquidationPenalty: "ratio";
913
+ MintFee: "ratio";
914
+ }>;
915
+ }>;
916
+ getInvitation(name: string): Promise<Invitation<unknown, undefined>>;
917
+ getLimitedCreatorFacet(): import("@endo/exo").Guarded<{
918
+ addVaultType(collateralIssuer: Issuer<"nat">, collateralKeyword: Keyword, initialParamValues: VaultManagerParamValues): Promise<import("@endo/exo").Guarded<{
919
+ getGovernedParams(): import("../vaultFactory/vaultManager.js").GovernedParamGetters;
920
+ makeVaultKit(seat: ZCFSeat): Promise<{
921
+ publicSubscribers: {
922
+ vault: {
923
+ description: string;
924
+ subscriber: globalThis.Subscriber<VaultNotification>;
925
+ storagePath: Promise<string>;
926
+ };
927
+ };
928
+ invitationMakers: import("@endo/exo").Guarded<{
929
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
930
+ CloseVault(): Promise<Invitation<string, undefined>>;
931
+ TransferVault(): Promise<Invitation<any, undefined>>;
932
+ }>;
933
+ vault: import("@endo/exo").Guarded<{
934
+ getPublicTopics(): {
935
+ vault: {
936
+ description: string;
937
+ subscriber: globalThis.Subscriber<VaultNotification>;
938
+ storagePath: Promise<string>;
939
+ };
940
+ };
941
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
942
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
943
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
944
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
945
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
946
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
947
+ }>;
948
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
949
+ }>;
950
+ getCollateralQuote(): import("@agoric/zoe/tools/types.js").PriceQuote;
951
+ getPublicFacet(): import("@endo/exo").Guarded<{
952
+ makeVaultInvitation(): Promise<Invitation<{
953
+ publicSubscribers: {
954
+ vault: {
955
+ description: string;
956
+ subscriber: globalThis.Subscriber<VaultNotification>;
957
+ storagePath: Promise<string>;
958
+ };
959
+ };
960
+ invitationMakers: import("@endo/exo").Guarded<{
961
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
962
+ CloseVault(): Promise<Invitation<string, undefined>>;
963
+ TransferVault(): Promise<Invitation<any, undefined>>;
964
+ }>;
965
+ vault: import("@endo/exo").Guarded<{
966
+ getPublicTopics(): {
967
+ vault: {
968
+ description: string;
969
+ subscriber: globalThis.Subscriber<VaultNotification>;
970
+ storagePath: Promise<string>;
971
+ };
972
+ };
973
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
974
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
975
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
976
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
977
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
978
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
979
+ }>;
980
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
981
+ }, undefined>>;
982
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
983
+ getCompoundedInterest(): Ratio;
984
+ getPublicTopics(): {
985
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
986
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
987
+ };
988
+ }>;
989
+ lockOraclePrices(): import("@agoric/zoe/tools/types.js").PriceQuote;
990
+ liquidateVaults(auctionPF: globalThis.ERef<globalThis.GovernedPublicFacet<{
991
+ getElectorate: () => import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
992
+ getStartFrequency: () => RelativeTime;
993
+ getClockStep: () => RelativeTime;
994
+ getStartingRate: () => bigint;
995
+ getLowestRate: () => bigint;
996
+ getDiscountStep: () => bigint;
997
+ getAuctionStartDelay: () => RelativeTime;
998
+ getPriceLockPeriod: () => RelativeTime;
999
+ makeBidInvitation(collateralBrand: Brand<"nat">): Promise<Invitation<string, import("../auction/auctionBook.js").OfferSpec>>;
1000
+ getSchedules(): {
1001
+ liveAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
1002
+ nextAuctionSchedule: import("../auction/scheduler.js").Schedule | null;
1003
+ };
1004
+ getScheduleUpdates(): globalThis.Subscriber<import("../auction/scheduler.js").ScheduleNotification>;
1005
+ getBookDataUpdates(brand: any): globalThis.Subscriber<import("../auction/auctionBook.js").BookDataNotification>;
1006
+ getPublicTopics(brand: any): {
1007
+ bookData: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/auctionBook.js").BookDataNotification>;
1008
+ } | {
1009
+ schedule: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../auction/scheduler.js").ScheduleNotification>;
1010
+ };
1011
+ makeDepositInvitation: () => Promise<Invitation<string, {
1012
+ goal: import("@agoric/ertp/src/types.js").NatAmount;
1013
+ }>>;
1014
+ }>>): Promise<void>;
1015
+ }>>;
1016
+ makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
1017
+ getRewardAllocation(): Allocation;
1018
+ makeLiquidationWaker(): {
1019
+ wake: (timestamp: any) => any;
1020
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
1021
+ wake: (timestamp: any) => any;
1022
+ }>;
1023
+ makeReschedulerWaker(): {
1024
+ wake: (timestamp: any) => any;
1025
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
1026
+ wake: (timestamp: any) => any;
1027
+ }>;
1028
+ makePriceLockWaker(): {
1029
+ wake: (timestamp: any) => any;
1030
+ } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
1031
+ wake: (timestamp: any) => any;
1032
+ }>;
1033
+ setShortfallReporter(newInvitation: any): Promise<void>;
1034
+ }>;
1035
+ getGovernedApis(): globalThis.ERef<globalThis.GovernedApis>;
1036
+ getGovernedApiNames(): never[];
1037
+ setOfferFilter: (strings: any) => Promise<void>;
1038
+ }>;
1039
+ publicFacet: import("@endo/exo").Guarded<{
1040
+ getCollateralManager(brandIn: Brand): import("@endo/exo").Guarded<{
1041
+ makeVaultInvitation(): Promise<Invitation<{
1042
+ publicSubscribers: {
1043
+ vault: {
1044
+ description: string;
1045
+ subscriber: globalThis.Subscriber<VaultNotification>;
1046
+ storagePath: Promise<string>;
1047
+ };
1048
+ };
1049
+ invitationMakers: import("@endo/exo").Guarded<{
1050
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
1051
+ CloseVault(): Promise<Invitation<string, undefined>>;
1052
+ TransferVault(): Promise<Invitation<any, undefined>>;
1053
+ }>;
1054
+ vault: import("@endo/exo").Guarded<{
1055
+ getPublicTopics(): {
1056
+ vault: {
1057
+ description: string;
1058
+ subscriber: globalThis.Subscriber<VaultNotification>;
1059
+ storagePath: Promise<string>;
1060
+ };
1061
+ };
1062
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
1063
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
1064
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
1065
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
1066
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
1067
+ getNormalizedDebt(): import("../vaultFactory/storeUtils.js").NormalizedDebt;
1068
+ }>;
1069
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
1070
+ }, undefined>>;
1071
+ getQuotes(): import("@agoric/notifier").StoredNotifier<import("@agoric/zoe/tools/types.js").PriceQuote>;
1072
+ getCompoundedInterest(): Ratio;
1073
+ getPublicTopics(): {
1074
+ asset: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").AssetState>;
1075
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultManager.js").MetricsNotification>;
1076
+ };
1077
+ }>;
1078
+ getDebtIssuer(): globalThis.Issuer<"nat", import("@endo/patterns").Key>;
1079
+ getSubscription({ collateralBrand }: {
1080
+ collateralBrand: Brand;
1081
+ }): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
1082
+ getPublicTopics(): {
1083
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../vaultFactory/vaultDirector.js").MetricsNotification>;
1084
+ };
1085
+ getElectorateSubscription(): globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
1086
+ getGovernedParams({ collateralBrand }: {
1087
+ collateralBrand: Brand;
1088
+ }): globalThis.ERef<globalThis.ParamStateRecord>;
1089
+ getInvitationAmount(name: string): import("@agoric/ertp/src/types.js").SetAmount<InvitationDetails>;
1090
+ }>;
1091
+ }>>>;
1092
+ auctioneerKit: Producer<AuctioneerKit>;
1093
+ newAuctioneerKit: Producer<AuctioneerKit | undefined>;
1094
+ minInitialDebt: Producer<bigint>;
1095
+ };
1096
+ };
1097
+ export type EconCharterStartResult = {
1098
+ instance: import("@agoric/zoe/src/zoeService/utils.js").Instance<(zcf: ZCF<{
1099
+ binaryVoteCounterInstallation: Installation;
1100
+ }>, privateArgs: undefined, baggage: import("@agoric/vat-data").Baggage) => Promise<{
1101
+ creatorFacet: import("@endo/exo").Guarded<{
1102
+ addInstance: (governedInstance: Instance, governorFacet: GovernorCreatorFacet<any>, label?: string | undefined) => void;
1103
+ makeCharterMemberInvitation: () => Promise<Invitation<{
1104
+ invitationMakers: import("@endo/exo").Guarded<{
1105
+ VoteOnParamChange: () => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, import("../econCommitteeCharter.js").ParamChangesOfferArgs>>;
1106
+ VoteOnPauseOffers: (instance: any, strings: any, deadline: any) => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, undefined>>;
1107
+ VoteOnApiCall: (instance: Instance, methodName: string, methodArgs: string[], deadline: import("@agoric/time").TimestampValue) => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, undefined>>;
1108
+ }>;
1109
+ }, undefined>>;
1110
+ }>;
1111
+ }>>;
1112
+ adminFacet: import("@agoric/zoe/src/zoeService/utils.js").AdminFacet<(zcf: ZCF<{
1113
+ binaryVoteCounterInstallation: Installation;
1114
+ }>, privateArgs: undefined, baggage: import("@agoric/vat-data").Baggage) => Promise<{
1115
+ creatorFacet: import("@endo/exo").Guarded<{
1116
+ addInstance: (governedInstance: Instance, governorFacet: GovernorCreatorFacet<any>, label?: string | undefined) => void;
1117
+ makeCharterMemberInvitation: () => Promise<Invitation<{
1118
+ invitationMakers: import("@endo/exo").Guarded<{
1119
+ VoteOnParamChange: () => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, import("../econCommitteeCharter.js").ParamChangesOfferArgs>>;
1120
+ VoteOnPauseOffers: (instance: any, strings: any, deadline: any) => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, undefined>>;
1121
+ VoteOnApiCall: (instance: Instance, methodName: string, methodArgs: string[], deadline: import("@agoric/time").TimestampValue) => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, undefined>>;
1122
+ }>;
1123
+ }, undefined>>;
1124
+ }>;
1125
+ }>>;
1126
+ creatorFacet: {};
1127
+ publicFacet: {};
1128
+ } & {
1129
+ creatorFacet: import("@endo/exo").Guarded<{
1130
+ addInstance: (governedInstance: Instance, governorFacet: GovernorCreatorFacet<any>, label?: string | undefined) => void;
1131
+ makeCharterMemberInvitation: () => Promise<Invitation<{
1132
+ invitationMakers: import("@endo/exo").Guarded<{
1133
+ VoteOnParamChange: () => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, import("../econCommitteeCharter.js").ParamChangesOfferArgs>>;
1134
+ VoteOnPauseOffers: (instance: any, strings: any, deadline: any) => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, undefined>>;
1135
+ VoteOnApiCall: (instance: Instance, methodName: string, methodArgs: string[], deadline: import("@agoric/time").TimestampValue) => Promise<Invitation<import("@agoric/governance/src/types.js").ContractGovernanceVoteResult, undefined>>;
1136
+ }>;
1137
+ }, undefined>>;
1138
+ }>;
1139
+ };
1140
+ export type CommitteeStartResult = {
1141
+ instance: import("@agoric/zoe/src/zoeService/utils.js").Instance<(zcf: ZCF<{
1142
+ committeeName: string;
1143
+ committeeSize: number;
1144
+ }>, privateArgs: {
1145
+ storageNode: ERef<StorageNode>;
1146
+ marshaller: ERef<Marshaller>;
1147
+ }, baggage: import("@agoric/vat-data").Baggage) => {
1148
+ creatorFacet: import("@agoric/governance/src/committee.js").CommitteeElectorateCreatorFacet;
1149
+ publicFacet: globalThis.CommitteeElectoratePublic;
1150
+ }>;
1151
+ adminFacet: import("@agoric/zoe/src/zoeService/utils.js").AdminFacet<(zcf: ZCF<{
1152
+ committeeName: string;
1153
+ committeeSize: number;
1154
+ }>, privateArgs: {
1155
+ storageNode: ERef<StorageNode>;
1156
+ marshaller: ERef<Marshaller>;
1157
+ }, baggage: import("@agoric/vat-data").Baggage) => {
1158
+ creatorFacet: import("@agoric/governance/src/committee.js").CommitteeElectorateCreatorFacet;
1159
+ publicFacet: globalThis.CommitteeElectoratePublic;
1160
+ }>;
1161
+ creatorFacet: {};
1162
+ publicFacet: {};
1163
+ } & {
1164
+ creatorFacet: import("@agoric/governance/src/committee.js").CommitteeElectorateCreatorFacet;
1165
+ publicFacet: globalThis.CommitteeElectoratePublic;
1166
+ };
1167
+ import { Stable } from '@agoric/internal/src/tokens.js';
1168
+ import type { StartedInstanceKit } from '@agoric/zoe/src/zoeService/utils.js';
1169
+ //# sourceMappingURL=econ-behaviors.d.ts.map