@bsv/wallet-toolbox-client 1.3.6 → 1.3.9

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.
Files changed (59) hide show
  1. package/out/src/SetupClient.d.ts +126 -0
  2. package/out/src/SetupClient.d.ts.map +1 -0
  3. package/out/src/SetupClient.js +220 -0
  4. package/out/src/SetupClient.js.map +1 -0
  5. package/out/src/SetupWallet.d.ts +100 -0
  6. package/out/src/SetupWallet.d.ts.map +1 -0
  7. package/out/src/SetupWallet.js +3 -0
  8. package/out/src/SetupWallet.js.map +1 -0
  9. package/out/src/Wallet.d.ts +2 -2
  10. package/out/src/Wallet.d.ts.map +1 -1
  11. package/out/src/Wallet.js +15 -8
  12. package/out/src/Wallet.js.map +1 -1
  13. package/out/src/index.client.d.ts +2 -0
  14. package/out/src/index.client.d.ts.map +1 -1
  15. package/out/src/index.client.js +2 -0
  16. package/out/src/index.client.js.map +1 -1
  17. package/out/src/sdk/WalletStorage.interfaces.d.ts +14 -0
  18. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  19. package/out/src/storage/StorageIdb.d.ts +208 -0
  20. package/out/src/storage/StorageIdb.d.ts.map +1 -0
  21. package/out/src/storage/StorageIdb.js +2296 -0
  22. package/out/src/storage/StorageIdb.js.map +1 -0
  23. package/out/src/storage/WalletStorageManager.d.ts +1 -0
  24. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  25. package/out/src/storage/WalletStorageManager.js +40 -0
  26. package/out/src/storage/WalletStorageManager.js.map +1 -1
  27. package/out/src/storage/index.client.d.ts +1 -0
  28. package/out/src/storage/index.client.d.ts.map +1 -1
  29. package/out/src/storage/index.client.js +1 -0
  30. package/out/src/storage/index.client.js.map +1 -1
  31. package/out/src/storage/methods/ListActionsSpecOp.d.ts +16 -0
  32. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
  33. package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
  34. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
  35. package/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
  36. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
  37. package/out/src/storage/methods/ListOutputsSpecOp.js +71 -0
  38. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
  39. package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
  40. package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
  41. package/out/src/storage/methods/listActionsIdb.js +155 -0
  42. package/out/src/storage/methods/listActionsIdb.js.map +1 -0
  43. package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
  44. package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
  45. package/out/src/storage/methods/listOutputsIdb.js +181 -0
  46. package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
  47. package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
  48. package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
  49. package/out/src/storage/methods/purgeDataIdb.js +9 -0
  50. package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
  51. package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
  52. package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
  53. package/out/src/storage/methods/reviewStatusIdb.js +35 -0
  54. package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
  55. package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
  56. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
  57. package/out/src/storage/schema/StorageIdbSchema.js +3 -0
  58. package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
  59. package/package.json +3 -2
@@ -0,0 +1,126 @@
1
+ import { BEEF, CreateActionOptions, CreateActionOutput, CreateActionResult, KeyDeriver, LockingScript, PrivateKey, WalletInterface } from '@bsv/sdk';
2
+ import { Monitor, sdk, Services, Wallet, WalletStorageManager } from './index.client';
3
+ import { KeyPairAddress, SetupClientWalletArgs, SetupWallet, SetupWalletClient } from './SetupWallet';
4
+ import { StorageIdb } from './storage/StorageIdb';
5
+ /**
6
+ * The 'Setup` class provides static setup functions to construct BRC-100 compatible
7
+ * wallets in a variety of configurations.
8
+ *
9
+ * It serves as a starting point for experimentation and customization.
10
+ */
11
+ export declare abstract class SetupClient {
12
+ /**
13
+ * Create a `Wallet`. Storage can optionally be provided or configured later.
14
+ *
15
+ * The following components are configured: KeyDeriver, WalletStorageManager, WalletService, WalletStorage.
16
+ * Optionally, PrivilegedKeyManager is also configured.
17
+ *
18
+ * @publicbody
19
+ */
20
+ static createWallet(args: SetupClientWalletArgs): Promise<SetupWallet>;
21
+ /**
22
+ * Setup a new `Wallet` without requiring a .env file.
23
+ *
24
+ * @param args.chain - 'main' or 'test'
25
+ * @param args.rootKeyHex - Root private key for wallet's key deriver.
26
+ * @param args.storageUrl - Optional. `StorageClient` and `chain` compatible endpoint URL.
27
+ * @param args.privilegedKeyGetter - Optional. Method that will return the privileged `PrivateKey`, on demand.
28
+ */
29
+ static createWalletClientNoEnv(args: {
30
+ chain: sdk.Chain;
31
+ rootKeyHex: string;
32
+ storageUrl?: string;
33
+ privilegedKeyGetter?: () => Promise<PrivateKey>;
34
+ }): Promise<Wallet>;
35
+ /**
36
+ * @publicbody
37
+ */
38
+ static createWalletClient(args: SetupClientWalletClientArgs): Promise<SetupWalletClient>;
39
+ /**
40
+ * @publicbody
41
+ */
42
+ static getKeyPair(priv?: string | PrivateKey): KeyPairAddress;
43
+ /**
44
+ * @publicbody
45
+ */
46
+ static getLockP2PKH(address: string): LockingScript;
47
+ /**
48
+ * @publicbody
49
+ */
50
+ static getUnlockP2PKH(priv: PrivateKey, satoshis: number): sdk.ScriptTemplateUnlock;
51
+ /**
52
+ * @publicbody
53
+ */
54
+ static createP2PKHOutputs(outputs: {
55
+ address: string;
56
+ satoshis: number;
57
+ outputDescription?: string;
58
+ basket?: string;
59
+ tags?: string[];
60
+ }[]): CreateActionOutput[];
61
+ /**
62
+ * @publicbody
63
+ */
64
+ static createP2PKHOutputsAction(wallet: WalletInterface, outputs: {
65
+ address: string;
66
+ satoshis: number;
67
+ outputDescription?: string;
68
+ basket?: string;
69
+ tags?: string[];
70
+ }[], options?: CreateActionOptions): Promise<{
71
+ cr: CreateActionResult;
72
+ outpoints: string[] | undefined;
73
+ }>;
74
+ /**
75
+ * @publicbody
76
+ */
77
+ static fundWalletFromP2PKHOutpoints(wallet: WalletInterface, outpoints: string[], p2pkhKey: KeyPairAddress, inputBEEF?: BEEF): Promise<void>;
78
+ /**
79
+ * Adds `indexedDB` based storage to a `Wallet` configured by `SetupClient.createWalletOnly`
80
+ *
81
+ * @param args.databaseName Name for this storage. For MySQL, the schema name within the MySQL instance.
82
+ * @param args.chain Which chain this wallet is on: 'main' or 'test'. Defaults to 'test'.
83
+ * @param args.rootKeyHex
84
+ *
85
+ * @publicbody
86
+ */
87
+ static createWalletIdb(args: SetupWalletIdbArgs): Promise<SetupWalletIdb>;
88
+ /**
89
+ * @returns {StorageIdb} - `Knex` based storage provider for a wallet. May be used for either active storage or backup storage.
90
+ */
91
+ static createStorageIdb(args: SetupWalletIdbArgs): Promise<StorageIdb>;
92
+ }
93
+ /**
94
+ *
95
+ */
96
+ export interface SetupWalletIdbArgs extends SetupClientWalletArgs {
97
+ databaseName: string;
98
+ }
99
+ /**
100
+ *
101
+ */
102
+ export interface SetupWalletIdb extends SetupWallet {
103
+ activeStorage: StorageIdb;
104
+ userId: number;
105
+ rootKey: PrivateKey;
106
+ identityKey: string;
107
+ keyDeriver: KeyDeriver;
108
+ chain: sdk.Chain;
109
+ storage: WalletStorageManager;
110
+ services: Services;
111
+ monitor: Monitor;
112
+ wallet: Wallet;
113
+ }
114
+ /**
115
+ * Extension `SetupWalletClientArgs` of `SetupWalletArgs` is used by `createWalletClient`
116
+ * to construct a `SetupWalletClient`.
117
+ */
118
+ export interface SetupClientWalletClientArgs extends SetupClientWalletArgs {
119
+ /**
120
+ * The endpoint URL of a service hosting the `StorageServer` JSON-RPC service to
121
+ * which a `StorageClient` instance should connect to function as
122
+ * the active storage provider of the newly created wallet.
123
+ */
124
+ endpointUrl?: string;
125
+ }
126
+ //# sourceMappingURL=SetupClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupClient.d.ts","sourceRoot":"","sources":["../../../src/SetupClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetupClient = void 0;
4
+ const sdk_1 = require("@bsv/sdk");
5
+ const index_client_1 = require("./index.client");
6
+ const StorageIdb_1 = require("./storage/StorageIdb");
7
+ /**
8
+ * The 'Setup` class provides static setup functions to construct BRC-100 compatible
9
+ * wallets in a variety of configurations.
10
+ *
11
+ * It serves as a starting point for experimentation and customization.
12
+ */
13
+ class SetupClient {
14
+ /**
15
+ * Create a `Wallet`. Storage can optionally be provided or configured later.
16
+ *
17
+ * The following components are configured: KeyDeriver, WalletStorageManager, WalletService, WalletStorage.
18
+ * Optionally, PrivilegedKeyManager is also configured.
19
+ *
20
+ * @publicbody
21
+ */
22
+ static async createWallet(args) {
23
+ const chain = args.chain;
24
+ const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
25
+ const identityKey = rootKey.toPublicKey().toString();
26
+ const keyDeriver = new sdk_1.KeyDeriver(rootKey);
27
+ const storage = new index_client_1.WalletStorageManager(identityKey, args.active, args.backups);
28
+ if (storage.canMakeAvailable())
29
+ await storage.makeAvailable();
30
+ const serviceOptions = index_client_1.Services.createDefaultOptions(chain);
31
+ serviceOptions.taalApiKey = args.taalApiKey;
32
+ const services = new index_client_1.Services(serviceOptions);
33
+ const monopts = index_client_1.Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
34
+ const monitor = new index_client_1.Monitor(monopts);
35
+ monitor.addDefaultTasks();
36
+ const privilegedKeyManager = args.privilegedKeyGetter
37
+ ? new index_client_1.sdk.PrivilegedKeyManager(args.privilegedKeyGetter)
38
+ : undefined;
39
+ const wallet = new index_client_1.Wallet({
40
+ chain,
41
+ keyDeriver,
42
+ storage,
43
+ services,
44
+ monitor,
45
+ privilegedKeyManager
46
+ });
47
+ const r = {
48
+ rootKey,
49
+ identityKey,
50
+ keyDeriver,
51
+ chain,
52
+ storage,
53
+ services,
54
+ monitor,
55
+ wallet
56
+ };
57
+ return r;
58
+ }
59
+ /**
60
+ * Setup a new `Wallet` without requiring a .env file.
61
+ *
62
+ * @param args.chain - 'main' or 'test'
63
+ * @param args.rootKeyHex - Root private key for wallet's key deriver.
64
+ * @param args.storageUrl - Optional. `StorageClient` and `chain` compatible endpoint URL.
65
+ * @param args.privilegedKeyGetter - Optional. Method that will return the privileged `PrivateKey`, on demand.
66
+ */
67
+ static async createWalletClientNoEnv(args) {
68
+ const chain = args.chain;
69
+ const endpointUrl = args.storageUrl || `https://${args.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
70
+ const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
71
+ const keyDeriver = new sdk_1.KeyDeriver(rootKey);
72
+ const storage = new index_client_1.WalletStorageManager(keyDeriver.identityKey);
73
+ const services = new index_client_1.Services(chain);
74
+ const privilegedKeyManager = args.privilegedKeyGetter
75
+ ? new index_client_1.sdk.PrivilegedKeyManager(args.privilegedKeyGetter)
76
+ : undefined;
77
+ const wallet = new index_client_1.Wallet({
78
+ chain,
79
+ keyDeriver,
80
+ storage,
81
+ services,
82
+ privilegedKeyManager
83
+ });
84
+ const client = new index_client_1.StorageClient(wallet, endpointUrl);
85
+ await storage.addWalletStorageProvider(client);
86
+ await storage.makeAvailable();
87
+ return wallet;
88
+ }
89
+ /**
90
+ * @publicbody
91
+ */
92
+ static async createWalletClient(args) {
93
+ const wo = await SetupClient.createWallet(args);
94
+ const endpointUrl = args.endpointUrl || `https://${args.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
95
+ const client = new index_client_1.StorageClient(wo.wallet, endpointUrl);
96
+ await wo.storage.addWalletStorageProvider(client);
97
+ await wo.storage.makeAvailable();
98
+ return {
99
+ ...wo,
100
+ endpointUrl
101
+ };
102
+ }
103
+ /**
104
+ * @publicbody
105
+ */
106
+ static getKeyPair(priv) {
107
+ if (priv === undefined)
108
+ priv = sdk_1.PrivateKey.fromRandom();
109
+ else if (typeof priv === 'string')
110
+ priv = new sdk_1.PrivateKey(priv, 'hex');
111
+ const pub = sdk_1.PublicKey.fromPrivateKey(priv);
112
+ const address = pub.toAddress();
113
+ return { privateKey: priv, publicKey: pub, address };
114
+ }
115
+ /**
116
+ * @publicbody
117
+ */
118
+ static getLockP2PKH(address) {
119
+ const p2pkh = new sdk_1.P2PKH();
120
+ const lock = p2pkh.lock(address);
121
+ return lock;
122
+ }
123
+ /**
124
+ * @publicbody
125
+ */
126
+ static getUnlockP2PKH(priv, satoshis) {
127
+ const p2pkh = new sdk_1.P2PKH();
128
+ const lock = SetupClient.getLockP2PKH(SetupClient.getKeyPair(priv).address);
129
+ // Prepare to pay with SIGHASH_ALL and without ANYONE_CAN_PAY.
130
+ // In otherwords:
131
+ // - all outputs must remain in the current order, amount and locking scripts.
132
+ // - all inputs must remain from the current outpoints and sequence numbers.
133
+ // (unlock scripts are never signed)
134
+ const unlock = p2pkh.unlock(priv, 'all', false, satoshis, lock);
135
+ return unlock;
136
+ }
137
+ /**
138
+ * @publicbody
139
+ */
140
+ static createP2PKHOutputs(outputs) {
141
+ const os = [];
142
+ const count = outputs.length;
143
+ for (let i = 0; i < count; i++) {
144
+ const o = outputs[i];
145
+ os.push({
146
+ basket: o.basket,
147
+ tags: o.tags,
148
+ satoshis: o.satoshis,
149
+ lockingScript: SetupClient.getLockP2PKH(o.address).toHex(),
150
+ outputDescription: o.outputDescription || `p2pkh ${i}`
151
+ });
152
+ }
153
+ return os;
154
+ }
155
+ /**
156
+ * @publicbody
157
+ */
158
+ static async createP2PKHOutputsAction(wallet, outputs, options) {
159
+ const os = SetupClient.createP2PKHOutputs(outputs);
160
+ const createArgs = {
161
+ description: `createP2PKHOutputs`,
162
+ outputs: os,
163
+ options: {
164
+ ...options,
165
+ // Don't randomize so we can simplify outpoint creation
166
+ randomizeOutputs: false
167
+ }
168
+ };
169
+ const cr = await wallet.createAction(createArgs);
170
+ let outpoints;
171
+ if (cr.txid) {
172
+ outpoints = os.map((o, i) => `${cr.txid}.${i}`);
173
+ }
174
+ return { cr, outpoints };
175
+ }
176
+ /**
177
+ * @publicbody
178
+ */
179
+ static async fundWalletFromP2PKHOutpoints(wallet, outpoints, p2pkhKey, inputBEEF) {
180
+ // TODO
181
+ }
182
+ /**
183
+ * Adds `indexedDB` based storage to a `Wallet` configured by `SetupClient.createWalletOnly`
184
+ *
185
+ * @param args.databaseName Name for this storage. For MySQL, the schema name within the MySQL instance.
186
+ * @param args.chain Which chain this wallet is on: 'main' or 'test'. Defaults to 'test'.
187
+ * @param args.rootKeyHex
188
+ *
189
+ * @publicbody
190
+ */
191
+ static async createWalletIdb(args) {
192
+ const wo = await SetupClient.createWallet(args);
193
+ const activeStorage = await SetupClient.createStorageIdb(args);
194
+ await wo.storage.addWalletStorageProvider(activeStorage);
195
+ const { user, isNew } = await activeStorage.findOrInsertUser(wo.identityKey);
196
+ const userId = user.userId;
197
+ const r = {
198
+ ...wo,
199
+ activeStorage,
200
+ userId
201
+ };
202
+ return r;
203
+ }
204
+ /**
205
+ * @returns {StorageIdb} - `Knex` based storage provider for a wallet. May be used for either active storage or backup storage.
206
+ */
207
+ static async createStorageIdb(args) {
208
+ const storage = new StorageIdb_1.StorageIdb({
209
+ chain: args.chain,
210
+ commissionSatoshis: 0,
211
+ commissionPubKeyHex: undefined,
212
+ feeModel: { model: 'sat/kb', value: 1 }
213
+ });
214
+ await storage.migrate(args.databaseName, (0, index_client_1.randomBytesHex)(33));
215
+ await storage.makeAvailable();
216
+ return storage;
217
+ }
218
+ }
219
+ exports.SetupClient = SetupClient;
220
+ //# sourceMappingURL=SetupClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupClient.js","sourceRoot":"","sources":["../../../src/SetupClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { PrivateKey, KeyDeriver, PublicKey } from '@bsv/sdk';
2
+ import { WalletStorageManager, Monitor, sdk } from './index.client';
3
+ import { Services } from './services';
4
+ import { Wallet } from './Wallet';
5
+ /**
6
+ * When creating a BRC-100 compatible `Wallet`, many components come into play.
7
+ *
8
+ * All of the `createWallet` functions in the `Setup` and `SetupClient` classes return
9
+ * an object with direct access to each component to facilitate experimentation, testing
10
+ * and customization.
11
+ */
12
+ export interface SetupWallet {
13
+ /**
14
+ * The rootKey of the `KeyDeriver`. The private key from which other keys are derived.
15
+ */
16
+ rootKey: PrivateKey;
17
+ /**
18
+ * The pubilc key associated with the `rootKey` which also serves as the wallet's identity.
19
+ */
20
+ identityKey: string;
21
+ /**
22
+ * The `KeyDeriver` component used by the wallet for key derivation and cryptographic functions.
23
+ */
24
+ keyDeriver: KeyDeriver;
25
+ /**
26
+ * The chain ('main' or 'test') which the wallet accesses.
27
+ */
28
+ chain: sdk.Chain;
29
+ /**
30
+ * The `WalletStorageManager` that manages all the configured storage providers (active and backups)
31
+ * accessed by the wallet.
32
+ */
33
+ storage: WalletStorageManager;
34
+ /**
35
+ * The network `Services` component which provides the wallet with access to external services hosted
36
+ * on the public network.
37
+ */
38
+ services: Services;
39
+ /**
40
+ * The background task `Monitor` component available to the wallet to offload tasks
41
+ * that speed up wallet operations and maintain data integrity.
42
+ */
43
+ monitor: Monitor;
44
+ /**
45
+ * The actual BRC-100 `Wallet` to which all the other properties and components contribute.
46
+ *
47
+ * Note that internally, the wallet is itself linked to all these properties and components.
48
+ * They are included in this interface to facilitate access after wallet construction for
49
+ * experimentation, testing and customization. Any changes made to the configuration of these
50
+ * components after construction may disrupt the normal operation of the wallet.
51
+ */
52
+ wallet: Wallet;
53
+ } /**
54
+ * A private key and associated public key and address.
55
+ */
56
+ export interface KeyPairAddress {
57
+ privateKey: PrivateKey;
58
+ publicKey: PublicKey;
59
+ address: string;
60
+ }
61
+ /**
62
+ * Arguments used by `createWallet` to construct a `SetupWallet`.
63
+ *
64
+ * Extension `SetupWalletClientArgs` used by `createWalletClient` to construct a `SetupWalletClient`.
65
+ *
66
+ * Extension `SetupWalletIdbArgs` used by `createWalletIdb` to construct a `SetupWalletIdb`.
67
+ */
68
+ export interface SetupClientWalletArgs {
69
+ chain: sdk.Chain;
70
+ /**
71
+ * The non-privileged private key used to initialize the `KeyDeriver` and determine the `identityKey`.
72
+ */
73
+ rootKeyHex: string;
74
+ /**
75
+ * Optional. The privileged private key getter used to initialize the `PrivilegedKeyManager`.
76
+ * Defaults to undefined.
77
+ */
78
+ privilegedKeyGetter?: () => Promise<PrivateKey>;
79
+ /**
80
+ * Optional. Active wallet storage. Can be added later.
81
+ */
82
+ active?: sdk.WalletStorageProvider;
83
+ /**
84
+ * Optional. One or more storage providers managed as backup destinations. Can be added later.
85
+ */
86
+ backups?: sdk.WalletStorageProvider[];
87
+ taalApiKey?: string;
88
+ }
89
+ /**
90
+ * Extension `SetupWalletClient` of `SetupWallet` is returned by `createWalletClient`
91
+ */
92
+ export interface SetupWalletClient extends SetupWallet {
93
+ /**
94
+ * The endpoint URL of the service hosting the `StorageServer` JSON-RPC service to
95
+ * which a `StorageClient` instance is connected to function as
96
+ * the active storage provider of the wallet.
97
+ */
98
+ endpointUrl: string;
99
+ }
100
+ //# sourceMappingURL=SetupWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupWallet.d.ts","sourceRoot":"","sources":["../../../src/SetupWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC;;;;;;GAMG;AAEH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,EAAE,UAAU,CAAA;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IACtB;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;IAChB;;;OAGG;IACH,OAAO,EAAE,oBAAoB,CAAA;IAC7B;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAClB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAA;CACf,CAAC;;GAEC;AAEH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AACD;;;;;;GAMG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,qBAAqB,CAAA;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAA;IAErC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=SetupWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupWallet.js","sourceRoot":"","sources":["../../../src/SetupWallet.ts"],"names":[],"mappings":""}
@@ -88,8 +88,8 @@ export declare class Wallet implements WalletInterface, ProtoWallet {
88
88
  proveCertificate(args: ProveCertificateArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ProveCertificateResult>;
89
89
  discoverByIdentityKey(args: DiscoverByIdentityKeyArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<DiscoverCertificatesResult>;
90
90
  discoverByAttributes(args: DiscoverByAttributesArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<DiscoverCertificatesResult>;
91
- verifyReturnedTxidOnly(beef: Beef): Beef;
92
- verifyReturnedTxidOnlyAtomicBEEF(beef: AtomicBEEF): AtomicBEEF;
91
+ verifyReturnedTxidOnly(beef: Beef, knownTxids?: string[]): Beef;
92
+ verifyReturnedTxidOnlyAtomicBEEF(beef: AtomicBEEF, knownTxids?: string[]): AtomicBEEF;
93
93
  verifyReturnedTxidOnlyBEEF(beef: BEEF): BEEF;
94
94
  createAction(args: CreateActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<CreateActionResult>;
95
95
  signAction(args: SignActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<SignActionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"Wallet.d.ts","sourceRoot":"","sources":["../../../src/Wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wallet.d.ts","sourceRoot":"","sources":["../../../src/Wallet.ts"],"names":[],"mappings":"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"}
package/out/src/Wallet.js CHANGED
@@ -416,30 +416,34 @@ class Wallet {
416
416
  }
417
417
  return (0, identityUtils_1.transformVerifiableCertificatesWithTrust)(trustSettings, results);
418
418
  }
419
- verifyReturnedTxidOnly(beef) {
419
+ verifyReturnedTxidOnly(beef, knownTxids) {
420
420
  if (this.returnTxidOnly)
421
421
  return beef;
422
422
  const onlyTxids = beef.txs.filter(btx => btx.isTxidOnly).map(btx => btx.txid);
423
423
  for (const txid of onlyTxids) {
424
+ if (knownTxids && knownTxids.indexOf(txid) >= 0)
425
+ continue;
424
426
  const btx = beef.findTxid(txid);
425
427
  const tx = this.beef.findAtomicTransaction(txid);
426
428
  if (!tx)
427
- throw new sdk.WERR_INTERNAL();
429
+ throw new sdk.WERR_INTERNAL(`unable to merge txid ${txid} into beef`);
428
430
  beef.mergeTransaction(tx);
429
431
  }
430
432
  for (const btx of beef.txs) {
433
+ if (knownTxids && knownTxids.indexOf(btx.txid) >= 0)
434
+ continue;
431
435
  if (btx.isTxidOnly)
432
- throw new sdk.WERR_INTERNAL();
436
+ throw new sdk.WERR_INTERNAL(`remaining txidOnly ${btx.txid} is not known`);
433
437
  }
434
438
  return beef;
435
439
  }
436
- verifyReturnedTxidOnlyAtomicBEEF(beef) {
440
+ verifyReturnedTxidOnlyAtomicBEEF(beef, knownTxids) {
437
441
  if (this.returnTxidOnly)
438
442
  return beef;
439
443
  const b = sdk_1.Beef.fromBinary(beef);
440
444
  if (!b.atomicTxid)
441
445
  throw new sdk.WERR_INTERNAL();
442
- return this.verifyReturnedTxidOnly(b).toBinaryAtomic(b.atomicTxid);
446
+ return this.verifyReturnedTxidOnly(b, knownTxids).toBinaryAtomic(b.atomicTxid);
443
447
  }
444
448
  verifyReturnedTxidOnlyBEEF(beef) {
445
449
  if (this.returnTxidOnly)
@@ -452,10 +456,11 @@ class Wallet {
452
456
  //////////////////
453
457
  async createAction(args, originator) {
454
458
  var _a;
459
+ var _b;
455
460
  sdk.validateOriginator(originator);
456
461
  if (!args.options)
457
462
  args.options = {};
458
- (_a = args.options).trustSelf || (_a.trustSelf = this.trustSelf);
463
+ (_b = args.options).trustSelf || (_b.trustSelf = this.trustSelf);
459
464
  if (this.autoKnownTxids && !args.options.knownTxids) {
460
465
  args.options.knownTxids = this.getKnownTxids(args.options.knownTxids);
461
466
  }
@@ -471,20 +476,22 @@ class Wallet {
471
476
  this.beef.mergeBeefFromParty(this.storageParty, r.tx);
472
477
  }
473
478
  if (r.tx)
474
- r.tx = this.verifyReturnedTxidOnlyAtomicBEEF(r.tx);
479
+ r.tx = this.verifyReturnedTxidOnlyAtomicBEEF(r.tx, (_a = args.options) === null || _a === void 0 ? void 0 : _a.knownTxids);
475
480
  if (!vargs.isDelayed)
476
481
  throwIfAnyUnsuccessfulCreateActions(r);
477
482
  return r;
478
483
  }
479
484
  async signAction(args, originator) {
485
+ var _a;
480
486
  sdk.validateOriginator(originator);
481
487
  const { auth, vargs } = this.validateAuthAndArgs(args, sdk.validateSignActionArgs);
482
488
  // createAction options are merged with undefined signAction options before validation...
483
489
  const r = await (0, signAction_1.signAction)(this, auth, args);
484
490
  if (!vargs.isDelayed)
485
491
  throwIfAnyUnsuccessfulSignActions(r);
492
+ const prior = this.pendingSignActions[args.reference];
486
493
  if (r.tx)
487
- r.tx = this.verifyReturnedTxidOnlyAtomicBEEF(r.tx);
494
+ r.tx = this.verifyReturnedTxidOnlyAtomicBEEF(r.tx, (_a = prior.args.options) === null || _a === void 0 ? void 0 : _a.knownTxids);
488
495
  return r;
489
496
  }
490
497
  async abortAction(args, originator) {