fixing formatting with Prettier

This commit is contained in:
Anderson Juhasc
2024-05-26 23:04:10 -03:00
committed by fiatjaf_
parent faa1a9d556
commit 4f1dc9ef1c
3 changed files with 35 additions and 14 deletions

View File

@@ -3,7 +3,7 @@ import {
privateKeyFromSeedWords, privateKeyFromSeedWords,
accountFromSeedWords, accountFromSeedWords,
extendedKeysFromSeedWords, extendedKeysFromSeedWords,
accountFromExtendedKey accountFromExtendedKey,
} from './nip06.ts' } from './nip06.ts'
test('generate private key from a mnemonic', async () => { test('generate private key from a mnemonic', async () => {
@@ -44,14 +44,23 @@ test('generate extended keys from mnemonic', () => {
const mnemonic = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about' const mnemonic = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about'
const passphrase = '' const passphrase = ''
const extendedAccountIndex = 0 const extendedAccountIndex = 0
const { privateExtendedKey, publicExtendedKey } = extendedKeysFromSeedWords(mnemonic, passphrase, extendedAccountIndex) const { privateExtendedKey, publicExtendedKey } = extendedKeysFromSeedWords(
mnemonic,
passphrase,
extendedAccountIndex,
)
expect(privateExtendedKey).toBe('xprv9z78fizET65qsCaRr1MSutTSGk1fcKfSt1sBqmuWShtkjRJJ4WCKcSnha6EmgNzFSsyom3MWtydHyPtJtSLZQUtictVQtM2vkPcguh6TQCH') expect(privateExtendedKey).toBe(
expect(publicExtendedKey).toBe('xpub6D6V5EX8HTe95getx2tTH2QApmrA1nPJFEnneAK813RjcDdSc3WaAF7BRNpTF7o7zXjVm3DD3VMX66jhQ7wLaZ9sS6NzyfiwfzqDZbxvpDN') 'xprv9z78fizET65qsCaRr1MSutTSGk1fcKfSt1sBqmuWShtkjRJJ4WCKcSnha6EmgNzFSsyom3MWtydHyPtJtSLZQUtictVQtM2vkPcguh6TQCH',
)
expect(publicExtendedKey).toBe(
'xpub6D6V5EX8HTe95getx2tTH2QApmrA1nPJFEnneAK813RjcDdSc3WaAF7BRNpTF7o7zXjVm3DD3VMX66jhQ7wLaZ9sS6NzyfiwfzqDZbxvpDN',
)
}) })
test('generate account from extended private key', () => { test('generate account from extended private key', () => {
const xprv = 'xprv9z78fizET65qsCaRr1MSutTSGk1fcKfSt1sBqmuWShtkjRJJ4WCKcSnha6EmgNzFSsyom3MWtydHyPtJtSLZQUtictVQtM2vkPcguh6TQCH' const xprv =
'xprv9z78fizET65qsCaRr1MSutTSGk1fcKfSt1sBqmuWShtkjRJJ4WCKcSnha6EmgNzFSsyom3MWtydHyPtJtSLZQUtictVQtM2vkPcguh6TQCH'
const { privateKey, publicKey } = accountFromExtendedKey(xprv) const { privateKey, publicKey } = accountFromExtendedKey(xprv)
expect(privateKey).toBe('5f29af3b9676180290e77a4efad265c4c2ff28a5302461f73597fda26bb25731') expect(privateKey).toBe('5f29af3b9676180290e77a4efad265c4c2ff28a5302461f73597fda26bb25731')
@@ -59,7 +68,8 @@ test('generate account from extended private key', () => {
}) })
test('generate account from extended public key', () => { test('generate account from extended public key', () => {
const xpub = 'xpub6D6V5EX8HTe95getx2tTH2QApmrA1nPJFEnneAK813RjcDdSc3WaAF7BRNpTF7o7zXjVm3DD3VMX66jhQ7wLaZ9sS6NzyfiwfzqDZbxvpDN' const xpub =
'xpub6D6V5EX8HTe95getx2tTH2QApmrA1nPJFEnneAK813RjcDdSc3WaAF7BRNpTF7o7zXjVm3DD3VMX66jhQ7wLaZ9sS6NzyfiwfzqDZbxvpDN'
const { publicKey } = accountFromExtendedKey(xpub) const { publicKey } = accountFromExtendedKey(xpub)
expect(publicKey).toBe('e8bcf3823669444d0b49ad45d65088635d9fd8500a75b5f20b59abefa56a144f') expect(publicKey).toBe('e8bcf3823669444d0b49ad45d65088635d9fd8500a75b5f20b59abefa56a144f')

View File

@@ -12,9 +12,13 @@ export function privateKeyFromSeedWords(mnemonic: string, passphrase?: string, a
return bytesToHex(privateKey) return bytesToHex(privateKey)
} }
export function accountFromSeedWords(mnemonic: string, passphrase?: string, accountIndex = 0): { export function accountFromSeedWords(
privateKey: string, mnemonic: string,
publicKey: string, passphrase?: string,
accountIndex = 0,
): {
privateKey: string
publicKey: string
} { } {
const root = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic, passphrase)) const root = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic, passphrase))
const seed = root.derive(`${DERIVATION_PATH}/${accountIndex}'/0/0`) const seed = root.derive(`${DERIVATION_PATH}/${accountIndex}'/0/0`)
@@ -26,8 +30,12 @@ export function accountFromSeedWords(mnemonic: string, passphrase?: string, acco
return { privateKey, publicKey } return { privateKey, publicKey }
} }
export function extendedKeysFromSeedWords(mnemonic: string, passphrase?: string, extendedAccountIndex = 0): { export function extendedKeysFromSeedWords(
privateExtendedKey: string, mnemonic: string,
passphrase?: string,
extendedAccountIndex = 0,
): {
privateExtendedKey: string
publicExtendedKey: string publicExtendedKey: string
} { } {
let root = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic, passphrase)) let root = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic, passphrase))
@@ -38,8 +46,11 @@ export function extendedKeysFromSeedWords(mnemonic: string, passphrase?: string,
return { privateExtendedKey, publicExtendedKey } return { privateExtendedKey, publicExtendedKey }
} }
export function accountFromExtendedKey(base58key: string, accountIndex = 0): { export function accountFromExtendedKey(
privateKey?: string, base58key: string,
accountIndex = 0,
): {
privateKey?: string
publicKey: string publicKey: string
} { } {
let extendedKey = HDKey.fromExtendedKey(base58key) let extendedKey = HDKey.fromExtendedKey(base58key)

View File

@@ -20,6 +20,6 @@ export class Relay extends AbstractRelay {
} }
} }
export type RelayRecord = Record<string, { read: boolean; write: boolean }>; export type RelayRecord = Record<string, { read: boolean; write: boolean }>
export * from './abstract-relay.ts' export * from './abstract-relay.ts'