@agoric/inter-protocol 0.16.2-dev-22cbeb1.0 → 0.16.2-dev-284e2db.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 +331 -323
  2. package/bundles/bundle-auctioneer.js +1 -1
  3. package/bundles/bundle-econCommitteeCharter-js-meta.json +206 -198
  4. package/bundles/bundle-econCommitteeCharter.js +1 -1
  5. package/bundles/bundle-feeDistributor-js-meta.json +207 -199
  6. package/bundles/bundle-feeDistributor.js +1 -1
  7. package/bundles/bundle-fluxAggregatorKit-js-meta.json +327 -319
  8. package/bundles/bundle-fluxAggregatorKit.js +1 -1
  9. package/bundles/bundle-psm-js-meta.json +314 -306
  10. package/bundles/bundle-psm.js +1 -1
  11. package/bundles/bundle-reserve-js-meta.json +320 -312
  12. package/bundles/bundle-reserve.js +1 -1
  13. package/bundles/bundle-scaledPriceAuthority-js-meta.json +256 -248
  14. package/bundles/bundle-scaledPriceAuthority.js +1 -1
  15. package/bundles/bundle-vaultFactory-js-meta.json +379 -371
  16. package/bundles/bundle-vaultFactory.js +1 -1
  17. package/package.json +25 -25
  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 +2 -4
  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 +116 -160
  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,28 +24,49 @@ 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
- export const VaultI: import("@endo/patterns").InterfaceGuard;
57
+ export const VaultI: import("@endo/patterns").InterfaceGuard<{
58
+ getCollateralAmount: any;
59
+ getCurrentDebt: any;
60
+ getNormalizedDebt: any;
61
+ getVaultSeat: any;
62
+ initVaultKit: any;
63
+ liquidated: any;
64
+ liquidating: any;
65
+ makeAdjustBalancesInvitation: any;
66
+ makeCloseInvitation: any;
67
+ makeTransferInvitation: any;
68
+ abortLiquidation: any;
69
+ }>;
48
70
  export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit: import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit, zcf: ZCF): (manager: VaultManager, idInManager: string, storageNode: StorageNode) => {
49
71
  helper: {
50
72
  collateralBrand(): Brand<AssetKind>;
@@ -52,7 +74,10 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
52
74
  emptyCollateral(): Amount<"nat">;
53
75
  emptyDebt(): Amount<"nat">;
54
76
  /**
55
- * @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
56
81
  */
57
82
  /**
58
83
  * @param {ProposalRecord} partial
@@ -68,9 +93,7 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
68
93
  Minted: Amount<'nat'>;
69
94
  };
70
95
  };
71
- /**
72
- * @param {VaultPhase} newPhase
73
- */
96
+ /** @param {VaultPhase} newPhase */
74
97
  assignPhase(newPhase: VaultPhase): void;
75
98
  assertActive(): void;
76
99
  assertCloseable(): void;
@@ -82,31 +105,26 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
82
105
  */
83
106
  updateDebtSnapshot(newDebt: Amount<'nat'>): void;
84
107
  /**
85
- * Update the debt balance and propagate upwards to
86
- * maintain aggregate debt and liquidation order.
108
+ * Update the debt balance and propagate upwards to maintain aggregate
109
+ * debt and liquidation order.
87
110
  *
88
- * @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
89
113
  * @param {Amount<'nat'>} oldCollateral - actual collateral
90
- * @param {Amount<'nat'>} newDebtActual - actual principal and all accrued interest
114
+ * @param {Amount<'nat'>} newDebtActual - actual principal and all
115
+ * accrued interest
91
116
  */
92
117
  updateDebtAccounting(oldDebtNormalized: NormalizedDebt, oldCollateral: Amount<'nat'>, newDebtActual: Amount<'nat'>): void;
93
- /**
94
- *
95
- * @param {ZCFSeat} seat
96
- */
118
+ /** @param {ZCFSeat} seat */
97
119
  getCollateralAllocated(seat: ZCFSeat): Amount<any>;
98
120
  getMintedAllocated(seat: any): any;
99
121
  assertVaultHoldsNoMinted(): void;
100
122
  /**
101
- *
102
123
  * @param {Amount<'nat'>} collateralAmount
103
124
  * @param {Amount<'nat'>} proposedDebt
104
125
  */
105
126
  assertSufficientCollateral(collateralAmount: Amount<'nat'>, proposedDebt: Amount<'nat'>): void;
106
- /**
107
- *
108
- * @param {HolderPhase} newPhase
109
- */
127
+ /** @param {HolderPhase} newPhase */
110
128
  getStateSnapshot(newPhase: HolderPhase): {
111
129
  debtSnapshot: {
112
130
  debt: Amount<"nat">;
@@ -115,20 +133,16 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
115
133
  locked: Amount<"nat">;
116
134
  vaultState: HolderPhase;
117
135
  };
118
- /**
119
- * call this whenever anything changes!
120
- */
136
+ /** call this whenever anything changes! */
121
137
  updateUiState(): void;
122
- /**
123
- * @param {ZCFSeat} seat
124
- */
138
+ /** @param {ZCFSeat} seat */
125
139
  closeHook(seat: ZCFSeat): Promise<string>;
126
140
  /**
127
- * Calculate the fee, the amount to mint and the resulting debt.
128
- * The give and the want together reflect a delta, where typically
129
- * one is zero because they come from the gave/want of an offer
130
- * proposal. If the `want` is zero, the `fee` will also be zero,
131
- * 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.
132
146
  *
133
147
  * @param {Amount<'nat'>} currentDebt
134
148
  * @param {Amount<'nat'>} giveAmount
@@ -148,7 +162,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
148
162
  */
149
163
  adjustBalancesHook(clientSeat: ZCFSeat): string;
150
164
  /**
151
- *
152
165
  * @param {ZCFSeat} clientSeat
153
166
  * @param {FullProposal} fp
154
167
  * @param {ReturnType<typeof calculateDebtCosts>} costs
@@ -171,7 +184,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
171
184
  collateralPre: Amount<'nat'>;
172
185
  }): string;
173
186
  /**
174
- *
175
187
  * @param {ZCFSeat} seat
176
188
  * @returns {VaultKit}
177
189
  */
@@ -209,35 +221,15 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
209
221
  makeTransferInvitation(): Promise<Invitation<R, A>>;
210
222
  getCollateralAmount(): Amount<"nat">;
211
223
  getCurrentDebt(): Amount<"nat">;
212
- /**
213
- * @typedef {Readonly<{
214
- * idInManager: VaultId,
215
- * manager: VaultManager,
216
- * storageNode: StorageNode,
217
- * vaultSeat: ZCFSeat,
218
- * }>} ImmutableState
219
- */
220
- /**
221
- * Snapshot is of the debt and compounded interest when the principal was last changed.
222
- *
223
- * @typedef {{
224
- * stabilityFeeSnapshot: Ratio,
225
- * phase: VaultPhase,
226
- * debtSnapshot: Amount<'nat'>,
227
- * outerUpdater: import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification> | null,
228
- * }} MutableState
229
- */
230
224
  getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
231
225
  };
232
226
  vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
233
227
  }>;
234
- /**
235
- * Called by manager at start of liquidation.
236
- */
228
+ /** Called by manager at start of liquidation. */
237
229
  liquidating(): void;
238
230
  /**
239
- * Called by manager at end of liquidation, at which point all debts have been
240
- * covered.
231
+ * Called by manager at end of liquidation, at which point all debts
232
+ * have been covered.
241
233
  */
242
234
  liquidated(): void;
243
235
  /**
@@ -249,38 +241,34 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
249
241
  abortLiquidation(): string;
250
242
  makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
251
243
  makeCloseInvitation(): Promise<Invitation<R, A>>;
252
- /**
253
- * @returns {Promise<Invitation>}
254
- */
244
+ /** @returns {Promise<Invitation>} */
255
245
  makeTransferInvitation(): Promise<Invitation>;
256
- /**
257
- *
258
- * @returns {Amount<'nat'>}
259
- */
246
+ /** @returns {Amount<'nat'>} */
260
247
  getCollateralAmount(): Amount<'nat'>;
261
248
  /**
262
249
  * The actual current debt, including accrued interest.
263
250
  *
264
- * This looks like a simple getter but it does a lot of the heavy lifting for
265
- * interest accrual. Rather than updating all records when interest accrues,
266
- * the vault manager updates just its rolling compounded interest. Here we
267
- * calculate what the current debt is given what's recorded in this vault and
268
- * what interest has compounded since this vault record was written.
269
- *
270
- * @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.
271
257
  *
272
258
  * @returns {Amount<'nat'>}
259
+ * @see getNormalizedDebt
273
260
  */
274
261
  getCurrentDebt(): Amount<'nat'>;
275
262
  /**
276
- * The normalization puts all debts on a common time-independent scale since
277
- * the launch of this vault manager. This allows the manager to order vaults
278
- * by their debt-to-collateral ratios without having to mutate the debts as
279
- * 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.
280
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
281
271
  * @see getActualDebAmount
282
- *
283
- * @returns {import('./storeUtils.js').NormalizedDebt} as if the vault was open at the launch of this manager, before any interest accrued
284
272
  */
285
273
  getNormalizedDebt(): import('./storeUtils.js').NormalizedDebt;
286
274
  };
@@ -291,7 +279,10 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
291
279
  emptyCollateral(): Amount<"nat">;
292
280
  emptyDebt(): Amount<"nat">;
293
281
  /**
294
- * @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
295
286
  */
296
287
  /**
297
288
  * @param {ProposalRecord} partial
@@ -307,9 +298,7 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
307
298
  Minted: Amount<'nat'>;
308
299
  };
309
300
  };
310
- /**
311
- * @param {VaultPhase} newPhase
312
- */
301
+ /** @param {VaultPhase} newPhase */
313
302
  assignPhase(newPhase: VaultPhase): void;
314
303
  assertActive(): void;
315
304
  assertCloseable(): void;
@@ -321,31 +310,26 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
321
310
  */
322
311
  updateDebtSnapshot(newDebt: Amount<'nat'>): void;
323
312
  /**
324
- * Update the debt balance and propagate upwards to
325
- * maintain aggregate debt and liquidation order.
313
+ * Update the debt balance and propagate upwards to maintain aggregate
314
+ * debt and liquidation order.
326
315
  *
327
- * @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
328
318
  * @param {Amount<'nat'>} oldCollateral - actual collateral
329
- * @param {Amount<'nat'>} newDebtActual - actual principal and all accrued interest
319
+ * @param {Amount<'nat'>} newDebtActual - actual principal and all
320
+ * accrued interest
330
321
  */
331
322
  updateDebtAccounting(oldDebtNormalized: NormalizedDebt, oldCollateral: Amount<'nat'>, newDebtActual: Amount<'nat'>): void;
332
- /**
333
- *
334
- * @param {ZCFSeat} seat
335
- */
323
+ /** @param {ZCFSeat} seat */
336
324
  getCollateralAllocated(seat: ZCFSeat): Amount<any>;
337
325
  getMintedAllocated(seat: any): any;
338
326
  assertVaultHoldsNoMinted(): void;
339
327
  /**
340
- *
341
328
  * @param {Amount<'nat'>} collateralAmount
342
329
  * @param {Amount<'nat'>} proposedDebt
343
330
  */
344
331
  assertSufficientCollateral(collateralAmount: Amount<'nat'>, proposedDebt: Amount<'nat'>): void;
345
- /**
346
- *
347
- * @param {HolderPhase} newPhase
348
- */
332
+ /** @param {HolderPhase} newPhase */
349
333
  getStateSnapshot(newPhase: HolderPhase): {
350
334
  debtSnapshot: {
351
335
  debt: Amount<"nat">;
@@ -354,20 +338,16 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
354
338
  locked: Amount<"nat">;
355
339
  vaultState: HolderPhase;
356
340
  };
357
- /**
358
- * call this whenever anything changes!
359
- */
341
+ /** call this whenever anything changes! */
360
342
  updateUiState(): void;
361
- /**
362
- * @param {ZCFSeat} seat
363
- */
343
+ /** @param {ZCFSeat} seat */
364
344
  closeHook(seat: ZCFSeat): Promise<string>;
365
345
  /**
366
- * Calculate the fee, the amount to mint and the resulting debt.
367
- * The give and the want together reflect a delta, where typically
368
- * one is zero because they come from the gave/want of an offer
369
- * proposal. If the `want` is zero, the `fee` will also be zero,
370
- * 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.
371
351
  *
372
352
  * @param {Amount<'nat'>} currentDebt
373
353
  * @param {Amount<'nat'>} giveAmount
@@ -387,7 +367,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
387
367
  */
388
368
  adjustBalancesHook(clientSeat: ZCFSeat): string;
389
369
  /**
390
- *
391
370
  * @param {ZCFSeat} clientSeat
392
371
  * @param {FullProposal} fp
393
372
  * @param {ReturnType<typeof calculateDebtCosts>} costs
@@ -410,7 +389,6 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
410
389
  collateralPre: Amount<'nat'>;
411
390
  }): string;
412
391
  /**
413
- *
414
392
  * @param {ZCFSeat} seat
415
393
  * @returns {VaultKit}
416
394
  */
@@ -448,35 +426,15 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
448
426
  makeTransferInvitation(): Promise<Invitation<R, A>>;
449
427
  getCollateralAmount(): Amount<"nat">;
450
428
  getCurrentDebt(): Amount<"nat">;
451
- /**
452
- * @typedef {Readonly<{
453
- * idInManager: VaultId,
454
- * manager: VaultManager,
455
- * storageNode: StorageNode,
456
- * vaultSeat: ZCFSeat,
457
- * }>} ImmutableState
458
- */
459
- /**
460
- * Snapshot is of the debt and compounded interest when the principal was last changed.
461
- *
462
- * @typedef {{
463
- * stabilityFeeSnapshot: Ratio,
464
- * phase: VaultPhase,
465
- * debtSnapshot: Amount<'nat'>,
466
- * outerUpdater: import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification> | null,
467
- * }} MutableState
468
- */
469
429
  getNormalizedDebt(): import("./storeUtils.js").NormalizedDebt;
470
430
  };
471
431
  vaultUpdater: import("@agoric/zoe/src/contractSupport/recorder.js").Recorder<VaultNotification>;
472
432
  }>;
473
- /**
474
- * Called by manager at start of liquidation.
475
- */
433
+ /** Called by manager at start of liquidation. */
476
434
  liquidating(): void;
477
435
  /**
478
- * Called by manager at end of liquidation, at which point all debts have been
479
- * covered.
436
+ * Called by manager at end of liquidation, at which point all debts
437
+ * have been covered.
480
438
  */
481
439
  liquidated(): void;
482
440
  /**
@@ -488,38 +446,34 @@ export function prepareVault(baggage: MapStore<string, unknown>, makeRecorderKit
488
446
  abortLiquidation(): string;
489
447
  makeAdjustBalancesInvitation(): Promise<Invitation<R, A>>;
490
448
  makeCloseInvitation(): Promise<Invitation<R, A>>;
491
- /**
492
- * @returns {Promise<Invitation>}
493
- */
449
+ /** @returns {Promise<Invitation>} */
494
450
  makeTransferInvitation(): Promise<Invitation>;
495
- /**
496
- *
497
- * @returns {Amount<'nat'>}
498
- */
451
+ /** @returns {Amount<'nat'>} */
499
452
  getCollateralAmount(): Amount<'nat'>;
500
453
  /**
501
454
  * The actual current debt, including accrued interest.
502
455
  *
503
- * This looks like a simple getter but it does a lot of the heavy lifting for
504
- * interest accrual. Rather than updating all records when interest accrues,
505
- * the vault manager updates just its rolling compounded interest. Here we
506
- * calculate what the current debt is given what's recorded in this vault and
507
- * what interest has compounded since this vault record was written.
508
- *
509
- * @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.
510
462
  *
511
463
  * @returns {Amount<'nat'>}
464
+ * @see getNormalizedDebt
512
465
  */
513
466
  getCurrentDebt(): Amount<'nat'>;
514
467
  /**
515
- * The normalization puts all debts on a common time-independent scale since
516
- * the launch of this vault manager. This allows the manager to order vaults
517
- * by their debt-to-collateral ratios without having to mutate the debts as
518
- * 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.
519
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
520
476
  * @see getActualDebAmount
521
- *
522
- * @returns {import('./storeUtils.js').NormalizedDebt} as if the vault was open at the launch of this manager, before any interest accrued
523
477
  */
524
478
  getNormalizedDebt(): import('./storeUtils.js').NormalizedDebt;
525
479
  };
@@ -545,7 +499,8 @@ export type VaultNotification = {
545
499
  */
546
500
  locked: Amount<'nat'>;
547
501
  /**
548
- * 'debt' at the point the compounded stabilityFee was 'stabilityFee'
502
+ * 'debt'
503
+ * at the point the compounded stabilityFee was 'stabilityFee'
549
504
  */
550
505
  debtSnapshot: {
551
506
  debt: Amount<'nat'>;
@@ -572,7 +527,8 @@ export type ImmutableState = Readonly<{
572
527
  vaultSeat: ZCFSeat;
573
528
  }>;
574
529
  /**
575
- * 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.
576
532
  */
577
533
  export type MutableState = {
578
534
  stabilityFeeSnapshot: Ratio;
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["vault.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["vault.js"],"names":[],"mappings":"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"}