From 89ae21f796c4587488f172e6b6039fd39fcb35f3 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Wed, 21 Dec 2022 16:04:09 -0300 Subject: [PATCH] remove buffer usage everywhere. --- event.ts | 12 ++++++------ keys.ts | 5 ++--- nip06.ts | 7 ++++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/event.ts b/event.ts index 8b93890..e18c489 100644 --- a/event.ts +++ b/event.ts @@ -1,8 +1,8 @@ -import {Buffer} from 'buffer' -// @ts-ignore import * as secp256k1 from '@noble/secp256k1' import {sha256} from '@noble/hashes/sha256' +import {utf8Encoder} from './utils' + export type Event = { id?: string sig?: string @@ -35,8 +35,8 @@ export function serializeEvent(evt: Event): string { } export function getEventHash(event: Event): string { - let eventHash = sha256(Buffer.from(serializeEvent(event))) - return Buffer.from(eventHash).toString('hex') + let eventHash = sha256(utf8Encoder.encode(serializeEvent(event))) + return secp256k1.utils.bytesToHex(eventHash) } export function validateEvent(event: Event): boolean { @@ -63,7 +63,7 @@ export function verifySignature( } export async function signEvent(event: Event, key: string): Promise { - return Buffer.from( + return secp256k1.utils.bytesToHex( await secp256k1.schnorr.sign(event.id || getEventHash(event), key) - ).toString('hex') + ) } diff --git a/keys.ts b/keys.ts index 6fbf82a..76d4d33 100644 --- a/keys.ts +++ b/keys.ts @@ -1,10 +1,9 @@ import * as secp256k1 from '@noble/secp256k1' -import {Buffer} from 'buffer' export function generatePrivateKey(): string { - return Buffer.from(secp256k1.utils.randomPrivateKey()).toString('hex') + return secp256k1.utils.bytesToHex(secp256k1.utils.randomPrivateKey()) } export function getPublicKey(privateKey: string): string { - return Buffer.from(secp256k1.schnorr.getPublicKey(privateKey)).toString('hex') + return secp256k1.utils.bytesToHex(secp256k1.schnorr.getPublicKey(privateKey)) } diff --git a/nip06.ts b/nip06.ts index b2bec3e..d1e6708 100644 --- a/nip06.ts +++ b/nip06.ts @@ -1,3 +1,4 @@ +import * as secp256k1 from '@noble/secp256k1' import {wordlist} from '@scure/bip39/wordlists/english.js' import { generateMnemonic, @@ -7,14 +8,14 @@ import { import {HDKey} from '@scure/bip32' export function privateKeyFromSeed(seed: string): string { - let root = HDKey.fromMasterSeed(Buffer.from(seed, 'hex')) + let root = HDKey.fromMasterSeed(secp256k1.utils.hexToBytes(seed)) let privateKey = root.derive(`m/44'/1237'/0'/0/0`).privateKey if (!privateKey) throw new Error('could not derive private key') - return Buffer.from(privateKey).toString('hex') + return secp256k1.utils.bytesToHex(privateKey) } export function seedFromWords(mnemonic: string): string { - return Buffer.from(mnemonicToSeedSync(mnemonic)).toString('hex') + return secp256k1.utils.bytesToHex(mnemonicToSeedSync(mnemonic)) } export function generateSeedWords(): string {