Switch from noble-secp256k1 to noble-curves

This commit is contained in:
Paul Miller
2023-04-14 16:26:33 +00:00
committed by fiatjaf_
parent f17ab41d72
commit 204ae0eff1
10 changed files with 648 additions and 804 deletions

View File

@@ -1,5 +1,6 @@
import * as secp256k1 from '@noble/secp256k1'
import {schnorr} from '@noble/curves/secp256k1'
import {sha256} from '@noble/hashes/sha256'
import {bytesToHex} from '@noble/hashes/utils'
import {utf8Encoder} from './utils'
import {getPublicKey} from './keys'
@@ -78,7 +79,7 @@ export function serializeEvent(evt: UnsignedEvent): string {
export function getEventHash(event: UnsignedEvent): string {
let eventHash = sha256(utf8Encoder.encode(serializeEvent(event)))
return secp256k1.utils.bytesToHex(eventHash)
return bytesToHex(eventHash)
}
const isRecord = (obj: unknown): obj is Record<string, unknown> => obj instanceof Object
@@ -104,7 +105,7 @@ export function validateEvent<T>(event: T): event is T & UnsignedEvent {
}
export function verifySignature(event: Event): boolean {
return secp256k1.schnorr.verifySync(
return schnorr.verify(
event.sig,
getEventHash(event),
event.pubkey
@@ -112,7 +113,7 @@ export function verifySignature(event: Event): boolean {
}
export function signEvent(event: UnsignedEvent, key: string): string {
return secp256k1.utils.bytesToHex(
secp256k1.schnorr.signSync(getEventHash(event), key)
return bytesToHex(
schnorr.sign(getEventHash(event), key)
)
}