@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.
- package/dist/signing-smart-wallet-kit.d.ts +76 -3
- package/dist/signing-smart-wallet-kit.d.ts.map +1 -1
- package/dist/signing-smart-wallet-kit.js +108 -4
- package/dist/signing-smart-wallet-kit.js.map +1 -1
- package/dist/smart-wallet-kit.d.ts +10 -3
- package/dist/smart-wallet-kit.d.ts.map +1 -1
- package/dist/smart-wallet-kit.js +95 -39
- package/dist/smart-wallet-kit.js.map +1 -1
- package/dist/sync-tools.d.ts +10 -8
- package/dist/sync-tools.d.ts.map +1 -1
- package/dist/sync-tools.js +8 -2
- package/dist/sync-tools.js.map +1 -1
- package/package.json +9 -8
|
@@ -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 {
|
|
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<
|
|
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;
|
|
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(
|
|
53
|
+
await sendBridgeAction({
|
|
53
54
|
method: 'executeOffer',
|
|
54
55
|
offer,
|
|
55
|
-
})
|
|
56
|
+
});
|
|
56
57
|
return offerP;
|
|
57
58
|
};
|
|
58
|
-
return
|
|
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":"
|
|
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,
|
|
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<
|
|
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":"
|
|
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"}
|
package/dist/smart-wallet-kit.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE
|
|
1
|
+
{"version":3,"file":"smart-wallet-kit.js","sourceRoot":"","sources":["../src/smart-wallet-kit.js"],"names":[],"mappings":"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"}
|
package/dist/sync-tools.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
export function sleep(ms: number, { log, setTimeout }:
|
|
2
|
-
|
|
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
|
};
|
package/dist/sync-tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-tools.d.ts","sourceRoot":"","sources":["../src/sync-tools.js"],"names":[],"mappings":"
|
|
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"}
|
package/dist/sync-tools.js
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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,
|
package/dist/sync-tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-tools.js","sourceRoot":"","sources":["../src/sync-tools.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH
|
|
1
|
+
{"version":3,"file":"sync-tools.js","sourceRoot":"","sources":["../src/sync-tools.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/client-utils",
|
|
3
|
-
"version": "0.1.1-dev-
|
|
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-
|
|
36
|
-
"@agoric/cosmic-proto": "0.4.1-dev-
|
|
37
|
-
"@agoric/ertp": "0.16.3-dev-
|
|
38
|
-
"@agoric/internal": "0.3.3-dev-
|
|
39
|
-
"@agoric/smart-wallet": "0.5.4-dev-
|
|
40
|
-
"@agoric/vats": "0.15.2-dev-
|
|
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": "
|
|
77
|
+
"gitHead": "87fa08270ac59dc5349ff866464d7b096410fd16"
|
|
77
78
|
}
|