Skip to content

Commit 2824be1

Browse files
vveerrggclaude
andcommitted
feat: add NIP-44 encryption and NIP-46 transport, upgrade to nostr-crypto-utils v0.5.1
Add NIP-44 (modern encrypted payloads) as a parallel to existing NIP-04, and add NIP-46 (Nostr Connect) transport layer — the missing bridge between nostr-crypto-utils protocol functions and relay I/O. - New src/nips/nip-44.ts: encryptNip44, decryptNip44, createEncryptedDM44 - New src/nips/nip-46.ts: Nip46Transport class with subscribe/publish/unwrap - Re-exports bunker URI helpers and convenience request creators - Switched NIP-26 delegation to use finalizeEvent() Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent dd6ae6c commit 2824be1

75 files changed

Lines changed: 1445 additions & 88 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

dist/browser/nostr-websocket-utils.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/browser/nostr-websocket-utils.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/browser/report.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="UTF-8"/>
55
<meta name="viewport" content="width=device-width, initial-scale=1"/>
6-
<title>nostr-websocket-utils [20 Feb 2026 at 11:04]</title>
6+
<title>nostr-websocket-utils [2 Mar 2026 at 10:53]</title>
77
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
88

99
<script>
@@ -31,7 +31,7 @@
3131
<body>
3232
<div id="app"></div>
3333
<script>
34-
window.chartData = [{"label":"nostr-websocket-utils.min.js","isAsset":true,"statSize":28900,"parsedSize":13509,"gzipSize":4726,"groups":[{"label":"node_modules","path":"./node_modules","statSize":15978,"groups":[{"label":"pino","path":"./node_modules/pino","statSize":13141,"groups":[{"id":874,"label":"browser.js","path":"./node_modules/pino/browser.js","statSize":13141}],"parsedSize":0,"gzipSize":0},{"label":"quick-format-unescaped","path":"./node_modules/quick-format-unescaped","statSize":2661,"groups":[{"id":793,"label":"index.js","path":"./node_modules/quick-format-unescaped/index.js","statSize":2661}],"parsedSize":0,"gzipSize":0},{"label":"ws","path":"./node_modules/ws","statSize":176,"groups":[{"id":591,"label":"browser.js","path":"./node_modules/ws/browser.js","statSize":176}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"src","path":"./src","statSize":12922,"groups":[{"id":999,"label":"browser.ts + 5 modules (concatenated)","path":"./src/browser.ts + 5 modules (concatenated)","statSize":12922,"parsedSize":13509,"gzipSize":4726,"concatenated":true,"groups":[{"label":"src","path":"./src/browser.ts + 5 modules (concatenated)/src","statSize":12922,"groups":[{"id":null,"label":"browser.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/browser.ts","statSize":177,"parsedSize":185,"gzipSize":64,"inaccurateSizes":true},{"label":"core","path":"./src/browser.ts + 5 modules (concatenated)/src/core","statSize":10996,"groups":[{"id":null,"label":"client.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/client.ts","statSize":6696,"parsedSize":7000,"gzipSize":2448,"inaccurateSizes":true},{"id":null,"label":"queue.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/queue.ts","statSize":4300,"parsedSize":4495,"gzipSize":1572,"inaccurateSizes":true}],"parsedSize":11495,"gzipSize":4021,"inaccurateSizes":true},{"label":"types","path":"./src/browser.ts + 5 modules (concatenated)/src/types","statSize":916,"groups":[{"id":null,"label":"index.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/index.ts","statSize":567,"parsedSize":592,"gzipSize":207,"inaccurateSizes":true},{"id":null,"label":"priority.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/priority.ts","statSize":349,"parsedSize":364,"gzipSize":127,"inaccurateSizes":true}],"parsedSize":957,"gzipSize":335,"inaccurateSizes":true},{"label":"utils","path":"./src/browser.ts + 5 modules (concatenated)/src/utils","statSize":833,"groups":[{"id":null,"label":"logger.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/utils/logger.ts","statSize":833,"parsedSize":870,"gzipSize":304,"inaccurateSizes":true}],"parsedSize":870,"gzipSize":304,"inaccurateSizes":true}],"parsedSize":13509,"gzipSize":4726,"inaccurateSizes":true}]}],"parsedSize":13509,"gzipSize":4726}],"isInitialByEntrypoint":{"main":true}}];
34+
window.chartData = [{"label":"nostr-websocket-utils.min.js","isAsset":true,"statSize":29547,"parsedSize":13835,"gzipSize":4893,"groups":[{"label":"node_modules","path":"./node_modules","statSize":15978,"groups":[{"label":"pino","path":"./node_modules/pino","statSize":13141,"groups":[{"id":874,"label":"browser.js","path":"./node_modules/pino/browser.js","statSize":13141}],"parsedSize":0,"gzipSize":0},{"label":"quick-format-unescaped","path":"./node_modules/quick-format-unescaped","statSize":2661,"groups":[{"id":793,"label":"index.js","path":"./node_modules/quick-format-unescaped/index.js","statSize":2661}],"parsedSize":0,"gzipSize":0},{"label":"ws","path":"./node_modules/ws","statSize":176,"groups":[{"id":591,"label":"browser.js","path":"./node_modules/ws/browser.js","statSize":176}],"parsedSize":0,"gzipSize":0}],"parsedSize":0,"gzipSize":0},{"label":"src","path":"./src","statSize":13569,"groups":[{"id":999,"label":"browser.ts + 5 modules (concatenated)","path":"./src/browser.ts + 5 modules (concatenated)","statSize":13569,"parsedSize":13833,"gzipSize":4893,"concatenated":true,"groups":[{"label":"src","path":"./src/browser.ts + 5 modules (concatenated)/src","statSize":13569,"groups":[{"id":null,"label":"browser.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/browser.ts","statSize":177,"parsedSize":180,"gzipSize":63,"inaccurateSizes":true},{"label":"core","path":"./src/browser.ts + 5 modules (concatenated)/src/core","statSize":11643,"groups":[{"id":null,"label":"client.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/client.ts","statSize":7270,"parsedSize":7411,"gzipSize":2621,"inaccurateSizes":true},{"id":null,"label":"queue.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/core/queue.ts","statSize":4373,"parsedSize":4458,"gzipSize":1576,"inaccurateSizes":true}],"parsedSize":11869,"gzipSize":4198,"inaccurateSizes":true},{"label":"types","path":"./src/browser.ts + 5 modules (concatenated)/src/types","statSize":916,"groups":[{"id":null,"label":"index.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/index.ts","statSize":567,"parsedSize":578,"gzipSize":204,"inaccurateSizes":true},{"id":null,"label":"priority.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/types/priority.ts","statSize":349,"parsedSize":355,"gzipSize":125,"inaccurateSizes":true}],"parsedSize":933,"gzipSize":330,"inaccurateSizes":true},{"label":"utils","path":"./src/browser.ts + 5 modules (concatenated)/src/utils","statSize":833,"groups":[{"id":null,"label":"logger.ts","path":"./src/browser.ts + 5 modules (concatenated)/src/utils/logger.ts","statSize":833,"parsedSize":849,"gzipSize":300,"inaccurateSizes":true}],"parsedSize":849,"gzipSize":300,"inaccurateSizes":true}],"parsedSize":13833,"gzipSize":4893,"inaccurateSizes":true}]}],"parsedSize":13833,"gzipSize":4893}],"isInitialByEntrypoint":{"main":true}}];
3535
window.entrypoints = ["main"];
3636
window.defaultSizes = "parsed";
3737
</script>

dist/cjs/core/client.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/cjs/core/client.js

Lines changed: 10 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)