bug fix: of course undefined != -1

update nostr.ts
This commit is contained in:
BlowaterNostr 2023-07-01 14:51:28 +00:00
parent 27a1603919
commit 0c3fe3a405
8 changed files with 21 additions and 52 deletions

View File

@ -3,7 +3,6 @@ import {
PrivateKey,
PublicKey,
publicKeyHexFromNpub,
toPublicKeyHex,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts";
import {
InMemoryAccountContext,
@ -164,14 +163,3 @@ export function GetLocalStorageAccountContext() {
}
return undefined;
}
function isPrivateKey(privateKey: string) {
if (privateKey.length !== 64) {
return false;
}
const publicKey = toPublicKeyHex(privateKey);
if (publicKeyHexFromNpub(publicKey).length === 64) {
return true;
}
return false;
}

View File

@ -9,25 +9,19 @@ import { EventBus } from "../event-bus.ts";
import { UI_Interaction_Event } from "./app_update.ts";
import { getContactPubkeysOf } from "../features/dm.ts";
import { DM_EditorModel } from "./editor.tsx";
import {
ConnectionPool,
SingleRelayConnection,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/relay.ts";
import {
generatePrivateKeyHex,
PrivateKey,
toPublicKeyHex,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts";
import { PrivateKey } from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts";
import { InMemoryAccountContext } from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/nostr.ts";
import { AsyncWebSocket } from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/websocket.ts";
import { relays } from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/relay-list.test.ts";
const start = Date.now();
// const url = "wss://relay.damus.io";
const myPrivateKey = PrivateKey.Generate();
const myPublicKey = toPublicKeyHex(generatePrivateKeyHex());
const myPublicKey = PrivateKey.Generate().hex;
const relayPool = new ConnectionPool();
for (let url of relays.slice(0, 1)) {

View File

@ -18,7 +18,7 @@
"https://esm.sh/v127/twind@0.16.16/twind.d.ts": "f0e7236ef5a8b39dbe9cf4439dd4689c5954980c2987d00e9c94cd1a5e8923fb",
"https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts": "3e8eed3d933748d48c83e2ae583bf86748621bcd6e8f181bef8a6ae8e5a4bfac",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/ende.ts": "86fa705459ce19edc2c320a463e55f1cece3c1d415dfb36af387a433a6453da8",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts": "c4f535fff729290e274541ac003f9f8b7c21da3121be55a6c361d72dfd5747c4",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts": "12405f91cb7260775fd202bbbcbaf96052ce394d6c4e409fc38c17ae3d8bd540",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/nostr.ts": "2dda31c5c22fba273f68ad1f747e9e5e8c3ef1e6a6bbdf0835109f514236c28b",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/relay.ts": "dd7c16640826987b97367046c6c76adb8c2d3c4843f38480b97beb71147dc797",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/scure.js": "fbc4be16918272bd167fff1184a7f5bbd1a676bad2a73130bb530d78df893a99",

View File

@ -6,16 +6,6 @@
"https://deno.land/std@0.176.0/testing/_diff.ts": "1a3c044aedf77647d6cac86b798c6417603361b66b54c53331b312caeb447aea",
"https://deno.land/std@0.176.0/testing/_format.ts": "a69126e8a469009adf4cf2a50af889aca364c349797e63174884a52ff75cf4c7",
"https://deno.land/std@0.176.0/testing/asserts.ts": "984ab0bfb3faeed92ffaa3a6b06536c66811185328c5dd146257c702c41b01ab",
"https://deno.land/x/sqlite@v3.7.2/build/sqlite.d.ts": "d724a21a588a0e19ae46a3476349fe5d75e896735e7362ea8cf997ffad35d0f9",
"https://deno.land/x/sqlite@v3.7.2/build/sqlite.js": "c59f109f100c2bae0b9342f04e0d400583e2e3211d08bb71095177a4109ee5bf",
"https://deno.land/x/sqlite@v3.7.2/build/vfs.js": "08533cc78fb29b9d9bd62f6bb93e5ef333407013fed185776808f11223ba0e70",
"https://deno.land/x/sqlite@v3.7.2/mod.ts": "e09fc79d8065fe222578114b109b1fd60077bff1bb75448532077f784f4d6a83",
"https://deno.land/x/sqlite@v3.7.2/src/constants.ts": "90f3be047ec0a89bcb5d6fc30db121685fc82cb00b1c476124ff47a4b0472aa9",
"https://deno.land/x/sqlite@v3.7.2/src/db.ts": "62f3ad4d593c07e7c64fbbd97da6b4579ea695f8d11d52d899661e9d42a400fd",
"https://deno.land/x/sqlite@v3.7.2/src/error.ts": "f7a15cb00d7c3797da1aefee3cf86d23e0ae92e73f0ba3165496c3816ab9503a",
"https://deno.land/x/sqlite@v3.7.2/src/function.ts": "e4c83b8ec64bf88bafad2407376b0c6a3b54e777593c70336fb40d43a79865f2",
"https://deno.land/x/sqlite@v3.7.2/src/query.ts": "d58abda928f6582d77bad685ecf551b1be8a15e8e38403e293ec38522e030cad",
"https://deno.land/x/sqlite@v3.7.2/src/wasm.ts": "e79d0baa6e42423257fb3c7cc98091c54399254867e0f34a09b5bdef37bd9487",
"https://esm.sh/preact@10.11.3": "ad3c24796c4132c84b4b392f812228d53a0fd600fa64648f27aebd05ec09b24e",
"https://esm.sh/stable/preact@10.11.3/denonext/preact.mjs": "c828d9020ea26f07ba07b2f0a3ef97fd7ceb1c2a772c380ca05e2647ac8d3923",
"https://esm.sh/twind@0.16.16": "7f93bf4dc6102cef9a66689807b09f6bf35cbd8dd397b550fc97525c3e71e196",
@ -28,7 +18,7 @@
"https://esm.sh/v127/twind@0.16.16/twind.d.ts": "f0e7236ef5a8b39dbe9cf4439dd4689c5954980c2987d00e9c94cd1a5e8923fb",
"https://raw.githubusercontent.com/BlowaterNostr/csp/master/csp.ts": "3e8eed3d933748d48c83e2ae583bf86748621bcd6e8f181bef8a6ae8e5a4bfac",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/ende.ts": "86fa705459ce19edc2c320a463e55f1cece3c1d415dfb36af387a433a6453da8",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts": "c4f535fff729290e274541ac003f9f8b7c21da3121be55a6c361d72dfd5747c4",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts": "12405f91cb7260775fd202bbbcbaf96052ce394d6c4e409fc38c17ae3d8bd540",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/nostr.ts": "2dda31c5c22fba273f68ad1f747e9e5e8c3ef1e6a6bbdf0835109f514236c28b",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/relay-list.test.ts": "93c319f991c03c4a62d080960c83fc17542c0f593344ca37c9e56cad7428de2a",
"https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/relay.ts": "dd7c16640826987b97367046c6c76adb8c2d3c4843f38480b97beb71147dc797",

View File

@ -9,16 +9,15 @@ import {
prepareEncryptedNostrEvent,
prepareNormalNostrEvent,
RelayResponse_Event,
RelayResponse_REQ_Message,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/nostr.ts";
import {
ConnectionPool,
newSubID,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/relay.ts";
import { getTags, prepareNostrImageEvents, Tag } from "../nostr.ts";
import { prepareNostrImageEvents, Tag } from "../nostr.ts";
import {
PrivateKey,
publicKeyHexFromNpub,
toPublicKeyHex,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts";
export async function sendDMandImages(args: {
@ -234,9 +233,10 @@ async function* messagesSendByMeTo(
limit: number,
) {
receiverPubKey = publicKeyHexFromNpub(receiverPubKey);
const myPri = PrivateKey.FromHex(myPriKey) as PrivateKey;
for await (
let { res: relayResponse } of getEncryptedMessagesBetween(
toPublicKeyHex(myPriKey),
myPri.toPublicKey().hex,
receiverPubKey,
relay,
limit,
@ -253,10 +253,11 @@ async function* messagesSendToMeBy(
limit: number,
) {
senderPubKey = publicKeyHexFromNpub(senderPubKey);
const myPri = PrivateKey.FromHex(myPriKey) as PrivateKey;
for await (
let { res: relayResponse } of getEncryptedMessagesBetween(
senderPubKey,
toPublicKeyHex(myPriKey),
myPri.toPublicKey().hex,
relay,
limit,
)

View File

@ -97,7 +97,7 @@ export function getProfilesByName(db: Database, name: string): ProfileEvent[] {
for (const events of profilesPerUser.values()) {
events.sort((e1, e2) => e2.created_at - e1.created_at);
const p = ProfileFromNostrEvent(events[0]);
if (p.content.name?.toLocaleLowerCase().indexOf(name.toLowerCase()) != -1) {
if (p.content.name && p.content.name?.toLocaleLowerCase().indexOf(name.toLowerCase()) != -1) {
result.push(p);
}
}

View File

@ -21,15 +21,11 @@ import {
reassembleBase64ImageFromEvents,
} from "./nostr.ts";
import { LamportTime } from "./time.ts";
import {
generatePrivateKeyHex,
PrivateKey,
toPublicKeyHex,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts";
import { PrivateKey } from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts";
Deno.test("prepareNostrImageEvents", async (t) => {
const pri = PrivateKey.Generate();
const pub = toPublicKeyHex(pri.hex);
const pub = pri.toPublicKey().hex;
let randomData = new Uint8Array(1024 * 48); // 48KB raw data
for (let i = 0; i < randomData.length; i++) {
@ -80,7 +76,7 @@ Deno.test("prepareNostrImageEvents", async (t) => {
Deno.test("groupImageEvents", async () => {
const pri = PrivateKey.Generate();
const pub = toPublicKeyHex(pri.hex);
const pub = pri.toPublicKey().hex;
let randomData = new Uint8Array(1024 * 17);
for (let i = 0; i < randomData.length; i++) {
@ -141,7 +137,7 @@ Deno.test("Generate reply event", async () => {
) as NostrEvent;
assertEquals(replyMessage1WithText.kind, message1.kind);
assertEquals(replyMessage1WithText.pubkey, toPublicKeyHex(userAPrivateKey.hex));
assertEquals(replyMessage1WithText.pubkey, userAPrivateKey.toPublicKey().hex);
assertEquals(replyMessage1WithText.tags, [[
"e",
message1.id,
@ -191,7 +187,7 @@ Deno.test("Group reply messages", async (t) => {
"text message 5, text message 3's reply",
) as NostrEvent;
const message6LeadEventID = generatePrivateKeyHex();
const message6LeadEventID = PrivateKey.Generate().hex;
const message6 = await prepareNormalNostrEvent(
userBContext,
NostrKind.DIRECT_MESSAGE,
@ -234,7 +230,7 @@ Deno.test("Group reply messages", async (t) => {
],
"image message 8",
);
const message9LeadEventID = generatePrivateKeyHex();
const message9LeadEventID = PrivateKey.Generate().hex;
const message9 = await prepareReplyEvent(
userAContext,
message6,
@ -335,7 +331,7 @@ Deno.test("Group reply messages", async (t) => {
"text message 1",
);
const message2LeadEventID = generatePrivateKeyHex();
const message2LeadEventID = PrivateKey.Generate().hex;
const message2 = await prepareNormalNostrEvent(
userBContext,
NostrKind.DIRECT_MESSAGE,
@ -428,7 +424,7 @@ Deno.test("Group reply messages", async (t) => {
notUsed,
[[
"image",
generatePrivateKeyHex(),
PrivateKey.Generate().hex,
"1",
"0",
]],

View File

@ -2,7 +2,7 @@
Extension to common Nostr types
*/
import {
generatePrivateKeyHex,
PrivateKey,
publicKeyHexFromNpub,
} from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/key.ts";
import * as nostr from "https://raw.githubusercontent.com/BlowaterNostr/nostr.ts/main/nostr.ts";
@ -88,7 +88,7 @@ export async function prepareNostrImageEvents(
const chunkSize = 32 * 1024;
const chunkCount = Math.ceil(binaryContent.length / chunkSize);
const events: nostr.NostrEvent[] = [];
let groupLeadEventID = generatePrivateKeyHex();
let groupLeadEventID = PrivateKey.Generate().hex;
for (let i = 0; i < chunkCount; i++) {
const chunk = binaryContent.slice(i * chunkSize, (i + 1) * chunkSize);
// encryption