get rid of the last vestiges of webcrypto dependencies.

This commit is contained in:
fiatjaf
2024-02-17 18:29:01 -03:00
parent fb085ffdf7
commit 3647bbd68a
2 changed files with 3 additions and 16 deletions

View File

@@ -1,14 +1,9 @@
import crypto from 'node:crypto'
import { describe, test, expect } from 'bun:test'
import { hexToBytes } from '@noble/hashes/utils'
import { makeNwcRequestEvent, parseConnectionString } from './nip47'
import { decrypt } from './nip04.ts'
import { NWCWalletRequest } from './kinds.ts'
// @ts-ignore
// eslint-disable-next-line no-undef
globalThis.crypto = crypto
describe('parseConnectionString', () => {
test('returns pubkey, relay, and secret if connection string is valid', () => {
const connectionString =

View File

@@ -1,5 +1,7 @@
import { sha256 } from '@noble/hashes/sha256'
import { EventTemplate } from './core'
import { FileServerPreference } from './kinds'
import { bytesToHex } from '@noble/hashes/utils'
/**
* Represents the configuration for a server compliant with NIP-96.
@@ -576,15 +578,5 @@ export function generateFSPEventTemplate(serverUrls: string[]): EventTemplate {
* @returns A promise that resolves to the SHA-256 hash of the file.
*/
export async function calculateFileHash(file: Blob): Promise<string> {
// Read the file as an ArrayBuffer
const buffer = await file.arrayBuffer()
// Calculate the SHA-256 hash of the file
const hashBuffer = await crypto.subtle.digest('SHA-256', buffer)
// Convert the hash to a hexadecimal string
const hashArray = Array.from(new Uint8Array(hashBuffer))
const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
return hashHex
return bytesToHex(sha256(new Uint8Array(await file.arrayBuffer())))
}