@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,360 @@
1
+ export function makeOrderedVaultStore(store: globalThis.MapStore<string, import("@endo/exo").Guarded<{
2
+ getVaultSeat(): ZCFSeat;
3
+ initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
4
+ publicSubscribers: {
5
+ vault: {
6
+ description: string;
7
+ subscriber: globalThis.Subscriber<VaultNotification>;
8
+ storagePath: Promise<string>;
9
+ };
10
+ };
11
+ invitationMakers: import("@endo/exo").Guarded<{
12
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
13
+ CloseVault(): Promise<Invitation<string, undefined>>;
14
+ TransferVault(): Promise<Invitation<any, undefined>>;
15
+ }>;
16
+ vault: import("@endo/exo").Guarded<{
17
+ getPublicTopics(): {
18
+ vault: {
19
+ description: string;
20
+ subscriber: globalThis.Subscriber<VaultNotification>;
21
+ storagePath: Promise<string>;
22
+ };
23
+ };
24
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
25
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
26
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
27
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
28
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
29
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
30
+ }>;
31
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
32
+ }>;
33
+ liquidating(): void;
34
+ liquidated(): void;
35
+ abortLiquidation(): string;
36
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
37
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
38
+ makeTransferInvitation(): Promise<Invitation<{
39
+ publicSubscribers: {
40
+ vault: {
41
+ description: string;
42
+ subscriber: globalThis.Subscriber<VaultNotification>;
43
+ storagePath: Promise<string>;
44
+ };
45
+ };
46
+ invitationMakers: import("@endo/exo").Guarded<{
47
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
48
+ CloseVault(): Promise<Invitation<string, undefined>>;
49
+ TransferVault(): Promise<Invitation<any, undefined>>;
50
+ }>;
51
+ vault: import("@endo/exo").Guarded<{
52
+ getPublicTopics(): {
53
+ vault: {
54
+ description: string;
55
+ subscriber: globalThis.Subscriber<VaultNotification>;
56
+ storagePath: Promise<string>;
57
+ };
58
+ };
59
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
60
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
61
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
62
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
63
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
64
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
65
+ }>;
66
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
67
+ }, undefined>>;
68
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
69
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
70
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
71
+ }>>): {
72
+ addVault: (vaultId: string, vault: import("@endo/exo").Guarded<{
73
+ getVaultSeat(): ZCFSeat;
74
+ initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
75
+ publicSubscribers: {
76
+ vault: {
77
+ description: string;
78
+ subscriber: globalThis.Subscriber<VaultNotification>;
79
+ storagePath: Promise<string>;
80
+ };
81
+ };
82
+ invitationMakers: import("@endo/exo").Guarded<{
83
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
84
+ CloseVault(): Promise<Invitation<string, undefined>>;
85
+ TransferVault(): Promise<Invitation<any, undefined>>;
86
+ }>;
87
+ vault: import("@endo/exo").Guarded<{
88
+ getPublicTopics(): {
89
+ vault: {
90
+ description: string;
91
+ subscriber: globalThis.Subscriber<VaultNotification>;
92
+ storagePath: Promise<string>;
93
+ };
94
+ };
95
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
96
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
97
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
98
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
99
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
100
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
101
+ }>;
102
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
103
+ }>;
104
+ liquidating(): void;
105
+ liquidated(): void;
106
+ abortLiquidation(): string;
107
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
108
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
109
+ makeTransferInvitation(): Promise<Invitation<{
110
+ publicSubscribers: {
111
+ vault: {
112
+ description: string;
113
+ subscriber: globalThis.Subscriber<VaultNotification>;
114
+ storagePath: Promise<string>;
115
+ };
116
+ };
117
+ invitationMakers: import("@endo/exo").Guarded<{
118
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
119
+ CloseVault(): Promise<Invitation<string, undefined>>;
120
+ TransferVault(): Promise<Invitation<any, undefined>>;
121
+ }>;
122
+ vault: import("@endo/exo").Guarded<{
123
+ getPublicTopics(): {
124
+ vault: {
125
+ description: string;
126
+ subscriber: globalThis.Subscriber<VaultNotification>;
127
+ storagePath: Promise<string>;
128
+ };
129
+ };
130
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
131
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
132
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
133
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
134
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
135
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
136
+ }>;
137
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
138
+ }, undefined>>;
139
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
140
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
141
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
142
+ }>) => string;
143
+ removeByKey: (key: string) => import("@endo/exo").Guarded<{
144
+ getVaultSeat(): ZCFSeat;
145
+ initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
146
+ publicSubscribers: {
147
+ vault: {
148
+ description: string;
149
+ subscriber: globalThis.Subscriber<VaultNotification>;
150
+ storagePath: Promise<string>;
151
+ };
152
+ };
153
+ invitationMakers: import("@endo/exo").Guarded<{
154
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
155
+ CloseVault(): Promise<Invitation<string, undefined>>;
156
+ TransferVault(): Promise<Invitation<any, undefined>>;
157
+ }>;
158
+ vault: import("@endo/exo").Guarded<{
159
+ getPublicTopics(): {
160
+ vault: {
161
+ description: string;
162
+ subscriber: globalThis.Subscriber<VaultNotification>;
163
+ storagePath: Promise<string>;
164
+ };
165
+ };
166
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
167
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
168
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
169
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
170
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
171
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
172
+ }>;
173
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
174
+ }>;
175
+ liquidating(): void;
176
+ liquidated(): void;
177
+ abortLiquidation(): string;
178
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
179
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
180
+ makeTransferInvitation(): Promise<Invitation<{
181
+ publicSubscribers: {
182
+ vault: {
183
+ description: string;
184
+ subscriber: globalThis.Subscriber<VaultNotification>;
185
+ storagePath: Promise<string>;
186
+ };
187
+ };
188
+ invitationMakers: import("@endo/exo").Guarded<{
189
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
190
+ CloseVault(): Promise<Invitation<string, undefined>>;
191
+ TransferVault(): Promise<Invitation<any, undefined>>;
192
+ }>;
193
+ vault: import("@endo/exo").Guarded<{
194
+ getPublicTopics(): {
195
+ vault: {
196
+ description: string;
197
+ subscriber: globalThis.Subscriber<VaultNotification>;
198
+ storagePath: Promise<string>;
199
+ };
200
+ };
201
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
202
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
203
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
204
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
205
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
206
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
207
+ }>;
208
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
209
+ }, undefined>>;
210
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
211
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
212
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
213
+ }>;
214
+ has: (key: string) => boolean;
215
+ keys: (keyPatt?: globalThis.Pattern, valuePatt?: globalThis.Pattern) => Iterable<string>;
216
+ entries: (keyPatt?: globalThis.Pattern, valuePatt?: globalThis.Pattern) => Iterable<[string, import("@endo/exo").Guarded<{
217
+ getVaultSeat(): ZCFSeat;
218
+ initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
219
+ publicSubscribers: {
220
+ vault: {
221
+ description: string;
222
+ subscriber: globalThis.Subscriber<VaultNotification>;
223
+ storagePath: Promise<string>;
224
+ };
225
+ };
226
+ invitationMakers: import("@endo/exo").Guarded<{
227
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
228
+ CloseVault(): Promise<Invitation<string, undefined>>;
229
+ TransferVault(): Promise<Invitation<any, undefined>>;
230
+ }>;
231
+ vault: import("@endo/exo").Guarded<{
232
+ getPublicTopics(): {
233
+ vault: {
234
+ description: string;
235
+ subscriber: globalThis.Subscriber<VaultNotification>;
236
+ storagePath: Promise<string>;
237
+ };
238
+ };
239
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
240
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
241
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
242
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
243
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
244
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
245
+ }>;
246
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
247
+ }>;
248
+ liquidating(): void;
249
+ liquidated(): void;
250
+ abortLiquidation(): string;
251
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
252
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
253
+ makeTransferInvitation(): Promise<Invitation<{
254
+ publicSubscribers: {
255
+ vault: {
256
+ description: string;
257
+ subscriber: globalThis.Subscriber<VaultNotification>;
258
+ storagePath: Promise<string>;
259
+ };
260
+ };
261
+ invitationMakers: import("@endo/exo").Guarded<{
262
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
263
+ CloseVault(): Promise<Invitation<string, undefined>>;
264
+ TransferVault(): Promise<Invitation<any, undefined>>;
265
+ }>;
266
+ vault: import("@endo/exo").Guarded<{
267
+ getPublicTopics(): {
268
+ vault: {
269
+ description: string;
270
+ subscriber: globalThis.Subscriber<VaultNotification>;
271
+ storagePath: Promise<string>;
272
+ };
273
+ };
274
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
275
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
276
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
277
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
278
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
279
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
280
+ }>;
281
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
282
+ }, undefined>>;
283
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
284
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
285
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
286
+ }>]>;
287
+ getSize: (keyPatt?: globalThis.Pattern, valuePatt?: globalThis.Pattern) => number;
288
+ values: (keyPatt?: globalThis.Pattern, valuePatt?: globalThis.Pattern) => Iterable<import("@endo/exo").Guarded<{
289
+ getVaultSeat(): ZCFSeat;
290
+ initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
291
+ publicSubscribers: {
292
+ vault: {
293
+ description: string;
294
+ subscriber: globalThis.Subscriber<VaultNotification>;
295
+ storagePath: Promise<string>;
296
+ };
297
+ };
298
+ invitationMakers: import("@endo/exo").Guarded<{
299
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
300
+ CloseVault(): Promise<Invitation<string, undefined>>;
301
+ TransferVault(): Promise<Invitation<any, undefined>>;
302
+ }>;
303
+ vault: import("@endo/exo").Guarded<{
304
+ getPublicTopics(): {
305
+ vault: {
306
+ description: string;
307
+ subscriber: globalThis.Subscriber<VaultNotification>;
308
+ storagePath: Promise<string>;
309
+ };
310
+ };
311
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
312
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
313
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
314
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
315
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
316
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
317
+ }>;
318
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
319
+ }>;
320
+ liquidating(): void;
321
+ liquidated(): void;
322
+ abortLiquidation(): string;
323
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
324
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
325
+ makeTransferInvitation(): Promise<Invitation<{
326
+ publicSubscribers: {
327
+ vault: {
328
+ description: string;
329
+ subscriber: globalThis.Subscriber<VaultNotification>;
330
+ storagePath: Promise<string>;
331
+ };
332
+ };
333
+ invitationMakers: import("@endo/exo").Guarded<{
334
+ AdjustBalances(): Promise<Invitation<string, undefined>>;
335
+ CloseVault(): Promise<Invitation<string, undefined>>;
336
+ TransferVault(): Promise<Invitation<any, undefined>>;
337
+ }>;
338
+ vault: import("@endo/exo").Guarded<{
339
+ getPublicTopics(): {
340
+ vault: {
341
+ description: string;
342
+ subscriber: globalThis.Subscriber<VaultNotification>;
343
+ storagePath: Promise<string>;
344
+ };
345
+ };
346
+ makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
347
+ makeCloseInvitation(): Promise<Invitation<string, undefined>>;
348
+ makeTransferInvitation(): Promise<Invitation<any, undefined>>;
349
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
350
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
351
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
352
+ }>;
353
+ vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
354
+ }, undefined>>;
355
+ getCollateralAmount(): import("@agoric/ertp/src/types.js").NatAmount;
356
+ getCurrentDebt(): import("@agoric/ertp/src/types.js").NatAmount;
357
+ getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
358
+ }>>;
359
+ };
360
+ //# sourceMappingURL=orderedVaultStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderedVaultStore.d.ts","sourceRoot":"","sources":["orderedVaultStore.js"],"names":[],"mappings":"AAiBO;;uBAiDy7kB,OAAO,eAA0B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA/C/9kB,MAAM;;2BA+C66kB,OAAO,eAA0B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAnC/9kB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkClB"}
@@ -3,22 +3,20 @@ import { fromVaultKey, toVaultKey } from './storeUtils.js';
3
3
  /**
4
4
  * Used by prioritizedVaults to wrap the Collections API for this use case.
5
5
  *
6
- * Designed to be replaceable by naked Collections API when composite keys are available.
6
+ * Designed to be replaceable by naked Collections API when composite keys are
7
+ * available.
7
8
  *
8
- * In this module debts are encoded as the inverse quotient (collateral over debt) so that
9
- * greater collateralization sorts after lower. (Higher debt-to-collateral come
10
- * first.)
9
+ * In this module debts are encoded as the inverse quotient (collateral over
10
+ * debt) so that greater collateralization sorts after lower. (Higher
11
+ * debt-to-collateral come first.)
11
12
  */
12
13
 
13
- /** @typedef {import('./vault').Vault} Vault */
14
- /** @typedef {import('./storeUtils').CompositeKey} CompositeKey */
14
+ /** @import {Vault} from './vault.js' */
15
+ /** @import {CompositeKey} from './storeUtils.js' */
15
16
 
16
- /**
17
- * @param {MapStore<string, Vault>} store
18
- */
17
+ /** @param {MapStore<string, Vault>} store */
19
18
  export const makeOrderedVaultStore = store => {
20
19
  /**
21
- *
22
20
  * @param {string} vaultId
23
21
  * @param {Vault} vault
24
22
  */
@@ -31,7 +29,6 @@ export const makeOrderedVaultStore = store => {
31
29
  };
32
30
 
33
31
  /**
34
- *
35
32
  * @param {string} key
36
33
  * @returns {Vault}
37
34
  */
@@ -0,0 +1,145 @@
1
+ /** @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js'; */
2
+ export const CHARGING_PERIOD_KEY: "ChargingPeriod";
3
+ export const RECORDING_PERIOD_KEY: "RecordingPeriod";
4
+ export const DEBT_LIMIT_KEY: "DebtLimit";
5
+ export const LIQUIDATION_MARGIN_KEY: "LiquidationMargin";
6
+ export const LIQUIDATION_PADDING_KEY: "LiquidationPadding";
7
+ export const LIQUIDATION_PENALTY_KEY: "LiquidationPenalty";
8
+ export const INTEREST_RATE_KEY: "InterestRate";
9
+ export const MINT_FEE_KEY: "MintFee";
10
+ export const MIN_INITIAL_DEBT_KEY: "MinInitialDebt";
11
+ export const SHORTFALL_INVITATION_KEY: "ShortfallInvitation";
12
+ export const REFERENCED_UI_KEY: "ReferencedUI";
13
+ export namespace vaultDirectorParamTypes {
14
+ let MinInitialDebt: "amount";
15
+ let ChargingPeriod: "nat";
16
+ let RecordingPeriod: "nat";
17
+ let ReferencedUI: "string";
18
+ }
19
+ export function makeVaultParamManager(publisherKit: import("@agoric/notifier").StoredPublisherKit<GovernanceSubscriptionState>, { debtLimit, interestRate, liquidationMargin, liquidationPadding, liquidationPenalty, mintFee, }: VaultManagerParamValues): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
20
+ DebtLimit: "amount";
21
+ InterestRate: "ratio";
22
+ LiquidationPadding: "ratio";
23
+ LiquidationMargin: "ratio";
24
+ LiquidationPenalty: "ratio";
25
+ MintFee: "ratio";
26
+ }>;
27
+ /** @typedef {ReturnType<typeof makeVaultParamManager>} VaultParamManager */
28
+ export const vaultParamPattern: import("@endo/patterns").Matcher;
29
+ export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationAmount, interestTiming, minInitialDebt, priceAuthority, reservePublicFacet, timer, shortfallInvitationAmount, referencedUi, }: {
30
+ electorateInvitationAmount: Amount<"set">;
31
+ minInitialDebt: Amount<"nat">;
32
+ bootstrapPaymentValue: bigint;
33
+ priceAuthority: globalThis.ERef<PriceAuthority>;
34
+ timer: ERef<import("@agoric/time").TimerService>;
35
+ reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
36
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
37
+ getPublicTopics(): {
38
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
39
+ };
40
+ }>>;
41
+ interestTiming: InterestTiming;
42
+ shortfallInvitationAmount: Amount<"set">;
43
+ referencedUi?: string;
44
+ }): {
45
+ priceAuthority: globalThis.ERef<PriceAuthority>;
46
+ reservePublicFacet: globalThis.GovernedPublicFacet<import("@endo/exo").Guarded<{
47
+ makeAddCollateralInvitation(): Promise<Invitation<string, never>>;
48
+ getPublicTopics(): {
49
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
50
+ };
51
+ }>>;
52
+ timerService: globalThis.ERef<import("@agoric/time").TimerService>;
53
+ governedParams: {
54
+ Electorate: {
55
+ type: "invitation";
56
+ value: import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
57
+ };
58
+ MinInitialDebt: {
59
+ type: "amount";
60
+ value: import("@agoric/ertp/src/types.js").NatAmount;
61
+ };
62
+ ShortfallInvitation: {
63
+ type: "invitation";
64
+ value: import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
65
+ };
66
+ ReferencedUI: {
67
+ type: "string";
68
+ value: string;
69
+ };
70
+ ChargingPeriod: {
71
+ type: "nat";
72
+ value: bigint;
73
+ };
74
+ RecordingPeriod: {
75
+ type: "nat";
76
+ value: bigint;
77
+ };
78
+ };
79
+ bootstrapPaymentValue: bigint;
80
+ };
81
+ export function provideVaultParamManagers(baggage: import("@agoric/vat-data").Baggage, marshaller: ERef<Marshaller>, managerParamOverrides: Record<string, VaultManagerParamOverrides>): {
82
+ /**
83
+ * @param {Brand} brand
84
+ * @param {StorageNode} storageNode
85
+ * @param {VaultManagerParamValues} initialParamValues
86
+ */
87
+ addParamManager(brand: Brand, storageNode: StorageNode, initialParamValues: VaultManagerParamValues): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
88
+ DebtLimit: "amount";
89
+ InterestRate: "ratio";
90
+ LiquidationPadding: "ratio";
91
+ LiquidationMargin: "ratio";
92
+ LiquidationPenalty: "ratio";
93
+ MintFee: "ratio";
94
+ }>;
95
+ /** @param {Brand} brand */
96
+ get(brand: Brand): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
97
+ DebtLimit: "amount";
98
+ InterestRate: "ratio";
99
+ LiquidationPadding: "ratio";
100
+ LiquidationMargin: "ratio";
101
+ LiquidationPenalty: "ratio";
102
+ MintFee: "ratio";
103
+ }>;
104
+ };
105
+ export type VaultDirectorParams = import("@agoric/governance/src/contractGovernance/typedParamManager.js").ParamTypesMapFromRecord<ReturnType<typeof makeVaultDirectorParams>>;
106
+ export type VaultParamManager = ReturnType<typeof makeVaultParamManager>;
107
+ export type VaultManagerParamOverrides = VaultManagerParamValues & {
108
+ brand: Brand;
109
+ };
110
+ import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
111
+ /**
112
+ * @param {Amount<'set'>} electorateInvitationAmount
113
+ * @param {Amount<'nat'>} minInitialDebt
114
+ * @param {Amount<'set'>} shortfallInvitationAmount
115
+ * @param {string} referencedUi
116
+ * @param {InterestTiming} interestTiming
117
+ */
118
+ declare function makeVaultDirectorParams(electorateInvitationAmount: Amount<"set">, minInitialDebt: Amount<"nat">, shortfallInvitationAmount: Amount<"set">, referencedUi: string, interestTiming: InterestTiming): {
119
+ Electorate: {
120
+ type: "invitation";
121
+ value: import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
122
+ };
123
+ MinInitialDebt: {
124
+ type: "amount";
125
+ value: import("@agoric/ertp/src/types.js").NatAmount;
126
+ };
127
+ ShortfallInvitation: {
128
+ type: "invitation";
129
+ value: import("@agoric/ertp/src/types.js").SetAmount<import("@endo/patterns").Key>;
130
+ };
131
+ ReferencedUI: {
132
+ type: "string";
133
+ value: string;
134
+ };
135
+ ChargingPeriod: {
136
+ type: "nat";
137
+ value: bigint;
138
+ };
139
+ RecordingPeriod: {
140
+ type: "nat";
141
+ value: bigint;
142
+ };
143
+ };
144
+ export {};
145
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAiBA,8HAA8H;AAE9H,mDAAoD;AACpD,qDAAsD;AAEtD,yCAA0C;AAC1C,yDAA0D;AAC1D,2DAA4D;AAC5D,2DAA4D;AAC5D,+CAAgD;AAChD,qCAAsC;AACtC,oDAAqD;AACrD,6DAA8D;AAC9D,+CAAgD;;;;;;;AAkEzC,oDAHI,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,oGAC1E,uBAAuB;;;;;;;GAoB9B;AACJ,4EAA4E;AAE5E,iEAYE;AAeK;gCAX0B,MAAM,CAAC,KAAK,CAAC;oBACzB,MAAM,CAAC,KAAK,CAAC;2BACN,MAAM;;WAEtB,IAAI,CAAC,OAAO,cAAc,EAAE,YAAY,CAAC;;;;;;;oBAEhC,cAAc;+BACH,MAAM,CAAC,KAAK,CAAC;mBACzB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BzB;AAeM,mDAJI,OAAO,kBAAkB,EAAE,OAAO,cAClC,IAAI,CAAC,UAAU,CAAC,yBAChB,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC;IA+CjD;;;;OAIG;2BAHQ,KAAK,eACL,WAAW,sBACX,uBAAuB;;;;;;;;IAOlC,2BAA2B;eAAf,KAAK;;;;;;;;EAKpB;kCAhKY,OAAO,gEAAgE,EAAE,uBAAuB,CAC5G,UAAgB,CAAC,OAAO,uBAAuB,CAAC,CAC3C;gCA8BQ,UAAU,CAAC,OAAO,qBAAqB,CAAC;yCAwDxC,uBAAuB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE;oCA1JsC,4BAA4B;AAyB1H;;;;;;GAMG;AACH,qEANW,MAAM,CAAC,KAAK,CAAC,kBACb,MAAM,CAAC,KAAK,CAAC,6BACb,MAAM,CAAC,KAAK,CAAC,gBACb,MAAM,kBACN,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxB"}