@agoric/inter-protocol 0.16.2-other-dev-fbe72e7.0.fbe72e7 → 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 +17 -17
- package/src/auction/auctionBook.d.ts +3 -1
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionBook.js +7 -6
- package/src/auction/auctioneer.d.ts +15 -10
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +23 -12
- package/src/auction/params.d.ts +14 -6
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/params.js +11 -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 +8 -3
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +14 -6
- package/src/clientSupport.d.ts +28 -73
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +24 -128
- package/src/econCommitteeCharter.d.ts +9 -5
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/econCommitteeCharter.js +10 -8
- package/src/feeDistributor.d.ts +10 -16
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/feeDistributor.js +3 -3
- package/src/index.js +1 -1
- package/src/price/fluxAggregatorContract.d.ts +14 -5
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.js +17 -9
- package/src/price/fluxAggregatorKit.d.ts +11 -6
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +12 -7
- package/src/price/priceOracleKit.d.ts +2 -1
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +2 -1
- package/src/price/roundsManager.d.ts +6 -4
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +4 -2
- package/src/proposals/add-auction.js +7 -2
- package/src/proposals/addAssetToVault.js +7 -3
- package/src/proposals/committee-proposal.js +10 -5
- package/src/proposals/core-proposal.js +9 -3
- package/src/proposals/deploy-price-feeds.js +7 -4
- package/src/proposals/econ-behaviors.js +14 -9
- package/src/proposals/price-feed-proposal.js +10 -3
- package/src/proposals/replace-fee-distributor.js +7 -4
- package/src/proposals/startEconCommittee.js +5 -1
- package/src/proposals/startPSM.js +7 -4
- package/src/proposals/upgrade-vaults.js +9 -4
- package/src/proposals/utils.d.ts +6 -4
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +8 -8
- package/src/proposals/withdraw-reserve-proposal.js +1 -1
- package/src/provisionPool.d.ts +16 -8
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +15 -9
- package/src/provisionPoolKit.d.ts +19 -74
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +26 -22
- package/src/psm/psm.d.ts +5 -6
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +12 -11
- package/src/reserve/assetReserve.d.ts +3 -2
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +10 -6
- package/src/reserve/assetReserveKit.d.ts +6 -3
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +7 -5
- package/src/vaultFactory/burn.js +1 -1
- package/src/vaultFactory/liquidation.d.ts +5 -3
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +9 -7
- package/src/vaultFactory/orderedVaultStore.d.ts +2 -2
- package/src/vaultFactory/params.d.ts +20 -7
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +24 -9
- package/src/vaultFactory/prioritizedVaults.d.ts +12 -12
- package/src/vaultFactory/types-ambient.d.ts.map +1 -1
- package/src/vaultFactory/types-ambient.js +1 -0
- package/src/vaultFactory/vault.d.ts +23 -20
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +17 -14
- package/src/vaultFactory/vaultDirector.d.ts +28 -16
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +28 -22
- package/src/vaultFactory/vaultFactory.d.ts +17 -52
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +22 -16
- package/src/vaultFactory/vaultHolder.d.ts +9 -5
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +8 -4
- package/src/vaultFactory/vaultKit.d.ts +4 -1
- package/src/vaultFactory/vaultKit.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.js +7 -4
- package/src/vaultFactory/vaultManager.d.ts +37 -25
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +28 -15
package/src/provisionPoolKit.js
CHANGED
|
@@ -28,11 +28,22 @@ import { isUpgradeDisconnection } from '@agoric/internal/src/upgrade-api.js';
|
|
|
28
28
|
* @import {EReturn} from '@endo/far';
|
|
29
29
|
* @import {BridgeMessage} from '@agoric/cosmic-swingset/src/types.js';
|
|
30
30
|
* @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
|
|
31
|
+
* @import {ERemote, Remote} from '@agoric/internal';
|
|
31
32
|
* @import {StorageNode} from '@agoric/internal/src/lib-chainStorage.js';
|
|
32
33
|
* @import {ZCF} from '@agoric/zoe';
|
|
33
34
|
* @import {ERef} from '@endo/far'
|
|
34
35
|
* @import {Bank, BankManager} from '@agoric/vats/src/vat-bank.js'
|
|
35
36
|
* @import {MapStore, SetStore} from '@agoric/store';
|
|
37
|
+
* @import {Instance} from '@agoric/zoe/src/zoeService/utils.js';
|
|
38
|
+
* @import {start as psmStart} from '@agoric/inter-protocol/src/psm/psm.js';
|
|
39
|
+
* @import {NameAdmin} from '@agoric/vats';
|
|
40
|
+
* @import {WalletFactoryStartResult} from '@agoric/vats/src/core/startWalletFactory.js';
|
|
41
|
+
* @import {Zone} from '@agoric/zone';
|
|
42
|
+
* @import {start as StartWalletFactory} from '@agoric/smart-wallet/src/walletFactory.js';
|
|
43
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
44
|
+
* @import {RecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
45
|
+
* @import {BridgeHandler} from '@agoric/vats';
|
|
46
|
+
* @import {AssetDescriptor} from '@agoric/vats/src/vat-bank.js';
|
|
36
47
|
*/
|
|
37
48
|
|
|
38
49
|
const trace = makeTracer('ProvPool');
|
|
@@ -52,18 +63,14 @@ const FIRST_LOWER_NEAR_KEYWORD = /^[a-z][a-zA-Z0-9_$]*$/;
|
|
|
52
63
|
*/
|
|
53
64
|
|
|
54
65
|
/**
|
|
55
|
-
* @typedef {
|
|
56
|
-
* import('@agoric/inter-protocol/src/psm/psm.js').start
|
|
57
|
-
* >} PsmInstance
|
|
66
|
+
* @typedef {Instance<typeof psmStart>} PsmInstance
|
|
58
67
|
*/
|
|
59
68
|
|
|
60
69
|
/**
|
|
61
70
|
* @typedef {object} ProvisionPoolKitReferences
|
|
62
71
|
* @property {ERef<BankManager>} bankManager
|
|
63
|
-
* @property {ERef<
|
|
64
|
-
* @property {ERef<
|
|
65
|
-
* import('@agoric/vats/src/core/startWalletFactory.js').WalletFactoryStartResult['creatorFacet']
|
|
66
|
-
* >} walletFactory
|
|
72
|
+
* @property {ERef<NameAdmin>} namesByAddressAdmin
|
|
73
|
+
* @property {ERef<WalletFactoryStartResult['creatorFacet']>} walletFactory
|
|
67
74
|
*/
|
|
68
75
|
|
|
69
76
|
/**
|
|
@@ -80,7 +87,7 @@ const FIRST_LOWER_NEAR_KEYWORD = /^[a-z][a-zA-Z0-9_$]*$/;
|
|
|
80
87
|
* Given attenuated access to the funding purse, handle requests to provision
|
|
81
88
|
* smart wallets.
|
|
82
89
|
*
|
|
83
|
-
* @param {
|
|
90
|
+
* @param {Zone} zone
|
|
84
91
|
*/
|
|
85
92
|
export const prepareBridgeProvisionTool = zone =>
|
|
86
93
|
zone.exoClass(
|
|
@@ -90,12 +97,8 @@ export const prepareBridgeProvisionTool = zone =>
|
|
|
90
97
|
}),
|
|
91
98
|
/**
|
|
92
99
|
* @param {ERef<BankManager>} bankManager
|
|
93
|
-
* @param {ERef<
|
|
94
|
-
*
|
|
95
|
-
* import('@agoric/smart-wallet/src/walletFactory.js').start
|
|
96
|
-
* >['creatorFacet']
|
|
97
|
-
* >} walletFactory
|
|
98
|
-
* @param {ERef<import('@agoric/vats').NameAdmin>} namesByAddressAdmin
|
|
100
|
+
* @param {ERef<EReturn<StartWalletFactory>['creatorFacet']>} walletFactory
|
|
101
|
+
* @param {ERef<NameAdmin>} namesByAddressAdmin
|
|
99
102
|
* @param {ProvisionPoolKit['forHandler']} forHandler
|
|
100
103
|
*/
|
|
101
104
|
(bankManager, walletFactory, namesByAddressAdmin, forHandler) => ({
|
|
@@ -137,11 +140,11 @@ export const prepareBridgeProvisionTool = zone =>
|
|
|
137
140
|
);
|
|
138
141
|
|
|
139
142
|
/**
|
|
140
|
-
* @param {
|
|
143
|
+
* @param {Zone} zone
|
|
141
144
|
* @param {{
|
|
142
|
-
* makeRecorderKit:
|
|
145
|
+
* makeRecorderKit: MakeRecorderKit;
|
|
143
146
|
* params: any;
|
|
144
|
-
* poolBank:
|
|
147
|
+
* poolBank: ERef<Bank>;
|
|
145
148
|
* zcf: ZCF;
|
|
146
149
|
* makeBridgeProvisionTool: ReturnType<typeof prepareBridgeProvisionTool>;
|
|
147
150
|
* }} powers
|
|
@@ -198,10 +201,10 @@ export const prepareProvisionPoolKit = (
|
|
|
198
201
|
* @param {object} opts
|
|
199
202
|
* @param {Purse<'nat'>} [opts.fundPurse]
|
|
200
203
|
* @param {Brand<'nat'>} opts.poolBrand
|
|
201
|
-
* @param {StorageNode} opts.metricsNode
|
|
204
|
+
* @param {Remote<StorageNode>} opts.metricsNode
|
|
202
205
|
*/
|
|
203
206
|
({ fundPurse, poolBrand, metricsNode }) => {
|
|
204
|
-
/** @type {
|
|
207
|
+
/** @type {RecorderKit<MetricsNotification>} */
|
|
205
208
|
const metricsRecorderKit = makeRecorderKit(metricsNode);
|
|
206
209
|
|
|
207
210
|
/** @type {MapStore<ERef<Brand>, PsmInstance>} */
|
|
@@ -256,7 +259,7 @@ export const prepareProvisionPoolKit = (
|
|
|
256
259
|
const refs = await deeplyFulfilledObject(obj);
|
|
257
260
|
Object.assign(this.state, refs);
|
|
258
261
|
},
|
|
259
|
-
/** @returns {
|
|
262
|
+
/** @returns {BridgeHandler} */
|
|
260
263
|
makeHandler() {
|
|
261
264
|
const { bankManager, namesByAddressAdmin, walletFactory } =
|
|
262
265
|
this.state;
|
|
@@ -402,7 +405,7 @@ export const prepareProvisionPoolKit = (
|
|
|
402
405
|
const { facets } = this;
|
|
403
406
|
const { helper } = facets;
|
|
404
407
|
|
|
405
|
-
/** @param {
|
|
408
|
+
/** @param {AssetDescriptor} desc */
|
|
406
409
|
const repairDesc = desc => {
|
|
407
410
|
if (desc.issuerName.match(FIRST_UPPER_KEYWORD)) {
|
|
408
411
|
trace(`Saving Issuer ${desc.issuerName}`);
|
|
@@ -590,11 +593,12 @@ export const prepareProvisionPoolKit = (
|
|
|
590
593
|
*
|
|
591
594
|
* @param {object} opts
|
|
592
595
|
* @param {Brand<'nat'>} opts.poolBrand
|
|
593
|
-
* @param {
|
|
596
|
+
* @param {ERemote<StorageNode>} opts.storageNode
|
|
594
597
|
* @returns {Promise<ProvisionPoolKit>}
|
|
595
598
|
*/
|
|
596
599
|
const makeProvisionPoolKit = async ({ poolBrand, storageNode }) => {
|
|
597
600
|
const fundPurse = await getFundingPurseForBrand(poolBrand);
|
|
601
|
+
/** @type {Remote<StorageNode>} */
|
|
598
602
|
const metricsNode = await E(storageNode).makeChildNode('metrics');
|
|
599
603
|
|
|
600
604
|
return makeProvisionPoolKitInternal({
|
package/src/psm/psm.d.ts
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* @import {EReturn} from '@endo/far';
|
|
10
|
+
* @import {TypedPattern, Remote} from '@agoric/internal';
|
|
11
|
+
* @import {Baggage} from '@agoric/vat-data'
|
|
10
12
|
* @import {ContractMeta, FeeMintAccess, Installation} from '@agoric/zoe';
|
|
11
13
|
*/
|
|
12
14
|
/**
|
|
@@ -23,10 +25,6 @@
|
|
|
23
25
|
* @property {Amount<'nat'>} totalMintedProvided running sum of Minted ever
|
|
24
26
|
* given by this contract
|
|
25
27
|
*/
|
|
26
|
-
/**
|
|
27
|
-
* @import {TypedPattern} from '@agoric/internal';
|
|
28
|
-
* @import {Baggage} from '@agoric/vat-data'
|
|
29
|
-
*/
|
|
30
28
|
/** @type {ContractMeta} */
|
|
31
29
|
export const meta: ContractMeta;
|
|
32
30
|
export function start(zcf: ZCF<GovernanceTerms<{
|
|
@@ -39,8 +37,8 @@ export function start(zcf: ZCF<GovernanceTerms<{
|
|
|
39
37
|
}>, privateArgs: {
|
|
40
38
|
feeMintAccess: FeeMintAccess;
|
|
41
39
|
initialPoserInvitation: Invitation;
|
|
42
|
-
storageNode: StorageNode
|
|
43
|
-
marshaller: Marshaller
|
|
40
|
+
storageNode: Remote<StorageNode>;
|
|
41
|
+
marshaller: Remote<Marshaller>;
|
|
44
42
|
}, baggage: Baggage): Promise<{
|
|
45
43
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
46
44
|
getParamMgrRetriever: () => {
|
|
@@ -127,6 +125,7 @@ export type MetricsNotification = {
|
|
|
127
125
|
export type PsmPublicFacet = EReturn<typeof start>["publicFacet"];
|
|
128
126
|
import type { ContractMeta } from '@agoric/zoe';
|
|
129
127
|
import type { FeeMintAccess } from '@agoric/zoe';
|
|
128
|
+
import type { Remote } from '@agoric/internal';
|
|
130
129
|
import type { Baggage } from '@agoric/vat-data';
|
|
131
130
|
import type { Installation } from '@agoric/zoe';
|
|
132
131
|
import type { EReturn } from '@endo/far';
|
package/src/psm/psm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psm.d.ts","sourceRoot":"","sources":["psm.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"psm.d.ts","sourceRoot":"","sources":["psm.js"],"names":[],"mappings":"AAsCA;;;;;;GAMG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAkCrB;AAsBK,2BAlBI,GAAG,CACT,eAAe,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,QAAQ,CAAC;CACrB,CAAC,GAAG;IACH,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,eAAe,EAAE,KAAK,CAAC;CACxB,CACF,eACO;IACN,aAAa,EAAE,aAAa,CAAC;IAC7B,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;CAChC,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqUjB;;;;;;;;;;uBAvYa,MAAM,CAAC,KAAK,CAAC;;;;;uBAEb,MAAM,CAAC,KAAK,CAAC;;;;;oBAEb,MAAM,CAAC,KAAK,CAAC;;;;;yBAEb,MAAM,CAAC,KAAK,CAAC;;;;;yBAEb,MAAM,CAAC,KAAK,CAAC;;6BAkYb,QAAQ,OAAO,KAAK,CAAb,CAAe,aAAa,CAAC;kCAhZU,aAAa;mCAAb,aAAa;4BAFlC,kBAAkB;6BAC/B,kBAAkB;kCACgB,aAAa;6BAH/C,WAAW"}
|
package/src/psm/psm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @jessie-check
|
|
2
|
-
/// <reference types="@agoric/governance/exported" />
|
|
3
|
-
/// <reference types="@agoric/zoe/exported" />
|
|
2
|
+
/// <reference types="@agoric/governance/exported.js" />
|
|
3
|
+
/// <reference types="@agoric/zoe/exported.js" />
|
|
4
4
|
|
|
5
5
|
import { Fail } from '@endo/errors';
|
|
6
6
|
import { E } from '@endo/eventual-send';
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
publicMixinAPI,
|
|
13
13
|
} from '@agoric/governance';
|
|
14
14
|
import { StorageNodeShape } from '@agoric/internal';
|
|
15
|
+
import { wrapRemoteMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
15
16
|
import { M, prepareExo, provide } from '@agoric/vat-data';
|
|
16
17
|
import {
|
|
17
18
|
atomicTransfer,
|
|
@@ -45,6 +46,8 @@ import { makeNatAmountShape } from '../contractSupport.js';
|
|
|
45
46
|
|
|
46
47
|
/**
|
|
47
48
|
* @import {EReturn} from '@endo/far';
|
|
49
|
+
* @import {TypedPattern, Remote} from '@agoric/internal';
|
|
50
|
+
* @import {Baggage} from '@agoric/vat-data'
|
|
48
51
|
* @import {ContractMeta, FeeMintAccess, Installation} from '@agoric/zoe';
|
|
49
52
|
*/
|
|
50
53
|
|
|
@@ -63,11 +66,6 @@ import { makeNatAmountShape } from '../contractSupport.js';
|
|
|
63
66
|
* given by this contract
|
|
64
67
|
*/
|
|
65
68
|
|
|
66
|
-
/**
|
|
67
|
-
* @import {TypedPattern} from '@agoric/internal';
|
|
68
|
-
* @import {Baggage} from '@agoric/vat-data'
|
|
69
|
-
*/
|
|
70
|
-
|
|
71
69
|
/** @type {ContractMeta} */
|
|
72
70
|
export const meta = {
|
|
73
71
|
upgradability: 'canUpgrade',
|
|
@@ -119,8 +117,8 @@ harden(meta);
|
|
|
119
117
|
* @param {{
|
|
120
118
|
* feeMintAccess: FeeMintAccess;
|
|
121
119
|
* initialPoserInvitation: Invitation;
|
|
122
|
-
* storageNode: StorageNode
|
|
123
|
-
* marshaller: Marshaller
|
|
120
|
+
* storageNode: Remote<StorageNode>;
|
|
121
|
+
* marshaller: Remote<Marshaller>;
|
|
124
122
|
* }} privateArgs
|
|
125
123
|
* @param {Baggage} baggage
|
|
126
124
|
*/
|
|
@@ -128,9 +126,12 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
128
126
|
const { anchorBrand, anchorPerMinted } = zcf.getTerms();
|
|
129
127
|
console.log('PSM Starting', anchorBrand, anchorPerMinted);
|
|
130
128
|
|
|
129
|
+
const { marshaller: remoteMarshaller } = privateArgs;
|
|
130
|
+
const cachingMarshaller = wrapRemoteMarshaller(remoteMarshaller);
|
|
131
|
+
|
|
131
132
|
const { makeRecorderKit } = prepareRecorderKitMakers(
|
|
132
133
|
baggage,
|
|
133
|
-
|
|
134
|
+
cachingMarshaller,
|
|
134
135
|
);
|
|
135
136
|
|
|
136
137
|
const { stableMint } = await provideAll(baggage, {
|
|
@@ -157,7 +158,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
157
158
|
WantMintedFee: ParamTypes.RATIO,
|
|
158
159
|
},
|
|
159
160
|
privateArgs.storageNode,
|
|
160
|
-
|
|
161
|
+
cachingMarshaller,
|
|
161
162
|
);
|
|
162
163
|
|
|
163
164
|
const anchorPool = provideEmptySeat(zcf, baggage, 'anchorPoolSeat');
|
|
@@ -5,8 +5,8 @@ export function start(zcf: ZCF<GovernanceTerms<{}> & {
|
|
|
5
5
|
}>, privateArgs: {
|
|
6
6
|
feeMintAccess: FeeMintAccess;
|
|
7
7
|
initialPoserInvitation: Invitation;
|
|
8
|
-
marshaller:
|
|
9
|
-
storageNode:
|
|
8
|
+
marshaller: ERemote<Marshaller>;
|
|
9
|
+
storageNode: ERemote<StorageNode>;
|
|
10
10
|
}, baggage: Baggage): Promise<{
|
|
11
11
|
/** @type {GovernedCreatorFacet<typeof assetReserveKit.machine>} */
|
|
12
12
|
creatorFacet: GovernedCreatorFacet<import("@endo/exo").Guarded<{
|
|
@@ -51,6 +51,7 @@ export type AssetReserveCreatorFacet = EReturn<typeof start>["creatorFacet"];
|
|
|
51
51
|
export type ReserveContract = ContractOf<typeof start>;
|
|
52
52
|
import type { ContractMeta } from '@agoric/zoe';
|
|
53
53
|
import type { FeeMintAccess } from '@agoric/zoe';
|
|
54
|
+
import type { ERemote } from '@agoric/internal';
|
|
54
55
|
import type { Baggage } from '@agoric/vat-data';
|
|
55
56
|
import type { Allocation } from '@agoric/zoe';
|
|
56
57
|
import type { EReturn } from '@endo/far';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetReserve.d.ts","sourceRoot":"","sources":["assetReserve.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assetReserve.d.ts","sourceRoot":"","sources":["assetReserve.js"],"names":[],"mappings":"AAqBA,yCAAyC;AACzC,mBADW,aAAa,OAAO,KAAK,CAAC,CAGnC;AA8BK,2BAbI,GAAG,CACT,eAAe,CAAC,EAAE,CAAC,GAAG;IACpB,YAAY,EAAE,CAAC,2BAA2B,CAAC,CAAC;CAC7C,CACF,eACO;IACN,aAAa,EAAE,aAAa,CAAC;IAC7B,sBAAsB,EAAE,UAAU,CAAC;IACnC,UAAU,EAAE,QAAQ,UAAU,CAAC,CAAC;IAChC,WAAW,EAAE,QAAQ,WAAW,CAAC,CAAC;CACnC,WACO,OAAO;IAuDd,mEAAmE;kBAAxD,oBAAoB;;;;;;;;;;;;OAAgC;IAE/D,iEAAiE;iBAAtD,mBAAmB;;;;;OAA+B;GAKhE;sCAtFY;IACR,4BAA4B,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,0BAA0B,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;;kCAwFU,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;gCAC3B,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;;;eAK3B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;oBACrC,MAAM,UAAU;sCAChB,MAAM,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;;sCAG5C,QAAQ,OAAO,KAAK,CAAb,CAAe,aAAa,CAAC;;;;uCAErC,QAAQ,OAAO,KAAK,CAAb,CAAe,cAAc,CAAC;8BAIpC,WAAW,OAAO,KAAK,CAAC;kCAxHkC,aAAa;mCAAb,aAAa;6BAJ3D,kBAAkB;6BAClB,kBAAkB;gCAG4B,aAAa;6BAF3D,WAAW;gCACR,qCAAqC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { handleParamGovernance } from '@agoric/governance';
|
|
4
4
|
import { makeTracer } from '@agoric/internal';
|
|
5
|
+
import { wrapRemoteMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
5
6
|
import {
|
|
6
7
|
prepareRecorderKitMakers,
|
|
7
8
|
provideAll,
|
|
@@ -9,6 +10,8 @@ import {
|
|
|
9
10
|
import { prepareAssetReserveKit } from './assetReserveKit.js';
|
|
10
11
|
|
|
11
12
|
/**
|
|
13
|
+
* @import {ERemote} from '@agoric/internal';
|
|
14
|
+
* @import {Baggage} from '@agoric/vat-data'
|
|
12
15
|
* @import {EReturn} from '@endo/far';
|
|
13
16
|
* @import {ContractOf} from '@agoric/zoe/src/zoeService/utils.js';
|
|
14
17
|
* @import {Allocation, ContractMeta, FeeMintAccess, Installation} from '@agoric/zoe';
|
|
@@ -29,8 +32,6 @@ harden(meta);
|
|
|
29
32
|
* }} ShortfallReportingFacet
|
|
30
33
|
*/
|
|
31
34
|
|
|
32
|
-
/** @import {Baggage} from '@agoric/vat-data' */
|
|
33
|
-
|
|
34
35
|
/**
|
|
35
36
|
* Asset Reserve holds onto assets for the Inter Protocol, and can dispense it
|
|
36
37
|
* for various purposes under governance control.
|
|
@@ -46,8 +47,8 @@ harden(meta);
|
|
|
46
47
|
* @param {{
|
|
47
48
|
* feeMintAccess: FeeMintAccess;
|
|
48
49
|
* initialPoserInvitation: Invitation;
|
|
49
|
-
* marshaller:
|
|
50
|
-
* storageNode:
|
|
50
|
+
* marshaller: ERemote<Marshaller>;
|
|
51
|
+
* storageNode: ERemote<StorageNode>;
|
|
51
52
|
* }} privateArgs
|
|
52
53
|
* @param {Baggage} baggage
|
|
53
54
|
*/
|
|
@@ -58,9 +59,12 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
58
59
|
// accessed via the `state` object. The latter means updates are made directly
|
|
59
60
|
// to state and don't require reference to baggage.
|
|
60
61
|
|
|
62
|
+
const { marshaller: remoteMarshaller } = privateArgs;
|
|
63
|
+
const cachingMarshaller = wrapRemoteMarshaller(remoteMarshaller);
|
|
64
|
+
|
|
61
65
|
const { makeRecorderKit } = prepareRecorderKitMakers(
|
|
62
66
|
baggage,
|
|
63
|
-
|
|
67
|
+
cachingMarshaller,
|
|
64
68
|
);
|
|
65
69
|
|
|
66
70
|
const storageNode = await privateArgs.storageNode;
|
|
@@ -87,7 +91,7 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
87
91
|
privateArgs.initialPoserInvitation,
|
|
88
92
|
{},
|
|
89
93
|
privateArgs.storageNode,
|
|
90
|
-
|
|
94
|
+
cachingMarshaller,
|
|
91
95
|
);
|
|
92
96
|
|
|
93
97
|
const { governorFacet } = makeDurableGovernorFacet(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export function prepareAssetReserveKit(baggage:
|
|
1
|
+
export function prepareAssetReserveKit(baggage: Baggage, { feeMint, makeRecorderKit, storageNode, zcf }: {
|
|
2
2
|
feeMint: ZCFMint<"nat">;
|
|
3
|
-
makeRecorderKit:
|
|
4
|
-
storageNode: StorageNode
|
|
3
|
+
makeRecorderKit: MakeRecorderKit;
|
|
4
|
+
storageNode: ERemote<StorageNode>;
|
|
5
5
|
zcf: ZCF;
|
|
6
6
|
}): Promise<() => Promise<import("@endo/exo").GuardedKit<{
|
|
7
7
|
helper: {
|
|
@@ -90,8 +90,11 @@ export type MetricsNotification = {
|
|
|
90
90
|
totalFeeBurned: Amount<"nat">;
|
|
91
91
|
};
|
|
92
92
|
export type AssetReserveKit = EReturn<EReturn<typeof prepareAssetReserveKit>>;
|
|
93
|
+
import type { Baggage } from '@agoric/vat-data';
|
|
93
94
|
import type { ZCFMint } from '@agoric/zoe';
|
|
95
|
+
import type { MakeRecorderKit } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
94
96
|
import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
|
|
97
|
+
import type { ERemote } from '@agoric/internal';
|
|
95
98
|
import type { ZCF } from '@agoric/zoe';
|
|
96
99
|
import type { Brand } from '@agoric/ertp';
|
|
97
100
|
import type { Keyword } from '@agoric/zoe';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetReserveKit.d.ts","sourceRoot":"","sources":["assetReserveKit.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assetReserveKit.d.ts","sourceRoot":"","sources":["assetReserveKit.js"],"names":[],"mappings":"AAmDO,gDARI,OAAO,kDACP;IACN,OAAO,EAAE,QAAQ,KAAK,CAAC,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,QAAQ,WAAW,CAAC,CAAC;IAClC,GAAG,EAAE,GAAG,CAAC;CACV;;QA8GI,2BAA2B;kCAAf,KAAK;QAUjB;;;WAGG;gCAFQ,KAAK,WACL,OAAO;;;;QAqBlB;;;WAGG;6CAFQ,OAAO,KAAK,CAAC,GACX,IAAI;;;;;;;;;QAsDjB;;WAEG;qBADQ,OAAO;;;;;QAYlB;;;WAGG;0BAFQ,MAAM,WACN,MAAM;QAmBjB,8DAA8D;;;YA2E9D,uCAAuC;oDAA3B,OAAO,KAAK,CAAC;YAWzB,uCAAuC;kDAA3B,OAAO,KAAK,CAAC;;;;;;;;IArD3B;;;OAGG;;QAED,mDAAmD;;;;;;;QAqCnD,uCAAuC;gDAA3B,OAAO,KAAK,CAAC;QAWzB,uCAAuC;8CAA3B,OAAO,KAAK,CAAC;;KA8BhC;;iBA3Wa,mBAAmB;;;;;sBACnB,OAAO,KAAK,CAAC;;;;oBAEb,OAAO,KAAK,CAAC;;;;oBACb,OAAO,KAAK,CAAC;;8BAyWb,QAAQ,QAAQ,OAAO,sBAAsB,CAAC,CAAC;6BAnXnC,kBAAkB;6BADmB,aAAa;qCAE1C,6CAA6C;iCANjD,0CAA0C;6BADxB,kBAAkB;yBAKH,aAAa;2BAHpC,cAAc;6BAGS,aAAa;4BAHpC,cAAc;6BAGS,aAAa;4BAHpC,cAAc;yCAEhB,qCAAqC;6BALjD,WAAW"}
|
|
@@ -21,12 +21,14 @@ const trace = makeTracer('ReserveKit', true);
|
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* @import {EReturn} from '@endo/far';
|
|
24
|
-
* @import {TypedPattern} from '@agoric/internal';
|
|
24
|
+
* @import {TypedPattern, ERemote, Remote} from '@agoric/internal';
|
|
25
25
|
* @import {StorageNode} from '@agoric/internal/src/lib-chainStorage.js';
|
|
26
26
|
* @import {Amount, Brand, Issuer} from '@agoric/ertp';
|
|
27
27
|
* @import {MapStore, SetStore} from '@agoric/store';
|
|
28
28
|
* @import {AmountKeywordRecord} from '@agoric/zoe/src/zoeService/types.js';
|
|
29
29
|
* @import {ZCF, OfferHandler, Keyword, ZCFMint, ZCFSeat} from '@agoric/zoe';
|
|
30
|
+
* @import {Baggage} from '@agoric/vat-data';
|
|
31
|
+
* @import {MakeRecorderKit} from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
30
32
|
*/
|
|
31
33
|
|
|
32
34
|
/**
|
|
@@ -39,11 +41,11 @@ const trace = makeTracer('ReserveKit', true);
|
|
|
39
41
|
*/
|
|
40
42
|
|
|
41
43
|
/**
|
|
42
|
-
* @param {
|
|
44
|
+
* @param {Baggage} baggage
|
|
43
45
|
* @param {{
|
|
44
46
|
* feeMint: ZCFMint<'nat'>;
|
|
45
|
-
* makeRecorderKit:
|
|
46
|
-
* storageNode: StorageNode
|
|
47
|
+
* makeRecorderKit: MakeRecorderKit;
|
|
48
|
+
* storageNode: ERemote<StorageNode>;
|
|
47
49
|
* zcf: ZCF;
|
|
48
50
|
* }} powers
|
|
49
51
|
*/
|
|
@@ -119,7 +121,7 @@ export const prepareAssetReserveKit = async (
|
|
|
119
121
|
reduceLiquidationShortfall: M.call(AmountShape).returns(),
|
|
120
122
|
}),
|
|
121
123
|
},
|
|
122
|
-
/** @param {StorageNode} metricsNode */
|
|
124
|
+
/** @param {Remote<StorageNode>} metricsNode */
|
|
123
125
|
metricsNode => {
|
|
124
126
|
/**
|
|
125
127
|
* Used to look up the unique keyword for each brand, including Fee brand.
|
package/src/vaultFactory/burn.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export function setWakeupsForNextAuction(auctioneerPublicFacet: ERef<
|
|
1
|
+
export function setWakeupsForNextAuction(auctioneerPublicFacet: ERef<AuctioneerPublicFacet>, timer: ERef<TimerService>, priceLockWaker: TimerWaker, liquidationWaker: TimerWaker, reschedulerWaker: TimerWaker): Promise<void>;
|
|
2
2
|
export function liquidationResults(debt: Amount<"nat">, minted: Amount<"nat">): {
|
|
3
3
|
overage: Amount<"nat">;
|
|
4
4
|
shortfall: Amount<"nat">;
|
|
5
5
|
};
|
|
6
|
-
export function watchForGovernanceChange(auctioneerPublicFacet: ERef<
|
|
6
|
+
export function watchForGovernanceChange(auctioneerPublicFacet: ERef<AuctioneerPublicFacet>, timer: ERef<TimerService>, reschedulerWaker: TimerWaker): void;
|
|
7
7
|
export function getLiquidatableVaults(zcf: ZCF, collateralizationDetails: {
|
|
8
8
|
quote: PriceQuote;
|
|
9
9
|
interest: Ratio;
|
|
10
10
|
margin: Ratio;
|
|
11
|
-
}, prioritizedVaults: ReturnType<typeof
|
|
11
|
+
}, prioritizedVaults: ReturnType<typeof makePrioritizedVaults>, liquidatingVaults: SetStore<Vault>, debtBrand: Brand<"nat">, collateralBrand: Brand<"nat">): {
|
|
12
12
|
vaultData: MapStore<Vault, {
|
|
13
13
|
collateralAmount: Amount<"nat">;
|
|
14
14
|
debtAmount: Amount<"nat">;
|
|
@@ -17,9 +17,11 @@ export function getLiquidatableVaults(zcf: ZCF, collateralizationDetails: {
|
|
|
17
17
|
totalCollateral: Amount<"nat">;
|
|
18
18
|
liqSeat: ZCFSeat;
|
|
19
19
|
};
|
|
20
|
+
import type { AuctioneerPublicFacet } from '../auction/auctioneer.js';
|
|
20
21
|
import type { TimerService } from '@agoric/time';
|
|
21
22
|
import type { TimerWaker } from '@agoric/time';
|
|
22
23
|
import type { PriceQuote } from '@agoric/zoe/tools/types.js';
|
|
24
|
+
import type { makePrioritizedVaults } from './prioritizedVaults.js';
|
|
23
25
|
import type { SetStore } from '@agoric/store';
|
|
24
26
|
import type { MapStore } from '@agoric/store';
|
|
25
27
|
//# sourceMappingURL=liquidation.d.ts.map
|
|
@@ -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":"AAwJO,gEAPI,IAAI,CAAC,qBAAqB,CAAC,SAC3B,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,qBAAqB,CAAC,SAC3B,IAAI,CAAC,YAAY,CAAC,oBAClB,UAAU,GACR,IAAI,CA0BhB;AAsBM,2CAnBI,GAAG,4BAEX;IAA6C,KAAK,EAA1C,UAAU;IACsB,QAAQ,EAAxC,KAAK;IAC2B,MAAM,EAAtC,KAAK;CACb,qBAAQ,UAAU,CAAC,4BAA4B,CAAC,qBACxC,SAAS,KAAK,CAAC,aACf,KAAK,CAAC,KAAK,CAAC,mBACZ,KAAK,CAAC,KAAK,CAAC,GACV;IACR,SAAS,EAAE,SACf,KAAW,EACX;QAAQ,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;KAAE,CAC/D,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CAClB,CAiDH;2CAjSuC,0BAA0B;kCAJH,cAAc;gCAAd,cAAc;gCAChD,4BAA4B;2CAIjB,wBAAwB;8BAN3B,eAAe;8BAAf,eAAe"}
|
|
@@ -16,6 +16,10 @@ const trace = makeTracer('LIQ');
|
|
|
16
16
|
* @import {MapStore, SetStore} from '@agoric/store';
|
|
17
17
|
* @import {RelativeTimeRecord, TimerService, TimerWaker} from '@agoric/time';
|
|
18
18
|
* @import {PriceQuote} from '@agoric/zoe/tools/types.js';
|
|
19
|
+
* @import {Schedule} from '../auction/scheduler.js';
|
|
20
|
+
* @import {TimestampRecord} from '@agoric/time';
|
|
21
|
+
* @import {AuctioneerPublicFacet} from '../auction/auctioneer.js';
|
|
22
|
+
* @import {makePrioritizedVaults} from './prioritizedVaults.js';
|
|
19
23
|
*/
|
|
20
24
|
|
|
21
25
|
const makeCancelToken = makeCancelTokenMaker('liq');
|
|
@@ -64,8 +68,8 @@ const cancelWakeups = timer => {
|
|
|
64
68
|
* @param {TimerWaker} opts.priceLockWaker
|
|
65
69
|
* @param {TimerWaker} opts.liquidationWaker
|
|
66
70
|
* @param {TimerWaker} opts.reschedulerWaker
|
|
67
|
-
* @param {
|
|
68
|
-
* @param {
|
|
71
|
+
* @param {Schedule} opts.nextAuctionSchedule
|
|
72
|
+
* @param {TimestampRecord} opts.now
|
|
69
73
|
* @param {ParamStateRecord} opts.params
|
|
70
74
|
* @returns {void}
|
|
71
75
|
*/
|
|
@@ -139,7 +143,7 @@ const setWakeups = ({
|
|
|
139
143
|
* Called by vaultDirector's resetWakeupsForNextAuction at start() and every
|
|
140
144
|
* time there's a "reschedule" wakeup.
|
|
141
145
|
*
|
|
142
|
-
* @param {ERef<
|
|
146
|
+
* @param {ERef<AuctioneerPublicFacet>} auctioneerPublicFacet
|
|
143
147
|
* @param {ERef<TimerService>} timer
|
|
144
148
|
* @param {TimerWaker} priceLockWaker
|
|
145
149
|
* @param {TimerWaker} liquidationWaker
|
|
@@ -205,7 +209,7 @@ harden(liquidationResults);
|
|
|
205
209
|
/**
|
|
206
210
|
* Watch governed params for change
|
|
207
211
|
*
|
|
208
|
-
* @param {ERef<
|
|
212
|
+
* @param {ERef<AuctioneerPublicFacet>} auctioneerPublicFacet
|
|
209
213
|
* @param {ERef<TimerService>} timer
|
|
210
214
|
* @param {TimerWaker} reschedulerWaker
|
|
211
215
|
* @returns {void}
|
|
@@ -242,9 +246,7 @@ export const watchForGovernanceChange = (
|
|
|
242
246
|
* @param {PriceQuote} collateralizationDetails.quote
|
|
243
247
|
* @param {Ratio} collateralizationDetails.interest
|
|
244
248
|
* @param {Ratio} collateralizationDetails.margin
|
|
245
|
-
* @param {ReturnType<
|
|
246
|
-
* typeof import('./prioritizedVaults.js').makePrioritizedVaults
|
|
247
|
-
* >} prioritizedVaults
|
|
249
|
+
* @param {ReturnType<typeof makePrioritizedVaults>} prioritizedVaults
|
|
248
250
|
* @param {SetStore<Vault>} liquidatingVaults
|
|
249
251
|
* @param {Brand<'nat'>} debtBrand
|
|
250
252
|
* @param {Brand<'nat'>} collateralBrand
|
|
@@ -5,7 +5,7 @@ export function makeOrderedVaultStore(store: MapStore<string, Vault>): {
|
|
|
5
5
|
keys: (keyPatt?: Pattern, valuePatt?: Pattern) => Iterable<string>;
|
|
6
6
|
entries: (keyPatt?: Pattern, valuePatt?: Pattern) => Iterable<[string, import("@endo/exo").Guarded<{
|
|
7
7
|
getVaultSeat(): globalThis.ZCFSeat;
|
|
8
|
-
initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
|
|
8
|
+
initVaultKit(seat: ZCFSeat, storageNode: import("@agoric/internal").Remote<StorageNode>): Promise<{
|
|
9
9
|
publicSubscribers: {
|
|
10
10
|
vault: {
|
|
11
11
|
description: string;
|
|
@@ -48,7 +48,7 @@ export function makeOrderedVaultStore(store: MapStore<string, Vault>): {
|
|
|
48
48
|
getSize: (keyPatt?: Pattern, valuePatt?: Pattern) => number;
|
|
49
49
|
values: (keyPatt?: Pattern, valuePatt?: Pattern) => Iterable<import("@endo/exo").Guarded<{
|
|
50
50
|
getVaultSeat(): globalThis.ZCFSeat;
|
|
51
|
-
initVaultKit(seat: ZCFSeat, storageNode: StorageNode): Promise<{
|
|
51
|
+
initVaultKit(seat: ZCFSeat, storageNode: import("@agoric/internal").Remote<StorageNode>): Promise<{
|
|
52
52
|
publicSubscribers: {
|
|
53
53
|
vault: {
|
|
54
54
|
description: string;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @import {ERemote, Remote} from '@agoric/internal';
|
|
3
|
+
* @import {EMarshaller} from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
2
4
|
* @import {MapStore} from '@agoric/store';
|
|
3
5
|
* @import {PriceAuthority} from '@agoric/zoe/tools/types.js';
|
|
6
|
+
* @import {ParamTypesMapFromRecord} from '@agoric/governance/src/contractGovernance/typedParamManager.js';
|
|
7
|
+
* @import {StoredPublisherKit} from '@agoric/notifier';
|
|
8
|
+
* @import {TimerService} from '@agoric/time';
|
|
9
|
+
* @import {Baggage} from '@agoric/vat-data';
|
|
4
10
|
*/
|
|
5
11
|
export const CHARGING_PERIOD_KEY: "ChargingPeriod";
|
|
6
12
|
export const RECORDING_PERIOD_KEY: "RecordingPeriod";
|
|
@@ -19,7 +25,7 @@ export namespace vaultDirectorParamTypes {
|
|
|
19
25
|
let RecordingPeriod: "nat";
|
|
20
26
|
let ReferencedUI: "string";
|
|
21
27
|
}
|
|
22
|
-
export function makeVaultParamManager(publisherKit:
|
|
28
|
+
export function makeVaultParamManager(publisherKit: StoredPublisherKit<GovernanceSubscriptionState>, { debtLimit, interestRate, liquidationMargin, liquidationPadding, liquidationPenalty, mintFee, }: VaultManagerParamValues): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
23
29
|
DebtLimit: "amount";
|
|
24
30
|
InterestRate: "ratio";
|
|
25
31
|
LiquidationPadding: "ratio";
|
|
@@ -34,7 +40,7 @@ export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationA
|
|
|
34
40
|
minInitialDebt: Amount<"nat">;
|
|
35
41
|
bootstrapPaymentValue: bigint;
|
|
36
42
|
priceAuthority: ERef<PriceAuthority>;
|
|
37
|
-
timer: ERef<
|
|
43
|
+
timer: ERef<TimerService>;
|
|
38
44
|
reservePublicFacet: AssetReservePublicFacet;
|
|
39
45
|
interestTiming: InterestTiming;
|
|
40
46
|
shortfallInvitationAmount: Amount<"set">;
|
|
@@ -47,7 +53,7 @@ export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationA
|
|
|
47
53
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("../reserve/assetReserveKit.js").MetricsNotification>;
|
|
48
54
|
};
|
|
49
55
|
}>>;
|
|
50
|
-
timerService: globalThis.ERef<
|
|
56
|
+
timerService: globalThis.ERef<TimerService>;
|
|
51
57
|
governedParams: {
|
|
52
58
|
Electorate: {
|
|
53
59
|
type: "invitation";
|
|
@@ -76,13 +82,13 @@ export function makeGovernedTerms({ bootstrapPaymentValue, electorateInvitationA
|
|
|
76
82
|
};
|
|
77
83
|
bootstrapPaymentValue: bigint;
|
|
78
84
|
};
|
|
79
|
-
export function provideVaultParamManagers(baggage:
|
|
85
|
+
export function provideVaultParamManagers(baggage: Baggage, marshaller: ERemote<EMarshaller>, managerParamOverrides: Record<string, VaultManagerParamOverrides>): {
|
|
80
86
|
/**
|
|
81
87
|
* @param {Brand} brand
|
|
82
|
-
* @param {StorageNode} storageNode
|
|
88
|
+
* @param {Remote<StorageNode>} storageNode
|
|
83
89
|
* @param {VaultManagerParamValues} initialParamValues
|
|
84
90
|
*/
|
|
85
|
-
addParamManager(brand: Brand, storageNode: StorageNode
|
|
91
|
+
addParamManager(brand: Brand, storageNode: Remote<StorageNode>, initialParamValues: VaultManagerParamValues): import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
86
92
|
DebtLimit: "amount";
|
|
87
93
|
InterestRate: "ratio";
|
|
88
94
|
LiquidationPadding: "ratio";
|
|
@@ -100,12 +106,18 @@ export function provideVaultParamManagers(baggage: import("@agoric/vat-data").Ba
|
|
|
100
106
|
MintFee: "ratio";
|
|
101
107
|
}>;
|
|
102
108
|
};
|
|
103
|
-
export type VaultDirectorParams =
|
|
109
|
+
export type VaultDirectorParams = ParamTypesMapFromRecord<ReturnType<typeof makeVaultDirectorParams>>;
|
|
104
110
|
export type VaultParamManager = ReturnType<typeof makeVaultParamManager>;
|
|
105
111
|
export type VaultManagerParamOverrides = VaultManagerParamValues & {
|
|
106
112
|
brand: Brand;
|
|
107
113
|
};
|
|
114
|
+
import type { StoredPublisherKit } from '@agoric/notifier';
|
|
108
115
|
import type { PriceAuthority } from '@agoric/zoe/tools/types.js';
|
|
116
|
+
import type { TimerService } from '@agoric/time';
|
|
117
|
+
import type { Baggage } from '@agoric/vat-data';
|
|
118
|
+
import type { EMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
119
|
+
import type { ERemote } from '@agoric/internal';
|
|
120
|
+
import type { Remote } from '@agoric/internal';
|
|
109
121
|
/**
|
|
110
122
|
* @param {Amount<'set'>} electorateInvitationAmount
|
|
111
123
|
* @param {Amount<'nat'>} minInitialDebt
|
|
@@ -139,5 +151,6 @@ declare function makeVaultDirectorParams(electorateInvitationAmount: Amount<"set
|
|
|
139
151
|
value: bigint;
|
|
140
152
|
};
|
|
141
153
|
};
|
|
154
|
+
import type { ParamTypesMapFromRecord } from '@agoric/governance/src/contractGovernance/typedParamManager.js';
|
|
142
155
|
export {};
|
|
143
156
|
//# sourceMappingURL=params.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAiBA
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["params.js"],"names":[],"mappings":"AAiBA;;;;;;;;;GASG;AAEH,kCAAmC,gBAAgB,CAAC;AACpD,mCAAoC,iBAAiB,CAAC;AAEtD,6BAA8B,WAAW,CAAC;AAC1C,qCAAsC,mBAAmB,CAAC;AAC1D,sCAAuC,oBAAoB,CAAC;AAC5D,sCAAuC,oBAAoB,CAAC;AAC5D,gCAAiC,cAAc,CAAC;AAChD,2BAA4B,SAAS,CAAC;AACtC,mCAAoC,gBAAgB,CAAC;AACrD,uCAAwC,qBAAqB,CAAC;AAC9D,gCAAiC,cAAc,CAAC;;;;;;;AAkEzC,oDAHI,mBAAmB,2BAA2B,CAAC,oGAC/C,uBAAuB;;;;;;;GAoB9B;AACJ,4EAA4E;AAE5E,iEAYE;AAeK,8MAZI;IACN,0BAA0B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1B,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,cAAc,EAAE,cAAc,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BH;AAeM,mDAJI,OAAO,cACP,QAAQ,WAAW,CAAC,yBACpB,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAwDjD;;;;OAIG;2BAHQ,KAAK,eACL,OAAO,WAAW,CAAC,sBACnB,uBAAuB;;;;;;;;IAOlC,2BAA2B;eAAf,KAAK;;;;;;;;EAKpB;kCAzKY,wBACR,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAC3C;gCA8BU,UAAU,CAAC,OAAO,qBAAqB,CAAC;yCAwDxC,uBAAuB,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE;wCA7JnB,kBAAkB;oCAFtB,4BAA4B;kCAG9B,cAAc;6BACnB,kBAAkB;iCANd,iDAAiD;6BAD7C,kBAAkB;4BAAlB,kBAAkB;AAiCpD;;;;;;GAMG;AACH,qEANW,MAAM,CAAC,KAAK,CAAC,kBACb,MAAM,CAAC,KAAK,CAAC,6BACb,MAAM,CAAC,KAAK,CAAC,gBACb,MAAM,kBACN,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxB;6CAlEyC,gEAAgE"}
|