Orgchain v1.4: the tapkey returns, and every node's secrets behind Reveal
Each node lists its Tapkey again beside Taproot and SegWit: the npub as a Taproot address (its nostr key with the BIP-86 tweak), so the npub alone finds it. Its inscription stays at the standard BIP-86 key, since nostr secrets get pasted into clients. Inspect gains a Reveal panel, as on lineage's key tree page: the seed (holdings and orgs), the nsec, Taproot, SegWit and Tapkey descriptors with test-network WIF and BIP-380 checksums, and the leaves' private keys (OpenSSH, DKIM, WireGuard, PKCS#8, Headscale), each with Copy. Tests pin hashes of the key tree page's own output for the NIP-06 vector, BIP-84's WIF and BIP-380's checksum; ssh-keygen reads the keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
This commit is contained in:
1 parent
0af51dc9cd
commit
17b8692174
9 files changed
+183
-15
No files matched your search
@@ -115,6 +115,22 @@ test('the sample replays, any beat can be inspected, and the lab survives a relo
|
||||
for (const text of ['ssh-ed25519 AAAAC3NzaC1lZDI1NTE5', 'sol@time.yolopreneur namespaces="git"', 'sol._domainkey.time.yolopreneur. IN TXT "v=DKIM1; k=ed25519; p=', 'PublicKey = ']) {
|
||||
await expect(inspect.locator('pre')).toContainText(text);
|
||||
}
|
||||
await expect(fact('Tapkey')).toContainText('bcrt1p');
|
||||
await expect(page.locator('#reveal')).toHaveAttribute('aria-expanded', 'false');
|
||||
await page.locator('#reveal').click();
|
||||
const secrets = inspect.locator('.sb');
|
||||
for (const text of ['nsec1', 'BEGIN OPENSSH PRIVATE KEY', 'PrivateKey = ', 'account 2 of time']) await expect(secrets).toContainText(text);
|
||||
await expect(secrets).toContainText(/tr\(c[1-9A-HJ-NP-Za-km-z]{51}\)#[a-z0-9]{8}/);
|
||||
await secrets.locator('.cp').first().click();
|
||||
await expect(secrets.locator('.cp').first()).toHaveText(/Copied|Selected/);
|
||||
await row(page, 'time').click();
|
||||
await expect(page.locator('#reveal')).toHaveAttribute('aria-expanded', 'false');
|
||||
await page.locator('#reveal').click();
|
||||
await expect(secrets).toContainText("Seed · yolopreneur root › 1'");
|
||||
await expect(secrets).toContainText('BEGIN PRIVATE KEY');
|
||||
expect(await page.evaluate(() => document.documentElement.scrollWidth <= innerWidth)).toBe(true);
|
||||
await page.locator('#reveal').click();
|
||||
await expect(secrets).toHaveCount(0);
|
||||
expect(await page.evaluate(() => document.documentElement.scrollWidth <= innerWidth)).toBe(true);
|
||||
await page.reload();
|
||||
await expect(page.locator('#tree-rows .sel')).toHaveCount(12);
|
||||
|
||||
Reference in new issue
Block a user