@bsv/wallet-toolbox-client 1.2.4 → 1.2.6
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/Setup.d.ts +329 -0
- package/out/src/Setup.d.ts.map +1 -0
- package/out/src/Setup.js +394 -0
- package/out/src/Setup.js.map +1 -0
- package/out/src/index.all.d.ts +19 -0
- package/out/src/index.all.d.ts.map +1 -0
- package/out/src/index.all.js +58 -0
- package/out/src/index.all.js.map +1 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +3 -0
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts +30 -0
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -0
- package/out/src/monitor/MonitorDaemon.js +134 -0
- package/out/src/monitor/MonitorDaemon.js.map +1 -0
- package/out/src/monitor/tasks/TaskUnFail.d.ts +40 -0
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskUnFail.js +145 -0
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -0
- package/out/src/sdk/types.d.ts +3 -1
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/services/providers/echangeRates.d.ts.map +1 -1
- package/out/src/services/providers/echangeRates.js +6 -6
- package/out/src/services/providers/echangeRates.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +176 -0
- package/out/src/storage/StorageKnex.d.ts.map +1 -0
- package/out/src/storage/StorageKnex.js +1017 -0
- package/out/src/storage/StorageKnex.js.map +1 -0
- package/out/src/storage/StorageProvider.js +2 -2
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/index.all.d.ts +11 -0
- package/out/src/storage/index.all.d.ts.map +1 -0
- package/out/src/storage/index.all.js +50 -0
- package/out/src/storage/index.all.js.map +1 -0
- package/out/src/storage/methods/listActions.d.ts +5 -0
- package/out/src/storage/methods/listActions.d.ts.map +1 -0
- package/out/src/storage/methods/listActions.js +162 -0
- package/out/src/storage/methods/listActions.js.map +1 -0
- package/out/src/storage/methods/listOutputs.d.ts +5 -0
- package/out/src/storage/methods/listOutputs.d.ts.map +1 -0
- package/out/src/storage/methods/listOutputs.js +300 -0
- package/out/src/storage/methods/listOutputs.js.map +1 -0
- package/out/src/storage/methods/purgeData.d.ts +4 -0
- package/out/src/storage/methods/purgeData.d.ts.map +1 -0
- package/out/src/storage/methods/purgeData.js +207 -0
- package/out/src/storage/methods/purgeData.js.map +1 -0
- package/out/src/storage/methods/reviewStatus.d.ts +9 -0
- package/out/src/storage/methods/reviewStatus.d.ts.map +1 -0
- package/out/src/storage/methods/reviewStatus.js +73 -0
- package/out/src/storage/methods/reviewStatus.js.map +1 -0
- package/out/src/storage/remoting/StorageServer.d.ts +39 -0
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -0
- package/out/src/storage/remoting/StorageServer.js +220 -0
- package/out/src/storage/remoting/StorageServer.js.map +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts +39 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -0
- package/out/src/storage/schema/KnexMigrations.js +395 -0
- package/out/src/storage/schema/KnexMigrations.js.map +1 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts +71 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.js +609 -0
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -0
- package/out/src/storage/sync/index.d.ts +2 -0
- package/out/src/storage/sync/index.d.ts.map +1 -0
- package/out/src/storage/sync/index.js +18 -0
- package/out/src/storage/sync/index.js.map +1 -0
- package/out/src/utility/index.all.d.ts +7 -0
- package/out/src/utility/index.all.d.ts.map +1 -0
- package/out/src/utility/index.all.js +23 -0
- package/out/src/utility/index.all.js.map +1 -0
- package/out/src/utility/utilityHelpers.buffer.d.ts +18 -0
- package/out/src/utility/utilityHelpers.buffer.d.ts.map +1 -0
- package/out/src/utility/utilityHelpers.buffer.js +45 -0
- package/out/src/utility/utilityHelpers.buffer.js.map +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import { BEEF, CreateActionOptions, CreateActionOutput, CreateActionResult, KeyDeriver, LockingScript, PrivateKey, PublicKey, WalletInterface } from '@bsv/sdk';
|
|
2
|
+
import { Monitor, sdk, Services, Wallet, WalletStorageManager } from './index.client';
|
|
3
|
+
import { Knex } from 'knex';
|
|
4
|
+
import { StorageKnex } from './index.all';
|
|
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 Setup {
|
|
12
|
+
/**
|
|
13
|
+
* @param chain
|
|
14
|
+
* @returns true if .env is not valid for chain
|
|
15
|
+
*/
|
|
16
|
+
static noEnv(chain: sdk.Chain): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Creates content for .env file with some private keys, identity keys, sample API keys, and sample MySQL connection string.
|
|
19
|
+
*
|
|
20
|
+
* Two new, random private keys are generated each time, with their associated public identity keys.
|
|
21
|
+
*
|
|
22
|
+
* Loading secrets from a .env file is intended only for experimentation and getting started.
|
|
23
|
+
* Private keys should never be included directly in your source code.
|
|
24
|
+
*
|
|
25
|
+
* @publicbody
|
|
26
|
+
*/
|
|
27
|
+
static makeEnv(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Reads a .env file of the format created by `makeEnv`.
|
|
30
|
+
*
|
|
31
|
+
* Returns values for designated `chain`.
|
|
32
|
+
*
|
|
33
|
+
* Access private keys through the `devKeys` object: `devKeys[identityKey]`
|
|
34
|
+
*
|
|
35
|
+
* @param chain Which chain to use: 'test' or 'main'
|
|
36
|
+
* @returns {SetupEnv} with configuration environment secrets used by `Setup` functions.
|
|
37
|
+
*
|
|
38
|
+
* @publicbody
|
|
39
|
+
*/
|
|
40
|
+
static getEnv(chain: sdk.Chain): SetupEnv;
|
|
41
|
+
/**
|
|
42
|
+
* Create a `Wallet`. Storage can optionally be provided or configured later.
|
|
43
|
+
*
|
|
44
|
+
* The following components are configured: KeyDeriver, WalletStorageManager, WalletService, WalletStorage.
|
|
45
|
+
* Optionally, PrivilegedKeyManager is also configured.
|
|
46
|
+
*
|
|
47
|
+
* @publicbody
|
|
48
|
+
*/
|
|
49
|
+
static createWallet(args: SetupWalletArgs): Promise<SetupWallet>;
|
|
50
|
+
/**
|
|
51
|
+
* Setup a new `Wallet` without requiring a .env file.
|
|
52
|
+
*
|
|
53
|
+
* @param args.chain - 'main' or 'test'
|
|
54
|
+
* @param args.rootKeyHex - Root private key for wallet's key deriver.
|
|
55
|
+
* @param args.storageUrl - Optional. `StorageClient` and `chain` compatible endpoint URL.
|
|
56
|
+
* @param args.privilegedKeyGetter - Optional. Method that will return the privileged `PrivateKey`, on demand.
|
|
57
|
+
*/
|
|
58
|
+
static createWalletClientNoEnv(args: {
|
|
59
|
+
chain: sdk.Chain;
|
|
60
|
+
rootKeyHex: string;
|
|
61
|
+
storageUrl?: string;
|
|
62
|
+
privilegedKeyGetter?: () => Promise<PrivateKey>;
|
|
63
|
+
}): Promise<Wallet>;
|
|
64
|
+
/**
|
|
65
|
+
* @publicbody
|
|
66
|
+
*/
|
|
67
|
+
static createWalletClient(args: SetupWalletClientArgs): Promise<SetupWalletClient>;
|
|
68
|
+
/**
|
|
69
|
+
* @publicbody
|
|
70
|
+
*/
|
|
71
|
+
static getKeyPair(priv?: string | PrivateKey): KeyPairAddress;
|
|
72
|
+
/**
|
|
73
|
+
* @publicbody
|
|
74
|
+
*/
|
|
75
|
+
static getLockP2PKH(address: string): LockingScript;
|
|
76
|
+
/**
|
|
77
|
+
* @publicbody
|
|
78
|
+
*/
|
|
79
|
+
static getUnlockP2PKH(priv: PrivateKey, satoshis: number): sdk.ScriptTemplateUnlock;
|
|
80
|
+
/**
|
|
81
|
+
* @publicbody
|
|
82
|
+
*/
|
|
83
|
+
static createP2PKHOutputs(outputs: {
|
|
84
|
+
address: string;
|
|
85
|
+
satoshis: number;
|
|
86
|
+
outputDescription?: string;
|
|
87
|
+
basket?: string;
|
|
88
|
+
tags?: string[];
|
|
89
|
+
}[]): CreateActionOutput[];
|
|
90
|
+
/**
|
|
91
|
+
* @publicbody
|
|
92
|
+
*/
|
|
93
|
+
static createP2PKHOutputsAction(wallet: WalletInterface, outputs: {
|
|
94
|
+
address: string;
|
|
95
|
+
satoshis: number;
|
|
96
|
+
outputDescription?: string;
|
|
97
|
+
basket?: string;
|
|
98
|
+
tags?: string[];
|
|
99
|
+
}[], options?: CreateActionOptions): Promise<{
|
|
100
|
+
cr: CreateActionResult;
|
|
101
|
+
outpoints: string[] | undefined;
|
|
102
|
+
}>;
|
|
103
|
+
/**
|
|
104
|
+
* @publicbody
|
|
105
|
+
*/
|
|
106
|
+
static fundWalletFromP2PKHOutpoints(wallet: WalletInterface, outpoints: string[], p2pkhKey: KeyPairAddress, inputBEEF?: BEEF): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Adds `Knex` based storage to a `Wallet` configured by `Setup.createWalletOnly`
|
|
109
|
+
*
|
|
110
|
+
* @param args.knex `Knex` object configured for either MySQL or SQLite database access.
|
|
111
|
+
* Schema will be created and migrated as needed.
|
|
112
|
+
* For MySQL, a schema corresponding to databaseName must exist with full access permissions.
|
|
113
|
+
* @param args.databaseName Name for this storage. For MySQL, the schema name within the MySQL instance.
|
|
114
|
+
* @param args.chain Which chain this wallet is on: 'main' or 'test'. Defaults to 'test'.
|
|
115
|
+
* @param args.rootKeyHex
|
|
116
|
+
*
|
|
117
|
+
* @publicbody
|
|
118
|
+
*/
|
|
119
|
+
static createWalletKnex(args: SetupWalletKnexArgs): Promise<SetupWalletKnex>;
|
|
120
|
+
/**
|
|
121
|
+
* @returns {StorageKnex} - `Knex` based storage provider for a wallet. May be used for either active storage or backup storage.
|
|
122
|
+
*/
|
|
123
|
+
static createStorageKnex(args: SetupWalletKnexArgs): Promise<StorageKnex>;
|
|
124
|
+
/**
|
|
125
|
+
* @publicbody
|
|
126
|
+
*/
|
|
127
|
+
static createSQLiteKnex(filename: string): Knex;
|
|
128
|
+
/**
|
|
129
|
+
* @publicbody
|
|
130
|
+
*/
|
|
131
|
+
static createMySQLKnex(connection: string, database?: string): Knex;
|
|
132
|
+
/**
|
|
133
|
+
* @publicbody
|
|
134
|
+
*/
|
|
135
|
+
static createWalletMySQL(args: SetupWalletMySQLArgs): Promise<SetupWalletKnex>;
|
|
136
|
+
/**
|
|
137
|
+
* @publicbody
|
|
138
|
+
*/
|
|
139
|
+
static createWalletSQLite(args: SetupWalletSQLiteArgs): Promise<SetupWalletKnex>;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Arguments used by `createWallet` to construct a `SetupWallet`.
|
|
143
|
+
*
|
|
144
|
+
* Extension `SetupWalletClientArgs` used by `createWalletClient` to construct a `SetupWalletClient`.
|
|
145
|
+
*
|
|
146
|
+
* Extension `SetupWalletKnexArgs` used by `createWalletKnex` to construct a `SetupWalletKnex`.
|
|
147
|
+
*
|
|
148
|
+
* Extension `SetupWalletMySQLArgs` used by `createWalletMySQL` to construct a `SetupWalletKnex`.
|
|
149
|
+
*
|
|
150
|
+
* Extension `SetupWalletSQLiteArgs` used by `createWalletSQLite` to construct a `SetupWalletKnex`.
|
|
151
|
+
*/
|
|
152
|
+
export interface SetupWalletArgs {
|
|
153
|
+
/**
|
|
154
|
+
* Configuration "secrets" typically obtained by `Setup.makeEnv` and `Setup.getEnv` functions.
|
|
155
|
+
*/
|
|
156
|
+
env: SetupEnv;
|
|
157
|
+
/**
|
|
158
|
+
* Optional. The non-privileged private key used to initialize the `KeyDeriver` and determine the `identityKey`.
|
|
159
|
+
* Defaults to `env.devKeys[env.identityKey]
|
|
160
|
+
*/
|
|
161
|
+
rootKeyHex?: string;
|
|
162
|
+
/**
|
|
163
|
+
* Optional. The privileged private key getter used to initialize the `PrivilegedKeyManager`.
|
|
164
|
+
* Defaults to undefined.
|
|
165
|
+
*/
|
|
166
|
+
privilegedKeyGetter?: () => Promise<PrivateKey>;
|
|
167
|
+
/**
|
|
168
|
+
* Optional. Active wallet storage. Can be added later.
|
|
169
|
+
*/
|
|
170
|
+
active?: sdk.WalletStorageProvider;
|
|
171
|
+
/**
|
|
172
|
+
* Optional. One or more storage providers managed as backup destinations. Can be added later.
|
|
173
|
+
*/
|
|
174
|
+
backups?: sdk.WalletStorageProvider[];
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
*
|
|
178
|
+
*/
|
|
179
|
+
export interface SetupWalletKnexArgs extends SetupWalletArgs {
|
|
180
|
+
knex: Knex<any, any[]>;
|
|
181
|
+
databaseName: string;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
*
|
|
185
|
+
*/
|
|
186
|
+
export interface SetupWalletMySQLArgs extends SetupWalletArgs {
|
|
187
|
+
databaseName: string;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
*
|
|
191
|
+
*/
|
|
192
|
+
export interface SetupWalletSQLiteArgs extends SetupWalletArgs {
|
|
193
|
+
filePath: string;
|
|
194
|
+
databaseName: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
*
|
|
198
|
+
*/
|
|
199
|
+
export interface SetupWalletKnex extends SetupWallet {
|
|
200
|
+
activeStorage: StorageKnex;
|
|
201
|
+
userId: number;
|
|
202
|
+
rootKey: PrivateKey;
|
|
203
|
+
identityKey: string;
|
|
204
|
+
keyDeriver: KeyDeriver;
|
|
205
|
+
chain: sdk.Chain;
|
|
206
|
+
storage: WalletStorageManager;
|
|
207
|
+
services: Services;
|
|
208
|
+
monitor: Monitor;
|
|
209
|
+
wallet: Wallet;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* A private key and associated public key and address.
|
|
213
|
+
*/
|
|
214
|
+
export interface KeyPairAddress {
|
|
215
|
+
privateKey: PrivateKey;
|
|
216
|
+
publicKey: PublicKey;
|
|
217
|
+
address: string;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* `SetupEnv` provides a starting point for managing secrets that
|
|
221
|
+
* must not appear in source code.
|
|
222
|
+
*
|
|
223
|
+
* The `makeEnv` and `getEnv` functions of the `Setup` and `SetupClient` classes
|
|
224
|
+
* provide an easy way to create and import these secrets and related properties.
|
|
225
|
+
*/
|
|
226
|
+
export interface SetupEnv {
|
|
227
|
+
/**
|
|
228
|
+
* The chan being accessed: 'main' for mainnet, 'test' for 'testnet'.
|
|
229
|
+
*/
|
|
230
|
+
chain: sdk.Chain;
|
|
231
|
+
/**
|
|
232
|
+
* The user's primary identity key (public key).
|
|
233
|
+
*/
|
|
234
|
+
identityKey: string;
|
|
235
|
+
/**
|
|
236
|
+
* A secondary identity key (public key), used to test exchanges with other users.
|
|
237
|
+
*/
|
|
238
|
+
identityKey2: string;
|
|
239
|
+
/**
|
|
240
|
+
* Filepath to sqlite file to be used for identityKey wallet.
|
|
241
|
+
*/
|
|
242
|
+
filePath: string | undefined;
|
|
243
|
+
/**
|
|
244
|
+
* A vaild TAAL API key for use by `Services`
|
|
245
|
+
*/
|
|
246
|
+
taalApiKey: string;
|
|
247
|
+
/**
|
|
248
|
+
* A map of public keys (identity keys, hex strings) to private keys (hex strings).
|
|
249
|
+
*/
|
|
250
|
+
devKeys: Record<string, string>;
|
|
251
|
+
/**
|
|
252
|
+
* A MySQL connection string including user and password properties.
|
|
253
|
+
* Must be valid to make use of MySQL `Setup` class support.
|
|
254
|
+
*/
|
|
255
|
+
mySQLConnection: string;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* When creating a BRC-100 compatible `Wallet`, many components come into play.
|
|
259
|
+
*
|
|
260
|
+
* All of the `createWallet` functions in the `Setup` and `SetupClient` classes return
|
|
261
|
+
* an object with direct access to each component to facilitate experimentation, testing
|
|
262
|
+
* and customization.
|
|
263
|
+
*/
|
|
264
|
+
export interface SetupWallet {
|
|
265
|
+
/**
|
|
266
|
+
* The rootKey of the `KeyDeriver`. The private key from which other keys are derived.
|
|
267
|
+
*/
|
|
268
|
+
rootKey: PrivateKey;
|
|
269
|
+
/**
|
|
270
|
+
* The pubilc key associated with the `rootKey` which also serves as the wallet's identity.
|
|
271
|
+
*/
|
|
272
|
+
identityKey: string;
|
|
273
|
+
/**
|
|
274
|
+
* The `KeyDeriver` component used by the wallet for key derivation and cryptographic functions.
|
|
275
|
+
*/
|
|
276
|
+
keyDeriver: KeyDeriver;
|
|
277
|
+
/**
|
|
278
|
+
* The chain ('main' or 'test') which the wallet accesses.
|
|
279
|
+
*/
|
|
280
|
+
chain: sdk.Chain;
|
|
281
|
+
/**
|
|
282
|
+
* The `WalletStorageManager` that manages all the configured storage providers (active and backups)
|
|
283
|
+
* accessed by the wallet.
|
|
284
|
+
*/
|
|
285
|
+
storage: WalletStorageManager;
|
|
286
|
+
/**
|
|
287
|
+
* The network `Services` component which provides the wallet with access to external services hosted
|
|
288
|
+
* on the public network.
|
|
289
|
+
*/
|
|
290
|
+
services: Services;
|
|
291
|
+
/**
|
|
292
|
+
* The background task `Monitor` component available to the wallet to offload tasks
|
|
293
|
+
* that speed up wallet operations and maintain data integrity.
|
|
294
|
+
*/
|
|
295
|
+
monitor: Monitor;
|
|
296
|
+
/**
|
|
297
|
+
* The actual BRC-100 `Wallet` to which all the other properties and components contribute.
|
|
298
|
+
*
|
|
299
|
+
* Note that internally, the wallet is itself linked to all these properties and components.
|
|
300
|
+
* They are included in this interface to facilitate access after wallet construction for
|
|
301
|
+
* experimentation, testing and customization. Any changes made to the configuration of these
|
|
302
|
+
* components after construction may disrupt the normal operation of the wallet.
|
|
303
|
+
*/
|
|
304
|
+
wallet: Wallet;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Extension `SetupWalletClientArgs` of `SetupWalletArgs` is used by `createWalletClient`
|
|
308
|
+
* to construct a `SetupWalletClient`.
|
|
309
|
+
*/
|
|
310
|
+
export interface SetupWalletClientArgs extends SetupWalletArgs {
|
|
311
|
+
/**
|
|
312
|
+
* The endpoint URL of a service hosting the `StorageServer` JSON-RPC service to
|
|
313
|
+
* which a `StorageClient` instance should connect to function as
|
|
314
|
+
* the active storage provider of the newly created wallet.
|
|
315
|
+
*/
|
|
316
|
+
endpointUrl?: string;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Extension `SetupWalletClient` of `SetupWallet` is returned by `createWalletClient`
|
|
320
|
+
*/
|
|
321
|
+
export interface SetupWalletClient extends SetupWallet {
|
|
322
|
+
/**
|
|
323
|
+
* The endpoint URL of the service hosting the `StorageServer` JSON-RPC service to
|
|
324
|
+
* which a `StorageClient` instance is connected to function as
|
|
325
|
+
* the active storage provider of the wallet.
|
|
326
|
+
*/
|
|
327
|
+
endpointUrl: string;
|
|
328
|
+
}
|
|
329
|
+
//# sourceMappingURL=Setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Setup.d.ts","sourceRoot":"","sources":["../../../src/Setup.ts"],"names":[],"mappings":"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"}
|