From 9bbe3d2e971b8ea4079a73f89343a4bf34afb993 Mon Sep 17 00:00:00 2001
From: tiero <3596602+tiero@users.noreply.github.com>
Date: Wed, 22 Feb 2023 18:56:02 +0100
Subject: [PATCH] update nostr-tools
---
example/index.tsx | 35 ++++++++++---------
example/package.json | 2 +-
package.json | 2 +-
src/connect.ts | 10 ++++--
yarn.lock | 80 ++++++++++++++++++++++----------------------
5 files changed, 70 insertions(+), 59 deletions(-)
diff --git a/example/index.tsx b/example/index.tsx
index abe7dd5..034fa8e 100644
--- a/example/index.tsx
+++ b/example/index.tsx
@@ -3,20 +3,20 @@ import { useEffect, useState } from 'react';
import { useStatePersist } from 'use-state-persist';
import * as ReactDOM from 'react-dom';
-import { broadcastToRelay, Connect, connectToRelay, ConnectURI, TimeRanges } from '../src/index';
+import { broadcastToRelay, Connect, connectToRelay, ConnectURI } from '@nostr-connect/connect';
import { QRCodeSVG } from 'qrcode.react';
-import { getEventHash, getPublicKey, Event, nip19 } from 'nostr-tools';
+import { getEventHash, getPublicKey, Event } from 'nostr-tools';
const secretKey = "5acff99d1ad3e1706360d213fd69203312d9b5e91a2d5f2e06100cc6f686e5b3";
const connectURI = new ConnectURI({
target: getPublicKey(secretKey),
relay: 'wss://nostr.vulpem.com',
metadata: {
- name: 'Vulpem',
- description: 'Bitcoin company',
- url: 'https://vulpem.com',
- icons: ['https://vulpem.com/favicon.ico'],
+ name: 'Example',
+ description: '🔉🔉🔉',
+ url: 'https://example.com',
+ icons: ['https://example.com/icon.png'],
},
});
@@ -54,7 +54,7 @@ const App = () => {
target: pubkey,
});
const pk = await connect.getPublicKey();
- setGetPublicKeyReply(nip19.npubEncode(pk));
+ setGetPublicKeyReply(pk);
}
const sendMessage = async () => {
@@ -116,13 +116,19 @@ const App = () => {
target: pubkey,
});
- const sig = await connect.delegate(
- getPublicKey(secretKey),
- {
- kind: 1,
- until: TimeRanges.ONE_DAY,
+ const sig = await connect.rpc.call({
+ target: pubkey,
+ request: {
+ method: 'delegate',
+ params: [
+ getPublicKey(secretKey),
+ {
+ kind: 0,
+ until: Math.floor(Date.now() / 1000) + 60 * 60 * 24 * 365,
+ }
+ ],
}
- );
+ });
setDelegateSig(sig);
} catch (error) {
console.error(error);
@@ -152,7 +158,6 @@ const App = () => {
});
}
- const appEpehemeralPubKey = nip19.npubEncode(getPublicKey(secretKey));
return (
@@ -160,7 +165,7 @@ const App = () => {
Nostr Connect Playground
-
Nostr ID (ephemeral) {appEpehemeralPubKey}
+
Nostr ID {getPublicKey(secretKey)}
Status {isConnected() ? '🟢 Connected' : '🔴 Disconnected'}
diff --git a/example/package.json b/example/package.json
index 357a223..efef082 100644
--- a/example/package.json
+++ b/example/package.json
@@ -9,7 +9,7 @@
},
"dependencies": {
"@nostr-connect/connect": "^0.2.3",
- "nostr-tools": "^1.1.1",
+ "nostr-tools": "^1.6.0",
"qrcode.react": "^3.1.0",
"react": "^18.2.0",
"react-app-polyfill": "^1.0.0",
diff --git a/package.json b/package.json
index e21bf66..dc18ed0 100644
--- a/package.json
+++ b/package.json
@@ -61,6 +61,6 @@
},
"dependencies": {
"events": "^3.3.0",
- "nostr-tools": "^1.0.1"
+ "nostr-tools": "^1.6.0"
}
}
diff --git a/src/connect.ts b/src/connect.ts
index 95aa23f..36dfb64 100644
--- a/src/connect.ts
+++ b/src/connect.ts
@@ -1,5 +1,5 @@
import EventEmitter from 'events';
-import { Event, getPublicKey, nip04 } from 'nostr-tools';
+import { Event, getPublicKey, nip04, Kind } from 'nostr-tools';
import { isValidRequest, NostrRPC } from './rpc';
@@ -212,7 +212,13 @@ export class Connect {
return response as string;
}
- async signEvent(event: Event): Promise
{
+ async signEvent(event: {
+ kind: Kind;
+ tags: string[][];
+ pubkey: string;
+ content: string;
+ created_at: number;
+ }): Promise {
if (!this.target) throw new Error('Not connected');
const signature = await this.rpc.call({
diff --git a/yarn.lock b/yarn.lock
index 76b0880..d2a3165 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1186,17 +1186,22 @@
"@jridgewell/resolve-uri" "3.1.0"
"@jridgewell/sourcemap-codec" "1.4.14"
-"@noble/hashes@^0.5.7":
- version "0.5.9"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-0.5.9.tgz#9f3051a4cc6f7c168022b3b7fbbe9fe2a35cccf0"
- integrity sha512-7lN1Qh6d8DUGmfN36XRsbN/WcGIPNtTGhkw26vWId/DlCIGsYJJootTtPGghTLcn/AaXPx2Q0b3cacrwXa7OVw==
+"@noble/hashes@1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae"
+ integrity sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg==
-"@noble/hashes@~1.1.1", "@noble/hashes@~1.1.3":
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.5.tgz#1a0377f3b9020efe2fae03290bd2a12140c95c11"
- integrity sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==
+"@noble/hashes@~1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12"
+ integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==
-"@noble/secp256k1@^1.7.0", "@noble/secp256k1@~1.7.0":
+"@noble/secp256k1@^1.7.1":
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c"
+ integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==
+
+"@noble/secp256k1@~1.7.0":
version "1.7.0"
resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.0.tgz#d15357f7c227e751d90aa06b05a0e5cf993ba8c1"
integrity sha512-kbacwGSsH/CTout0ZnZWxnW1B+jH/7r/WAAKLBtrRJ/+CUH7lgmQzl3GTrQua3SGKWNSDsS6lmjnDpIJ5Dxyaw==
@@ -1279,26 +1284,26 @@
estree-walker "^1.0.1"
picomatch "^2.2.2"
-"@scure/base@~1.1.0":
+"@scure/base@^1.1.1", "@scure/base@~1.1.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938"
integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==
-"@scure/bip32@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.1.tgz#f62e4a2f13cc3e5e720ad81b7582b8631ae6835a"
- integrity sha512-UmI+liY7np2XakaW+6lMB6HZnpczWk1yXZTxvg8TM8MdOcKHCGL1YkraGj8eAjPfMwFNiAyek2hXmS/XFbab8g==
+"@scure/bip32@^1.1.5":
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300"
+ integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==
dependencies:
- "@noble/hashes" "~1.1.3"
+ "@noble/hashes" "~1.2.0"
"@noble/secp256k1" "~1.7.0"
"@scure/base" "~1.1.0"
-"@scure/bip39@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.0.tgz#92f11d095bae025f166bef3defcc5bf4945d419a"
- integrity sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==
+"@scure/bip39@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5"
+ integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==
dependencies:
- "@noble/hashes" "~1.1.1"
+ "@noble/hashes" "~1.2.0"
"@scure/base" "~1.1.0"
"@sinonjs/commons@^1.7.0":
@@ -1927,11 +1932,6 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-base64-arraybuffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#1c37589a7c4b0746e34bd1feb951da2df01c1bdc"
- integrity sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==
-
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@@ -1952,11 +1952,6 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
-bech32@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355"
- integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==
-
binary-extensions@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
@@ -4906,17 +4901,17 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-nostr-tools@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-1.0.1.tgz#acf21758fc745674ed047e7dc219b30baf489005"
- integrity sha512-URBNadrVq4qSmndzd4clZqubze4y/LB8cdzzen9mNwlFh3ICDdWp7TCShTbLEZQYPPSVoOe2n13l77jzcVvH/w==
+nostr-tools@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/nostr-tools/-/nostr-tools-1.6.0.tgz#4052fe717a378982c8ce56d39986089abacfc6d3"
+ integrity sha512-qjjJQ7YxJUMzgS24eVlxkZ87PKJtU6dlH04OzVuK6w+GSPL+VdUZkMe2lfSpnb7OkCrDIzmbFbtx+Q4LXdU2xw==
dependencies:
- "@noble/hashes" "^0.5.7"
- "@noble/secp256k1" "^1.7.0"
- "@scure/bip32" "^1.1.1"
- "@scure/bip39" "^1.1.0"
- base64-arraybuffer "^1.0.2"
- bech32 "^2.0.0"
+ "@noble/hashes" "1.0.0"
+ "@noble/secp256k1" "^1.7.1"
+ "@scure/base" "^1.1.1"
+ "@scure/bip32" "^1.1.5"
+ "@scure/bip39" "^1.1.1"
+ prettier "^2.8.4"
npm-run-path@^2.0.0:
version "2.0.2"
@@ -5230,6 +5225,11 @@ prettier@^1.19.1:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+prettier@^2.8.4:
+ version "2.8.4"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3"
+ integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==
+
pretty-format@^25.2.1, pretty-format@^25.5.0:
version "25.5.0"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a"