@agoric/inter-protocol 0.16.2-other-dev-1f26562.0 → 0.16.2-other-dev-3eb1a1d.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/package.json +42 -36
- package/scripts/build-bundles.js +5 -21
- package/src/auction/auctionBook.d.ts +147 -0
- package/src/auction/auctionBook.d.ts.map +1 -0
- package/src/auction/auctionBook.js +156 -150
- package/src/auction/auctionMath.d.ts +17 -0
- package/src/auction/auctionMath.d.ts.map +1 -0
- package/src/auction/auctionMath.js +81 -0
- package/src/auction/auctioneer.d.ts +69 -0
- package/src/auction/auctioneer.d.ts.map +1 -0
- package/src/auction/auctioneer.js +70 -59
- package/src/auction/offerBook.d.ts +45 -0
- package/src/auction/offerBook.d.ts.map +1 -0
- package/src/auction/offerBook.js +13 -12
- package/src/auction/params.d.ts +144 -0
- package/src/auction/params.d.ts.map +1 -0
- package/src/auction/params.js +10 -9
- package/src/auction/scheduleMath.d.ts +5 -0
- package/src/auction/scheduleMath.d.ts.map +1 -0
- package/src/auction/scheduleMath.js +18 -16
- package/src/auction/scheduler.d.ts +50 -0
- package/src/auction/scheduler.d.ts.map +1 -0
- package/src/auction/scheduler.js +53 -47
- package/src/auction/sortedOffers.d.ts +8 -0
- package/src/auction/sortedOffers.d.ts.map +1 -0
- package/src/auction/sortedOffers.js +10 -9
- package/src/auction/util.d.ts +30 -0
- package/src/auction/util.d.ts.map +1 -0
- package/src/auction/util.js +9 -6
- package/src/clientSupport.d.ts +167 -0
- package/src/clientSupport.d.ts.map +1 -0
- package/src/clientSupport.js +155 -97
- package/src/collectFees.d.ts +2 -0
- package/src/collectFees.d.ts.map +1 -0
- package/src/contractSupport.d.ts +28 -0
- package/src/contractSupport.d.ts.map +1 -0
- package/src/contractSupport.js +19 -13
- package/src/econCommitteeCharter.d.ts +40 -0
- package/src/econCommitteeCharter.d.ts.map +1 -0
- package/src/econCommitteeCharter.js +21 -20
- package/src/feeDistributor.d.ts +224 -0
- package/src/feeDistributor.d.ts.map +1 -0
- package/src/feeDistributor.js +37 -33
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +1 -0
- package/src/interest-math.d.ts +3 -0
- package/src/interest-math.d.ts.map +1 -0
- package/src/interest.d.ts +28 -0
- package/src/interest.d.ts.map +1 -0
- package/src/interest.js +23 -18
- package/src/price/README.md +13 -0
- package/src/price/fluxAggregatorContract.d.ts +71 -0
- package/src/price/fluxAggregatorContract.d.ts.map +1 -0
- package/src/price/fluxAggregatorContract.js +64 -55
- package/src/price/fluxAggregatorKit.d.ts +103 -0
- package/src/price/fluxAggregatorKit.d.ts.map +1 -0
- package/src/price/fluxAggregatorKit.js +52 -40
- package/src/price/priceOracleKit.d.ts +38 -0
- package/src/price/priceOracleKit.d.ts.map +1 -0
- package/src/price/priceOracleKit.js +12 -14
- package/src/price/roundsManager.d.ts +204 -0
- package/src/price/roundsManager.d.ts.map +1 -0
- package/src/price/roundsManager.js +131 -85
- package/src/proposals/README.md +2 -3
- package/src/proposals/add-auction.d.ts +109 -0
- package/src/proposals/add-auction.d.ts.map +1 -0
- package/src/proposals/add-auction.js +256 -0
- package/src/proposals/addAssetToVault.d.ts +173 -0
- package/src/proposals/addAssetToVault.d.ts.map +1 -0
- package/src/proposals/addAssetToVault.js +192 -40
- package/src/proposals/committee-proposal.d.ts +113 -0
- package/src/proposals/committee-proposal.d.ts.map +1 -0
- package/src/proposals/committee-proposal.js +25 -31
- package/src/proposals/core-proposal.d.ts +149 -0
- package/src/proposals/core-proposal.d.ts.map +1 -0
- package/src/proposals/core-proposal.js +9 -11
- package/src/proposals/deploy-price-feeds.d.ts +76 -0
- package/src/proposals/deploy-price-feeds.d.ts.map +1 -0
- package/src/proposals/deploy-price-feeds.js +316 -0
- package/src/proposals/econ-behaviors.d.ts +541 -0
- package/src/proposals/econ-behaviors.d.ts.map +1 -0
- package/src/proposals/econ-behaviors.js +64 -45
- package/src/proposals/price-feed-proposal.d.ts +84 -0
- package/src/proposals/price-feed-proposal.d.ts.map +1 -0
- package/src/proposals/price-feed-proposal.js +109 -51
- package/src/proposals/replace-fee-distributor.d.ts +48 -0
- package/src/proposals/replace-fee-distributor.d.ts.map +1 -0
- package/src/proposals/replace-fee-distributor.js +195 -0
- package/src/proposals/replace-scaledPriceAuthorities.d.ts +30 -0
- package/src/proposals/replace-scaledPriceAuthorities.d.ts.map +1 -0
- package/src/proposals/replace-scaledPriceAuthorities.js +124 -0
- package/src/proposals/replaceElectorate.d.ts +55 -0
- package/src/proposals/replaceElectorate.d.ts.map +1 -0
- package/src/proposals/replaceElectorate.js +521 -0
- package/src/proposals/startEconCommittee.d.ts +34 -0
- package/src/proposals/startEconCommittee.d.ts.map +1 -0
- package/src/proposals/startEconCommittee.js +2 -2
- package/src/proposals/startPSM.d.ts +59 -0
- package/src/proposals/startPSM.d.ts.map +1 -0
- package/src/proposals/startPSM.js +44 -29
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts +24 -0
- package/src/proposals/upgrade-scaledPriceAuthorities.d.ts.map +1 -0
- package/src/proposals/upgrade-scaledPriceAuthorities.js +78 -0
- package/src/proposals/upgrade-vaults.d.ts +41 -0
- package/src/proposals/upgrade-vaults.d.ts.map +1 -0
- package/src/proposals/upgrade-vaults.js +202 -0
- package/src/proposals/utils.d.ts +19 -0
- package/src/proposals/utils.d.ts.map +1 -0
- package/src/proposals/utils.js +43 -9
- package/src/provisionPool.d.ts +163 -0
- package/src/provisionPool.d.ts.map +1 -0
- package/src/provisionPool.js +122 -0
- package/src/provisionPoolKit.d.ts +359 -0
- package/src/provisionPoolKit.d.ts.map +1 -0
- package/src/provisionPoolKit.js +522 -0
- package/src/psm/psm.d.ts +125 -0
- package/src/psm/psm.d.ts.map +1 -0
- package/src/psm/psm.js +80 -79
- package/src/psm/types-ambient.d.ts +2 -0
- package/src/psm/types-ambient.d.ts.map +1 -0
- package/src/psm/types-ambient.js +3 -0
- package/src/reserve/assetReserve.d.ts +47 -0
- package/src/reserve/assetReserve.d.ts.map +1 -0
- package/src/reserve/assetReserve.js +28 -19
- package/src/reserve/assetReserveKit.d.ts +74 -0
- package/src/reserve/assetReserveKit.d.ts.map +1 -0
- package/src/reserve/assetReserveKit.js +24 -30
- package/src/reserve/params.d.ts +10 -0
- package/src/reserve/params.d.ts.map +1 -0
- package/src/tokens.d.ts +3 -0
- package/src/tokens.d.ts.map +1 -0
- package/src/tokens.js +5 -0
- package/src/vaultFactory/burn.d.ts +2 -0
- package/src/vaultFactory/burn.d.ts.map +1 -0
- package/src/vaultFactory/burn.js +1 -1
- package/src/vaultFactory/liquidation.d.ts +23 -0
- package/src/vaultFactory/liquidation.d.ts.map +1 -0
- package/src/vaultFactory/liquidation.js +37 -24
- package/src/vaultFactory/math.d.ts +11 -0
- package/src/vaultFactory/math.d.ts.map +1 -0
- package/src/vaultFactory/math.js +10 -9
- package/src/vaultFactory/orderedVaultStore.d.ts +93 -0
- package/src/vaultFactory/orderedVaultStore.d.ts.map +1 -0
- package/src/vaultFactory/orderedVaultStore.js +8 -11
- package/src/vaultFactory/params.d.ts +140 -0
- package/src/vaultFactory/params.d.ts.map +1 -0
- package/src/vaultFactory/params.js +52 -24
- package/src/vaultFactory/prioritizedVaults.d.ts +279 -0
- package/src/vaultFactory/prioritizedVaults.d.ts.map +1 -0
- package/src/vaultFactory/prioritizedVaults.js +4 -4
- package/src/vaultFactory/proceeds.d.ts +35 -0
- package/src/vaultFactory/proceeds.d.ts.map +1 -0
- package/src/vaultFactory/proceeds.js +26 -18
- package/src/vaultFactory/storeUtils.d.ts +25 -0
- package/src/vaultFactory/storeUtils.d.ts.map +1 -0
- package/src/vaultFactory/storeUtils.js +10 -12
- package/src/vaultFactory/types-ambient.d.ts +137 -0
- package/src/vaultFactory/types-ambient.d.ts.map +1 -0
- package/src/vaultFactory/{types.js → types-ambient.js} +42 -42
- package/src/vaultFactory/vault.d.ts +343 -0
- package/src/vaultFactory/vault.d.ts.map +1 -0
- package/src/vaultFactory/vault.js +105 -99
- package/src/vaultFactory/vaultDirector.d.ts +341 -0
- package/src/vaultFactory/vaultDirector.d.ts.map +1 -0
- package/src/vaultFactory/vaultDirector.js +86 -64
- package/src/vaultFactory/vaultFactory.d.ts +202 -0
- package/src/vaultFactory/vaultFactory.d.ts.map +1 -0
- package/src/vaultFactory/vaultFactory.js +52 -33
- package/src/vaultFactory/vaultHolder.d.ts +126 -0
- package/src/vaultFactory/vaultHolder.d.ts.map +1 -0
- package/src/vaultFactory/vaultHolder.js +11 -16
- package/src/vaultFactory/vaultKit.d.ts +32 -0
- package/src/vaultFactory/vaultKit.d.ts.map +1 -0
- package/src/vaultFactory/vaultKit.js +5 -4
- package/src/vaultFactory/vaultManager.d.ts +674 -0
- package/src/vaultFactory/vaultManager.d.ts.map +1 -0
- package/src/vaultFactory/vaultManager.js +257 -158
- package/CHANGELOG.md +0 -1041
- package/exported.js +0 -2
- package/scripts/add-collateral-core.js +0 -112
- package/scripts/deploy-contracts.js +0 -100
- package/scripts/init-core.js +0 -198
- package/scripts/invite-committee-core.js +0 -42
- package/scripts/manual-price-feed.js +0 -117
- package/scripts/price-feed-core.js +0 -104
- package/scripts/start-local-chain.sh +0 -84
- package/src/psm/types.js +0 -3
- package/src/typeGuards.js +0 -13
- package/src/vaultFactory/type-imports.js +0 -4
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/** @import {Marshal} from '@endo/marshal'; */
|
|
2
|
+
/** @type {ContractMeta} */
|
|
3
|
+
export const meta: ContractMeta;
|
|
4
|
+
export function start(zcf: ZCF<ProvisionTerms>, privateArgs: {
|
|
5
|
+
poolBank: import("@endo/far").ERef<import("@agoric/vats/src/vat-bank.js").Bank>;
|
|
6
|
+
initialPoserInvitation: Invitation;
|
|
7
|
+
storageNode: StorageNode;
|
|
8
|
+
marshaller: Marshal<any>;
|
|
9
|
+
metricsOverride?: import("./provisionPoolKit.js").MetricsNotification;
|
|
10
|
+
}, baggage: import("@agoric/vat-data").Baggage): Promise<{
|
|
11
|
+
creatorFacet: import("@endo/exo").Guarded<{
|
|
12
|
+
getParamMgrRetriever: () => {
|
|
13
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
14
|
+
PerAccountInitialAmount: "amount";
|
|
15
|
+
} & {
|
|
16
|
+
Electorate: "invitation";
|
|
17
|
+
}>;
|
|
18
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
19
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager.js").TypedParamManager<{
|
|
20
|
+
PerAccountInitialAmount: "amount";
|
|
21
|
+
} & {
|
|
22
|
+
Electorate: "invitation";
|
|
23
|
+
}>;
|
|
24
|
+
}>;
|
|
25
|
+
getInvitation: (name: any) => Promise<Invitation<unknown, undefined>>;
|
|
26
|
+
getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
|
|
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
|
+
}>;
|
|
132
|
+
getGovernedApis: () => GovernedApis;
|
|
133
|
+
getGovernedApiNames: () => string[];
|
|
134
|
+
setOfferFilter: (strings: any) => Promise<void>;
|
|
135
|
+
}>;
|
|
136
|
+
publicFacet: import("@endo/exo").Guarded<{
|
|
137
|
+
getAmount: (name: string) => Amount;
|
|
138
|
+
getBrand: (name: string) => Brand;
|
|
139
|
+
getInstance: (name: string) => Instance;
|
|
140
|
+
getInstallation: (name: string) => Installation;
|
|
141
|
+
getInvitationAmount: (name: string) => InvitationAmount;
|
|
142
|
+
getNat: (name: string) => bigint;
|
|
143
|
+
getRatio: (name: string) => Ratio;
|
|
144
|
+
getString: (name: string) => string;
|
|
145
|
+
getTimestamp: (name: string) => import("@agoric/time").TimestampRecord;
|
|
146
|
+
getRelativeTime: (name: string) => import("@agoric/time").RelativeTimeRecord;
|
|
147
|
+
getUnknown: (name: string) => any;
|
|
148
|
+
getSubscription: () => globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
|
|
149
|
+
getGovernedParams: () => globalThis.ERef<globalThis.ParamStateRecord>;
|
|
150
|
+
getMetrics(): globalThis.Subscriber<import("./provisionPoolKit.js").MetricsNotification>;
|
|
151
|
+
getPublicTopics(): {
|
|
152
|
+
metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("./provisionPoolKit.js").MetricsNotification>;
|
|
153
|
+
};
|
|
154
|
+
}>;
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* TODO: ERef<GovernedCreatorFacet<ProvisionCreator>>
|
|
158
|
+
*/
|
|
159
|
+
export type ProvisionTerms = StandardTerms & GovernanceTerms<{
|
|
160
|
+
PerAccountInitialAmount: "amount";
|
|
161
|
+
}>;
|
|
162
|
+
import type { Marshal } from '@endo/marshal';
|
|
163
|
+
//# sourceMappingURL=provisionPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisionPool.d.ts","sourceRoot":"","sources":["provisionPool.js"],"names":[],"mappings":"AAgBA,8CAA8C;AAE9C,2BAA2B;AAC3B,mBADW,YAAY,CAerB;AAqBK,2BAZI,GAAG,CAAC,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;CACvE,WACO,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;6DAsE0o8B,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAAvnoB,cAAc;kDAAuE,cAAc;;;;;;;;;GAHjrU;;;;6BAlFY,aAAa,GACrB,eAAe,CAAC;IACd,uBAAuB,EAAE,QAAQ,CAAC;CACnC,CAAC;6BAxBoB,eAAe"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// @jessie-check
|
|
2
|
+
// @ts-check
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
handleParamGovernance,
|
|
6
|
+
ParamTypes,
|
|
7
|
+
publicMixinAPI,
|
|
8
|
+
} from '@agoric/governance';
|
|
9
|
+
import { InvitationShape } from '@agoric/governance/src/typeGuards.js';
|
|
10
|
+
import { M } from '@agoric/store';
|
|
11
|
+
import { prepareExo } from '@agoric/vat-data';
|
|
12
|
+
import { provideSingleton } from '@agoric/zoe/src/contractSupport/durability.js';
|
|
13
|
+
import { prepareRecorderKitMakers } from '@agoric/zoe/src/contractSupport/recorder.js';
|
|
14
|
+
import { TopicsRecordShape } from '@agoric/zoe/src/contractSupport/topics.js';
|
|
15
|
+
import { prepareProvisionPoolKit } from './provisionPoolKit.js';
|
|
16
|
+
|
|
17
|
+
/** @import {Marshal} from '@endo/marshal'; */
|
|
18
|
+
|
|
19
|
+
/** @type {ContractMeta} */
|
|
20
|
+
export const meta = {
|
|
21
|
+
privateArgsShape: M.splitRecord(
|
|
22
|
+
{
|
|
23
|
+
poolBank: M.eref(M.remotable('bank')),
|
|
24
|
+
storageNode: M.eref(M.remotable('storageNode')),
|
|
25
|
+
marshaller: M.eref(M.remotable('marshaller')),
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
// only necessary on first invocation, not subsequent
|
|
29
|
+
initialPoserInvitation: InvitationShape,
|
|
30
|
+
metricsOverride: M.recordOf(M.string()),
|
|
31
|
+
},
|
|
32
|
+
),
|
|
33
|
+
upgradability: 'canUpgrade',
|
|
34
|
+
};
|
|
35
|
+
harden(meta);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @typedef {StandardTerms &
|
|
39
|
+
* GovernanceTerms<{
|
|
40
|
+
* PerAccountInitialAmount: 'amount';
|
|
41
|
+
* }>} ProvisionTerms
|
|
42
|
+
* TODO: ERef<GovernedCreatorFacet<ProvisionCreator>>
|
|
43
|
+
* @param {ZCF<ProvisionTerms>} zcf
|
|
44
|
+
* @param {{
|
|
45
|
+
* poolBank: import('@endo/far').ERef<
|
|
46
|
+
* import('@agoric/vats/src/vat-bank.js').Bank
|
|
47
|
+
* >;
|
|
48
|
+
* initialPoserInvitation: Invitation;
|
|
49
|
+
* storageNode: StorageNode;
|
|
50
|
+
* marshaller: Marshal<any>;
|
|
51
|
+
* metricsOverride?: import('./provisionPoolKit.js').MetricsNotification;
|
|
52
|
+
* }} privateArgs
|
|
53
|
+
* @param {import('@agoric/vat-data').Baggage} baggage
|
|
54
|
+
*/
|
|
55
|
+
export const start = async (zcf, privateArgs, baggage) => {
|
|
56
|
+
const { poolBank, metricsOverride } = privateArgs;
|
|
57
|
+
|
|
58
|
+
const { makeRecorderKit } = prepareRecorderKitMakers(
|
|
59
|
+
baggage,
|
|
60
|
+
privateArgs.marshaller,
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// Governance
|
|
64
|
+
const { publicMixin, makeDurableGovernorFacet, params } =
|
|
65
|
+
await handleParamGovernance(
|
|
66
|
+
zcf,
|
|
67
|
+
privateArgs.initialPoserInvitation,
|
|
68
|
+
{
|
|
69
|
+
PerAccountInitialAmount: ParamTypes.AMOUNT,
|
|
70
|
+
},
|
|
71
|
+
privateArgs.storageNode,
|
|
72
|
+
privateArgs.marshaller,
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
const makeProvisionPoolKit = prepareProvisionPoolKit(baggage, {
|
|
76
|
+
makeRecorderKit,
|
|
77
|
+
params,
|
|
78
|
+
poolBank,
|
|
79
|
+
zcf,
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
const provisionPoolKit = await provideSingleton(
|
|
83
|
+
baggage,
|
|
84
|
+
'provisionPoolKit',
|
|
85
|
+
() =>
|
|
86
|
+
makeProvisionPoolKit({
|
|
87
|
+
// XXX governance can change the brand of the amount but should only be able to change the value
|
|
88
|
+
// NB: changing the brand will break this pool
|
|
89
|
+
// @ts-expect-error XXX Brand AssetKind
|
|
90
|
+
poolBrand: params.getPerAccountInitialAmount().brand,
|
|
91
|
+
storageNode: privateArgs.storageNode,
|
|
92
|
+
}),
|
|
93
|
+
kit => kit.helper.start({ metrics: metricsOverride }),
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
const publicFacet = prepareExo(
|
|
97
|
+
baggage,
|
|
98
|
+
'Provisioning Pool public',
|
|
99
|
+
M.interface('ProvisionPool', {
|
|
100
|
+
getMetrics: M.call().returns(M.remotable('MetricsSubscriber')),
|
|
101
|
+
getPublicTopics: M.call().returns(TopicsRecordShape),
|
|
102
|
+
...publicMixinAPI,
|
|
103
|
+
}),
|
|
104
|
+
{
|
|
105
|
+
getMetrics() {
|
|
106
|
+
return provisionPoolKit.public.getPublicTopics().metrics.subscriber;
|
|
107
|
+
},
|
|
108
|
+
getPublicTopics() {
|
|
109
|
+
return provisionPoolKit.public.getPublicTopics();
|
|
110
|
+
},
|
|
111
|
+
...publicMixin,
|
|
112
|
+
},
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
return harden({
|
|
116
|
+
creatorFacet: makeDurableGovernorFacet(baggage, provisionPoolKit.machine)
|
|
117
|
+
.governorFacet,
|
|
118
|
+
publicFacet,
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
harden(start);
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
export function makeBridgeProvisionTool(sendInitialPayment: (depositBank: ERef<Bank>) => Promise<void>, onProvisioned: () => void): ({ bankManager, namesByAddressAdmin, walletFactory, }: ProvisionPoolKitReferences) => {
|
|
2
|
+
fromBridge: (obj: any) => Promise<void>;
|
|
3
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
4
|
+
fromBridge: (obj: any) => Promise<void>;
|
|
5
|
+
}>;
|
|
6
|
+
export function prepareProvisionPoolKit(baggage: import("@agoric/vat-data").Baggage, { makeRecorderKit, params, poolBank, zcf }: {
|
|
7
|
+
makeRecorderKit: import("@agoric/zoe/src/contractSupport/recorder.js").MakeRecorderKit;
|
|
8
|
+
params: any;
|
|
9
|
+
poolBank: import("@endo/far").ERef<Bank>;
|
|
10
|
+
zcf: ZCF;
|
|
11
|
+
}): ({ poolBrand, storageNode }: {
|
|
12
|
+
poolBrand: Brand<"nat">;
|
|
13
|
+
storageNode: ERef<StorageNode>;
|
|
14
|
+
}) => Promise<import("@endo/exo").GuardedKit<{
|
|
15
|
+
machine: {
|
|
16
|
+
/** @param {string[]} oldAddresses */
|
|
17
|
+
addRevivableAddresses(oldAddresses: string[]): void;
|
|
18
|
+
getWalletReviver(): import("@endo/exo").Guarded<{
|
|
19
|
+
/** @param {string} address */
|
|
20
|
+
reviveWallet(address: string): Promise<{
|
|
21
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
22
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
23
|
+
receive(payment: Payment): Promise<Amount>;
|
|
24
|
+
}>;
|
|
25
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
26
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
27
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
28
|
+
}>;
|
|
29
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
30
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
31
|
+
getPublicTopics(): {
|
|
32
|
+
current: {
|
|
33
|
+
description: string;
|
|
34
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
35
|
+
storagePath: Promise<string>;
|
|
36
|
+
};
|
|
37
|
+
updates: {
|
|
38
|
+
description: string;
|
|
39
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
40
|
+
storagePath: Promise<string>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
} & import("../../../node_modules/@endo/exo/src/get-interface").GetInterfaceGuard<{
|
|
44
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
45
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
46
|
+
receive(payment: Payment): Promise<Amount>;
|
|
47
|
+
}>;
|
|
48
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
49
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
50
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
51
|
+
}>;
|
|
52
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
53
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
54
|
+
getPublicTopics(): {
|
|
55
|
+
current: {
|
|
56
|
+
description: string;
|
|
57
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
58
|
+
storagePath: Promise<string>;
|
|
59
|
+
};
|
|
60
|
+
updates: {
|
|
61
|
+
description: string;
|
|
62
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
63
|
+
storagePath: Promise<string>;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
}> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
67
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
68
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
69
|
+
receive(payment: Payment): Promise<Amount>;
|
|
70
|
+
}>;
|
|
71
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
72
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
73
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
74
|
+
}>;
|
|
75
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
76
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
77
|
+
getPublicTopics(): {
|
|
78
|
+
current: {
|
|
79
|
+
description: string;
|
|
80
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
81
|
+
storagePath: Promise<string>;
|
|
82
|
+
};
|
|
83
|
+
updates: {
|
|
84
|
+
description: string;
|
|
85
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
86
|
+
storagePath: Promise<string>;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
} & import("../../../node_modules/@endo/exo/src/get-interface").GetInterfaceGuard<{
|
|
90
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
91
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
92
|
+
receive(payment: Payment): Promise<Amount>;
|
|
93
|
+
}>;
|
|
94
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
95
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
96
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
97
|
+
}>;
|
|
98
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
99
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
100
|
+
getPublicTopics(): {
|
|
101
|
+
current: {
|
|
102
|
+
description: string;
|
|
103
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
104
|
+
storagePath: Promise<string>;
|
|
105
|
+
};
|
|
106
|
+
updates: {
|
|
107
|
+
description: string;
|
|
108
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
109
|
+
storagePath: Promise<string>;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
}>> & import("@endo/pass-style").RemotableObject>;
|
|
113
|
+
/**
|
|
114
|
+
* @param {string} address
|
|
115
|
+
* @returns {boolean} isRevive
|
|
116
|
+
*/
|
|
117
|
+
ackWallet(address: string): boolean;
|
|
118
|
+
}>;
|
|
119
|
+
/** @param {ProvisionPoolKitReferences} erefs */
|
|
120
|
+
setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
|
|
121
|
+
makeHandler(): {
|
|
122
|
+
fromBridge: (obj: any) => Promise<void>;
|
|
123
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
124
|
+
fromBridge: (obj: any) => Promise<void>;
|
|
125
|
+
}>;
|
|
126
|
+
/**
|
|
127
|
+
* @param {Brand} brand
|
|
128
|
+
* @param {PsmInstance} instance
|
|
129
|
+
*/
|
|
130
|
+
initPSM(brand: Brand, instance: PsmInstance): void;
|
|
131
|
+
};
|
|
132
|
+
walletReviver: {
|
|
133
|
+
/** @param {string} address */
|
|
134
|
+
reviveWallet(address: string): Promise<{
|
|
135
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
136
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
137
|
+
receive(payment: Payment): Promise<Amount>;
|
|
138
|
+
}>;
|
|
139
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
140
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
141
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
142
|
+
}>;
|
|
143
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
144
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
145
|
+
getPublicTopics(): {
|
|
146
|
+
current: {
|
|
147
|
+
description: string;
|
|
148
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
149
|
+
storagePath: Promise<string>;
|
|
150
|
+
};
|
|
151
|
+
updates: {
|
|
152
|
+
description: string;
|
|
153
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
154
|
+
storagePath: Promise<string>;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
} & import("../../../node_modules/@endo/exo/src/get-interface").GetInterfaceGuard<{
|
|
158
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
159
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
160
|
+
receive(payment: Payment): Promise<Amount>;
|
|
161
|
+
}>;
|
|
162
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
163
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
164
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
165
|
+
}>;
|
|
166
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
167
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
168
|
+
getPublicTopics(): {
|
|
169
|
+
current: {
|
|
170
|
+
description: string;
|
|
171
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
172
|
+
storagePath: Promise<string>;
|
|
173
|
+
};
|
|
174
|
+
updates: {
|
|
175
|
+
description: string;
|
|
176
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
177
|
+
storagePath: Promise<string>;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
}> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
181
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
182
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
183
|
+
receive(payment: Payment): Promise<Amount>;
|
|
184
|
+
}>;
|
|
185
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
186
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
187
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
188
|
+
}>;
|
|
189
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
190
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
191
|
+
getPublicTopics(): {
|
|
192
|
+
current: {
|
|
193
|
+
description: string;
|
|
194
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
195
|
+
storagePath: Promise<string>;
|
|
196
|
+
};
|
|
197
|
+
updates: {
|
|
198
|
+
description: string;
|
|
199
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
200
|
+
storagePath: Promise<string>;
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
} & import("../../../node_modules/@endo/exo/src/get-interface").GetInterfaceGuard<{
|
|
204
|
+
handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string | null>, canSpend?: boolean | undefined): Promise<void>;
|
|
205
|
+
getDepositFacet(): import("@endo/exo").Guarded<{
|
|
206
|
+
receive(payment: Payment): Promise<Amount>;
|
|
207
|
+
}>;
|
|
208
|
+
getOffersFacet(): import("@endo/exo").Guarded<{
|
|
209
|
+
executeOffer(offerSpec: OfferSpec): Promise<void>;
|
|
210
|
+
tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
|
|
211
|
+
}>;
|
|
212
|
+
getCurrentSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
213
|
+
getUpdatesSubscriber(): globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
214
|
+
getPublicTopics(): {
|
|
215
|
+
current: {
|
|
216
|
+
description: string;
|
|
217
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
|
|
218
|
+
storagePath: Promise<string>;
|
|
219
|
+
};
|
|
220
|
+
updates: {
|
|
221
|
+
description: string;
|
|
222
|
+
subscriber: globalThis.Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
|
|
223
|
+
storagePath: Promise<string>;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
}>> & import("@endo/pass-style").RemotableObject>;
|
|
227
|
+
/**
|
|
228
|
+
* @param {string} address
|
|
229
|
+
* @returns {boolean} isRevive
|
|
230
|
+
*/
|
|
231
|
+
ackWallet(address: string): boolean;
|
|
232
|
+
};
|
|
233
|
+
helper: {
|
|
234
|
+
publishMetrics(): void;
|
|
235
|
+
onTrade(converted: any): void;
|
|
236
|
+
onSendFunds(provided: any): void;
|
|
237
|
+
onProvisioned(): void;
|
|
238
|
+
/** @param {ERef<Bank>} destBank */
|
|
239
|
+
sendInitialPayment(destBank: ERef<Bank>): Promise<void>;
|
|
240
|
+
/**
|
|
241
|
+
* @param {ERef<Purse>} exchangePurse
|
|
242
|
+
* @param {ERef<Brand>} brand
|
|
243
|
+
*/
|
|
244
|
+
watchCurrentAmount(exchangePurse: ERef<Purse>, brand: ERef<Brand>): void;
|
|
245
|
+
watchAssetSubscription(): Promise<undefined>;
|
|
246
|
+
/**
|
|
247
|
+
* @param {object} [options]
|
|
248
|
+
* @param {MetricsNotification} [options.metrics]
|
|
249
|
+
*/
|
|
250
|
+
start({ metrics }?: {
|
|
251
|
+
metrics?: MetricsNotification | undefined;
|
|
252
|
+
} | undefined): void;
|
|
253
|
+
/**
|
|
254
|
+
* @param {ERef<Payment>} payIn
|
|
255
|
+
* @param {Amount} amount
|
|
256
|
+
* @param {PsmInstance} instance
|
|
257
|
+
*/
|
|
258
|
+
swap(payIn: ERef<Payment>, amount: Amount, instance: PsmInstance): Promise<import("@agoric/ertp").NatAmount>;
|
|
259
|
+
};
|
|
260
|
+
public: {
|
|
261
|
+
getPublicTopics(): {
|
|
262
|
+
metrics: import("@agoric/zoe/src/contractSupport").PublicTopic<MetricsNotification>;
|
|
263
|
+
};
|
|
264
|
+
};
|
|
265
|
+
}>>;
|
|
266
|
+
export type PsmInstance = import("@agoric/zoe/src/zoeService/utils.js").Instance<(zcf: ZCF<GovernanceTerms<{
|
|
267
|
+
GiveMintedFee: "ratio";
|
|
268
|
+
WantMintedFee: "ratio";
|
|
269
|
+
MintLimit: "amount";
|
|
270
|
+
}> & {
|
|
271
|
+
anchorBrand: Brand<"nat">;
|
|
272
|
+
anchorPerMinted: Ratio;
|
|
273
|
+
}>, privateArgs: {
|
|
274
|
+
feeMintAccess: FeeMintAccess;
|
|
275
|
+
initialPoserInvitation: Invitation;
|
|
276
|
+
storageNode: StorageNode;
|
|
277
|
+
marshaller: Marshaller;
|
|
278
|
+
}, baggage: import("@agoric/vat-data").Baggage) => Promise<{
|
|
279
|
+
creatorFacet: import("@endo/exo").Guarded<{
|
|
280
|
+
getParamMgrRetriever: () => {
|
|
281
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
|
|
282
|
+
GiveMintedFee: "ratio";
|
|
283
|
+
MintLimit: "amount";
|
|
284
|
+
WantMintedFee: "ratio";
|
|
285
|
+
} & {
|
|
286
|
+
Electorate: "invitation";
|
|
287
|
+
}>;
|
|
288
|
+
} & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
289
|
+
get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
|
|
290
|
+
GiveMintedFee: "ratio";
|
|
291
|
+
MintLimit: "amount";
|
|
292
|
+
WantMintedFee: "ratio";
|
|
293
|
+
} & {
|
|
294
|
+
Electorate: "invitation";
|
|
295
|
+
}>;
|
|
296
|
+
}>;
|
|
297
|
+
getInvitation: (name: any) => Promise<Invitation<unknown, undefined>>;
|
|
298
|
+
getLimitedCreatorFacet: () => import("@endo/exo").Guarded<{
|
|
299
|
+
getRewardAllocation(): Allocation;
|
|
300
|
+
makeCollectFeesInvitation(): Promise<Invitation<string, undefined>>;
|
|
301
|
+
makeRestoreMetricsInvitation(): Promise<Invitation<void, Omit<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification, "anchorPoolBalance">>>;
|
|
302
|
+
}>;
|
|
303
|
+
getGovernedApis: () => GovernedApis;
|
|
304
|
+
getGovernedApiNames: () => string[];
|
|
305
|
+
setOfferFilter: (strings: any) => Promise<void>;
|
|
306
|
+
}>;
|
|
307
|
+
publicFacet: import("@endo/exo").Guarded<{
|
|
308
|
+
getAmount: (name: string) => Amount;
|
|
309
|
+
getBrand: (name: string) => Brand;
|
|
310
|
+
getInstance: (name: string) => Instance;
|
|
311
|
+
getInstallation: (name: string) => Installation;
|
|
312
|
+
getInvitationAmount: (name: string) => InvitationAmount;
|
|
313
|
+
getNat: (name: string) => bigint;
|
|
314
|
+
getRatio: (name: string) => Ratio;
|
|
315
|
+
getString: (name: string) => string;
|
|
316
|
+
getTimestamp: (name: string) => import("@agoric/time").TimestampRecord;
|
|
317
|
+
getRelativeTime: (name: string) => import("@agoric/time").RelativeTimeRecord;
|
|
318
|
+
getUnknown: (name: string) => any;
|
|
319
|
+
getSubscription: () => globalThis.StoredSubscription<globalThis.GovernanceSubscriptionState>;
|
|
320
|
+
getGovernedParams: () => ERef<globalThis.ParamStateRecord>;
|
|
321
|
+
getMetrics(): globalThis.Subscriber<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>;
|
|
322
|
+
getPoolBalance(): import("@agoric/ertp").NatAmount;
|
|
323
|
+
getPublicTopics(): {
|
|
324
|
+
metrics: import("@agoric/zoe/src/contractSupport").PublicTopic<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>;
|
|
325
|
+
};
|
|
326
|
+
makeWantMintedInvitation(): Promise<Invitation<void, undefined>>;
|
|
327
|
+
makeGiveMintedInvitation(): Promise<Invitation<void, undefined>>;
|
|
328
|
+
}>;
|
|
329
|
+
}>>;
|
|
330
|
+
export type ProvisionPoolKitReferences = {
|
|
331
|
+
bankManager: ERef<BankManager>;
|
|
332
|
+
namesByAddressAdmin: ERef<import("@agoric/vats").NameAdmin>;
|
|
333
|
+
walletFactory: ERef<import("@agoric/vats/src/core/startWalletFactory.js").WalletFactoryStartResult["creatorFacet"]>;
|
|
334
|
+
};
|
|
335
|
+
/**
|
|
336
|
+
* Metrics naming scheme is that nouns are
|
|
337
|
+
* present values and past-participles are accumulative.
|
|
338
|
+
*/
|
|
339
|
+
export type MetricsNotification = {
|
|
340
|
+
/**
|
|
341
|
+
* count of new wallets provisioned
|
|
342
|
+
*/
|
|
343
|
+
walletsProvisioned: bigint;
|
|
344
|
+
/**
|
|
345
|
+
* running sum of Minted provided
|
|
346
|
+
* to new wallets
|
|
347
|
+
*/
|
|
348
|
+
totalMintedProvided: Amount<"nat">;
|
|
349
|
+
/**
|
|
350
|
+
* running sum of Minted ever
|
|
351
|
+
* received by the contract from PSM
|
|
352
|
+
*/
|
|
353
|
+
totalMintedConverted: Amount<"nat">;
|
|
354
|
+
};
|
|
355
|
+
import type { Bank } from '@agoric/vats/src/vat-bank.js';
|
|
356
|
+
import type { ERef } from '@endo/far';
|
|
357
|
+
import type { Amount } from '@agoric/ertp/src/types.js';
|
|
358
|
+
import type { BankManager } from '@agoric/vats/src/vat-bank.js';
|
|
359
|
+
//# sourceMappingURL=provisionPoolKit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"AAuEO,4DAHI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,iBAC1C,MAAM,IAAI,0DAGP,0BAA0B;;;;GA+BvC;AAWM,iDARI,OAAO,kBAAkB,EAAE,OAAO,8CAClC;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;CACV,gCA0YC;IAA2B,SAAS,EAA5B,KAAK,CAAC,KAAK,CAAC;IACY,WAAW,EAAnC,KAAK,WAAW,CAAC;CAC3B;;QA7TK,qCAAqC;4CAAzB,MAAM,EAAE;;YA+CpB,8BAA8B;kCAAlB,MAAM;yDA4R2/gB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAvQ5hhB;;;eAGG;+BAFQ,MAAM,GACJ,OAAO;;QA9DpB,gDAAgD;6BAApC,0BAA0B;;;;;;QA6BtC;;;WAGG;uBAFQ,KAAK,YACL,WAAW;;;QAQtB,8BAA8B;8BAAlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqBlB;;;WAGG;2BAFQ,MAAM,GACJ,OAAO;;;;;;;QAgDpB,mCAAmC;qCAAvB,KAAK,IAAI,CAAC;QA0BtB;;;WAGG;0CAFQ,KAAK,KAAK,CAAC,SACX,KAAK,KAAK,CAAC;;QA2FtB;;;WAGG;;;;QAiCH;;;;WAIG;oBAHQ,KAAK,OAAO,CAAC,UACb,MAAM,YACN,WAAW;;;;;;;IAsD7B;0BAjeY,OAAO,qCAAqC,EAAE,QAAQ,CAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA6WsB,cAAc;kDAEnB,cAAF;;;;;;;;;;;;EA/W0C,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;;0BAxBS,8BAA8B;0BAF3C,WAAW;4BACT,2BAA2B;iCAChB,8BAA8B"}
|