diff --git a/README.md b/README.md index e292574..204739d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Tools for developing [Nostr](https://github.com/fiatjaf/nostr) clients. -Very lean on dependencies. +Only depends on _@scure_ and _@noble_ packages. ## Usage diff --git a/nip04.ts b/nip04.ts index 34b6655..aff2b94 100644 --- a/nip04.ts +++ b/nip04.ts @@ -1,6 +1,6 @@ import {randomBytes} from '@noble/hashes/utils' import * as secp256k1 from '@noble/secp256k1' -import {encode as b64encode, decode as b64decode} from 'base64-arraybuffer' +import {base64} from '@scure/base' import {utf8Decoder, utf8Encoder} from './utils' @@ -26,8 +26,8 @@ export async function encrypt( cryptoKey, plaintext ) - let ctb64 = b64encode(ciphertext) - let ivb64 = b64encode(iv.buffer) + let ctb64 = base64.encode(new Uint8Array(ciphertext)) + let ivb64 = base64.encode(new Uint8Array(iv.buffer)) return `${ctb64}?iv=${ivb64}` } @@ -48,8 +48,8 @@ export async function decrypt( false, ['decrypt'] ) - let ciphertext = b64decode(ctb64) - let iv = b64decode(ivb64) + let ciphertext = base64.decode(ctb64) + let iv = base64.decode(ivb64) let plaintext = await crypto.subtle.decrypt( {name: 'AES-CBC', iv}, diff --git a/nip19.ts b/nip19.ts index e545a59..f90e22c 100644 --- a/nip19.ts +++ b/nip19.ts @@ -1,5 +1,5 @@ import * as secp256k1 from '@noble/secp256k1' -import {bech32} from 'bech32' +import {bech32} from '@scure/base' import {utf8Decoder, utf8Encoder} from './utils' diff --git a/package.json b/package.json index c698f31..06b984f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostr-tools", - "version": "1.0.1", + "version": "1.1.0", "description": "Tools for making a Nostr client.", "repository": { "type": "git", @@ -11,10 +11,9 @@ "dependencies": { "@noble/hashes": "^0.5.7", "@noble/secp256k1": "^1.7.0", + "@scure/base": "^1.1.1", "@scure/bip32": "^1.1.1", - "@scure/bip39": "^1.1.0", - "base64-arraybuffer": "^1.0.2", - "bech32": "^2.0.0" + "@scure/bip39": "^1.1.0" }, "keywords": [ "decentralization",