@agoric/client-utils 0.1.1-dev-9be8241.0.9be8241 → 0.1.1-dev-87fa082.0.87fa082

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,15 +1,45 @@
1
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 { ECallable } from '@agoric/vow/src/E.js';
4
+ import type { EUnwrap } from '@agoric/vow/src/types.js';
5
+ import type { Instance } from '@agoric/zoe';
3
6
  import type { DeliverTxResponse, SignerData, SigningStargateClient, StdFee } from '@cosmjs/stargate';
4
7
  import type { EReturn } from '@endo/far';
5
- import { type SmartWalletKit } from './smart-wallet-kit.js';
8
+ import type { SmartWalletKit } from './smart-wallet-kit.js';
9
+ import type { RetryOptionsAndPowers } from './sync-tools.js';
10
+ type TxOptions = RetryOptionsAndPowers & {
11
+ immediate?: boolean;
12
+ makeNonce?: () => string;
13
+ };
14
+ /**
15
+ * A type-aware representation of an object saved in the wallet store, with
16
+ * methods that return information about their implementing "invokeEntry"
17
+ * submissions. If Recursive is true, then each method has an initial
18
+ * { name?: string, overwrite?: boolean } parameter for specifying how (or if)
19
+ * to save results back into the wallet store and responses for such saved
20
+ * results also include a WalletStoreEntryProxy `result` representing those
21
+ * results.
22
+ */
23
+ type WalletStoreEntryProxy<T, Recursive extends true | false = false> = {
24
+ readonly [M in keyof T]: T[M] extends (...args: infer P) => infer R ? Recursive extends false ? ECallable<(...args: P) => {
25
+ id?: string;
26
+ tx: DeliverTxResponse;
27
+ }> : ECallable<(<SaveToName extends string | undefined>(options: SaveToName extends string ? {
28
+ name: SaveToName;
29
+ overwrite?: boolean;
30
+ } : undefined | Record<PropertyKey, never>, ...args: P) => {
31
+ id?: string;
32
+ tx: DeliverTxResponse;
33
+ result: SaveToName extends string ? WalletStoreEntryProxy<EUnwrap<R>, true> : undefined;
34
+ })> : never;
35
+ };
6
36
  /**
7
37
  * Augment a read-only SmartWalletKit with signing ability
8
38
  */
9
39
  export declare const makeSigningSmartWalletKit: ({ connectWithSigner, walletUtils, }: {
10
40
  connectWithSigner: typeof SigningStargateClient.connectWithSigner;
11
41
  walletUtils: SmartWalletKit;
12
- }, MNEMONIC: string) => Promise<Readonly<{
42
+ }, MNEMONIC: string) => Promise<{
13
43
  query: {
14
44
  readPublished: <T extends string>(subpath: T) => Promise<import("./types.js").TypedPublished<T>>;
15
45
  vstorage: {
@@ -66,6 +96,49 @@ export declare const makeSigningSmartWalletKit: ({ connectWithSigner, walletUtil
66
96
  readAt(path: string, height?: number): Promise<import("@agoric/internal/src/lib-chainStorage.js").StreamCell<unknown>>;
67
97
  readFully(path: string, minHeight?: number | string): Promise<string[]>;
68
98
  };
69
- }>>;
99
+ }>;
70
100
  export type SigningSmartWalletKit = EReturn<typeof makeSigningSmartWalletKit>;
101
+ /**
102
+ * @alpha
103
+ */
104
+ export declare const reflectWalletStore: (sswk: SigningSmartWalletKit, baseTxOpts?: Partial<TxOptions>) => {
105
+ /**
106
+ * Return a previously-saved result as a remote object with type-aware
107
+ * methods that map to "invokeEntry" submissions. The methods will always
108
+ * await tx output from `sendBridgeAction`, and will also wait for
109
+ * confirmation in vstorage when sent with an `id` (e.g., derived from a
110
+ * `makeNonce` option) unless overridden by an `immediate: true` option.
111
+ */
112
+ get: <T>(name: string, options?: Partial<TxOptions>) => WalletStoreEntryProxy<T, false>;
113
+ /**
114
+ * Return a previously-saved result as a remote object with type-aware
115
+ * methods that map to "invokeEntry" submissions, each having an additional
116
+ * initial { name?: string, overwrite?: boolean } parameter for specifying
117
+ * how (or if) to save results in the wallet store. The methods will always
118
+ * await tx output from `sendBridgeAction`, and will also wait for
119
+ * confirmation in vstorage unless overridden by an `immediate: true` option
120
+ * (but note that when so overridden, the returned `result` is not yet
121
+ * usable).
122
+ */
123
+ getForSavingResults: <T>(name: string, options: Partial<TxOptions> & (Pick<TxOptions, "makeNonce"> | {
124
+ immediate: true;
125
+ })) => WalletStoreEntryProxy<T, true>;
126
+ /**
127
+ * Execute the offer specified by { instance, description } and save the
128
+ * result in the wallet store with the specified name (default to match the
129
+ * offer description), overwriting any prior entry for that name unless
130
+ * otherwise specified. Waits for confirmation in vstorage before returning.
131
+ */
132
+ saveOfferResult: ({ instance, description }: {
133
+ instance: Instance;
134
+ description: string;
135
+ }, name?: string, options?: Partial<TxOptions & {
136
+ overwrite: boolean;
137
+ }>) => Promise<{
138
+ id: string;
139
+ tx: DeliverTxResponse;
140
+ result: unknown;
141
+ }>;
142
+ };
143
+ export {};
71
144
  //# 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,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;;;;;;;;;;;;;;;;;;;;;;IAiFd;;;;OAIG;0BAtB8B,SAAS,KAAG,OAAO,CAAC,WAAW,CAAC;+BApCzD,YAAY,QACf,MAAM,SACL,MAAM,eACC,UAAU,KACtB,OAAO,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0D9B,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":"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"}
@@ -1,8 +1,9 @@
1
1
  import { toAccAddress } from '@cosmjs/stargate/build/queryclient/utils.js';
2
+ import { Fail } from '@endo/errors';
2
3
  import { MsgWalletSpendAction } from './codegen/agoric/swingset/msgs.js';
3
4
  import { TxRaw } from './codegen/cosmos/tx/v1beta1/tx.js';
4
5
  import { makeStargateClientKit } from './signing-client.js';
5
- import {} from './smart-wallet-kit.js';
6
+ import { getInvocationUpdate, getOfferResult } from './smart-wallet-kit.js';
6
7
  // TODO parameterize as part of https://github.com/Agoric/agoric-sdk/issues/5912
7
8
  const defaultFee = {
8
9
  amount: [{ denom: 'ubld', amount: '500000' }], // XXX enough?
@@ -49,13 +50,13 @@ export const makeSigningSmartWalletKit = async ({ connectWithSigner, walletUtils
49
50
  const executeOffer = async (offer) => {
50
51
  const offerP = swk.pollOffer(address, offer.id);
51
52
  // Await for rejection handling
52
- await sendBridgeAction(harden({
53
+ await sendBridgeAction({
53
54
  method: 'executeOffer',
54
55
  offer,
55
- }));
56
+ });
56
57
  return offerP;
57
58
  };
58
- return Object.freeze({
59
+ return harden({
59
60
  ...swk,
60
61
  query,
61
62
  address,
@@ -68,4 +69,107 @@ export const makeSigningSmartWalletKit = async ({ connectWithSigner, walletUtils
68
69
  sendBridgeAction,
69
70
  });
70
71
  };
72
+ /**
73
+ * @alpha
74
+ */
75
+ export const reflectWalletStore = (sswk, baseTxOpts) => {
76
+ baseTxOpts = { log: () => { }, ...baseTxOpts };
77
+ const makeEntryProxy = (targetName, overrides, forSavingResults) => {
78
+ const combinedOpts = { ...baseTxOpts, ...overrides };
79
+ combinedOpts.setTimeout || Fail `missing setTimeout`;
80
+ const { immediate, makeNonce, ...retryOpts } = combinedOpts;
81
+ if (forSavingResults && !makeNonce && !immediate) {
82
+ throw Fail `makeNonce is required without immediate: true (to create an awaitable message id)`;
83
+ }
84
+ const { log = () => { } } = combinedOpts;
85
+ const logged = (label, x) => {
86
+ log(label, x);
87
+ return x;
88
+ };
89
+ return new Proxy(harden({}), {
90
+ get(_t, method, _rx) {
91
+ assert.typeof(method, 'string');
92
+ method !== 'then' || Fail `unsupported method name "then"`;
93
+ const boundMethod = async (...args) => {
94
+ const options = forSavingResults ? args.shift() : {};
95
+ const { name, overwrite = true } = options;
96
+ const saveResult = forSavingResults && name ? { name, overwrite } : undefined;
97
+ const id = makeNonce ? `${method}.${makeNonce()}` : undefined;
98
+ const message = logged('invoke', {
99
+ id,
100
+ targetName,
101
+ method,
102
+ args,
103
+ ...(saveResult ? { saveResult } : undefined),
104
+ });
105
+ const tx = await sswk.sendBridgeAction({
106
+ method: 'invokeEntry',
107
+ message,
108
+ });
109
+ if (tx.code !== 0) {
110
+ throw Error(tx.rawLog);
111
+ }
112
+ if (!immediate && id) {
113
+ await getInvocationUpdate(id, sswk.query.getLastUpdate, retryOpts);
114
+ }
115
+ const ret = { id, tx };
116
+ if (forSavingResults) {
117
+ const result = name
118
+ ? makeEntryProxy(name, overrides, forSavingResults)
119
+ : undefined;
120
+ return { ...ret, result };
121
+ }
122
+ return ret;
123
+ };
124
+ return harden(boundMethod);
125
+ },
126
+ });
127
+ };
128
+ const saveOfferResult = async ({ instance, description }, name = description, options) => {
129
+ const combinedOpts = { ...baseTxOpts, ...options };
130
+ const { immediate: _immediate, makeNonce, overwrite = true, ...retryOpts } = combinedOpts;
131
+ if (!makeNonce)
132
+ throw Fail `missing makeNonce`;
133
+ const id = `${description}.${makeNonce()}`;
134
+ const tx = await sswk.sendBridgeAction({
135
+ method: 'executeOffer',
136
+ offer: {
137
+ id,
138
+ invitationSpec: { source: 'purse', instance, description },
139
+ proposal: {},
140
+ saveResult: { name, overwrite },
141
+ },
142
+ });
143
+ const status = await getOfferResult(id, sswk.query.getLastUpdate, retryOpts);
144
+ return { id, tx, result: status.result };
145
+ };
146
+ return harden({
147
+ /**
148
+ * Return a previously-saved result as a remote object with type-aware
149
+ * methods that map to "invokeEntry" submissions. The methods will always
150
+ * await tx output from `sendBridgeAction`, and will also wait for
151
+ * confirmation in vstorage when sent with an `id` (e.g., derived from a
152
+ * `makeNonce` option) unless overridden by an `immediate: true` option.
153
+ */
154
+ get: (name, options) => makeEntryProxy(name, options, false),
155
+ /**
156
+ * Return a previously-saved result as a remote object with type-aware
157
+ * methods that map to "invokeEntry" submissions, each having an additional
158
+ * initial { name?: string, overwrite?: boolean } parameter for specifying
159
+ * how (or if) to save results in the wallet store. The methods will always
160
+ * await tx output from `sendBridgeAction`, and will also wait for
161
+ * confirmation in vstorage unless overridden by an `immediate: true` option
162
+ * (but note that when so overridden, the returned `result` is not yet
163
+ * usable).
164
+ */
165
+ getForSavingResults: (name, options) => makeEntryProxy(name, options, true),
166
+ /**
167
+ * Execute the offer specified by { instance, description } and save the
168
+ * result in the wallet store with the specified name (default to match the
169
+ * offer description), overwriting any prior entry for that name unless
170
+ * otherwise specified. Waits for confirmation in vstorage before returning.
171
+ */
172
+ saveOfferResult,
173
+ });
174
+ };
71
175
  //# sourceMappingURL=signing-smart-wallet-kit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing-smart-wallet-kit.js","sourceRoot":"","sources":["../src/signing-smart-wallet-kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signing-smart-wallet-kit.js","sourceRoot":"","sources":["../src/signing-smart-wallet-kit.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ export function getInvocationUpdate(id: string | number, getLastUpdate: () => Promise<UpdateRecord>, retryOpts: RetryOptionsAndPowers): Promise<(UpdateRecord & {
2
+ updated: "invocation";
3
+ })["result"]>;
4
+ export function getOfferResult(id: string | number, getLastUpdate: () => Promise<UpdateRecord>, retryOpts: RetryOptionsAndPowers): Promise<OfferStatus>;
5
+ export function getOfferWantsSatisfied(id: string | number, getLastUpdate: () => Promise<UpdateRecord>, retryOpts: RetryOptionsAndPowers): Promise<OfferStatus>;
1
6
  export function makeSmartWalletKit({ fetch, delay, names, }: {
2
7
  fetch: typeof globalThis.fetch;
3
8
  delay: (ms: number) => Promise<void>;
@@ -12,10 +17,10 @@ export function makeSmartWalletKit({ fetch, delay, names, }: {
12
17
  description: string;
13
18
  instance: Instance;
14
19
  }>;
15
- offerStatuses: Map<import("@agoric/smart-wallet/src/offers.js").OfferId, import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
20
+ offerStatuses: Map<import("@agoric/smart-wallet/src/offers.js").OfferId, OfferStatus>;
16
21
  balances: Map<Brand, Amount>;
17
22
  }>;
18
- pollOffer: (from: string, id: string | number, minHeight?: number | string, untilNumWantsSatisfied?: boolean) => Promise<import("@agoric/smart-wallet/src/offers.js").OfferStatus>;
23
+ pollOffer: (from: string, id: string | number, minHeight?: number | string, untilNumWantsSatisfied?: boolean) => Promise<OfferStatus>;
19
24
  fromBoard: {
20
25
  convertSlotToVal: (boardId: any, iface: any) => any;
21
26
  };
@@ -42,8 +47,10 @@ export function makeSmartWalletKit({ fetch, delay, names, }: {
42
47
  };
43
48
  }>;
44
49
  export type SmartWalletKit = EReturn<typeof makeSmartWalletKit>;
45
- import type { MinimalNetworkConfig } from './network-config.js';
46
50
  import type { UpdateRecord } from '@agoric/smart-wallet/src/smartWallet.js';
51
+ import type { RetryOptionsAndPowers } from './sync-tools.js';
52
+ import type { OfferStatus } from '@agoric/smart-wallet/src/offers.js';
53
+ import type { MinimalNetworkConfig } from './network-config.js';
47
54
  import type { CurrentWalletRecord } from '@agoric/smart-wallet/src/smartWallet.js';
48
55
  import type { Brand } from '@agoric/ertp/src/types.js';
49
56
  import type { Amount } from '@agoric/ertp/src/types.js';
@@ -1 +1 @@
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;;;;;;;;;;;;;;;;;;;;;;;;;GA+EnB;6BACa,QAAQ,OAAO,kBAAkB,CAAC;0CA7IT,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":"AAkCO,wCALI,MAAM,GAAG,MAAM,iBACf,MAAM,OAAO,CAAC,YAAY,CAAC,aAC3B,qBAAqB,GACnB,OAAO,CAAC,CAAC,YAAY,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAYzE;AAcM,mCALI,MAAM,GAAG,MAAM,iBACf,MAAM,OAAO,CAAC,YAAY,CAAC,aAC3B,qBAAqB,GACnB,OAAO,CAAC,WAAW,CAAC,CAqBhC;AAcM,2CALI,MAAM,GAAG,MAAM,iBACf,MAAM,OAAO,CAAC,YAAY,CAAC,aAC3B,qBAAqB,GACnB,OAAO,CAAC,WAAW,CAAC,CAqBhC;AAeM,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;;0BAkElB,MAAM,KACJ,OAAO,CAAC,YAAY,CAAC;mCAOvB,MAAM,KACJ,OAAO,CAAC,mBAAmB,CAAC;8BAzD9B,MAAM,cACN,MAAM,GAAC,MAAM;;;;;;;;;sBA0Bb,MAAM,MACN,MAAM,GAAC,MAAM,cACb,MAAM,GAAC,MAAM,2BACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;GA0CnB;6BACa,QAAQ,OAAO,kBAAkB,CAAC;kCA7MI,yCAAyC;2CAErD,iBAAiB;iCAH3B,oCAAoC;0CAE3B,qBAAqB;yCADR,yCAAyC;2BAF7D,2BAA2B;4BAA3B,2BAA2B;6BADjC,WAAW"}
@@ -1,12 +1,101 @@
1
+ import { Fail, q } from '@endo/errors';
1
2
  import { makeWalletStateCoalescer } from '@agoric/smart-wallet/src/utils.js';
2
3
  import { retryUntilCondition } from './sync-tools.js';
3
4
  import { makeAgoricNames, makeVstorageKit } from './vstorage-kit.js';
4
5
  /**
5
6
  * @import {EReturn} from '@endo/far';
6
7
  * @import {Amount, Brand} from '@agoric/ertp/src/types.js'
8
+ * @import {OfferStatus} from '@agoric/smart-wallet/src/offers.js';
7
9
  * @import {CurrentWalletRecord, UpdateRecord} from '@agoric/smart-wallet/src/smartWallet.js';
8
10
  * @import {MinimalNetworkConfig} from './network-config.js';
11
+ * @import {RetryOptionsAndPowers} from './sync-tools.js';
9
12
  */
13
+ /**
14
+ * @param {string | number} id
15
+ * @param {() => Promise<UpdateRecord>} getLastUpdate
16
+ * @param {RetryOptionsAndPowers} retryOpts
17
+ * @param {(update: UpdateRecord) => boolean} isMatch
18
+ * @returns {Promise<UpdateRecord>}
19
+ */
20
+ const findUpdate = (id, getLastUpdate, retryOpts, isMatch) => retryUntilCondition(getLastUpdate, isMatch, `${id}`, retryOpts);
21
+ /**
22
+ * Wait for an update indicating settlement of the specified invocation and
23
+ * return its result or throw its error.
24
+ * @alpha
25
+ *
26
+ * @param {string | number} id
27
+ * @param {() => Promise<UpdateRecord>} getLastUpdate
28
+ * @param {RetryOptionsAndPowers} retryOpts
29
+ * @returns {Promise<(UpdateRecord & { updated: 'invocation' })['result']>}
30
+ */
31
+ export const getInvocationUpdate = async (id, getLastUpdate, retryOpts) => {
32
+ const isMatch = update => update.updated === 'invocation' &&
33
+ update.id === id &&
34
+ !!(update.error || update.result);
35
+ const found = /** @type {UpdateRecord & { updated: 'invocation' }} */ (await findUpdate(id, getLastUpdate, retryOpts, isMatch));
36
+ if (found.error)
37
+ throw Error(found.error);
38
+ return found.result;
39
+ };
40
+ harden(getInvocationUpdate);
41
+ /**
42
+ * Wait for an update indicating settlement of the specified offer and return
43
+ * its status or throw its error.
44
+ * Used internally but not yet considered public.
45
+ * @alpha
46
+ *
47
+ * @param {string | number} id
48
+ * @param {() => Promise<UpdateRecord>} getLastUpdate
49
+ * @param {RetryOptionsAndPowers} retryOpts
50
+ * @returns {Promise<OfferStatus>}
51
+ */
52
+ export const getOfferResult = async (id, getLastUpdate, retryOpts) => {
53
+ // "walletAction" indicates an error, "offerStatus" with the right id and
54
+ // either `result` or `error` indicates settlement.
55
+ const isMatch = update => update.updated === 'walletAction' ||
56
+ (update.updated === 'offerStatus' &&
57
+ update.status.id === id &&
58
+ !!(update.status.error || update.status.result));
59
+ const found =
60
+ /** @type {UpdateRecord & { updated: 'walletAction' | 'offerStatus' }} */ (await findUpdate(id, getLastUpdate, retryOpts, isMatch));
61
+ if (found.updated !== 'offerStatus') {
62
+ throw Fail `${q(id)} ${q(found.updated)} failure: ${q(found.status?.error)}`;
63
+ }
64
+ const { error, result } = found.status;
65
+ !error || Fail `${q(id)} offerStatus failure: ${q(error)}`;
66
+ result || Fail `${q(id)} offerStatus missing result`;
67
+ return found.status;
68
+ };
69
+ harden(getOfferResult);
70
+ /**
71
+ * Wait for an update indicating untilNumWantsSatisfied of the specified offer
72
+ * and return its status or throw its error.
73
+ * Used internally but not yet considered public.
74
+ * @alpha
75
+ *
76
+ * @param {string | number} id
77
+ * @param {() => Promise<UpdateRecord>} getLastUpdate
78
+ * @param {RetryOptionsAndPowers} retryOpts
79
+ * @returns {Promise<OfferStatus>}
80
+ */
81
+ export const getOfferWantsSatisfied = async (id, getLastUpdate, retryOpts) => {
82
+ // "walletAction" indicates an error, "offerStatus" with the right id and
83
+ // either `result` or `error` indicates settlement.
84
+ const isMatch = update => update.updated === 'walletAction' ||
85
+ (update.updated === 'offerStatus' &&
86
+ update.status.id === id &&
87
+ !!(update.status.error || 'numWantsSatisfied' in update.status));
88
+ const found =
89
+ /** @type {UpdateRecord & { updated: 'walletAction' | 'offerStatus' }} */ (await findUpdate(id, getLastUpdate, retryOpts, isMatch));
90
+ if (found.updated !== 'offerStatus') {
91
+ throw Fail `${q(id)} ${q(found.updated)} failure: ${q(found.status?.error)}`;
92
+ }
93
+ const { error, result } = found.status;
94
+ !error || Fail `${q(id)} offerStatus failure: ${q(error)}`;
95
+ result || Fail `${q(id)} offerStatus missing result`;
96
+ return found.status;
97
+ };
98
+ harden(getOfferWantsSatisfied);
10
99
  /**
11
100
  * Augment VstorageKit with addtional convenience methods for working with
12
101
  * Agoric smart wallets. This use of "kit" is unfortunate because it does not
@@ -55,46 +144,13 @@ delay, names = true, }, networkConfig) => {
55
144
  * @param {boolean} [untilNumWantsSatisfied]
56
145
  */
57
146
  const pollOffer = async (from, id, minHeight, untilNumWantsSatisfied = false) => {
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;
80
- }
81
- }, `${id}`,
147
+ const getAddrLastUpdate = () => getLastUpdate(from);
82
148
  // 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
- }
149
+ const retryOpts = { setTimeout: global.setTimeout };
150
+ const status = await (untilNumWantsSatisfied
151
+ ? getOfferWantsSatisfied(id, getAddrLastUpdate, retryOpts)
152
+ : getOfferResult(id, getAddrLastUpdate, retryOpts));
153
+ return status;
98
154
  };
99
155
  /**
100
156
  * @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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"}
@@ -1,11 +1,5 @@
1
- export function sleep(ms: number, { log, setTimeout }: {
2
- log: (message: string) => void;
3
- setTimeout: typeof global.setTimeout;
4
- }): Promise<any>;
5
- export function retryUntilCondition<T = unknown>(operation: () => Promise<T>, condition: (result: T) => boolean, message: string, { maxRetries, retryIntervalMs, reusePromise, renderResult, log, setTimeout, }: RetryOptions & {
6
- log?: typeof console.log;
7
- setTimeout: typeof global.setTimeout;
8
- }): Promise<T>;
1
+ export function sleep(ms: number, { log, setTimeout }: RetryPowers): Promise<any>;
2
+ export function retryUntilCondition<T = unknown>(operation: () => Promise<T>, condition: (result: T) => boolean, message: string, { maxRetries, retryIntervalMs, reusePromise, renderResult, log, setTimeout, }: RetryOptionsAndPowers): Promise<T>;
9
3
  export function waitUntilContractDeployed(contractName: string, ambientAuthority: {
10
4
  log: (message: string) => void;
11
5
  follow: () => object;
@@ -50,6 +44,14 @@ export type RetryOptions = {
50
44
  reusePromise?: boolean | undefined;
51
45
  renderResult?: ((value: unknown) => unknown) | undefined;
52
46
  };
47
+ export type RetryPowers = {
48
+ setTimeout: typeof global.setTimeout;
49
+ log?: ((...args: unknown[]) => void) | undefined;
50
+ };
51
+ /**
52
+ * mixes ocaps with configuration
53
+ */
54
+ export type RetryOptionsAndPowers = RetryOptions & RetryPowers;
53
55
  export type WaitUntilOptions = RetryOptions & {
54
56
  errorMessage: string;
55
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sync-tools.d.ts","sourceRoot":"","sources":["../src/sync-tools.js"],"names":[],"mappings":"AAmCO,0BAHI,MAAM,uBACN;IAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,gBAM7E;AAYG,oCAPO,CAAC,uBACJ,MAAM,OAAO,CAAC,CAAC,CAAC,aAChB,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,WACtB,MAAM,iFACN,YAAY,GAAG;IAAC,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,GAC7E,OAAO,CAAC,CAAC,CAAC,CAqEtB;AAiCM,wDAJI,MAAM,oBACN;IAAE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAE,WAC9F,gBAAgB;;GAiB1B;AA0BM,iDALI,MAAM,MACN;IAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,aACtG;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,WAC9B,gBAAgB,gBAa1B;AAqCM,2CANI,MAAM,WACN,MAAM,kBACN,OAAO,MACP;IAAE,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAE,WACxF,gBAAgB,gBAmB1B;AAwBM,kDAJI,MAAM,MACN;IAAE,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,WACtF,gBAAgB,gBAa1B;AA0BM,2CALI,MAAM,WACN,MAAM,MACN;IAAE,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,WACtF,gBAAgB,gBAa1B;AA+EM,2DAZI,MAAM,kBACN;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,MACO;IACN,QAAQ,EAAE,OAAO,gBAAgB,EAAE,WAAW,CAAC;IAC/C,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IACxB,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CACrC,WACO,gBAAgB,2BAoB1B;;;;;4BAtZqB,OAAO,KAAK,OAAO;;+BAE5B,YAAY,GAAG;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC;;WAGpC,MAAM;WACN,MAAM;;6BAqTP;IACR,aAAa,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,eAAe,EAAE,eAAe,CAAA;KAClD,CAAC;IACF,cAAc,EAAE;QACd,WAAW,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAClC,cAAc,EAAE,OAAO,eAAe,EAAE,eAAe,CAAA;KACxD,CAAA;CACF"}
1
+ {"version":3,"file":"sync-tools.d.ts","sourceRoot":"","sources":["../src/sync-tools.js"],"names":[],"mappings":"AAyCO,0BAHI,MAAM,uBACN,WAAW,gBAMlB;AAYG,oCAPO,CAAC,uBACJ,MAAM,OAAO,CAAC,CAAC,CAAC,aAChB,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,WACtB,MAAM,iFACN,qBAAqB,GACnB,OAAO,CAAC,CAAC,CAAC,CAqEtB;AAiCM,wDAJI,MAAM,oBACN;IAAE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAE,WAC9F,gBAAgB;;GAiB1B;AA0BM,iDALI,MAAM,MACN;IAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,aACtG;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,WAC9B,gBAAgB,gBAa1B;AAqCM,2CANI,MAAM,WACN,MAAM,kBACN,OAAO,MACP;IAAE,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAE,WACxF,gBAAgB,gBAmB1B;AAwBM,kDAJI,MAAM,MACN;IAAE,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,WACtF,gBAAgB,gBAa1B;AA0BM,2CALI,MAAM,WACN,MAAM,MACN;IAAE,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CAAC,WACtF,gBAAgB,gBAa1B;AA+EM,2DAZI,MAAM,kBACN;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,MACO;IACN,QAAQ,EAAE,OAAO,gBAAgB,EAAE,WAAW,CAAC;IAC/C,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IACxB,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,CAAA;CACrC,WACO,gBAAgB,2BAoB1B;;;;;4BA5ZqB,OAAO,KAAK,OAAO;;;gBAG3B,OAAO,MAAM,CAAC,UAAU;qBACd,OAAO,EAAE,KAAK,IAAI;;;;;oCAE7B,YAAY,GAAG,WAAW;+BAE1B,YAAY,GAAG;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC;;WAGpC,MAAM;WACN,MAAM;;6BAqTP;IACR,aAAa,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,eAAe,EAAE,eAAe,CAAA;KAClD,CAAC;IACF,cAAc,EAAE;QACd,WAAW,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAClC,cAAc,EAAE,OAAO,eAAe,EAAE,eAAe,CAAA;KACxD,CAAA;CACF"}
@@ -19,6 +19,12 @@
19
19
  * @property {boolean} [reusePromise]
20
20
  * @property {(value: unknown) => unknown} [renderResult]
21
21
  *
22
+ * @typedef {object} RetryPowers
23
+ * @property {typeof global.setTimeout} setTimeout
24
+ * @property {(...args: unknown[]) => void} [log]
25
+ *
26
+ * @typedef {RetryOptions & RetryPowers} RetryOptionsAndPowers mixes ocaps with configuration
27
+ *
22
28
  * @typedef {RetryOptions & {errorMessage: string}} WaitUntilOptions
23
29
  *
24
30
  * @typedef {object} CosmosBalanceThreshold
@@ -29,7 +35,7 @@
29
35
  * From https://github.com/Agoric/agoric-sdk/blob/442f07c8f0af03281b52b90e90c27131eef6f331/multichain-testing/tools/sleep.ts#L10
30
36
  *
31
37
  * @param {number} ms
32
- * @param {{log: (message: string) => void, setTimeout: typeof global.setTimeout}} io
38
+ * @param {RetryPowers} io
33
39
  */
34
40
  export const sleep = (ms, { log = () => { }, setTimeout }) => new Promise(resolve => {
35
41
  log(`Sleeping for ${ms}ms...`);
@@ -42,7 +48,7 @@ export const sleep = (ms, { log = () => { }, setTimeout }) => new Promise(resolv
42
48
  * @param {() => Promise<T>} operation
43
49
  * @param {(result: T) => boolean} condition
44
50
  * @param {string} message
45
- * @param {RetryOptions & {log?: typeof console.log, setTimeout: typeof global.setTimeout}} options
51
+ * @param {RetryOptionsAndPowers} options
46
52
  * @returns {Promise<T>}
47
53
  */
48
54
  export const retryUntilCondition = async (operation, condition, message, { maxRetries = 6, retryIntervalMs = 3500, reusePromise = false, renderResult = x => x,
@@ -1 +1 @@
1
- {"version":3,"file":"sync-tools.js","sourceRoot":"","sources":["../src/sync-tools.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-tools.js","sourceRoot":"","sources":["../src/sync-tools.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,GAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1D,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;IACpB,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC/B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEL;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,SAAS,EACT,SAAS,EACT,OAAO,EACP,EACE,UAAU,GAAG,CAAC,EACd,eAAe,GAAG,IAAI,EACtB,YAAY,GAAG,KAAK,EACpB,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrB,6CAA6C;AAC7C,GAAG,GAAG,OAAO,CAAC,GAAG,EACjB,UAAU,GACX,EACD,EAAE;IACF,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9C,MAAM,IAAI,CAAC,CAAC,yBAAyB;IAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,mCAAmC;IACnC,IAAI,OAAO,CAAC;IACZ,OAAO,OAAO,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC9B,OAAO,GAAG,SAAS,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE;oBACxB,MAAM,OAAO,GAAG,GAAG,EAAE;wBACnB,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;4BACpB,OAAO,GAAG,SAAS,CAAC;wBACtB,CAAC;oBACH,CAAC,CAAC;oBACF,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC;gBACF,mEAAmE;gBACnE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAChC,OAAO;gBACP,2EAA2E;gBAC3E,KAAK,CAAC,eAAe,EAAE,EAAE,GAAG,KAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;aACtE,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,WAAW,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxC,IAAI,CAAC,YAAY;oBAAE,OAAO,GAAG,SAAS,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,GAAG,CAAC,UAAU,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC;QACb,GAAG,CACD,SAAS,OAAO,IAAI,UAAU,kBAAkB,eAAe,UAAU,OAAO,KAAK,CACtF,CAAC;QACF,MAAM,KAAK,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,KAAK,CAAC,GAAG,OAAO,2BAA2B,UAAU,WAAW,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,sBAAsB,GAAG,OAAO,CAAC,EAAE;IACvC,MAAM,aAAa,GAAG;QACpB,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,OAAO;KACtB,CAAC;IAEF,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,+FAA+F;AAE/F,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;IAC5C,MAAM,eAAe,GAAG,MAAM,MAAM,CAClC,KAAK,EACL,iCAAiC,CAClC,CAAC;IAEF,OAAO,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,EAAE;IACF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC;IACrD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE7E,OAAO,mBAAmB,CACxB,YAAY,EACZ,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EACpE,YAAY,EACZ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CACxC,CAAC;AACJ,CAAC,CAAC;AAEF,iHAAiH;AAEjH,MAAM,sBAAsB,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;IACrD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACtC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE7E,OAAO,mBAAmB,CACxB,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EACxC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACnD,YAAY,EACZ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CACxC,CAAC;AACJ,CAAC,CAAC;AAEF,+DAA+D;AAE/D,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,EAAE;IACrE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;IAC/D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IAExC,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,cAAc,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAElD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAI,EACJ,OAAO,EACP,cAAc,EACd,EAAE,EACF,OAAO,EACP,EAAE;IACF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE7E,OAAO,mBAAmB,CACxB,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7B,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAC1D,YAAY,EACZ,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAC5D,CAAC;AACJ,CAAC,CAAC;AAEF,0HAA0H;AAE1H;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE;IAClC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAE1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzD,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IAC/D,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE7E,OAAO,mBAAmB,CACxB,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7B,kBAAkB,EAClB,YAAY,EACZ,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAC5D,CAAC;AACJ,CAAC,CAAC;AAEF,yEAAyE;AAEzE,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CACtE,MAAM,CAAC,KAAK,EAAE,qBAAqB,IAAI,UAAU,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IACvE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE7E,OAAO,mBAAmB,CACxB,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EACpC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,YAAY,EACZ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CACxC,CAAC;AACJ,CAAC,CAAC;AAEF,yEAAyE;AACzE,yEAAyE;AAEzE;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACzD,MAAM,WAAW,GAAG,GAAG,QAAQ,gBAAgB,CAAC;IAChD,MAAM,YAAY,GAAG,GAAG,QAAQ,iBAAiB,CAAC;IAElD,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,uDAAuD,CAAC,CACtD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CACrC;QACD,wDAAwD,CAAC,CACvD,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CACtC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,4BAA4B,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE;IACtE,MAAM,EACJ,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EACpC,cAAc,EAAE,EACd,WAAW,EAAE,EAAE,QAAQ,EAAE,EACzB,cAAc,GACf,GACF,GAAG,cAAc,CAAC;IACnB,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAC5D,cAAc,CAAC;IAEjB,OAAO,CACL,eAAe,KAAK,OAAO;QAC3B,QAAQ,KAAK,gBAAgB;QAC7B,QAAQ,KAAK,cAAc,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,iBAAiB,EACjB,cAAc,EACd,EAAE,EACF,OAAO,EACP,EAAE;IACF,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAEzC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,GACjD,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO,mBAAmB,CACxB,GAAG,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EACxD,cAAc,CAAC,EAAE,CACf,4BAA4B,CAAC,cAAc,EAAE,cAAc,CAAC,EAC9D,YAAY,EACZ,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,CACjD,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/client-utils",
3
- "version": "0.1.1-dev-9be8241.0.9be8241",
3
+ "version": "0.1.1-dev-87fa082.0.87fa082",
4
4
  "description": "Utilities for building Agoric clients",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -25,6 +25,7 @@
25
25
  "lint:types": "yarn run -T tsc"
26
26
  },
27
27
  "devDependencies": {
28
+ "@agoric/zoe": "0.26.3-dev-87fa082.0.87fa082",
28
29
  "@cosmology/telescope": "^1.12.21",
29
30
  "ava": "^5.3.0",
30
31
  "c8": "^10.1.3",
@@ -32,12 +33,12 @@
32
33
  "ts-blank-space": "^0.6.2"
33
34
  },
34
35
  "dependencies": {
35
- "@agoric/casting": "0.4.3-dev-9be8241.0.9be8241",
36
- "@agoric/cosmic-proto": "0.4.1-dev-9be8241.0.9be8241",
37
- "@agoric/ertp": "0.16.3-dev-9be8241.0.9be8241",
38
- "@agoric/internal": "0.3.3-dev-9be8241.0.9be8241",
39
- "@agoric/smart-wallet": "0.5.4-dev-9be8241.0.9be8241",
40
- "@agoric/vats": "0.15.2-dev-9be8241.0.9be8241",
36
+ "@agoric/casting": "0.4.3-dev-87fa082.0.87fa082",
37
+ "@agoric/cosmic-proto": "0.4.1-dev-87fa082.0.87fa082",
38
+ "@agoric/ertp": "0.16.3-dev-87fa082.0.87fa082",
39
+ "@agoric/internal": "0.3.3-dev-87fa082.0.87fa082",
40
+ "@agoric/smart-wallet": "0.5.4-dev-87fa082.0.87fa082",
41
+ "@agoric/vats": "0.15.2-dev-87fa082.0.87fa082",
41
42
  "@cosmjs/crypto": "^0.36.0",
42
43
  "@cosmjs/proto-signing": "^0.36.0",
43
44
  "@cosmjs/stargate": "^0.36.0",
@@ -73,5 +74,5 @@
73
74
  "engines": {
74
75
  "node": "^20.9 || ^22.11"
75
76
  },
76
- "gitHead": "9be8241c0763f58428f5a5cd283937ff500582ac"
77
+ "gitHead": "87fa08270ac59dc5349ff866464d7b096410fd16"
77
78
  }