@agoric/client-utils 0.2.0-upgrade-22-dev-76082f5.0.76082f5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle-utils.d.ts +95 -0
- package/dist/bundle-utils.d.ts.map +1 -0
- package/dist/bundle-utils.js +219 -0
- package/dist/bundle-utils.js.map +1 -0
- package/dist/codegen/cosmos/benchmark/v1/tx.rpc.msg.d.ts +14 -0
- package/dist/codegen/cosmos/benchmark/v1/tx.rpc.msg.d.ts.map +1 -0
- package/dist/codegen/cosmos/benchmark/v1/tx.rpc.msg.js +18 -0
- package/dist/codegen/cosmos/benchmark/v1/tx.rpc.msg.js.map +1 -0
- package/dist/codegen/cosmos/counter/v1/query.rpc.Query.d.ts +17 -0
- package/dist/codegen/cosmos/counter/v1/query.rpc.Query.d.ts.map +1 -0
- package/dist/codegen/cosmos/counter/v1/query.rpc.Query.js +25 -0
- package/dist/codegen/cosmos/counter/v1/query.rpc.Query.js.map +1 -0
- package/dist/codegen/cosmos/counter/v1/tx.rpc.msg.d.ts +14 -0
- package/dist/codegen/cosmos/counter/v1/tx.rpc.msg.d.ts.map +1 -0
- package/dist/codegen/cosmos/counter/v1/tx.rpc.msg.js +18 -0
- package/dist/codegen/cosmos/counter/v1/tx.rpc.msg.js.map +1 -0
- package/dist/codegen/cosmos/epochs/v1beta1/query.rpc.Query.d.ts +21 -0
- package/dist/codegen/cosmos/epochs/v1beta1/query.rpc.Query.d.ts.map +1 -0
- package/dist/codegen/cosmos/epochs/v1beta1/query.rpc.Query.js +34 -0
- package/dist/codegen/cosmos/epochs/v1beta1/query.rpc.Query.js.map +1 -0
- package/dist/codegen/cosmos/protocolpool/v1/query.rpc.Query.d.ts +29 -0
- package/dist/codegen/cosmos/protocolpool/v1/query.rpc.Query.d.ts.map +1 -0
- package/dist/codegen/cosmos/protocolpool/v1/query.rpc.Query.js +52 -0
- package/dist/codegen/cosmos/protocolpool/v1/query.rpc.Query.js.map +1 -0
- package/dist/codegen/cosmos/protocolpool/v1/tx.rpc.msg.d.ts +42 -0
- package/dist/codegen/cosmos/protocolpool/v1/tx.rpc.msg.d.ts.map +1 -0
- package/dist/codegen/cosmos/protocolpool/v1/tx.rpc.msg.js +42 -0
- package/dist/codegen/cosmos/protocolpool/v1/tx.rpc.msg.js.map +1 -0
- package/dist/codegen/ibc/core/channel/v2/query.rpc.Query.d.ts +45 -0
- package/dist/codegen/ibc/core/channel/v2/query.rpc.Query.d.ts.map +1 -0
- package/dist/codegen/ibc/core/channel/v2/query.rpc.Query.js +88 -0
- package/dist/codegen/ibc/core/channel/v2/query.rpc.Query.js.map +1 -0
- package/dist/codegen/ibc/core/channel/v2/tx.rpc.msg.d.ts +23 -0
- package/dist/codegen/ibc/core/channel/v2/tx.rpc.msg.d.ts.map +1 -0
- package/dist/codegen/ibc/core/channel/v2/tx.rpc.msg.js +36 -0
- package/dist/codegen/ibc/core/channel/v2/tx.rpc.msg.js.map +1 -0
- package/dist/codegen/ibc/core/client/v2/query.rpc.Query.d.ts +21 -0
- package/dist/codegen/ibc/core/client/v2/query.rpc.Query.d.ts.map +1 -0
- package/dist/codegen/ibc/core/client/v2/query.rpc.Query.js +34 -0
- package/dist/codegen/ibc/core/client/v2/query.rpc.Query.js.map +1 -0
- package/dist/codegen/ibc/core/client/v2/tx.rpc.msg.d.ts +17 -0
- package/dist/codegen/ibc/core/client/v2/tx.rpc.msg.d.ts.map +1 -0
- package/dist/codegen/ibc/core/client/v2/tx.rpc.msg.js +24 -0
- package/dist/codegen/ibc/core/client/v2/tx.rpc.msg.js.map +1 -0
- package/dist/sequence-manager.d.ts +18 -0
- package/dist/sequence-manager.d.ts.map +1 -0
- package/dist/sequence-manager.js +40 -0
- package/dist/sequence-manager.js.map +1 -0
- package/dist/smart-wallet-utils.d.ts +26 -0
- package/dist/smart-wallet-utils.d.ts.map +1 -0
- package/dist/smart-wallet-utils.js +180 -0
- package/dist/smart-wallet-utils.js.map +1 -0
- package/dist/smart-wallet-with-sequence.d.ts +18 -0
- package/dist/smart-wallet-with-sequence.d.ts.map +1 -0
- package/dist/smart-wallet-with-sequence.js +139 -0
- package/dist/smart-wallet-with-sequence.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/wallet-store.d.ts +79 -0
- package/dist/wallet-store.d.ts.map +1 -0
- package/dist/wallet-store.js +100 -0
- package/dist/wallet-store.js.map +1 -0
- package/package.json +8 -8
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Fail } from '@endo/errors';
|
|
2
|
+
import { getInvocationUpdate, getOfferResult } from './smart-wallet-utils.js';
|
|
3
|
+
const SAVE_AS = 'saveAs';
|
|
4
|
+
const OVERWRITE = 'overwrite';
|
|
5
|
+
/**
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export const reflectWalletStore = (sswk, baseTxOpts) => {
|
|
9
|
+
baseTxOpts = { log: () => { }, ...baseTxOpts };
|
|
10
|
+
const makeEntryProxy = (targetName, overrides, saveTo) => {
|
|
11
|
+
const combinedOpts = { ...baseTxOpts, ...overrides };
|
|
12
|
+
combinedOpts.setTimeout || Fail `missing setTimeout`;
|
|
13
|
+
const { fee, sendOnly, makeNonce, ...retryOpts } = combinedOpts;
|
|
14
|
+
if (saveTo && !makeNonce && !sendOnly) {
|
|
15
|
+
throw Fail `makeNonce is required without sendOnly: true (to create an awaitable message id)`;
|
|
16
|
+
}
|
|
17
|
+
const { log = () => { } } = combinedOpts;
|
|
18
|
+
const logged = (label, x) => {
|
|
19
|
+
log(label, x);
|
|
20
|
+
return x;
|
|
21
|
+
};
|
|
22
|
+
return new Proxy(harden({}), {
|
|
23
|
+
get(_t, method, _rx) {
|
|
24
|
+
assert.typeof(method, 'string');
|
|
25
|
+
method !== 'then' || Fail `unsupported method name "then"`;
|
|
26
|
+
if (method === SAVE_AS) {
|
|
27
|
+
return harden((name) => makeEntryProxy(targetName, overrides, { name, overwrite: false }));
|
|
28
|
+
}
|
|
29
|
+
if (method === OVERWRITE) {
|
|
30
|
+
return harden((name) => makeEntryProxy(targetName, overrides, { name, overwrite: true }));
|
|
31
|
+
}
|
|
32
|
+
const boundMethod = async (...args) => {
|
|
33
|
+
const id = makeNonce ? `${method}.${makeNonce()}` : undefined;
|
|
34
|
+
const message = logged('invoke', {
|
|
35
|
+
id,
|
|
36
|
+
targetName,
|
|
37
|
+
method,
|
|
38
|
+
args,
|
|
39
|
+
...(saveTo ? { saveResult: saveTo } : undefined),
|
|
40
|
+
});
|
|
41
|
+
const tx = await sswk.sendBridgeAction({ method: 'invokeEntry', message }, fee);
|
|
42
|
+
if (tx.code !== 0) {
|
|
43
|
+
throw Error(tx.rawLog);
|
|
44
|
+
}
|
|
45
|
+
if (!sendOnly && id) {
|
|
46
|
+
await getInvocationUpdate(id, sswk.query.getLastUpdate, retryOpts);
|
|
47
|
+
}
|
|
48
|
+
const ret = { id, tx };
|
|
49
|
+
if (saveTo) {
|
|
50
|
+
const result = saveTo.name
|
|
51
|
+
? makeEntryProxy(saveTo.name, overrides)
|
|
52
|
+
: undefined;
|
|
53
|
+
return { ...ret, result };
|
|
54
|
+
}
|
|
55
|
+
return ret;
|
|
56
|
+
};
|
|
57
|
+
return harden(boundMethod);
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
const saveOfferResult = async ({ instance, description }, name = description, options) => {
|
|
62
|
+
const combinedOpts = { ...baseTxOpts, ...options };
|
|
63
|
+
const { fee, sendOnly: _sendOnly, makeNonce, overwrite = true, ...retryOpts } = combinedOpts;
|
|
64
|
+
if (!makeNonce)
|
|
65
|
+
throw Fail `missing makeNonce`;
|
|
66
|
+
const id = `${description}.${makeNonce()}`;
|
|
67
|
+
const offer = {
|
|
68
|
+
id,
|
|
69
|
+
invitationSpec: { source: 'purse', instance, description },
|
|
70
|
+
proposal: {},
|
|
71
|
+
saveResult: { name, overwrite },
|
|
72
|
+
};
|
|
73
|
+
const tx = await sswk.sendBridgeAction({ method: 'executeOffer', offer }, fee);
|
|
74
|
+
const status = await getOfferResult(id, sswk.query.getLastUpdate, retryOpts);
|
|
75
|
+
return { id, tx, result: status.result };
|
|
76
|
+
};
|
|
77
|
+
return harden({
|
|
78
|
+
/**
|
|
79
|
+
* Return a previously-saved result as a remote object with type-aware
|
|
80
|
+
* methods that map to "invokeEntry" submissions. The methods will always
|
|
81
|
+
* await tx output from `sendBridgeAction`, and will also wait for
|
|
82
|
+
* confirmation in vstorage when sent with an `id` (e.g., derived from a
|
|
83
|
+
* `makeNonce` option) unless overridden by a `sendOnly: true` option.
|
|
84
|
+
*
|
|
85
|
+
* Use `.save(name)` or `.overwrite(name)` to persist a method result
|
|
86
|
+
* without changing the method's argument signature.
|
|
87
|
+
*
|
|
88
|
+
* @param name The wallet store name of the saved entry to retrieve.
|
|
89
|
+
*/
|
|
90
|
+
get: (name, options) => makeEntryProxy(name, options),
|
|
91
|
+
/**
|
|
92
|
+
* Execute the offer specified by { instance, description } and save the
|
|
93
|
+
* result in the wallet store with the specified name (default to match the
|
|
94
|
+
* offer description), overwriting any prior entry for that name unless
|
|
95
|
+
* otherwise specified. Waits for confirmation in vstorage before returning.
|
|
96
|
+
*/
|
|
97
|
+
saveOfferResult,
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=wallet-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-store.js","sourceRoot":"","sources":["../src/wallet-store.ts"],"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.2.0
|
|
3
|
+
"version": "0.2.0",
|
|
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.5.0
|
|
36
|
-
"@agoric/cosmic-proto": "0.5.0
|
|
37
|
-
"@agoric/ertp": "0.17.0
|
|
38
|
-
"@agoric/internal": "0.4.0
|
|
39
|
-
"@agoric/smart-wallet": "0.6.0
|
|
40
|
-
"@agoric/vats": "0.16.0
|
|
35
|
+
"@agoric/casting": "0.5.0",
|
|
36
|
+
"@agoric/cosmic-proto": "0.5.0",
|
|
37
|
+
"@agoric/ertp": "0.17.0",
|
|
38
|
+
"@agoric/internal": "0.4.0",
|
|
39
|
+
"@agoric/smart-wallet": "0.6.0",
|
|
40
|
+
"@agoric/vats": "0.16.0",
|
|
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": "
|
|
76
|
+
"gitHead": "0922d0447ab8fae9d2d87415964403330b5ca313"
|
|
77
77
|
}
|