@agoric/smart-wallet 0.5.4-u12.0 → 0.5.4-u14.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,23 @@
1
+ export function upgradeWalletFactory({ consume: { walletFactoryStartResult, provisionPoolStartResult, chainStorage, walletBridgeManager: walletBridgeManagerP, }, }: BootstrapPowers & ChainBootstrapSpace, options: {
2
+ options: {
3
+ walletRef: VatSourceRef;
4
+ };
5
+ }): Promise<void>;
6
+ export function getManifestForUpgradeWallet(_powers: any, { walletRef }: {
7
+ walletRef: any;
8
+ }): {
9
+ manifest: {
10
+ [x: string]: {
11
+ consume: {
12
+ walletFactoryStartResult: string;
13
+ provisionPoolStartResult: string;
14
+ chainStorage: string;
15
+ walletBridgeManager: string;
16
+ };
17
+ };
18
+ };
19
+ options: {
20
+ walletRef: any;
21
+ };
22
+ };
23
+ //# sourceMappingURL=upgrade-wallet-factory2-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-wallet-factory2-proposal.d.ts","sourceRoot":"","sources":["upgrade-wallet-factory2-proposal.js"],"names":[],"mappings":"AASO,qKAJI,eAAe,GAAG,mBAAmB;;mBAExB,YAAY;;kBAqCnC;AAEM;;;;;;;;;;;;;;;;EAYL"}
@@ -0,0 +1,59 @@
1
+ // @ts-check
2
+ import { E } from '@endo/far';
3
+ import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
4
+
5
+ /**
6
+ * @param {BootstrapPowers & ChainBootstrapSpace} powers
7
+ * @param {object} options
8
+ * @param {{ walletRef: VatSourceRef }} options.options
9
+ */
10
+ export const upgradeWalletFactory = async (
11
+ {
12
+ consume: {
13
+ walletFactoryStartResult,
14
+ provisionPoolStartResult,
15
+ chainStorage,
16
+ walletBridgeManager: walletBridgeManagerP,
17
+ },
18
+ },
19
+ options,
20
+ ) => {
21
+ const WALLET_STORAGE_PATH_SEGMENT = 'wallet';
22
+
23
+ const { walletRef } = options.options;
24
+
25
+ const [walletBridgeManager, walletStorageNode, ppFacets] = await Promise.all([
26
+ walletBridgeManagerP,
27
+ makeStorageNodeChild(chainStorage, WALLET_STORAGE_PATH_SEGMENT),
28
+ provisionPoolStartResult,
29
+ ]);
30
+ // @ts-expect-error missing type declaration?
31
+ const walletReviver = await E(ppFacets.creatorFacet).getWalletReviver();
32
+
33
+ const privateArgs = {
34
+ storageNode: walletStorageNode,
35
+ walletBridgeManager,
36
+ walletReviver,
37
+ };
38
+
39
+ const { adminFacet } = await walletFactoryStartResult;
40
+
41
+ assert(walletRef.bundleID);
42
+ await E(adminFacet).upgradeContract(walletRef.bundleID, privateArgs);
43
+
44
+ console.log(`Successfully upgraded WalletFactory`);
45
+ };
46
+
47
+ export const getManifestForUpgradeWallet = (_powers, { walletRef }) => ({
48
+ manifest: {
49
+ [upgradeWalletFactory.name]: {
50
+ consume: {
51
+ walletFactoryStartResult: 'walletFactoryStartResult',
52
+ provisionPoolStartResult: 'provisionPoolStartResult',
53
+ chainStorage: 'chainStorage',
54
+ walletBridgeManager: 'walletBridgeManager',
55
+ },
56
+ },
57
+ },
58
+ options: { walletRef },
59
+ });
@@ -26,19 +26,19 @@ export function prepareSmartWallet(baggage: MapStore<string, unknown>, shared: S
26
26
  /**
27
27
  * Take an offer description provided in capData, augment it with payments and call zoe.offer()
28
28
  *
29
- * @param {import('./offers.js').OfferSpec} offerSpec
29
+ * @param {OfferSpec} offerSpec
30
30
  * @returns {Promise<void>} after the offer has been both seated and exited by Zoe.
31
31
  * @throws if any parts of the offer can be determined synchronously to be invalid
32
32
  */
33
- executeOffer(offerSpec: import('./offers.js').OfferSpec): Promise<void>;
33
+ executeOffer(offerSpec: OfferSpec): Promise<void>;
34
34
  /**
35
35
  * Take an offer's id, look up its seat, try to exit.
36
36
  *
37
- * @param {import('./offers.js').OfferId} offerId
37
+ * @param {OfferId} offerId
38
38
  * @returns {Promise<void>}
39
39
  * @throws if the seat can't be found or E(seatRef).tryExit() fails.
40
40
  */
41
- tryExitOffer(offerId: import('./offers.js').OfferId): Promise<void>;
41
+ tryExitOffer(offerId: OfferId): Promise<void>;
42
42
  };
43
43
  /** @deprecated use getPublicTopics */
44
44
  getCurrentSubscriber(): Subscriber<CurrentWalletRecord>;
@@ -56,14 +56,35 @@ export function prepareSmartWallet(baggage: MapStore<string, unknown>, shared: S
56
56
  storagePath: Promise<string>;
57
57
  };
58
58
  };
59
+ /**
60
+ * To be called once ever per wallet.
61
+ *
62
+ * @param {object} key
63
+ */
64
+ repairWalletForIncarnation2(key: object): void;
59
65
  }>;
66
+ export type OfferId = number | string;
67
+ export type OfferSpec = {
68
+ id: OfferId;
69
+ invitationSpec: import('./invitations').InvitationSpec;
70
+ proposal: Proposal;
71
+ offerArgs?: unknown;
72
+ };
73
+ export type ExecutorPowers = {
74
+ logger: {
75
+ info: (...args: any[]) => void;
76
+ error: (...args: any[]) => void;
77
+ };
78
+ makeOfferWatcher: import('./offerWatcher.js').MakeOfferWatcher;
79
+ invitationFromSpec: ERef<Invitation>;
80
+ };
60
81
  export type ExecuteOfferAction = {
61
82
  method: 'executeOffer';
62
- offer: import('./offers.js').OfferSpec;
83
+ offer: OfferSpec;
63
84
  };
64
85
  export type TryExitOfferAction = {
65
86
  method: 'tryExitOffer';
66
- offerId: import('./offers.js').OfferId;
87
+ offerId: OfferId;
67
88
  };
68
89
  export type BridgeAction = ExecuteOfferAction | TryExitOfferAction;
69
90
  /**
@@ -91,7 +112,7 @@ export type CurrentWalletRecord = {
91
112
  offerToPublicSubscriberPaths: [offerId: string, publicTopics: {
92
113
  [subscriberName: string]: string;
93
114
  }][];
94
- liveOffers: Array<[import('./offers.js').OfferId, import('./offers.js').OfferStatus]>;
115
+ liveOffers: Array<[OfferId, import('./offers.js').OfferStatus]>;
95
116
  };
96
117
  /**
97
118
  * Record of an update to the state of this wallet.
@@ -124,12 +145,11 @@ export type BrandDescriptor = {
124
145
  brand: Brand;
125
146
  displayInfo: DisplayInfo;
126
147
  issuer: Issuer;
127
- petname: import('./types').Petname;
148
+ petname: import('./types.js').Petname;
128
149
  };
129
- export type RemotePurse = import('./types').RemotePurse;
130
150
  export type UniqueParams = {
131
151
  address: string;
132
- bank: ERef<import('@agoric/vats/src/vat-bank').Bank>;
152
+ bank: ERef<import('@agoric/vats/src/vat-bank.js').Bank>;
133
153
  currentStorageNode: StorageNode;
134
154
  invitationPurse: Purse<'set'>;
135
155
  walletStorageNode: StorageNode;
@@ -143,6 +163,7 @@ export type SharedParams = {
143
163
  invitationDisplayInfo: DisplayInfo;
144
164
  publicMarshaller: Marshaller;
145
165
  zoe: ERef<ZoeService>;
166
+ secretWalletFactoryKey: any;
146
167
  };
147
168
  /**
148
169
  * - `brandPurses` is precious and closely held. defined as late as possible to reduce its scope.
@@ -153,14 +174,15 @@ export type SharedParams = {
153
174
  export type State = ImmutableState & MutableState;
154
175
  export type ImmutableState = Readonly<UniqueParams & {
155
176
  paymentQueues: MapStore<Brand, Array<Payment>>;
156
- offerToInvitationMakers: MapStore<string, import('./types').InvitationMakers>;
177
+ offerToInvitationMakers: MapStore<string, import('./types').RemoteInvitationMakers>;
157
178
  offerToPublicSubscriberPaths: MapStore<string, Record<string, string>>;
158
- offerToUsedInvitation: MapStore<string, Amount>;
159
- purseBalances: MapStore<RemotePurse, Amount>;
179
+ offerToUsedInvitation: MapStore<string, Amount<'set'>>;
180
+ purseBalances: MapStore<Purse, Amount>;
160
181
  updateRecorderKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<UpdateRecord>;
161
182
  currentRecorderKit: import('@agoric/zoe/src/contractSupport/recorder.js').RecorderKit<CurrentWalletRecord>;
162
- liveOffers: MapStore<import('./offers.js').OfferId, import('./offers.js').OfferStatus>;
163
- liveOfferSeats: WeakMapStore<import('./offers.js').OfferId, UserSeat<unknown>>;
183
+ liveOffers: MapStore<OfferId, import('./offers.js').OfferStatus>;
184
+ liveOfferSeats: MapStore<OfferId, UserSeat<unknown>>;
185
+ liveOfferPayments: MapStore<OfferId, MapStore<Brand, Payment>>;
164
186
  }>;
165
187
  export type PurseRecord = BrandDescriptor & {
166
188
  purse: Purse;
@@ -1 +1 @@
1
- {"version":3,"file":"smartWallet.d.ts","sourceRoot":"","sources":["smartWallet.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smartWallet.d.ts","sourceRoot":"","sources":["smartWallet.js"],"names":[],"mappings":"AAiOA,kDAAmD;AAiB5C,+EAFI,YAAY;uBAq6B2E,KAAK,WAAW,CAAC;;IAvH3G;;;;;;OAMG;sCAHQ,OAAO,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,mCAErC,QAAQ,IAAI,CAAC;;QArP1B;;;;;;;;WAQG;yBAHQ,OAAO,GACL,QAAQ,MAAM,CAAC;;;QAkH5B;;;;;;WAMG;gCAHQ,SAAS,GACP,QAAQ,IAAI,CAAC;QAuG1B;;;;;;WAMG;8BAHQ,OAAO,GACL,QAAQ,IAAI,CAAC;;IAmE1B,sCAAsC;;IAKtC,sCAAsC;;;;;;;;;;;;;;IAuBtC;;;;OAIG;qCADQ,MAAM;GA+CxB;sBAhnCa,MAAM,GAAG,MAAM;wBAGhB;IACZ,EAAM,EAAE,OAAO,CAAC;IAChB,cAAkB,EAAE,OAAO,eAAe,EAAE,cAAc,CAAC;IAC3D,QAAY,EAAE,QAAQ,CAAC;IACvB,SAAa,CAAC,EAAE,OAAO,CAAA;CACpB;;;wBAK2B,GAAG,EAAE,KAAK,IAAI;yBAAmB,GAAG,EAAE,KAAK,IAAI;;sBACvD,OAAO,mBAAmB,EAAE,gBAAgB;wBAC1C,KAAK,UAAU,CAAC;;iCAK5B;IACZ,MAAU,EAAE,cAAc,CAAA;IAC1B,KAAS,EAAE,SAAS,CAAC;CAClB;iCAIS;IACZ,MAAU,EAAE,cAAc,CAAA;IAC1B,OAAW,EAAE,OAAO,CAAC;CAClB;2BAOU,kBAAkB,GAAG,kBAAkB;;;;;;;;;;;;;;;;;;YAoBxC,MAAM;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC;2BACvB,MAAM,CAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAE,CAAC;;;;gBAE7D,MAAM,CAAC,OAAO,EAAE,OAAO,aAAa,EAAE,WAAW,CAAC,CAAC;;;;;;;;;;;;;;2BAKvD;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,QAAQ,OAAO,aAAa,EAAE,WAAW,CAAA;CAAE,GAC3E;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,QAAQ;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;;;;8BAchD;IACZ,KAAS,EAAE,KAAK,CAAC;IACjB,WAAe,EAAE,WAAW,CAAC;IAC7B,MAAU,EAAE,MAAM,CAAC;IACnB,OAAW,EAAE,OAAO,YAAY,EAAE,OAAO,CAAA;CACtC;2BAKS;IACZ,OAAW,EAAE,MAAM,CAAC;IACpB,IAAQ,EAAE,KAAK,OAAO,8BAA8B,EAAE,IAAI,CAAC,CAAC;IAC5D,kBAAsB,EAAE,WAAW,CAAC;IACpC,eAAmB,EAAE,MAAM,KAAK,CAAC,CAAC;IAClC,iBAAqB,EAAE,WAAW,CAAC;CAChC;sCAES,KAAK,SAAS,KAAK,EAAE,eAAe,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;2BAChE;IACZ,WAAe,EAAE,KAAK,OAAO,cAAc,EAAE,OAAO,CAAC,CAAC;IACtD,QAAY,EAAE,uBAAuB,CAAC;IACtC,gBAAoB,EAAE,OAAO,KAAK,CAAC,CAAC;IACpC,eAAmB,EAAE,MAAM,KAAK,CAAC,CAAC;IAClC,qBAAyB,EAAE,WAAW,CAAC;IACvC,gBAAoB,EAAE,UAAU,CAAC;IACjC,GAAO,EAAE,KAAK,UAAU,CAAC,CAAC;IAC1B,sBAA0B,EAAE,GAAG,CAAC;CAC7B;;;;;;;oBAES,cAAc,GAAG,YAAY;6BAM7B,SAAS,YAAY,GAAG;IACpC,aAAiB,EAAE,SAAS,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC;IACnD,uBAA2B,EAAE,SAAS,MAAM,EAAE,OAAO,SAAS,EAAE,sBAAsB,CAAC,CAAC;IACxF,4BAAgC,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,qBAAyB,EAAE,SAAS,MAAM,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC;IAC3D,aAAiB,EAAE,SAAS,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,iBAAqB,EAAE,OAAO,6CAA6C,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvG,kBAAsB,EAAE,OAAO,6CAA6C,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC/G,UAAc,EAAE,SAAS,OAAO,EAAE,OAAO,aAAa,EAAE,WAAW,CAAC,CAAC;IACrE,cAAkB,EAAE,SAAS,OAAO,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC;IACzD,iBAAqB,EAAE,SAAS,OAAO,EAAE,SAAS,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;CAChE,CAAC;0BAEQ,eAAe,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE;2BAClC,EACT;0BA++BU,QAAQ,WAAW,WAAW,yBAAyB,CAAC,CAAC,CAAC"}