@agoric/inter-protocol 0.17.0-u16.2 → 0.17.0-u17.1
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 +26 -26
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionBook.js +27 -46
- package/src/auction/auctionMath.d.ts +17 -0
- package/src/auction/auctionMath.d.ts.map +1 -0
- package/src/auction/auctionMath.js +81 -0
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +7 -10
- package/src/auction/offerBook.d.ts.map +1 -1
- package/src/auction/scheduleMath.d.ts.map +1 -1
- package/src/auction/scheduleMath.js +1 -1
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +3 -4
- package/src/auction/sortedOffers.d.ts.map +1 -1
- package/src/auction/sortedOffers.js +1 -2
- package/src/clientSupport.js +1 -1
- package/src/contractSupport.d.ts.map +1 -1
- package/src/contractSupport.js +6 -2
- package/src/interest.js +2 -2
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +6 -7
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +1 -1
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +1 -1
- package/src/proposals/add-auction.d.ts +40 -14
- package/src/proposals/add-auction.d.ts.map +1 -1
- package/src/proposals/add-auction.js +102 -49
- package/src/proposals/addAssetToVault.d.ts.map +1 -1
- package/src/proposals/addAssetToVault.js +1 -2
- package/src/proposals/econ-behaviors.d.ts +2 -0
- package/src/proposals/econ-behaviors.d.ts.map +1 -1
- package/src/proposals/econ-behaviors.js +0 -3
- package/src/proposals/startPSM.d.ts.map +1 -1
- package/src/proposals/startPSM.js +16 -12
- package/src/proposals/upgrade-vaults.d.ts +14 -10
- package/src/proposals/upgrade-vaults.d.ts.map +1 -1
- package/src/proposals/upgrade-vaults.js +99 -116
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +3 -4
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPoolKit.d.ts +6 -0
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +109 -50
- package/src/psm/psm.d.ts +4 -1
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +7 -7
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +6 -6
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +1 -2
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -1
- package/src/vaultFactory/storeUtils.d.ts +1 -1
- package/src/vaultFactory/storeUtils.d.ts.map +1 -1
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +1 -2
- package/src/vaultFactory/vaultDirector.d.ts +3 -2
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +25 -16
- package/src/vaultFactory/vaultFactory.d.ts +1 -0
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +3 -1
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +1 -2
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +8 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fail } from '@
|
|
1
|
+
import { Fail, q } from '@endo/errors';
|
|
2
2
|
import { AmountMath, AmountShape, IssuerShape } from '@agoric/ertp';
|
|
3
3
|
import { makeTracer } from '@agoric/internal';
|
|
4
4
|
import { M, makeScalarBigMapStore, prepareExoClassKit } from '@agoric/vat-data';
|
|
@@ -11,10 +11,12 @@ import { AmountKeywordRecordShape } from '@agoric/zoe/src/typeGuards.js';
|
|
|
11
11
|
import { E } from '@endo/eventual-send';
|
|
12
12
|
import { UnguardedHelperI } from '@agoric/internal/src/typeGuards.js';
|
|
13
13
|
|
|
14
|
-
const { quote: q } = assert;
|
|
15
|
-
|
|
16
14
|
const trace = makeTracer('ReserveKit', true);
|
|
17
15
|
|
|
16
|
+
/**
|
|
17
|
+
* @import {TypedPattern} from '@agoric/internal';
|
|
18
|
+
*/
|
|
19
|
+
|
|
18
20
|
/**
|
|
19
21
|
* @typedef {object} MetricsNotification
|
|
20
22
|
* @property {AmountKeywordRecord} allocations
|
|
@@ -90,9 +92,7 @@ export const prepareAssetReserveKit = async (
|
|
|
90
92
|
keywordForBrand,
|
|
91
93
|
metricsKit: makeRecorderKit(
|
|
92
94
|
metricsNode,
|
|
93
|
-
/** @type {
|
|
94
|
-
M.any()
|
|
95
|
-
),
|
|
95
|
+
/** @type {TypedPattern<MetricsNotification>} */ (M.any()),
|
|
96
96
|
),
|
|
97
97
|
totalFeeMinted: emptyAmount,
|
|
98
98
|
totalFeeBurned: emptyAmount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liquidation.d.ts","sourceRoot":"","sources":["liquidation.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"liquidation.d.ts","sourceRoot":"","sources":["liquidation.js"],"names":[],"mappings":"AAoJO,gEAPI,IAAI,CAAC,OAAO,0BAA0B,EAAE,qBAAqB,CAAC,SAC9D,IAAI,CAAC,YAAY,CAAC,kBAClB,UAAU,oBACV,UAAU,oBACV,UAAU,GACR,OAAO,CAAC,IAAI,CAAC,CAqCzB;AAQM,yCAJI,MAAM,CAAC,KAAK,CAAC,UACb,MAAM,CAAC,KAAK,CAAC,GACX;IAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;CAAE,CAYhE;AAWM,gEALI,IAAI,CAAC,OAAO,0BAA0B,EAAE,qBAAqB,CAAC,SAC9D,IAAI,CAAC,YAAY,CAAC,oBAClB,UAAU,GACR,IAAI,CA0BhB;AAwBM,2CArBI,GAAG,4BAEX;IAA6C,KAAK,EAA1C,UAAU;IACsB,QAAQ,EAAxC,KAAK;IAC2B,MAAM,EAAtC,KAAK;CACb,qBAAQ,UAAU,CACpB,cAAkB,wBAAwB,EAAE,qBAAqB,CAC9D,qBACO,QAAQ,CAAC,KAAK,CAAC,aACf,KAAK,CAAC,KAAK,CAAC,mBACZ,KAAK,CAAC,KAAK,CAAC,GACV;IACZ,SAAa,EAAE,QAAQ,CACvB,KAAW,EACX;QAAQ,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;KAAE,CAC/D,CAAC;IACN,SAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,eAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,OAAW,EAAE,OAAO,CAAC;CAClB,CAiDH;kCArS+B,cAAc;gCAChB,cAAc;gCAGkD,4BAA4B"}
|
|
@@ -5,7 +5,6 @@ import { makeTracer } from '@agoric/internal';
|
|
|
5
5
|
import { observeIteration, subscribeEach } from '@agoric/notifier';
|
|
6
6
|
import { makeScalarMapStore } from '@agoric/store';
|
|
7
7
|
import { TimeMath } from '@agoric/time';
|
|
8
|
-
import { atomicRearrange } from '@agoric/zoe/src/contractSupport/index.js';
|
|
9
8
|
import { E } from '@endo/eventual-send';
|
|
10
9
|
|
|
11
10
|
import { AUCTION_START_DELAY, PRICE_LOCK_PERIOD } from '../auction/params.js';
|
|
@@ -302,7 +301,7 @@ export const getLiquidatableVaults = (
|
|
|
302
301
|
}
|
|
303
302
|
|
|
304
303
|
if (transfers.length > 0) {
|
|
305
|
-
atomicRearrange(
|
|
304
|
+
zcf.atomicRearrange(harden(transfers));
|
|
306
305
|
}
|
|
307
306
|
|
|
308
307
|
return { vaultData, totalDebt, totalCollateral, liqSeat };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderedVaultStore.d.ts","sourceRoot":"","sources":["orderedVaultStore.js"],"names":[],"mappings":"AAiBO,6CADK,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;wBAGtB,MAAM,SACN,KAAK;uBAWL,MAAM,KACJ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orderedVaultStore.d.ts","sourceRoot":"","sources":["orderedVaultStore.js"],"names":[],"mappings":"AAiBO,6CADK,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;wBAGtB,MAAM,SACN,KAAK;uBAWL,MAAM,KACJ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAkCou1B,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EADxw1B;2BApDwB,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prioritizedVaults.d.ts","sourceRoot":"","sources":["prioritizedVaults.js"],"names":[],"mappings":"AAuCO,+CAHI,KAAK,GACH,KAAK,CAMf;AASI,6CAHI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;wBAsDrB,OAAO,SACP,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA+
|
|
1
|
+
{"version":3,"file":"prioritizedVaults.d.ts","sourceRoot":"","sources":["prioritizedVaults.js"],"names":[],"mappings":"AAuCO,+CAHI,KAAK,GACH,KAAK,CAMf;AASI,6CAHI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;wBAsDrB,OAAO,SACP,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA+C80wB,iBAAiB;;;oCA7Ep2wB,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;2BAvIwB,YAAY;oCACH,iBAAiB"}
|
|
@@ -9,7 +9,7 @@ export const encodeData: (p: import("@endo/marshal").Passable) => string;
|
|
|
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) => import("@endo/marshal").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,yEAA+C;AAO/C;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"storeUtils.d.ts","sourceRoot":"","sources":["storeUtils.js"],"names":[],"mappings":"AAuBA,8CAA8C;AAE9C,sFAAsF;AAOtF;;;GAGG;AACH,yEAA+C;AAO/C;;;GAGG;AACH,8FAA+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"}
|
|
@@ -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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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { q, Fail } from '@endo/errors';
|
|
1
2
|
import { AmountMath, AmountShape } from '@agoric/ertp';
|
|
2
3
|
import { StorageNodeShape, makeTracer } from '@agoric/internal';
|
|
3
4
|
import { UnguardedHelperI } from '@agoric/internal/src/typeGuards.js';
|
|
@@ -13,8 +14,6 @@ import { calculateCurrentDebt, reverseInterest } from '../interest-math.js';
|
|
|
13
14
|
import { calculateDebtCosts } from './math.js';
|
|
14
15
|
import { prepareVaultKit } from './vaultKit.js';
|
|
15
16
|
|
|
16
|
-
const { quote: q, Fail } = assert;
|
|
17
|
-
|
|
18
17
|
const trace = makeTracer('Vault', true);
|
|
19
18
|
|
|
20
19
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export function makeAllManagersDo(collateralManagers: any, vaultManagers: any): (fn: (vm: VaultManager) => void) => void;
|
|
1
2
|
/**
|
|
2
3
|
* Prepare the VaultDirector kind, get or make the singleton
|
|
3
4
|
*
|
|
@@ -34,9 +35,9 @@ export type VaultDirectorParamManager = import("@agoric/governance/src/contractG
|
|
|
34
35
|
* @param {ERef<Marshaller>} marshaller
|
|
35
36
|
* @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit} makeRecorderKit
|
|
36
37
|
* @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeERecorderKit} makeERecorderKit
|
|
37
|
-
* @param managerParams
|
|
38
|
+
* @param {Record<string, import('./params.js').VaultManagerParamOverrides>} managerParams
|
|
38
39
|
*/
|
|
39
|
-
declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslots").Baggage, zcf: import("./vaultFactory.js").VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<import("@agoric/time").TimerService>, auctioneer: ERef<import("../auction/auctioneer.js").AuctioneerPublicFacet>, storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller>, makeRecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeRecorderKit, makeERecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeERecorderKit, managerParams:
|
|
40
|
+
declare function prepareVaultDirector(baggage: import("@agoric/swingset-liveslots").Baggage, zcf: import("./vaultFactory.js").VaultFactoryZCF, directorParamManager: VaultDirectorParamManager, debtMint: ZCFMint<"nat">, timer: ERef<import("@agoric/time").TimerService>, auctioneer: ERef<import("../auction/auctioneer.js").AuctioneerPublicFacet>, storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller>, makeRecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeRecorderKit, makeERecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeERecorderKit, managerParams: Record<string, import("./params.js").VaultManagerParamOverrides>): () => import("@endo/exo").GuardedKit<{
|
|
40
41
|
creator: {
|
|
41
42
|
getParamMgrRetriever: () => {
|
|
42
43
|
/** @param {VaultFactoryParamPath} paramPath */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultDirector.d.ts","sourceRoot":"","sources":["vaultDirector.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultDirector.d.ts","sourceRoot":"","sources":["vaultDirector.js"],"names":[],"mappings":"AAuFO,qFACO,CAAC,EAAE,EAAE,YAAY,KAAK,IAAI,UAQvC;AAgcD;;;;;;GAMG;AACH,8BAJU,CACT,GAAO,OAAO,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAChD,UAAU,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAQzD;kCA7fW;IACZ,WAAe,EAAE,KAAK,EAAE,CAAC;IACzB,oBAAwB,EAAE,mBAAmB,CAAC;CAC3C;6BAGS,QAAQ,CAAC,EAAE,CAAC;2BAEZ,EAAE;oBAEF,cAAc,GAAG,YAAY;iCAE7B;IACZ,QAAY,EAAE,QAAQ,CAAC;IACvB,iBAAqB,EAAE,CACvB,eAAqB,EAAE,KAAK,KACnB,OAAO,mBAAmB,EAAE,oBAAoB,CAAC;IAC1D,eAAmB,EAAE,eAAe,CAAC;IACrC,oBAAwB,EAAE,MAAM,OAAO,CACvC,OAAa,4BAA4B,EAAE,iBAAiB,CACvD,CAAC;CACH;4BAGS,QAAQ,CAAC;IACrB,KAAS,EAAE,KAAK,CAAC;CACd,CAAC;wCAEQ,OAAO,gEAAgE,EAAE,iBAAiB,CACtG,OAAa,aAAa,EAAE,mBAAmB,CAC1C;AAoBN;;;;;;;;;;;;GAYG;AACH,+CAZW,OAAO,4BAA4B,EAAE,OAAO,OAC5C,OAAO,mBAAmB,EAAE,eAAe,wBAC3C,yBAAyB,YACzB,OAAO,CAAC,KAAK,CAAC,SACd,IAAI,CAAC,OAAO,cAAc,EAAE,YAAY,CAAC,cACzC,IAAI,CAAC,OAAO,0BAA0B,EAAE,qBAAqB,CAAC,eAC9D,IAAI,CAAC,WAAW,CAAC,cACjB,IAAI,CAAC,UAAU,CAAC,mBAChB,OAAO,6CAA6C,EAAE,eAAe,oBACrE,OAAO,6CAA6C,EAAE,gBAAgB,iBACtE,MAAM,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,0BAA0B,CAAC,gBAkHtD,WAAW;;;YAqHpB,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;YAAjC,+CAA+C;8BAAnC,qBAAqB;;;;;;;;;QAarC,2BAA2B;4BAAf,MAAM;;YAmBlB;;;;eAIG;2CAHQ,MAAM,CAAC,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAflC,oCAAoC;2BAAtB,IAAI,CAAC,YAAY,CAAC;;;;;QAYhC;;;;WAIG;uCAHQ,MAAM,CAAC,KAAK,CAAC,qBACb,OAAO,sBACP,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4FlC,6BAA6B;sCAAjB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAUjB;;;;WAIG;6CADQ;YAAE,eAAe,EAAE,KAAK,CAAA;SAAE;;;;QAQrC,0EAA0E;;QAI1E;;;;;WAKG;+CADQ;YAAE,eAAe,EAAE,KAAK,CAAA;SAAE;QAMrC,2BAA2B;kCAAf,MAAM;;;;QAoBlB,2EAA2E;;;GAmBlF"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/// <reference types="@agoric/governance/exported" />
|
|
2
2
|
/// <reference types="@agoric/zoe/exported" />
|
|
3
3
|
|
|
4
|
+
import { Fail, q } from '@endo/errors';
|
|
5
|
+
import { E } from '@endo/eventual-send';
|
|
6
|
+
import { Far } from '@endo/marshal';
|
|
4
7
|
import { AmountMath, AmountShape, BrandShape, IssuerShape } from '@agoric/ertp';
|
|
5
8
|
import {
|
|
6
9
|
GovernorFacetShape,
|
|
@@ -15,15 +18,12 @@ import {
|
|
|
15
18
|
} from '@agoric/vat-data';
|
|
16
19
|
import { assertKeywordName } from '@agoric/zoe/src/cleanProposal.js';
|
|
17
20
|
import {
|
|
18
|
-
atomicRearrange,
|
|
19
21
|
makeRecorderTopic,
|
|
20
22
|
provideEmptySeat,
|
|
21
23
|
SubscriberShape,
|
|
22
24
|
TopicsRecordShape,
|
|
23
25
|
unitAmount,
|
|
24
26
|
} from '@agoric/zoe/src/contractSupport/index.js';
|
|
25
|
-
import { E } from '@endo/eventual-send';
|
|
26
|
-
import { Far } from '@endo/marshal';
|
|
27
27
|
import { makeCollectFeesInvitation } from '../collectFees.js';
|
|
28
28
|
import {
|
|
29
29
|
setWakeupsForNextAuction,
|
|
@@ -39,7 +39,9 @@ import {
|
|
|
39
39
|
provideAndStartVaultManagerKits,
|
|
40
40
|
} from './vaultManager.js';
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
/**
|
|
43
|
+
* @import {TypedPattern} from '@agoric/internal';
|
|
44
|
+
*/
|
|
43
45
|
|
|
44
46
|
const trace = makeTracer('VD', true);
|
|
45
47
|
|
|
@@ -79,6 +81,21 @@ const trace = makeTracer('VD', true);
|
|
|
79
81
|
|
|
80
82
|
const shortfallInvitationKey = 'shortfallInvitation';
|
|
81
83
|
|
|
84
|
+
// If one manager/token fails, we don't want that to block possible success for
|
|
85
|
+
// others, so we .catch() and log separately.
|
|
86
|
+
//
|
|
87
|
+
// exported for testing
|
|
88
|
+
export const makeAllManagersDo = (collateralManagers, vaultManagers) => {
|
|
89
|
+
/** @param {(vm: VaultManager) => void} fn */
|
|
90
|
+
return fn => {
|
|
91
|
+
for (const managerIndex of collateralManagers.values()) {
|
|
92
|
+
Promise.resolve(vaultManagers.get(managerIndex).self)
|
|
93
|
+
.then(vm => fn(vm))
|
|
94
|
+
.catch(e => trace('🚨ERROR: allManagersDo', e));
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
|
|
82
99
|
/**
|
|
83
100
|
* @param {import('@agoric/swingset-liveslots').Baggage} baggage
|
|
84
101
|
* @param {import('./vaultFactory.js').VaultFactoryZCF} zcf
|
|
@@ -90,7 +107,7 @@ const shortfallInvitationKey = 'shortfallInvitation';
|
|
|
90
107
|
* @param {ERef<Marshaller>} marshaller
|
|
91
108
|
* @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeRecorderKit} makeRecorderKit
|
|
92
109
|
* @param {import('@agoric/zoe/src/contractSupport/recorder.js').MakeERecorderKit} makeERecorderKit
|
|
93
|
-
* @param managerParams
|
|
110
|
+
* @param {Record<string, import('./params.js').VaultManagerParamOverrides>} managerParams
|
|
94
111
|
*/
|
|
95
112
|
const prepareVaultDirector = (
|
|
96
113
|
baggage,
|
|
@@ -132,9 +149,7 @@ const prepareVaultDirector = (
|
|
|
132
149
|
|
|
133
150
|
const metricsKit = makeERecorderKit(
|
|
134
151
|
metricsNode,
|
|
135
|
-
/** @type {
|
|
136
|
-
M.any()
|
|
137
|
-
),
|
|
152
|
+
/** @type {TypedPattern<MetricsNotification>} */ (M.any()),
|
|
138
153
|
);
|
|
139
154
|
|
|
140
155
|
const managersNode = E(storageNode).makeChildNode('managers');
|
|
@@ -215,7 +230,7 @@ const prepareVaultDirector = (
|
|
|
215
230
|
[mintSeat, mintReceiver, { Minted: kept }],
|
|
216
231
|
];
|
|
217
232
|
try {
|
|
218
|
-
atomicRearrange(
|
|
233
|
+
zcf.atomicRearrange(harden(transfers));
|
|
219
234
|
} catch (e) {
|
|
220
235
|
console.error('mintAndTransfer failed to rearrange', e);
|
|
221
236
|
// If the rearrange fails, burn the newly minted tokens.
|
|
@@ -262,13 +277,7 @@ const prepareVaultDirector = (
|
|
|
262
277
|
metrics: makeRecorderTopic('Vault Factory metrics', metricsKit),
|
|
263
278
|
});
|
|
264
279
|
|
|
265
|
-
|
|
266
|
-
const allManagersDo = fn => {
|
|
267
|
-
for (const managerIndex of collateralManagers.values()) {
|
|
268
|
-
const vm = vaultManagers.get(managerIndex).self;
|
|
269
|
-
fn(vm);
|
|
270
|
-
}
|
|
271
|
-
};
|
|
280
|
+
const allManagersDo = makeAllManagersDo(collateralManagers, vaultManagers);
|
|
272
281
|
|
|
273
282
|
const makeWaker = (name, func) => {
|
|
274
283
|
return Far(name, {
|
|
@@ -17,6 +17,7 @@ export function start(zcf: VaultFactoryZCF, privateArgs: {
|
|
|
17
17
|
marshaller: ERef<Marshaller>;
|
|
18
18
|
auctioneerInstance: Instance;
|
|
19
19
|
managerParams: Record<string, import("./params.js").VaultManagerParamOverrides>;
|
|
20
|
+
directorParamOverrides: [object];
|
|
20
21
|
}, baggage: import("@agoric/swingset-liveslots").Baggage): Promise<{
|
|
21
22
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
22
23
|
getParamMgrRetriever: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultFactory.d.ts","sourceRoot":"","sources":["vaultFactory.js"],"names":[],"mappings":"AAmCA;;;;;;;;GAQG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAerB;
|
|
1
|
+
{"version":3,"file":"vaultFactory.d.ts","sourceRoot":"","sources":["vaultFactory.js"],"names":[],"mappings":"AAmCA;;;;;;;;GAQG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAoBK,2BAhBI,eAAe,eACf;IACV,aAAiB,EAAE,aAAa,CAAC;IACjC,sBAA0B,EAAE,UAAU,CAAC;IACvC,0BAA8B,EAAE,UAAU,CAAC;IAC3C,WAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,UAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,kBAAsB,EAAE,QAAQ,CAAC;IACjC,aAAiB,EAAE,MAAM,CACzB,MAAY,EACZ,OAAa,aAAa,EAAE,0BAA0B,CACjD,CAAC;IACN,sBAA0B,EAAE,CAAC,MAAM,CAAC,CAAC;CAClC,WACO,OAAO,4BAA4B,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFtD;8BAhIY,GAAG,CACf,eAAmB,CAAC,OAAO,UAAU,EAAE,mBAAmB,CAAC,GAAG;IAC9D,cAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,kBAAwB,EAAE,uBAAuB,CAAC;IAClD,YAAkB,EAAE,OAAO,cAAc,EAAE,YAAY,CAAC;CACnD,CACF;mCA6HU,UAAU,CAAC,OAAO,KAAK,CAAC;gCAxIwD,4BAA4B;oCAA5B,4BAA4B"}
|
|
@@ -74,6 +74,7 @@ harden(meta);
|
|
|
74
74
|
* string,
|
|
75
75
|
* import('./params.js').VaultManagerParamOverrides
|
|
76
76
|
* >;
|
|
77
|
+
* directorParamOverrides: [object];
|
|
77
78
|
* }} privateArgs
|
|
78
79
|
* @param {import('@agoric/swingset-liveslots').Baggage} baggage
|
|
79
80
|
*/
|
|
@@ -86,6 +87,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
86
87
|
storageNode,
|
|
87
88
|
auctioneerInstance,
|
|
88
89
|
managerParams,
|
|
90
|
+
directorParamOverrides,
|
|
89
91
|
} = privateArgs;
|
|
90
92
|
|
|
91
93
|
trace('awaiting debtMint');
|
|
@@ -117,7 +119,6 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
117
119
|
marshaller,
|
|
118
120
|
);
|
|
119
121
|
/** a powerful object; can modify the invitation */
|
|
120
|
-
trace('awaiting makeParamManagerFromTerms');
|
|
121
122
|
const vaultDirectorParamManager = await makeParamManagerFromTerms(
|
|
122
123
|
{
|
|
123
124
|
publisher: governanceSubscriptionKit.publication,
|
|
@@ -129,6 +130,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
129
130
|
[SHORTFALL_INVITATION_KEY]: initialShortfallInvitation,
|
|
130
131
|
},
|
|
131
132
|
vaultDirectorParamTypes,
|
|
133
|
+
directorParamOverrides,
|
|
132
134
|
);
|
|
133
135
|
|
|
134
136
|
const director = provideDirector(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultHolder.d.ts","sourceRoot":"","sources":["vaultHolder.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultHolder.d.ts","sourceRoot":"","sources":["vaultHolder.js"],"names":[],"mappings":"AAiCO,4CAHI,OAAO,4BAA4B,EAAE,OAAO,mBAC5C,OAAO,6CAA6C,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;YAqExE;;;eAGG;;;;;;;;;;;;;;;;gCAqBg0wB,cAAiB;mDAA39qB,WAAW;;QAhEp4F,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;oBAwCtD;;;uBAGG;;;;;;;;;;;;;;;;wCAqBg0wB,cAAiB;;;;;;;;;;;;;;;;;;;QAxBp1wB;;;WAGG;;;;;;GAoBV;oBAnHY;IACZ,QAAY,EAAE,OAAO,6CAA6C,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACnG,KAAS,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/** @file Use-object for the owner of a vault */
|
|
2
|
+
import { Fail } from '@endo/errors';
|
|
2
3
|
import { AmountShape } from '@agoric/ertp';
|
|
3
4
|
import { M, prepareExoClassKit } from '@agoric/vat-data';
|
|
4
5
|
import { TopicsRecordShape } from '@agoric/zoe/src/contractSupport/index.js';
|
|
5
6
|
import { UnguardedHelperI } from '@agoric/internal/src/typeGuards.js';
|
|
6
7
|
|
|
7
|
-
const { Fail } = assert;
|
|
8
|
-
|
|
9
8
|
/**
|
|
10
9
|
* @typedef {{
|
|
11
10
|
* topicKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<VaultNotification>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vaultManager.d.ts","sourceRoot":"","sources":["vaultManager.js"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
/// <reference types="@agoric/zoe/exported" />
|
|
20
20
|
|
|
21
|
+
import { X, Fail, q, makeError } from '@endo/errors';
|
|
22
|
+
import { E } from '@endo/eventual-send';
|
|
21
23
|
import {
|
|
22
24
|
AmountMath,
|
|
23
25
|
AmountShape,
|
|
@@ -37,7 +39,6 @@ import {
|
|
|
37
39
|
} from '@agoric/vat-data';
|
|
38
40
|
import { TransferPartShape } from '@agoric/zoe/src/contractSupport/atomicTransfer.js';
|
|
39
41
|
import {
|
|
40
|
-
atomicRearrange,
|
|
41
42
|
ceilMultiplyBy,
|
|
42
43
|
floorDivideBy,
|
|
43
44
|
getAmountIn,
|
|
@@ -50,7 +51,7 @@ import {
|
|
|
50
51
|
TopicsRecordShape,
|
|
51
52
|
} from '@agoric/zoe/src/contractSupport/index.js';
|
|
52
53
|
import { PriceQuoteShape, SeatShape } from '@agoric/zoe/src/typeGuards.js';
|
|
53
|
-
import {
|
|
54
|
+
import { multiplyBy } from '@agoric/zoe/src/contractSupport/ratio.js';
|
|
54
55
|
import {
|
|
55
56
|
checkDebtLimit,
|
|
56
57
|
makeNatAmountShape,
|
|
@@ -69,8 +70,6 @@ import { AuctionPFShape } from '../auction/auctioneer.js';
|
|
|
69
70
|
* @import {PriceAuthority, PriceDescription, PriceQuote, PriceQuoteValue, PriceQuery,} from '@agoric/zoe/tools/types.js';
|
|
70
71
|
*/
|
|
71
72
|
|
|
72
|
-
const { details: X, Fail, quote: q } = assert;
|
|
73
|
-
|
|
74
73
|
const trace = makeTracer('VM');
|
|
75
74
|
|
|
76
75
|
/**
|
|
@@ -415,12 +414,12 @@ export const prepareVaultManagerKit = (
|
|
|
415
414
|
),
|
|
416
415
|
fail: reason => {
|
|
417
416
|
zcf.shutdownWithFailure(
|
|
418
|
-
|
|
417
|
+
makeError(X`Unable to continue without a timer: ${reason}`),
|
|
419
418
|
);
|
|
420
419
|
},
|
|
421
420
|
finish: done => {
|
|
422
421
|
zcf.shutdownWithFailure(
|
|
423
|
-
|
|
422
|
+
makeError(X`Unable to continue without a timer: ${done}`),
|
|
424
423
|
);
|
|
425
424
|
},
|
|
426
425
|
});
|
|
@@ -757,7 +756,7 @@ export const prepareVaultManagerKit = (
|
|
|
757
756
|
amounts,
|
|
758
757
|
]),
|
|
759
758
|
);
|
|
760
|
-
atomicRearrange(
|
|
759
|
+
zcf.atomicRearrange(harden(transfers));
|
|
761
760
|
}
|
|
762
761
|
|
|
763
762
|
const { prioritizedVaults } = collateralEphemera(
|
|
@@ -994,8 +993,9 @@ export const prepareVaultManagerKit = (
|
|
|
994
993
|
);
|
|
995
994
|
state.totalDebt = AmountMath.subtract(
|
|
996
995
|
AmountMath.add(state.totalDebt, vault.getCurrentDebt()),
|
|
997
|
-
oldDebtNormalized,
|
|
996
|
+
multiplyBy(oldDebtNormalized, state.compoundedInterest),
|
|
998
997
|
);
|
|
998
|
+
|
|
999
999
|
void facets.helper.writeMetrics();
|
|
1000
1000
|
},
|
|
1001
1001
|
},
|