]> git.codecow.com Git - libnemo.git/commitdiff
Change child key to async since HMAC is anyway.
authorChris Duncan <chris@codecow.com>
Fri, 15 May 2026 08:17:00 +0000 (01:17 -0700)
committerChris Duncan <chris@codecow.com>
Fri, 15 May 2026 08:17:00 +0000 (01:17 -0700)
src/lib/crypto/bip44.ts

index 929badc91b0a5694c53b24dabe321227c90ce40f..bdb7fb72278704e29516d599b3c7f100f1c504a4 100644 (file)
@@ -106,11 +106,11 @@ function CKDpriv (curve: Curve, { privateKey, chainCode }: ExtendedKey, index?:
                .then(I => childKey(curve, pk, I))
 }
 
-function childKey (curve: Curve, pk: Bytes, I: ArrayBuffer): ExtendedKey {
+function childKey (curve: Curve, pk: Bytes, I: ArrayBuffer): Promise<ExtendedKey> {
        const IL = I.slice(0, I.byteLength / 2)
        const IR = I.slice(I.byteLength / 2)
        if (curve === 'ed25519 seed') {
-               return ({ privateKey: IL, chainCode: IR })
+               return Promise.resolve({ privateKey: IL, chainCode: IR })
        }
        const ILparsed = parse256(new Uint8Array(IL))
        if (ILparsed >= Point.CURVE().n) {
@@ -121,7 +121,7 @@ function childKey (curve: Curve, pk: Bytes, I: ArrayBuffer): ExtendedKey {
        if (ck === 0n) {
                throw new Error('Invalid child key is zero')
        }
-       return ({ privateKey: ser256(ck).buffer, chainCode: IR })
+       return Promise.resolve({ privateKey: ser256(ck).buffer, chainCode: IR })
 }
 
 function ser32 (integer: number): Bytes {