@agoric/inter-protocol 0.16.2-dev-857e650.0 → 0.16.2-dev-fb922d3.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 (128) hide show
  1. package/bundles/bundle-auctioneer-js-meta.json +181 -181
  2. package/bundles/bundle-auctioneer.js +1 -1
  3. package/bundles/bundle-econCommitteeCharter-js-meta.json +129 -129
  4. package/bundles/bundle-econCommitteeCharter.js +1 -1
  5. package/bundles/bundle-feeDistributor-js-meta.json +115 -115
  6. package/bundles/bundle-feeDistributor.js +1 -1
  7. package/bundles/bundle-fluxAggregatorKit-js-meta.json +169 -169
  8. package/bundles/bundle-fluxAggregatorKit.js +1 -1
  9. package/bundles/bundle-psm-js-meta.json +167 -167
  10. package/bundles/bundle-psm.js +1 -1
  11. package/bundles/bundle-reserve-js-meta.json +169 -169
  12. package/bundles/bundle-reserve.js +1 -1
  13. package/bundles/bundle-scaledPriceAuthority-js-meta.json +142 -142
  14. package/bundles/bundle-scaledPriceAuthority.js +1 -1
  15. package/bundles/bundle-vaultFactory-js-meta.json +200 -200
  16. package/bundles/bundle-vaultFactory.js +1 -1
  17. package/package.json +17 -17
  18. package/scripts/deploy-contracts.js +12 -2
  19. package/scripts/init-core.js +5 -6
  20. package/scripts/manual-price-feed.js +20 -15
  21. package/src/auction/auctionBook.d.ts +16 -13
  22. package/src/auction/auctionBook.d.ts.map +1 -1
  23. package/src/auction/auctionBook.js +68 -56
  24. package/src/auction/auctioneer.d.ts.map +1 -1
  25. package/src/auction/auctioneer.js +54 -42
  26. package/src/auction/offerBook.d.ts.map +1 -1
  27. package/src/auction/offerBook.js +12 -11
  28. package/src/auction/params.d.ts +1 -1
  29. package/src/auction/params.d.ts.map +1 -1
  30. package/src/auction/params.js +3 -5
  31. package/src/auction/scheduleMath.d.ts.map +1 -1
  32. package/src/auction/scheduleMath.js +13 -13
  33. package/src/auction/scheduler.d.ts +4 -4
  34. package/src/auction/scheduler.d.ts.map +1 -1
  35. package/src/auction/scheduler.js +20 -20
  36. package/src/auction/sortedOffers.d.ts.map +1 -1
  37. package/src/auction/sortedOffers.js +8 -7
  38. package/src/auction/util.d.ts +1 -1
  39. package/src/auction/util.js +4 -4
  40. package/src/clientSupport.d.ts +65 -27
  41. package/src/clientSupport.d.ts.map +1 -1
  42. package/src/clientSupport.js +92 -34
  43. package/src/contractSupport.js +5 -5
  44. package/src/econCommitteeCharter.d.ts +4 -6
  45. package/src/econCommitteeCharter.d.ts.map +1 -1
  46. package/src/econCommitteeCharter.js +7 -11
  47. package/src/feeDistributor.d.ts +8 -24
  48. package/src/feeDistributor.d.ts.map +1 -1
  49. package/src/feeDistributor.js +26 -28
  50. package/src/interest.d.ts +1 -0
  51. package/src/interest.d.ts.map +1 -1
  52. package/src/interest.js +22 -15
  53. package/src/price/fluxAggregatorContract.d.ts +1 -0
  54. package/src/price/fluxAggregatorContract.d.ts.map +1 -1
  55. package/src/price/fluxAggregatorContract.js +24 -19
  56. package/src/price/fluxAggregatorKit.d.ts +23 -18
  57. package/src/price/fluxAggregatorKit.d.ts.map +1 -1
  58. package/src/price/fluxAggregatorKit.js +47 -32
  59. package/src/price/priceOracleKit.d.ts +2 -8
  60. package/src/price/priceOracleKit.d.ts.map +1 -1
  61. package/src/price/priceOracleKit.js +11 -13
  62. package/src/price/roundsManager.d.ts +28 -46
  63. package/src/price/roundsManager.d.ts.map +1 -1
  64. package/src/price/roundsManager.js +51 -63
  65. package/src/proposals/committee-proposal.d.ts.map +1 -1
  66. package/src/proposals/committee-proposal.js +5 -9
  67. package/src/proposals/core-proposal.d.ts.map +1 -1
  68. package/src/proposals/core-proposal.js +3 -5
  69. package/src/proposals/econ-behaviors.d.ts.map +1 -1
  70. package/src/proposals/econ-behaviors.js +55 -28
  71. package/src/proposals/price-feed-proposal.d.ts.map +1 -1
  72. package/src/proposals/price-feed-proposal.js +30 -11
  73. package/src/proposals/startPSM.d.ts.map +1 -1
  74. package/src/proposals/startPSM.js +24 -17
  75. package/src/proposals/utils.d.ts +1 -1
  76. package/src/proposals/utils.d.ts.map +1 -1
  77. package/src/proposals/utils.js +26 -7
  78. package/src/psm/psm.d.ts +14 -22
  79. package/src/psm/psm.d.ts.map +1 -1
  80. package/src/psm/psm.js +34 -31
  81. package/src/reserve/assetReserve.d.ts.map +1 -1
  82. package/src/reserve/assetReserve.js +16 -13
  83. package/src/reserve/assetReserveKit.d.ts +14 -26
  84. package/src/reserve/assetReserveKit.d.ts.map +1 -1
  85. package/src/reserve/assetReserveKit.js +13 -21
  86. package/src/tokens.d.ts +3 -3
  87. package/src/tokens.d.ts.map +1 -1
  88. package/src/tokens.js +5 -5
  89. package/src/typeGuards.d.ts +1 -3
  90. package/src/typeGuards.d.ts.map +1 -1
  91. package/src/typeGuards.js +1 -3
  92. package/src/vaultFactory/liquidation.d.ts.map +1 -1
  93. package/src/vaultFactory/liquidation.js +29 -16
  94. package/src/vaultFactory/math.d.ts.map +1 -1
  95. package/src/vaultFactory/math.js +8 -9
  96. package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
  97. package/src/vaultFactory/orderedVaultStore.js +6 -9
  98. package/src/vaultFactory/params.d.ts +1 -4
  99. package/src/vaultFactory/params.d.ts.map +1 -1
  100. package/src/vaultFactory/params.js +24 -18
  101. package/src/vaultFactory/prioritizedVaults.js +2 -2
  102. package/src/vaultFactory/proceeds.d.ts +3 -3
  103. package/src/vaultFactory/proceeds.d.ts.map +1 -1
  104. package/src/vaultFactory/proceeds.js +24 -18
  105. package/src/vaultFactory/storeUtils.d.ts +2 -6
  106. package/src/vaultFactory/storeUtils.d.ts.map +1 -1
  107. package/src/vaultFactory/storeUtils.js +8 -12
  108. package/src/vaultFactory/types.d.ts +16 -11
  109. package/src/vaultFactory/types.d.ts.map +1 -1
  110. package/src/vaultFactory/types.js +37 -27
  111. package/src/vaultFactory/vault.d.ts +103 -159
  112. package/src/vaultFactory/vault.d.ts.map +1 -1
  113. package/src/vaultFactory/vault.js +84 -85
  114. package/src/vaultFactory/vaultDirector.d.ts +21 -43
  115. package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
  116. package/src/vaultFactory/vaultDirector.js +30 -40
  117. package/src/vaultFactory/vaultFactory.d.ts +8 -6
  118. package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
  119. package/src/vaultFactory/vaultFactory.js +13 -11
  120. package/src/vaultFactory/vaultHolder.d.ts +12 -16
  121. package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
  122. package/src/vaultFactory/vaultHolder.js +7 -12
  123. package/src/vaultFactory/vaultKit.d.ts +1 -1
  124. package/src/vaultFactory/vaultKit.d.ts.map +1 -1
  125. package/src/vaultFactory/vaultKit.js +3 -2
  126. package/src/vaultFactory/vaultManager.d.ts +454 -68
  127. package/src/vaultFactory/vaultManager.d.ts.map +1 -1
  128. package/src/vaultFactory/vaultManager.js +120 -110
@@ -2,21 +2,30 @@
2
2
 
3
3
  /**
4
4
  * @typedef {import('./vault').VaultNotification} VaultNotification
5
+ *
5
6
  * @typedef {import('./vault').Vault} Vault
7
+ *
6
8
  * @typedef {import('./vaultKit').VaultKit} VaultKit
9
+ *
7
10
  * @typedef {import('./vaultManager').VaultManager} VaultManager
11
+ *
8
12
  * @typedef {import('./vaultManager').CollateralManager} CollateralManager
13
+ *
9
14
  * @typedef {import('../reserve/assetReserve.js').AssetReserveLimitedCreatorFacet} AssetReserveCreatorFacet
15
+ *
10
16
  * @typedef {import('../reserve/assetReserve.js').AssetReservePublicFacet} AssetReservePublicFacet
17
+ *
11
18
  * @typedef {import('../auction/auctioneer.js').AuctioneerPublicFacet} AuctioneerPublicFacet
19
+ *
12
20
  * @typedef {import('./vaultFactory.js').VaultFactoryContract['publicFacet']} VaultFactoryPublicFacet
13
21
  *
14
22
  * @typedef {import('@agoric/time/src/types').Timestamp} Timestamp
23
+ *
15
24
  * @typedef {import('@agoric/time/src/types').RelativeTime} RelativeTime
16
25
  */
17
26
 
18
27
  /**
19
- * @typedef {object} AutoswapLocal
28
+ * @typedef {object} AutoswapLocal
20
29
  * @property {(amount: Amount, brand: Brand) => Amount} getInputPrice
21
30
  * @property {() => Invitation} makeSwapInvitation
22
31
  */
@@ -24,13 +33,16 @@
24
33
  /**
25
34
  * @typedef {object} VaultManagerParamValues
26
35
  * @property {Ratio} liquidationMargin - margin below which collateral will be
27
- * liquidated to satisfy the debt.
28
- * @property {Ratio} liquidationPenalty - penalty charged upon liquidation as proportion of debt
29
- * @property {Ratio} stabilityFee - annual interest rate charged on debt positions
30
- * @property {Ratio} mintFee - The fee (in BasisPoints) charged when creating
31
- * or increasing a debt position.
36
+ * liquidated to satisfy the debt.
37
+ * @property {Ratio} liquidationPenalty - penalty charged upon liquidation as
38
+ * proportion of debt
39
+ * @property {Ratio} stabilityFee - annual interest rate charged on debt
40
+ * positions
41
+ * @property {Ratio} mintFee - The fee (in BasisPoints) charged when creating or
42
+ * increasing a debt position.
32
43
  * @property {Amount<'nat'>} debtLimit
33
- * @property {Ratio} [liquidationPadding] - vault must maintain this in order to remove collateral or add debt
44
+ * @property {Ratio} [liquidationPadding] - vault must maintain this in order to
45
+ * remove collateral or add debt
34
46
  */
35
47
 
36
48
  /**
@@ -42,7 +54,7 @@
42
54
  */
43
55
 
44
56
  /**
45
- * @typedef {object} VaultFactoryCreatorFacet
57
+ * @typedef {object} VaultFactoryCreatorFacet
46
58
  * @property {AddVaultType} addVaultType
47
59
  * @property {() => Allocation} getRewardAllocation
48
60
  * @property {() => Promise<Invitation<string, never>>} makeCollectFeesInvitation
@@ -51,10 +63,10 @@
51
63
  */
52
64
 
53
65
  /**
54
- * @callback MintAndTransfer
55
- * Mint new debt `toMint` and transfer the `fee` portion to the vaultFactory's reward
56
- * pool. Then reallocate over all the seat arguments and the rewardPoolSeat. Update
57
- * the `totalDebt` if the reallocate succeeds.
66
+ * @callback MintAndTransfer Mint new debt `toMint` and transfer the `fee`
67
+ * portion to the vaultFactory's reward pool. Then reallocate over all the
68
+ * seat arguments and the rewardPoolSeat. Update the `totalDebt` if the
69
+ * reallocate succeeds.
58
70
  * @param {ZCFSeat} mintReceiver
59
71
  * @param {Amount<'nat'>} toMint
60
72
  * @param {Amount<'nat'>} fee
@@ -63,11 +75,8 @@
63
75
  */
64
76
 
65
77
  /**
66
- * @callback BurnDebt
67
- *
68
- * Burn debt tokens off a seat and update
69
- * the `totalDebt` if the reallocate succeeds.
70
- *
78
+ * @callback BurnDebt Burn debt tokens off a seat and update the `totalDebt` if
79
+ * the reallocate succeeds.
71
80
  * @param {Amount} toBurn
72
81
  * @param {ZCFSeat} fromSeat
73
82
  * @returns {void}
@@ -78,16 +87,15 @@
78
87
  * @property {() => Ratio} getLiquidationMargin
79
88
  * @property {() => Ratio} getMintFee
80
89
  * @property {() => Promise<PriceQuote>} getCollateralQuote
81
- * @property {() => Ratio} getStabilityFee - The annual interest rate on a debt position
90
+ * @property {() => Ratio} getStabilityFee - The annual interest rate on a debt
91
+ * position
82
92
  * @property {() => RelativeTime} getChargingPeriod - The period (in seconds) at
83
93
  * which interest is charged to the debt position.
84
94
  * @property {() => RelativeTime} getRecordingPeriod - The period (in seconds)
85
95
  * at which interest is recorded to the debt position.
86
96
  */
87
97
 
88
- /**
89
- * @typedef {string} VaultId
90
- */
98
+ /** @typedef {string} VaultId */
91
99
 
92
100
  /**
93
101
  * @typedef {object} InterestTiming
@@ -104,7 +112,9 @@
104
112
 
105
113
  /**
106
114
  * @typedef {object} Liquidator
107
- * @property {() => Promise<Invitation<void, { debt: Amount<'nat'>; penaltyRate: Ratio; }>>} makeLiquidateInvitation
115
+ * @property {() => Promise<
116
+ * Invitation<void, { debt: Amount<'nat'>; penaltyRate: Ratio }>
117
+ * >} makeLiquidateInvitation
108
118
  */
109
119
 
110
120
  /**
@@ -124,11 +134,11 @@
124
134
  /**
125
135
  * @typedef {object} CalculatorKit
126
136
  * @property {Calculate} calculate calculate new debt for charging periods up to
127
- * the present.
137
+ * the present.
128
138
  * @property {Calculate} calculateReportingPeriod calculate new debt for
129
- * reporting periods up to the present. If some charging periods have elapsed
130
- * that don't constitute whole reporting periods, the time is not updated past
131
- * them and interest is not accumulated for them.
139
+ * reporting periods up to the present. If some charging periods have elapsed
140
+ * that don't constitute whole reporting periods, the time is not updated past
141
+ * them and interest is not accumulated for them.
132
142
  */
133
143
 
134
- /** @typedef {{key: 'governedParams' | {collateralBrand: Brand}}} VaultFactoryParamPath */
144
+ /** @typedef {{ key: 'governedParams' | { collateralBrand: Brand } }} VaultFactoryParamPath */
@@ -10,7 +10,8 @@ export namespace Phase {
10
10
  *
11
11
  * @typedef {object} VaultNotification
12
12
  * @property {Amount<'nat'>} locked Amount of Collateral locked
13
- * @property {{debt: Amount<'nat'>, stabilityFee: Ratio}} debtSnapshot 'debt' at the point the compounded stabilityFee was 'stabilityFee'
13
+ * @property {{ debt: Amount<'nat'>; stabilityFee: Ratio }} debtSnapshot 'debt'
14
+ * at the point the compounded stabilityFee was 'stabilityFee'
14
15
  * @property {HolderPhase} vaultState
15
16
  */
16
17
  /**
@@ -23,25 +24,34 @@ export namespace Phase {
23
24
  * @property {MintAndTransfer} mintAndTransfer
24
25
  * @property {(amount: Amount, seat: ZCFSeat) => void} burn
25
26
  * @property {() => Ratio} getCompoundedStabilityFee
26
- * @property {(oldDebt: import('./storeUtils.js').NormalizedDebt, oldCollateral: Amount<'nat'>, vaultId: VaultId, vaultPhase: VaultPhase, vault: Vault) => void} handleBalanceChange
27
+ * @property {(
28
+ * oldDebt: import('./storeUtils.js').NormalizedDebt,
29
+ * oldCollateral: Amount<'nat'>,
30
+ * vaultId: VaultId,
31
+ * vaultPhase: VaultPhase,
32
+ * vault: Vault,
33
+ * ) => void} handleBalanceChange
27
34
  * @property {() => import('./vaultManager.js').GovernedParamGetters} getGovernedParams
28
35
  */
29
36
  /**
30
37
  * @typedef {Readonly<{
31
- * idInManager: VaultId,
32
- * manager: VaultManager,
33
- * storageNode: StorageNode,
34
- * vaultSeat: ZCFSeat,
38
+ * idInManager: VaultId;
39
+ * manager: VaultManager;
40
+ * storageNode: StorageNode;
41
+ * vaultSeat: ZCFSeat;
35
42
  * }>} ImmutableState
36
43
  */
37
44
  /**
38
- * Snapshot is of the debt and compounded interest when the principal was last changed.
45
+ * Snapshot is of the debt and compounded interest when the principal was last
46
+ * changed.
39
47
  *
40
48
  * @typedef {{
41
- * stabilityFeeSnapshot: Ratio,
42
- * phase: VaultPhase,
43
- * debtSnapshot: Amount<'nat'>,
44
- * outerUpdater: import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification> | null,
49
+ * stabilityFeeSnapshot: Ratio;
50
+ * phase: VaultPhase;
51
+ * debtSnapshot: Amount<'nat'>;
52
+ * outerUpdater:
53
+ * | import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification>
54
+ * | null;
45
55
  * }} MutableState
46
56
  */
47
57
  export const VaultI: import("@endo/patterns").InterfaceGuard<{
@@ -64,7 +74,10 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
64
74
  emptyCollateral(): Amount<"nat">;
65
75
  emptyDebt(): Amount<"nat">;
66
76
  /**
67
- * @typedef {{ give: { Collateral: Amount<'nat'>, Minted: Amount<'nat'> }, want: { Collateral: Amount<'nat'>, Minted: Amount<'nat'> } }} FullProposal
77
+ * @typedef {{
78
+ * give: { Collateral: Amount<'nat'>; Minted: Amount<'nat'> };
79
+ * want: { Collateral: Amount<'nat'>; Minted: Amount<'nat'> };
80
+ * }} FullProposal
68
81
  */
69
82
  /**
70
83
  * @param {ProposalRecord} partial
@@ -80,9 +93,7 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
80
93
  Minted: Amount<'nat'>;
81
94
  };
82
95
  };
83
- /**
84
- * @param {VaultPhase} newPhase
85
- */
96
+ /** @param {VaultPhase} newPhase */
86
97
  assignPhase(newPhase: VaultPhase): void;
87
98
  assertActive(): void;
88
99
  assertCloseable(): void;
@@ -94,31 +105,26 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
94
105
  */
95
106
  updateDebtSnapshot(newDebt: Amount<'nat'>): void;
96
107
  /**
97
- * Update the debt balance and propagate upwards to
98
- * maintain aggregate debt and liquidation order.
108
+ * Update the debt balance and propagate upwards to maintain aggregate
109
+ * debt and liquidation order.
99
110
  *
100
- * @param {NormalizedDebt} oldDebtNormalized - prior principal and all accrued interest, normalized to the launch of the vaultManager
111
+ * @param {NormalizedDebt} oldDebtNormalized - prior principal and all
112
+ * accrued interest, normalized to the launch of the vaultManager
101
113
  * @param {Amount<'nat'>} oldCollateral - actual collateral
102
- * @param {Amount<'nat'>} newDebtActual - actual principal and all accrued interest
114
+ * @param {Amount<'nat'>} newDebtActual - actual principal and all
115
+ * accrued interest
103
116
  */
104
117
  updateDebtAccounting(oldDebtNormalized: NormalizedDebt, oldCollateral: Amount<'nat'>, newDebtActual: Amount<'nat'>): void;
105
- /**
106
- *
107
- * @param {ZCFSeat} seat
108
- */
118
+ /** @param {ZCFSeat} seat */
109
119
  getCollateralAllocated(seat: ZCFSeat): Amount<any>;
110
120
  getMintedAllocated(seat: any): any;
111
121
  assertVaultHoldsNoMinted(): void;
112
122
  /**
113
- *
114
123
  * @param {Amount<'nat'>} collateralAmount
115
124
  * @param {Amount<'nat'>} proposedDebt
116
125
  */
117
126
  assertSufficientCollateral(collateralAmount: Amount<'nat'>, proposedDebt: Amount<'nat'>): void;
118
- /**
119
- *
120
- * @param {HolderPhase} newPhase
121
- */
127
+ /** @param {HolderPhase} newPhase */
122
128
  getStateSnapshot(newPhase: HolderPhase): {
123
129
  debtSnapshot: {
124
130
  debt: Amount<"nat">;
@@ -127,20 +133,16 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
127
133
  locked: Amount<"nat">;
128
134
  vaultState: HolderPhase;
129
135
  };
130
- /**
131
- * call this whenever anything changes!
132
- */
136
+ /** call this whenever anything changes! */
133
137
  updateUiState(): void;
134
- /**
135
- * @param {ZCFSeat} seat
136
- */
138
+ /** @param {ZCFSeat} seat */
137
139
  closeHook(seat: ZCFSeat): Promise<string>;
138
140
  /**
139
- * Calculate the fee, the amount to mint and the resulting debt.
140
- * The give and the want together reflect a delta, where typically
141
- * one is zero because they come from the gave/want of an offer
142
- * proposal. If the `want` is zero, the `fee` will also be zero,
143
- * so the simple math works.
141
+ * Calculate the fee, the amount to mint and the resulting debt. The
142
+ * give and the want together reflect a delta, where typically one is
143
+ * zero because they come from the gave/want of an offer proposal. If
144
+ * the `want` is zero, the `fee` will also be zero, so the simple math
145
+ * works.
144
146
  *
145
147
  * @param {Amount<'nat'>} currentDebt
146
148
  * @param {Amount<'nat'>} giveAmount
@@ -160,7 +162,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
160
162
  */
161
163
  adjustBalancesHook(clientSeat: ZCFSeat): string;
162
164
  /**
163
- *
164
165
  * @param {ZCFSeat} clientSeat
165
166
  * @param {FullProposal} fp
166
167
  * @param {ReturnType<typeof calculateDebtCosts>} costs
@@ -183,7 +184,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
183
184
  collateralPre: Amount<'nat'>;
184
185
  }): string;
185
186
  /**
186
- *
187
187
  * @param {ZCFSeat} seat
188
188
  * @returns {VaultKit}
189
189
  */
@@ -221,35 +221,15 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
221
221
  makeTransferInvitation(): Promise<Invitation<R, A>>;
222
222
  getCollateralAmount(): Amount<"nat">;
223
223
  getCurrentDebt(): Amount<"nat">;
224
- /**
225
- * @typedef {Readonly<{
226
- * idInManager: VaultId,
227
- * manager: VaultManager,
228
- * storageNode: StorageNode,
229
- * vaultSeat: ZCFSeat,
230
- * }>} ImmutableState
231
- */
232
- /**
233
- * Snapshot is of the debt and compounded interest when the principal was last changed.
234
- *
235
- * @typedef {{
236
- * stabilityFeeSnapshot: Ratio,
237
- * phase: VaultPhase,
238
- * debtSnapshot: Amount<'nat'>,
239
- * outerUpdater: import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification> | null,
240
- * }} MutableState
241
- */
242
224
  getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
243
225
  };
244
226
  vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
245
227
  }>;
246
- /**
247
- * Called by manager at start of liquidation.
248
- */
228
+ /** Called by manager at start of liquidation. */
249
229
  liquidating(): void;
250
230
  /**
251
- * Called by manager at end of liquidation, at which point all debts have been
252
- * covered.
231
+ * Called by manager at end of liquidation, at which point all debts
232
+ * have been covered.
253
233
  */
254
234
  liquidated(): void;
255
235
  /**
@@ -261,38 +241,34 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
261
241
  abortLiquidation(): string;
262
242
  makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
263
243
  makeCloseInvitation(): Promise<Invitation<R, A>>;
264
- /**
265
- * @returns {Promise<Invitation>}
266
- */
244
+ /** @returns {Promise<Invitation>} */
267
245
  makeTransferInvitation(): Promise<Invitation>;
268
- /**
269
- *
270
- * @returns {Amount<'nat'>}
271
- */
246
+ /** @returns {Amount<'nat'>} */
272
247
  getCollateralAmount(): Amount<'nat'>;
273
248
  /**
274
249
  * The actual current debt, including accrued interest.
275
250
  *
276
- * This looks like a simple getter but it does a lot of the heavy lifting for
277
- * interest accrual. Rather than updating all records when interest accrues,
278
- * the vault manager updates just its rolling compounded interest. Here we
279
- * calculate what the current debt is given what's recorded in this vault and
280
- * what interest has compounded since this vault record was written.
281
- *
282
- * @see getNormalizedDebt
251
+ * This looks like a simple getter but it does a lot of the heavy
252
+ * lifting for interest accrual. Rather than updating all records when
253
+ * interest accrues, the vault manager updates just its rolling
254
+ * compounded interest. Here we calculate what the current debt is given
255
+ * what's recorded in this vault and what interest has compounded since
256
+ * this vault record was written.
283
257
  *
284
258
  * @returns {Amount<'nat'>}
259
+ * @see getNormalizedDebt
285
260
  */
286
261
  getCurrentDebt(): Amount<'nat'>;
287
262
  /**
288
- * The normalization puts all debts on a common time-independent scale since
289
- * the launch of this vault manager. This allows the manager to order vaults
290
- * by their debt-to-collateral ratios without having to mutate the debts as
291
- * the interest accrues.
263
+ * The normalization puts all debts on a common time-independent scale
264
+ * since the launch of this vault manager. This allows the manager to
265
+ * order vaults by their debt-to-collateral ratios without having to
266
+ * mutate the debts as the interest accrues.
292
267
  *
268
+ * @returns {import('./storeUtils.js').NormalizedDebt} as if the vault
269
+ * was open at the launch of this manager, before any interest
270
+ * accrued
293
271
  * @see getActualDebAmount
294
- *
295
- * @returns {import('./storeUtils.js').NormalizedDebt} as if the vault was open at the launch of this manager, before any interest accrued
296
272
  */
297
273
  getNormalizedDebt(): import('./storeUtils.js').NormalizedDebt;
298
274
  };
@@ -303,7 +279,10 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
303
279
  emptyCollateral(): Amount<"nat">;
304
280
  emptyDebt(): Amount<"nat">;
305
281
  /**
306
- * @typedef {{ give: { Collateral: Amount<'nat'>, Minted: Amount<'nat'> }, want: { Collateral: Amount<'nat'>, Minted: Amount<'nat'> } }} FullProposal
282
+ * @typedef {{
283
+ * give: { Collateral: Amount<'nat'>; Minted: Amount<'nat'> };
284
+ * want: { Collateral: Amount<'nat'>; Minted: Amount<'nat'> };
285
+ * }} FullProposal
307
286
  */
308
287
  /**
309
288
  * @param {ProposalRecord} partial
@@ -319,9 +298,7 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
319
298
  Minted: Amount<'nat'>;
320
299
  };
321
300
  };
322
- /**
323
- * @param {VaultPhase} newPhase
324
- */
301
+ /** @param {VaultPhase} newPhase */
325
302
  assignPhase(newPhase: VaultPhase): void;
326
303
  assertActive(): void;
327
304
  assertCloseable(): void;
@@ -333,31 +310,26 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
333
310
  */
334
311
  updateDebtSnapshot(newDebt: Amount<'nat'>): void;
335
312
  /**
336
- * Update the debt balance and propagate upwards to
337
- * maintain aggregate debt and liquidation order.
313
+ * Update the debt balance and propagate upwards to maintain aggregate
314
+ * debt and liquidation order.
338
315
  *
339
- * @param {NormalizedDebt} oldDebtNormalized - prior principal and all accrued interest, normalized to the launch of the vaultManager
316
+ * @param {NormalizedDebt} oldDebtNormalized - prior principal and all
317
+ * accrued interest, normalized to the launch of the vaultManager
340
318
  * @param {Amount<'nat'>} oldCollateral - actual collateral
341
- * @param {Amount<'nat'>} newDebtActual - actual principal and all accrued interest
319
+ * @param {Amount<'nat'>} newDebtActual - actual principal and all
320
+ * accrued interest
342
321
  */
343
322
  updateDebtAccounting(oldDebtNormalized: NormalizedDebt, oldCollateral: Amount<'nat'>, newDebtActual: Amount<'nat'>): void;
344
- /**
345
- *
346
- * @param {ZCFSeat} seat
347
- */
323
+ /** @param {ZCFSeat} seat */
348
324
  getCollateralAllocated(seat: ZCFSeat): Amount<any>;
349
325
  getMintedAllocated(seat: any): any;
350
326
  assertVaultHoldsNoMinted(): void;
351
327
  /**
352
- *
353
328
  * @param {Amount<'nat'>} collateralAmount
354
329
  * @param {Amount<'nat'>} proposedDebt
355
330
  */
356
331
  assertSufficientCollateral(collateralAmount: Amount<'nat'>, proposedDebt: Amount<'nat'>): void;
357
- /**
358
- *
359
- * @param {HolderPhase} newPhase
360
- */
332
+ /** @param {HolderPhase} newPhase */
361
333
  getStateSnapshot(newPhase: HolderPhase): {
362
334
  debtSnapshot: {
363
335
  debt: Amount<"nat">;
@@ -366,20 +338,16 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
366
338
  locked: Amount<"nat">;
367
339
  vaultState: HolderPhase;
368
340
  };
369
- /**
370
- * call this whenever anything changes!
371
- */
341
+ /** call this whenever anything changes! */
372
342
  updateUiState(): void;
373
- /**
374
- * @param {ZCFSeat} seat
375
- */
343
+ /** @param {ZCFSeat} seat */
376
344
  closeHook(seat: ZCFSeat): Promise<string>;
377
345
  /**
378
- * Calculate the fee, the amount to mint and the resulting debt.
379
- * The give and the want together reflect a delta, where typically
380
- * one is zero because they come from the gave/want of an offer
381
- * proposal. If the `want` is zero, the `fee` will also be zero,
382
- * so the simple math works.
346
+ * Calculate the fee, the amount to mint and the resulting debt. The
347
+ * give and the want together reflect a delta, where typically one is
348
+ * zero because they come from the gave/want of an offer proposal. If
349
+ * the `want` is zero, the `fee` will also be zero, so the simple math
350
+ * works.
383
351
  *
384
352
  * @param {Amount<'nat'>} currentDebt
385
353
  * @param {Amount<'nat'>} giveAmount
@@ -399,7 +367,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
399
367
  */
400
368
  adjustBalancesHook(clientSeat: ZCFSeat): string;
401
369
  /**
402
- *
403
370
  * @param {ZCFSeat} clientSeat
404
371
  * @param {FullProposal} fp
405
372
  * @param {ReturnType<typeof calculateDebtCosts>} costs
@@ -422,7 +389,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
422
389
  collateralPre: Amount<'nat'>;
423
390
  }): string;
424
391
  /**
425
- *
426
392
  * @param {ZCFSeat} seat
427
393
  * @returns {VaultKit}
428
394
  */
@@ -460,35 +426,15 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
460
426
  makeTransferInvitation(): Promise<Invitation<R, A>>;
461
427
  getCollateralAmount(): Amount<"nat">;
462
428
  getCurrentDebt(): Amount<"nat">;
463
- /**
464
- * @typedef {Readonly<{
465
- * idInManager: VaultId,
466
- * manager: VaultManager,
467
- * storageNode: StorageNode,
468
- * vaultSeat: ZCFSeat,
469
- * }>} ImmutableState
470
- */
471
- /**
472
- * Snapshot is of the debt and compounded interest when the principal was last changed.
473
- *
474
- * @typedef {{
475
- * stabilityFeeSnapshot: Ratio,
476
- * phase: VaultPhase,
477
- * debtSnapshot: Amount<'nat'>,
478
- * outerUpdater: import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification> | null,
479
- * }} MutableState
480
- */
481
429
  getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
482
430
  };
483
431
  vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
484
432
  }>;
485
- /**
486
- * Called by manager at start of liquidation.
487
- */
433
+ /** Called by manager at start of liquidation. */
488
434
  liquidating(): void;
489
435
  /**
490
- * Called by manager at end of liquidation, at which point all debts have been
491
- * covered.
436
+ * Called by manager at end of liquidation, at which point all debts
437
+ * have been covered.
492
438
  */
493
439
  liquidated(): void;
494
440
  /**
@@ -500,38 +446,34 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
500
446
  abortLiquidation(): string;
501
447
  makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
502
448
  makeCloseInvitation(): Promise<Invitation<R, A>>;
503
- /**
504
- * @returns {Promise<Invitation>}
505
- */
449
+ /** @returns {Promise<Invitation>} */
506
450
  makeTransferInvitation(): Promise<Invitation>;
507
- /**
508
- *
509
- * @returns {Amount<'nat'>}
510
- */
451
+ /** @returns {Amount<'nat'>} */
511
452
  getCollateralAmount(): Amount<'nat'>;
512
453
  /**
513
454
  * The actual current debt, including accrued interest.
514
455
  *
515
- * This looks like a simple getter but it does a lot of the heavy lifting for
516
- * interest accrual. Rather than updating all records when interest accrues,
517
- * the vault manager updates just its rolling compounded interest. Here we
518
- * calculate what the current debt is given what's recorded in this vault and
519
- * what interest has compounded since this vault record was written.
520
- *
521
- * @see getNormalizedDebt
456
+ * This looks like a simple getter but it does a lot of the heavy
457
+ * lifting for interest accrual. Rather than updating all records when
458
+ * interest accrues, the vault manager updates just its rolling
459
+ * compounded interest. Here we calculate what the current debt is given
460
+ * what's recorded in this vault and what interest has compounded since
461
+ * this vault record was written.
522
462
  *
523
463
  * @returns {Amount<'nat'>}
464
+ * @see getNormalizedDebt
524
465
  */
525
466
  getCurrentDebt(): Amount<'nat'>;
526
467
  /**
527
- * The normalization puts all debts on a common time-independent scale since
528
- * the launch of this vault manager. This allows the manager to order vaults
529
- * by their debt-to-collateral ratios without having to mutate the debts as
530
- * the interest accrues.
468
+ * The normalization puts all debts on a common time-independent scale
469
+ * since the launch of this vault manager. This allows the manager to
470
+ * order vaults by their debt-to-collateral ratios without having to
471
+ * mutate the debts as the interest accrues.
531
472
  *
473
+ * @returns {import('./storeUtils.js').NormalizedDebt} as if the vault
474
+ * was open at the launch of this manager, before any interest
475
+ * accrued
532
476
  * @see getActualDebAmount
533
- *
534
- * @returns {import('./storeUtils.js').NormalizedDebt} as if the vault was open at the launch of this manager, before any interest accrued
535
477
  */
536
478
  getNormalizedDebt(): import('./storeUtils.js').NormalizedDebt;
537
479
  };
@@ -557,7 +499,8 @@ export type VaultNotification = {
557
499
  */
558
500
  locked: Amount<'nat'>;
559
501
  /**
560
- * 'debt' at the point the compounded stabilityFee was 'stabilityFee'
502
+ * 'debt'
503
+ * at the point the compounded stabilityFee was 'stabilityFee'
561
504
  */
562
505
  debtSnapshot: {
563
506
  debt: Amount<'nat'>;
@@ -584,7 +527,8 @@ export type ImmutableState = Readonly<{
584
527
  vaultSeat: ZCFSeat;
585
528
  }>;
586
529
  /**
587
- * Snapshot is of the debt and compounded interest when the principal was last changed.
530
+ * Snapshot is of the debt and compounded interest when the principal was last
531
+ * changed.
588
532
  */
589
533
  export type MutableState = {
590
534
  stabilityFeeSnapshot: Ratio;
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["vault.js"],"names":[],"mappings":";;;;;;;AAqEA;;;;;;;GAOG;AAGH;;;;;;;;;;;;GAYG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;;;;GAYG;AAkBI,kFAHI,OAAO,6CAA6C,EAAE,eAAe,OACrE,GAAG;;;;;;QAuDN;;WAEG;QACH;;;WAGG;8BAFQ,cAAc;kBAHJ;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBAAQ;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;;QAyBrI;;WAEG;8BADQ,UAAU;;;QAyBrB;;;;;WAKG;oCADQ,OAAO,KAAK,CAAC;QAWxB;;;;;;;WAOG;gDAHQ,cAAc,iBACd,OAAO,KAAK,CAAC,iBACb,OAAO,KAAK,CAAC;QAgBxB;;;WAGG;qCADQ,OAAO;;;QAsBlB;;;;WAIG;qDAFQ,OAAO,KAAK,CAAC,gBACb,OAAO,KAAK,CAAC;QAWxB;;;WAGG;mCADQ,WAAW;;;;;;;;QAiBtB;;WAEG;;QA4BH;;WAEG;wBADQ,OAAO;QAsElB;;;;;;;;;;WAUG;6BAHQ,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC;;;;;;QAaxB;;;;;WAKG;uCAFQ,OAAO,GACL,MAAM;QAwDnB;;;;;;;;;WASG;4CAPQ,OAAO;kBA1UG;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBAAQ;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;8CA4U1H,WAAW,yBAAyB,CAAC;YAEV,iBAAiB,EAA5C,cAAc;YACY,aAAa,EAAvC,OAAO,KAAK,CAAC;YACX,MAAM;QAsCnB;;;;WAIG;yCAFQ,OAAO,GACL,QAAQ;;;;QAsBrB;;;WAGG;2BAFQ,OAAO,eACP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;gBAzf9B;;;;;;;mBAOG;gBAEH;;;;;;;;;mBASG;;;;;QAkjBK;;WAEG;;QASH;;;WAGG;;QAcH;;;;;WAKG;;;;QAwEH;;WAEG;kCADU,QAAQ,UAAU,CAAC;QAiChC;;;WAGG;+BADU,OAAO,KAAK,CAAC;QAY1B;;;;;;;;;;;;WAYG;0BADU,OAAO,KAAK,CAAC;QAW1B;;;;;;;;;WASG;6BADU,OAAO,iBAAiB,EAAE,cAAc;;;;;;;;QAppBrD;;WAEG;QACH;;;WAGG;8BAFQ,cAAc;kBAHJ;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBAAQ;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;;QAyBrI;;WAEG;8BADQ,UAAU;;;QAyBrB;;;;;WAKG;oCADQ,OAAO,KAAK,CAAC;QAWxB;;;;;;;WAOG;gDAHQ,cAAc,iBACd,OAAO,KAAK,CAAC,iBACb,OAAO,KAAK,CAAC;QAgBxB;;;WAGG;qCADQ,OAAO;;;QAsBlB;;;;WAIG;qDAFQ,OAAO,KAAK,CAAC,gBACb,OAAO,KAAK,CAAC;QAWxB;;;WAGG;mCADQ,WAAW;;;;;;;;QAiBtB;;WAEG;;QA4BH;;WAEG;wBADQ,OAAO;QAsElB;;;;;;;;;;WAUG;6BAHQ,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC;;;;;;QAaxB;;;;;WAKG;uCAFQ,OAAO,GACL,MAAM;QAwDnB;;;;;;;;;WASG;4CAPQ,OAAO;kBA1UG;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBAAQ;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;8CA4U1H,WAAW,yBAAyB,CAAC;YAEV,iBAAiB,EAA5C,cAAc;YACY,aAAa,EAAvC,OAAO,KAAK,CAAC;YACX,MAAM;QAsCnB;;;;WAIG;yCAFQ,OAAO,GACL,QAAQ;;;;QAsBrB;;;WAGG;2BAFQ,OAAO,eACP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;gBAzf9B;;;;;;;mBAOG;gBAEH;;;;;;;;;mBASG;;;;;QAkjBK;;WAEG;;QASH;;;WAGG;;QAcH;;;;;WAKG;;;;QAwEH;;WAEG;kCADU,QAAQ,UAAU,CAAC;QAiChC;;;WAGG;+BADU,OAAO,KAAK,CAAC;QAY1B;;;;;;;;;;;;WAYG;0BADU,OAAO,KAAK,CAAC;QAW1B;;;;;;;;;WASG;6BADU,OAAO,iBAAiB,EAAE,cAAc;;GAiB5D;6BAp1Ba,OAAO,iBAAiB,EAAE,cAAc;yBAsCzC;;;;;;EAAM,MAAM,KAAK,YAAY,EAAE,UAAU,CAAC,CAAC;0BAW3C;;;;;;EAAM,MAAM,YAAY,CAAC;;;;;YAGxB,OAAO,KAAK,CAAC;;;;kBACb;QAAC,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC;QAAC,YAAY,EAAE,KAAK,CAAA;KAAC;gBAC1C,WAAW;;;wBAMX,MAAM,WAAW,OAAO,gBAAgB,EAAE,UAAU,CAAC;mCAClC,MAAM,KAAK,OAAO,KAAK,CAAC;wBAC3C,MAAM,KAAK;6BACJ,MAAM,KAAK,MAAM;kBACxB,MAAM,MAAM,KAAK,CAAC;qBAClB,eAAe;mBACN,MAAM,QAAQ,OAAO,KAAK,IAAI;+BACvC,MAAM,KAAK;mCACD,OAAO,iBAAiB,EAAE,cAAc,iBAAiB,OAAO,KAAK,CAAC,WAAW,OAAO,cAAc,UAAU,SAAS,KAAK,KAAK,IAAI;uBACjJ,MAAM,OAAO,mBAAmB,EAAE,oBAAoB;;6BAIvD,SAAS;IACrB,WAAa,EAAE,OAAO,CAAC;IACvB,OAAS,EAAE,YAAY,CAAC;IACxB,WAAa,EAAE,WAAW,CAAC;IAC3B,SAAW,EAAE,OAAO,CAAC;CAClB,CAAC;;;;2BAMQ;IACZ,oBAAwB,EAAE,KAAK,CAAC;IAChC,KAAS,EAAE,UAAU,CAAC;IACtB,YAAgB,EAAE,OAAO,KAAK,CAAC,CAAC;IAChC,YAAgB,EAAE,OAAO,6CAA6C,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;CACxG;oBA6vBU,WAAW,WAAW,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC;mCA51B9B,WAAW"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["vault.js"],"names":[],"mappings":"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"}