@agoric/inter-protocol 0.16.2-other-dev-3eb1a1d.0 → 0.16.2-other-dev-d15096d.0.d15096d
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/package.json +36 -35
- package/src/auction/auctionBook.d.ts +9 -7
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionBook.js +58 -32
- package/src/auction/auctionMath.d.ts +1 -1
- package/src/auction/auctionMath.d.ts.map +1 -1
- package/src/auction/auctioneer.d.ts +19 -13
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +25 -12
- package/src/auction/offerBook.d.ts +3 -2
- package/src/auction/offerBook.d.ts.map +1 -1
- package/src/auction/offerBook.js +5 -1
- package/src/auction/params.d.ts +16 -7
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/params.js +12 -4
- package/src/auction/scheduleMath.d.ts +5 -3
- package/src/auction/scheduleMath.d.ts.map +1 -1
- package/src/auction/scheduleMath.js +11 -7
- package/src/auction/scheduler.d.ts +9 -4
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +14 -6
- package/src/auction/util.d.ts +2 -1
- package/src/auction/util.d.ts.map +1 -1
- package/src/auction/util.js +4 -1
- package/src/clientSupport.d.ts +29 -73
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +29 -128
- package/src/contractSupport.d.ts +2 -2
- package/src/contractSupport.d.ts.map +1 -1
- package/src/econCommitteeCharter.d.ts +15 -8
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/econCommitteeCharter.js +14 -8
- package/src/feeDistributor.d.ts +43 -49
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/feeDistributor.js +7 -3
- package/src/index.js +1 -1
- package/src/interest-math.d.ts +1 -0
- package/src/interest-math.d.ts.map +1 -1
- package/src/interest-math.js +5 -1
- package/src/interest.d.ts +3 -1
- package/src/interest.d.ts.map +1 -1
- package/src/interest.js +2 -5
- package/src/price/README.md +1 -1
- package/src/price/fluxAggregatorContract.d.ts +20 -11
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.js +17 -9
- package/src/price/fluxAggregatorKit.d.ts +15 -9
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +15 -9
- package/src/price/priceOracleKit.d.ts +4 -2
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +7 -2
- package/src/price/roundsManager.d.ts +8 -6
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +5 -2
- package/src/proposals/add-auction.js +38 -4
- package/src/proposals/addAssetToVault.js +8 -4
- package/src/proposals/committee-proposal.js +10 -5
- package/src/proposals/core-proposal.js +9 -3
- package/src/proposals/deploy-price-feeds.js +35 -7
- package/src/proposals/econ-behaviors.js +33 -12
- package/src/proposals/price-feed-proposal.js +10 -3
- package/src/proposals/replace-fee-distributor.js +12 -6
- package/src/proposals/replaceElectorate.js +105 -16
- package/src/proposals/startEconCommittee.js +5 -1
- package/src/proposals/startPSM.js +7 -4
- package/src/proposals/upgrade-vaults.js +15 -5
- package/src/proposals/utils.d.ts +8 -4
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +32 -9
- package/src/proposals/withdraw-reserve-proposal.js +63 -0
- package/src/provisionPool.d.ts +34 -120
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +43 -21
- package/src/provisionPoolKit.d.ts +43 -328
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +210 -120
- package/src/psm/psm.d.ts +20 -13
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +18 -12
- package/src/reserve/assetReserve.d.ts +18 -6
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +26 -23
- package/src/reserve/assetReserveKit.d.ts +38 -6
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +117 -7
- package/src/reserve/params.d.ts +9 -3
- package/src/reserve/params.d.ts.map +1 -1
- package/src/reserve/params.js +8 -2
- package/src/vaultFactory/burn.d.ts +1 -1
- package/src/vaultFactory/burn.d.ts.map +1 -1
- package/src/vaultFactory/burn.js +1 -1
- package/src/vaultFactory/liquidation.d.ts +7 -3
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +14 -12
- package/src/vaultFactory/math.d.ts +1 -1
- package/src/vaultFactory/math.d.ts.map +1 -1
- package/src/vaultFactory/math.js +1 -1
- package/src/vaultFactory/orderedVaultStore.d.ts +21 -20
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
- package/src/vaultFactory/orderedVaultStore.js +4 -2
- package/src/vaultFactory/params.d.ts +25 -9
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +29 -11
- package/src/vaultFactory/prioritizedVaults.d.ts +70 -69
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -1
- package/src/vaultFactory/prioritizedVaults.js +5 -2
- package/src/vaultFactory/storeUtils.d.ts +2 -2
- package/src/vaultFactory/storeUtils.d.ts.map +1 -1
- package/src/vaultFactory/types-ambient.d.ts +2 -2
- package/src/vaultFactory/types-ambient.d.ts.map +1 -1
- package/src/vaultFactory/types-ambient.js +6 -2
- package/src/vaultFactory/vault.d.ts +34 -30
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +19 -15
- package/src/vaultFactory/vaultDirector.d.ts +81 -63
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +38 -24
- package/src/vaultFactory/vaultFactory.d.ts +35 -22
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +27 -17
- package/src/vaultFactory/vaultHolder.d.ts +77 -29
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +12 -4
- package/src/vaultFactory/vaultKit.d.ts +12 -8
- package/src/vaultFactory/vaultKit.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.js +12 -5
- package/src/vaultFactory/vaultManager.d.ts +102 -88
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +86 -53
- package/src/proposals/add-auction.d.ts +0 -109
- package/src/proposals/add-auction.d.ts.map +0 -1
- package/src/proposals/addAssetToVault.d.ts +0 -173
- package/src/proposals/addAssetToVault.d.ts.map +0 -1
- package/src/proposals/committee-proposal.d.ts +0 -113
- package/src/proposals/committee-proposal.d.ts.map +0 -1
- package/src/proposals/core-proposal.d.ts +0 -149
- package/src/proposals/core-proposal.d.ts.map +0 -1
- package/src/proposals/deploy-price-feeds.d.ts +0 -76
- package/src/proposals/deploy-price-feeds.d.ts.map +0 -1
- package/src/proposals/econ-behaviors.d.ts +0 -541
- package/src/proposals/econ-behaviors.d.ts.map +0 -1
- package/src/proposals/price-feed-proposal.d.ts +0 -84
- package/src/proposals/price-feed-proposal.d.ts.map +0 -1
- package/src/proposals/replace-fee-distributor.d.ts +0 -48
- package/src/proposals/replace-fee-distributor.d.ts.map +0 -1
- package/src/proposals/replace-scaledPriceAuthorities.d.ts +0 -30
- package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +0 -1
- package/src/proposals/replaceElectorate.d.ts +0 -55
- package/src/proposals/replaceElectorate.d.ts.map +0 -1
- package/src/proposals/startEconCommittee.d.ts +0 -34
- package/src/proposals/startEconCommittee.d.ts.map +0 -1
- package/src/proposals/startPSM.d.ts +0 -59
- package/src/proposals/startPSM.d.ts.map +0 -1
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +0 -24
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +0 -1
- package/src/proposals/upgrade-vaults.d.ts +0 -41
- package/src/proposals/upgrade-vaults.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prioritizedVaults.d.ts","sourceRoot":"","sources":["prioritizedVaults.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prioritizedVaults.d.ts","sourceRoot":"","sources":["prioritizedVaults.js"],"names":[],"mappings":"AA0CO,+CAHI,KAAK,GACH,KAAK,CAMf;AASI,6CAHI,SAAS,MAAM,EAAE,KAAK,CAAC;wBAsDrB,OAAO,SACP,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA9BL,cAAc,iBACd,MAAM,CAAC,KAAK,CAAC,WACb,MAAM;wBAlBJ,KAAK,GAAG,SAAS;uBA0BnB,MAAM,KACJ,KAAK;uCAQP,cAAc,iBACd,MAAM,CAAC,KAAK,CAAC,WACb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAQN,OAAO,SACP,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA9BL,cAAc,iBACd,MAAM,CAAC,KAAK,CAAC,WACb,MAAM;wBAlBJ,KAAK,GAAG,SAAS;uBA0BnB,MAAM,KACJ,KAAK;uCAQP,cAAc,iBACd,MAAM,CAAC,KAAK,CAAC,WACb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDlB;2BAxIuB,YAAY;8BADT,eAAe;oCAET,iBAAiB"}
|
|
@@ -13,8 +13,11 @@ import {
|
|
|
13
13
|
normalizedCollRatio,
|
|
14
14
|
} from './storeUtils.js';
|
|
15
15
|
|
|
16
|
-
/**
|
|
17
|
-
|
|
16
|
+
/**
|
|
17
|
+
* @import {MapStore} from '@agoric/store';
|
|
18
|
+
* @import {Vault} from './vault.js';
|
|
19
|
+
* @import {NormalizedDebt} from './storeUtils.js';
|
|
20
|
+
*/
|
|
18
21
|
|
|
19
22
|
const trace = makeTracer('PVaults', true);
|
|
20
23
|
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* @param {PureData} key
|
|
5
5
|
* @returns {string}
|
|
6
6
|
*/
|
|
7
|
-
export const encodeData: (p:
|
|
7
|
+
export const encodeData: (p: Passable) => string;
|
|
8
8
|
/**
|
|
9
9
|
* @param {string} encoded
|
|
10
10
|
* @returns {PureData}
|
|
11
11
|
*/
|
|
12
|
-
export const decodeData: (encoded: string, skip?: number) =>
|
|
12
|
+
export const decodeData: (encoded: string, skip?: number) => Passable;
|
|
13
13
|
export function toVaultKey(normalizedDebt: NormalizedDebt, collateral: Amount<"nat">, vaultId: VaultId): string;
|
|
14
14
|
export function fromVaultKey(key: string): [normalizedCollateralization: number, vaultId: VaultId];
|
|
15
15
|
export function normalizedCollRatio(quote: PriceQuote, compoundedInterest: Ratio, margin: Ratio): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeUtils.d.ts","sourceRoot":"","sources":["storeUtils.js"],"names":[],"mappings":"AAuBA,8CAA8C;AAE9C,sFAAsF;AAOtF;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"storeUtils.d.ts","sourceRoot":"","sources":["storeUtils.js"],"names":[],"mappings":"AAuBA,8CAA8C;AAE9C,sFAAsF;AAOtF;;;GAGG;AACH,iDAA+C;AAO/C;;;GAGG;AACH,sEAA+C;AAkDxC,2CANI,cAAc,cACd,MAAM,CAAC,KAAK,CAAC,WACb,OAAO,GACL,MAAM,CAelB;AAOM,kCAHI,MAAM,GACJ,CAAC,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAKnE;AAgBM,2CALI,UAAU,sBACV,KAAK,UACL,KAAK,GACH,MAAM,CAiBlB;AAcM,8CANI,UAAU,sBACV,KAAK,UACL,KAAK,GACH,MAAM,CAMlB;2BA9Ia,CAAC,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;6BA4CvD,MAAM,CAAC,KAAK,CAAC,GAAG;IAAE,UAAU,EAAE,IAAI,CAAA;CAAE;yBACpC,MAAM,CAAC,KAAK,CAAC,GAAG;IAAE,UAAU,EAAE,KAAK,CAAA;CAAE;gCA/D2C,4BAA4B"}
|
|
@@ -34,7 +34,7 @@ type VaultManagerParamValues = {
|
|
|
34
34
|
type AddVaultType = (collateralIssuer: Issuer, collateralKeyword: Keyword, params: VaultManagerParamValues) => Promise<VaultManager>;
|
|
35
35
|
type VaultFactoryCreatorFacet = {
|
|
36
36
|
addVaultType: AddVaultType;
|
|
37
|
-
getRewardAllocation: () => Allocation;
|
|
37
|
+
getRewardAllocation: () => import("@agoric/zoe").Allocation;
|
|
38
38
|
makeCollectFeesInvitation: () => Promise<Invitation<string, never>>;
|
|
39
39
|
makeLiquidationWaker: () => import("@agoric/time").TimerWaker;
|
|
40
40
|
makePriceLockWaker: () => import("@agoric/time").TimerWaker;
|
|
@@ -84,7 +84,7 @@ type InterestTiming = {
|
|
|
84
84
|
};
|
|
85
85
|
type LiquidationStrategy = {
|
|
86
86
|
keywordMapping: () => KeywordKeywordRecord;
|
|
87
|
-
makeProposal: (collateral: Amount, run: Amount) => Proposal;
|
|
87
|
+
makeProposal: (collateral: Amount, run: Amount) => import("@agoric/zoe").Proposal;
|
|
88
88
|
makeInvitation: (debt: Amount) => Promise<Invitation>;
|
|
89
89
|
};
|
|
90
90
|
type Liquidator = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"+
|
|
1
|
+
{"version":3,"file":"types-ambient.d.ts","sourceRoot":"","sources":["types-ambient.js"],"names":[],"mappings":"+BAIa,OAAO,mBAAmB,EAAE,oBAAoB,CAAC,aAAa,CAAC;;mBAe9D,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM;wBACxC,MAAM,UAAU;;;;;;;uBAKhB,KAAK;;;;;wBAEL,KAAK;;;;;kBAEL,KAAK;;;;;aAEL,KAAK;eAEL,MAAM,CAAC,KAAK,CAAC;;;;;;;uCAOhB,MAAM,qBACN,OAAO,UACP,uBAAuB,KACrB,OAAO,CAAC,YAAY,CAAC;;kBAKpB,YAAY;yBACZ,MAAM,OAAO,aAAa,EAAE,UAAU;+BACtC,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;0BACxC,MAAM,OAAO,cAAc,EAAE,UAAU;wBACvC,MAAM,OAAO,cAAc,EAAE,UAAU;;;;;;;;sCAQ1C,OAAO,UACP,MAAM,CAAC,KAAK,CAAC,OACb,MAAM,CAAC,KAAK,CAAC,aACb,YAAY,EAAE,KACZ,IAAI;;;;;yBAMN,MAAM,YACN,OAAO,KACL,IAAI;;0BAKH,MAAM,KAAK;gBACX,MAAM,KAAK;wBACX,MAAM,OAAO,CAAC,OAAO,4BAA4B,EAAE,UAAU,CAAC;;;;;qBAC9D,MAAM,KAAK;;;;;uBAEX,MAAM,YAAY;;;;;wBAElB,MAAM,YAAY;;eAIlB,MAAM;;;;;oBAIN,YAAY;;;;qBACZ,YAAY;;;oBAKZ,MAAM,oBAAoB;kBAC1B,CACT,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,KACR,OAAO,aAAa,EAAE,QAAQ;oBACxB,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC;;;6BAKrC,MAAM,OAAO,CACtB,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAA;KAAE,CAAC,CAC9D;;;0BAKU,SAAS;;;;cACT,QAAQ;;;;aACR,QAAQ;;8BAKX,UAAU,eACV,SAAS,KACP,UAAU;;;;;;eAKT,SAAS;;;;;;;8BAET,SAAS;;6BAMT;IAAE,GAAG,EAAE,gBAAgB,GAAG;QAAE,eAAe,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE;uCApIhC,YAAY;2BACxB,YAAY;8BACT,eAAe;kCACX,mBAAmB;uCACd,mBAAmB;qDACL,4BAA4B;6CACpC,4BAA4B;2CAC9B,0BAA0B;+BACtC,cAAc;kCACX,cAAc"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @agoric/group-jsdoc-imports */
|
|
1
2
|
// @jessie-check
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
/**
|
|
47
48
|
* @typedef {object} VaultFactoryCreatorFacet
|
|
48
49
|
* @property {AddVaultType} addVaultType
|
|
49
|
-
* @property {() => Allocation} getRewardAllocation
|
|
50
|
+
* @property {() => import('@agoric/zoe').Allocation} getRewardAllocation
|
|
50
51
|
* @property {() => Promise<Invitation<string, never>>} makeCollectFeesInvitation
|
|
51
52
|
* @property {() => import('@agoric/time').TimerWaker} makeLiquidationWaker
|
|
52
53
|
* @property {() => import('@agoric/time').TimerWaker} makePriceLockWaker
|
|
@@ -96,7 +97,10 @@
|
|
|
96
97
|
/**
|
|
97
98
|
* @typedef {object} LiquidationStrategy
|
|
98
99
|
* @property {() => KeywordKeywordRecord} keywordMapping
|
|
99
|
-
* @property {(
|
|
100
|
+
* @property {(
|
|
101
|
+
* collateral: Amount,
|
|
102
|
+
* run: Amount,
|
|
103
|
+
* ) => import('@agoric/zoe').Proposal} makeProposal
|
|
100
104
|
* @property {(debt: Amount) => Promise<Invitation>} makeInvitation
|
|
101
105
|
*/
|
|
102
106
|
|
|
@@ -28,7 +28,7 @@ export namespace Phase {
|
|
|
28
28
|
*/
|
|
29
29
|
/**
|
|
30
30
|
* @typedef {object} VaultManager
|
|
31
|
-
* @property {() => Subscriber<
|
|
31
|
+
* @property {() => Subscriber<AssetState>} getAssetSubscriber
|
|
32
32
|
* @property {(collateralAmount: Amount) => Amount<'nat'>} maxDebtFor
|
|
33
33
|
* @property {() => Brand<'nat'>} getCollateralBrand
|
|
34
34
|
* @property {(base: string) => string} scopeDescription
|
|
@@ -37,19 +37,19 @@ export namespace Phase {
|
|
|
37
37
|
* @property {(amount: Amount, seat: ZCFSeat) => void} burn
|
|
38
38
|
* @property {() => Ratio} getCompoundedInterest
|
|
39
39
|
* @property {(
|
|
40
|
-
* oldDebt:
|
|
40
|
+
* oldDebt: NormalizedDebt,
|
|
41
41
|
* oldCollateral: Amount<'nat'>,
|
|
42
42
|
* vaultId: VaultId,
|
|
43
43
|
* vaultPhase: VaultPhase,
|
|
44
44
|
* vault: Vault,
|
|
45
45
|
* ) => void} handleBalanceChange
|
|
46
|
-
* @property {() =>
|
|
46
|
+
* @property {() => GovernedParamGetters} getGovernedParams
|
|
47
47
|
*/
|
|
48
48
|
/**
|
|
49
49
|
* @typedef {Readonly<{
|
|
50
50
|
* idInManager: VaultId;
|
|
51
51
|
* manager: VaultManager;
|
|
52
|
-
* storageNode: StorageNode
|
|
52
|
+
* storageNode: Remote<StorageNode>;
|
|
53
53
|
* vaultSeat: ZCFSeat;
|
|
54
54
|
* }>} ImmutableState
|
|
55
55
|
*/
|
|
@@ -61,9 +61,7 @@ export namespace Phase {
|
|
|
61
61
|
* interestSnapshot: Ratio;
|
|
62
62
|
* phase: VaultPhase;
|
|
63
63
|
* debtSnapshot: Amount<'nat'>;
|
|
64
|
-
* outerUpdater:
|
|
65
|
-
* | import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification>
|
|
66
|
-
* | null;
|
|
64
|
+
* outerUpdater: Recorder<VaultNotification> | null;
|
|
67
65
|
* }} MutableState
|
|
68
66
|
*/
|
|
69
67
|
export const VaultI: import("@endo/patterns").InterfaceGuard<{
|
|
@@ -79,7 +77,7 @@ export const VaultI: import("@endo/patterns").InterfaceGuard<{
|
|
|
79
77
|
makeTransferInvitation: import("@endo/patterns").MethodGuard;
|
|
80
78
|
abortLiquidation: import("@endo/patterns").MethodGuard;
|
|
81
79
|
}>;
|
|
82
|
-
export function prepareVault(baggage:
|
|
80
|
+
export function prepareVault(baggage: Baggage, makeRecorderKit: MakeRecorderKit, zcf: ZCF): (manager: VaultManager, idInManager: string, storageNode: Remote<globalThis.StorageNode>) => import("@endo/exo").GuardedKit<{
|
|
83
81
|
helper: {
|
|
84
82
|
collateralBrand(): Brand<"nat">;
|
|
85
83
|
debtBrand(): Brand<"nat">;
|
|
@@ -209,12 +207,12 @@ export function prepareVault(baggage: import("@agoric/swingset-liveslots").Bagga
|
|
|
209
207
|
makeTransferInvitationHook(seat: ZCFSeat): VaultKit;
|
|
210
208
|
};
|
|
211
209
|
self: {
|
|
212
|
-
getVaultSeat(): ZCFSeat;
|
|
210
|
+
getVaultSeat(): globalThis.ZCFSeat;
|
|
213
211
|
/**
|
|
214
212
|
* @param {ZCFSeat} seat
|
|
215
|
-
* @param {StorageNode} storageNode
|
|
213
|
+
* @param {Remote<StorageNode>} storageNode
|
|
216
214
|
*/
|
|
217
|
-
initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
|
|
215
|
+
initVaultKit(seat: ZCFSeat, storageNode: Remote<StorageNode>): Promise<{
|
|
218
216
|
publicSubscribers: {
|
|
219
217
|
vault: {
|
|
220
218
|
description: string;
|
|
@@ -223,9 +221,9 @@ export function prepareVault(baggage: import("@agoric/swingset-liveslots").Bagga
|
|
|
223
221
|
};
|
|
224
222
|
};
|
|
225
223
|
invitationMakers: import("@endo/exo").Guarded<{
|
|
226
|
-
AdjustBalances(): Promise<Invitation<string, undefined>>;
|
|
227
|
-
CloseVault(): Promise<Invitation<string, undefined>>;
|
|
228
|
-
TransferVault(): Promise<Invitation
|
|
224
|
+
AdjustBalances(): Promise<globalThis.Invitation<string, undefined>>;
|
|
225
|
+
CloseVault(): Promise<globalThis.Invitation<string, undefined>>;
|
|
226
|
+
TransferVault(): Promise<globalThis.Invitation</*elided*/ any>>;
|
|
229
227
|
}>;
|
|
230
228
|
vault: import("@endo/exo").Guarded<{
|
|
231
229
|
getPublicTopics(): {
|
|
@@ -235,14 +233,14 @@ export function prepareVault(baggage: import("@agoric/swingset-liveslots").Bagga
|
|
|
235
233
|
storagePath: Promise<string>;
|
|
236
234
|
};
|
|
237
235
|
};
|
|
238
|
-
makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
|
|
239
|
-
makeCloseInvitation(): Promise<Invitation<string, undefined>>;
|
|
240
|
-
makeTransferInvitation(): Promise<Invitation
|
|
236
|
+
makeAdjustBalancesInvitation(): Promise<globalThis.Invitation<string, undefined>>;
|
|
237
|
+
makeCloseInvitation(): Promise<globalThis.Invitation<string, undefined>>;
|
|
238
|
+
makeTransferInvitation(): Promise<globalThis.Invitation</*elided*/ any>>;
|
|
241
239
|
getCollateralAmount(): import("@agoric/ertp").NatAmount;
|
|
242
240
|
getCurrentDebt(): import("@agoric/ertp").NatAmount;
|
|
243
241
|
getNormalizedDebt(): NormalizedDebt;
|
|
244
242
|
}>;
|
|
245
|
-
vaultUpdater:
|
|
243
|
+
vaultUpdater: Recorder<VaultNotification>;
|
|
246
244
|
}>;
|
|
247
245
|
/** Called by manager at start of liquidation. */
|
|
248
246
|
liquidating(): void;
|
|
@@ -258,8 +256,8 @@ export function prepareVault(baggage: import("@agoric/swingset-liveslots").Bagga
|
|
|
258
256
|
* Liquidation.md has details on the liquidation approach.
|
|
259
257
|
*/
|
|
260
258
|
abortLiquidation(): string;
|
|
261
|
-
makeAdjustBalancesInvitation(): Promise<Invitation<string, undefined>>;
|
|
262
|
-
makeCloseInvitation(): Promise<Invitation<string, undefined>>;
|
|
259
|
+
makeAdjustBalancesInvitation(): Promise<globalThis.Invitation<string, undefined>>;
|
|
260
|
+
makeCloseInvitation(): Promise<globalThis.Invitation<string, undefined>>;
|
|
263
261
|
/** @returns {Promise<Invitation<VaultKit>>} */
|
|
264
262
|
makeTransferInvitation(): Promise<Invitation<VaultKit>>;
|
|
265
263
|
/** @returns {Amount<'nat'>} */
|
|
@@ -284,12 +282,11 @@ export function prepareVault(baggage: import("@agoric/swingset-liveslots").Bagga
|
|
|
284
282
|
* order vaults by their debt-to-collateral ratios without having to
|
|
285
283
|
* mutate the debts as the interest accrues.
|
|
286
284
|
*
|
|
287
|
-
* @returns {
|
|
288
|
-
*
|
|
289
|
-
* accrued
|
|
285
|
+
* @returns {NormalizedDebt} as if the vault was open at the launch of
|
|
286
|
+
* this manager, before any interest accrued
|
|
290
287
|
* @see getActualDebAmount
|
|
291
288
|
*/
|
|
292
|
-
getNormalizedDebt():
|
|
289
|
+
getNormalizedDebt(): NormalizedDebt;
|
|
293
290
|
};
|
|
294
291
|
}>;
|
|
295
292
|
export type VaultPhase = Exclude<Phase, "transfer">;
|
|
@@ -309,7 +306,7 @@ export type VaultNotification = {
|
|
|
309
306
|
vaultState: Phase;
|
|
310
307
|
};
|
|
311
308
|
export type VaultManager = {
|
|
312
|
-
getAssetSubscriber: () => Subscriber<
|
|
309
|
+
getAssetSubscriber: () => Subscriber<AssetState>;
|
|
313
310
|
maxDebtFor: (collateralAmount: Amount) => Amount<"nat">;
|
|
314
311
|
getCollateralBrand: () => Brand<"nat">;
|
|
315
312
|
scopeDescription: (base: string) => string;
|
|
@@ -317,13 +314,13 @@ export type VaultManager = {
|
|
|
317
314
|
mintAndTransfer: MintAndTransfer;
|
|
318
315
|
burn: (amount: Amount, seat: ZCFSeat) => void;
|
|
319
316
|
getCompoundedInterest: () => Ratio;
|
|
320
|
-
handleBalanceChange: (oldDebt:
|
|
321
|
-
getGovernedParams: () =>
|
|
317
|
+
handleBalanceChange: (oldDebt: NormalizedDebt, oldCollateral: Amount<"nat">, vaultId: VaultId, vaultPhase: VaultPhase, vault: Vault) => void;
|
|
318
|
+
getGovernedParams: () => GovernedParamGetters;
|
|
322
319
|
};
|
|
323
320
|
export type ImmutableState = Readonly<{
|
|
324
321
|
idInManager: VaultId;
|
|
325
322
|
manager: VaultManager;
|
|
326
|
-
storageNode: StorageNode
|
|
323
|
+
storageNode: Remote<StorageNode>;
|
|
327
324
|
vaultSeat: ZCFSeat;
|
|
328
325
|
}>;
|
|
329
326
|
/**
|
|
@@ -334,10 +331,17 @@ export type MutableState = {
|
|
|
334
331
|
interestSnapshot: Ratio;
|
|
335
332
|
phase: VaultPhase;
|
|
336
333
|
debtSnapshot: Amount<"nat">;
|
|
337
|
-
outerUpdater:
|
|
334
|
+
outerUpdater: Recorder<VaultNotification> | null;
|
|
338
335
|
};
|
|
339
|
-
export type Vault =
|
|
336
|
+
export type Vault = EReturn<EReturn<typeof prepareVault>>["self"];
|
|
337
|
+
import type { Baggage } from '@agoric/swingset-liveslots';
|
|
338
|
+
import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
339
|
+
import type { Remote } from '@agoric/internal';
|
|
340
340
|
import type { Brand } from '@agoric/ertp/src/types.js';
|
|
341
341
|
import type { NormalizedDebt } from './storeUtils.js';
|
|
342
342
|
import { calculateDebtCosts } from './math.js';
|
|
343
|
+
import type { Recorder } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
344
|
+
import type { AssetState } from './vaultManager.js';
|
|
345
|
+
import type { GovernedParamGetters } from './vaultManager.js';
|
|
346
|
+
import type { EReturn } from '@endo/far';
|
|
343
347
|
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -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":"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"}
|
|
@@ -17,8 +17,15 @@ import { prepareVaultKit } from './vaultKit.js';
|
|
|
17
17
|
const trace = makeTracer('Vault', true);
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* @import {Remote} from '@agoric/internal';
|
|
21
|
+
* @import {EReturn} from '@endo/far';
|
|
20
22
|
* @import {Brand} from '@agoric/ertp/src/types.js';
|
|
21
23
|
* @import {NormalizedDebt} from './storeUtils.js';
|
|
24
|
+
* @import {AssetState} from './vaultManager.js';
|
|
25
|
+
* @import {GovernedParamGetters} from './vaultManager.js';
|
|
26
|
+
* @import {Recorder} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
27
|
+
* @import {Baggage} from '@agoric/swingset-liveslots';
|
|
28
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
22
29
|
*/
|
|
23
30
|
|
|
24
31
|
/**
|
|
@@ -86,7 +93,7 @@ const validTransitions = {
|
|
|
86
93
|
// XXX masks typedef from types.js, but using that causes circular def problems
|
|
87
94
|
/**
|
|
88
95
|
* @typedef {object} VaultManager
|
|
89
|
-
* @property {() => Subscriber<
|
|
96
|
+
* @property {() => Subscriber<AssetState>} getAssetSubscriber
|
|
90
97
|
* @property {(collateralAmount: Amount) => Amount<'nat'>} maxDebtFor
|
|
91
98
|
* @property {() => Brand<'nat'>} getCollateralBrand
|
|
92
99
|
* @property {(base: string) => string} scopeDescription
|
|
@@ -95,20 +102,20 @@ const validTransitions = {
|
|
|
95
102
|
* @property {(amount: Amount, seat: ZCFSeat) => void} burn
|
|
96
103
|
* @property {() => Ratio} getCompoundedInterest
|
|
97
104
|
* @property {(
|
|
98
|
-
* oldDebt:
|
|
105
|
+
* oldDebt: NormalizedDebt,
|
|
99
106
|
* oldCollateral: Amount<'nat'>,
|
|
100
107
|
* vaultId: VaultId,
|
|
101
108
|
* vaultPhase: VaultPhase,
|
|
102
109
|
* vault: Vault,
|
|
103
110
|
* ) => void} handleBalanceChange
|
|
104
|
-
* @property {() =>
|
|
111
|
+
* @property {() => GovernedParamGetters} getGovernedParams
|
|
105
112
|
*/
|
|
106
113
|
|
|
107
114
|
/**
|
|
108
115
|
* @typedef {Readonly<{
|
|
109
116
|
* idInManager: VaultId;
|
|
110
117
|
* manager: VaultManager;
|
|
111
|
-
* storageNode: StorageNode
|
|
118
|
+
* storageNode: Remote<StorageNode>;
|
|
112
119
|
* vaultSeat: ZCFSeat;
|
|
113
120
|
* }>} ImmutableState
|
|
114
121
|
*/
|
|
@@ -121,9 +128,7 @@ const validTransitions = {
|
|
|
121
128
|
* interestSnapshot: Ratio;
|
|
122
129
|
* phase: VaultPhase;
|
|
123
130
|
* debtSnapshot: Amount<'nat'>;
|
|
124
|
-
* outerUpdater:
|
|
125
|
-
* | import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<VaultNotification>
|
|
126
|
-
* | null;
|
|
131
|
+
* outerUpdater: Recorder<VaultNotification> | null;
|
|
127
132
|
* }} MutableState
|
|
128
133
|
*/
|
|
129
134
|
|
|
@@ -153,8 +158,8 @@ const VaultStateShape = harden({
|
|
|
153
158
|
});
|
|
154
159
|
|
|
155
160
|
/**
|
|
156
|
-
* @param {
|
|
157
|
-
* @param {
|
|
161
|
+
* @param {Baggage} baggage
|
|
162
|
+
* @param {MakeRecorderKit} makeRecorderKit
|
|
158
163
|
* @param {ZCF} zcf
|
|
159
164
|
*/
|
|
160
165
|
export const prepareVault = (baggage, makeRecorderKit, zcf) => {
|
|
@@ -170,7 +175,7 @@ export const prepareVault = (baggage, makeRecorderKit, zcf) => {
|
|
|
170
175
|
/**
|
|
171
176
|
* @param {VaultManager} manager
|
|
172
177
|
* @param {VaultId} idInManager
|
|
173
|
-
* @param {StorageNode} storageNode
|
|
178
|
+
* @param {Remote<StorageNode>} storageNode
|
|
174
179
|
* @returns {ImmutableState & MutableState}
|
|
175
180
|
*/
|
|
176
181
|
(manager, idInManager, storageNode) => {
|
|
@@ -606,7 +611,7 @@ export const prepareVault = (baggage, makeRecorderKit, zcf) => {
|
|
|
606
611
|
|
|
607
612
|
/**
|
|
608
613
|
* @param {ZCFSeat} seat
|
|
609
|
-
* @param {StorageNode} storageNode
|
|
614
|
+
* @param {Remote<StorageNode>} storageNode
|
|
610
615
|
*/
|
|
611
616
|
async initVaultKit(seat, storageNode) {
|
|
612
617
|
const { state, facets } = this;
|
|
@@ -855,9 +860,8 @@ export const prepareVault = (baggage, makeRecorderKit, zcf) => {
|
|
|
855
860
|
* order vaults by their debt-to-collateral ratios without having to
|
|
856
861
|
* mutate the debts as the interest accrues.
|
|
857
862
|
*
|
|
858
|
-
* @returns {
|
|
859
|
-
*
|
|
860
|
-
* accrued
|
|
863
|
+
* @returns {NormalizedDebt} as if the vault was open at the launch of
|
|
864
|
+
* this manager, before any interest accrued
|
|
861
865
|
* @see getActualDebAmount
|
|
862
866
|
*/
|
|
863
867
|
getNormalizedDebt() {
|
|
@@ -874,4 +878,4 @@ export const prepareVault = (baggage, makeRecorderKit, zcf) => {
|
|
|
874
878
|
return maker;
|
|
875
879
|
};
|
|
876
880
|
|
|
877
|
-
/** @typedef {
|
|
881
|
+
/** @typedef {EReturn<EReturn<typeof prepareVault>>['self']} Vault */
|