@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.
- package/bundles/bundle-auctioneer-js-meta.json +331 -323
- package/bundles/bundle-auctioneer.js +1 -1
- package/bundles/bundle-econCommitteeCharter-js-meta.json +206 -198
- package/bundles/bundle-econCommitteeCharter.js +1 -1
- package/bundles/bundle-feeDistributor-js-meta.json +207 -199
- package/bundles/bundle-feeDistributor.js +1 -1
- package/bundles/bundle-fluxAggregatorKit-js-meta.json +327 -319
- package/bundles/bundle-fluxAggregatorKit.js +1 -1
- package/bundles/bundle-psm-js-meta.json +314 -306
- package/bundles/bundle-psm.js +1 -1
- package/bundles/bundle-reserve-js-meta.json +320 -312
- package/bundles/bundle-reserve.js +1 -1
- package/bundles/bundle-scaledPriceAuthority-js-meta.json +256 -248
- package/bundles/bundle-scaledPriceAuthority.js +1 -1
- package/bundles/bundle-vaultFactory-js-meta.json +379 -371
- package/bundles/bundle-vaultFactory.js +1 -1
- package/package.json +25 -25
- 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 +2 -4
- 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 +116 -160
- 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,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 {(
|
|
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
|
-
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 {{
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
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
|
|
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
|
|
265
|
-
* interest accrual. Rather than updating all records when
|
|
266
|
-
* the vault manager updates just its rolling
|
|
267
|
-
* calculate what the current debt is given
|
|
268
|
-
* what
|
|
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
|
|
277
|
-
* the launch of this vault manager. This allows the manager to
|
|
278
|
-
* by their debt-to-collateral ratios without having to
|
|
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 {{
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
-
*
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
*
|
|
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
|
|
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
|
|
504
|
-
* interest accrual. Rather than updating all records when
|
|
505
|
-
* the vault manager updates just its rolling
|
|
506
|
-
* calculate what the current debt is given
|
|
507
|
-
* what
|
|
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
|
|
516
|
-
* the launch of this vault manager. This allows the manager to
|
|
517
|
-
* by their debt-to-collateral ratios without having to
|
|
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'
|
|
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
|
|
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":";;;;;;;
|
|
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"}
|