@agoric/inter-protocol 0.16.2-dev-857e650.0 → 0.16.2-dev-fb922d3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/bundle-auctioneer-js-meta.json +181 -181
- package/bundles/bundle-auctioneer.js +1 -1
- package/bundles/bundle-econCommitteeCharter-js-meta.json +129 -129
- package/bundles/bundle-econCommitteeCharter.js +1 -1
- package/bundles/bundle-feeDistributor-js-meta.json +115 -115
- package/bundles/bundle-feeDistributor.js +1 -1
- package/bundles/bundle-fluxAggregatorKit-js-meta.json +169 -169
- package/bundles/bundle-fluxAggregatorKit.js +1 -1
- package/bundles/bundle-psm-js-meta.json +167 -167
- package/bundles/bundle-psm.js +1 -1
- package/bundles/bundle-reserve-js-meta.json +169 -169
- package/bundles/bundle-reserve.js +1 -1
- package/bundles/bundle-scaledPriceAuthority-js-meta.json +142 -142
- package/bundles/bundle-scaledPriceAuthority.js +1 -1
- package/bundles/bundle-vaultFactory-js-meta.json +200 -200
- package/bundles/bundle-vaultFactory.js +1 -1
- package/package.json +17 -17
- package/scripts/deploy-contracts.js +12 -2
- package/scripts/init-core.js +5 -6
- package/scripts/manual-price-feed.js +20 -15
- package/src/auction/auctionBook.d.ts +16 -13
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionBook.js +68 -56
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +54 -42
- package/src/auction/offerBook.d.ts.map +1 -1
- package/src/auction/offerBook.js +12 -11
- package/src/auction/params.d.ts +1 -1
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/params.js +3 -5
- package/src/auction/scheduleMath.d.ts.map +1 -1
- package/src/auction/scheduleMath.js +13 -13
- package/src/auction/scheduler.d.ts +4 -4
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +20 -20
- package/src/auction/sortedOffers.d.ts.map +1 -1
- package/src/auction/sortedOffers.js +8 -7
- package/src/auction/util.d.ts +1 -1
- package/src/auction/util.js +4 -4
- package/src/clientSupport.d.ts +65 -27
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +92 -34
- package/src/contractSupport.js +5 -5
- package/src/econCommitteeCharter.d.ts +4 -6
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/econCommitteeCharter.js +7 -11
- package/src/feeDistributor.d.ts +8 -24
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/feeDistributor.js +26 -28
- package/src/interest.d.ts +1 -0
- package/src/interest.d.ts.map +1 -1
- package/src/interest.js +22 -15
- package/src/price/fluxAggregatorContract.d.ts +1 -0
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.js +24 -19
- package/src/price/fluxAggregatorKit.d.ts +23 -18
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +47 -32
- package/src/price/priceOracleKit.d.ts +2 -8
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +11 -13
- package/src/price/roundsManager.d.ts +28 -46
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +51 -63
- package/src/proposals/committee-proposal.d.ts.map +1 -1
- package/src/proposals/committee-proposal.js +5 -9
- package/src/proposals/core-proposal.d.ts.map +1 -1
- package/src/proposals/core-proposal.js +3 -5
- package/src/proposals/econ-behaviors.d.ts.map +1 -1
- package/src/proposals/econ-behaviors.js +55 -28
- package/src/proposals/price-feed-proposal.d.ts.map +1 -1
- package/src/proposals/price-feed-proposal.js +30 -11
- package/src/proposals/startPSM.d.ts.map +1 -1
- package/src/proposals/startPSM.js +24 -17
- package/src/proposals/utils.d.ts +1 -1
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +26 -7
- package/src/psm/psm.d.ts +14 -22
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +34 -31
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +16 -13
- package/src/reserve/assetReserveKit.d.ts +14 -26
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +13 -21
- package/src/tokens.d.ts +3 -3
- package/src/tokens.d.ts.map +1 -1
- package/src/tokens.js +5 -5
- package/src/typeGuards.d.ts +1 -3
- package/src/typeGuards.d.ts.map +1 -1
- package/src/typeGuards.js +1 -3
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +29 -16
- package/src/vaultFactory/math.d.ts.map +1 -1
- package/src/vaultFactory/math.js +8 -9
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
- package/src/vaultFactory/orderedVaultStore.js +6 -9
- package/src/vaultFactory/params.d.ts +1 -4
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +24 -18
- package/src/vaultFactory/prioritizedVaults.js +2 -2
- package/src/vaultFactory/proceeds.d.ts +3 -3
- package/src/vaultFactory/proceeds.d.ts.map +1 -1
- package/src/vaultFactory/proceeds.js +24 -18
- package/src/vaultFactory/storeUtils.d.ts +2 -6
- package/src/vaultFactory/storeUtils.d.ts.map +1 -1
- package/src/vaultFactory/storeUtils.js +8 -12
- package/src/vaultFactory/types.d.ts +16 -11
- package/src/vaultFactory/types.d.ts.map +1 -1
- package/src/vaultFactory/types.js +37 -27
- package/src/vaultFactory/vault.d.ts +103 -159
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +84 -85
- package/src/vaultFactory/vaultDirector.d.ts +21 -43
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +30 -40
- package/src/vaultFactory/vaultFactory.d.ts +8 -6
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +13 -11
- package/src/vaultFactory/vaultHolder.d.ts +12 -16
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +7 -12
- package/src/vaultFactory/vaultKit.d.ts +1 -1
- package/src/vaultFactory/vaultKit.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.js +3 -2
- package/src/vaultFactory/vaultManager.d.ts +454 -68
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +120 -110
|
@@ -17,6 +17,7 @@ const { add, subtract, multiply, floorDivide, ceilDivide, isGTE } = natSafeMath;
|
|
|
17
17
|
/** @typedef {import('./priceOracleKit.js').OracleStatus} OracleStatus */
|
|
18
18
|
/**
|
|
19
19
|
* @typedef {import('@agoric/time/src/types').Timestamp} Timestamp
|
|
20
|
+
*
|
|
20
21
|
* @typedef {import('@agoric/time/src/types').TimerService} TimerService
|
|
21
22
|
*/
|
|
22
23
|
|
|
@@ -28,34 +29,30 @@ export const ROUND_MAX = BigInt(2 ** 32 - 1);
|
|
|
28
29
|
|
|
29
30
|
const trace = makeTracer('RoundsM', false);
|
|
30
31
|
|
|
31
|
-
/**
|
|
32
|
-
* @param {bigint} roundId
|
|
33
|
-
*/
|
|
32
|
+
/** @param {bigint} roundId */
|
|
34
33
|
const validRoundId = roundId => {
|
|
35
34
|
return roundId <= ROUND_MAX;
|
|
36
35
|
};
|
|
37
36
|
|
|
38
37
|
/**
|
|
39
|
-
* @typedef {{ roundId: number | undefined
|
|
38
|
+
* @typedef {{ roundId: number | undefined; unitPrice: NatValue }} PriceRound
|
|
40
39
|
*
|
|
41
|
-
* @typedef {Pick<RoundData, 'roundId' | 'startedAt'> &
|
|
40
|
+
* @typedef {Pick<RoundData, 'roundId' | 'startedAt'> & { startedBy: string }} LatestRound
|
|
42
41
|
*/
|
|
43
42
|
|
|
44
|
-
/**
|
|
45
|
-
* @typedef {Round & {roundId: bigint}} RoundData
|
|
46
|
-
*/
|
|
43
|
+
/** @typedef {Round & { roundId: bigint }} RoundData */
|
|
47
44
|
|
|
48
45
|
/**
|
|
49
46
|
* @typedef {object} Round
|
|
50
47
|
* @property {bigint} answer the answer for the given round
|
|
51
|
-
* @property {Timestamp} startedAt the timestamp when the round was started.
|
|
52
|
-
* if the round hasn't been started yet.
|
|
53
|
-
* @property {Timestamp} updatedAt the timestamp when the round last was updated
|
|
54
|
-
* answer was last computed)
|
|
55
|
-
* @property {bigint} answeredInRound the round ID of the round in which the
|
|
56
|
-
* was computed. answeredInRound may be smaller than roundId when the
|
|
57
|
-
* timed out. answeredInRound is equal to roundId when the round didn't
|
|
58
|
-
* and was completed regularly.
|
|
48
|
+
* @property {Timestamp} startedAt the timestamp when the round was started.
|
|
49
|
+
* This is 0 if the round hasn't been started yet.
|
|
50
|
+
* @property {Timestamp} updatedAt the timestamp when the round last was updated
|
|
51
|
+
* (i.e. answer was last computed)
|
|
52
|
+
* @property {bigint} answeredInRound the round ID of the round in which the
|
|
53
|
+
* answer was computed. answeredInRound may be smaller than roundId when the
|
|
54
|
+
* round timed out. answeredInRound is equal to roundId when the round didn't
|
|
55
|
+
* time out and was completed regularly.
|
|
59
56
|
*/
|
|
60
57
|
|
|
61
58
|
/**
|
|
@@ -66,29 +63,31 @@ const validRoundId = roundId => {
|
|
|
66
63
|
* @property {number} roundTimeout
|
|
67
64
|
*/
|
|
68
65
|
|
|
69
|
-
/**
|
|
70
|
-
* @typedef {IssuerKit<'set'>} QuoteKit
|
|
71
|
-
*/
|
|
66
|
+
/** @typedef {IssuerKit<'set'>} QuoteKit */
|
|
72
67
|
|
|
73
68
|
/**
|
|
74
|
-
* @typedef {Readonly<
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
69
|
+
* @typedef {Readonly<
|
|
70
|
+
* import('./fluxAggregatorKit.js').ChainlinkConfig & {
|
|
71
|
+
* quoteKit: QuoteKit;
|
|
72
|
+
* answerPublisher: Publisher<void>;
|
|
73
|
+
* brandIn: Brand<'nat'>;
|
|
74
|
+
* brandOut: Brand<'nat'>;
|
|
75
|
+
* latestRoundPublisher: import('@agoric/zoe/src/contractSupport/recorder.js').Recorder<LatestRound>;
|
|
76
|
+
* timerPresence: TimerService;
|
|
77
|
+
* }
|
|
78
|
+
* >} HeldParams
|
|
82
79
|
*
|
|
83
|
-
* @typedef {Readonly<
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
80
|
+
* @typedef {Readonly<
|
|
81
|
+
* HeldParams & {
|
|
82
|
+
* details: MapStore<bigint, RoundDetails>;
|
|
83
|
+
* rounds: MapStore<bigint, Round>;
|
|
84
|
+
* unitIn: bigint;
|
|
85
|
+
* }
|
|
86
|
+
* >} ImmutableState
|
|
88
87
|
*
|
|
89
88
|
* @typedef {{
|
|
90
|
-
*
|
|
91
|
-
*
|
|
89
|
+
* lastValueOutForUnitIn: bigint?;
|
|
90
|
+
* reportingRoundId: bigint;
|
|
92
91
|
* }} MutableState
|
|
93
92
|
*/
|
|
94
93
|
/** @typedef {ImmutableState & MutableState} State */
|
|
@@ -116,7 +115,11 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
116
115
|
handlePush: M.call(M.record(), M.record()).returns(M.promise()),
|
|
117
116
|
}),
|
|
118
117
|
},
|
|
119
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* @type {(
|
|
120
|
+
* opts: HeldParams & { unitAmountIn: Amount<'nat'> },
|
|
121
|
+
* ) => State}
|
|
122
|
+
*/
|
|
120
123
|
({
|
|
121
124
|
// ChainlinkConfig
|
|
122
125
|
maxSubmissionCount,
|
|
@@ -170,9 +173,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
170
173
|
},
|
|
171
174
|
{
|
|
172
175
|
helper: {
|
|
173
|
-
/**
|
|
174
|
-
* @param {bigint} roundId
|
|
175
|
-
*/
|
|
176
|
+
/** @param {bigint} roundId */
|
|
176
177
|
acceptingSubmissions(roundId) {
|
|
177
178
|
const { details } = this.state;
|
|
178
179
|
return (
|
|
@@ -190,9 +191,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
190
191
|
return roundId > add(lastStarted, restartDelay) || lastStarted === 0n;
|
|
191
192
|
},
|
|
192
193
|
|
|
193
|
-
/**
|
|
194
|
-
* @param {bigint} roundId
|
|
195
|
-
*/
|
|
194
|
+
/** @param {bigint} roundId */
|
|
196
195
|
deleteRoundDetails(roundId) {
|
|
197
196
|
const { details } = this.state;
|
|
198
197
|
const roundDetails = details.get(roundId);
|
|
@@ -201,9 +200,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
201
200
|
details.delete(roundId);
|
|
202
201
|
},
|
|
203
202
|
|
|
204
|
-
/**
|
|
205
|
-
* @param {bigint} roundId
|
|
206
|
-
*/
|
|
203
|
+
/** @param {bigint} roundId */
|
|
207
204
|
isNextRound(roundId) {
|
|
208
205
|
const { reportingRoundId } = this.state;
|
|
209
206
|
return roundId === add(reportingRoundId, 1);
|
|
@@ -421,7 +418,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
421
418
|
* @param {OracleStatus} status
|
|
422
419
|
* @param {bigint} roundId
|
|
423
420
|
* @param {Timestamp} blockTimestamp
|
|
424
|
-
* @returns {string
|
|
421
|
+
* @returns {string | null} error message, if there is one
|
|
425
422
|
*/
|
|
426
423
|
validateOracleRound(status, roundId, blockTimestamp) {
|
|
427
424
|
const { reportingRoundId } = this.state;
|
|
@@ -449,10 +446,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
449
446
|
},
|
|
450
447
|
},
|
|
451
448
|
contract: {
|
|
452
|
-
/**
|
|
453
|
-
*
|
|
454
|
-
* @param {PriceQuoteValue} quote
|
|
455
|
-
*/
|
|
449
|
+
/** @param {PriceQuoteValue} quote */
|
|
456
450
|
async authenticateQuote(quote) {
|
|
457
451
|
const { quoteKit } = this.state;
|
|
458
452
|
const quoteAmount = AmountMath.make(quoteKit.brand, harden(quote));
|
|
@@ -470,9 +464,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
470
464
|
const { brandIn, brandOut, timerPresence } = state;
|
|
471
465
|
const { contract } = this.facets;
|
|
472
466
|
|
|
473
|
-
/**
|
|
474
|
-
* @param {PriceQuery} priceQuery
|
|
475
|
-
*/
|
|
467
|
+
/** @param {PriceQuery} priceQuery */
|
|
476
468
|
return Far('createQuote', priceQuery => {
|
|
477
469
|
const { lastValueOutForUnitIn, unitIn } = state;
|
|
478
470
|
|
|
@@ -486,9 +478,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
486
478
|
return undefined;
|
|
487
479
|
}
|
|
488
480
|
|
|
489
|
-
/**
|
|
490
|
-
* @param {Amount<'nat'>} amountIn the given amountIn
|
|
491
|
-
*/
|
|
481
|
+
/** @param {Amount<'nat'>} amountIn the given amountIn */
|
|
492
482
|
const calcAmountOut = amountIn => {
|
|
493
483
|
const valueIn = AmountMath.getValue(brandIn, amountIn);
|
|
494
484
|
return AmountMath.make(
|
|
@@ -497,9 +487,7 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
497
487
|
);
|
|
498
488
|
};
|
|
499
489
|
|
|
500
|
-
/**
|
|
501
|
-
* @param {Amount<'nat'>} amountOut the wanted amountOut
|
|
502
|
-
*/
|
|
490
|
+
/** @param {Amount<'nat'>} amountOut the wanted amountOut */
|
|
503
491
|
const calcAmountIn = amountOut => {
|
|
504
492
|
const valueOut = AmountMath.getValue(brandOut, amountOut);
|
|
505
493
|
return AmountMath.make(
|
|
@@ -564,9 +552,8 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
564
552
|
},
|
|
565
553
|
|
|
566
554
|
/**
|
|
567
|
-
* consumers are encouraged to check
|
|
568
|
-
*
|
|
569
|
-
* answeredInRound return values.
|
|
555
|
+
* consumers are encouraged to check that they're receiving fresh data
|
|
556
|
+
* by inspecting the updatedAt and answeredInRound return values.
|
|
570
557
|
*
|
|
571
558
|
* @param {bigint | number} roundIdRaw
|
|
572
559
|
* @returns {Promise<RoundData>}
|
|
@@ -603,8 +590,9 @@ export const prepareRoundsManagerKit = baggage =>
|
|
|
603
590
|
},
|
|
604
591
|
|
|
605
592
|
/**
|
|
606
|
-
* a method to provide all current info oracleStatuses need. Intended
|
|
607
|
-
* only to be callable by oracleStatuses. Not for use by contracts
|
|
593
|
+
* a method to provide all current info oracleStatuses need. Intended
|
|
594
|
+
* only only to be callable by oracleStatuses. Not for use by contracts
|
|
595
|
+
* to read state.
|
|
608
596
|
*
|
|
609
597
|
* @param {OracleStatus} status
|
|
610
598
|
* @param {Timestamp} blockTimestamp
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"committee-proposal.d.ts","sourceRoot":"","sources":["committee-proposal.js"],"names":[],"mappings":"AAeO,yHAHI,OAAO,kBAAkB,EAAE,sBAAsB,mCACjD;IAAE,OAAO,EAAE;QAAE,cAAc,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"committee-proposal.d.ts","sourceRoot":"","sources":["committee-proposal.js"],"names":[],"mappings":"AAeO,yHAHI,OAAO,kBAAkB,EAAE,sBAAsB,mCACjD;IAAE,OAAO,EAAE;QAAE,cAAc,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,iBAoCjE;AAKM,+OADK,OAAO,kBAAkB,EAAE,sBAAsB,iBA+B5D;AAQM,uLAFI,OAAO,kBAAkB,EAAE,sBAAsB,iBAiC3D;AAQM,0FAHI,OAAO,kBAAkB,EAAE,sBAAsB,mCACjD;IAAE,OAAO,EAAE;QAAE,cAAc,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,iBAkBjE;AAIM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDN"}
|
|
@@ -4,14 +4,14 @@ import { reserveThenDeposit } from './utils.js';
|
|
|
4
4
|
|
|
5
5
|
const { values } = Object;
|
|
6
6
|
|
|
7
|
-
/** @type {
|
|
7
|
+
/** @type {<X, Y>(xs: X[], ys: Y[]) => [X, Y][]} */
|
|
8
8
|
const zip = (xs, ys) => xs.map((x, i) => [x, ys[i]]);
|
|
9
9
|
|
|
10
10
|
const EC_HIGH_PRIORITY_SENDERS_NAMESPACE = 'economicCommittee';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* @param {import('./econ-behaviors').EconomyBootstrapPowers} powers
|
|
14
|
-
* @param {{ options: { voterAddresses: Record<string, string> }}} param1
|
|
14
|
+
* @param {{ options: { voterAddresses: Record<string, string> } }} param1
|
|
15
15
|
*/
|
|
16
16
|
export const inviteCommitteeMembers = async (
|
|
17
17
|
{
|
|
@@ -26,9 +26,7 @@ export const inviteCommitteeMembers = async (
|
|
|
26
26
|
|
|
27
27
|
const highPrioritySendersManager = await consume.highPrioritySendersManager;
|
|
28
28
|
|
|
29
|
-
/**
|
|
30
|
-
* @param {[string, Promise<Invitation>][]} addrInvitations
|
|
31
|
-
*/
|
|
29
|
+
/** @param {[string, Promise<Invitation>][]} addrInvitations */
|
|
32
30
|
const distributeInvitations = async addrInvitations => {
|
|
33
31
|
await Promise.all(
|
|
34
32
|
addrInvitations.map(async ([addr, invitationP]) => {
|
|
@@ -53,9 +51,7 @@ export const inviteCommitteeMembers = async (
|
|
|
53
51
|
|
|
54
52
|
harden(inviteCommitteeMembers);
|
|
55
53
|
|
|
56
|
-
/**
|
|
57
|
-
* @param {import('./econ-behaviors').EconomyBootstrapPowers} powers
|
|
58
|
-
*/
|
|
54
|
+
/** @param {import('./econ-behaviors').EconomyBootstrapPowers} powers */
|
|
59
55
|
export const startEconCharter = async ({
|
|
60
56
|
consume: { zoe },
|
|
61
57
|
produce: { econCharterKit },
|
|
@@ -131,7 +127,7 @@ harden(addGovernorsToEconCharter);
|
|
|
131
127
|
|
|
132
128
|
/**
|
|
133
129
|
* @param {import('./econ-behaviors').EconomyBootstrapPowers} powers
|
|
134
|
-
* @param {{ options: { voterAddresses: Record<string, string> }}} param1
|
|
130
|
+
* @param {{ options: { voterAddresses: Record<string, string> } }} param1
|
|
135
131
|
*/
|
|
136
132
|
export const inviteToEconCharter = async (
|
|
137
133
|
{ consume: { namesByAddressAdmin, econCharterKit } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-proposal.d.ts","sourceRoot":"","sources":["core-proposal.js"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"core-proposal.d.ts","sourceRoot":"","sources":["core-proposal.js"],"names":[],"mappings":";;;AAkBO,wMADK,OAAO,qBAAqB,EAAE,sBAAsB,iBAmC/D;AA6HD,oCAA6C;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeN;AAEM;;;;;;;;;;;;;;;;;;;;EAuBN;AAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCN"}
|
|
@@ -15,9 +15,7 @@ export * from './startEconCommittee.js'; // eslint-disable-line import/export
|
|
|
15
15
|
// require updating a lot of tests. So for now, we just
|
|
16
16
|
// grab the kits afterward and store them.
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
* @param {import('./econ-behaviors.js').EconomyBootstrapPowers} powers
|
|
20
|
-
*/
|
|
18
|
+
/** @param {import('./econ-behaviors.js').EconomyBootstrapPowers} powers */
|
|
21
19
|
export const storeInterContractStartKits = async ({
|
|
22
20
|
consume: {
|
|
23
21
|
contractKits,
|
|
@@ -31,8 +29,8 @@ export const storeInterContractStartKits = async ({
|
|
|
31
29
|
},
|
|
32
30
|
}) => {
|
|
33
31
|
/**
|
|
34
|
-
* @param {Promise<MapStore<string, {instance: Instance}>>} storeP
|
|
35
|
-
* @param {Promise<{instance: Instance}>[]} kitPs
|
|
32
|
+
* @param {Promise<MapStore<string, { instance: Instance }>>} storeP
|
|
33
|
+
* @param {Promise<{ instance: Instance }>[]} kitPs
|
|
36
34
|
*/
|
|
37
35
|
const storeAll = async (storeP, kitPs) => {
|
|
38
36
|
const store = await storeP;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"econ-behaviors.d.ts","sourceRoot":"","sources":["econ-behaviors.js"],"names":[],"mappings":"AAiBA,qCAAsC;AACtC,sCAA0C;AAC1C,qCAAsD;AACtD,sCAAqD;
|
|
1
|
+
{"version":3,"file":"econ-behaviors.d.ts","sourceRoot":"","sources":["econ-behaviors.js"],"names":[],"mappings":"AAiBA,qCAAsC;AACtC,sCAA0C;AAC1C,qCAAsD;AACtD,sCAAqD;AA6E9C,mcADK,sBAAsB;;;;;;;;;;;;;;;;;;;KA+FjC;AAUM,oDAPI,sBAAsB,CAAC,SAAS,CAAC;;;;;+BAKjC,OAAO,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EvB;AAUM,wSAPI,sBAAsB;IAEE,cAAc;IACtB,OAAO;;;oBAEvB,MAAM,iBA6FhB;AAWM,wGALI,sBAAsB;;;;8BAuBhC;AAQM,mcAFI,sBAAsB,iBA0GhC;AAQM,+cAJI,sBAAsB;IAET,aAAa,GAA1B,GAAG;kBA0Hb;sCA7mBY,OAAO,iCAAiC,EAAE,oBAAoB,CAAC,aAAa,CAAC;oCAE7E,OAAO,0BAA0B,EAAE,qBAAqB;qCAExD,OAAO,0BAA0B,EAAE,sBAAsB;;WAKxD,MAAM;SACN,QAAQ;iBACR,QAAQ;qBACR,QACb,WACA,QACA,WAAmB,+BAAwB,SAAS,CAAC,CAAC,CAC/C,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAC5C,CACF;6BACU,qBAAqB,+BAA+B,SAAS,CAAC,CAAC;mBAC/D,UAAU;;4BAGV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA4D;qCAG7D,eAAe,GAAG,mBAAmB,GAAG,qBAAqB;oCAE7D,eAAe;IAC3B,oBAAwB,EAAE,oBAAoB,CAAC;IAC/C,6BAAiC,EAAE,OAAO,qCAAqC,EAAE,+BAA+B,CAAC;IACjH,iBAAqB,EAAE,mBACvB,cAAoB,sBAAsB,EAAE,KAAK,CAC5C,CAAC;IACN,qBAAyB,EAAE,SAC3B,MAAY,EACZ,OAAa,sBAAsB,EAAE,oBAAoB,CACpD,CAAC;IACN,MAAU,EAAE,SAAS,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,qBAAyB,EAAE,SAAS,KAAK,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC;IAC3D,cAAkB,EAAE,sBAAsB,CAAC;IAC3C,UAAc,EAAE,mBAChB,4CAA2C,SAAS,CAAC,CAChD,CAAC;IACN,eAAmB,EAAE,mBACrB,iDAAgD,SAAS,CAAC,CACrD,CAAC;IACN,aAAiB,EAAE,aAAa,CAAC;IACjC,cAAkB,EAAE,QAAQ,CAAC;CAC1B,CAAC;qCAIQ,OAAO,qCAAqC,EAAE,kBAAkB,CAC5E,yCAAsC,SAAS,CAAC,CAC7C;mCAGS,OAAO,qCAAqC,EAAE,kBAAkB,CAC5E,qDAAkD,SAAS,CAAC,CACzD;uBAzEmB,cAAc"}
|
|
@@ -22,7 +22,9 @@ export const SECONDS_PER_WEEK = 7n * SECONDS_PER_DAY;
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* @typedef {import('../vaultFactory/vaultFactory.js').VaultFactoryContract['publicFacet']} VaultFactoryPublicFacet
|
|
25
|
+
*
|
|
25
26
|
* @typedef {import('../auction/auctioneer.js').AuctioneerPublicFacet} AuctioneerPublicFacet
|
|
27
|
+
*
|
|
26
28
|
* @typedef {import('../auction/auctioneer.js').AuctioneerCreatorFacet} AuctioneerCreatorFacet
|
|
27
29
|
*/
|
|
28
30
|
|
|
@@ -31,43 +33,65 @@ export const SECONDS_PER_WEEK = 7n * SECONDS_PER_DAY;
|
|
|
31
33
|
* @property {string} label
|
|
32
34
|
* @property {Instance} psm
|
|
33
35
|
* @property {Instance} psmGovernor
|
|
34
|
-
* @property {Awaited<
|
|
36
|
+
* @property {Awaited<
|
|
37
|
+
* ReturnType<
|
|
38
|
+
* Awaited<
|
|
39
|
+
* ReturnType<import('../psm/psm.js')['prepare']>
|
|
40
|
+
* >['creatorFacet']['getLimitedCreatorFacet']
|
|
41
|
+
* >
|
|
42
|
+
* >} psmCreatorFacet
|
|
35
43
|
* @property {GovernorCreatorFacet<import('../../src/psm/psm.js')['prepare']>} psmGovernorCreatorFacet
|
|
36
44
|
* @property {AdminFacet} psmAdminFacet
|
|
37
45
|
*/
|
|
38
46
|
|
|
39
|
-
/**
|
|
40
|
-
* @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit
|
|
41
|
-
*/
|
|
47
|
+
/** @typedef {GovernanceFacetKit<import('../auction/auctioneer.js').start>} AuctioneerKit */
|
|
42
48
|
|
|
43
49
|
/**
|
|
44
|
-
* @typedef {
|
|
45
|
-
*
|
|
50
|
+
* @typedef {WellKnownSpaces & ChainBootstrapSpace & EconomyBootstrapSpace} EconomyBootstrapPowers
|
|
51
|
+
*
|
|
46
52
|
* @typedef {PromiseSpaceOf<{
|
|
47
|
-
* economicCommitteeKit: CommitteeStartResult
|
|
48
|
-
* economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet
|
|
49
|
-
* feeDistributorKit: StartedInstanceKit<
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
53
|
+
* economicCommitteeKit: CommitteeStartResult;
|
|
54
|
+
* economicCommitteeCreatorFacet: import('@agoric/governance/src/committee.js').CommitteeElectorateCreatorFacet;
|
|
55
|
+
* feeDistributorKit: StartedInstanceKit<
|
|
56
|
+
* typeof import('../feeDistributor.js').start
|
|
57
|
+
* >;
|
|
58
|
+
* periodicFeeCollectors: MapStore<
|
|
59
|
+
* number,
|
|
60
|
+
* import('../feeDistributor.js').PeriodicFeeCollector
|
|
61
|
+
* >;
|
|
62
|
+
* psmKit: MapStore<Brand, PSMKit>;
|
|
63
|
+
* anchorBalancePayments: MapStore<Brand, Payment<'nat'>>;
|
|
64
|
+
* econCharterKit: EconCharterStartResult;
|
|
65
|
+
* reserveKit: GovernanceFacetKit<
|
|
66
|
+
* import('../reserve/assetReserve.js')['prepare']
|
|
67
|
+
* >;
|
|
68
|
+
* vaultFactoryKit: GovernanceFacetKit<
|
|
69
|
+
* import('../vaultFactory/vaultFactory.js')['prepare']
|
|
70
|
+
* >;
|
|
71
|
+
* auctioneerKit: AuctioneerKit;
|
|
72
|
+
* minInitialDebt: NatValue;
|
|
58
73
|
* }>} EconomyBootstrapSpace
|
|
59
74
|
*/
|
|
60
75
|
|
|
61
|
-
/**
|
|
62
|
-
|
|
76
|
+
/**
|
|
77
|
+
* @typedef {import('@agoric/zoe/src/zoeService/utils.js').StartedInstanceKit<
|
|
78
|
+
* import('../econCommitteeCharter')['prepare']
|
|
79
|
+
* >} EconCharterStartResult
|
|
80
|
+
*/
|
|
81
|
+
/**
|
|
82
|
+
* @typedef {import('@agoric/zoe/src/zoeService/utils.js').StartedInstanceKit<
|
|
83
|
+
* import('@agoric/governance/src/committee.js')['prepare']
|
|
84
|
+
* >} CommitteeStartResult
|
|
85
|
+
*/
|
|
63
86
|
|
|
64
87
|
/**
|
|
65
88
|
* @file A collection of productions, each of which declares inputs and outputs.
|
|
66
|
-
*
|
|
89
|
+
* Each function is passed a set of powers for reading from and writing to the
|
|
90
|
+
* vat config.
|
|
67
91
|
*
|
|
68
|
-
*
|
|
92
|
+
* Each of the things they produce they're responsible for resolving or setting.
|
|
69
93
|
*
|
|
70
|
-
*
|
|
94
|
+
* In production called by @agoric/vats to bootstrap.
|
|
71
95
|
*/
|
|
72
96
|
|
|
73
97
|
/** @param {EconomyBootstrapPowers} powers */
|
|
@@ -299,7 +323,11 @@ export const startVaultFactory = async (
|
|
|
299
323
|
}),
|
|
300
324
|
);
|
|
301
325
|
|
|
302
|
-
/**
|
|
326
|
+
/**
|
|
327
|
+
* @type {GovernorStartedInstallationKit<
|
|
328
|
+
* typeof vaultFactoryInstallation
|
|
329
|
+
* >}
|
|
330
|
+
*/
|
|
303
331
|
const g = await E(consume.zoe).startInstance(
|
|
304
332
|
contractGovernorInstallation,
|
|
305
333
|
undefined,
|
|
@@ -348,8 +376,8 @@ export const startVaultFactory = async (
|
|
|
348
376
|
};
|
|
349
377
|
|
|
350
378
|
/**
|
|
351
|
-
* Grant access to the VaultFactory creatorFacet
|
|
352
|
-
*
|
|
379
|
+
* Grant access to the VaultFactory creatorFacet to up to one user based on
|
|
380
|
+
* address.
|
|
353
381
|
*
|
|
354
382
|
* @param {EconomyBootstrapPowers} powers
|
|
355
383
|
* @param {object} [root0]
|
|
@@ -435,9 +463,8 @@ export const startRewardDistributor = async ({
|
|
|
435
463
|
|
|
436
464
|
/**
|
|
437
465
|
* @type {Awaited<
|
|
438
|
-
* ReturnType<typeof import('../feeDistributor.js').makeFeeDistributor
|
|
439
|
-
*
|
|
440
|
-
* }
|
|
466
|
+
* ReturnType<typeof import('../feeDistributor.js').makeFeeDistributor>
|
|
467
|
+
* > & { adminFacet: AdminFacet; instance: Instance }}
|
|
441
468
|
*/
|
|
442
469
|
const instanceKit = await E(zoe).startInstance(
|
|
443
470
|
feeDistributor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-feed-proposal.d.ts","sourceRoot":"","sources":["price-feed-proposal.js"],"names":[],"mappings":"AAoBO,6EACsC;AAoBtC,+HAJI,mBAAmB,GAAG,cAAc,8JACpC;
|
|
1
|
+
{"version":3,"file":"price-feed-proposal.d.ts","sourceRoot":"","sources":["price-feed-proposal.js"],"names":[],"mappings":"AAoBO,6EACsC;AAoBtC,+HAJI,mBAAmB,GAAG,cAAc,8JACpC;IAAE,OAAO,EAAE;QAAE,gBAAgB,EAAE,gBAAgB,CAAA;KAAE,CAAA;CAAE,GACjD,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAwCjD;AAgBM,4RAbI,mBAAmB,iIACnB;IACV,OAAW,EAAE;QACb,gBAAsB,EAAE;YACxB,oBAA4B,EAAE,MAAM,CAAC;YACrC,eAAuB,EAAE,MAAM,EAAE,CAAC;YAClC,aAAqB,EAAE,OAAO,uDAAuD,EAAE,eAAe,CAAC;YACvG,aAAqB,EAAE,MAAM,CAAC;YAC9B,cAAsB,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;CACH,iBA0IH;AAWM;IAH+C,UAAU,UAA/C,OAAO,KAAK,QAAQ,OAAO,CAAC;qBAClC,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BArNP,MAAM;+BACF,MAAM;4BACT,MAAM;gCACF,MAAM;;;GAoQ7B;AAQK,wGALI,OAAO,kBAAkB,EAAE,sBAAsB;;;;8BA8D3D;+BA3UY;IACZ,OAAW,CAAC,EAAE,KAAK,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;IAC7C,QAAY,CAAC,EAAE,KAAK,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9C,aAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAsB,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -23,12 +23,12 @@ export const instanceNameFor = (inBrandName, outBrandName) =>
|
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* @typedef {{
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
26
|
+
* brandIn?: ERef<Brand<'nat'> | undefined>;
|
|
27
|
+
* brandOut?: ERef<Brand<'nat'> | undefined>;
|
|
28
|
+
* IN_BRAND_NAME: string;
|
|
29
|
+
* IN_BRAND_DECIMALS: string;
|
|
30
|
+
* OUT_BRAND_NAME: string;
|
|
31
|
+
* OUT_BRAND_DECIMALS: string;
|
|
32
32
|
* }} PriceFeedOptions
|
|
33
33
|
*/
|
|
34
34
|
|
|
@@ -36,7 +36,7 @@ export const instanceNameFor = (inBrandName, outBrandName) =>
|
|
|
36
36
|
* Create inert brands (no mint or issuer) referred to by price oracles.
|
|
37
37
|
*
|
|
38
38
|
* @param {ChainBootstrapSpace & NamedVatPowers} space
|
|
39
|
-
* @param {{options: {priceFeedOptions: PriceFeedOptions}}} opt
|
|
39
|
+
* @param {{ options: { priceFeedOptions: PriceFeedOptions } }} opt
|
|
40
40
|
* @returns {Promise<[Brand<'nat'>, Brand<'nat'>]>}
|
|
41
41
|
*/
|
|
42
42
|
export const ensureOracleBrands = async (
|
|
@@ -81,7 +81,17 @@ export const ensureOracleBrands = async (
|
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
83
|
* @param {ChainBootstrapSpace} powers
|
|
84
|
-
* @param {{
|
|
84
|
+
* @param {{
|
|
85
|
+
* options: {
|
|
86
|
+
* priceFeedOptions: {
|
|
87
|
+
* AGORIC_INSTANCE_NAME: string;
|
|
88
|
+
* oracleAddresses: string[];
|
|
89
|
+
* contractTerms: import('@agoric/inter-protocol/src/price/fluxAggregatorKit.js').ChainlinkConfig;
|
|
90
|
+
* IN_BRAND_NAME: string;
|
|
91
|
+
* OUT_BRAND_NAME: string;
|
|
92
|
+
* };
|
|
93
|
+
* };
|
|
94
|
+
* }} config
|
|
85
95
|
*/
|
|
86
96
|
export const createPriceFeed = async (
|
|
87
97
|
{
|
|
@@ -120,9 +130,17 @@ export const createPriceFeed = async (
|
|
|
120
130
|
const timer = await chainTimerService;
|
|
121
131
|
|
|
122
132
|
/**
|
|
123
|
-
* Values come from economy-template.json, which at this writing had IN:ATOM,
|
|
133
|
+
* Values come from economy-template.json, which at this writing had IN:ATOM,
|
|
134
|
+
* OUT:USD
|
|
124
135
|
*
|
|
125
|
-
* @type {[
|
|
136
|
+
* @type {[
|
|
137
|
+
* [Brand<'nat'>, Brand<'nat'>],
|
|
138
|
+
* [
|
|
139
|
+
* Installation<
|
|
140
|
+
* import('@agoric/inter-protocol/src/price/fluxAggregatorContract.js').prepare
|
|
141
|
+
* >,
|
|
142
|
+
* ],
|
|
143
|
+
* ]}
|
|
126
144
|
*/
|
|
127
145
|
const [[brandIn, brandOut], [priceAggregator]] = await Promise.all([
|
|
128
146
|
reserveThenGetNames(E(agoricNamesAdmin).lookupAdmin('oracleBrand'), [
|
|
@@ -215,7 +233,8 @@ export const createPriceFeed = async (
|
|
|
215
233
|
|
|
216
234
|
const t = 'priceFeed';
|
|
217
235
|
/**
|
|
218
|
-
* Add a price feed to a running chain, returning the manifest, installations,
|
|
236
|
+
* Add a price feed to a running chain, returning the manifest, installations,
|
|
237
|
+
* and options.
|
|
219
238
|
*
|
|
220
239
|
* @param {object} utils
|
|
221
240
|
* @param {(ref: unknown) => Promise<unknown>} [utils.restoreRef]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startPSM.d.ts","sourceRoot":"","sources":["startPSM.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"startPSM.d.ts","sourceRoot":"","sources":["startPSM.js"],"names":[],"mappings":"AAuFO,ydAPI,sBAAsB,GAAG,eAAe,GAAG,qBAAqB;;;;;;;8BA4M1E;AAuBM,qSAHI,sBAAsB,GAAG,eAAe,GAAG,qBAAqB,kCAChE;IAAE,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAA;CAAE,iBAkGxD;AAGD,2FAA2F;AAE3F,0GAiBE;AAEF,gCAAgC;AAChC,2BADW,iBAAiB,CA6C1B;AAGK;;;;;;;;;;;;EAaN;AAEM;;;;;;;;;;;;;;EAcN;gCA/da,OAAO,mCAAmC,EAAE,iBAAiB;kCAC7D,OAAO,eAAe,EAAE,mBAAmB;qCAC3C,OAAO,qBAAqB,EAAE,sBAAsB;;;;;;;oCA2XpD,OAAO,qBAAqB,EAAE,qBAAqB;uCA/X1D,yBAAyB;iCAAzB,yBAAyB;oCAAzB,yBAAyB;uBART,cAAc"}
|
|
@@ -35,10 +35,13 @@ export { inviteCommitteeMembers, startEconCharter, inviteToEconCharter };
|
|
|
35
35
|
const stablePsmKey = `published.psm.${Stable.symbol}`;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* @param {
|
|
38
|
+
* @param {[key: string, value: string][]} chainStorageEntries
|
|
39
39
|
* @param {string} keyword
|
|
40
|
-
* @param {{ minted: Brand<'nat'
|
|
41
|
-
* @returns {{
|
|
40
|
+
* @param {{ minted: Brand<'nat'>; anchor: Brand<'nat'> }} brands
|
|
41
|
+
* @returns {{
|
|
42
|
+
* metrics?: MetricsNotification;
|
|
43
|
+
* governance?: GovernanceSubscriptionState;
|
|
44
|
+
* }}
|
|
42
45
|
*/
|
|
43
46
|
const findOldPSMState = (chainStorageEntries, keyword, brands) => {
|
|
44
47
|
// In this reviver, object references are revived as boardIDs
|
|
@@ -80,7 +83,7 @@ const findOldPSMState = (chainStorageEntries, keyword, brands) => {
|
|
|
80
83
|
* @param {bigint} [config.WantMintedFeeBP]
|
|
81
84
|
* @param {bigint} [config.GiveMintedFeeBP]
|
|
82
85
|
* @param {bigint} [config.MINT_LIMIT]
|
|
83
|
-
* @param {{ anchorOptions?: AnchorOptions }
|
|
86
|
+
* @param {{ anchorOptions?: AnchorOptions }} [config.options]
|
|
84
87
|
*/
|
|
85
88
|
export const startPSM = async (
|
|
86
89
|
{
|
|
@@ -291,16 +294,16 @@ harden(startPSM);
|
|
|
291
294
|
*/
|
|
292
295
|
|
|
293
296
|
/**
|
|
294
|
-
* Make anchor issuer out of a Cosmos asset; presumably
|
|
295
|
-
*
|
|
297
|
+
* Make anchor issuer out of a Cosmos asset; presumably USDC over IBC. Add it to
|
|
298
|
+
* BankManager.
|
|
296
299
|
*
|
|
297
|
-
* Also, if vatParameters shows an anchorPoolBalance for this asset,
|
|
298
|
-
*
|
|
300
|
+
* Also, if vatParameters shows an anchorPoolBalance for this asset, mint a
|
|
301
|
+
* payment for that balance.
|
|
299
302
|
*
|
|
300
303
|
* TODO: address redundancy with publishInterchainAssetFromBank
|
|
301
304
|
*
|
|
302
305
|
* @param {EconomyBootstrapPowers & WellKnownSpaces & ChainStorageVatParams} powers
|
|
303
|
-
* @param {{options: { anchorOptions?: AnchorOptions } }} config
|
|
306
|
+
* @param {{ options: { anchorOptions?: AnchorOptions } }} config
|
|
304
307
|
*/
|
|
305
308
|
export const makeAnchorAsset = async (
|
|
306
309
|
{
|
|
@@ -345,14 +348,18 @@ export const makeAnchorAsset = async (
|
|
|
345
348
|
}),
|
|
346
349
|
);
|
|
347
350
|
|
|
348
|
-
const { creatorFacet: mint, publicFacet: issuer } =
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
351
|
+
const { creatorFacet: mint, publicFacet: issuer } = /**
|
|
352
|
+
* @type {{
|
|
353
|
+
* creatorFacet: ERef<Mint<'nat'>>;
|
|
354
|
+
* publicFacet: ERef<Issuer<'nat'>>;
|
|
355
|
+
* }}
|
|
356
|
+
*/ (
|
|
357
|
+
await E(startUpgradable)({
|
|
358
|
+
installation: mintHolder,
|
|
359
|
+
label: keyword,
|
|
360
|
+
terms,
|
|
361
|
+
})
|
|
362
|
+
);
|
|
356
363
|
|
|
357
364
|
const brand = await E(issuer).getBrand();
|
|
358
365
|
const kit = harden({ mint, issuer, brand });
|
package/src/proposals/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function reserveThenGetNamePaths(nameAdmin: ERef<import('@agoric/vats').NameAdmin>, paths: string[][]): Promise<any[]>;
|
|
2
2
|
export function reserveThenGetNames(nameAdmin: ERef<import('@agoric/vats').NameAdmin>, names: string[]): Promise<any[]>;
|
|
3
|
-
export function reserveThenDeposit(debugName: string, namesByAddressAdmin: ERef<import('@agoric/vats').NameAdmin>, addr: string, payments:
|
|
3
|
+
export function reserveThenDeposit(debugName: string, namesByAddressAdmin: ERef<import('@agoric/vats').NameAdmin>, addr: string, payments: ERef<Payment>[]): Promise<void>;
|
|
4
4
|
export function makeInstallCache(homeP: {
|
|
5
5
|
scratch: ERef<import('@agoric/internal/src/scratch.js').ScratchPad>;
|
|
6
6
|
}, { installCacheKey, loadBundle }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"AAUO,mDAHI,KAAK,OAAO,cAAc,EAAE,SAAS,CAAC,SACtC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"AAUO,mDAHI,KAAK,OAAO,cAAc,EAAE,SAAS,CAAC,SACtC,MAAM,EAAE,EAAE,kBA+BpB;AAMM,+CAHI,KAAK,OAAO,cAAc,EAAE,SAAS,CAAC,SACtC,MAAM,EAAE,kBAMhB;AAQI,8CALI,MAAM,uBACN,KAAK,OAAO,cAAc,EAAE,SAAS,CAAC,QACtC,MAAM,YACN,KAAK,OAAO,CAAC,EAAE,iBAuBzB;AA6BM,wCAPI;IACV,OAAW,EAAE,KAAK,OAAO,iCAAiC,EAAE,UAAU,CAAC,CAAC;CACrE;4BAEmB,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;;;;;GAqD7D"}
|