@agoric/inter-protocol 0.16.2-other-dev-3eb1a1d.0 → 0.16.2-other-dev-d15096d.0.d15096d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +36 -35
- package/src/auction/auctionBook.d.ts +9 -7
- package/src/auction/auctionBook.d.ts.map +1 -1
- package/src/auction/auctionBook.js +58 -32
- package/src/auction/auctionMath.d.ts +1 -1
- package/src/auction/auctionMath.d.ts.map +1 -1
- package/src/auction/auctioneer.d.ts +19 -13
- package/src/auction/auctioneer.d.ts.map +1 -1
- package/src/auction/auctioneer.js +25 -12
- 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 +16 -7
- package/src/auction/params.d.ts.map +1 -1
- package/src/auction/params.js +12 -4
- package/src/auction/scheduleMath.d.ts +5 -3
- package/src/auction/scheduleMath.d.ts.map +1 -1
- package/src/auction/scheduleMath.js +11 -7
- package/src/auction/scheduler.d.ts +9 -4
- package/src/auction/scheduler.d.ts.map +1 -1
- package/src/auction/scheduler.js +14 -6
- 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 +29 -73
- package/src/clientSupport.d.ts.map +1 -1
- package/src/clientSupport.js +29 -128
- package/src/contractSupport.d.ts +2 -2
- package/src/contractSupport.d.ts.map +1 -1
- package/src/econCommitteeCharter.d.ts +15 -8
- package/src/econCommitteeCharter.d.ts.map +1 -1
- package/src/econCommitteeCharter.js +14 -8
- package/src/feeDistributor.d.ts +43 -49
- package/src/feeDistributor.d.ts.map +1 -1
- package/src/feeDistributor.js +7 -3
- package/src/index.js +1 -1
- package/src/interest-math.d.ts +1 -0
- package/src/interest-math.d.ts.map +1 -1
- package/src/interest-math.js +5 -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/README.md +1 -1
- package/src/price/fluxAggregatorContract.d.ts +20 -11
- package/src/price/fluxAggregatorContract.d.ts.map +1 -1
- package/src/price/fluxAggregatorContract.js +17 -9
- package/src/price/fluxAggregatorKit.d.ts +15 -9
- package/src/price/fluxAggregatorKit.d.ts.map +1 -1
- package/src/price/fluxAggregatorKit.js +15 -9
- package/src/price/priceOracleKit.d.ts +4 -2
- package/src/price/priceOracleKit.d.ts.map +1 -1
- package/src/price/priceOracleKit.js +7 -2
- package/src/price/roundsManager.d.ts +8 -6
- package/src/price/roundsManager.d.ts.map +1 -1
- package/src/price/roundsManager.js +5 -2
- package/src/proposals/add-auction.js +38 -4
- package/src/proposals/addAssetToVault.js +8 -4
- package/src/proposals/committee-proposal.js +10 -5
- package/src/proposals/core-proposal.js +9 -3
- package/src/proposals/deploy-price-feeds.js +35 -7
- package/src/proposals/econ-behaviors.js +33 -12
- package/src/proposals/price-feed-proposal.js +10 -3
- package/src/proposals/replace-fee-distributor.js +12 -6
- package/src/proposals/replaceElectorate.js +105 -16
- package/src/proposals/startEconCommittee.js +5 -1
- package/src/proposals/startPSM.js +7 -4
- package/src/proposals/upgrade-vaults.js +15 -5
- package/src/proposals/utils.d.ts +8 -4
- package/src/proposals/utils.d.ts.map +1 -1
- package/src/proposals/utils.js +32 -9
- package/src/proposals/withdraw-reserve-proposal.js +63 -0
- package/src/provisionPool.d.ts +34 -120
- package/src/provisionPool.d.ts.map +1 -1
- package/src/provisionPool.js +43 -21
- package/src/provisionPoolKit.d.ts +43 -328
- package/src/provisionPoolKit.d.ts.map +1 -1
- package/src/provisionPoolKit.js +210 -120
- package/src/psm/psm.d.ts +20 -13
- package/src/psm/psm.d.ts.map +1 -1
- package/src/psm/psm.js +18 -12
- package/src/reserve/assetReserve.d.ts +18 -6
- package/src/reserve/assetReserve.d.ts.map +1 -1
- package/src/reserve/assetReserve.js +26 -23
- package/src/reserve/assetReserveKit.d.ts +38 -6
- package/src/reserve/assetReserveKit.d.ts.map +1 -1
- package/src/reserve/assetReserveKit.js +117 -7
- package/src/reserve/params.d.ts +9 -3
- package/src/reserve/params.d.ts.map +1 -1
- package/src/reserve/params.js +8 -2
- package/src/vaultFactory/burn.d.ts +1 -1
- package/src/vaultFactory/burn.d.ts.map +1 -1
- package/src/vaultFactory/burn.js +1 -1
- package/src/vaultFactory/liquidation.d.ts +7 -3
- package/src/vaultFactory/liquidation.d.ts.map +1 -1
- package/src/vaultFactory/liquidation.js +14 -12
- package/src/vaultFactory/math.d.ts +1 -1
- package/src/vaultFactory/math.d.ts.map +1 -1
- package/src/vaultFactory/math.js +1 -1
- package/src/vaultFactory/orderedVaultStore.d.ts +21 -20
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -1
- package/src/vaultFactory/orderedVaultStore.js +4 -2
- package/src/vaultFactory/params.d.ts +25 -9
- package/src/vaultFactory/params.d.ts.map +1 -1
- package/src/vaultFactory/params.js +29 -11
- package/src/vaultFactory/prioritizedVaults.d.ts +70 -69
- 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 +6 -2
- package/src/vaultFactory/vault.d.ts +34 -30
- package/src/vaultFactory/vault.d.ts.map +1 -1
- package/src/vaultFactory/vault.js +19 -15
- package/src/vaultFactory/vaultDirector.d.ts +81 -63
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -1
- package/src/vaultFactory/vaultDirector.js +38 -24
- package/src/vaultFactory/vaultFactory.d.ts +35 -22
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -1
- package/src/vaultFactory/vaultFactory.js +27 -17
- package/src/vaultFactory/vaultHolder.d.ts +77 -29
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -1
- package/src/vaultFactory/vaultHolder.js +12 -4
- package/src/vaultFactory/vaultKit.d.ts +12 -8
- package/src/vaultFactory/vaultKit.d.ts.map +1 -1
- package/src/vaultFactory/vaultKit.js +12 -5
- package/src/vaultFactory/vaultManager.d.ts +102 -88
- package/src/vaultFactory/vaultManager.d.ts.map +1 -1
- package/src/vaultFactory/vaultManager.js +86 -53
- package/src/proposals/add-auction.d.ts +0 -109
- package/src/proposals/add-auction.d.ts.map +0 -1
- package/src/proposals/addAssetToVault.d.ts +0 -173
- package/src/proposals/addAssetToVault.d.ts.map +0 -1
- package/src/proposals/committee-proposal.d.ts +0 -113
- package/src/proposals/committee-proposal.d.ts.map +0 -1
- package/src/proposals/core-proposal.d.ts +0 -149
- package/src/proposals/core-proposal.d.ts.map +0 -1
- package/src/proposals/deploy-price-feeds.d.ts +0 -76
- package/src/proposals/deploy-price-feeds.d.ts.map +0 -1
- package/src/proposals/econ-behaviors.d.ts +0 -541
- package/src/proposals/econ-behaviors.d.ts.map +0 -1
- package/src/proposals/price-feed-proposal.d.ts +0 -84
- package/src/proposals/price-feed-proposal.d.ts.map +0 -1
- package/src/proposals/replace-fee-distributor.d.ts +0 -48
- package/src/proposals/replace-fee-distributor.d.ts.map +0 -1
- package/src/proposals/replace-scaledPriceAuthorities.d.ts +0 -30
- package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +0 -1
- package/src/proposals/replaceElectorate.d.ts +0 -55
- package/src/proposals/replaceElectorate.d.ts.map +0 -1
- package/src/proposals/startEconCommittee.d.ts +0 -34
- package/src/proposals/startEconCommittee.d.ts.map +0 -1
- package/src/proposals/startPSM.d.ts +0 -59
- package/src/proposals/startPSM.d.ts.map +0 -1
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +0 -24
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +0 -1
- package/src/proposals/upgrade-vaults.d.ts +0 -41
- package/src/proposals/upgrade-vaults.d.ts.map +0 -1
package/src/provisionPool.d.ts
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* @import {Remote} from '@agoric/internal';
|
|
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
|
+
* @import {ERef} from '@endo/far';
|
|
7
|
+
* @import {Bank} from '@agoric/vats/src/vat-bank.js';
|
|
8
|
+
* @import {MetricsNotification} from './provisionPoolKit.js';
|
|
9
|
+
* @import {Baggage} from '@agoric/vat-data';
|
|
10
|
+
*/
|
|
2
11
|
/** @type {ContractMeta} */
|
|
3
12
|
export const meta: ContractMeta;
|
|
4
13
|
export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
5
|
-
poolBank:
|
|
14
|
+
poolBank: ERef<Bank>;
|
|
6
15
|
initialPoserInvitation: Invitation;
|
|
7
|
-
storageNode: StorageNode
|
|
8
|
-
marshaller:
|
|
9
|
-
metricsOverride?:
|
|
10
|
-
|
|
16
|
+
storageNode: Remote<StorageNode>;
|
|
17
|
+
marshaller: Remote<Marshaller>;
|
|
18
|
+
metricsOverride?: MetricsNotification;
|
|
19
|
+
governedParamOverrides?: Record<string, Amount | undefined>;
|
|
20
|
+
}, baggage: Baggage): Promise<{
|
|
11
21
|
creatorFacet: import("@endo/exo").Guarded<{
|
|
12
22
|
getParamMgrRetriever: () => {
|
|
13
23
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
@@ -15,120 +25,15 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
15
25
|
} & {
|
|
16
26
|
Electorate: "invitation";
|
|
17
27
|
}>;
|
|
18
|
-
} &
|
|
28
|
+
} & RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
19
29
|
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
20
30
|
PerAccountInitialAmount: "amount";
|
|
21
31
|
} & {
|
|
22
32
|
Electorate: "invitation";
|
|
23
33
|
}>;
|
|
24
34
|
}>;
|
|
25
|
-
getInvitation: (name: any) => Promise<Invitation
|
|
26
|
-
getLimitedCreatorFacet: () =>
|
|
27
|
-
addRevivableAddresses(oldAddresses: string[]): void;
|
|
28
|
-
getWalletReviver(): import("@endo/exo").Guarded<{
|
|
29
|
-
reviveWallet(address: string): Promise<{
|
|
30
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
31
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
32
|
-
receive(payment: Payment): Promise<Amount>;
|
|
33
|
-
}>;
|
|
34
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
35
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
36
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
37
|
-
}>;
|
|
38
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
39
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
40
|
-
getPublicTopics(): {
|
|
41
|
-
current: {
|
|
42
|
-
description: string;
|
|
43
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
44
|
-
storagePath: Promise<string>;
|
|
45
|
-
};
|
|
46
|
-
updates: {
|
|
47
|
-
description: string;
|
|
48
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
49
|
-
storagePath: Promise<string>;
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
} & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
|
|
53
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
54
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
55
|
-
receive(payment: Payment): Promise<Amount>;
|
|
56
|
-
}>;
|
|
57
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
58
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
59
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
60
|
-
}>;
|
|
61
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
62
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
63
|
-
getPublicTopics(): {
|
|
64
|
-
current: {
|
|
65
|
-
description: string;
|
|
66
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
67
|
-
storagePath: Promise<string>;
|
|
68
|
-
};
|
|
69
|
-
updates: {
|
|
70
|
-
description: string;
|
|
71
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
72
|
-
storagePath: Promise<string>;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
}> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
76
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
77
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
78
|
-
receive(payment: Payment): Promise<Amount>;
|
|
79
|
-
}>;
|
|
80
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
81
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
82
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
83
|
-
}>;
|
|
84
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
85
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
86
|
-
getPublicTopics(): {
|
|
87
|
-
current: {
|
|
88
|
-
description: string;
|
|
89
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
90
|
-
storagePath: Promise<string>;
|
|
91
|
-
};
|
|
92
|
-
updates: {
|
|
93
|
-
description: string;
|
|
94
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
95
|
-
storagePath: Promise<string>;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
} & import("../../../node_modules/@endo/exo/src/get-interface.js").GetInterfaceGuard<{
|
|
99
|
-
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
100
|
-
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
101
|
-
receive(payment: Payment): Promise<Amount>;
|
|
102
|
-
}>;
|
|
103
|
-
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
104
|
-
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
105
|
-
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers.js").OfferId): Promise<void>;
|
|
106
|
-
}>;
|
|
107
|
-
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
108
|
-
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
109
|
-
getPublicTopics(): {
|
|
110
|
-
current: {
|
|
111
|
-
description: string;
|
|
112
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
|
|
113
|
-
storagePath: Promise<string>;
|
|
114
|
-
};
|
|
115
|
-
updates: {
|
|
116
|
-
description: string;
|
|
117
|
-
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
|
|
118
|
-
storagePath: Promise<string>;
|
|
119
|
-
};
|
|
120
|
-
};
|
|
121
|
-
}>> & import("@endo/pass-style").RemotableObject>;
|
|
122
|
-
ackWallet(address: string): boolean;
|
|
123
|
-
}>;
|
|
124
|
-
setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
|
|
125
|
-
makeHandler(): {
|
|
126
|
-
fromBridge: (obj: any) => Promise<void>;
|
|
127
|
-
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
128
|
-
fromBridge: (obj: any) => Promise<void>;
|
|
129
|
-
}>;
|
|
130
|
-
initPSM(brand: Brand, instance: PsmInstance): void;
|
|
131
|
-
}>;
|
|
35
|
+
getInvitation: (name: any) => Promise<Invitation>;
|
|
36
|
+
getLimitedCreatorFacet: () => any;
|
|
132
37
|
getGovernedApis: () => GovernedApis;
|
|
133
38
|
getGovernedApiNames: () => string[];
|
|
134
39
|
setOfferFilter: (strings: any) => Promise<void>;
|
|
@@ -146,11 +51,9 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
146
51
|
getRelativeTime: (name: string) => import("@agoric/time").RelativeTimeRecord;
|
|
147
52
|
getUnknown: (name: string) => any;
|
|
148
53
|
getSubscription: () => globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
|
|
149
|
-
getGovernedParams: () =>
|
|
150
|
-
getMetrics():
|
|
151
|
-
getPublicTopics():
|
|
152
|
-
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./provisionPoolKit.js").MetricsNotification>;
|
|
153
|
-
};
|
|
54
|
+
getGovernedParams: () => ERef<globalThis.ParamStateRecord>;
|
|
55
|
+
getMetrics(): Promise<any>;
|
|
56
|
+
getPublicTopics(): Promise<any>;
|
|
154
57
|
}>;
|
|
155
58
|
}>;
|
|
156
59
|
/**
|
|
@@ -159,5 +62,16 @@ export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
|
159
62
|
export type ProvisionTerms = StandardTerms & GovernanceTerms<{
|
|
160
63
|
PerAccountInitialAmount: "amount";
|
|
161
64
|
}>;
|
|
162
|
-
import type {
|
|
65
|
+
import type { ContractMeta } from '@agoric/zoe';
|
|
66
|
+
import type { ZCF } from '@agoric/zoe';
|
|
67
|
+
import type { Bank } from '@agoric/vats/src/vat-bank.js';
|
|
68
|
+
import type { ERef } from '@endo/far';
|
|
69
|
+
import type { Invitation } from '@agoric/zoe';
|
|
70
|
+
import type { Remote } from '@agoric/internal';
|
|
71
|
+
import type { MetricsNotification } from './provisionPoolKit.js';
|
|
72
|
+
import type { Amount } from '@agoric/ertp';
|
|
73
|
+
import type { Baggage } from '@agoric/vat-data';
|
|
74
|
+
import type { Brand } from '@agoric/ertp';
|
|
75
|
+
import type { StandardTerms } from '@agoric/zoe';
|
|
76
|
+
import type { GovernanceTerms } from '@agoric/governance/src/types.js';
|
|
163
77
|
//# 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":"AAoBA;;;;;;;;;GASG;AAEH,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAoBK,2BAXI,IAAI,cAAc,CAAC,eACnB;IACN,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC;IACrB,sBAAsB,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7D,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EjB;;;;6BA3FY,aAAa,GACzB,gBAAoB;IACd,uBAAuB,EAAE,QAAQ,CAAC;CACnC,CAAC;kCA9BwD,aAAa;yBAAb,aAAa;0BAGrD,8BAA8B;0BAD9B,WAAW;gCAF6B,aAAa;4BAFnD,kBAAkB;yCAML,uBAAuB;4BALb,cAAc;6BAMpC,kBAAkB;2BANI,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,
|
|
@@ -7,14 +6,28 @@ import {
|
|
|
7
6
|
publicMixinAPI,
|
|
8
7
|
} from '@agoric/governance';
|
|
9
8
|
import { InvitationShape } from '@agoric/governance/src/typeGuards.js';
|
|
9
|
+
import { wrapRemoteMarshaller } from '@agoric/internal/src/marshal/wrap-marshaller.js';
|
|
10
10
|
import { M } from '@agoric/store';
|
|
11
11
|
import { prepareExo } from '@agoric/vat-data';
|
|
12
12
|
import { provideSingleton } from '@agoric/zoe/src/contractSupport/durability.js';
|
|
13
13
|
import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
14
14
|
import { TopicsRecordShape } from '@agoric/zoe/src/contractSupport/topics.js';
|
|
15
|
-
import {
|
|
15
|
+
import { makeDurableZone } from '@agoric/zone/durable.js';
|
|
16
|
+
import {
|
|
17
|
+
prepareBridgeProvisionTool,
|
|
18
|
+
prepareProvisionPoolKit,
|
|
19
|
+
} from './provisionPoolKit.js';
|
|
16
20
|
|
|
17
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* @import {Remote} from '@agoric/internal';
|
|
23
|
+
* @import {Amount, Brand, Payment, Purse} from '@agoric/ertp';
|
|
24
|
+
* @import {ContractMeta, Invitation, StandardTerms, ZCF} from '@agoric/zoe';
|
|
25
|
+
* @import {GovernanceTerms} from '@agoric/governance/src/types.js';
|
|
26
|
+
* @import {ERef} from '@endo/far';
|
|
27
|
+
* @import {Bank} from '@agoric/vats/src/vat-bank.js';
|
|
28
|
+
* @import {MetricsNotification} from './provisionPoolKit.js';
|
|
29
|
+
* @import {Baggage} from '@agoric/vat-data';
|
|
30
|
+
*/
|
|
18
31
|
|
|
19
32
|
/** @type {ContractMeta} */
|
|
20
33
|
export const meta = {
|
|
@@ -42,22 +55,24 @@ harden(meta);
|
|
|
42
55
|
* TODO: ERef<GovernedCreatorFacet<ProvisionCreator>>
|
|
43
56
|
* @param {ZCF<ProvisionTerms>} zcf
|
|
44
57
|
* @param {{
|
|
45
|
-
* poolBank:
|
|
46
|
-
* import('@agoric/vats/src/vat-bank.js').Bank
|
|
47
|
-
* >;
|
|
58
|
+
* poolBank: ERef<Bank>;
|
|
48
59
|
* initialPoserInvitation: Invitation;
|
|
49
|
-
* storageNode: StorageNode
|
|
50
|
-
* marshaller:
|
|
51
|
-
* metricsOverride?:
|
|
60
|
+
* storageNode: Remote<StorageNode>;
|
|
61
|
+
* marshaller: Remote<Marshaller>;
|
|
62
|
+
* metricsOverride?: MetricsNotification;
|
|
63
|
+
* governedParamOverrides?: Record<string, Amount | undefined>;
|
|
52
64
|
* }} privateArgs
|
|
53
|
-
* @param {
|
|
65
|
+
* @param {Baggage} baggage
|
|
54
66
|
*/
|
|
55
67
|
export const start = async (zcf, privateArgs, baggage) => {
|
|
56
68
|
const { poolBank, metricsOverride } = privateArgs;
|
|
57
69
|
|
|
70
|
+
const { marshaller: remoteMarshaller } = privateArgs;
|
|
71
|
+
const cachingMarshaller = wrapRemoteMarshaller(remoteMarshaller);
|
|
72
|
+
|
|
58
73
|
const { makeRecorderKit } = prepareRecorderKitMakers(
|
|
59
74
|
baggage,
|
|
60
|
-
|
|
75
|
+
cachingMarshaller,
|
|
61
76
|
);
|
|
62
77
|
|
|
63
78
|
// Governance
|
|
@@ -70,42 +85,49 @@ export const start = async (zcf, privateArgs, baggage) => {
|
|
|
70
85
|
},
|
|
71
86
|
privateArgs.storageNode,
|
|
72
87
|
privateArgs.marshaller,
|
|
88
|
+
privateArgs.governedParamOverrides,
|
|
73
89
|
);
|
|
74
90
|
|
|
75
|
-
const
|
|
91
|
+
const zone = makeDurableZone(baggage);
|
|
92
|
+
|
|
93
|
+
const makeBridgeProvisionTool = prepareBridgeProvisionTool(zone);
|
|
94
|
+
const makeProvisionPoolKit = prepareProvisionPoolKit(zone, {
|
|
76
95
|
makeRecorderKit,
|
|
77
96
|
params,
|
|
78
97
|
poolBank,
|
|
79
98
|
zcf,
|
|
99
|
+
makeBridgeProvisionTool,
|
|
80
100
|
});
|
|
81
101
|
|
|
102
|
+
const poolBrand = /** @type {Brand<'nat'>} */ (
|
|
103
|
+
params.getPerAccountInitialAmount().brand
|
|
104
|
+
);
|
|
82
105
|
const provisionPoolKit = await provideSingleton(
|
|
83
106
|
baggage,
|
|
84
107
|
'provisionPoolKit',
|
|
85
108
|
() =>
|
|
86
109
|
makeProvisionPoolKit({
|
|
87
|
-
|
|
88
|
-
// NB: changing the brand will break this pool
|
|
89
|
-
// @ts-expect-error XXX Brand AssetKind
|
|
90
|
-
poolBrand: params.getPerAccountInitialAmount().brand,
|
|
110
|
+
poolBrand,
|
|
91
111
|
storageNode: privateArgs.storageNode,
|
|
92
112
|
}),
|
|
93
|
-
kit => kit.helper.start({ metrics: metricsOverride }),
|
|
94
113
|
);
|
|
114
|
+
provisionPoolKit.helper.start(poolBrand, { metrics: metricsOverride });
|
|
95
115
|
|
|
96
116
|
const publicFacet = prepareExo(
|
|
97
117
|
baggage,
|
|
98
118
|
'Provisioning Pool public',
|
|
99
119
|
M.interface('ProvisionPool', {
|
|
100
|
-
getMetrics: M.
|
|
101
|
-
getPublicTopics: M.
|
|
120
|
+
getMetrics: M.callWhen().returns(M.remotable('MetricsSubscriber')),
|
|
121
|
+
getPublicTopics: M.callWhen().returns(TopicsRecordShape),
|
|
102
122
|
...publicMixinAPI,
|
|
103
123
|
}),
|
|
104
124
|
{
|
|
105
|
-
getMetrics() {
|
|
125
|
+
async getMetrics() {
|
|
126
|
+
await null;
|
|
106
127
|
return provisionPoolKit.public.getPublicTopics().metrics.subscriber;
|
|
107
128
|
},
|
|
108
|
-
getPublicTopics() {
|
|
129
|
+
async getPublicTopics() {
|
|
130
|
+
await null;
|
|
109
131
|
return provisionPoolKit.public.getPublicTopics();
|
|
110
132
|
},
|
|
111
133
|
...publicMixin,
|