@agoric/inter-protocol 0.16.2-other-dev-8f8782b.0 → 0.16.2-other-dev-3eb1a1d.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/package.json +42 -36
- package/scripts/build-bundles.js +5 -21
- package/src/auction/auctionBook.d.ts +147 -0
- package/src/auction/auctionBook.d.ts.map +1 -0
- package/src/auction/auctionBook.js +156 -150
- 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 +69 -0
- package/src/auction/auctioneer.d.ts.map +1 -0
- package/src/auction/auctioneer.js +70 -59
- package/src/auction/offerBook.d.ts +45 -0
- package/src/auction/offerBook.d.ts.map +1 -0
- package/src/auction/offerBook.js +13 -12
- package/src/auction/params.d.ts +144 -0
- package/src/auction/params.d.ts.map +1 -0
- package/src/auction/params.js +10 -9
- package/src/auction/scheduleMath.d.ts +5 -0
- package/src/auction/scheduleMath.d.ts.map +1 -0
- package/src/auction/scheduleMath.js +18 -16
- package/src/auction/scheduler.d.ts +50 -0
- package/src/auction/scheduler.d.ts.map +1 -0
- package/src/auction/scheduler.js +53 -47
- package/src/auction/sortedOffers.d.ts +8 -0
- package/src/auction/sortedOffers.d.ts.map +1 -0
- package/src/auction/sortedOffers.js +10 -9
- package/src/auction/util.d.ts +30 -0
- package/src/auction/util.d.ts.map +1 -0
- package/src/auction/util.js +9 -6
- package/src/clientSupport.d.ts +167 -0
- package/src/clientSupport.d.ts.map +1 -0
- package/src/clientSupport.js +155 -97
- package/src/collectFees.d.ts +2 -0
- package/src/collectFees.d.ts.map +1 -0
- package/src/contractSupport.d.ts +28 -0
- package/src/contractSupport.d.ts.map +1 -0
- package/src/contractSupport.js +19 -13
- package/src/econCommitteeCharter.d.ts +40 -0
- package/src/econCommitteeCharter.d.ts.map +1 -0
- package/src/econCommitteeCharter.js +21 -20
- package/src/feeDistributor.d.ts +224 -0
- package/src/feeDistributor.d.ts.map +1 -0
- package/src/feeDistributor.js +37 -33
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +1 -0
- package/src/interest-math.d.ts +3 -0
- package/src/interest-math.d.ts.map +1 -0
- package/src/interest.d.ts +28 -0
- package/src/interest.d.ts.map +1 -0
- package/src/interest.js +23 -18
- package/src/price/README.md +13 -0
- package/src/price/fluxAggregatorContract.d.ts +71 -0
- package/src/price/fluxAggregatorContract.d.ts.map +1 -0
- package/src/price/fluxAggregatorContract.js +64 -55
- package/src/price/fluxAggregatorKit.d.ts +103 -0
- package/src/price/fluxAggregatorKit.d.ts.map +1 -0
- package/src/price/fluxAggregatorKit.js +52 -40
- package/src/price/priceOracleKit.d.ts +38 -0
- package/src/price/priceOracleKit.d.ts.map +1 -0
- package/src/price/priceOracleKit.js +12 -14
- package/src/price/roundsManager.d.ts +204 -0
- package/src/price/roundsManager.d.ts.map +1 -0
- package/src/price/roundsManager.js +131 -85
- package/src/proposals/README.md +2 -3
- package/src/proposals/add-auction.d.ts +109 -0
- package/src/proposals/add-auction.d.ts.map +1 -0
- package/src/proposals/add-auction.js +256 -0
- package/src/proposals/addAssetToVault.d.ts +173 -0
- package/src/proposals/addAssetToVault.d.ts.map +1 -0
- package/src/proposals/addAssetToVault.js +192 -40
- package/src/proposals/committee-proposal.d.ts +113 -0
- package/src/proposals/committee-proposal.d.ts.map +1 -0
- package/src/proposals/committee-proposal.js +25 -31
- package/src/proposals/core-proposal.d.ts +149 -0
- package/src/proposals/core-proposal.d.ts.map +1 -0
- package/src/proposals/core-proposal.js +9 -11
- package/src/proposals/deploy-price-feeds.d.ts +76 -0
- package/src/proposals/deploy-price-feeds.d.ts.map +1 -0
- package/src/proposals/deploy-price-feeds.js +316 -0
- package/src/proposals/econ-behaviors.d.ts +541 -0
- package/src/proposals/econ-behaviors.d.ts.map +1 -0
- package/src/proposals/econ-behaviors.js +64 -45
- package/src/proposals/price-feed-proposal.d.ts +84 -0
- package/src/proposals/price-feed-proposal.d.ts.map +1 -0
- package/src/proposals/price-feed-proposal.js +109 -51
- package/src/proposals/replace-fee-distributor.d.ts +48 -0
- package/src/proposals/replace-fee-distributor.d.ts.map +1 -0
- package/src/proposals/replace-fee-distributor.js +195 -0
- package/src/proposals/replace-scaledPriceAuthorities.d.ts +30 -0
- package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +1 -0
- package/src/proposals/replace-scaledPriceAuthorities.js +124 -0
- package/src/proposals/replaceElectorate.d.ts +55 -0
- package/src/proposals/replaceElectorate.d.ts.map +1 -0
- package/src/proposals/replaceElectorate.js +521 -0
- package/src/proposals/startEconCommittee.d.ts +34 -0
- package/src/proposals/startEconCommittee.d.ts.map +1 -0
- package/src/proposals/startEconCommittee.js +2 -2
- package/src/proposals/startPSM.d.ts +59 -0
- package/src/proposals/startPSM.d.ts.map +1 -0
- package/src/proposals/startPSM.js +44 -29
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +24 -0
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +1 -0
- package/src/proposals/upgrade-scaledPriceAuthorities.js +78 -0
- package/src/proposals/upgrade-vaults.d.ts +41 -0
- package/src/proposals/upgrade-vaults.d.ts.map +1 -0
- package/src/proposals/upgrade-vaults.js +202 -0
- package/src/proposals/utils.d.ts +19 -0
- package/src/proposals/utils.d.ts.map +1 -0
- package/src/proposals/utils.js +43 -9
- package/src/provisionPool.d.ts +163 -0
- package/src/provisionPool.d.ts.map +1 -0
- package/src/provisionPool.js +122 -0
- package/src/provisionPoolKit.d.ts +359 -0
- package/src/provisionPoolKit.d.ts.map +1 -0
- package/src/provisionPoolKit.js +522 -0
- package/src/psm/psm.d.ts +125 -0
- package/src/psm/psm.d.ts.map +1 -0
- package/src/psm/psm.js +80 -79
- package/src/psm/types-ambient.d.ts +2 -0
- package/src/psm/types-ambient.d.ts.map +1 -0
- package/src/psm/types-ambient.js +3 -0
- package/src/reserve/assetReserve.d.ts +47 -0
- package/src/reserve/assetReserve.d.ts.map +1 -0
- package/src/reserve/assetReserve.js +28 -19
- package/src/reserve/assetReserveKit.d.ts +74 -0
- package/src/reserve/assetReserveKit.d.ts.map +1 -0
- package/src/reserve/assetReserveKit.js +24 -30
- package/src/reserve/params.d.ts +10 -0
- package/src/reserve/params.d.ts.map +1 -0
- package/src/tokens.d.ts +3 -0
- package/src/tokens.d.ts.map +1 -0
- package/src/tokens.js +5 -0
- package/src/vaultFactory/burn.d.ts +2 -0
- package/src/vaultFactory/burn.d.ts.map +1 -0
- package/src/vaultFactory/burn.js +1 -1
- package/src/vaultFactory/liquidation.d.ts +23 -0
- package/src/vaultFactory/liquidation.d.ts.map +1 -0
- package/src/vaultFactory/liquidation.js +37 -24
- package/src/vaultFactory/math.d.ts +11 -0
- package/src/vaultFactory/math.d.ts.map +1 -0
- package/src/vaultFactory/math.js +10 -9
- package/src/vaultFactory/orderedVaultStore.d.ts +93 -0
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
- package/src/vaultFactory/orderedVaultStore.js +8 -11
- package/src/vaultFactory/params.d.ts +140 -0
- package/src/vaultFactory/params.d.ts.map +1 -0
- package/src/vaultFactory/params.js +52 -24
- package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
- package/src/vaultFactory/prioritizedVaults.js +4 -4
- package/src/vaultFactory/proceeds.d.ts +35 -0
- package/src/vaultFactory/proceeds.d.ts.map +1 -0
- package/src/vaultFactory/proceeds.js +26 -18
- package/src/vaultFactory/storeUtils.d.ts +25 -0
- package/src/vaultFactory/storeUtils.d.ts.map +1 -0
- package/src/vaultFactory/storeUtils.js +10 -12
- package/src/vaultFactory/types-ambient.d.ts +137 -0
- package/src/vaultFactory/types-ambient.d.ts.map +1 -0
- package/src/vaultFactory/{types.js → types-ambient.js} +42 -42
- package/src/vaultFactory/vault.d.ts +343 -0
- package/src/vaultFactory/vault.d.ts.map +1 -0
- package/src/vaultFactory/vault.js +105 -99
- package/src/vaultFactory/vaultDirector.d.ts +341 -0
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
- package/src/vaultFactory/vaultDirector.js +86 -64
- package/src/vaultFactory/vaultFactory.d.ts +202 -0
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
- package/src/vaultFactory/vaultFactory.js +52 -33
- package/src/vaultFactory/vaultHolder.d.ts +126 -0
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
- package/src/vaultFactory/vaultHolder.js +11 -16
- package/src/vaultFactory/vaultKit.d.ts +32 -0
- package/src/vaultFactory/vaultKit.d.ts.map +1 -0
- package/src/vaultFactory/vaultKit.js +5 -4
- package/src/vaultFactory/vaultManager.d.ts +674 -0
- package/src/vaultFactory/vaultManager.d.ts.map +1 -0
- package/src/vaultFactory/vaultManager.js +257 -158
- package/CHANGELOG.md +0 -1041
- package/exported.js +0 -2
- package/scripts/add-collateral-core.js +0 -112
- package/scripts/deploy-contracts.js +0 -100
- package/scripts/init-core.js +0 -198
- package/scripts/invite-committee-core.js +0 -42
- package/scripts/manual-price-feed.js +0 -117
- package/scripts/price-feed-core.js +0 -104
- package/scripts/start-local-chain.sh +0 -84
- package/src/psm/types.js +0 -3
- package/src/typeGuards.js +0 -13
- package/src/vaultFactory/type-imports.js +0 -4
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
// @jessie-check
|
|
2
2
|
|
|
3
|
-
import '../../exported.js';
|
|
4
|
-
|
|
5
3
|
import { AmountMath } from '@agoric/ertp';
|
|
6
|
-
import '@agoric/governance/exported.js';
|
|
7
4
|
import { deeplyFulfilledObject, makeTracer } from '@agoric/internal';
|
|
8
5
|
import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
|
|
9
|
-
import '@agoric/vats/exported.js';
|
|
10
|
-
import '@agoric/vats/src/core/types.js';
|
|
11
|
-
import { Stable } from '@agoric/vats/src/tokens.js';
|
|
12
6
|
import { E } from '@endo/far';
|
|
13
7
|
import { makeScalarBigMapStore } from '@agoric/vat-data';
|
|
8
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
14
9
|
import { makeGovernedTerms as makeGovernedATerms } from '../auction/params.js';
|
|
15
10
|
import { makeReserveTerms } from '../reserve/params.js';
|
|
16
11
|
import { makeGovernedTerms as makeGovernedVFTerms } from '../vaultFactory/params.js';
|
|
17
12
|
|
|
13
|
+
/** @import {StartedInstanceKit} from '@agoric/zoe/src/zoeService/utils.js' */
|
|
14
|
+
|
|
18
15
|
const trace = makeTracer('RunEconBehaviors', true);
|
|
19
16
|
|
|
20
17
|
export const SECONDS_PER_MINUTE = 60n;
|
|
@@ -22,54 +19,73 @@ export const SECONDS_PER_HOUR = 60n * 60n;
|
|
|
22
19
|
export const SECONDS_PER_DAY = 24n * SECONDS_PER_HOUR;
|
|
23
20
|
export const SECONDS_PER_WEEK = 7n * SECONDS_PER_DAY;
|
|
24
21
|
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
* @typedef {import('../auction/auctioneer.js').AuctioneerPublicFacet} AuctioneerPublicFacet
|
|
28
|
-
* @typedef {import('../auction/auctioneer.js').AuctioneerCreatorFacet} AuctioneerCreatorFacet
|
|
29
|
-
*/
|
|
22
|
+
/** @import {start as VFStart} from '../vaultFactory/vaultFactory.js' */
|
|
23
|
+
/** @typedef {Awaited<ReturnType<VFStart>>['publicFacet']} VaultFactoryPublicFacet */
|
|
30
24
|
|
|
31
25
|
/**
|
|
32
26
|
* @typedef {object} PSMKit
|
|
33
27
|
* @property {string} label
|
|
34
28
|
* @property {Instance} psm
|
|
35
29
|
* @property {Instance} psmGovernor
|
|
36
|
-
* @property {Awaited<
|
|
37
|
-
*
|
|
30
|
+
* @property {Awaited<
|
|
31
|
+
* ReturnType<
|
|
32
|
+
* Awaited<
|
|
33
|
+
* ReturnType<import('../psm/psm.js')['start']>
|
|
34
|
+
* >['creatorFacet']['getLimitedCreatorFacet']
|
|
35
|
+
* >
|
|
36
|
+
* >} psmCreatorFacet
|
|
37
|
+
* @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['start']>} psmGovernorCreatorFacet
|
|
38
38
|
* @property {AdminFacet} psmAdminFacet
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
|
-
/**
|
|
42
|
-
* @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit
|
|
43
|
-
*/
|
|
41
|
+
/** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
|
|
44
42
|
|
|
45
43
|
/**
|
|
46
|
-
* @typedef {
|
|
47
|
-
*
|
|
44
|
+
* @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
|
|
45
|
+
*
|
|
46
|
+
*
|
|
48
47
|
* @typedef {PromiseSpaceOf<{
|
|
49
|
-
* economicCommitteeKit: CommitteeStartResult
|
|
50
|
-
* economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet
|
|
51
|
-
* feeDistributorKit: StartedInstanceKit<
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
48
|
+
* economicCommitteeKit: CommitteeStartResult;
|
|
49
|
+
* economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
|
|
50
|
+
* feeDistributorKit: StartedInstanceKit<
|
|
51
|
+
* typeof import('../feeDistributor.js').start
|
|
52
|
+
* >;
|
|
53
|
+
* periodicFeeCollectors: MapStore<
|
|
54
|
+
* number,
|
|
55
|
+
* import('../feeDistributor.js').PeriodicFeeCollector
|
|
56
|
+
* >;
|
|
57
|
+
* psmKit: MapStore<Brand, PSMKit>;
|
|
58
|
+
* anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
|
|
59
|
+
* econCharterKit: EconCharterStartResult;
|
|
60
|
+
* reserveKit: GovernanceFacetKit<
|
|
61
|
+
* import('../reserve/assetReserve.js')['start']
|
|
62
|
+
* >;
|
|
63
|
+
* vaultFactoryKit: GovernanceFacetKit<VFStart>;
|
|
64
|
+
* auctioneerKit: AuctioneerKit;
|
|
65
|
+
* newAuctioneerKit: AuctioneerKit | undefined;
|
|
66
|
+
* minInitialDebt: NatValue;
|
|
60
67
|
* }>} EconomyBootstrapSpace
|
|
61
68
|
*/
|
|
62
69
|
|
|
63
|
-
/**
|
|
64
|
-
|
|
70
|
+
/**
|
|
71
|
+
* @typedef {StartedInstanceKit<
|
|
72
|
+
* import('../econCommitteeCharter.js')['start']
|
|
73
|
+
* >} EconCharterStartResult
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* @typedef {StartedInstanceKit<
|
|
77
|
+
* import('@agoric/governance/src/committee.js')['start']
|
|
78
|
+
* >} CommitteeStartResult
|
|
79
|
+
*/
|
|
65
80
|
|
|
66
81
|
/**
|
|
67
82
|
* @file A collection of productions, each of which declares inputs and outputs.
|
|
68
|
-
*
|
|
83
|
+
* Each function is passed a set of powers for reading from and writing to the
|
|
84
|
+
* vat config.
|
|
69
85
|
*
|
|
70
|
-
*
|
|
86
|
+
* Each of the things they produce they're responsible for resolving or setting.
|
|
71
87
|
*
|
|
72
|
-
*
|
|
88
|
+
* In production called by @agoric/vats to bootstrap.
|
|
73
89
|
*/
|
|
74
90
|
|
|
75
91
|
/** @param {EconomyBootstrapPowers} powers */
|
|
@@ -214,14 +230,14 @@ export const setupVaultFactoryArguments = async (
|
|
|
214
230
|
initialShortfallInvitation,
|
|
215
231
|
shortfallInvitationAmount,
|
|
216
232
|
feeMintAccess,
|
|
217
|
-
|
|
233
|
+
auctioneerInstance,
|
|
218
234
|
] = await Promise.all([
|
|
219
235
|
poserInvitationP,
|
|
220
236
|
E(E(zoe).getInvitationIssuer()).getAmountOf(poserInvitationP),
|
|
221
237
|
shortfallInvitationP,
|
|
222
238
|
E(E(zoe).getInvitationIssuer()).getAmountOf(shortfallInvitationP),
|
|
223
239
|
feeMintAccessP,
|
|
224
|
-
E.get(auctioneerKit).
|
|
240
|
+
E.get(auctioneerKit).instance,
|
|
225
241
|
]);
|
|
226
242
|
|
|
227
243
|
const reservePublicFacet = await E.get(reserveKit).publicFacet;
|
|
@@ -230,7 +246,6 @@ export const setupVaultFactoryArguments = async (
|
|
|
230
246
|
|
|
231
247
|
const vaultFactoryTerms = makeGovernedVFTerms({
|
|
232
248
|
priceAuthority,
|
|
233
|
-
auctioneerPublicFacet,
|
|
234
249
|
reservePublicFacet,
|
|
235
250
|
interestTiming,
|
|
236
251
|
timer: chainTimerService,
|
|
@@ -242,6 +257,7 @@ export const setupVaultFactoryArguments = async (
|
|
|
242
257
|
});
|
|
243
258
|
|
|
244
259
|
const vaultFactoryPrivateArgs = {
|
|
260
|
+
auctioneerInstance,
|
|
245
261
|
feeMintAccess,
|
|
246
262
|
initialPoserInvitation,
|
|
247
263
|
initialShortfallInvitation,
|
|
@@ -301,7 +317,11 @@ export const startVaultFactory = async (
|
|
|
301
317
|
}),
|
|
302
318
|
);
|
|
303
319
|
|
|
304
|
-
/**
|
|
320
|
+
/**
|
|
321
|
+
* @type {GovernorStartedInstallationKit<
|
|
322
|
+
* typeof vaultFactoryInstallation
|
|
323
|
+
* >}
|
|
324
|
+
*/
|
|
305
325
|
const g = await E(consume.zoe).startInstance(
|
|
306
326
|
contractGovernorInstallation,
|
|
307
327
|
undefined,
|
|
@@ -350,8 +370,8 @@ export const startVaultFactory = async (
|
|
|
350
370
|
};
|
|
351
371
|
|
|
352
372
|
/**
|
|
353
|
-
* Grant access to the VaultFactory creatorFacet
|
|
354
|
-
*
|
|
373
|
+
* Grant access to the VaultFactory creatorFacet to up to one user based on
|
|
374
|
+
* address.
|
|
355
375
|
*
|
|
356
376
|
* @param {EconomyBootstrapPowers} powers
|
|
357
377
|
* @param {object} [root0]
|
|
@@ -436,19 +456,18 @@ export const startRewardDistributor = async ({
|
|
|
436
456
|
});
|
|
437
457
|
|
|
438
458
|
/**
|
|
439
|
-
* @type {
|
|
440
|
-
*
|
|
441
|
-
*
|
|
442
|
-
* }
|
|
459
|
+
* @type {StartedInstanceKit<
|
|
460
|
+
* typeof import('@agoric/inter-protocol/src/feeDistributor.js').start
|
|
461
|
+
* >}
|
|
443
462
|
*/
|
|
444
463
|
const instanceKit = await E(zoe).startInstance(
|
|
445
464
|
feeDistributor,
|
|
446
465
|
{ Fee: centralIssuer },
|
|
466
|
+
// @ts-expect-error XXX
|
|
447
467
|
feeDistributorTerms,
|
|
448
468
|
undefined,
|
|
449
469
|
'feeDistributor',
|
|
450
470
|
);
|
|
451
|
-
/** @type {ERef<import('../feeDistributor.js').FeeDestination>} */
|
|
452
471
|
await E(instanceKit.creatorFacet).setDestinations({
|
|
453
472
|
...(rewardDistributorDepositFacet && {
|
|
454
473
|
RewardDistributor: E(
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export { oracleBrandFeedName as instanceNameFor };
|
|
2
|
+
export function ensureOracleBrands({ namedVat: { consume: { agoricNames }, }, oracleBrand: { produce: oracleBrandProduce }, }: ChainBootstrapSpace & NamedVatPowers, { options: { priceFeedOptions: { brandIn: rawBrandIn, brandOut: rawBrandOut, IN_BRAND_NAME, IN_BRAND_DECIMALS, OUT_BRAND_NAME, OUT_BRAND_DECIMALS, }, }, }: {
|
|
3
|
+
options: {
|
|
4
|
+
priceFeedOptions: PriceFeedOptions;
|
|
5
|
+
};
|
|
6
|
+
}): Promise<[Brand<"nat">, Brand<"nat">]>;
|
|
7
|
+
export function createPriceFeed({ consume: { agoricNamesAdmin, board, chainStorage, chainTimerService, client, econCharterKit, highPrioritySendersManager, namesByAddressAdmin, priceAuthority, priceAuthorityAdmin, startGovernedUpgradable, zoe, }, instance: { produce: produceInstance }, }: ChainBootstrapSpace, { options: { priceFeedOptions: { AGORIC_INSTANCE_NAME, oracleAddresses, contractTerms, IN_BRAND_NAME, OUT_BRAND_NAME, priceAggregatorRef, }, }, }: {
|
|
8
|
+
options: {
|
|
9
|
+
priceFeedOptions: {
|
|
10
|
+
AGORIC_INSTANCE_NAME: string;
|
|
11
|
+
oracleAddresses: string[];
|
|
12
|
+
contractTerms: import("@agoric/inter-protocol/src/price/fluxAggregatorKit.js").ChainlinkConfig;
|
|
13
|
+
IN_BRAND_NAME: string;
|
|
14
|
+
OUT_BRAND_NAME: string;
|
|
15
|
+
priceAggregatorRef: Installation;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
export function getManifestForPriceFeed({ restoreRef }: {
|
|
20
|
+
restoreRef?: ((ref: unknown) => Promise<unknown>) | undefined;
|
|
21
|
+
}, priceFeedOptions: PriceFeedOptions): Promise<{
|
|
22
|
+
manifest: {
|
|
23
|
+
[x: string]: {
|
|
24
|
+
consume: {
|
|
25
|
+
agoricNamesAdmin: string;
|
|
26
|
+
board: string;
|
|
27
|
+
chainStorage: string;
|
|
28
|
+
chainTimerService: string;
|
|
29
|
+
client: string;
|
|
30
|
+
econCharterKit: string;
|
|
31
|
+
highPrioritySendersManager: string;
|
|
32
|
+
namesByAddressAdmin: string;
|
|
33
|
+
priceAuthority: string;
|
|
34
|
+
priceAuthorityAdmin: string;
|
|
35
|
+
startGovernedUpgradable: string;
|
|
36
|
+
zoe: string;
|
|
37
|
+
};
|
|
38
|
+
instance: {
|
|
39
|
+
produce: string;
|
|
40
|
+
};
|
|
41
|
+
namedVat?: undefined;
|
|
42
|
+
oracleBrand?: undefined;
|
|
43
|
+
} | {
|
|
44
|
+
namedVat: {
|
|
45
|
+
consume: {
|
|
46
|
+
agoricNames: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
oracleBrand: {
|
|
50
|
+
produce: string;
|
|
51
|
+
};
|
|
52
|
+
consume?: undefined;
|
|
53
|
+
instance?: undefined;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
installations: {
|
|
57
|
+
priceAggregator: Promise<unknown>;
|
|
58
|
+
};
|
|
59
|
+
options: {
|
|
60
|
+
priceFeedOptions: {
|
|
61
|
+
brandIn: any;
|
|
62
|
+
brandOut: any;
|
|
63
|
+
IN_BRAND_NAME: string;
|
|
64
|
+
IN_BRAND_DECIMALS: string;
|
|
65
|
+
OUT_BRAND_NAME: string;
|
|
66
|
+
OUT_BRAND_DECIMALS: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
}>;
|
|
70
|
+
export function startPriceFeeds({ consume, produce, installation: { consume: { priceAggregator }, }, }: import("./econ-behaviors.js").EconomyBootstrapPowers, { options: { demoOracleAddresses } }?: {
|
|
71
|
+
options?: {
|
|
72
|
+
demoOracleAddresses?: string[] | undefined;
|
|
73
|
+
} | undefined;
|
|
74
|
+
} | undefined): Promise<void>;
|
|
75
|
+
export type PriceFeedOptions = {
|
|
76
|
+
brandIn?: ERef<Brand<"nat"> | undefined>;
|
|
77
|
+
brandOut?: ERef<Brand<"nat"> | undefined>;
|
|
78
|
+
IN_BRAND_NAME: string;
|
|
79
|
+
IN_BRAND_DECIMALS: string;
|
|
80
|
+
OUT_BRAND_NAME: string;
|
|
81
|
+
OUT_BRAND_DECIMALS: string;
|
|
82
|
+
};
|
|
83
|
+
import { oracleBrandFeedName } from './utils.js';
|
|
84
|
+
//# sourceMappingURL=price-feed-proposal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-feed-proposal.d.ts","sourceRoot":"","sources":["price-feed-proposal.js"],"names":[],"mappings":";AA6CO,+HAJI,mBAAmB,GAAG,cAAc,8JACpC;IAAE,OAAO,EAAE;QAAE,gBAAgB,EAAE,gBAAgB,CAAA;KAAE,CAAA;CAAE,GACjD,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAsCjD;AAiBM,iSAdI,mBAAmB,qJACnB;IACN,OAAO,EAAE;QACP,gBAAgB,EAAE;YAChB,oBAAoB,EAAE,MAAM,CAAC;YAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;YAC1B,aAAa,EAAE,OAAO,uDAAuD,EAAE,eAAe,CAAC;YAC/F,aAAa,EAAE,MAAM,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC;YACvB,kBAAkB,EAAE,YAAY,CAAC;SAClC,CAAC;KACH,CAAC;CACH,iBAiKH;AAWM,wDAHJ;IAAmD,UAAU,UAA/C,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;CAC1C,oBAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA3OP,MAAM;+BACF,MAAM;4BACT,MAAM;gCACF,MAAM;;;GAyR7B;AAQK,wGALI,OAAO,qBAAqB,EAAE,sBAAsB;;;;8BA8D9D;+BAhWY;IACR,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;oCAtBG,YAAY"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
// @ts-nocheck -- lots of type errors. low prio b/c proposals are like scripts
|
|
2
|
-
import {
|
|
2
|
+
import { makeTracer } from '@agoric/internal';
|
|
3
3
|
import {
|
|
4
|
-
makeStorageNodeChild,
|
|
5
4
|
assertPathSegment,
|
|
5
|
+
makeStorageNodeChild,
|
|
6
6
|
} from '@agoric/internal/src/lib-chainStorage.js';
|
|
7
|
-
import {
|
|
7
|
+
import { E } from '@endo/far';
|
|
8
8
|
|
|
9
9
|
import { unitAmount } from '@agoric/zoe/src/contractSupport/priceQuote.js';
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
oracleBrandFeedName,
|
|
12
|
+
reserveThenDeposit,
|
|
13
|
+
reserveThenGetNames,
|
|
14
|
+
} from './utils.js';
|
|
15
|
+
|
|
16
|
+
// backwards compatibility
|
|
17
|
+
export { oracleBrandFeedName as instanceNameFor };
|
|
11
18
|
|
|
12
19
|
const trace = makeTracer('RunPriceFeed', true);
|
|
13
20
|
|
|
@@ -20,12 +27,12 @@ const sanitizePathSegment = name => {
|
|
|
20
27
|
|
|
21
28
|
/**
|
|
22
29
|
* @typedef {{
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
30
|
+
* brandIn?: ERef<Brand<'nat'> | undefined>;
|
|
31
|
+
* brandOut?: ERef<Brand<'nat'> | undefined>;
|
|
32
|
+
* IN_BRAND_NAME: string;
|
|
33
|
+
* IN_BRAND_DECIMALS: string;
|
|
34
|
+
* OUT_BRAND_NAME: string;
|
|
35
|
+
* OUT_BRAND_DECIMALS: string;
|
|
29
36
|
* }} PriceFeedOptions
|
|
30
37
|
*/
|
|
31
38
|
|
|
@@ -33,7 +40,7 @@ const sanitizePathSegment = name => {
|
|
|
33
40
|
* Create inert brands (no mint or issuer) referred to by price oracles.
|
|
34
41
|
*
|
|
35
42
|
* @param {ChainBootstrapSpace & NamedVatPowers} space
|
|
36
|
-
* @param {{options: {priceFeedOptions: PriceFeedOptions}}} opt
|
|
43
|
+
* @param {{ options: { priceFeedOptions: PriceFeedOptions } }} opt
|
|
37
44
|
* @returns {Promise<[Brand<'nat'>, Brand<'nat'>]>}
|
|
38
45
|
*/
|
|
39
46
|
export const ensureOracleBrands = async (
|
|
@@ -56,13 +63,10 @@ export const ensureOracleBrands = async (
|
|
|
56
63
|
},
|
|
57
64
|
},
|
|
58
65
|
) => {
|
|
59
|
-
trace('ensureOracleBrands');
|
|
60
|
-
|
|
61
66
|
const updateFreshBrand = async (brand, name, decimals) => {
|
|
62
67
|
let b = await brand;
|
|
63
68
|
if (!b) {
|
|
64
69
|
// not 1st await
|
|
65
|
-
// eslint-disable-next-line @jessie.js/no-nested-await
|
|
66
70
|
b = await E(agoricNames).provideInertBrand(
|
|
67
71
|
name,
|
|
68
72
|
harden({ decimalPlaces: parseInt(decimals, 10) }),
|
|
@@ -79,7 +83,18 @@ export const ensureOracleBrands = async (
|
|
|
79
83
|
|
|
80
84
|
/**
|
|
81
85
|
* @param {ChainBootstrapSpace} powers
|
|
82
|
-
* @param {{
|
|
86
|
+
* @param {{
|
|
87
|
+
* options: {
|
|
88
|
+
* priceFeedOptions: {
|
|
89
|
+
* AGORIC_INSTANCE_NAME: string;
|
|
90
|
+
* oracleAddresses: string[];
|
|
91
|
+
* contractTerms: import('@agoric/inter-protocol/src/price/fluxAggregatorKit.js').ChainlinkConfig;
|
|
92
|
+
* IN_BRAND_NAME: string;
|
|
93
|
+
* OUT_BRAND_NAME: string;
|
|
94
|
+
* priceAggregatorRef: Installation;
|
|
95
|
+
* };
|
|
96
|
+
* };
|
|
97
|
+
* }} config
|
|
83
98
|
*/
|
|
84
99
|
export const createPriceFeed = async (
|
|
85
100
|
{
|
|
@@ -95,7 +110,9 @@ export const createPriceFeed = async (
|
|
|
95
110
|
priceAuthority,
|
|
96
111
|
priceAuthorityAdmin,
|
|
97
112
|
startGovernedUpgradable,
|
|
113
|
+
zoe,
|
|
98
114
|
},
|
|
115
|
+
instance: { produce: produceInstance },
|
|
99
116
|
},
|
|
100
117
|
{
|
|
101
118
|
options: {
|
|
@@ -105,30 +122,62 @@ export const createPriceFeed = async (
|
|
|
105
122
|
contractTerms,
|
|
106
123
|
IN_BRAND_NAME,
|
|
107
124
|
OUT_BRAND_NAME,
|
|
125
|
+
priceAggregatorRef,
|
|
108
126
|
},
|
|
109
127
|
},
|
|
110
128
|
},
|
|
111
129
|
) => {
|
|
112
|
-
trace('createPriceFeed');
|
|
130
|
+
trace('createPriceFeed', AGORIC_INSTANCE_NAME);
|
|
113
131
|
const STORAGE_PATH = 'priceFeed';
|
|
114
132
|
|
|
115
133
|
void E(client).assignBundle([_addr => ({ priceAuthority })]);
|
|
116
134
|
|
|
117
|
-
|
|
135
|
+
let installationP;
|
|
136
|
+
await null;
|
|
137
|
+
if (priceAggregatorRef) {
|
|
138
|
+
const bundleID = await E.get(priceAggregatorRef).bundleID;
|
|
139
|
+
if (bundleID) {
|
|
140
|
+
installationP = E(zoe).installBundleID(bundleID);
|
|
141
|
+
await E.when(
|
|
142
|
+
installationP,
|
|
143
|
+
installation =>
|
|
144
|
+
E(E(agoricNamesAdmin).lookupAdmin('installation')).update(
|
|
145
|
+
'priceAggregator',
|
|
146
|
+
installation,
|
|
147
|
+
),
|
|
148
|
+
err =>
|
|
149
|
+
console.error(
|
|
150
|
+
`🚨 failed to update priceAggregator installation for ${AGORIC_INSTANCE_NAME}`,
|
|
151
|
+
err,
|
|
152
|
+
),
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (!installationP) {
|
|
157
|
+
installationP = E.get(
|
|
158
|
+
reserveThenGetNames(E(agoricNamesAdmin).lookupAdmin('installation'), [
|
|
159
|
+
'priceAggregator',
|
|
160
|
+
]),
|
|
161
|
+
)[0];
|
|
162
|
+
console.error(
|
|
163
|
+
'🚨 failed to install new fluxAggregator bundle, reusing previous one.',
|
|
164
|
+
);
|
|
165
|
+
}
|
|
118
166
|
|
|
119
167
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
168
|
+
* @type {[
|
|
169
|
+
* [Brand<'nat'>, Brand<'nat'>],
|
|
170
|
+
* Installation<import('@agoric/inter-protocol/src/price/fluxAggregatorContract.js')['start]>,
|
|
171
|
+
* Timer,
|
|
172
|
+
* ]}
|
|
123
173
|
*/
|
|
124
|
-
const [[brandIn, brandOut],
|
|
174
|
+
const [[brandIn, brandOut], installation, timer] = await Promise.all([
|
|
125
175
|
reserveThenGetNames(E(agoricNamesAdmin).lookupAdmin('oracleBrand'), [
|
|
126
176
|
IN_BRAND_NAME,
|
|
127
177
|
OUT_BRAND_NAME,
|
|
128
178
|
]),
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
]),
|
|
179
|
+
installationP,
|
|
180
|
+
chainTimerService,
|
|
132
181
|
]);
|
|
133
182
|
|
|
134
183
|
const unitAmountIn = await unitAmount(brandIn);
|
|
@@ -140,14 +189,11 @@ export const createPriceFeed = async (
|
|
|
140
189
|
timer,
|
|
141
190
|
unitAmountIn,
|
|
142
191
|
});
|
|
143
|
-
trace('got terms');
|
|
144
|
-
|
|
145
192
|
const label = sanitizePathSegment(AGORIC_INSTANCE_NAME);
|
|
146
193
|
|
|
147
194
|
const storageNode = await makeStorageNodeChild(chainStorage, STORAGE_PATH);
|
|
148
195
|
const marshaller = await E(board).getReadonlyMarshaller();
|
|
149
196
|
|
|
150
|
-
trace('awaiting startInstance');
|
|
151
197
|
const faKit = await E(startGovernedUpgradable)({
|
|
152
198
|
governedParams: {},
|
|
153
199
|
privateArgs: {
|
|
@@ -158,30 +204,38 @@ export const createPriceFeed = async (
|
|
|
158
204
|
},
|
|
159
205
|
terms,
|
|
160
206
|
label,
|
|
161
|
-
installation
|
|
207
|
+
installation,
|
|
162
208
|
});
|
|
163
209
|
|
|
164
|
-
|
|
210
|
+
// Publish price feed in home.priceAuthority.
|
|
211
|
+
const forceReplace = true;
|
|
212
|
+
// Make sure this PA is registered before sharing the instance in agoricNames,
|
|
213
|
+
// which allows contracts that depend on the registry value to wait for it and
|
|
214
|
+
// prevent a race.
|
|
215
|
+
await E(priceAuthorityAdmin).registerPriceAuthority(
|
|
216
|
+
E(faKit.publicFacet).getPriceAuthority(),
|
|
217
|
+
brandIn,
|
|
218
|
+
brandOut,
|
|
219
|
+
forceReplace,
|
|
220
|
+
);
|
|
221
|
+
|
|
222
|
+
await E(E(agoricNamesAdmin).lookupAdmin('instance'))
|
|
165
223
|
.update(AGORIC_INSTANCE_NAME, faKit.instance)
|
|
166
224
|
.catch(err =>
|
|
167
225
|
console.error(`🚨 failed to update ${AGORIC_INSTANCE_NAME}`, err),
|
|
168
226
|
);
|
|
169
227
|
|
|
228
|
+
// being after the above awaits means that when this resolves, the consumer
|
|
229
|
+
// gets notified that the authority is in the registry and its instance is in
|
|
230
|
+
// agoricNames. reset() in case we're replacing an existing feed.
|
|
231
|
+
produceInstance[AGORIC_INSTANCE_NAME].reset();
|
|
232
|
+
produceInstance[AGORIC_INSTANCE_NAME].resolve(faKit.instance);
|
|
233
|
+
|
|
170
234
|
E(E.get(econCharterKit).creatorFacet).addInstance(
|
|
171
235
|
faKit.instance,
|
|
172
236
|
faKit.governorCreatorFacet,
|
|
173
237
|
AGORIC_INSTANCE_NAME,
|
|
174
238
|
);
|
|
175
|
-
trace('registered', AGORIC_INSTANCE_NAME, faKit.instance);
|
|
176
|
-
|
|
177
|
-
// Publish price feed in home.priceAuthority.
|
|
178
|
-
const forceReplace = true;
|
|
179
|
-
void E(priceAuthorityAdmin).registerPriceAuthority(
|
|
180
|
-
E(faKit.publicFacet).getPriceAuthority(),
|
|
181
|
-
brandIn,
|
|
182
|
-
brandOut,
|
|
183
|
-
forceReplace,
|
|
184
|
-
);
|
|
185
239
|
|
|
186
240
|
/**
|
|
187
241
|
* Initialize a new oracle and send an invitation to administer it.
|
|
@@ -190,22 +244,23 @@ export const createPriceFeed = async (
|
|
|
190
244
|
*/
|
|
191
245
|
const addOracle = async addr => {
|
|
192
246
|
const invitation = await E(faKit.creatorFacet).makeOracleInvitation(addr);
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
[invitation],
|
|
198
|
-
);
|
|
247
|
+
const debugName = `${AGORIC_INSTANCE_NAME} member ${addr}`;
|
|
248
|
+
await reserveThenDeposit(debugName, namesByAddressAdmin, addr, [
|
|
249
|
+
invitation,
|
|
250
|
+
]).catch(err => console.error(`failed deposit to ${debugName}`, err));
|
|
199
251
|
};
|
|
200
252
|
|
|
201
253
|
trace('distributing invitations', oracleAddresses);
|
|
202
|
-
|
|
254
|
+
// This doesn't resolve until oracle operators create their smart wallets.
|
|
255
|
+
// Don't block bootstrap on it.
|
|
256
|
+
void Promise.all(oracleAddresses.map(addOracle));
|
|
203
257
|
trace('createPriceFeed complete');
|
|
204
258
|
};
|
|
205
259
|
|
|
206
260
|
const t = 'priceFeed';
|
|
207
261
|
/**
|
|
208
|
-
* Add a price feed to a running chain, returning the manifest, installations,
|
|
262
|
+
* Add a price feed to a running chain, returning the manifest, installations,
|
|
263
|
+
* and options.
|
|
209
264
|
*
|
|
210
265
|
* @param {object} utils
|
|
211
266
|
* @param {(ref: unknown) => Promise<unknown>} [utils.restoreRef]
|
|
@@ -223,14 +278,16 @@ export const getManifestForPriceFeed = async (
|
|
|
223
278
|
chainStorage: t,
|
|
224
279
|
chainTimerService: t,
|
|
225
280
|
client: t,
|
|
226
|
-
contractGovernor: t,
|
|
227
281
|
econCharterKit: t,
|
|
228
|
-
economicCommitteeCreatorFacet: t,
|
|
229
282
|
highPrioritySendersManager: t,
|
|
230
283
|
namesByAddressAdmin: t,
|
|
231
284
|
priceAuthority: t,
|
|
232
285
|
priceAuthorityAdmin: t,
|
|
233
286
|
startGovernedUpgradable: t,
|
|
287
|
+
zoe: t,
|
|
288
|
+
},
|
|
289
|
+
instance: {
|
|
290
|
+
produce: t,
|
|
234
291
|
},
|
|
235
292
|
},
|
|
236
293
|
[ensureOracleBrands.name]: {
|
|
@@ -243,6 +300,7 @@ export const getManifestForPriceFeed = async (
|
|
|
243
300
|
},
|
|
244
301
|
},
|
|
245
302
|
installations: {
|
|
303
|
+
// ??? will every eval of price-feed-proposal install priceAggregator ?
|
|
246
304
|
priceAggregator: restoreRef(priceFeedOptions.priceAggregatorRef),
|
|
247
305
|
},
|
|
248
306
|
options: {
|
|
@@ -258,7 +316,7 @@ export const getManifestForPriceFeed = async (
|
|
|
258
316
|
});
|
|
259
317
|
|
|
260
318
|
/**
|
|
261
|
-
* @param {import('./econ-behaviors').EconomyBootstrapPowers} powers
|
|
319
|
+
* @param {import('./econ-behaviors.js').EconomyBootstrapPowers} powers
|
|
262
320
|
* @param {object} [config]
|
|
263
321
|
* @param {object} [config.options]
|
|
264
322
|
* @param {string[]} [config.options.demoOracleAddresses]
|
|
@@ -303,7 +361,7 @@ export const startPriceFeeds = async (
|
|
|
303
361
|
{
|
|
304
362
|
options: {
|
|
305
363
|
priceFeedOptions: {
|
|
306
|
-
AGORIC_INSTANCE_NAME:
|
|
364
|
+
AGORIC_INSTANCE_NAME: oracleBrandFeedName(inBrandName, outBrandName),
|
|
307
365
|
contractTerms: {
|
|
308
366
|
minSubmissionCount: 2,
|
|
309
367
|
minSubmissionValue: 1,
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export function replaceFeeDistributor({ consume: { chainTimerService, bankManager, vaultFactoryKit, periodicFeeCollectors, reserveKit, zoe, contractKits: contractKitsP, }, produce: { feeDistributorKit, periodicFeeCollectors: periodicFeeCollectorsP, }, instance: { produce: { feeDistributor: feeDistributorP }, }, installation: { consume: { feeDistributor }, }, issuer: { consume: { [Stable.symbol]: centralIssuerP }, }, brand: { consume: { [Stable.symbol]: centralBrandP }, }, }: import("./econ-behaviors").EconomyBootstrapPowers, { options }: {
|
|
2
|
+
options: {
|
|
3
|
+
keywordShares: Record<string, bigint>;
|
|
4
|
+
collectionInterval: bigint;
|
|
5
|
+
};
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
export function getManifestForReplaceFeeDistributor(_: any, feeDistributorOptions: any): Promise<{
|
|
8
|
+
manifest: {
|
|
9
|
+
[x: string]: {
|
|
10
|
+
consume: {
|
|
11
|
+
chainTimerService: string;
|
|
12
|
+
bankManager: string;
|
|
13
|
+
vaultFactoryKit: string;
|
|
14
|
+
periodicFeeCollectors: string;
|
|
15
|
+
reserveKit: string;
|
|
16
|
+
zoe: string;
|
|
17
|
+
contractKits: string;
|
|
18
|
+
};
|
|
19
|
+
produce: {
|
|
20
|
+
feeDistributorKit: string;
|
|
21
|
+
periodicFeeCollectors: string;
|
|
22
|
+
};
|
|
23
|
+
instance: {
|
|
24
|
+
produce: {
|
|
25
|
+
feeDistributor: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
installation: {
|
|
29
|
+
consume: {
|
|
30
|
+
feeDistributor: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
issuer: {
|
|
34
|
+
consume: {
|
|
35
|
+
IST: string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
brand: {
|
|
39
|
+
consume: {
|
|
40
|
+
IST: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
options: any;
|
|
46
|
+
}>;
|
|
47
|
+
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
48
|
+
//# sourceMappingURL=replace-fee-distributor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replace-fee-distributor.d.ts","sourceRoot":"","sources":["replace-fee-distributor.js"],"names":[],"mappings":"AAkBO,geARI,OAAO,kBAAkB,EAAE,sBAAsB,eACjD;IACN,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH,iBA4IH;AAIM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCL;uBAjMqB,gCAAgC"}
|