@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.
- package/bundles/bundle-auctioneer-js-meta.json +181 -181
- package/bundles/bundle-auctioneer.js +1 -1
- package/bundles/bundle-econCommitteeCharter-js-meta.json +129 -129
- package/bundles/bundle-econCommitteeCharter.js +1 -1
- package/bundles/bundle-feeDistributor-js-meta.json +115 -115
- package/bundles/bundle-feeDistributor.js +1 -1
- package/bundles/bundle-fluxAggregatorKit-js-meta.json +169 -169
- package/bundles/bundle-fluxAggregatorKit.js +1 -1
- package/bundles/bundle-psm-js-meta.json +167 -167
- package/bundles/bundle-psm.js +1 -1
- package/bundles/bundle-reserve-js-meta.json +169 -169
- package/bundles/bundle-reserve.js +1 -1
- package/bundles/bundle-scaledPriceAuthority-js-meta.json +142 -142
- package/bundles/bundle-scaledPriceAuthority.js +1 -1
- package/bundles/bundle-vaultFactory-js-meta.json +200 -200
- package/bundles/bundle-vaultFactory.js +1 -1
- package/package.json +17 -17
- package/scripts/deploy-contracts.js +12 -2
- package/scripts/init-core.js +5 -6
- package/scripts/manual-price-feed.js +20 -15
- package/src/auction/auctionBook.d.ts +16 -13
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionBook.js +68 -56
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +54 -42
- package/src/auction/offerBook.d.ts.map +1 -1
- package/src/auction/offerBook.js +12 -11
- package/src/auction/params.d.ts +1 -1
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/params.js +3 -5
- package/src/auction/scheduleMath.d.ts.map +1 -1
- package/src/auction/scheduleMath.js +13 -13
- package/src/auction/scheduler.d.ts +4 -4
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +20 -20
- package/src/auction/sortedOffers.d.ts.map +1 -1
- package/src/auction/sortedOffers.js +8 -7
- package/src/auction/util.d.ts +1 -1
- package/src/auction/util.js +4 -4
- package/src/clientSupport.d.ts +65 -27
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +92 -34
- package/src/contractSupport.js +5 -5
- package/src/econCommitteeCharter.d.ts +4 -6
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/econCommitteeCharter.js +7 -11
- package/src/feeDistributor.d.ts +8 -24
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/feeDistributor.js +26 -28
- package/src/interest.d.ts +1 -0
- package/src/interest.d.ts.map +1 -1
- package/src/interest.js +22 -15
- package/src/price/fluxAggregatorContract.d.ts +1 -0
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.js +24 -19
- package/src/price/fluxAggregatorKit.d.ts +23 -18
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +47 -32
- package/src/price/priceOracleKit.d.ts +2 -8
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +11 -13
- package/src/price/roundsManager.d.ts +28 -46
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +51 -63
- package/src/proposals/committee-proposal.d.ts.map +1 -1
- package/src/proposals/committee-proposal.js +5 -9
- package/src/proposals/core-proposal.d.ts.map +1 -1
- package/src/proposals/core-proposal.js +3 -5
- package/src/proposals/econ-behaviors.d.ts.map +1 -1
- package/src/proposals/econ-behaviors.js +55 -28
- package/src/proposals/price-feed-proposal.d.ts.map +1 -1
- package/src/proposals/price-feed-proposal.js +30 -11
- package/src/proposals/startPSM.d.ts.map +1 -1
- package/src/proposals/startPSM.js +24 -17
- package/src/proposals/utils.d.ts +1 -1
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +26 -7
- package/src/psm/psm.d.ts +14 -22
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +34 -31
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +16 -13
- package/src/reserve/assetReserveKit.d.ts +14 -26
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +13 -21
- package/src/tokens.d.ts +3 -3
- package/src/tokens.d.ts.map +1 -1
- package/src/tokens.js +5 -5
- package/src/typeGuards.d.ts +1 -3
- package/src/typeGuards.d.ts.map +1 -1
- package/src/typeGuards.js +1 -3
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +29 -16
- package/src/vaultFactory/math.d.ts.map +1 -1
- package/src/vaultFactory/math.js +8 -9
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
- package/src/vaultFactory/orderedVaultStore.js +6 -9
- package/src/vaultFactory/params.d.ts +1 -4
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +24 -18
- package/src/vaultFactory/prioritizedVaults.js +2 -2
- package/src/vaultFactory/proceeds.d.ts +3 -3
- package/src/vaultFactory/proceeds.d.ts.map +1 -1
- package/src/vaultFactory/proceeds.js +24 -18
- package/src/vaultFactory/storeUtils.d.ts +2 -6
- package/src/vaultFactory/storeUtils.d.ts.map +1 -1
- package/src/vaultFactory/storeUtils.js +8 -12
- package/src/vaultFactory/types.d.ts +16 -11
- package/src/vaultFactory/types.d.ts.map +1 -1
- package/src/vaultFactory/types.js +37 -27
- package/src/vaultFactory/vault.d.ts +103 -159
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +84 -85
- package/src/vaultFactory/vaultDirector.d.ts +21 -43
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +30 -40
- package/src/vaultFactory/vaultFactory.d.ts +8 -6
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +13 -11
- package/src/vaultFactory/vaultHolder.d.ts +12 -16
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +7 -12
- package/src/vaultFactory/vaultKit.d.ts +1 -1
- package/src/vaultFactory/vaultKit.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.js +3 -2
- package/src/vaultFactory/vaultManager.d.ts +454 -68
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- 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
|
|
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
|
-
*
|
|
28
|
-
* @property {Ratio} liquidationPenalty - penalty charged upon liquidation as
|
|
29
|
-
*
|
|
30
|
-
* @property {Ratio}
|
|
31
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
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
|
|
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<
|
|
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
|
-
*
|
|
137
|
+
* the present.
|
|
128
138
|
* @property {Calculate} calculateReportingPeriod calculate new debt for
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
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'
|
|
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 {(
|
|
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
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
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
|
|
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:
|
|
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 {{
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
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
|
|
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
|
|
277
|
-
* interest accrual. Rather than updating all records when
|
|
278
|
-
* the vault manager updates just its rolling
|
|
279
|
-
* calculate what the current debt is given
|
|
280
|
-
* what
|
|
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
|
|
289
|
-
* the launch of this vault manager. This allows the manager to
|
|
290
|
-
* by their debt-to-collateral ratios without having to
|
|
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 {{
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
380
|
-
*
|
|
381
|
-
*
|
|
382
|
-
*
|
|
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
|
|
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
|
|
516
|
-
* interest accrual. Rather than updating all records when
|
|
517
|
-
* the vault manager updates just its rolling
|
|
518
|
-
* calculate what the current debt is given
|
|
519
|
-
* what
|
|
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
|
|
528
|
-
* the launch of this vault manager. This allows the manager to
|
|
529
|
-
* by their debt-to-collateral ratios without having to
|
|
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'
|
|
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
|
|
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":";;;;;;;
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["vault.js"],"names":[],"mappings":";;;;;;;AA0EA;;;;;;;;GAQG;AAGH;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;GAYG;AAkBI,kFAHI,OAAO,6CAA6C,EAAE,eAAe,OACrE,GAAG;;;;;;QAuDN;;;;;WAKG;QACH;;;WAGG;8BAFQ,cAAc;kBALd;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBACpD;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;;QA0B/D,mCAAmC;8BAAvB,UAAU;;;QAwBtB;;;;;WAKG;oCADQ,OAAO,KAAK,CAAC;QAWxB;;;;;;;;;WASG;gDALQ,cAAc,iBAEd,OAAO,KAAK,CAAC,iBACb,OAAO,KAAK,CAAC;QAiBxB,4BAA4B;qCAAhB,OAAO;;;QAqBnB;;;WAGG;qDAFQ,OAAO,KAAK,CAAC,gBACb,OAAO,KAAK,CAAC;QAWxB,oCAAoC;mCAAxB,WAAW;;;;;;;;QAgBvB,2CAA2C;;QA4B3C,4BAA4B;wBAAhB,OAAO;QAqEnB;;;;;;;;;;WAUG;6BAHQ,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC;;;;;;QAaxB;;;;;WAKG;uCAFQ,OAAO,GACL,MAAM;QAwDnB;;;;;;;;WAQG;4CAPQ,OAAO;kBAhUP;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBACpD;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;8CAiUpD,WAAW,yBAAyB,CAAC;YAEV,iBAAiB,EAA5C,cAAc;YACY,aAAa,EAAvC,OAAO,KAAK,CAAC;YACX,MAAM;QAsCnB;;;WAGG;yCAFQ,OAAO,GACL,QAAQ;;;;QAsBrB;;;WAGG;2BAFQ,OAAO,eACP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2EtB,iDAAiD;;QASjD;;;WAGG;;QAcH;;;;;WAKG;;;;QAwEH,qCAAqC;kCAAvB,QAAQ,UAAU,CAAC;QAgCjC,+BAA+B;+BAAjB,OAAO,KAAK,CAAC;QAW3B;;;;;;;;;;;;WAYG;0BAFU,OAAO,KAAK,CAAC;QAY1B;;;;;;;;;;WAUG;6BAJU,OAAO,iBAAiB,EAAE,cAAc;;;;;;;;QAjoBrD;;;;;WAKG;QACH;;;WAGG;8BAFQ,cAAc;kBALd;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBACpD;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;;QA0B/D,mCAAmC;8BAAvB,UAAU;;;QAwBtB;;;;;WAKG;oCADQ,OAAO,KAAK,CAAC;QAWxB;;;;;;;;;WASG;gDALQ,cAAc,iBAEd,OAAO,KAAK,CAAC,iBACb,OAAO,KAAK,CAAC;QAiBxB,4BAA4B;qCAAhB,OAAO;;;QAqBnB;;;WAGG;qDAFQ,OAAO,KAAK,CAAC,gBACb,OAAO,KAAK,CAAC;QAWxB,oCAAoC;mCAAxB,WAAW;;;;;;;;QAgBvB,2CAA2C;;QA4B3C,4BAA4B;wBAAhB,OAAO;QAqEnB;;;;;;;;;;WAUG;6BAHQ,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC,cACb,OAAO,KAAK,CAAC;;;;;;QAaxB;;;;;WAKG;uCAFQ,OAAO,GACL,MAAM;QAwDnB;;;;;;;;WAQG;4CAPQ,OAAO;kBAhUP;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;kBACpD;gBAAE,UAAU,EAAE,OAAO,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,OAAO,KAAK,CAAC,CAAA;aAAE;8CAiUpD,WAAW,yBAAyB,CAAC;YAEV,iBAAiB,EAA5C,cAAc;YACY,aAAa,EAAvC,OAAO,KAAK,CAAC;YACX,MAAM;QAsCnB;;;WAGG;yCAFQ,OAAO,GACL,QAAQ;;;;QAsBrB;;;WAGG;2BAFQ,OAAO,eACP,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2EtB,iDAAiD;;QASjD;;;WAGG;;QAcH;;;;;WAKG;;;;QAwEH,qCAAqC;kCAAvB,QAAQ,UAAU,CAAC;QAgCjC,+BAA+B;+BAAjB,OAAO,KAAK,CAAC;QAW3B;;;;;;;;;;;;WAYG;0BAFU,OAAO,KAAK,CAAC;QAY1B;;;;;;;;;;WAUG;6BAJU,OAAO,iBAAiB,EAAE,cAAc;;GAoB5D;6BAn1Ba,OAAO,iBAAiB,EAAE,cAAc;yBA2CzC;;;;;;EAAM,MAAM,KAAK,YAAY,EAAE,UAAU,CAAC,CAAC;0BAW3C;;;;;;EAAM,MAAM,YAAY,CAAC;;;;;YAGxB,OAAO,KAAK,CAAC;;;;;kBACb;QAAE,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC;QAAC,YAAY,EAAE,KAAK,CAAA;KAAE;gBAE5C,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;mCAEX,OAAO,iBAAiB,EAAE,cAAc,iBAClC,OAAO,KAAK,CAAC,WACnB,OAAO,cACJ,UAAU,SACf,KAAK,KACT,IAAI;uBACE,MAAM,OAAO,mBAAmB,EAAE,oBAAoB;;6BAIvD,SAAS;IACrB,WAAe,EAAE,OAAO,CAAC;IACzB,OAAW,EAAE,YAAY,CAAC;IAC1B,WAAe,EAAE,WAAW,CAAC;IAC7B,SAAa,EAAE,OAAO,CAAC;CACpB,CAAC;;;;;2BAOQ;IACZ,oBAAwB,EAAE,KAAK,CAAC;IAChC,KAAS,EAAE,UAAU,CAAC;IACtB,YAAgB,EAAE,OAAO,KAAK,CAAC,CAAC;IAChC,YAAgB,EACR,OAAO,6CAA6C,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACjF,IAAI,CAAC;CACV;oBA6uBU,WAAW,WAAW,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC;mCA31B9B,WAAW"}
|