@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.
- package/out/src/SetupClient.d.ts +126 -0
- package/out/src/SetupClient.d.ts.map +1 -0
- package/out/src/SetupClient.js +220 -0
- package/out/src/SetupClient.js.map +1 -0
- package/out/src/SetupWallet.d.ts +100 -0
- package/out/src/SetupWallet.d.ts.map +1 -0
- package/out/src/SetupWallet.js +3 -0
- package/out/src/SetupWallet.js.map +1 -0
- package/out/src/Wallet.d.ts +2 -2
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +15 -8
- package/out/src/Wallet.js.map +1 -1
- package/out/src/index.client.d.ts +2 -0
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +2 -0
- package/out/src/index.client.js.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +14 -0
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.d.ts +208 -0
- package/out/src/storage/StorageIdb.d.ts.map +1 -0
- package/out/src/storage/StorageIdb.js +2296 -0
- package/out/src/storage/StorageIdb.js.map +1 -0
- package/out/src/storage/WalletStorageManager.d.ts +1 -0
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +40 -0
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/index.client.d.ts +1 -0
- package/out/src/storage/index.client.d.ts.map +1 -1
- package/out/src/storage/index.client.js +1 -0
- package/out/src/storage/index.client.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts +16 -0
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -0
- package/out/src/storage/methods/ListActionsSpecOp.js +40 -0
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -0
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts +26 -0
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -0
- package/out/src/storage/methods/ListOutputsSpecOp.js +71 -0
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -0
- package/out/src/storage/methods/listActionsIdb.d.ts +5 -0
- package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -0
- package/out/src/storage/methods/listActionsIdb.js +155 -0
- package/out/src/storage/methods/listActionsIdb.js.map +1 -0
- package/out/src/storage/methods/listOutputsIdb.d.ts +5 -0
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -0
- package/out/src/storage/methods/listOutputsIdb.js +181 -0
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -0
- package/out/src/storage/methods/purgeDataIdb.d.ts +4 -0
- package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -0
- package/out/src/storage/methods/purgeDataIdb.js +9 -0
- package/out/src/storage/methods/purgeDataIdb.js.map +1 -0
- package/out/src/storage/methods/reviewStatusIdb.d.ts +20 -0
- package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -0
- package/out/src/storage/methods/reviewStatusIdb.js +35 -0
- package/out/src/storage/methods/reviewStatusIdb.js.map +1 -0
- package/out/src/storage/schema/StorageIdbSchema.d.ts +133 -0
- package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -0
- package/out/src/storage/schema/StorageIdbSchema.js +3 -0
- package/out/src/storage/schema/StorageIdbSchema.js.map +1 -0
- 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":";;;AAAA,kCAYiB;AACjB,iDAAoH;AAEpH,qDAAiD;AAEjD;;;;;GAKG;AACH,MAAsB,WAAW;IAC/B;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAA2B;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,MAAM,OAAO,GAAG,gBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,mCAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChF,IAAI,OAAO,CAAC,gBAAgB,EAAE;YAAE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAC7D,MAAM,cAAc,GAAG,uBAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3D,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAC3C,MAAM,QAAQ,GAAG,IAAI,uBAAQ,CAAC,cAAc,CAAC,CAAA;QAC7C,MAAM,OAAO,GAAG,sBAAO,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnF,MAAM,OAAO,GAAG,IAAI,sBAAO,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,CAAC,eAAe,EAAE,CAAA;QACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB;YACnD,CAAC,CAAC,IAAI,kBAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACxD,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,MAAM,GAAG,IAAI,qBAAM,CAAC;YACxB,KAAK;YACL,UAAU;YACV,OAAO;YACP,QAAQ;YACR,OAAO;YACP,oBAAoB;SACrB,CAAC,CAAA;QACF,MAAM,CAAC,GAAgB;YACrB,OAAO;YACP,WAAW;YACX,UAAU;YACV,KAAK;YACL,OAAO;YACP,QAAQ;YACR,OAAO;YACP,MAAM;SACP,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAKpC;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAA;QAClH,MAAM,OAAO,GAAG,gBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,mCAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAChE,MAAM,QAAQ,GAAG,IAAI,uBAAQ,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB;YACnD,CAAC,CAAC,IAAI,kBAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACxD,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,MAAM,GAAG,IAAI,qBAAM,CAAC;YACxB,KAAK;YACL,UAAU;YACV,OAAO;YACP,QAAQ;YACR,oBAAoB;SACrB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,4BAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACrD,MAAM,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAC7B,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAiC;QAC/D,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAA;QAEnH,MAAM,MAAM,GAAG,IAAI,4BAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACxD,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;QAChC,OAAO;YACL,GAAG,EAAE;YACL,WAAW;SACZ,CAAA;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAA0B;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,GAAG,gBAAU,CAAC,UAAU,EAAE,CAAA;aACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,gBAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAErE,MAAM,GAAG,GAAG,eAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,CAAA;QAC/B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAe;QACjC,MAAM,KAAK,GAAG,IAAI,WAAK,EAAE,CAAA;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,IAAgB,EAAE,QAAgB;QACtD,MAAM,KAAK,GAAG,IAAI,WAAK,EAAE,CAAA;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAA;QAC3E,8DAA8D;QAC9D,iBAAiB;QACjB,8EAA8E;QAC9E,4EAA4E;QAC5E,oCAAoC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,OAMG;QAEH,MAAM,EAAE,GAAyB,EAAE,CAAA;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACpB,EAAE,CAAC,IAAI,CAAC;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,aAAa,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;gBAC1D,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,SAAS,CAAC,EAAE;aACvD,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,wBAAwB,CACnC,MAAuB,EACvB,OAMG,EACH,OAA6B;QAK7B,MAAM,EAAE,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAElD,MAAM,UAAU,GAAqB;YACnC,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,EAAE;YACX,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,uDAAuD;gBACvD,gBAAgB,EAAE,KAAK;aACxB;SACF,CAAA;QAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QAEhD,IAAI,SAA+B,CAAA;QAEnC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,4BAA4B,CACvC,MAAuB,EACvB,SAAmB,EACnB,QAAwB,EACxB,SAAgB;QAEhB,OAAO;IACT,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAwB;QACnD,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC9D,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAA;QACxD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,CAAC,GAAmB;YACxB,GAAG,EAAE;YACL,aAAa;YACb,MAAM;SACP,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAwB;QACpD,MAAM,OAAO,GAAG,IAAI,uBAAU,CAAC;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,SAAS;YAC9B,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;SACxC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,6BAAc,EAAC,EAAE,CAAC,CAAC,CAAA;QAC5D,MAAM,OAAO,CAAC,aAAa,EAAE,CAAA;QAC7B,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AA3PD,kCA2PC"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"SetupWallet.js","sourceRoot":"","sources":["../../../src/SetupWallet.ts"],"names":[],"mappings":""}
|
package/out/src/Wallet.d.ts
CHANGED
|
@@ -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>;
|
package/out/src/Wallet.d.ts.map
CHANGED
|
@@ -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
|
-
(
|
|
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) {
|