@bsv/wallet-toolbox 1.1.23 → 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 +2404 -870
- package/docs/setup.md +102 -134
- package/docs/wallet.md +2404 -870
- 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/Setup.d.ts +252 -8
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +299 -5
- package/out/src/Setup.js.map +1 -1
- package/out/src/SetupClient.d.ts +2 -16
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +8 -72
- package/out/src/SetupClient.js.map +1 -1
- 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 -1
- package/out/src/index.all.d.ts.map +1 -1
- package/out/src/index.all.js +10 -3
- package/out/src/index.all.js.map +1 -1
- package/out/src/index.client.d.ts +9 -1
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +10 -3
- 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/Setup.ts +514 -8
- 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 -9
- package/src/index.client.ts +9 -1
- 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/src/SetupClient.ts +0 -532
- /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
package/out/src/Setup.js
CHANGED
|
@@ -1,20 +1,314 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.Setup = void 0;
|
|
37
|
+
const sdk_1 = require("@bsv/sdk");
|
|
4
38
|
const index_client_1 = require("./index.client");
|
|
5
39
|
const knex_1 = require("knex");
|
|
6
40
|
const index_all_1 = require("./index.all");
|
|
41
|
+
const dotenv = __importStar(require("dotenv"));
|
|
42
|
+
dotenv.config();
|
|
7
43
|
/**
|
|
8
44
|
* The 'Setup` class provides static setup functions to construct BRC-100 compatible
|
|
9
45
|
* wallets in a variety of configurations.
|
|
10
46
|
*
|
|
11
47
|
* It serves as a starting point for experimentation and customization.
|
|
12
|
-
*
|
|
13
|
-
* `SetupClient` references only browser compatible code including storage via `StorageClient`.
|
|
14
|
-
* `Setup` extends `SetupClient` adding database storage via `Knex` and `StorageKnex`.
|
|
15
|
-
*
|
|
16
48
|
*/
|
|
17
|
-
class Setup
|
|
49
|
+
class Setup {
|
|
50
|
+
/**
|
|
51
|
+
* @param chain
|
|
52
|
+
* @returns true if .env is not valid for chain
|
|
53
|
+
*/
|
|
54
|
+
static noEnv(chain) {
|
|
55
|
+
try {
|
|
56
|
+
Setup.getEnv(chain);
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
catch (_a) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Creates content for .env file with some private keys, identity keys, sample API keys, and sample MySQL connection string.
|
|
65
|
+
*
|
|
66
|
+
* Two new, random private keys are generated each time, with their associated public identity keys.
|
|
67
|
+
*
|
|
68
|
+
* Loading secrets from a .env file is intended only for experimentation and getting started.
|
|
69
|
+
* Private keys should never be included directly in your source code.
|
|
70
|
+
*
|
|
71
|
+
* @publicbody
|
|
72
|
+
*/
|
|
73
|
+
static makeEnv() {
|
|
74
|
+
const testPrivKey1 = sdk_1.PrivateKey.fromRandom();
|
|
75
|
+
const testIdentityKey1 = testPrivKey1.toPublicKey().toString();
|
|
76
|
+
const testPrivKey2 = sdk_1.PrivateKey.fromRandom();
|
|
77
|
+
const testIdentityKey2 = testPrivKey2.toPublicKey().toString();
|
|
78
|
+
const mainPrivKey1 = sdk_1.PrivateKey.fromRandom();
|
|
79
|
+
const mainIdentityKey1 = mainPrivKey1.toPublicKey().toString();
|
|
80
|
+
const mainPrivKey2 = sdk_1.PrivateKey.fromRandom();
|
|
81
|
+
const mainIdentityKey2 = mainPrivKey2.toPublicKey().toString();
|
|
82
|
+
const log = `
|
|
83
|
+
# .env file template for working with wallet-toolbox Setup functions.
|
|
84
|
+
MY_TEST_IDENTITY = '${testIdentityKey1}'
|
|
85
|
+
MY_TEST_IDENTITY2 = '${testIdentityKey2}'
|
|
86
|
+
MY_MAIN_IDENTITY = '${mainIdentityKey1}'
|
|
87
|
+
MY_MAIN_IDENTITY2 = '${mainIdentityKey2}'
|
|
88
|
+
MAIN_TAAL_API_KEY='mainnet_9596de07e92300c6287e4393594ae39c'
|
|
89
|
+
TEST_TAAL_API_KEY='testnet_0e6cf72133b43ea2d7861da2a38684e3'
|
|
90
|
+
MYSQL_CONNECTION='{"port":3306,"host":"127.0.0.1","user":"root","password":"your_password","database":"your_database", "timezone": "Z"}'
|
|
91
|
+
DEV_KEYS = '{
|
|
92
|
+
"${testIdentityKey1}": "${testPrivKey1.toString()}",
|
|
93
|
+
"${testIdentityKey2}": "${testPrivKey2.toString()}",
|
|
94
|
+
"${mainIdentityKey1}": "${mainPrivKey1.toString()}",
|
|
95
|
+
"${mainIdentityKey2}": "${mainPrivKey2.toString()}"
|
|
96
|
+
}'
|
|
97
|
+
`;
|
|
98
|
+
console.log(log);
|
|
99
|
+
return log;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Reads a .env file of the format created by `makeEnv`.
|
|
103
|
+
*
|
|
104
|
+
* Returns values for designated `chain`.
|
|
105
|
+
*
|
|
106
|
+
* Access private keys through the `devKeys` object: `devKeys[identityKey]`
|
|
107
|
+
*
|
|
108
|
+
* @param chain Which chain to use: 'test' or 'main'
|
|
109
|
+
* @returns {SetupEnv} with configuration environment secrets used by `Setup` functions.
|
|
110
|
+
*
|
|
111
|
+
* @publicbody
|
|
112
|
+
*/
|
|
113
|
+
static getEnv(chain) {
|
|
114
|
+
// Identity keys of the lead maintainer of this repo...
|
|
115
|
+
const identityKey = chain === 'main'
|
|
116
|
+
? process.env.MY_MAIN_IDENTITY
|
|
117
|
+
: process.env.MY_TEST_IDENTITY;
|
|
118
|
+
const identityKey2 = chain === 'main'
|
|
119
|
+
? process.env.MY_MAIN_IDENTITY2
|
|
120
|
+
: process.env.MY_TEST_IDENTITY2;
|
|
121
|
+
const filePath = chain === 'main'
|
|
122
|
+
? process.env.MY_MAIN_FILEPATH
|
|
123
|
+
: process.env.MY_TEST_FILEPATH;
|
|
124
|
+
const DEV_KEYS = process.env.DEV_KEYS || '{}';
|
|
125
|
+
const mySQLConnection = process.env.MYSQL_CONNECTION || '{}';
|
|
126
|
+
const taalApiKey = (0, index_client_1.verifyTruthy)(chain === 'main'
|
|
127
|
+
? process.env.MAIN_TAAL_API_KEY
|
|
128
|
+
: process.env.TEST_TAAL_API_KEY, `.env value for '${chain.toUpperCase()}_TAAL_API_KEY' is required.`);
|
|
129
|
+
if (!identityKey || !identityKey2)
|
|
130
|
+
throw new index_client_1.sdk.WERR_INVALID_OPERATION('.env is not a valid SetupEnv configuration.');
|
|
131
|
+
return {
|
|
132
|
+
chain,
|
|
133
|
+
identityKey,
|
|
134
|
+
identityKey2,
|
|
135
|
+
filePath,
|
|
136
|
+
taalApiKey,
|
|
137
|
+
devKeys: JSON.parse(DEV_KEYS),
|
|
138
|
+
mySQLConnection
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Create a `Wallet`. Storage can optionally be provided or configured later.
|
|
143
|
+
*
|
|
144
|
+
* The following components are configured: KeyDeriver, WalletStorageManager, WalletService, WalletStorage.
|
|
145
|
+
* Optionally, PrivilegedKeyManager is also configured.
|
|
146
|
+
*
|
|
147
|
+
* @publicbody
|
|
148
|
+
*/
|
|
149
|
+
static async createWallet(args) {
|
|
150
|
+
const chain = args.env.chain;
|
|
151
|
+
args.rootKeyHex || (args.rootKeyHex = args.env.devKeys[args.env.identityKey]);
|
|
152
|
+
const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
|
|
153
|
+
const identityKey = rootKey.toPublicKey().toString();
|
|
154
|
+
const keyDeriver = new sdk_1.KeyDeriver(rootKey);
|
|
155
|
+
const storage = new index_client_1.WalletStorageManager(identityKey, args.active, args.backups);
|
|
156
|
+
if (storage.stores.length > 0)
|
|
157
|
+
await storage.makeAvailable();
|
|
158
|
+
const serviceOptions = index_client_1.Services.createDefaultOptions(chain);
|
|
159
|
+
serviceOptions.taalApiKey = args.env.taalApiKey;
|
|
160
|
+
const services = new index_client_1.Services(serviceOptions);
|
|
161
|
+
const monopts = index_client_1.Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
|
|
162
|
+
const monitor = new index_client_1.Monitor(monopts);
|
|
163
|
+
monitor.addDefaultTasks();
|
|
164
|
+
const privilegedKeyManager = args.privilegedKeyGetter
|
|
165
|
+
? new index_client_1.sdk.PrivilegedKeyManager(args.privilegedKeyGetter)
|
|
166
|
+
: undefined;
|
|
167
|
+
const wallet = new index_client_1.Wallet({
|
|
168
|
+
chain,
|
|
169
|
+
keyDeriver,
|
|
170
|
+
storage,
|
|
171
|
+
services,
|
|
172
|
+
monitor,
|
|
173
|
+
privilegedKeyManager
|
|
174
|
+
});
|
|
175
|
+
const r = {
|
|
176
|
+
rootKey,
|
|
177
|
+
identityKey,
|
|
178
|
+
keyDeriver,
|
|
179
|
+
chain,
|
|
180
|
+
storage,
|
|
181
|
+
services,
|
|
182
|
+
monitor,
|
|
183
|
+
wallet
|
|
184
|
+
};
|
|
185
|
+
return r;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Setup a new `Wallet` without requiring a .env file.
|
|
189
|
+
*
|
|
190
|
+
* @param args.chain - 'main' or 'test'
|
|
191
|
+
* @param args.rootKeyHex - Root private key for wallet's key deriver.
|
|
192
|
+
* @param args.storageUrl - Optional. `StorageClient` and `chain` compatible endpoint URL.
|
|
193
|
+
* @param args.privilegedKeyGetter - Optional. Method that will return the privileged `PrivateKey`, on demand.
|
|
194
|
+
*/
|
|
195
|
+
static async createWalletClientNoEnv(args) {
|
|
196
|
+
const chain = args.chain;
|
|
197
|
+
const endpointUrl = args.storageUrl ||
|
|
198
|
+
`https://${args.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
|
|
199
|
+
const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
|
|
200
|
+
const keyDeriver = new sdk_1.KeyDeriver(rootKey);
|
|
201
|
+
const storage = new index_client_1.WalletStorageManager(keyDeriver.identityKey);
|
|
202
|
+
const services = new index_client_1.Services(chain);
|
|
203
|
+
const privilegedKeyManager = args.privilegedKeyGetter
|
|
204
|
+
? new index_client_1.sdk.PrivilegedKeyManager(args.privilegedKeyGetter)
|
|
205
|
+
: undefined;
|
|
206
|
+
const wallet = new index_client_1.Wallet({
|
|
207
|
+
chain,
|
|
208
|
+
keyDeriver,
|
|
209
|
+
storage,
|
|
210
|
+
services,
|
|
211
|
+
privilegedKeyManager
|
|
212
|
+
});
|
|
213
|
+
const client = new index_client_1.StorageClient(wallet, endpointUrl);
|
|
214
|
+
await storage.addWalletStorageProvider(client);
|
|
215
|
+
await storage.makeAvailable();
|
|
216
|
+
return wallet;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* @publicbody
|
|
220
|
+
*/
|
|
221
|
+
static async createWalletClient(args) {
|
|
222
|
+
const wo = await Setup.createWallet(args);
|
|
223
|
+
const endpointUrl = args.endpointUrl ||
|
|
224
|
+
`https://${args.env.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
|
|
225
|
+
const client = new index_client_1.StorageClient(wo.wallet, endpointUrl);
|
|
226
|
+
await wo.storage.addWalletStorageProvider(client);
|
|
227
|
+
await wo.storage.makeAvailable();
|
|
228
|
+
return {
|
|
229
|
+
...wo,
|
|
230
|
+
endpointUrl
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* @publicbody
|
|
235
|
+
*/
|
|
236
|
+
static getKeyPair(priv) {
|
|
237
|
+
if (priv === undefined)
|
|
238
|
+
priv = sdk_1.PrivateKey.fromRandom();
|
|
239
|
+
else if (typeof priv === 'string')
|
|
240
|
+
priv = new sdk_1.PrivateKey(priv, 'hex');
|
|
241
|
+
const pub = sdk_1.PublicKey.fromPrivateKey(priv);
|
|
242
|
+
const address = pub.toAddress();
|
|
243
|
+
return { privateKey: priv, publicKey: pub, address };
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* @publicbody
|
|
247
|
+
*/
|
|
248
|
+
static getLockP2PKH(address) {
|
|
249
|
+
const p2pkh = new sdk_1.P2PKH();
|
|
250
|
+
const lock = p2pkh.lock(address);
|
|
251
|
+
return lock;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* @publicbody
|
|
255
|
+
*/
|
|
256
|
+
static getUnlockP2PKH(priv, satoshis) {
|
|
257
|
+
const p2pkh = new sdk_1.P2PKH();
|
|
258
|
+
const lock = Setup.getLockP2PKH(Setup.getKeyPair(priv).address);
|
|
259
|
+
// Prepare to pay with SIGHASH_ALL and without ANYONE_CAN_PAY.
|
|
260
|
+
// In otherwords:
|
|
261
|
+
// - all outputs must remain in the current order, amount and locking scripts.
|
|
262
|
+
// - all inputs must remain from the current outpoints and sequence numbers.
|
|
263
|
+
// (unlock scripts are never signed)
|
|
264
|
+
const unlock = p2pkh.unlock(priv, 'all', false, satoshis, lock);
|
|
265
|
+
return unlock;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* @publicbody
|
|
269
|
+
*/
|
|
270
|
+
static createP2PKHOutputs(outputs) {
|
|
271
|
+
const os = [];
|
|
272
|
+
const count = outputs.length;
|
|
273
|
+
for (let i = 0; i < count; i++) {
|
|
274
|
+
const o = outputs[i];
|
|
275
|
+
os.push({
|
|
276
|
+
basket: o.basket,
|
|
277
|
+
tags: o.tags,
|
|
278
|
+
satoshis: o.satoshis,
|
|
279
|
+
lockingScript: Setup.getLockP2PKH(o.address).toHex(),
|
|
280
|
+
outputDescription: o.outputDescription || `p2pkh ${i}`
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
return os;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* @publicbody
|
|
287
|
+
*/
|
|
288
|
+
static async createP2PKHOutputsAction(wallet, outputs, options) {
|
|
289
|
+
const os = Setup.createP2PKHOutputs(outputs);
|
|
290
|
+
const createArgs = {
|
|
291
|
+
description: `createP2PKHOutputs`,
|
|
292
|
+
outputs: os,
|
|
293
|
+
options: {
|
|
294
|
+
...options,
|
|
295
|
+
// Don't randomize so we can simplify outpoint creation
|
|
296
|
+
randomizeOutputs: false
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
const cr = await wallet.createAction(createArgs);
|
|
300
|
+
let outpoints;
|
|
301
|
+
if (cr.txid) {
|
|
302
|
+
outpoints = os.map((o, i) => `${cr.txid}.${i}`);
|
|
303
|
+
}
|
|
304
|
+
return { cr, outpoints };
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @publicbody
|
|
308
|
+
*/
|
|
309
|
+
static async fundWalletFromP2PKHOutpoints(wallet, outpoints, p2pkhKey, inputBEEF) {
|
|
310
|
+
// TODO
|
|
311
|
+
}
|
|
18
312
|
/**
|
|
19
313
|
* Adds `Knex` based storage to a `Wallet` configured by `Setup.createWalletOnly`
|
|
20
314
|
*
|
package/out/src/Setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../src/Setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../src/Setup.ts"],"names":[],"mappings":"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"}
|
package/out/src/SetupClient.d.ts
CHANGED
|
@@ -49,20 +49,6 @@ export declare abstract class SetupClient {
|
|
|
49
49
|
* @publicbody
|
|
50
50
|
*/
|
|
51
51
|
static createWallet(args: SetupWalletArgs): Promise<SetupWallet>;
|
|
52
|
-
/**
|
|
53
|
-
* Setup a new `Wallet` without requiring a .env file.
|
|
54
|
-
*
|
|
55
|
-
* @param args.chain - 'main' or 'test'
|
|
56
|
-
* @param args.rootKeyHex - Root private key for wallet's key deriver.
|
|
57
|
-
* @param args.storageUrl - Optional. `StorageClient` and `chain` compatible endpoint URL.
|
|
58
|
-
* @param args.privilegedKeyGetter - Optional. Method that will return the privileged `PrivateKey`, on demand.
|
|
59
|
-
*/
|
|
60
|
-
static createWalletClientNoEnv(args: {
|
|
61
|
-
chain: sdk.Chain;
|
|
62
|
-
rootKeyHex: string;
|
|
63
|
-
storageUrl?: string;
|
|
64
|
-
privilegedKeyGetter?: () => Promise<PrivateKey>;
|
|
65
|
-
}): Promise<Wallet>;
|
|
66
52
|
/**
|
|
67
53
|
* @publicbody
|
|
68
54
|
*/
|
|
@@ -175,10 +161,10 @@ export interface SetupWalletArgs {
|
|
|
175
161
|
*/
|
|
176
162
|
rootKeyHex?: string;
|
|
177
163
|
/**
|
|
178
|
-
* Optional. The privileged private key
|
|
164
|
+
* Optional. The privileged private key used to initialize the `PrivilegedKeyManager`.
|
|
179
165
|
* Defaults to undefined.
|
|
180
166
|
*/
|
|
181
|
-
|
|
167
|
+
privKeyHex?: string;
|
|
182
168
|
/**
|
|
183
169
|
* Optional. Active wallet storage. Can be added later.
|
|
184
170
|
*/
|
|
@@ -1 +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;
|
|
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"}
|
package/out/src/SetupClient.js
CHANGED
|
@@ -1,43 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.SetupClient = void 0;
|
|
37
4
|
const sdk_1 = require("@bsv/sdk");
|
|
38
5
|
const index_client_1 = require("./index.client");
|
|
39
|
-
const dotenv = __importStar(require("dotenv"));
|
|
40
|
-
dotenv.config();
|
|
41
6
|
/**
|
|
42
7
|
* The `SetupClient` class provides static setup functions to construct BRC-100 compatible
|
|
43
8
|
* wallets in a variety of configurations.
|
|
@@ -89,10 +54,10 @@ MY_MAIN_IDENTITY = '${mainIdentityKey1}'
|
|
|
89
54
|
MY_MAIN_IDENTITY2 = '${mainIdentityKey2}'
|
|
90
55
|
MAIN_TAAL_API_KEY='mainnet_9596de07e92300c6287e4393594ae39c'
|
|
91
56
|
TEST_TAAL_API_KEY='testnet_0e6cf72133b43ea2d7861da2a38684e3'
|
|
92
|
-
MYSQL_CONNECTION='{"port":3306,"host":"127.0.0.1","user":"root","password":"your_password","database":"your_database", "timezone": "Z"}'
|
|
57
|
+
MYSQL_CONNECTION='{"port":3306,"host":"127.0.0.1","user":"root","password":"<your_password>","database":"<your_database>", "timezone": "Z"}'
|
|
93
58
|
DEV_KEYS = '{
|
|
94
59
|
"${testIdentityKey1}": "${testPrivKey1.toString()}",
|
|
95
|
-
"${testIdentityKey2}": "${testPrivKey2.toString()}"
|
|
60
|
+
"${testIdentityKey2}": "${testPrivKey2.toString()}"
|
|
96
61
|
"${mainIdentityKey1}": "${mainPrivKey1.toString()}",
|
|
97
62
|
"${mainIdentityKey2}": "${mainPrivKey2.toString()}"
|
|
98
63
|
}'
|
|
@@ -159,13 +124,15 @@ DEV_KEYS = '{
|
|
|
159
124
|
await storage.makeAvailable();
|
|
160
125
|
const serviceOptions = index_client_1.Services.createDefaultOptions(chain);
|
|
161
126
|
serviceOptions.taalApiKey = args.env.taalApiKey;
|
|
162
|
-
const services = new index_client_1.Services(
|
|
127
|
+
const services = new index_client_1.Services(chain);
|
|
163
128
|
const monopts = index_client_1.Monitor.createDefaultWalletMonitorOptions(chain, storage, services);
|
|
164
129
|
const monitor = new index_client_1.Monitor(monopts);
|
|
165
130
|
monitor.addDefaultTasks();
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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
|
+
}
|
|
169
136
|
const wallet = new index_client_1.Wallet({
|
|
170
137
|
chain,
|
|
171
138
|
keyDeriver,
|
|
@@ -186,37 +153,6 @@ DEV_KEYS = '{
|
|
|
186
153
|
};
|
|
187
154
|
return r;
|
|
188
155
|
}
|
|
189
|
-
/**
|
|
190
|
-
* Setup a new `Wallet` without requiring a .env file.
|
|
191
|
-
*
|
|
192
|
-
* @param args.chain - 'main' or 'test'
|
|
193
|
-
* @param args.rootKeyHex - Root private key for wallet's key deriver.
|
|
194
|
-
* @param args.storageUrl - Optional. `StorageClient` and `chain` compatible endpoint URL.
|
|
195
|
-
* @param args.privilegedKeyGetter - Optional. Method that will return the privileged `PrivateKey`, on demand.
|
|
196
|
-
*/
|
|
197
|
-
static async createWalletClientNoEnv(args) {
|
|
198
|
-
const chain = args.chain;
|
|
199
|
-
const endpointUrl = args.storageUrl ||
|
|
200
|
-
`https://${args.chain !== 'main' ? 'staging-' : ''}storage.babbage.systems`;
|
|
201
|
-
const rootKey = sdk_1.PrivateKey.fromHex(args.rootKeyHex);
|
|
202
|
-
const keyDeriver = new sdk_1.KeyDeriver(rootKey);
|
|
203
|
-
const storage = new index_client_1.WalletStorageManager(keyDeriver.identityKey);
|
|
204
|
-
const services = new index_client_1.Services(chain);
|
|
205
|
-
const privilegedKeyManager = args.privilegedKeyGetter
|
|
206
|
-
? new index_client_1.sdk.PrivilegedKeyManager(args.privilegedKeyGetter)
|
|
207
|
-
: undefined;
|
|
208
|
-
const wallet = new index_client_1.Wallet({
|
|
209
|
-
chain,
|
|
210
|
-
keyDeriver,
|
|
211
|
-
storage,
|
|
212
|
-
services,
|
|
213
|
-
privilegedKeyManager
|
|
214
|
-
});
|
|
215
|
-
const client = new index_client_1.StorageClient(wallet, endpointUrl);
|
|
216
|
-
await storage.addWalletStorageProvider(client);
|
|
217
|
-
await storage.makeAvailable();
|
|
218
|
-
return wallet;
|
|
219
|
-
}
|
|
220
156
|
/**
|
|
221
157
|
* @publicbody
|
|
222
158
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetupClient.js","sourceRoot":"","sources":["../../src/SetupClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SetupClient.js","sourceRoot":"","sources":["../../src/SetupClient.ts"],"names":[],"mappings":"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"}
|