@bsv/wallet-toolbox 1.1.24 → 1.1.25
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/docs/client.md +2319 -84
- package/docs/wallet.md +2319 -84
- package/out/src/CWIStyleWalletManager.d.ts +411 -0
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -0
- package/out/src/CWIStyleWalletManager.js +1131 -0
- package/out/src/CWIStyleWalletManager.js.map +1 -0
- package/out/src/SetupClient.d.ts +249 -0
- package/out/src/SetupClient.d.ts.map +1 -0
- package/out/src/SetupClient.js +252 -0
- package/out/src/SetupClient.js.map +1 -0
- package/out/src/SimpleWalletManager.d.ts +169 -0
- package/out/src/SimpleWalletManager.d.ts.map +1 -0
- package/out/src/SimpleWalletManager.js +315 -0
- package/out/src/SimpleWalletManager.js.map +1 -0
- package/out/src/Wallet.d.ts +6 -1
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +29 -2
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +33 -0
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -0
- package/out/src/WalletAuthenticationManager.js +107 -0
- package/out/src/WalletAuthenticationManager.js.map +1 -0
- package/out/src/WalletPermissionsManager.d.ts +575 -0
- package/out/src/WalletPermissionsManager.d.ts.map +1 -0
- package/out/src/WalletPermissionsManager.js +1807 -0
- package/out/src/WalletPermissionsManager.js.map +1 -0
- package/out/src/WalletSettingsManager.d.ts +59 -0
- package/out/src/WalletSettingsManager.d.ts.map +1 -0
- package/out/src/WalletSettingsManager.js +168 -0
- package/out/src/WalletSettingsManager.js.map +1 -0
- package/out/src/__tests/CWIStyleWalletManager.test.d.ts +2 -0
- package/out/src/__tests/CWIStyleWalletManager.test.d.ts.map +1 -0
- package/out/src/__tests/CWIStyleWalletManager.test.js +472 -0
- package/out/src/__tests/CWIStyleWalletManager.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.js +239 -0
- package/out/src/__tests/WalletPermissionsManager.callbacks.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.js +644 -0
- package/out/src/__tests/WalletPermissionsManager.checks.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.js +295 -0
- package/out/src/__tests/WalletPermissionsManager.encryption.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts +82 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.js +260 -0
- package/out/src/__tests/WalletPermissionsManager.fixtures.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.js +389 -0
- package/out/src/__tests/WalletPermissionsManager.flows.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.js +227 -0
- package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.js +566 -0
- package/out/src/__tests/WalletPermissionsManager.proxying.test.js.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts +2 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.d.ts.map +1 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.js +460 -0
- package/out/src/__tests/WalletPermissionsManager.tokens.test.js.map +1 -0
- package/out/src/index.all.d.ts +9 -0
- package/out/src/index.all.d.ts.map +1 -1
- package/out/src/index.all.js +9 -0
- package/out/src/index.all.js.map +1 -1
- package/out/src/index.client.d.ts +9 -0
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +9 -0
- package/out/src/index.client.js.map +1 -1
- package/out/src/utility/identityUtils.d.ts +31 -0
- package/out/src/utility/identityUtils.d.ts.map +1 -0
- package/out/src/utility/identityUtils.js +114 -0
- package/out/src/utility/identityUtils.js.map +1 -0
- package/out/src/wab-client/WABClient.d.ts +38 -0
- package/out/src/wab-client/WABClient.d.ts.map +1 -0
- package/out/src/wab-client/WABClient.js +95 -0
- package/out/src/wab-client/WABClient.js.map +1 -0
- package/out/src/wab-client/__tests/WABClient.test.d.ts +2 -0
- package/out/src/wab-client/__tests/WABClient.test.d.ts.map +1 -0
- package/out/src/wab-client/__tests/WABClient.test.js +47 -0
- package/out/src/wab-client/__tests/WABClient.test.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +34 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +7 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +1 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +40 -0
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +28 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +73 -0
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -0
- package/out/test/Wallet/action/abortAction.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/abortAction.test.js.map +1 -1
- package/out/test/Wallet/action/createAction.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/createAction.test.js.map +1 -1
- package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts.map +1 -1
- package/out/test/{wallet → Wallet}/action/createAction2.test.js.map +1 -1
- package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
- package/out/test/Wallet/action/internalizeAction.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/internalizeAction.test.js.map +1 -1
- package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js.map +1 -1
- package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js.map +1 -1
- package/out/test/Wallet/list/listActions.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listActions.test.js.map +1 -1
- package/out/test/Wallet/list/listActions2.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listActions2.test.js.map +1 -1
- package/out/test/Wallet/list/listCertificates.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listCertificates.test.js.map +1 -1
- package/out/test/Wallet/list/listOutputs.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/list/listOutputs.test.js.map +1 -1
- package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +1 -0
- package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/CWIStyleWalletManager.ts +1891 -0
- package/src/SimpleWalletManager.ts +553 -0
- package/src/Wallet.ts +47 -3
- package/src/WalletAuthenticationManager.ts +183 -0
- package/src/WalletPermissionsManager.ts +2639 -0
- package/src/WalletSettingsManager.ts +241 -0
- package/src/__tests/CWIStyleWalletManager.test.ts +709 -0
- package/src/__tests/WalletPermissionsManager.callbacks.test.ts +328 -0
- package/src/__tests/WalletPermissionsManager.checks.test.ts +857 -0
- package/src/__tests/WalletPermissionsManager.encryption.test.ts +407 -0
- package/src/__tests/WalletPermissionsManager.fixtures.ts +283 -0
- package/src/__tests/WalletPermissionsManager.flows.test.ts +490 -0
- package/src/__tests/WalletPermissionsManager.initialization.test.ts +333 -0
- package/src/__tests/WalletPermissionsManager.proxying.test.ts +753 -0
- package/src/__tests/WalletPermissionsManager.tokens.test.ts +584 -0
- package/src/index.all.ts +9 -0
- package/src/index.client.ts +9 -0
- package/src/utility/identityUtils.ts +170 -0
- package/src/wab-client/WABClient.ts +103 -0
- package/src/wab-client/__tests/WABClient.test.ts +58 -0
- package/src/wab-client/auth-method-interactors/AuthMethodInteractor.ts +47 -0
- package/src/wab-client/auth-method-interactors/PersonaIDInteractor.ts +45 -0
- package/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.ts +82 -0
- package/out/test/wallet/action/abortAction.test.d.ts.map +0 -1
- package/out/test/wallet/action/createAction.test.d.ts.map +0 -1
- package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
- package/out/test/wallet/action/internalizeAction.test.d.ts.map +0 -1
- package/out/test/wallet/action/relinquishOutput.test.d.ts.map +0 -1
- package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
- package/out/test/wallet/list/listActions.test.d.ts.map +0 -1
- package/out/test/wallet/list/listActions2.test.d.ts.map +0 -1
- package/out/test/wallet/list/listCertificates.test.d.ts.map +0 -1
- package/out/test/wallet/list/listOutputs.test.d.ts.map +0 -1
- package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +0 -1
- /package/out/test/{wallet → Wallet}/action/abortAction.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/abortAction.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/createAction2.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/internalizeAction.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/internalizeAction.test.js +0 -0
- /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js +0 -0
- /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions2.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listActions2.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listCertificates.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listCertificates.test.js +0 -0
- /package/out/test/{wallet → Wallet}/list/listOutputs.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/list/listOutputs.test.js +0 -0
- /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.d.ts +0 -0
- /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js +0 -0
- /package/test/{wallet → Wallet}/action/abortAction.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/createAction.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/createAction2.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/internalizeAction.test.ts +0 -0
- /package/test/{wallet → Wallet}/action/relinquishOutput.test.ts +0 -0
- /package/test/{wallet → Wallet}/construct/Wallet.constructor.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listActions.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listActions2.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listCertificates.test.ts +0 -0
- /package/test/{wallet → Wallet}/list/listOutputs.test.ts +0 -0
- /package/test/{wallet → Wallet}/sync/Wallet.sync.test.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CWIStyleWalletManager.js","sourceRoot":"","sources":["../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,249 @@
|
|
|
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
|
+
/**
|
|
4
|
+
* The `SetupClient` class provides static setup functions to construct BRC-100 compatible
|
|
5
|
+
* wallets in a variety of configurations.
|
|
6
|
+
*
|
|
7
|
+
* It serves as a starting point for experimentation and customization.
|
|
8
|
+
*
|
|
9
|
+
* `SetupClient` references only browser compatible code including storage via `StorageClient`.
|
|
10
|
+
* `Setup` extends `SetupClient` adding database storage via `Knex` and `StorageKnex`.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class SetupClient {
|
|
14
|
+
/**
|
|
15
|
+
* @param chain
|
|
16
|
+
* @returns true if .env is not valid for chain
|
|
17
|
+
*/
|
|
18
|
+
static noEnv(chain: sdk.Chain): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Creates content for .env file with some private keys, identity keys, sample API keys, and sample MySQL connection string.
|
|
21
|
+
*
|
|
22
|
+
* Two new, random private keys are generated each time, with their associated public identity keys.
|
|
23
|
+
*
|
|
24
|
+
* Loading secrets from a .env file is intended only for experimentation and getting started.
|
|
25
|
+
* Private keys should never be included directly in your source code.
|
|
26
|
+
*
|
|
27
|
+
* @publicbody
|
|
28
|
+
*/
|
|
29
|
+
static makeEnv(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Reads a .env file of the format created by `makeEnv`.
|
|
32
|
+
*
|
|
33
|
+
* Returns values for designated `chain`.
|
|
34
|
+
*
|
|
35
|
+
* Access private keys through the `devKeys` object: `devKeys[identityKey]`
|
|
36
|
+
*
|
|
37
|
+
* @param chain Which chain to use: 'test' or 'main'
|
|
38
|
+
* @returns {SetupEnv} with configuration environment secrets used by `Setup` functions.
|
|
39
|
+
*
|
|
40
|
+
* @publicbody
|
|
41
|
+
*/
|
|
42
|
+
static getEnv(chain: sdk.Chain): SetupEnv;
|
|
43
|
+
/**
|
|
44
|
+
* Create a `Wallet`. Storage can optionally be provided or configured later.
|
|
45
|
+
*
|
|
46
|
+
* The following components are configured: KeyDeriver, WalletStorageManager, WalletService, WalletStorage.
|
|
47
|
+
* Optionally, PrivilegedKeyManager is also configured.
|
|
48
|
+
*
|
|
49
|
+
* @publicbody
|
|
50
|
+
*/
|
|
51
|
+
static createWallet(args: SetupWalletArgs): Promise<SetupWallet>;
|
|
52
|
+
/**
|
|
53
|
+
* @publicbody
|
|
54
|
+
*/
|
|
55
|
+
static createWalletClient(args: SetupWalletClientArgs): Promise<SetupWalletClient>;
|
|
56
|
+
/**
|
|
57
|
+
* @publicbody
|
|
58
|
+
*/
|
|
59
|
+
static getKeyPair(priv?: string | PrivateKey): KeyPairAddress;
|
|
60
|
+
/**
|
|
61
|
+
* @publicbody
|
|
62
|
+
*/
|
|
63
|
+
static getLockP2PKH(address: string): LockingScript;
|
|
64
|
+
/**
|
|
65
|
+
* @publicbody
|
|
66
|
+
*/
|
|
67
|
+
static getUnlockP2PKH(priv: PrivateKey, satoshis: number): sdk.ScriptTemplateUnlock;
|
|
68
|
+
/**
|
|
69
|
+
* @publicbody
|
|
70
|
+
*/
|
|
71
|
+
static createP2PKHOutputs(outputs: {
|
|
72
|
+
address: string;
|
|
73
|
+
satoshis: number;
|
|
74
|
+
outputDescription?: string;
|
|
75
|
+
basket?: string;
|
|
76
|
+
tags?: string[];
|
|
77
|
+
}[]): CreateActionOutput[];
|
|
78
|
+
/**
|
|
79
|
+
* @publicbody
|
|
80
|
+
*/
|
|
81
|
+
static createP2PKHOutputsAction(wallet: WalletInterface, outputs: {
|
|
82
|
+
address: string;
|
|
83
|
+
satoshis: number;
|
|
84
|
+
outputDescription?: string;
|
|
85
|
+
basket?: string;
|
|
86
|
+
tags?: string[];
|
|
87
|
+
}[], options?: CreateActionOptions): Promise<{
|
|
88
|
+
cr: CreateActionResult;
|
|
89
|
+
outpoints: string[] | undefined;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* @publicbody
|
|
93
|
+
*/
|
|
94
|
+
static fundWalletFromP2PKHOutpoints(wallet: WalletInterface, outpoints: string[], p2pkhKey: KeyPairAddress, inputBEEF?: BEEF): Promise<void>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* A private key and associated public key and address.
|
|
98
|
+
*/
|
|
99
|
+
export interface KeyPairAddress {
|
|
100
|
+
privateKey: PrivateKey;
|
|
101
|
+
publicKey: PublicKey;
|
|
102
|
+
address: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* `SetupEnv` provides a starting point for managing secrets that
|
|
106
|
+
* must not appear in source code.
|
|
107
|
+
*
|
|
108
|
+
* The `makeEnv` and `getEnv` functions of the `Setup` and `SetupClient` classes
|
|
109
|
+
* provide an easy way to create and import these secrets and related properties.
|
|
110
|
+
*/
|
|
111
|
+
export interface SetupEnv {
|
|
112
|
+
/**
|
|
113
|
+
* The chan being accessed: 'main' for mainnet, 'test' for 'testnet'.
|
|
114
|
+
*/
|
|
115
|
+
chain: sdk.Chain;
|
|
116
|
+
/**
|
|
117
|
+
* The user's primary identity key (public key).
|
|
118
|
+
*/
|
|
119
|
+
identityKey: string;
|
|
120
|
+
/**
|
|
121
|
+
* A secondary identity key (public key), used to test exchanges with other users.
|
|
122
|
+
*/
|
|
123
|
+
identityKey2: string;
|
|
124
|
+
/**
|
|
125
|
+
* Filepath to sqlite file to be used for identityKey wallet.
|
|
126
|
+
*/
|
|
127
|
+
filePath: string | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* A vaild TAAL API key for use by `Services`
|
|
130
|
+
*/
|
|
131
|
+
taalApiKey: string;
|
|
132
|
+
/**
|
|
133
|
+
* A map of public keys (identity keys, hex strings) to private keys (hex strings).
|
|
134
|
+
*/
|
|
135
|
+
devKeys: Record<string, string>;
|
|
136
|
+
/**
|
|
137
|
+
* A MySQL connection string including user and password properties.
|
|
138
|
+
* Must be valid to make use of MySQL `Setup` class support.
|
|
139
|
+
*/
|
|
140
|
+
mySQLConnection: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Arguments used by `createWallet` to construct a `SetupWallet`.
|
|
144
|
+
*
|
|
145
|
+
* Extension `SetupWalletClientArgs` used by `createWalletClient` to construct a `SetupWalletClient`.
|
|
146
|
+
*
|
|
147
|
+
* Extension `SetupWalletKnexArgs` used by `createWalletKnex` to construct a `SetupWalletKnex`.
|
|
148
|
+
*
|
|
149
|
+
* Extension `SetupWalletMySQLArgs` used by `createWalletMySQL` to construct a `SetupWalletKnex`.
|
|
150
|
+
*
|
|
151
|
+
* Extension `SetupWalletSQLiteArgs` used by `createWalletSQLite` to construct a `SetupWalletKnex`.
|
|
152
|
+
*/
|
|
153
|
+
export interface SetupWalletArgs {
|
|
154
|
+
/**
|
|
155
|
+
* Configuration "secrets" typically obtained by `Setup.makeEnv` and `Setup.getEnv` functions.
|
|
156
|
+
*/
|
|
157
|
+
env: SetupEnv;
|
|
158
|
+
/**
|
|
159
|
+
* Optional. The non-privileged private key used to initialize the `KeyDeriver` and determine the `identityKey`.
|
|
160
|
+
* Defaults to `env.devKeys[env.identityKey]
|
|
161
|
+
*/
|
|
162
|
+
rootKeyHex?: string;
|
|
163
|
+
/**
|
|
164
|
+
* Optional. The privileged private key used to initialize the `PrivilegedKeyManager`.
|
|
165
|
+
* Defaults to undefined.
|
|
166
|
+
*/
|
|
167
|
+
privKeyHex?: string;
|
|
168
|
+
/**
|
|
169
|
+
* Optional. Active wallet storage. Can be added later.
|
|
170
|
+
*/
|
|
171
|
+
active?: sdk.WalletStorageProvider;
|
|
172
|
+
/**
|
|
173
|
+
* Optional. One or more storage providers managed as backup destinations. Can be added later.
|
|
174
|
+
*/
|
|
175
|
+
backups?: sdk.WalletStorageProvider[];
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* When creating a BRC-100 compatible `Wallet`, many components come into play.
|
|
179
|
+
*
|
|
180
|
+
* All of the `createWallet` functions in the `Setup` and `SetupClient` classes return
|
|
181
|
+
* an object with direct access to each component to facilitate experimentation, testing
|
|
182
|
+
* and customization.
|
|
183
|
+
*/
|
|
184
|
+
export interface SetupWallet {
|
|
185
|
+
/**
|
|
186
|
+
* The rootKey of the `KeyDeriver`. The private key from which other keys are derived.
|
|
187
|
+
*/
|
|
188
|
+
rootKey: PrivateKey;
|
|
189
|
+
/**
|
|
190
|
+
* The pubilc key associated with the `rootKey` which also serves as the wallet's identity.
|
|
191
|
+
*/
|
|
192
|
+
identityKey: string;
|
|
193
|
+
/**
|
|
194
|
+
* The `KeyDeriver` component used by the wallet for key derivation and cryptographic functions.
|
|
195
|
+
*/
|
|
196
|
+
keyDeriver: KeyDeriver;
|
|
197
|
+
/**
|
|
198
|
+
* The chain ('main' or 'test') which the wallet accesses.
|
|
199
|
+
*/
|
|
200
|
+
chain: sdk.Chain;
|
|
201
|
+
/**
|
|
202
|
+
* The `WalletStorageManager` that manages all the configured storage providers (active and backups)
|
|
203
|
+
* accessed by the wallet.
|
|
204
|
+
*/
|
|
205
|
+
storage: WalletStorageManager;
|
|
206
|
+
/**
|
|
207
|
+
* The network `Services` component which provides the wallet with access to external services hosted
|
|
208
|
+
* on the public network.
|
|
209
|
+
*/
|
|
210
|
+
services: Services;
|
|
211
|
+
/**
|
|
212
|
+
* The background task `Monitor` component available to the wallet to offload tasks
|
|
213
|
+
* that speed up wallet operations and maintain data integrity.
|
|
214
|
+
*/
|
|
215
|
+
monitor: Monitor;
|
|
216
|
+
/**
|
|
217
|
+
* The actual BRC-100 `Wallet` to which all the other properties and components contribute.
|
|
218
|
+
*
|
|
219
|
+
* Note that internally, the wallet is itself linked to all these properties and components.
|
|
220
|
+
* They are included in this interface to facilitate access after wallet construction for
|
|
221
|
+
* experimentation, testing and customization. Any changes made to the configuration of these
|
|
222
|
+
* components after construction may disrupt the normal operation of the wallet.
|
|
223
|
+
*/
|
|
224
|
+
wallet: Wallet;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Extension `SetupWalletClientArgs` of `SetupWalletArgs` is used by `createWalletClient`
|
|
228
|
+
* to construct a `SetupWalletClient`.
|
|
229
|
+
*/
|
|
230
|
+
export interface SetupWalletClientArgs extends SetupWalletArgs {
|
|
231
|
+
/**
|
|
232
|
+
* The endpoint URL of a service hosting the `StorageServer` JSON-RPC service to
|
|
233
|
+
* which a `StorageClient` instance should connect to function as
|
|
234
|
+
* the active storage provider of the newly created wallet.
|
|
235
|
+
*/
|
|
236
|
+
endpointUrl?: string;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Extension `SetupWalletClient` of `SetupWallet` is returned by `createWalletClient`
|
|
240
|
+
*/
|
|
241
|
+
export interface SetupWalletClient extends SetupWallet {
|
|
242
|
+
/**
|
|
243
|
+
* The endpoint URL of the service hosting the `StorageServer` JSON-RPC service to
|
|
244
|
+
* which a `StorageClient` instance is connected to function as
|
|
245
|
+
* the active storage provider of the wallet.
|
|
246
|
+
*/
|
|
247
|
+
endpointUrl: string;
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=SetupClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetupClient.d.ts","sourceRoot":"","sources":["../../src/SetupClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAEJ,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,aAAa,EAEb,UAAU,EACV,SAAS,EACT,eAAe,EAChB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,OAAO,EACP,GAAG,EACH,QAAQ,EAGR,MAAM,EACN,oBAAoB,EACrB,MAAM,gBAAgB,CAAA;AAEvB;;;;;;;;;GASG;AACH,8BAAsB,WAAW;IAC/B;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,OAAO;IASvC;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,IAAI,MAAM;IA+BxB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,QAAQ;IAuCzC;;;;;;;OAOG;WACU,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAgDtE;;OAEG;WACU,kBAAkB,CAC7B,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAgB7B;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,cAAc;IAS7D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAMnD;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,GAAG,CAAC,oBAAoB;IAY3B;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAChB,EAAE,GACF,kBAAkB,EAAE;IAgBvB;;OAEG;WACU,wBAAwB,CACnC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAChB,EAAE,EACH,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QACT,EAAE,EAAE,kBAAkB,CAAA;QACtB,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;KAChC,CAAC;IAwBF;;OAEG;WACU,4BAA4B,CACvC,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,IAAI;CAInB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,QAAQ,CAAA;IACb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC,qBAAqB,CAAA;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAA;CACtC;AAED;;;;;;GAMG;AACH,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;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB"}
|
|
@@ -0,0 +1,252 @@
|
|
|
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
|
+
/**
|
|
7
|
+
* The `SetupClient` class provides static setup functions to construct BRC-100 compatible
|
|
8
|
+
* wallets in a variety of configurations.
|
|
9
|
+
*
|
|
10
|
+
* It serves as a starting point for experimentation and customization.
|
|
11
|
+
*
|
|
12
|
+
* `SetupClient` references only browser compatible code including storage via `StorageClient`.
|
|
13
|
+
* `Setup` extends `SetupClient` adding database storage via `Knex` and `StorageKnex`.
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
class SetupClient {
|
|
17
|
+
/**
|
|
18
|
+
* @param chain
|
|
19
|
+
* @returns true if .env is not valid for chain
|
|
20
|
+
*/
|
|
21
|
+
static noEnv(chain) {
|
|
22
|
+
try {
|
|
23
|
+
SetupClient.getEnv(chain);
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
catch (_a) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates content for .env file with some private keys, identity keys, sample API keys, and sample MySQL connection string.
|
|
32
|
+
*
|
|
33
|
+
* Two new, random private keys are generated each time, with their associated public identity keys.
|
|
34
|
+
*
|
|
35
|
+
* Loading secrets from a .env file is intended only for experimentation and getting started.
|
|
36
|
+
* Private keys should never be included directly in your source code.
|
|
37
|
+
*
|
|
38
|
+
* @publicbody
|
|
39
|
+
*/
|
|
40
|
+
static makeEnv() {
|
|
41
|
+
const testPrivKey1 = sdk_1.PrivateKey.fromRandom();
|
|
42
|
+
const testIdentityKey1 = testPrivKey1.toPublicKey().toString();
|
|
43
|
+
const testPrivKey2 = sdk_1.PrivateKey.fromRandom();
|
|
44
|
+
const testIdentityKey2 = testPrivKey2.toPublicKey().toString();
|
|
45
|
+
const mainPrivKey1 = sdk_1.PrivateKey.fromRandom();
|
|
46
|
+
const mainIdentityKey1 = mainPrivKey1.toPublicKey().toString();
|
|
47
|
+
const mainPrivKey2 = sdk_1.PrivateKey.fromRandom();
|
|
48
|
+
const mainIdentityKey2 = mainPrivKey2.toPublicKey().toString();
|
|
49
|
+
const log = `
|
|
50
|
+
# .env file template for working with wallet-toolbox Setup functions.
|
|
51
|
+
MY_TEST_IDENTITY = '${testIdentityKey1}'
|
|
52
|
+
MY_TEST_IDENTITY2 = '${testIdentityKey2}'
|
|
53
|
+
MY_MAIN_IDENTITY = '${mainIdentityKey1}'
|
|
54
|
+
MY_MAIN_IDENTITY2 = '${mainIdentityKey2}'
|
|
55
|
+
MAIN_TAAL_API_KEY='mainnet_9596de07e92300c6287e4393594ae39c'
|
|
56
|
+
TEST_TAAL_API_KEY='testnet_0e6cf72133b43ea2d7861da2a38684e3'
|
|
57
|
+
MYSQL_CONNECTION='{"port":3306,"host":"127.0.0.1","user":"root","password":"<your_password>","database":"<your_database>", "timezone": "Z"}'
|
|
58
|
+
DEV_KEYS = '{
|
|
59
|
+
"${testIdentityKey1}": "${testPrivKey1.toString()}",
|
|
60
|
+
"${testIdentityKey2}": "${testPrivKey2.toString()}"
|
|
61
|
+
"${mainIdentityKey1}": "${mainPrivKey1.toString()}",
|
|
62
|
+
"${mainIdentityKey2}": "${mainPrivKey2.toString()}"
|
|
63
|
+
}'
|
|
64
|
+
`;
|
|
65
|
+
console.log(log);
|
|
66
|
+
return log;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Reads a .env file of the format created by `makeEnv`.
|
|
70
|
+
*
|
|
71
|
+
* Returns values for designated `chain`.
|
|
72
|
+
*
|
|
73
|
+
* Access private keys through the `devKeys` object: `devKeys[identityKey]`
|
|
74
|
+
*
|
|
75
|
+
* @param chain Which chain to use: 'test' or 'main'
|
|
76
|
+
* @returns {SetupEnv} with configuration environment secrets used by `Setup` functions.
|
|
77
|
+
*
|
|
78
|
+
* @publicbody
|
|
79
|
+
*/
|
|
80
|
+
static getEnv(chain) {
|
|
81
|
+
// Identity keys of the lead maintainer of this repo...
|
|
82
|
+
const identityKey = chain === 'main'
|
|
83
|
+
? process.env.MY_MAIN_IDENTITY
|
|
84
|
+
: process.env.MY_TEST_IDENTITY;
|
|
85
|
+
const identityKey2 = chain === 'main'
|
|
86
|
+
? process.env.MY_MAIN_IDENTITY2
|
|
87
|
+
: process.env.MY_TEST_IDENTITY2;
|
|
88
|
+
const filePath = chain === 'main'
|
|
89
|
+
? process.env.MY_MAIN_FILEPATH
|
|
90
|
+
: process.env.MY_TEST_FILEPATH;
|
|
91
|
+
const DEV_KEYS = process.env.DEV_KEYS || '{}';
|
|
92
|
+
const mySQLConnection = process.env.MYSQL_CONNECTION || '{}';
|
|
93
|
+
const taalApiKey = (0, index_client_1.verifyTruthy)(chain === 'main'
|
|
94
|
+
? process.env.MAIN_TAAL_API_KEY
|
|
95
|
+
: process.env.TEST_TAAL_API_KEY, `.env value for '${chain.toUpperCase()}_TAAL_API_KEY' is required.`);
|
|
96
|
+
if (!identityKey || !identityKey2)
|
|
97
|
+
throw new index_client_1.sdk.WERR_INVALID_OPERATION('.env is not a valid SetupEnv configuration.');
|
|
98
|
+
return {
|
|
99
|
+
chain,
|
|
100
|
+
identityKey,
|
|
101
|
+
identityKey2,
|
|
102
|
+
filePath,
|
|
103
|
+
taalApiKey,
|
|
104
|
+
devKeys: JSON.parse(DEV_KEYS),
|
|
105
|
+
mySQLConnection
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Create a `Wallet`. Storage can optionally be provided or configured later.
|
|
110
|
+
*
|
|
111
|
+
* The following components are configured: KeyDeriver, WalletStorageManager, WalletService, WalletStorage.
|
|
112
|
+
* Optionally, PrivilegedKeyManager is also configured.
|
|
113
|
+
*
|
|
114
|
+
* @publicbody
|
|
115
|
+
*/
|
|
116
|
+
static async createWallet(args) {
|
|
117
|
+
const chain = args.env.chain;
|
|
118
|
+
args.rootKeyHex || (args.rootKeyHex = args.env.devKeys[args.env.identityKey]);
|
|
119
|
+
const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
|
|
120
|
+
const identityKey = rootKey.toPublicKey().toString();
|
|
121
|
+
const keyDeriver = new sdk_1.KeyDeriver(rootKey);
|
|
122
|
+
const storage = new index_client_1.WalletStorageManager(identityKey, args.active, args.backups);
|
|
123
|
+
if (storage.stores.length > 0)
|
|
124
|
+
await storage.makeAvailable();
|
|
125
|
+
const serviceOptions = index_client_1.Services.createDefaultOptions(chain);
|
|
126
|
+
serviceOptions.taalApiKey = args.env.taalApiKey;
|
|
127
|
+
const services = new index_client_1.Services(chain);
|
|
128
|
+
const monopts = index_client_1.Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
|
|
129
|
+
const monitor = new index_client_1.Monitor(monopts);
|
|
130
|
+
monitor.addDefaultTasks();
|
|
131
|
+
let privilegedKeyManager = undefined;
|
|
132
|
+
if (args.privKeyHex) {
|
|
133
|
+
const privKey = sdk_1.PrivateKey.fromString(args.privKeyHex);
|
|
134
|
+
privilegedKeyManager = new index_client_1.sdk.PrivilegedKeyManager(async () => privKey);
|
|
135
|
+
}
|
|
136
|
+
const wallet = new index_client_1.Wallet({
|
|
137
|
+
chain,
|
|
138
|
+
keyDeriver,
|
|
139
|
+
storage,
|
|
140
|
+
services,
|
|
141
|
+
monitor,
|
|
142
|
+
privilegedKeyManager
|
|
143
|
+
});
|
|
144
|
+
const r = {
|
|
145
|
+
rootKey,
|
|
146
|
+
identityKey,
|
|
147
|
+
keyDeriver,
|
|
148
|
+
chain,
|
|
149
|
+
storage,
|
|
150
|
+
services,
|
|
151
|
+
monitor,
|
|
152
|
+
wallet
|
|
153
|
+
};
|
|
154
|
+
return r;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* @publicbody
|
|
158
|
+
*/
|
|
159
|
+
static async createWalletClient(args) {
|
|
160
|
+
const wo = await SetupClient.createWallet(args);
|
|
161
|
+
const endpointUrl = args.endpointUrl ||
|
|
162
|
+
`https://${args.env.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
|
|
163
|
+
const client = new index_client_1.StorageClient(wo.wallet, endpointUrl);
|
|
164
|
+
await wo.storage.addWalletStorageProvider(client);
|
|
165
|
+
await wo.storage.makeAvailable();
|
|
166
|
+
return {
|
|
167
|
+
...wo,
|
|
168
|
+
endpointUrl
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @publicbody
|
|
173
|
+
*/
|
|
174
|
+
static getKeyPair(priv) {
|
|
175
|
+
if (priv === undefined)
|
|
176
|
+
priv = sdk_1.PrivateKey.fromRandom();
|
|
177
|
+
else if (typeof priv === 'string')
|
|
178
|
+
priv = new sdk_1.PrivateKey(priv, 'hex');
|
|
179
|
+
const pub = sdk_1.PublicKey.fromPrivateKey(priv);
|
|
180
|
+
const address = pub.toAddress();
|
|
181
|
+
return { privateKey: priv, publicKey: pub, address };
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* @publicbody
|
|
185
|
+
*/
|
|
186
|
+
static getLockP2PKH(address) {
|
|
187
|
+
const p2pkh = new sdk_1.P2PKH();
|
|
188
|
+
const lock = p2pkh.lock(address);
|
|
189
|
+
return lock;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* @publicbody
|
|
193
|
+
*/
|
|
194
|
+
static getUnlockP2PKH(priv, satoshis) {
|
|
195
|
+
const p2pkh = new sdk_1.P2PKH();
|
|
196
|
+
const lock = SetupClient.getLockP2PKH(SetupClient.getKeyPair(priv).address);
|
|
197
|
+
// Prepare to pay with SIGHASH_ALL and without ANYONE_CAN_PAY.
|
|
198
|
+
// In otherwords:
|
|
199
|
+
// - all outputs must remain in the current order, amount and locking scripts.
|
|
200
|
+
// - all inputs must remain from the current outpoints and sequence numbers.
|
|
201
|
+
// (unlock scripts are never signed)
|
|
202
|
+
const unlock = p2pkh.unlock(priv, 'all', false, satoshis, lock);
|
|
203
|
+
return unlock;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* @publicbody
|
|
207
|
+
*/
|
|
208
|
+
static createP2PKHOutputs(outputs) {
|
|
209
|
+
const os = [];
|
|
210
|
+
const count = outputs.length;
|
|
211
|
+
for (let i = 0; i < count; i++) {
|
|
212
|
+
const o = outputs[i];
|
|
213
|
+
os.push({
|
|
214
|
+
basket: o.basket,
|
|
215
|
+
tags: o.tags,
|
|
216
|
+
satoshis: o.satoshis,
|
|
217
|
+
lockingScript: SetupClient.getLockP2PKH(o.address).toHex(),
|
|
218
|
+
outputDescription: o.outputDescription || `p2pkh ${i}`
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
return os;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* @publicbody
|
|
225
|
+
*/
|
|
226
|
+
static async createP2PKHOutputsAction(wallet, outputs, options) {
|
|
227
|
+
const os = SetupClient.createP2PKHOutputs(outputs);
|
|
228
|
+
const createArgs = {
|
|
229
|
+
description: `createP2PKHOutputs`,
|
|
230
|
+
outputs: os,
|
|
231
|
+
options: {
|
|
232
|
+
...options,
|
|
233
|
+
// Don't randomize so we can simplify outpoint creation
|
|
234
|
+
randomizeOutputs: false
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
const cr = await wallet.createAction(createArgs);
|
|
238
|
+
let outpoints;
|
|
239
|
+
if (cr.txid) {
|
|
240
|
+
outpoints = os.map((o, i) => `${cr.txid}.${i}`);
|
|
241
|
+
}
|
|
242
|
+
return { cr, outpoints };
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* @publicbody
|
|
246
|
+
*/
|
|
247
|
+
static async fundWalletFromP2PKHOutpoints(wallet, outpoints, p2pkhKey, inputBEEF) {
|
|
248
|
+
// TODO
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
exports.SetupClient = SetupClient;
|
|
252
|
+
//# sourceMappingURL=SetupClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetupClient.js","sourceRoot":"","sources":["../../src/SetupClient.ts"],"names":[],"mappings":"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"}
|