@agoric/client-utils 0.1.1-dev-a28ae68.0.a28ae68 → 0.1.1-dev-166d88e.0.166d88e

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.
@@ -1,6 +1,6 @@
1
- import type { InvokeEntryMessage, OfferSpec } from '@agoric/smart-wallet/src/offers.js';
1
+ import type { OfferSpec, OfferStatus } from '@agoric/smart-wallet/src/offers.js';
2
2
  import type { BridgeAction } from '@agoric/smart-wallet/src/smartWallet.js';
3
- import type { SigningStargateClient, StdFee } from '@cosmjs/stargate';
3
+ import type { DeliverTxResponse, SignerData, SigningStargateClient, StdFee } from '@cosmjs/stargate';
4
4
  import type { EReturn } from '@endo/far';
5
5
  import { type SmartWalletKit } from './smart-wallet-kit.js';
6
6
  /**
@@ -10,8 +10,6 @@ export declare const makeSigningSmartWalletKit: ({ connectWithSigner, walletUtil
10
10
  connectWithSigner: typeof SigningStargateClient.connectWithSigner;
11
11
  walletUtils: SmartWalletKit;
12
12
  }, MNEMONIC: string) => Promise<Readonly<{
13
- networkConfig: import("./network-config.js").MinimalNetworkConfig;
14
- marshaller: Omit<import("@endo/marshal").Marshal<string | null>, "serialize" | "unserialize">;
15
13
  query: {
16
14
  readPublished: <T extends string>(subpath: T) => Promise<import("./types.js").TypedPublished<T>>;
17
15
  vstorage: {
@@ -34,16 +32,48 @@ export declare const makeSigningSmartWalletKit: ({ connectWithSigner, walletUtil
34
32
  };
35
33
  getLastUpdate: () => Promise<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
36
34
  getCurrentWalletRecord: () => Promise<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
37
- pollOffer: (id: string | number, minHeight: string | number, untilNumWantsSatisfied?: boolean | undefined) => Promise<import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
35
+ pollOffer: (id: string | number, minHeight?: string | number | undefined, untilNumWantsSatisfied?: boolean | undefined) => Promise<OfferStatus>;
38
36
  };
39
37
  address: string;
40
- executeOffer: (offer: OfferSpec) => Promise<import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
41
- invokeEntry: (message: InvokeEntryMessage) => Promise<{
42
- result: {
43
- transaction: import("@cosmjs/stargate").DeliverTxResponse;
44
- };
45
- }>;
46
- sendBridgeAction: (action: BridgeAction, fee?: StdFee) => Promise<import("@cosmjs/stargate").DeliverTxResponse>;
38
+ /**
39
+ * Send an `executeOffer` bridge action and promise the resulting offer
40
+ * record once the offer has settled. If you don't need the offer record,
41
+ * consider using `sendBridgeAction` instead.
42
+ */
43
+ executeOffer: (offer: OfferSpec) => Promise<OfferStatus>;
44
+ sendBridgeAction: (action: BridgeAction, fee?: StdFee, memo?: string, signerData?: SignerData) => Promise<DeliverTxResponse>;
45
+ agoricNames: import("@agoric/vats/tools/board-utils.js").AgoricNamesRemotes;
46
+ getLastUpdate: (addr: string) => Promise<import("@agoric/smart-wallet/src/smartWallet.js").UpdateRecord>;
47
+ getCurrentWalletRecord: (addr: string) => Promise<import("@agoric/smart-wallet/src/smartWallet.js").CurrentWalletRecord>;
48
+ pollOffer: (from: string, id: string | number, minHeight?: number | string, untilNumWantsSatisfied?: boolean) => Promise<OfferStatus>;
49
+ fromBoard: {
50
+ convertSlotToVal: (boardId: any, iface: any) => any;
51
+ };
52
+ marshaller: Omit<import("@endo/marshal").Marshal<string | null>, "serialize" | "unserialize">;
53
+ networkConfig: import("./network-config.js").MinimalNetworkConfig;
54
+ readLatestHead: (path: string) => Promise<T>;
55
+ readPublished: <T extends string>(subpath: T) => Promise<import("./types.js").TypedPublished<T>>;
56
+ unserializeHead: (txt: string | {
57
+ value: string;
58
+ }) => unknown;
59
+ vstorage: {
60
+ readStorageMeta: <T extends "children" | "data">(path?: string, { kind, height }?: {
61
+ kind?: T | undefined;
62
+ height?: number | bigint | undefined;
63
+ }) => Promise<{
64
+ blockHeight?: bigint;
65
+ log?: string;
66
+ result: T extends "children" ? import("@agoric/cosmic-proto/agoric/vstorage/query.js").QueryChildrenResponse : import("@agoric/cosmic-proto/agoric/vstorage/query.js").QueryDataResponse;
67
+ }>;
68
+ readStorage: <T extends "children" | "data">(path?: string, opts?: {
69
+ kind?: T | undefined;
70
+ height?: number | bigint | undefined;
71
+ }) => Promise<T extends "children" ? import("@agoric/cosmic-proto/agoric/vstorage/query.js").QueryChildrenResponse : import("@agoric/cosmic-proto/agoric/vstorage/query.js").QueryDataResponse>;
72
+ readLatest(path?: string): Promise<import("@agoric/cosmic-proto/agoric/vstorage/query.js").QueryDataResponse>;
73
+ keys(path?: string): Promise<string[]>;
74
+ readAt(path: string, height?: number): Promise<import("@agoric/internal/src/lib-chainStorage.js").StreamCell<unknown>>;
75
+ readFully(path: string, minHeight?: number | string): Promise<string[]>;
76
+ };
47
77
  }>>;
48
78
  export type SigningSmartWalletKit = EReturn<typeof makeSigningSmartWalletKit>;
49
79
  //# sourceMappingURL=signing-smart-wallet-kit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing-smart-wallet-kit.d.ts","sourceRoot":"","sources":["../src/signing-smart-wallet-kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,qCAGG;IACD,iBAAiB,EAAE,OAAO,qBAAqB,CAAC,iBAAiB,CAAC;IAClE,WAAW,EAAE,cAAc,CAAC;CAC7B,EACD,UAAU,MAAM;;;;;;;;;;2BAuE0N,CAAC;mBAAa,CAAC;;;;;;;;;;;;;;;;;0BAnCtN,SAAS;2BAaR,kBAAkB;;;;;+BA1BpB,YAAY,QAAO,MAAM;GA8C5D,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"signing-smart-wallet-kit.d.ts","sourceRoot":"","sources":["../src/signing-smart-wallet-kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,MAAM,EACP,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,qCAGG;IACD,iBAAiB,EAAE,OAAO,qBAAqB,CAAC,iBAAiB,CAAC;IAClE,WAAW,EAAE,cAAc,CAAC;CAC7B,EACD,UAAU,MAAM;;;;;;;;2BA8EiD,CAAC;mBAC/D,CAAD;;;;;;;;;;;;;;;;;IAHA;;;;OAIG;0BAtB8B,SAAS,KAAG,OAAO,CAAC,WAAW,CAAC;+BA/BzD,YAAY,QACf,MAAM,SACL,MAAM,eACC,UAAU,KACtB,OAAO,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;uBA+CoC,CAAC;eAC/D,CAAD;;;;;;;;;;;;GAKH,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { toAccAddress } from '@cosmjs/stargate/build/queryclient/utils.js';
2
2
  import { MsgWalletSpendAction } from './codegen/agoric/swingset/msgs.js';
3
+ import { TxRaw } from './codegen/cosmos/tx/v1beta1/tx.js';
3
4
  import { makeStargateClientKit } from './signing-client.js';
4
5
  import {} from './smart-wallet-kit.js';
5
6
  // TODO parameterize as part of https://github.com/Agoric/agoric-sdk/issues/5912
@@ -16,42 +17,50 @@ export const makeSigningSmartWalletKit = async ({ connectWithSigner, walletUtils
16
17
  // XXX always the first
17
18
  rpcAddr: walletUtils.networkConfig.rpcAddrs[0],
18
19
  });
20
+ // Omit deprecated utilities
21
+ const { storedWalletState: _, ...swk } = walletUtils;
19
22
  const query = {
20
- readPublished: walletUtils.readPublished,
21
- vstorage: walletUtils.vstorage,
22
- getLastUpdate: () => walletUtils.getLastUpdate(address),
23
- getCurrentWalletRecord: () => walletUtils.getCurrentWalletRecord(address),
24
- pollOffer: (...args) => walletUtils.pollOffer(address, ...args),
23
+ readPublished: swk.readPublished,
24
+ vstorage: swk.vstorage,
25
+ getLastUpdate: () => swk.getLastUpdate(address),
26
+ getCurrentWalletRecord: () => swk.getCurrentWalletRecord(address),
27
+ pollOffer: (...args) => swk.pollOffer(address, ...args),
25
28
  };
26
- const sendBridgeAction = (action, fee = defaultFee) => {
29
+ const sendBridgeAction = async (action, fee = defaultFee, memo = '', signerData) => {
27
30
  const msgSpend = MsgWalletSpendAction.fromPartial({
28
31
  owner: toAccAddress(address),
29
- spendAction: JSON.stringify(walletUtils.marshaller.toCapData(action)),
32
+ spendAction: JSON.stringify(swk.marshaller.toCapData(action)),
30
33
  });
31
- return client.signAndBroadcast(address, [{ typeUrl: MsgWalletSpendAction.typeUrl, value: msgSpend }], fee);
34
+ const messages = [
35
+ { typeUrl: MsgWalletSpendAction.typeUrl, value: msgSpend },
36
+ ];
37
+ if (!signerData) {
38
+ return client.signAndBroadcast(address, messages, fee, memo);
39
+ }
40
+ // Explicit signing data
41
+ const signedTx = await client.sign(address, messages, fee, memo, signerData);
42
+ const txBytes = TxRaw.encode(signedTx).finish();
43
+ return client.broadcastTx(txBytes);
32
44
  };
33
45
  const executeOffer = async (offer) => {
34
- const before = await client.getBlock();
46
+ const offerP = swk.pollOffer(address, offer.id);
47
+ // Await for rejection handling
35
48
  await sendBridgeAction(harden({
36
49
  method: 'executeOffer',
37
50
  offer,
38
51
  }));
39
- return walletUtils.pollOffer(address, offer.id, before.header.height);
40
- };
41
- const invokeEntry = async (message) => {
42
- const transaction = await sendBridgeAction(harden({
43
- method: 'invokeEntry',
44
- message,
45
- }));
46
- return { result: { transaction } };
52
+ return offerP;
47
53
  };
48
54
  return Object.freeze({
49
- networkConfig: walletUtils.networkConfig,
50
- marshaller: walletUtils.marshaller,
55
+ ...swk,
51
56
  query,
52
57
  address,
58
+ /**
59
+ * Send an `executeOffer` bridge action and promise the resulting offer
60
+ * record once the offer has settled. If you don't need the offer record,
61
+ * consider using `sendBridgeAction` instead.
62
+ */
53
63
  executeOffer,
54
- invokeEntry,
55
64
  sendBridgeAction,
56
65
  });
57
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"signing-smart-wallet-kit.js","sourceRoot":"","sources":["../src/signing-smart-wallet-kit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAuB,MAAM,uBAAuB,CAAC;AAE5D,gFAAgF;AAChF,MAAM,UAAU,GAAW;IACzB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc;IAC7D,GAAG,EAAE,UAAU;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,EACE,iBAAiB,EACjB,WAAW,GAIZ,EACD,QAAgB,EAChB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE;QAChE,iBAAiB;QACjB,uBAAuB;QACvB,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC/C,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC;QACvD,sBAAsB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC;QACzE,SAAS,EAAE,CACT,GAAG,IAKM,EACT,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;KAC7C,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,MAAoB,EAAE,MAAc,UAAU,EAAE,EAAE;QAC1E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC;YAChD,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;YAC5B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACtE,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,gBAAgB,CAC5B,OAAO,EACP,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC5D,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,KAAgB,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEvC,MAAM,gBAAgB,CACpB,MAAM,CAAC;YACL,MAAM,EAAE,cAAc;YACtB,KAAK;SACN,CAAC,CACH,CAAC;QAEF,OAAO,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,OAA2B,EAAE,EAAE;QACxD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,MAAM,CAAC;YACL,MAAM,EAAE,aAAa;YACrB,OAAO;SACR,CAAC,CACH,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,KAAK;QACL,OAAO;QACP,YAAY;QACZ,WAAW;QACX,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"signing-smart-wallet-kit.js","sourceRoot":"","sources":["../src/signing-smart-wallet-kit.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export function makeSmartWalletKit({ fetch, delay, names }: {
1
+ export function makeSmartWalletKit({ fetch, delay, names, }: {
2
2
  fetch: typeof globalThis.fetch;
3
3
  delay: (ms: number) => Promise<void>;
4
4
  names?: boolean | undefined;
@@ -15,13 +15,13 @@ export function makeSmartWalletKit({ fetch, delay, names }: {
15
15
  offerStatuses: Map<import("@agoric/smart-wallet/src/offers.js").OfferId, import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
16
16
  balances: Map<Brand, Amount>;
17
17
  }>;
18
- pollOffer: (from: string, id: string | number, minHeight: number | string, untilNumWantsSatisfied?: boolean) => Promise<import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
18
+ pollOffer: (from: string, id: string | number, minHeight?: number | string, untilNumWantsSatisfied?: boolean) => Promise<import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
19
19
  fromBoard: {
20
20
  convertSlotToVal: (boardId: any, iface: any) => any;
21
21
  };
22
22
  marshaller: Omit<import("@endo/marshal").Marshal<string | null>, "serialize" | "unserialize">;
23
23
  networkConfig: MinimalNetworkConfig;
24
- readLatestHead: (path: string) => Promise<unknown>;
24
+ readLatestHead: (path: string) => Promise<T>;
25
25
  readPublished: <T extends string>(subpath: T) => Promise<import("./types.js").TypedPublished<T>>;
26
26
  unserializeHead: (txt: string | {
27
27
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet-kit.d.ts","sourceRoot":"","sources":["../src/smart-wallet-kit.js"],"names":[],"mappings":"AAwBO,4DALJ;IAAuC,KAAK,EAApC,OAAO,UAAU,CAAC,KAAK;IACc,KAAK,EAA1C,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;IACb,KAAK;CAC7B,iBAAQ,oBAAoB;;0BAyElB,MAAM,KACJ,OAAO,CAAC,YAAY,CAAC;mCAOvB,MAAM,KACJ,OAAO,CAAC,mBAAmB,CAAC;8BAnE9B,MAAM,cACN,MAAM,GAAC,MAAM;;;;;;;;;sBA0Bb,MAAM,MACN,MAAM,GAAC,MAAM,aACb,MAAM,GAAC,MAAM,2BACb,OAAO;;;;;;;;;;;;;;;;uBA4BP,CAAC;eACX,CAAD;;;;;;;;;;;;GAuBD;6BACa,QAAQ,OAAO,kBAAkB,CAAC;0CA/GT,qBAAqB;kCADR,yCAAyC;yCAAzC,yCAAyC;2BAD7D,2BAA2B;4BAA3B,2BAA2B;6BADjC,WAAW"}
1
+ {"version":3,"file":"smart-wallet-kit.d.ts","sourceRoot":"","sources":["../src/smart-wallet-kit.js"],"names":[],"mappings":"AAuBO,6DALJ;IAAuC,KAAK,EAApC,OAAO,UAAU,CAAC,KAAK;IACc,KAAK,EAA1C,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;IACb,KAAK;CAC7B,iBAAQ,oBAAoB;;0BAuGlB,MAAM,KACJ,OAAO,CAAC,YAAY,CAAC;mCAOvB,MAAM,KACJ,OAAO,CAAC,mBAAmB,CAAC;8BA9F9B,MAAM,cACN,MAAM,GAAC,MAAM;;;;;;;;;sBA0Bb,MAAM,MACN,MAAM,GAAC,MAAM,cACb,MAAM,GAAC,MAAM,2BACb,OAAO;;;;;;;;;;;;;;;;uBAuBR,CAAD;eACC,CAAD;;;;;;;;;;;;GAuDV;6BACa,QAAQ,OAAO,kBAAkB,CAAC;0CA7IT,qBAAqB;kCADR,yCAAyC;yCAAzC,yCAAyC;2BAD7D,2BAA2B;4BAA3B,2BAA2B;6BADjC,WAAW"}
@@ -1,6 +1,5 @@
1
1
  import { makeWalletStateCoalescer } from '@agoric/smart-wallet/src/utils.js';
2
- import { pollBlocks } from './chain.js';
3
- import { makeStargateClient } from './rpc.js';
2
+ import { retryUntilCondition } from './sync-tools.js';
4
3
  import { makeAgoricNames, makeVstorageKit } from './vstorage-kit.js';
5
4
  /**
6
5
  * @import {EReturn} from '@endo/far';
@@ -20,9 +19,10 @@ import { makeAgoricNames, makeVstorageKit } from './vstorage-kit.js';
20
19
  * @param {boolean} [root0.names]
21
20
  * @param {MinimalNetworkConfig} networkConfig
22
21
  */
23
- export const makeSmartWalletKit = async ({ fetch, delay, names = true }, networkConfig) => {
22
+ export const makeSmartWalletKit = async ({ fetch,
23
+ // eslint-disable-next-line no-unused-vars -- keep for removing ambient authority
24
+ delay, names = true, }, networkConfig) => {
24
25
  const vsk = makeVstorageKit({ fetch }, networkConfig);
25
- const client = makeStargateClient(networkConfig, { fetch });
26
26
  const agoricNames = await (names
27
27
  ? makeAgoricNames(vsk.fromBoard, vsk.vstorage)
28
28
  : /** @type {import('@agoric/vats/tools/board-utils.js').AgoricNamesRemotes} */ ({}));
@@ -51,27 +51,50 @@ export const makeSmartWalletKit = async ({ fetch, delay, names = true }, network
51
51
  *
52
52
  * @param {string} from
53
53
  * @param {string|number} id
54
- * @param {number|string} minHeight
54
+ * @param {number|string} [minHeight] - deprecated, start polling before broadcasting the offer
55
55
  * @param {boolean} [untilNumWantsSatisfied]
56
56
  */
57
57
  const pollOffer = async (from, id, minHeight, untilNumWantsSatisfied = false) => {
58
- const poll = pollBlocks({
59
- client,
60
- delay,
61
- retryMessage: 'offer not in wallet at block',
62
- });
63
- const lookup = async () => {
64
- const { offerStatuses } = await storedWalletState(from, minHeight);
65
- const offerStatus = [...offerStatuses.values()].find(s => s.id === id);
66
- if (!offerStatus)
67
- throw Error('retry');
68
- harden(offerStatus);
69
- if (untilNumWantsSatisfied && !('numWantsSatisfied' in offerStatus)) {
70
- throw Error('retry (no numWantsSatisfied yet)');
58
+ /** @type {UpdateRecord} */
59
+ const done = await retryUntilCondition(() => getLastUpdate(from), update => {
60
+ switch (update.updated) {
61
+ // walletAction implies an error, so stop on that
62
+ case 'walletAction':
63
+ return true;
64
+ case 'offerStatus':
65
+ if (update.status.id !== id) {
66
+ return false;
67
+ }
68
+ if (update.status.error) {
69
+ // regardless of untilNumWantsSatisfied, stop on error
70
+ return true;
71
+ }
72
+ if (untilNumWantsSatisfied) {
73
+ return 'numWantsSatisfied' in update.status;
74
+ }
75
+ // Matches ID and we don't care about numWantsSatisfied
76
+ return true;
77
+ default:
78
+ // a different kind of update, keep waiting
79
+ return false;
71
80
  }
72
- return offerStatus;
73
- };
74
- return poll(lookup);
81
+ }, `${id}`,
82
+ // XXX ambient authority
83
+ { setTimeout: global.setTimeout });
84
+ switch (done.updated) {
85
+ case 'walletAction':
86
+ throw Error(`walletAction failure: ${done.status.error}`);
87
+ case 'offerStatus':
88
+ if (done.status.error) {
89
+ throw Error(`offerStatus failure: ${done.status.error}`);
90
+ }
91
+ if (!done.status.result) {
92
+ throw Error(`offerStatus missing result`);
93
+ }
94
+ return done.status;
95
+ default:
96
+ throw Error(`unexpected update type ${done.updated}`);
97
+ }
75
98
  };
76
99
  /**
77
100
  * @param {string} addr
@@ -1 +1 @@
1
- {"version":3,"file":"smart-wallet-kit.js","sourceRoot":"","sources":["../src/smart-wallet-kit.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-wallet-kit.js","sourceRoot":"","sources":["../src/smart-wallet-kit.js"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export function makeVstorageKit({ fetch }: {
29
29
  };
30
30
  marshaller: Omit<import("@endo/marshal").Marshal<string | null>, "serialize" | "unserialize">;
31
31
  networkConfig: MinimalNetworkConfig;
32
- readLatestHead: (path: string) => Promise<unknown>;
32
+ readLatestHead: (path: string) => Promise<T>;
33
33
  readPublished: <T extends string>(subpath: T) => Promise<TypedPublished<T>>;
34
34
  unserializeHead: (txt: string | {
35
35
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"vstorage-kit.d.ts","sourceRoot":"","sources":["../src/vstorage-kit.js"],"names":[],"mappings":";AAgBO;;EAWN;;IAMe,2BADD;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM;;;kBAuBhB,MAAM;mBAAS,MAAM,EAAE;;MAd3C;IAKe,6BAHJ;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM,OACzB,KAAK,SAOf;IAEU,mCADC,MAAM,EAAE;cAGC,MAAM;eAAS,MAAM,EAAE;QAS3C;;AAUI,qCAJI,KAAK,YACL,QAAQ,GACN,OAAO,CAAC,OAAO,mCAAmC,EAAE,kBAAkB,CAAC,CAqBnF;AAMM,2CAHI;IAAE,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,CAAA;CAAE,iBAC9B,oBAAoB;;;;;;2BAeV,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;oBAajC,CAAC,SAAS,MAAM,WAAW,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;2BAnBrD,MAAM,GAAG;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAK,OAAO;;;;;;uBAT7B,CAAC;eAAa,CAAC;;;;;;;;;;;;EA8C1C;oBAnHa,UAAU,CAAC,OAAO,aAAa,CAAC;0BAoHhC,UAAU,CAAC,OAAO,eAAe,CAAC;wCA7IzC,mCAAmC;8BASf,eAAe;0CAFH,qBAAqB;oCAC3B,YAAY"}
1
+ {"version":3,"file":"vstorage-kit.d.ts","sourceRoot":"","sources":["../src/vstorage-kit.js"],"names":[],"mappings":";AAgBO;;EAWN;;IAMe,2BADD;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM;;;kBAuBhB,MAAM;mBAAS,MAAM,EAAE;;MAd3C;IAKe,6BAHJ;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,MAAM,OACzB,KAAK,SAOf;IAEU,mCADC,MAAM,EAAE;cAGC,MAAM;eAAS,MAAM,EAAE;QAS3C;;AAUI,qCAJI,KAAK,YACL,QAAQ,GACN,OAAO,CAAC,OAAO,mCAAmC,EAAE,kBAAkB,CAAC,CAqBnF;AAMM,2CAHI;IAAE,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,CAAA;CAAE,iBAC9B,oBAAoB;;;;;;2BAgBV,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC;oBAc3B,CAAC,SAAS,MAAM,WAAW,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;2BArBrD,MAAM,GAAG;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,KAAK,OAAO;;;;;;uBAT7B,CAAC;eAAa,CAAC;;;;;;;;;;;;EAgD1C;oBArHa,UAAU,CAAC,OAAO,aAAa,CAAC;0BAsHhC,UAAU,CAAC,OAAO,eAAe,CAAC;wCA/IzC,mCAAmC;8BASf,eAAe;0CAFH,qBAAqB;oCAC3B,YAAY"}
@@ -91,9 +91,12 @@ export const makeVstorageKit = ({ fetch }, networkConfig) => {
91
91
  const unserializeHead = txt => storageHelper.unserializeTxt(txt, fromBoard).at(-1);
92
92
  /**
93
93
  * Read latest at path and unmarshal it
94
- * @type {(path: string) => Promise<unknown>}
94
+ * @template T
95
+ * @type {(path: string) => Promise<T>}
95
96
  */
96
- const readLatestHead = path => vstorage.readLatest(path).then(unserializeHead);
97
+ const readLatestHead = path =>
98
+ // @ts-expect-error cast
99
+ vstorage.readLatest(path).then(unserializeHead);
97
100
  /**
98
101
  * Read latest at published path and unmarshal it.
99
102
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vstorage-kit.js","sourceRoot":"","sources":["../src/vstorage-kit.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vstorage-kit.js","sourceRoot":"","sources":["../src/vstorage-kit.js"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** @typedef {import('./smart-wallet-kit.js').SmartWalletKit} WalletUtils */
2
2
  /** @deprecated use `makeSmartWalletKit` */
3
- export const makeWalletUtils: ({ fetch, delay, names }: {
3
+ export const makeWalletUtils: ({ fetch, delay, names, }: {
4
4
  fetch: typeof globalThis.fetch;
5
5
  delay: (ms: number) => Promise<void>;
6
6
  names?: boolean | undefined;
@@ -17,13 +17,13 @@ export const makeWalletUtils: ({ fetch, delay, names }: {
17
17
  offerStatuses: Map<import("@agoric/smart-wallet/src/offers.js").OfferId, import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
18
18
  balances: Map<globalThis.Brand, globalThis.Amount>;
19
19
  }>;
20
- pollOffer: (from: string, id: string | number, minHeight: number | string, untilNumWantsSatisfied?: boolean) => Promise<import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
20
+ pollOffer: (from: string, id: string | number, minHeight?: number | string, untilNumWantsSatisfied?: boolean) => Promise<import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
21
21
  fromBoard: {
22
22
  convertSlotToVal: (boardId: any, iface: any) => any;
23
23
  };
24
24
  marshaller: Omit<import("@endo/marshal").Marshal<string | null>, "serialize" | "unserialize">;
25
25
  networkConfig: import("./network-config.js").MinimalNetworkConfig;
26
- readLatestHead: (path: string) => Promise<unknown>;
26
+ readLatestHead: (path: string) => Promise<T>;
27
27
  readPublished: <T extends string>(subpath: T) => Promise<import("./types.js").TypedPublished<T>>;
28
28
  unserializeHead: (txt: string | {
29
29
  value: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/client-utils",
3
- "version": "0.1.1-dev-a28ae68.0.a28ae68",
3
+ "version": "0.1.1-dev-166d88e.0.166d88e",
4
4
  "description": "Utilities for building Agoric clients",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -32,12 +32,12 @@
32
32
  "ts-blank-space": "^0.6.2"
33
33
  },
34
34
  "dependencies": {
35
- "@agoric/casting": "0.4.3-dev-a28ae68.0.a28ae68",
36
- "@agoric/cosmic-proto": "0.4.1-dev-a28ae68.0.a28ae68",
37
- "@agoric/ertp": "0.16.3-dev-a28ae68.0.a28ae68",
38
- "@agoric/internal": "0.3.3-dev-a28ae68.0.a28ae68",
39
- "@agoric/smart-wallet": "0.5.4-dev-a28ae68.0.a28ae68",
40
- "@agoric/vats": "0.15.2-dev-a28ae68.0.a28ae68",
35
+ "@agoric/casting": "0.4.3-dev-166d88e.0.166d88e",
36
+ "@agoric/cosmic-proto": "0.4.1-dev-166d88e.0.166d88e",
37
+ "@agoric/ertp": "0.16.3-dev-166d88e.0.166d88e",
38
+ "@agoric/internal": "0.3.3-dev-166d88e.0.166d88e",
39
+ "@agoric/smart-wallet": "0.5.4-dev-166d88e.0.166d88e",
40
+ "@agoric/vats": "0.15.2-dev-166d88e.0.166d88e",
41
41
  "@cosmjs/crypto": "^0.36.0",
42
42
  "@cosmjs/proto-signing": "^0.36.0",
43
43
  "@cosmjs/stargate": "^0.36.0",
@@ -73,5 +73,5 @@
73
73
  "engines": {
74
74
  "node": "^20.9 || ^22.11"
75
75
  },
76
- "gitHead": "a28ae681e60a79d6386f3754a3df95f984f9d8d7"
76
+ "gitHead": "166d88e21c5fbd343606d947063f4c7d13cef5d6"
77
77
  }