@agoric/inter-protocol 0.16.2-dev-35e67be.0 → 0.16.2-dev-9de97ab.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.
@@ -0,0 +1,379 @@
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/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;
13
+ storageNode: ERef<StorageNode>;
14
+ }) => Promise<{
15
+ machine: {
16
+ /** @param {string[]} oldAddresses */
17
+ addRevivableAddresses(oldAddresses: string[]): void;
18
+ getWalletReviver(): {
19
+ /** @param {string} address */
20
+ reviveWallet(address: string): Promise<{
21
+ handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
22
+ getDepositFacet(): {
23
+ receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
24
+ };
25
+ getOffersFacet(): {
26
+ executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
27
+ tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
28
+ };
29
+ getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
30
+ getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
31
+ getPublicTopics(): {
32
+ current: {
33
+ description: string;
34
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
35
+ storagePath: Promise<string>;
36
+ };
37
+ updates: {
38
+ description: string;
39
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
40
+ storagePath: Promise<string>;
41
+ };
42
+ };
43
+ }>;
44
+ /**
45
+ * @param {string} address
46
+ * @returns {boolean} isRevive
47
+ */
48
+ ackWallet(address: string): boolean;
49
+ };
50
+ /** @param {ProvisionPoolKitReferences} erefs */
51
+ setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
52
+ makeHandler(): {
53
+ fromBridge: (obj: any) => Promise<void>;
54
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
55
+ fromBridge: (obj: any) => Promise<void>;
56
+ }>;
57
+ /**
58
+ * @param {Brand} brand
59
+ * @param {PsmInstance} instance
60
+ */
61
+ initPSM(brand: Brand, instance: PsmInstance): void;
62
+ };
63
+ walletReviver: {
64
+ /** @param {string} address */
65
+ reviveWallet(address: string): Promise<{
66
+ handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
67
+ getDepositFacet(): {
68
+ receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
69
+ };
70
+ getOffersFacet(): {
71
+ executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
72
+ tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
73
+ };
74
+ getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
75
+ getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
76
+ getPublicTopics(): {
77
+ current: {
78
+ description: string;
79
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
80
+ storagePath: Promise<string>;
81
+ };
82
+ updates: {
83
+ description: string;
84
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
85
+ storagePath: Promise<string>;
86
+ };
87
+ };
88
+ }>;
89
+ /**
90
+ * @param {string} address
91
+ * @returns {boolean} isRevive
92
+ */
93
+ ackWallet(address: string): boolean;
94
+ };
95
+ helper: {
96
+ publishMetrics(): void;
97
+ onTrade(converted: any): void;
98
+ onSendFunds(provided: any): void;
99
+ onProvisioned(): void;
100
+ /** @param {ERef<Bank>} destBank */
101
+ sendInitialPayment(destBank: ERef<Bank>): Promise<void>;
102
+ /**
103
+ * @param {object} [options]
104
+ * @param {MetricsNotification} [options.metrics]
105
+ */
106
+ start({ metrics }?: {
107
+ metrics?: MetricsNotification | undefined;
108
+ } | undefined): void;
109
+ /**
110
+ * @param {ERef<Payment>} payIn
111
+ * @param {Amount} amount
112
+ * @param {PsmInstance} instance
113
+ */
114
+ swap(payIn: ERef<Payment>, amount: Amount, instance: PsmInstance): Promise<Amount<"nat">>;
115
+ };
116
+ public: {
117
+ getPublicTopics(): {
118
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
119
+ };
120
+ };
121
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
122
+ machine: {
123
+ /** @param {string[]} oldAddresses */
124
+ addRevivableAddresses(oldAddresses: string[]): void;
125
+ getWalletReviver(): {
126
+ /** @param {string} address */
127
+ reviveWallet(address: string): Promise<{
128
+ handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
129
+ getDepositFacet(): {
130
+ receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
131
+ };
132
+ getOffersFacet(): {
133
+ executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
134
+ tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
135
+ };
136
+ getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
137
+ getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
138
+ getPublicTopics(): {
139
+ current: {
140
+ description: string;
141
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
142
+ storagePath: Promise<string>;
143
+ };
144
+ updates: {
145
+ description: string;
146
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
147
+ storagePath: Promise<string>;
148
+ };
149
+ };
150
+ }>;
151
+ /**
152
+ * @param {string} address
153
+ * @returns {boolean} isRevive
154
+ */
155
+ ackWallet(address: string): boolean;
156
+ };
157
+ /** @param {ProvisionPoolKitReferences} erefs */
158
+ setReferences(erefs: ProvisionPoolKitReferences): Promise<void>;
159
+ makeHandler(): {
160
+ fromBridge: (obj: any) => Promise<void>;
161
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
162
+ fromBridge: (obj: any) => Promise<void>;
163
+ }>;
164
+ /**
165
+ * @param {Brand} brand
166
+ * @param {PsmInstance} instance
167
+ */
168
+ initPSM(brand: Brand, instance: PsmInstance): void;
169
+ };
170
+ walletReviver: {
171
+ /** @param {string} address */
172
+ reviveWallet(address: string): Promise<{
173
+ handleBridgeAction(actionCapData: import("@endo/marshal").CapData<string>, canSpend?: boolean | undefined): Promise<void>;
174
+ getDepositFacet(): {
175
+ receive(payment: Payment<AssetKind>): Promise<Amount<AssetKind>>;
176
+ };
177
+ getOffersFacet(): {
178
+ executeOffer(offerSpec: import("@agoric/smart-wallet/src/offers").OfferSpec): Promise<void>;
179
+ tryExitOffer(offerId: import("@agoric/smart-wallet/src/offers").OfferId): Promise<void>;
180
+ };
181
+ getCurrentSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
182
+ getUpdatesSubscriber(): Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
183
+ getPublicTopics(): {
184
+ current: {
185
+ description: string;
186
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").CurrentWalletRecord>;
187
+ storagePath: Promise<string>;
188
+ };
189
+ updates: {
190
+ description: string;
191
+ subscriber: Subscriber<import("@agoric/smart-wallet/src/smartWallet").UpdateRecord>;
192
+ storagePath: Promise<string>;
193
+ };
194
+ };
195
+ }>;
196
+ /**
197
+ * @param {string} address
198
+ * @returns {boolean} isRevive
199
+ */
200
+ ackWallet(address: string): boolean;
201
+ };
202
+ helper: {
203
+ publishMetrics(): void;
204
+ onTrade(converted: any): void;
205
+ onSendFunds(provided: any): void;
206
+ onProvisioned(): void;
207
+ /** @param {ERef<Bank>} destBank */
208
+ sendInitialPayment(destBank: ERef<Bank>): Promise<void>;
209
+ /**
210
+ * @param {object} [options]
211
+ * @param {MetricsNotification} [options.metrics]
212
+ */
213
+ start({ metrics }?: {
214
+ metrics?: MetricsNotification | undefined;
215
+ } | undefined): void;
216
+ /**
217
+ * @param {ERef<Payment>} payIn
218
+ * @param {Amount} amount
219
+ * @param {PsmInstance} instance
220
+ */
221
+ swap(payIn: ERef<Payment>, amount: Amount, instance: PsmInstance): Promise<Amount<"nat">>;
222
+ };
223
+ public: {
224
+ getPublicTopics(): {
225
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<MetricsNotification>;
226
+ };
227
+ };
228
+ }>>;
229
+ export type PsmInstance = import('@agoric/zoe/src/zoeService/utils').Instance<(zcf: ZCF<GovernanceTerms<{
230
+ GiveMintedFee: "ratio";
231
+ WantMintedFee: "ratio";
232
+ MintLimit: "amount";
233
+ }> & {
234
+ anchorBrand: Brand<"nat">;
235
+ anchorPerMinted: Ratio;
236
+ }>, privateArgs: {
237
+ feeMintAccess: FeeMintAccess;
238
+ initialPoserInvitation: Invitation<R, A>;
239
+ storageNode: StorageNode;
240
+ marshaller: Marshaller<unknown>;
241
+ }, baggage: import("@agoric/swingset-liveslots").Baggage) => Promise<{
242
+ creatorFacet: {
243
+ getParamMgrRetriever: () => {
244
+ get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
245
+ GiveMintedFee: "ratio";
246
+ MintLimit: "amount";
247
+ WantMintedFee: "ratio";
248
+ } & {
249
+ Electorate: "invitation";
250
+ }>;
251
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
252
+ get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
253
+ GiveMintedFee: "ratio";
254
+ MintLimit: "amount";
255
+ WantMintedFee: "ratio";
256
+ } & {
257
+ Electorate: "invitation";
258
+ }>;
259
+ }>;
260
+ getInvitation: (name: any) => Promise<Invitation<R, A>>;
261
+ getLimitedCreatorFacet: () => {
262
+ getRewardAllocation(): AmountKeywordRecord;
263
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
264
+ makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
265
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
266
+ getRewardAllocation(): AmountKeywordRecord;
267
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
268
+ makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
269
+ }>;
270
+ getGovernedApis: () => GovernedApis;
271
+ getGovernedApiNames: () => string[];
272
+ setOfferFilter: (strings: any) => Promise<void>;
273
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
274
+ getParamMgrRetriever: () => {
275
+ get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
276
+ GiveMintedFee: "ratio";
277
+ MintLimit: "amount";
278
+ WantMintedFee: "ratio";
279
+ } & {
280
+ Electorate: "invitation";
281
+ }>;
282
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
283
+ get: () => import("@agoric/governance/src/contractGovernance/typedParamManager").TypedParamManager<{
284
+ GiveMintedFee: "ratio";
285
+ MintLimit: "amount";
286
+ WantMintedFee: "ratio";
287
+ } & {
288
+ Electorate: "invitation";
289
+ }>;
290
+ }>;
291
+ getInvitation: (name: any) => Promise<Invitation<R, A>>;
292
+ getLimitedCreatorFacet: () => {
293
+ getRewardAllocation(): AmountKeywordRecord;
294
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
295
+ makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
296
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
297
+ getRewardAllocation(): AmountKeywordRecord;
298
+ makeCollectFeesInvitation(): Promise<Invitation<R, A>>;
299
+ makeRestoreMetricsInvitation(): Promise<Invitation<R, A>>;
300
+ }>;
301
+ getGovernedApis: () => GovernedApis;
302
+ getGovernedApiNames: () => string[];
303
+ setOfferFilter: (strings: any) => Promise<void>;
304
+ }>;
305
+ publicFacet: {
306
+ getAmount: (name: string) => Amount<AssetKind>;
307
+ getBrand: (name: string) => Brand<AssetKind>;
308
+ getInstance: (name: string) => Instance;
309
+ getInstallation: (name: string) => Installation<any>;
310
+ getInvitationAmount: (name: string) => Amount<"set">;
311
+ getNat: (name: string) => bigint;
312
+ getRatio: (name: string) => Ratio;
313
+ getString: (name: string) => string;
314
+ getTimestamp: (name: string) => import("@agoric/time/src/types").TimestampRecord;
315
+ getRelativeTime: (name: string) => import("@agoric/time/src/types").RelativeTimeRecord;
316
+ getUnknown: (name: string) => any;
317
+ getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
318
+ getGovernedParams: () => ERef<ParamStateRecord>;
319
+ getMetrics(): Subscriber<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>;
320
+ getPoolBalance(): Amount<any>;
321
+ getPublicTopics(): {
322
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>; /** @param {string[]} oldAddresses */
323
+ };
324
+ makeWantMintedInvitation(): Promise<Invitation<R, A>>;
325
+ makeGiveMintedInvitation(): Promise<Invitation<R, A>>;
326
+ } & import("@endo/eventual-send").RemotableBrand<{}, {
327
+ getAmount: (name: string) => Amount<AssetKind>;
328
+ getBrand: (name: string) => Brand<AssetKind>;
329
+ getInstance: (name: string) => Instance;
330
+ getInstallation: (name: string) => Installation<any>;
331
+ getInvitationAmount: (name: string) => Amount<"set">;
332
+ getNat: (name: string) => bigint;
333
+ getRatio: (name: string) => Ratio;
334
+ getString: (name: string) => string;
335
+ getTimestamp: (name: string) => import("@agoric/time/src/types").TimestampRecord;
336
+ getRelativeTime: (name: string) => import("@agoric/time/src/types").RelativeTimeRecord;
337
+ getUnknown: (name: string) => any;
338
+ getSubscription: () => StoredSubscription<GovernanceSubscriptionState>;
339
+ getGovernedParams: () => ERef<ParamStateRecord>;
340
+ getMetrics(): Subscriber<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>;
341
+ getPoolBalance(): Amount<any>;
342
+ getPublicTopics(): {
343
+ metrics: import("@agoric/zoe/src/contractSupport/topics.js").PublicTopic<import("@agoric/inter-protocol/src/psm/psm.js").MetricsNotification>; /** @param {string[]} oldAddresses */
344
+ };
345
+ makeWantMintedInvitation(): Promise<Invitation<R, A>>;
346
+ makeGiveMintedInvitation(): Promise<Invitation<R, A>>;
347
+ }>;
348
+ }>>;
349
+ export type ProvisionPoolKitReferences = {
350
+ bankManager: ERef<BankManager>;
351
+ namesByAddressAdmin: ERef<import('@agoric/vats').NameAdmin>;
352
+ walletFactory: ERef<import('@agoric/vats/src/core/startWalletFactory').WalletFactoryStartResult['creatorFacet']>;
353
+ };
354
+ /**
355
+ * Metrics naming scheme is that nouns are
356
+ * present values and past-participles are accumulative.
357
+ */
358
+ export type MetricsNotification = {
359
+ /**
360
+ * count of new wallets provisioned
361
+ */
362
+ walletsProvisioned: bigint;
363
+ /**
364
+ * running sum of Minted provided
365
+ * to new wallets
366
+ */
367
+ totalMintedProvided: Amount<'nat'>;
368
+ /**
369
+ * running sum of Minted ever
370
+ * received by the contract from PSM
371
+ */
372
+ totalMintedConverted: Amount<'nat'>;
373
+ };
374
+ /**
375
+ * Given attenuated access to the funding purse, handle requests to provision
376
+ * smart wallets.
377
+ */
378
+ export type Bank = import('@agoric/vats/src/vat-bank.js').Bank;
379
+ //# sourceMappingURL=provisionPoolKit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provisionPoolKit.d.ts","sourceRoot":"","sources":["provisionPoolKit.js"],"names":[],"mappings":"AA2DO,0EALkB,KAAK,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,iBAC1C,MAAM,IAAI,0DAKP,0BAA0B;;;;GA+BvC;AAWM,iDARI,OAAO,kBAAkB,EAAE,OAAO,8CAClC;IACV,eAAmB,EAAE,OAAO,6CAA6C,EAAE,eAAe,CAAC;IAC3F,MAAU,EAAE,GAAG,CAAC;IAChB,QAAY,EAAE,OAAO,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,GAAO,EAAE,GAAG,CAAC;CACV;IAuVqB,SAAS,EAArB,KAAK;IACmB,WAAW,EAAnC,KAAK,WAAW,CAAC;;;QAzQtB,qCAAqC;4CAAzB,MAAM,EAAE;;YA+CpB,8BAA8B;kCAAlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;YAqBlB;;;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;;;;QA2EH;;;;WAIG;oBAHQ,KAAK,OAAO,CAAC,UACb,MAAM,YACN,WAAW;;;;;;;;;QAjOtB,qCAAqC;4CAAzB,MAAM,EAAE;;YA+CpB,8BAA8B;kCAAlB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;YAqBlB;;;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;;;;QA2EH;;;;WAIG;oBAHQ,KAAK,OAAO,CAAC,UACb,MAAM,YACN,WAAW;;;;;;;IAwD7B;0BAlbY,OAAO,kCAAkC,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2JAyJxD,qCAAqC;;;;;;;;;;;;;;;;;;;;;2JAArC,qCAAqC;;;;;GAvJzC;;iBAKU,KAAK,WAAW,CAAC;yBACjB,KAAK,OAAO,cAAc,EAAE,SAAS,CAAC;mBACtC,KACb,OAAW,0CAA0C,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAC5F;;;;;;;;;;wBAMU,MAAM;;;;;yBACN,OAAO,KAAK,CAAC;;;;;0BAEb,OAAO,KAAK,CAAC;;;;;;mBAWd,OAAO,8BAA8B,EAAE,IAAI"}