@agoric/inter-protocol 0.17.0-u19.2 → 0.17.0-u21.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/package.json +33 -32
- package/src/auction/auctionBook.d.ts +2 -2
- package/src/auction/auctioneer.d.ts +5 -4
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +2 -0
- package/src/auction/offerBook.d.ts +3 -2
- package/src/auction/offerBook.d.ts.map +1 -1
- package/src/auction/offerBook.js +5 -1
- package/src/auction/params.d.ts +2 -1
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/params.js +1 -0
- package/src/auction/scheduler.d.ts +1 -1
- package/src/auction/util.d.ts +2 -1
- package/src/auction/util.d.ts.map +1 -1
- package/src/auction/util.js +4 -1
- package/src/clientSupport.d.ts +1 -0
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +6 -1
- package/src/contractSupport.d.ts +1 -1
- package/src/contractSupport.d.ts.map +1 -1
- package/src/econCommitteeCharter.d.ts +4 -4
- package/src/feeDistributor.d.ts +17 -17
- package/src/interest-math.js +1 -1
- package/src/interest.d.ts +3 -1
- package/src/interest.d.ts.map +1 -1
- package/src/interest.js +2 -5
- package/src/price/fluxAggregatorContract.d.ts +6 -6
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.d.ts +4 -4
- package/src/price/roundsManager.d.ts +1 -1
- package/src/proposals/addAssetToVault.js +1 -1
- package/src/proposals/econ-behaviors.js +17 -3
- package/src/proposals/upgrade-vaults.js +1 -2
- package/src/provisionPool.d.ts +17 -5
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +17 -11
- package/src/provisionPoolKit.d.ts +26 -11
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +111 -51
- package/src/psm/psm.d.ts +10 -6
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +1 -0
- package/src/reserve/assetReserve.d.ts +12 -2
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +4 -0
- package/src/reserve/assetReserveKit.d.ts +30 -2
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +108 -1
- package/src/reserve/params.d.ts +5 -1
- package/src/reserve/params.d.ts.map +1 -1
- package/src/reserve/params.js +4 -0
- package/src/vaultFactory/liquidation.d.ts +2 -0
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +5 -5
- package/src/vaultFactory/math.js +1 -1
- package/src/vaultFactory/orderedVaultStore.d.ts +19 -18
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
- package/src/vaultFactory/orderedVaultStore.js +4 -2
- package/src/vaultFactory/params.d.ts +5 -2
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +5 -2
- package/src/vaultFactory/prioritizedVaults.d.ts +58 -57
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -1
- package/src/vaultFactory/prioritizedVaults.js +5 -2
- package/src/vaultFactory/storeUtils.d.ts +2 -2
- package/src/vaultFactory/storeUtils.d.ts.map +1 -1
- package/src/vaultFactory/types-ambient.d.ts +2 -2
- package/src/vaultFactory/types-ambient.d.ts.map +1 -1
- package/src/vaultFactory/types-ambient.js +5 -2
- package/src/vaultFactory/vault.d.ts +9 -9
- package/src/vaultFactory/vaultDirector.d.ts +46 -44
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +2 -0
- package/src/vaultFactory/vaultFactory.d.ts +62 -15
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +6 -2
- package/src/vaultFactory/vaultHolder.d.ts +32 -32
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +4 -0
- package/src/vaultFactory/vaultKit.d.ts +6 -6
- package/src/vaultFactory/vaultManager.d.ts +61 -58
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +4 -2
|
@@ -16,13 +16,13 @@ export function prepareFluxAggregatorKit(baggage: Baggage, zcf: ZCF<ChainlinkCon
|
|
|
16
16
|
*
|
|
17
17
|
* @param {string} oracleId unique per contract instance
|
|
18
18
|
*/
|
|
19
|
-
makeOracleInvitation(oracleId: string): Promise<Invitation<{
|
|
19
|
+
makeOracleInvitation(oracleId: string): Promise<globalThis.Invitation<{
|
|
20
20
|
invitationMakers: {
|
|
21
21
|
/** @param {import('./roundsManager.js').PriceRound} result */
|
|
22
|
-
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<Invitation<void, undefined>>;
|
|
23
|
-
} &
|
|
22
|
+
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<globalThis.Invitation<void, undefined>>;
|
|
23
|
+
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
24
24
|
/** @param {import('./roundsManager.js').PriceRound} result */
|
|
25
|
-
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<Invitation<void, undefined>>;
|
|
25
|
+
PushPrice(result: import("./roundsManager.js").PriceRound): Promise<globalThis.Invitation<void, undefined>>;
|
|
26
26
|
}>;
|
|
27
27
|
oracle: import("@endo/exo").Guarded<{
|
|
28
28
|
pushPrice({ roundId: roundIdRaw, unitPrice: valueRaw, }: PriceDatum): Promise<void>;
|
|
@@ -92,7 +92,7 @@ export function prepareRoundsManagerKit(baggage: any): (args_0: Readonly<import(
|
|
|
92
92
|
}): ((priceQuery: any) => Promise<{
|
|
93
93
|
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
94
94
|
quotePayment: globalThis.Payment<"set", PriceDescription>;
|
|
95
|
-
}> | undefined) &
|
|
95
|
+
}> | undefined) & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, (priceQuery: any) => Promise<{
|
|
96
96
|
quoteAmount: import("@agoric/ertp").SetAmount<PriceDescription>;
|
|
97
97
|
quotePayment: globalThis.Payment<"set", PriceDescription>;
|
|
98
98
|
}> | undefined>;
|
|
@@ -7,7 +7,7 @@ import { Far } from '@endo/marshal';
|
|
|
7
7
|
import { AmountMath, AssetKind } from '@agoric/ertp';
|
|
8
8
|
import { deeplyFulfilledObject } from '@agoric/internal';
|
|
9
9
|
import { makeRatio } from '@agoric/zoe/src/contractSupport/index.js';
|
|
10
|
-
import { parseRatio } from '@agoric/
|
|
10
|
+
import { parseRatio } from '@agoric/ertp/src/ratio.js';
|
|
11
11
|
import { E } from '@endo/far';
|
|
12
12
|
import { Stable } from '@agoric/internal/src/tokens.js';
|
|
13
13
|
import { TimeMath } from '@agoric/time/src/timeMath.js';
|
|
@@ -10,7 +10,19 @@ import { makeGovernedTerms as makeGovernedATerms } from '../auction/params.js';
|
|
|
10
10
|
import { makeReserveTerms } from '../reserve/params.js';
|
|
11
11
|
import { makeGovernedTerms as makeGovernedVFTerms } from '../vaultFactory/params.js';
|
|
12
12
|
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* @import {GovernorCreatorFacet, GovernanceFacetKit, GovernorStartedInstallationKit} from '@agoric/governance/src/types.js';
|
|
15
|
+
* @import {StartedInstanceKit} from '@agoric/zoe/src/zoeService/utils.js';
|
|
16
|
+
* @import {AdminFacet} from '@agoric/zoe';
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
// Duplicated from vaultFactory/types-ambient.js to solve a CI problem.
|
|
20
|
+
// Not worth refactoring to DRY because vaultFactory is going away.
|
|
21
|
+
/**
|
|
22
|
+
* @typedef {object} InterestTiming
|
|
23
|
+
* @property {import('@agoric/time').RelativeTime} chargingPeriod in seconds
|
|
24
|
+
* @property {import('@agoric/time').RelativeTime} recordingPeriod in seconds
|
|
25
|
+
*/
|
|
14
26
|
|
|
15
27
|
const trace = makeTracer('RunEconBehaviors', true);
|
|
16
28
|
|
|
@@ -25,8 +37,10 @@ export const SECONDS_PER_WEEK = 7n * SECONDS_PER_DAY;
|
|
|
25
37
|
/**
|
|
26
38
|
* @typedef {object} PSMKit
|
|
27
39
|
* @property {string} label
|
|
28
|
-
* @property {Instance} psm
|
|
29
|
-
* @property {Instance
|
|
40
|
+
* @property {Instance<import('../psm/psm.js').start>} psm
|
|
41
|
+
* @property {Instance<
|
|
42
|
+
* import('../../../governance/src/contractGovernor.js').start
|
|
43
|
+
* >} psmGovernor
|
|
30
44
|
* @property {Awaited<
|
|
31
45
|
* ReturnType<
|
|
32
46
|
* Awaited<
|
|
@@ -55,10 +55,10 @@ export const upgradeVaults = async (
|
|
|
55
55
|
|
|
56
56
|
await priceAuthority8400;
|
|
57
57
|
|
|
58
|
+
/** @type {Instance<import('../auction/auctioneer.js').start>} */
|
|
58
59
|
const auctionNewInstance = await auctionUpgradeNewInstance;
|
|
59
60
|
auctionUpgradeNewInstanceProducer.reset();
|
|
60
61
|
const publicFacet = E(zoe).getPublicFacet(auctionNewInstance);
|
|
61
|
-
/** @type {import('@agoric/inter-protocol/src/auction/scheduler.js').FullSchedule} */
|
|
62
62
|
const schedules = await E(publicFacet).getSchedules();
|
|
63
63
|
const now = await E(chainTimerService).getCurrentTimestamp();
|
|
64
64
|
(schedules.nextAuctionSchedule &&
|
|
@@ -97,7 +97,6 @@ export const upgradeVaults = async (
|
|
|
97
97
|
for (const kwd of Object.keys(vaultBrands)) {
|
|
98
98
|
const collateralBrand = vaultBrands[kwd];
|
|
99
99
|
|
|
100
|
-
/** @type {any} */
|
|
101
100
|
const governedParams = await E(directorPF).getGovernedParams({
|
|
102
101
|
collateralBrand,
|
|
103
102
|
});
|
package/src/provisionPool.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* @import {Marshal} from '@endo/marshal';
|
|
3
|
+
* @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
|
|
4
|
+
* @import {ContractMeta, Invitation, StandardTerms, ZCF} from '@agoric/zoe';
|
|
5
|
+
* @import {GovernanceTerms} from '@agoric/governance/src/types.js';
|
|
6
|
+
*/
|
|
2
7
|
/** @type {ContractMeta} */
|
|
3
8
|
export const meta: ContractMeta;
|
|
4
9
|
export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
@@ -16,14 +21,14 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
16
21
|
} & {
|
|
17
22
|
Electorate: "invitation";
|
|
18
23
|
}>;
|
|
19
|
-
} &
|
|
24
|
+
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
20
25
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
21
26
|
PerAccountInitialAmount: "amount";
|
|
22
27
|
} & {
|
|
23
28
|
Electorate: "invitation";
|
|
24
29
|
}>;
|
|
25
30
|
}>;
|
|
26
|
-
getInvitation: (name: any) => Promise<Invitation
|
|
31
|
+
getInvitation: (name: any) => Promise<Invitation>;
|
|
27
32
|
getLimitedCreatorFacet: () => any;
|
|
28
33
|
getGovernedApis: () => GovernedApis;
|
|
29
34
|
getGovernedApiNames: () => string[];
|
|
@@ -43,8 +48,8 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
43
48
|
getUnknown: (name: string) => any;
|
|
44
49
|
getSubscription: () => globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
|
|
45
50
|
getGovernedParams: () => globalThis.ERef<globalThis.ParamStateRecord>;
|
|
46
|
-
getMetrics(): any
|
|
47
|
-
getPublicTopics(): any
|
|
51
|
+
getMetrics(): Promise<any>;
|
|
52
|
+
getPublicTopics(): Promise<any>;
|
|
48
53
|
}>;
|
|
49
54
|
}>;
|
|
50
55
|
/**
|
|
@@ -53,5 +58,12 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
53
58
|
export type ProvisionTerms = StandardTerms & GovernanceTerms<{
|
|
54
59
|
PerAccountInitialAmount: "amount";
|
|
55
60
|
}>;
|
|
61
|
+
import type { ContractMeta } from '@agoric/zoe';
|
|
62
|
+
import type { ZCF } from '@agoric/zoe';
|
|
63
|
+
import type { Invitation } from '@agoric/zoe';
|
|
56
64
|
import type { Marshal } from '@endo/marshal';
|
|
65
|
+
import type { Amount } from '@agoric/ertp';
|
|
66
|
+
import type { Brand } from '@agoric/ertp';
|
|
67
|
+
import type { StandardTerms } from '@agoric/zoe';
|
|
68
|
+
import type { GovernanceTerms } from '@agoric/governance/src/types.js';
|
|
57
69
|
//# sourceMappingURL=provisionPool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAmBA;;;;;GAKG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAsBK,2BAbI,IAAI,cAAc,CAAC,eACnB;IACN,QAAQ,EAAE,OAAO,WAAW,EAAE,IAAI,CACtC,OAAa,8BAA8B,EAAE,IAAI,CAC5C,CAAC;IACF,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,uBAAuB,EAAE,mBAAmB,CAAC;IACtE,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7D,WACO,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0E5C;;;;6BA1FY,aAAa,GACzB,gBAAoB;IACd,uBAAuB,EAAE,QAAQ,CAAC;CACnC,CAAC;kCA1BwD,aAAa;yBAAb,aAAa;gCAAb,aAAa;6BAFlD,eAAe;4BACO,cAAc;2BAAd,cAAc;mCACC,aAAa;qCAC1C,iCAAiC"}
|
package/src/provisionPool.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// @jessie-check
|
|
2
|
-
// @ts-check
|
|
3
2
|
|
|
4
3
|
import {
|
|
5
4
|
handleParamGovernance,
|
|
@@ -18,7 +17,12 @@ import {
|
|
|
18
17
|
prepareProvisionPoolKit,
|
|
19
18
|
} from './provisionPoolKit.js';
|
|
20
19
|
|
|
21
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* @import {Marshal} from '@endo/marshal';
|
|
22
|
+
* @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
|
|
23
|
+
* @import {ContractMeta, Invitation, StandardTerms, ZCF} from '@agoric/zoe';
|
|
24
|
+
* @import {GovernanceTerms} from '@agoric/governance/src/types.js';
|
|
25
|
+
*/
|
|
22
26
|
|
|
23
27
|
/** @type {ContractMeta} */
|
|
24
28
|
export const meta = {
|
|
@@ -89,33 +93,35 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
89
93
|
makeBridgeProvisionTool,
|
|
90
94
|
});
|
|
91
95
|
|
|
96
|
+
const poolBrand = /** @type {Brand<'nat'>} */ (
|
|
97
|
+
params.getPerAccountInitialAmount().brand
|
|
98
|
+
);
|
|
92
99
|
const provisionPoolKit = await provideSingleton(
|
|
93
100
|
baggage,
|
|
94
101
|
'provisionPoolKit',
|
|
95
102
|
() =>
|
|
96
103
|
makeProvisionPoolKit({
|
|
97
|
-
|
|
98
|
-
// NB: changing the brand will break this pool
|
|
99
|
-
// @ts-expect-error XXX Brand AssetKind
|
|
100
|
-
poolBrand: params.getPerAccountInitialAmount().brand,
|
|
104
|
+
poolBrand,
|
|
101
105
|
storageNode: privateArgs.storageNode,
|
|
102
106
|
}),
|
|
103
|
-
kit => kit.helper.start({ metrics: metricsOverride }),
|
|
104
107
|
);
|
|
108
|
+
provisionPoolKit.helper.start(poolBrand, { metrics: metricsOverride });
|
|
105
109
|
|
|
106
110
|
const publicFacet = prepareExo(
|
|
107
111
|
baggage,
|
|
108
112
|
'Provisioning Pool public',
|
|
109
113
|
M.interface('ProvisionPool', {
|
|
110
|
-
getMetrics: M.
|
|
111
|
-
getPublicTopics: M.
|
|
114
|
+
getMetrics: M.callWhen().returns(M.remotable('MetricsSubscriber')),
|
|
115
|
+
getPublicTopics: M.callWhen().returns(TopicsRecordShape),
|
|
112
116
|
...publicMixinAPI,
|
|
113
117
|
}),
|
|
114
118
|
{
|
|
115
|
-
getMetrics() {
|
|
119
|
+
async getMetrics() {
|
|
120
|
+
await null;
|
|
116
121
|
return provisionPoolKit.public.getPublicTopics().metrics.subscriber;
|
|
117
122
|
},
|
|
118
|
-
getPublicTopics() {
|
|
123
|
+
async getPublicTopics() {
|
|
124
|
+
await null;
|
|
119
125
|
return provisionPoolKit.public.getPublicTopics();
|
|
120
126
|
},
|
|
121
127
|
...publicMixin,
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
export function prepareBridgeProvisionTool(zone: import("@agoric/zone").Zone): (bankManager
|
|
1
|
+
export function prepareBridgeProvisionTool(zone: import("@agoric/zone").Zone): (bankManager: ERef<import("@endo/exo").Guarded<{
|
|
2
|
+
getAssetSubscription(): IterableEachTopic<AssetDescriptor>;
|
|
3
|
+
getRewardDistributorDepositFacet(denom: string, feeKit: AssetIssuerKit): ERef<import("jessie.js").EOnly<import("@agoric/ertp").DepositFacet>>;
|
|
4
|
+
getModuleAccountAddress(moduleName: string): Promise<string | null>;
|
|
5
|
+
addAsset(denom: string, issuerName: string, proposedName: string, kit: AssetIssuerKit & {
|
|
6
|
+
payment?: ERef<Payment<"nat">>;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
getBankForAddress(address: string): Promise<Bank>;
|
|
9
|
+
}>>, walletFactory: ERef<import("@endo/exo").Guarded<{
|
|
10
|
+
provideSmartWallet(address: string, bank: ERef<import("@agoric/vats/src/vat-bank.js").Bank>, namesByAddressAdmin: ERef<import("@agoric/vats").NameAdmin>): Promise<[wallet: import("@agoric/smart-wallet/src/smartWallet").SmartWallet, isNew: boolean]>;
|
|
11
|
+
}>>, namesByAddressAdmin: ERef<import("@agoric/vats").NameAdmin>, forHandler: any) => import("@endo/exo").Guarded<{
|
|
2
12
|
/** @param {BridgeMessage} obj */
|
|
3
13
|
fromBridge(obj: BridgeMessage): Promise<void>;
|
|
4
14
|
}>;
|
|
@@ -15,6 +25,7 @@ export function prepareProvisionPoolKit(zone: import("@agoric/zone").Zone, { mak
|
|
|
15
25
|
export type ProvisionPoolKit = {
|
|
16
26
|
machine: any;
|
|
17
27
|
helper: any;
|
|
28
|
+
forHandler: any;
|
|
18
29
|
public: any;
|
|
19
30
|
};
|
|
20
31
|
export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance<(zcf: ZCF<GovernanceTerms<{
|
|
@@ -29,7 +40,7 @@ export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance
|
|
|
29
40
|
initialPoserInvitation: Invitation;
|
|
30
41
|
storageNode: StorageNode;
|
|
31
42
|
marshaller: Marshaller;
|
|
32
|
-
}, baggage:
|
|
43
|
+
}, baggage: Baggage) => Promise<{
|
|
33
44
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
34
45
|
getParamMgrRetriever: () => {
|
|
35
46
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
|
|
@@ -39,7 +50,7 @@ export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance
|
|
|
39
50
|
} & {
|
|
40
51
|
Electorate: "invitation";
|
|
41
52
|
}>;
|
|
42
|
-
} &
|
|
53
|
+
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
43
54
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
|
|
44
55
|
GiveMintedFee: "ratio";
|
|
45
56
|
MintLimit: "amount";
|
|
@@ -48,11 +59,11 @@ export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance
|
|
|
48
59
|
Electorate: "invitation";
|
|
49
60
|
}>;
|
|
50
61
|
}>;
|
|
51
|
-
getInvitation: (name: any) => Promise<Invitation
|
|
62
|
+
getInvitation: (name: any) => Promise<globalThis.Invitation>;
|
|
52
63
|
getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
|
|
53
64
|
getRewardAllocation(): Allocation;
|
|
54
|
-
makeCollectFeesInvitation(): Promise<Invitation<string
|
|
55
|
-
makeRestoreMetricsInvitation(): Promise<Invitation<void, Omit<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification, "anchorPoolBalance">>>;
|
|
65
|
+
makeCollectFeesInvitation(): Promise<globalThis.Invitation<string>>;
|
|
66
|
+
makeRestoreMetricsInvitation(): Promise<globalThis.Invitation<void, Omit<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification, "anchorPoolBalance">>>;
|
|
56
67
|
}>;
|
|
57
68
|
getGovernedApis: () => GovernedApis;
|
|
58
69
|
getGovernedApiNames: () => string[];
|
|
@@ -77,8 +88,8 @@ export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance
|
|
|
77
88
|
getPublicTopics(): {
|
|
78
89
|
metrics: import("@agoric/zoe/src/contractSupport").PublicTopic<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>;
|
|
79
90
|
};
|
|
80
|
-
makeWantMintedInvitation(): Promise<Invitation<void, undefined>>;
|
|
81
|
-
makeGiveMintedInvitation(): Promise<Invitation<void, undefined>>;
|
|
91
|
+
makeWantMintedInvitation(): Promise<globalThis.Invitation<void, undefined>>;
|
|
92
|
+
makeGiveMintedInvitation(): Promise<globalThis.Invitation<void, undefined>>;
|
|
82
93
|
}>;
|
|
83
94
|
}>>;
|
|
84
95
|
export type ProvisionPoolKitReferences = {
|
|
@@ -106,9 +117,13 @@ export type MetricsNotification = {
|
|
|
106
117
|
*/
|
|
107
118
|
totalMintedConverted: Amount<"nat">;
|
|
108
119
|
};
|
|
109
|
-
import type { BridgeMessage } from '@agoric/cosmic-swingset/src/types.js';
|
|
110
|
-
import type { Bank } from '@agoric/vats/src/vat-bank.js';
|
|
111
120
|
import type { ERef } from '@endo/far';
|
|
112
|
-
import type {
|
|
121
|
+
import type { Payment } from '@agoric/ertp';
|
|
122
|
+
import type { Bank } from '@agoric/vats/src/vat-bank.js';
|
|
123
|
+
import type { BridgeMessage } from '@agoric/cosmic-swingset/src/types.js';
|
|
124
|
+
import type { ZCF } from '@agoric/zoe';
|
|
125
|
+
import type { Brand } from '@agoric/ertp';
|
|
126
|
+
import type { StorageNode } from '@agoric/internal/src/lib-chainStorage.js';
|
|
127
|
+
import type { Amount } from '@agoric/ertp';
|
|
113
128
|
import type { BankManager } from '@agoric/vats/src/vat-bank.js';
|
|
114
129
|
//# sourceMappingURL=provisionPoolKit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"AAmFO,iDAFI,OAAO,cAAc,EAAE,IAAI;;;;;eA8gBoqB,CAAC;;;;;;IArfrsB,iCAAiC;oBAArB,aAAa;GA6B5B;AAYI,8CATI,OAAO,cAAc,EAAE,IAAI,uEAC3B;IACN,eAAe,EAAE,OAAO,6CAA6C,EAAE,eAAe,CAAC;IACvF,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,OAAO,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,GAAG,EAAE,GAAG,CAAC;IACT,uBAAuB,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;CACxE,gCA6bC;IAA2B,SAAS,EAA5B,MAAM,KAAK,CAAC;IACY,WAAW,EAAnC,KAAK,WAAW,CAAC;CACzB,KAAU,OAAO,CAAC,gBAAgB,CAAC,CAcvC;+BAljBY;IACR,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;CACb;0BAIS,OAAO,qCAAqC,EAAE,QAAQ,CAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyD,CACtD;;iBAKU,KAAK,WAAW,CAAC;yBACjB,KAAK,OAAO,cAAc,EAAE,SAAS,CAAC;mBACtC,KACb,OAAW,6CAA6C,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAC/F;;;;;;;;;;wBAMU,MAAM;;;;;yBACN,OAAO,KAAK,CAAC;;;;;0BAEb,OAAO,KAAK,CAAC;;0BAzCJ,WAAW;6BAHc,cAAc;0BAI1B,8BAA8B;mCALlC,sCAAsC;yBAGhD,aAAa;2BAFa,cAAc;iCAChC,0CAA0C;4BADxB,cAAc;iCAI1B,8BAA8B"}
|
package/src/provisionPoolKit.js
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
makeScalarBigMapStore,
|
|
16
16
|
makeScalarBigSetStore,
|
|
17
17
|
} from '@agoric/vat-data';
|
|
18
|
+
import { makeAtomicProvider, makeScalarMapStore } from '@agoric/store';
|
|
18
19
|
import { PowerFlags } from '@agoric/vats/src/walletFlags.js';
|
|
19
20
|
import {
|
|
20
21
|
PublicTopicShape,
|
|
@@ -24,7 +25,13 @@ import { InstanceHandleShape } from '@agoric/zoe/src/typeGuards.js';
|
|
|
24
25
|
import { isUpgradeDisconnection } from '@agoric/internal/src/upgrade-api.js';
|
|
25
26
|
|
|
26
27
|
/**
|
|
28
|
+
* @import {EReturn} from '@endo/far';
|
|
27
29
|
* @import {BridgeMessage} from '@agoric/cosmic-swingset/src/types.js';
|
|
30
|
+
* @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
|
|
31
|
+
* @import {StorageNode} from '@agoric/internal/src/lib-chainStorage.js';
|
|
32
|
+
* @import {ZCF} from '@agoric/zoe';
|
|
33
|
+
* @import {ERef} from '@endo/far'
|
|
34
|
+
* @import {Bank, BankManager} from '@agoric/vats/src/vat-bank.js'
|
|
28
35
|
*/
|
|
29
36
|
|
|
30
37
|
const trace = makeTracer('ProvPool');
|
|
@@ -33,17 +40,12 @@ const FIRST_UPPER_KEYWORD = /^[A-Z][a-zA-Z0-9_$]*$/;
|
|
|
33
40
|
// see https://github.com/Agoric/agoric-sdk/issues/8238
|
|
34
41
|
const FIRST_LOWER_NEAR_KEYWORD = /^[a-z][a-zA-Z0-9_$]*$/;
|
|
35
42
|
|
|
36
|
-
/**
|
|
37
|
-
* @import {ERef} from '@endo/far'
|
|
38
|
-
* @import {Amount} from '@agoric/ertp/src/types.js'
|
|
39
|
-
* @import {Bank, BankManager} from '@agoric/vats/src/vat-bank.js'
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
43
|
// XXX when inferred, error TS2742: cannot be named without a reference to '../../../node_modules/@endo/exo/src/get-interface.js'. This is likely not portable. A type annotation is necessary.
|
|
43
44
|
/**
|
|
44
45
|
* @typedef {{
|
|
45
46
|
* machine: any;
|
|
46
47
|
* helper: any;
|
|
48
|
+
* forHandler: any;
|
|
47
49
|
* public: any;
|
|
48
50
|
* }} ProvisionPoolKit
|
|
49
51
|
*/
|
|
@@ -85,6 +87,16 @@ export const prepareBridgeProvisionTool = zone =>
|
|
|
85
87
|
M.interface('ProvisionBridgeHandlerMaker', {
|
|
86
88
|
fromBridge: M.callWhen(M.record()).returns(),
|
|
87
89
|
}),
|
|
90
|
+
/**
|
|
91
|
+
* @param {ERef<BankManager>} bankManager
|
|
92
|
+
* @param {ERef<
|
|
93
|
+
* EReturn<
|
|
94
|
+
* import('@agoric/smart-wallet/src/walletFactory.js').start
|
|
95
|
+
* >['creatorFacet']
|
|
96
|
+
* >} walletFactory
|
|
97
|
+
* @param {ERef<import('@agoric/vats').NameAdmin>} namesByAddressAdmin
|
|
98
|
+
* @param {ProvisionPoolKit['forHandler']} forHandler
|
|
99
|
+
*/
|
|
88
100
|
(bankManager, walletFactory, namesByAddressAdmin, forHandler) => ({
|
|
89
101
|
bankManager,
|
|
90
102
|
walletFactory,
|
|
@@ -138,6 +150,20 @@ export const prepareProvisionPoolKit = (
|
|
|
138
150
|
{ makeRecorderKit, params, poolBank, zcf, makeBridgeProvisionTool },
|
|
139
151
|
) => {
|
|
140
152
|
const zoe = zcf.getZoeService();
|
|
153
|
+
const ephemeralPurses = makeScalarMapStore('fundingPurseForBrand');
|
|
154
|
+
const purseProvider = makeAtomicProvider(ephemeralPurses);
|
|
155
|
+
const getFundingPurseForBrand = async poolBrand => {
|
|
156
|
+
await null;
|
|
157
|
+
try {
|
|
158
|
+
const purse = await purseProvider.provideAsync(poolBrand, brand =>
|
|
159
|
+
E(poolBank).getPurse(brand),
|
|
160
|
+
);
|
|
161
|
+
return purse;
|
|
162
|
+
} catch (err) {
|
|
163
|
+
trace(`🚨 could not get purse for brand ${poolBrand}`, err);
|
|
164
|
+
throw err;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
141
167
|
|
|
142
168
|
const makeProvisionPoolKitInternal = zone.exoClassKit(
|
|
143
169
|
'ProvisionPoolKit',
|
|
@@ -169,7 +195,7 @@ export const prepareProvisionPoolKit = (
|
|
|
169
195
|
},
|
|
170
196
|
/**
|
|
171
197
|
* @param {object} opts
|
|
172
|
-
* @param {Purse<'nat'>} opts.fundPurse
|
|
198
|
+
* @param {Purse<'nat'>} [opts.fundPurse]
|
|
173
199
|
* @param {Brand<'nat'>} opts.poolBrand
|
|
174
200
|
* @param {StorageNode} opts.metricsNode
|
|
175
201
|
*/
|
|
@@ -324,35 +350,43 @@ export const prepareProvisionPoolKit = (
|
|
|
324
350
|
);
|
|
325
351
|
facets.helper.publishMetrics();
|
|
326
352
|
},
|
|
353
|
+
/**
|
|
354
|
+
* @param {Amount} amount
|
|
355
|
+
* @param {ERef<Purse>} srcPurse
|
|
356
|
+
*/
|
|
357
|
+
async onPoolDeposit(amount, srcPurse) {
|
|
358
|
+
const { helper } = this.facets;
|
|
359
|
+
const { brandToPSM, poolBrand } = this.state;
|
|
360
|
+
|
|
361
|
+
const { brand } = amount;
|
|
362
|
+
if (AmountMath.isEmpty(amount) || brand === poolBrand) {
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
// `amount` doesn't match the current `poolBrand`, so we need to swap
|
|
367
|
+
// it.
|
|
368
|
+
if (!brandToPSM.has(brand)) {
|
|
369
|
+
console.error('funds arrived but no PSM instance', brand);
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
const instance = brandToPSM.get(brand);
|
|
373
|
+
const payment = E(srcPurse).withdraw(amount);
|
|
374
|
+
await helper.swap(payment, amount, instance).catch(async reason => {
|
|
375
|
+
console.error(X`swap failed: ${reason}`);
|
|
376
|
+
const resolvedPayment = await payment;
|
|
377
|
+
return E(srcPurse).deposit(resolvedPayment);
|
|
378
|
+
});
|
|
379
|
+
},
|
|
327
380
|
/**
|
|
328
381
|
* @param {ERef<Purse>} exchangePurse
|
|
329
382
|
* @param {ERef<Brand>} brand
|
|
330
383
|
*/
|
|
331
384
|
watchCurrentAmount(exchangePurse, brand) {
|
|
332
|
-
const {
|
|
333
|
-
state: { brandToPSM, poolBrand },
|
|
334
|
-
facets: { helper },
|
|
335
|
-
} = this;
|
|
336
|
-
|
|
385
|
+
const { helper } = this.facets;
|
|
337
386
|
void observeNotifier(E(exchangePurse).getCurrentAmountNotifier(), {
|
|
338
387
|
updateState: async amount => {
|
|
339
388
|
trace('provisionPool balance update', amount);
|
|
340
|
-
|
|
341
|
-
return;
|
|
342
|
-
}
|
|
343
|
-
if (!brandToPSM.has(brand)) {
|
|
344
|
-
console.error('funds arrived but no PSM instance', brand);
|
|
345
|
-
return;
|
|
346
|
-
}
|
|
347
|
-
const instance = brandToPSM.get(brand);
|
|
348
|
-
const payment = E(exchangePurse).withdraw(amount);
|
|
349
|
-
await helper
|
|
350
|
-
.swap(payment, amount, instance)
|
|
351
|
-
.catch(async reason => {
|
|
352
|
-
console.error(X`swap failed: ${reason}`);
|
|
353
|
-
const resolvedPayment = await payment;
|
|
354
|
-
return E(exchangePurse).deposit(resolvedPayment);
|
|
355
|
-
});
|
|
389
|
+
await helper.onPoolDeposit(amount, exchangePurse);
|
|
356
390
|
},
|
|
357
391
|
fail: reason => {
|
|
358
392
|
if (isUpgradeDisconnection(reason)) {
|
|
@@ -418,40 +452,50 @@ export const prepareProvisionPoolKit = (
|
|
|
418
452
|
);
|
|
419
453
|
},
|
|
420
454
|
/**
|
|
455
|
+
* @param {Brand<'nat'>} poolBrand
|
|
421
456
|
* @param {object} [options]
|
|
422
457
|
* @param {MetricsNotification} [options.metrics]
|
|
423
458
|
*/
|
|
424
|
-
start({ metrics } = {}) {
|
|
425
|
-
const {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
} = this;
|
|
459
|
+
start(poolBrand, { metrics } = {}) {
|
|
460
|
+
const { facets, state } = this;
|
|
461
|
+
const { helper } = facets;
|
|
462
|
+
const lastPoolBrand = state.poolBrand;
|
|
429
463
|
|
|
430
|
-
//
|
|
431
|
-
//
|
|
432
|
-
// That would be a severe bug.
|
|
464
|
+
// The PerAccountInitialAmount param must use the correct brand for
|
|
465
|
+
// this incarnation.
|
|
433
466
|
AmountMath.coerce(poolBrand, params.getPerAccountInitialAmount());
|
|
434
467
|
|
|
435
|
-
|
|
436
|
-
|
|
468
|
+
// Restore old metrics.
|
|
437
469
|
if (metrics) {
|
|
438
|
-
// Restore state.
|
|
439
|
-
// we publishMetrics() below
|
|
440
470
|
const {
|
|
441
471
|
walletsProvisioned,
|
|
442
472
|
totalMintedProvided,
|
|
443
473
|
totalMintedConverted,
|
|
444
474
|
} = metrics;
|
|
445
475
|
assert.typeof(walletsProvisioned, 'bigint');
|
|
446
|
-
AmountMath.coerce(
|
|
447
|
-
AmountMath.coerce(
|
|
448
|
-
Object.assign(
|
|
476
|
+
AmountMath.coerce(lastPoolBrand, totalMintedProvided);
|
|
477
|
+
AmountMath.coerce(lastPoolBrand, totalMintedConverted);
|
|
478
|
+
Object.assign(state, {
|
|
449
479
|
walletsProvisioned,
|
|
450
480
|
totalMintedProvided,
|
|
451
481
|
totalMintedConverted,
|
|
452
482
|
});
|
|
453
483
|
helper.publishMetrics();
|
|
454
484
|
}
|
|
485
|
+
|
|
486
|
+
// Update as needed when `poolBrand` changes.
|
|
487
|
+
if (poolBrand !== lastPoolBrand) {
|
|
488
|
+
state.poolBrand = poolBrand;
|
|
489
|
+
state.fundPurse = undefined;
|
|
490
|
+
void getFundingPurseForBrand(poolBrand).then(purse =>
|
|
491
|
+
helper.updateFundPurse(purse, poolBrand),
|
|
492
|
+
);
|
|
493
|
+
state.totalMintedProvided = AmountMath.makeEmpty(poolBrand);
|
|
494
|
+
state.totalMintedConverted = AmountMath.makeEmpty(poolBrand);
|
|
495
|
+
helper.publishMetrics();
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
void helper.watchAssetSubscription();
|
|
455
499
|
},
|
|
456
500
|
/**
|
|
457
501
|
* @param {ERef<Payment>} payIn
|
|
@@ -459,10 +503,13 @@ export const prepareProvisionPoolKit = (
|
|
|
459
503
|
* @param {PsmInstance} instance
|
|
460
504
|
*/
|
|
461
505
|
async swap(payIn, amount, instance) {
|
|
506
|
+
await null;
|
|
507
|
+
const { facets, state } = this;
|
|
508
|
+
const { helper } = facets;
|
|
462
509
|
const {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
} =
|
|
510
|
+
poolBrand,
|
|
511
|
+
fundPurse = await getFundingPurseForBrand(poolBrand),
|
|
512
|
+
} = state;
|
|
466
513
|
const psmPub = E(zoe).getPublicFacet(instance);
|
|
467
514
|
const proposal = harden({ give: { In: amount } });
|
|
468
515
|
const invitation = E(psmPub).makeWantMintedInvitation();
|
|
@@ -472,22 +519,35 @@ export const prepareProvisionPoolKit = (
|
|
|
472
519
|
helper.onTrade(rxd);
|
|
473
520
|
return rxd;
|
|
474
521
|
},
|
|
522
|
+
/**
|
|
523
|
+
* @param {Purse<'nat'>} purse
|
|
524
|
+
* @param {Brand<'nat'>} brand
|
|
525
|
+
*/
|
|
526
|
+
updateFundPurse(purse, brand) {
|
|
527
|
+
const { state } = this;
|
|
528
|
+
if (brand !== state.poolBrand || state.fundPurse) return;
|
|
529
|
+
state.fundPurse = purse;
|
|
530
|
+
},
|
|
475
531
|
},
|
|
476
532
|
forHandler: {
|
|
477
533
|
onProvisioned() {
|
|
478
|
-
const {
|
|
534
|
+
const { facets, state } = this;
|
|
479
535
|
state.walletsProvisioned += 1n;
|
|
480
536
|
facets.helper.publishMetrics();
|
|
481
537
|
},
|
|
482
538
|
/** @param {ERef<Bank>} destBank */
|
|
483
539
|
async sendInitialPayment(destBank) {
|
|
540
|
+
await null;
|
|
541
|
+
const { facets, state } = this;
|
|
542
|
+
const { helper } = facets;
|
|
484
543
|
const {
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
} =
|
|
544
|
+
poolBrand,
|
|
545
|
+
fundPurse = await getFundingPurseForBrand(poolBrand),
|
|
546
|
+
} = state;
|
|
488
547
|
const perAccountInitialAmount = /** @type {Amount<'nat'>} */ (
|
|
489
548
|
params.getPerAccountInitialAmount()
|
|
490
549
|
);
|
|
550
|
+
trace('sendInitialPayment withdrawing', perAccountInitialAmount);
|
|
491
551
|
const initialPmt = await E(fundPurse).withdraw(
|
|
492
552
|
perAccountInitialAmount,
|
|
493
553
|
);
|
|
@@ -533,7 +593,7 @@ export const prepareProvisionPoolKit = (
|
|
|
533
593
|
* @returns {Promise<ProvisionPoolKit>}
|
|
534
594
|
*/
|
|
535
595
|
const makeProvisionPoolKit = async ({ poolBrand, storageNode }) => {
|
|
536
|
-
const fundPurse = await
|
|
596
|
+
const fundPurse = await getFundingPurseForBrand(poolBrand);
|
|
537
597
|
const metricsNode = await E(storageNode).makeChildNode('metrics');
|
|
538
598
|
|
|
539
599
|
return makeProvisionPoolKitInternal({
|
package/src/psm/psm.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/**
|
|
9
9
|
* @import {EReturn} from '@endo/far';
|
|
10
|
+
* @import {ContractMeta, FeeMintAccess, Installation} from '@agoric/zoe';
|
|
10
11
|
*/
|
|
11
12
|
/**
|
|
12
13
|
* @typedef {object} MetricsNotification Metrics naming scheme is that nouns are
|
|
@@ -50,7 +51,7 @@ export function start(zcf: ZCF<GovernanceTerms<{
|
|
|
50
51
|
} & {
|
|
51
52
|
Electorate: "invitation";
|
|
52
53
|
}>;
|
|
53
|
-
} &
|
|
54
|
+
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
54
55
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
55
56
|
GiveMintedFee: "ratio";
|
|
56
57
|
MintLimit: "amount";
|
|
@@ -59,11 +60,11 @@ export function start(zcf: ZCF<GovernanceTerms<{
|
|
|
59
60
|
Electorate: "invitation";
|
|
60
61
|
}>;
|
|
61
62
|
}>;
|
|
62
|
-
getInvitation: (name: any) => Promise<Invitation
|
|
63
|
+
getInvitation: (name: any) => Promise<globalThis.Invitation>;
|
|
63
64
|
getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
|
|
64
65
|
getRewardAllocation(): Allocation;
|
|
65
|
-
makeCollectFeesInvitation(): Promise<Invitation<string
|
|
66
|
-
makeRestoreMetricsInvitation(): Promise<Invitation<void, Omit<MetricsNotification, "anchorPoolBalance">>>;
|
|
66
|
+
makeCollectFeesInvitation(): Promise<globalThis.Invitation<string>>;
|
|
67
|
+
makeRestoreMetricsInvitation(): Promise<globalThis.Invitation<void, Omit<MetricsNotification, "anchorPoolBalance">>>;
|
|
67
68
|
}>;
|
|
68
69
|
getGovernedApis: () => GovernedApis;
|
|
69
70
|
getGovernedApiNames: () => string[];
|
|
@@ -88,8 +89,8 @@ export function start(zcf: ZCF<GovernanceTerms<{
|
|
|
88
89
|
getPublicTopics(): {
|
|
89
90
|
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
|
|
90
91
|
};
|
|
91
|
-
makeWantMintedInvitation(): Promise<Invitation<void, undefined>>;
|
|
92
|
-
makeGiveMintedInvitation(): Promise<Invitation<void, undefined>>;
|
|
92
|
+
makeWantMintedInvitation(): Promise<globalThis.Invitation<void, undefined>>;
|
|
93
|
+
makeGiveMintedInvitation(): Promise<globalThis.Invitation<void, undefined>>;
|
|
93
94
|
}>;
|
|
94
95
|
}>;
|
|
95
96
|
/**
|
|
@@ -124,6 +125,9 @@ export type MetricsNotification = {
|
|
|
124
125
|
totalMintedProvided: Amount<"nat">;
|
|
125
126
|
};
|
|
126
127
|
export type PsmPublicFacet = EReturn<typeof start>["publicFacet"];
|
|
128
|
+
import type { ContractMeta } from '@agoric/zoe';
|
|
129
|
+
import type { FeeMintAccess } from '@agoric/zoe';
|
|
127
130
|
import type { Baggage } from '@agoric/vat-data';
|
|
131
|
+
import type { Installation } from '@agoric/zoe';
|
|
128
132
|
import type { EReturn } from '@endo/far';
|
|
129
133
|
//# sourceMappingURL=psm.d.ts.map
|
package/src/psm/psm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psm.d.ts","sourceRoot":"","sources":["psm.js"],"names":[],"mappings":"AAqCA;;;;;;GAMG;AAEH
|
|
1
|
+
{"version":3,"file":"psm.d.ts","sourceRoot":"","sources":["psm.js"],"names":[],"mappings":"AAqCA;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;GAGG;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,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;CACxB,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkUjB;;;;;;;;;;uBAzYa,MAAM,CAAC,KAAK,CAAC;;;;;uBAEb,MAAM,CAAC,KAAK,CAAC;;;;;oBAEb,MAAM,CAAC,KAAK,CAAC;;;;;yBAEb,MAAM,CAAC,KAAK,CAAC;;;;;yBAEb,MAAM,CAAC,KAAK,CAAC;;6BAoYb,QAAQ,OAAO,KAAK,CAAb,CAAe,aAAa,CAAC;kCAlZU,aAAa;mCAAb,aAAa;6BAoB/C,kBAAkB;kCApBgB,aAAa;6BAD/C,WAAW"}
|