@did-btcr2/cli 0.25.1 → 0.26.0
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/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/index.js +47 -37
- package/dist/esm/bin/btcr2.js +10 -1
- package/dist/esm/bin/btcr2.js.map +1 -1
- package/dist/esm/src/commands/config.js +1 -1
- package/dist/esm/src/commands/config.js.map +1 -1
- package/dist/esm/src/commands/quickstart.js +2 -2
- package/dist/esm/src/commands/quickstart.js.map +1 -1
- package/dist/esm/src/config.js +50 -46
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/keystore/envelope.js +17 -2
- package/dist/esm/src/keystore/envelope.js.map +1 -1
- package/dist/esm/src/keystore/file-key-store.js +7 -3
- package/dist/esm/src/keystore/file-key-store.js.map +1 -1
- package/dist/types/src/config.d.ts +10 -7
- package/dist/types/src/config.d.ts.map +1 -1
- package/dist/types/src/keystore/envelope.d.ts +6 -0
- package/dist/types/src/keystore/envelope.d.ts.map +1 -1
- package/dist/types/src/keystore/file-key-store.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/commands/config.ts +1 -1
- package/src/commands/quickstart.ts +2 -2
- package/src/config.ts +52 -51
- package/src/keystore/envelope.ts +18 -2
- package/src/keystore/file-key-store.ts +6 -3
package/dist/cjs/index.js
CHANGED
|
@@ -179,9 +179,9 @@ var import_base2 = require("@scure/base");
|
|
|
179
179
|
|
|
180
180
|
// src/keystore/envelope.ts
|
|
181
181
|
var import_chacha = require("@noble/ciphers/chacha.js");
|
|
182
|
-
var import_argon2 = require("@noble/hashes/argon2.js");
|
|
183
182
|
var import_utils = require("@noble/hashes/utils.js");
|
|
184
183
|
var import_base = require("@scure/base");
|
|
184
|
+
var import_node_crypto = require("crypto");
|
|
185
185
|
var ENVELOPE_VERSION = 1;
|
|
186
186
|
var SALT_BYTES = 16;
|
|
187
187
|
var NONCE_BYTES = 24;
|
|
@@ -204,10 +204,20 @@ function buildHeader(saltB64, params) {
|
|
|
204
204
|
function headerAad(header) {
|
|
205
205
|
return (0, import_utils.utf8ToBytes)(JSON.stringify(header));
|
|
206
206
|
}
|
|
207
|
+
function argon2idKey(password, salt, params) {
|
|
208
|
+
return (0, import_node_crypto.argon2Sync)("argon2id", {
|
|
209
|
+
message: password,
|
|
210
|
+
nonce: salt,
|
|
211
|
+
parallelism: params.p,
|
|
212
|
+
tagLength: params.dkLen,
|
|
213
|
+
memory: params.m,
|
|
214
|
+
passes: params.t
|
|
215
|
+
});
|
|
216
|
+
}
|
|
207
217
|
function deriveKey(passphrase, salt, params) {
|
|
208
218
|
const password = (0, import_utils.utf8ToBytes)(passphrase);
|
|
209
219
|
try {
|
|
210
|
-
return (
|
|
220
|
+
return argon2idKey(password, salt, params);
|
|
211
221
|
} finally {
|
|
212
222
|
password.fill(0);
|
|
213
223
|
}
|
|
@@ -693,7 +703,7 @@ var FileKeyStore = class {
|
|
|
693
703
|
{ path: this.#path }
|
|
694
704
|
);
|
|
695
705
|
}
|
|
696
|
-
this.#assertPassphrase(passphrase);
|
|
706
|
+
if (verifierAtSeal === void 0) this.#assertPassphrase(passphrase);
|
|
697
707
|
}
|
|
698
708
|
}
|
|
699
709
|
this.#cache.set(id, {
|
|
@@ -1591,48 +1601,48 @@ function resolveEffectiveConfig(network, overrides) {
|
|
|
1591
1601
|
};
|
|
1592
1602
|
}
|
|
1593
1603
|
var DOCTOR_PROBE_TIMEOUT_MS = 5e3;
|
|
1594
|
-
|
|
1604
|
+
var CHAIN_MARKER = {
|
|
1605
|
+
bitcoin: { height: 0, hash: "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f" },
|
|
1606
|
+
testnet3: { height: 0, hash: "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943" },
|
|
1607
|
+
testnet4: { height: 0, hash: "00000000da84f2bafbbc53dee25a72ae507ff4914b867c565be350b0da8bf043" },
|
|
1608
|
+
signet: { height: 1, hash: "00000086d6b2636cb2a392d45edc4ec544a10024d30141c9adf4bfd9de533b53" },
|
|
1609
|
+
mutinynet: { height: 1, hash: "000002855893a0a9b24eaffc5efc770558a326fee4fc10c9da22fc19cd2954f9" },
|
|
1610
|
+
regtest: { height: 0, hash: "0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206" }
|
|
1611
|
+
};
|
|
1612
|
+
async function runCheck(endpoint, target, check) {
|
|
1595
1613
|
try {
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
headers: opts?.headers,
|
|
1599
|
-
signal: AbortSignal.timeout(DOCTOR_PROBE_TIMEOUT_MS)
|
|
1600
|
-
});
|
|
1601
|
-
return res.ok ? { endpoint, target, ok: true } : { endpoint, target, ok: false, detail: `HTTP ${res.status}` };
|
|
1614
|
+
await check();
|
|
1615
|
+
return { endpoint, target, ok: true };
|
|
1602
1616
|
} catch (error) {
|
|
1603
1617
|
return { endpoint, target, ok: false, detail: error.message };
|
|
1604
1618
|
}
|
|
1605
1619
|
}
|
|
1606
|
-
function
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
});
|
|
1611
|
-
return Promise.race([promise, timeout]).finally(() => clearTimeout(timer));
|
|
1620
|
+
function assertChainMarker(network, hash) {
|
|
1621
|
+
const marker = CHAIN_MARKER[network];
|
|
1622
|
+
if (hash === marker.hash) return;
|
|
1623
|
+
const got = (typeof hash === "string" ? hash : JSON.stringify(hash) ?? String(hash)).slice(0, 80);
|
|
1624
|
+
throw new Error(`block ${marker.height} is ${got}, not the ${network} block ${marker.hash}: the endpoint serves another chain`);
|
|
1612
1625
|
}
|
|
1613
1626
|
async function runDoctor(network, overrides) {
|
|
1614
|
-
const
|
|
1627
|
+
const conn = resolveConnectionConfig(network, overrides);
|
|
1628
|
+
const api = (0, import_api.createApi)({
|
|
1629
|
+
btc: { ...conn.btc, network, timeoutMs: DOCTOR_PROBE_TIMEOUT_MS },
|
|
1630
|
+
cas: { ...conn.cas ?? { gateway: import_api.DEFAULT_CAS_GATEWAY }, timeoutMs: DOCTOR_PROBE_TIMEOUT_MS }
|
|
1631
|
+
});
|
|
1632
|
+
const height = CHAIN_MARKER[network].height;
|
|
1615
1633
|
const checks = [];
|
|
1616
|
-
const
|
|
1617
|
-
checks.push(await
|
|
1634
|
+
const rest = api.btc.connection.rest;
|
|
1635
|
+
checks.push(await runCheck("btc-rest", rest.config.host.replace(/\/+$/, ""), async () => {
|
|
1636
|
+
assertChainMarker(network, await rest.block.getHash(height));
|
|
1637
|
+
}));
|
|
1618
1638
|
const rpc = api.btc.connection.rpc;
|
|
1619
1639
|
if (rpc) {
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
checks.push({ endpoint: "btc-rpc", target, ok: true });
|
|
1624
|
-
} catch (error) {
|
|
1625
|
-
checks.push({ endpoint: "btc-rpc", target, ok: false, detail: error.message });
|
|
1626
|
-
}
|
|
1627
|
-
}
|
|
1628
|
-
const conn = resolveConnectionConfig(network, overrides);
|
|
1629
|
-
if (conn.cas?.rpcUrl) {
|
|
1630
|
-
const base = conn.cas.rpcUrl.replace(/\/+$/, "");
|
|
1631
|
-
checks.push(await probeEndpoint("cas", conn.cas.rpcUrl, `${base}/api/v0/version`, { method: "POST" }));
|
|
1632
|
-
} else {
|
|
1633
|
-
const gateway = (conn.cas?.gateway ?? import_api.DEFAULT_CAS_GATEWAY).replace(/\/+$/, "");
|
|
1634
|
-
checks.push(await probeEndpoint("cas", gateway, gateway));
|
|
1640
|
+
checks.push(await runCheck("btc-rpc", rpc.config.host ?? "(default rpc)", async () => {
|
|
1641
|
+
assertChainMarker(network, await rpc.getBlockHash(height));
|
|
1642
|
+
}));
|
|
1635
1643
|
}
|
|
1644
|
+
const casTarget = (conn.cas?.rpcUrl ?? conn.cas?.gateway ?? import_api.DEFAULT_CAS_GATEWAY).replace(/\/+$/, "");
|
|
1645
|
+
checks.push(await runCheck("cas", casTarget, () => api.cas.probe()));
|
|
1636
1646
|
const mismatch = profileNetworkMismatch(network, overrides);
|
|
1637
1647
|
return {
|
|
1638
1648
|
checks,
|
|
@@ -1987,7 +1997,7 @@ function registerQuickstartCommand(program, globals) {
|
|
|
1987
1997
|
program.command("quickstart").description("One-command onboarding: create the home + config + keystore, record the network, and (optionally) cache the session and probe endpoints.").option(
|
|
1988
1998
|
"-n, --network <network>",
|
|
1989
1999
|
"Bitcoin network to set up <bitcoin|testnet3|testnet4|signet|mutinynet|regtest> (default: mutinynet)"
|
|
1990
|
-
).option("--dev", "Establish an UNENCRYPTED dev keystore: plaintext keys, no passphrase. Testnet only.", false).option("--unlock", "Cache the passphrase for the session so later commands do not re-prompt (ADR 081).", false).option("--ttl <duration>", `Session lifetime with --unlock: bare seconds or an s/m/h suffix (default 1h, max 24h). Also $${ENV_KEYSTORE_TTL}.`).option("--no-doctor", "Skip the endpoint
|
|
2000
|
+
).option("--dev", "Establish an UNENCRYPTED dev keystore: plaintext keys, no passphrase. Testnet only.", false).option("--unlock", "Cache the passphrase for the session so later commands do not re-prompt (ADR 081).", false).option("--ttl <duration>", `Session lifetime with --unlock: bare seconds or an s/m/h suffix (default 1h, max 24h). Also $${ENV_KEYSTORE_TTL}.`).option("--no-doctor", "Skip the endpoint checks.").option("--allow-mainnet", "Permit -n bitcoin (records mainnet as the default; dev keystores are still refused).", false).option("--force", "Re-create the config even if it already exists (never the keystore).", false).action(async (options) => {
|
|
1991
2001
|
const g = globals();
|
|
1992
2002
|
const explicit = options.network ? assertSupportedNetwork(options.network) : void 0;
|
|
1993
2003
|
const network = explicit ?? readConfiguredDefaultNetwork(g) ?? QUICKSTART_DEFAULT_NETWORK;
|
|
@@ -2086,7 +2096,7 @@ function printNextSteps(init, unlocked, session, doctor) {
|
|
|
2086
2096
|
lines.push("Dev keystore: keys are stored in plaintext; mainnet operations are refused.");
|
|
2087
2097
|
}
|
|
2088
2098
|
if (doctor && doctor.checks.some((c) => !c.ok)) {
|
|
2089
|
-
lines.push('Warning: one or more
|
|
2099
|
+
lines.push('Warning: one or more endpoint checks failed (see the doctor report). Re-run "btcr2 config doctor" for detail.');
|
|
2090
2100
|
}
|
|
2091
2101
|
lines.push("Next: btcr2 key generate --name demo --set-active");
|
|
2092
2102
|
const faucet = (0, import_api2.faucetUrl)(init.network);
|
|
@@ -3257,7 +3267,7 @@ function registerConfigCommand(program, globals) {
|
|
|
3257
3267
|
};
|
|
3258
3268
|
print({ action: "config-path", data });
|
|
3259
3269
|
});
|
|
3260
|
-
config.command("doctor").description("
|
|
3270
|
+
config.command("doctor").description("Check that the commands can use the resolved endpoints (read-only; touches the network).").option("-n, --network <network>", "Network to resolve for (default: config default network)").action(async (opts) => {
|
|
3261
3271
|
const network = resolveIntrospectionNetwork(opts.network, globals());
|
|
3262
3272
|
const report = await runDoctor(network, globals());
|
|
3263
3273
|
if (report.checks.some((check) => !check.ok)) process.exitCode ??= 1;
|
package/dist/esm/bin/btcr2.js
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
// The keystore needs crypto.argon2Sync, which starts in Node.js 24.7 (ADR 126).
|
|
3
|
+
// This check runs before the import of the cli, so that an older runtime gets a
|
|
4
|
+
// clear message and not an error from the module loader.
|
|
5
|
+
const [major, minor] = process.versions.node.split('.').map(Number);
|
|
6
|
+
if (major < 24 || (major === 24 && minor < 7)) {
|
|
7
|
+
process.stderr.write(`btcr2 needs Node.js 24.7 or later. This runtime is Node.js ${process.versions.node}.\n`);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
const { DidBtcr2Cli } = await import('../src/cli.js');
|
|
3
11
|
const cli = new DidBtcr2Cli();
|
|
4
12
|
await cli.run(process.argv);
|
|
13
|
+
export {};
|
|
5
14
|
//# sourceMappingURL=btcr2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"btcr2.js","sourceRoot":"","sources":["../../../bin/btcr2.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"btcr2.js","sourceRoot":"","sources":["../../../bin/btcr2.ts"],"names":[],"mappings":";AACA,gFAAgF;AAChF,gFAAgF;AAChF,yDAAyD;AACzD,MAAM,CAAE,KAAK,EAAE,KAAK,CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtE,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8DAA8D,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;IAC/G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;AACtD,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAC9B,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -113,7 +113,7 @@ export function registerConfigCommand(program, globals) {
|
|
|
113
113
|
});
|
|
114
114
|
config
|
|
115
115
|
.command('doctor')
|
|
116
|
-
.description('
|
|
116
|
+
.description('Check that the commands can use the resolved endpoints (read-only; touches the network).')
|
|
117
117
|
.option('-n, --network <network>', 'Network to resolve for (default: config default network)')
|
|
118
118
|
.action(async (opts) => {
|
|
119
119
|
const network = resolveIntrospectionNetwork(opts.network, globals());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/commands/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export function registerQuickstartCommand(program, globals) {
|
|
|
26
26
|
.option('--dev', 'Establish an UNENCRYPTED dev keystore: plaintext keys, no passphrase. Testnet only.', false)
|
|
27
27
|
.option('--unlock', 'Cache the passphrase for the session so later commands do not re-prompt (ADR 081).', false)
|
|
28
28
|
.option('--ttl <duration>', `Session lifetime with --unlock: bare seconds or an s/m/h suffix (default 1h, max 24h). Also $${ENV_KEYSTORE_TTL}.`)
|
|
29
|
-
.option('--no-doctor', 'Skip the endpoint
|
|
29
|
+
.option('--no-doctor', 'Skip the endpoint checks.')
|
|
30
30
|
.option('--allow-mainnet', 'Permit -n bitcoin (records mainnet as the default; dev keystores are still refused).', false)
|
|
31
31
|
.option('--force', 'Re-create the config even if it already exists (never the keystore).', false)
|
|
32
32
|
.action(async (options) => {
|
|
@@ -147,7 +147,7 @@ function printNextSteps(init, unlocked, session, doctor) {
|
|
|
147
147
|
lines.push('Dev keystore: keys are stored in plaintext; mainnet operations are refused.');
|
|
148
148
|
}
|
|
149
149
|
if (doctor && doctor.checks.some((c) => !c.ok)) {
|
|
150
|
-
lines.push('Warning: one or more
|
|
150
|
+
lines.push('Warning: one or more endpoint checks failed (see the doctor report). Re-run "btcr2 config doctor" for detail.');
|
|
151
151
|
}
|
|
152
152
|
lines.push('Next: btcr2 key generate --name demo --set-active');
|
|
153
153
|
const faucet = faucetUrl(init.network);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,SAAS,GAEV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAsB,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjE,qGAAqG;AACrG,MAAM,0BAA0B,GAAkB,WAAW,CAAC;AAK9D;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB,EAAE,OAA4B;IACtF,MAAM,KAAK,GAAG,CAAC,MAAqB,EAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAE5F,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,0IAA0I,CAAC;SACvJ,MAAM,CACL,yBAAyB,EACzB,qGAAqG,CACtG;SACA,MAAM,CAAC,OAAO,EAAE,qFAAqF,EAAE,KAAK,CAAC;SAC7G,MAAM,CAAC,UAAU,EAAE,oFAAoF,EAAE,KAAK,CAAC;SAC/G,MAAM,CAAC,kBAAkB,EAAE,gGAAgG,gBAAgB,GAAG,CAAC;SAC/I,MAAM,CAAC,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../../src/commands/quickstart.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/config.js
CHANGED
|
@@ -678,67 +678,71 @@ export function resolveEffectiveConfig(network, overrides) {
|
|
|
678
678
|
},
|
|
679
679
|
};
|
|
680
680
|
}
|
|
681
|
-
/**
|
|
681
|
+
/** The timeout (ms) of each `config doctor` check. */
|
|
682
682
|
const DOCTOR_PROBE_TIMEOUT_MS = 5000;
|
|
683
|
-
/**
|
|
684
|
-
|
|
683
|
+
/**
|
|
684
|
+
* A block that only the chain of each network has: the genesis block, or block 1 on
|
|
685
|
+
* signet and mutinynet, because all signets share one genesis block. A `config doctor`
|
|
686
|
+
* check reads the hash at this height, to prove that an endpoint serves the chain of
|
|
687
|
+
* the network.
|
|
688
|
+
*/
|
|
689
|
+
const CHAIN_MARKER = {
|
|
690
|
+
bitcoin: { height: 0, hash: '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' },
|
|
691
|
+
testnet3: { height: 0, hash: '000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943' },
|
|
692
|
+
testnet4: { height: 0, hash: '00000000da84f2bafbbc53dee25a72ae507ff4914b867c565be350b0da8bf043' },
|
|
693
|
+
signet: { height: 1, hash: '00000086d6b2636cb2a392d45edc4ec544a10024d30141c9adf4bfd9de533b53' },
|
|
694
|
+
mutinynet: { height: 1, hash: '000002855893a0a9b24eaffc5efc770558a326fee4fc10c9da22fc19cd2954f9' },
|
|
695
|
+
regtest: { height: 0, hash: '0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206' },
|
|
696
|
+
};
|
|
697
|
+
/** Runs one check. A rejection gives a failed check with the error message as the detail. */
|
|
698
|
+
async function runCheck(endpoint, target, check) {
|
|
685
699
|
try {
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
headers: opts?.headers,
|
|
689
|
-
signal: AbortSignal.timeout(DOCTOR_PROBE_TIMEOUT_MS),
|
|
690
|
-
});
|
|
691
|
-
return res.ok
|
|
692
|
-
? { endpoint, target, ok: true }
|
|
693
|
-
: { endpoint, target, ok: false, detail: `HTTP ${res.status}` };
|
|
700
|
+
await check();
|
|
701
|
+
return { endpoint, target, ok: true };
|
|
694
702
|
}
|
|
695
703
|
catch (error) {
|
|
696
704
|
return { endpoint, target, ok: false, detail: error.message };
|
|
697
705
|
}
|
|
698
706
|
}
|
|
699
|
-
/**
|
|
700
|
-
function
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
707
|
+
/** Throws if a block hash is not the hash of the chain marker of the network. */
|
|
708
|
+
function assertChainMarker(network, hash) {
|
|
709
|
+
const marker = CHAIN_MARKER[network];
|
|
710
|
+
if (hash === marker.hash)
|
|
711
|
+
return;
|
|
712
|
+
const got = (typeof hash === 'string' ? hash : JSON.stringify(hash) ?? String(hash)).slice(0, 80);
|
|
713
|
+
throw new Error(`block ${marker.height} is ${got}, not the ${network} block ${marker.hash}: the endpoint serves another chain`);
|
|
706
714
|
}
|
|
707
715
|
/**
|
|
708
|
-
*
|
|
709
|
-
*
|
|
710
|
-
*
|
|
711
|
-
*
|
|
712
|
-
*
|
|
716
|
+
* Checks the resolved endpoints of one network for `config doctor`. Each check uses
|
|
717
|
+
* the api client of the commands (with a 5-second abort), so it tests the request
|
|
718
|
+
* path of the commands, not only a connection:
|
|
719
|
+
* - `btc-rest` and `btc-rpc`: read the hash of the {@link CHAIN_MARKER} block. A pass
|
|
720
|
+
* proves an Esplora or a Bitcoin Core endpoint for the chain of the network.
|
|
721
|
+
* - `cas`: `CasApi.probe` reads a fixed identity block through the resolved backend
|
|
722
|
+
* (the RPC endpoint if one is set, else the gateway) and compares the bytes.
|
|
723
|
+
* Also surfaces the profile/network coherence warning. Reads the network; never writes.
|
|
713
724
|
*/
|
|
714
725
|
export async function runDoctor(network, overrides) {
|
|
715
|
-
const
|
|
726
|
+
const conn = resolveConnectionConfig(network, overrides);
|
|
727
|
+
const api = createApi({
|
|
728
|
+
btc: { ...conn.btc, network, timeoutMs: DOCTOR_PROBE_TIMEOUT_MS },
|
|
729
|
+
cas: { ...(conn.cas ?? { gateway: DEFAULT_CAS_GATEWAY }), timeoutMs: DOCTOR_PROBE_TIMEOUT_MS },
|
|
730
|
+
});
|
|
731
|
+
const height = CHAIN_MARKER[network].height;
|
|
716
732
|
const checks = [];
|
|
717
|
-
const
|
|
718
|
-
checks.push(await
|
|
733
|
+
const rest = api.btc.connection.rest;
|
|
734
|
+
checks.push(await runCheck('btc-rest', rest.config.host.replace(/\/+$/, ''), async () => {
|
|
735
|
+
assertChainMarker(network, await rest.block.getHash(height));
|
|
736
|
+
}));
|
|
719
737
|
const rpc = api.btc.connection.rpc;
|
|
720
738
|
if (rpc) {
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
checks.push({ endpoint: 'btc-rpc', target, ok: true });
|
|
725
|
-
}
|
|
726
|
-
catch (error) {
|
|
727
|
-
checks.push({ endpoint: 'btc-rpc', target, ok: false, detail: error.message });
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
// A writable IPFS RPC (Kubo) answers only POST, so a bare GET would falsely
|
|
731
|
-
// report a healthy node as down; probe its version endpoint with POST. A
|
|
732
|
-
// read-only gateway answers a plain GET on its base URL.
|
|
733
|
-
const conn = resolveConnectionConfig(network, overrides);
|
|
734
|
-
if (conn.cas?.rpcUrl) {
|
|
735
|
-
const base = conn.cas.rpcUrl.replace(/\/+$/, '');
|
|
736
|
-
checks.push(await probeEndpoint('cas', conn.cas.rpcUrl, `${base}/api/v0/version`, { method: 'POST' }));
|
|
737
|
-
}
|
|
738
|
-
else {
|
|
739
|
-
const gateway = (conn.cas?.gateway ?? DEFAULT_CAS_GATEWAY).replace(/\/+$/, '');
|
|
740
|
-
checks.push(await probeEndpoint('cas', gateway, gateway));
|
|
739
|
+
checks.push(await runCheck('btc-rpc', rpc.config.host ?? '(default rpc)', async () => {
|
|
740
|
+
assertChainMarker(network, await rpc.getBlockHash(height));
|
|
741
|
+
}));
|
|
741
742
|
}
|
|
743
|
+
// The api selects the RPC endpoint over the gateway, so the check names that target.
|
|
744
|
+
const casTarget = (conn.cas?.rpcUrl ?? conn.cas?.gateway ?? DEFAULT_CAS_GATEWAY).replace(/\/+$/, '');
|
|
745
|
+
checks.push(await runCheck('cas', casTarget, () => api.cas.probe()));
|
|
742
746
|
const mismatch = profileNetworkMismatch(network, overrides);
|
|
743
747
|
return {
|
|
744
748
|
checks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { xchacha20poly1305 } from '@noble/ciphers/chacha.js';
|
|
2
|
-
import { argon2id } from '@noble/hashes/argon2.js';
|
|
3
2
|
import { randomBytes, utf8ToBytes } from '@noble/hashes/utils.js';
|
|
4
3
|
import { base64urlnopad } from '@scure/base';
|
|
4
|
+
import { argon2Sync } from 'node:crypto';
|
|
5
5
|
import { KeyStoreError } from './error.js';
|
|
6
6
|
/** Current keystore secret-envelope format version. */
|
|
7
7
|
export const ENVELOPE_VERSION = 1;
|
|
@@ -39,6 +39,21 @@ function buildHeader(saltB64, params) {
|
|
|
39
39
|
function headerAad(header) {
|
|
40
40
|
return utf8ToBytes(JSON.stringify(header));
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Runs argon2id over a password with the native argon2 of Node.js (ADR 126).
|
|
44
|
+
* The output is the same as the output of `argon2id` from `@noble/hashes`, which
|
|
45
|
+
* sealed the envelopes of cli 0.25 and earlier. A test holds the two equal.
|
|
46
|
+
*/
|
|
47
|
+
export function argon2idKey(password, salt, params) {
|
|
48
|
+
return argon2Sync('argon2id', {
|
|
49
|
+
message: password,
|
|
50
|
+
nonce: salt,
|
|
51
|
+
parallelism: params.p,
|
|
52
|
+
tagLength: params.dkLen,
|
|
53
|
+
memory: params.m,
|
|
54
|
+
passes: params.t,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
42
57
|
/**
|
|
43
58
|
* Stretches a passphrase into the symmetric key. The transient UTF-8 copy of
|
|
44
59
|
* the passphrase is zeroized here; the caller is responsible for zeroizing the
|
|
@@ -47,7 +62,7 @@ function headerAad(header) {
|
|
|
47
62
|
function deriveKey(passphrase, salt, params) {
|
|
48
63
|
const password = utf8ToBytes(passphrase);
|
|
49
64
|
try {
|
|
50
|
-
return
|
|
65
|
+
return argon2idKey(password, salt, params);
|
|
51
66
|
}
|
|
52
67
|
finally {
|
|
53
68
|
password.fill(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/keystore/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/keystore/envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -336,12 +336,16 @@ export class FileKeyStore {
|
|
|
336
336
|
else if (this.#verifier !== undefined && passphrase !== undefined) {
|
|
337
337
|
// A verifier exists: it pre-existed, was established concurrently while we
|
|
338
338
|
// sealed, or was rotated by a concurrent change-passphrase. If it was
|
|
339
|
-
// rotated out from under our seal, abort with a clear message
|
|
340
|
-
// assert our passphrase still opens it before persisting the key.
|
|
339
|
+
// rotated out from under our seal, abort with a clear message.
|
|
341
340
|
if (verifierAtSeal !== undefined && !sameEnvelope(this.#verifier, verifierAtSeal)) {
|
|
342
341
|
throw new KeyStoreError(`The keystore passphrase at ${this.#path} changed concurrently; re-run the command.`, 'KEYSTORE_CONCURRENT_CHANGE_ERROR', { path: this.#path });
|
|
343
342
|
}
|
|
344
|
-
|
|
343
|
+
// #sealPassphrase already checked the passphrase against verifierAtSeal,
|
|
344
|
+
// and the verifier on disk is the same envelope. A second argon2id call
|
|
345
|
+
// in the lock gives the same result, so only a verifier from a concurrent
|
|
346
|
+
// establishment gets a check here (ADR 126).
|
|
347
|
+
if (verifierAtSeal === undefined)
|
|
348
|
+
this.#assertPassphrase(passphrase);
|
|
345
349
|
}
|
|
346
350
|
}
|
|
347
351
|
this.#cache.set(id, {
|