nostr-crypto-utils 0.4.12 → 0.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +52 -2
  2. package/dist/browser/343.nostr-crypto-utils.min.js +1 -0
  3. package/dist/browser/419.nostr-crypto-utils.min.js +1 -0
  4. package/dist/browser/crypto.nostr-crypto-utils.min.js +1 -1
  5. package/dist/browser/main.nostr-crypto-utils.min.js +1 -0
  6. package/dist/browser/protocol.nostr-crypto-utils.min.js +1 -1
  7. package/dist/cjs/event/index.d.ts +7 -0
  8. package/dist/cjs/event/index.d.ts.map +1 -0
  9. package/dist/cjs/event/index.js +15 -0
  10. package/dist/cjs/event/index.js.map +1 -0
  11. package/dist/cjs/event/signing.d.ts +12 -0
  12. package/dist/cjs/event/signing.d.ts.map +1 -1
  13. package/dist/cjs/event/signing.js +29 -0
  14. package/dist/cjs/event/signing.js.map +1 -1
  15. package/dist/cjs/index.d.ts +11 -8
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +58 -56
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/nips/nip-04.d.ts +1 -1
  20. package/dist/cjs/nips/nip-04.d.ts.map +1 -1
  21. package/dist/cjs/nips/nip-04.js +1 -0
  22. package/dist/cjs/nips/nip-04.js.map +1 -1
  23. package/dist/cjs/protocol/index.d.ts +9 -9
  24. package/dist/cjs/protocol/index.d.ts.map +1 -1
  25. package/dist/cjs/protocol/index.js +8 -9
  26. package/dist/cjs/protocol/index.js.map +1 -1
  27. package/dist/cjs/types/base.d.ts +45 -121
  28. package/dist/cjs/types/base.d.ts.map +1 -1
  29. package/dist/cjs/types/base.js +10 -28
  30. package/dist/cjs/types/base.js.map +1 -1
  31. package/dist/cjs/utils/encoding.d.ts +12 -0
  32. package/dist/cjs/utils/encoding.d.ts.map +1 -1
  33. package/dist/cjs/utils/encoding.js +18 -0
  34. package/dist/cjs/utils/encoding.js.map +1 -1
  35. package/dist/cjs/utils/integration.d.ts +14 -15
  36. package/dist/cjs/utils/integration.d.ts.map +1 -1
  37. package/dist/cjs/utils/integration.js +145 -98
  38. package/dist/cjs/utils/integration.js.map +1 -1
  39. package/dist/cjs/utils/logger.d.ts +17 -2
  40. package/dist/cjs/utils/logger.d.ts.map +1 -1
  41. package/dist/cjs/utils/logger.js +40 -3
  42. package/dist/cjs/utils/logger.js.map +1 -1
  43. package/dist/cjs/utils/validation.d.ts +6 -0
  44. package/dist/cjs/utils/validation.d.ts.map +1 -1
  45. package/dist/cjs/utils/validation.js +37 -0
  46. package/dist/cjs/utils/validation.js.map +1 -1
  47. package/dist/cjs/validation/keys.d.ts +7 -0
  48. package/dist/cjs/validation/keys.d.ts.map +1 -0
  49. package/dist/cjs/validation/keys.js +23 -0
  50. package/dist/cjs/validation/keys.js.map +1 -0
  51. package/dist/esm/event/index.d.ts +7 -0
  52. package/dist/esm/event/index.d.ts.map +1 -0
  53. package/dist/esm/event/index.js +7 -0
  54. package/dist/esm/event/index.js.map +1 -0
  55. package/dist/esm/event/signing.d.ts +12 -0
  56. package/dist/esm/event/signing.d.ts.map +1 -1
  57. package/dist/esm/event/signing.js +27 -0
  58. package/dist/esm/event/signing.js.map +1 -1
  59. package/dist/esm/index.d.ts +11 -8
  60. package/dist/esm/index.d.ts.map +1 -1
  61. package/dist/esm/index.js +16 -14
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/nips/nip-04.d.ts +1 -1
  64. package/dist/esm/nips/nip-04.d.ts.map +1 -1
  65. package/dist/esm/nips/nip-04.js +1 -0
  66. package/dist/esm/nips/nip-04.js.map +1 -1
  67. package/dist/esm/protocol/index.d.ts +9 -9
  68. package/dist/esm/protocol/index.d.ts.map +1 -1
  69. package/dist/esm/protocol/index.js +8 -9
  70. package/dist/esm/protocol/index.js.map +1 -1
  71. package/dist/esm/types/base.d.ts +45 -121
  72. package/dist/esm/types/base.d.ts.map +1 -1
  73. package/dist/esm/types/base.js +10 -28
  74. package/dist/esm/types/base.js.map +1 -1
  75. package/dist/esm/utils/encoding.d.ts +12 -0
  76. package/dist/esm/utils/encoding.d.ts.map +1 -1
  77. package/dist/esm/utils/encoding.js +16 -0
  78. package/dist/esm/utils/encoding.js.map +1 -1
  79. package/dist/esm/utils/integration.d.ts +14 -15
  80. package/dist/esm/utils/integration.d.ts.map +1 -1
  81. package/dist/esm/utils/integration.js +136 -89
  82. package/dist/esm/utils/integration.js.map +1 -1
  83. package/dist/esm/utils/logger.d.ts +17 -2
  84. package/dist/esm/utils/logger.d.ts.map +1 -1
  85. package/dist/esm/utils/logger.js +38 -2
  86. package/dist/esm/utils/logger.js.map +1 -1
  87. package/dist/esm/utils/validation.d.ts +6 -0
  88. package/dist/esm/utils/validation.d.ts.map +1 -1
  89. package/dist/esm/utils/validation.js +36 -0
  90. package/dist/esm/utils/validation.js.map +1 -1
  91. package/dist/esm/validation/keys.d.ts +7 -0
  92. package/dist/esm/validation/keys.d.ts.map +1 -0
  93. package/dist/esm/validation/keys.js +20 -0
  94. package/dist/esm/validation/keys.js.map +1 -0
  95. package/package.json +1 -1
  96. package/src/__tests__/integration.test.ts +1 -1
  97. package/src/__tests__/types.test.ts +36 -242
  98. package/src/event/index.ts +7 -0
  99. package/src/event/signing.ts +29 -0
  100. package/src/index.ts +39 -47
  101. package/src/nips/nip-04.ts +2 -0
  102. package/src/protocol/index.ts +23 -14
  103. package/src/types/base.ts +58 -122
  104. package/src/utils/encoding.ts +18 -0
  105. package/src/utils/integration.ts +159 -107
  106. package/src/utils/logger.ts +46 -2
  107. package/src/utils/validation.ts +37 -0
  108. package/src/validation/keys.ts +19 -0
  109. package/dist/browser/551.nostr-crypto-utils.min.js +0 -1
  110. package/dist/browser/565.nostr-crypto-utils.min.js +0 -1
  111. package/dist/browser/69.nostr-crypto-utils.min.js +0 -1
  112. package/dist/browser/main-43dd7041.nostr-crypto-utils.min.js +0 -1
  113. package/dist/browser/main-7bd12dde.nostr-crypto-utils.min.js +0 -1
  114. package/dist/browser/main-d277ceb9.nostr-crypto-utils.min.js +0 -1
package/README.md CHANGED
@@ -12,6 +12,7 @@ This library provides essential cryptographic operations and utilities required
12
12
  - Encrypted direct messages (NIP-04)
13
13
  - Bech32-encoded entities (NIP-19)
14
14
  - Delegated event signing (NIP-26)
15
+ - Authentication protocol (NIP-42)
15
16
 
16
17
  ## Core Features
17
18
 
@@ -21,6 +22,7 @@ This library provides essential cryptographic operations and utilities required
21
22
  - NIP-04 encryption/decryption
22
23
  - Shared secret computation
23
24
  - Delegation token handling (NIP-26)
25
+ - Authentication protocol (NIP-42)
24
26
 
25
27
  ### Encoding Utilities
26
28
  - Hex encoding/decoding
@@ -34,6 +36,7 @@ This library provides essential cryptographic operations and utilities required
34
36
  - NIP-04: Encrypted Direct Messages
35
37
  - NIP-19: Bech32-Encoded Entities
36
38
  - NIP-26: Delegated Event Signing
39
+ - NIP-42: Authentication Protocol
37
40
 
38
41
  ## Project Structure
39
42
 
@@ -104,6 +107,7 @@ This library implements the following Nostr Implementation Possibilities (NIPs):
104
107
  | [NIP-04](https://github.com/nostr-protocol/nips/blob/master/04.md) | Encrypted Direct Messages | Secure, end-to-end encrypted direct messaging between users | ✅ Complete |
105
108
  | [NIP-19](https://github.com/nostr-protocol/nips/blob/master/19.md) | bech32-encoded Entities | Human-readable encoding for keys, events, and other entities | ✅ Complete |
106
109
  | [NIP-26](https://github.com/nostr-protocol/nips/blob/master/26.md) | Delegated Event Signing | Create and verify delegated event signing capabilities | ✅ Complete |
110
+ | [NIP-42](https://github.com/nostr-protocol/nips/blob/master/42.md) | Authentication | Client-relay authentication protocol | ✅ Complete |
107
111
 
108
112
  ### NIP-01 Features
109
113
  - Event creation and serialization
@@ -199,6 +203,52 @@ try {
199
203
  console.error(error); // Error: Invalid hex string
200
204
  }
201
205
 
206
+ ### Type System
207
+
208
+ #### Event Types
209
+ The library provides a comprehensive type system for Nostr events:
210
+
211
+ ```typescript
212
+ // Create an unsigned event
213
+ const unsignedEvent: UnsignedNostrEvent = {
214
+ kind: NostrEventKind.TEXT_NOTE,
215
+ content: "Hello Nostr!",
216
+ tags: [],
217
+ created_at: Math.floor(Date.now() / 1000)
218
+ };
219
+
220
+ // Sign the event
221
+ const signedEvent = await signEvent(unsignedEvent, privateKey);
222
+ ```
223
+
224
+ #### Authentication (NIP-42)
225
+ Support for NIP-42 authentication:
226
+
227
+ ```typescript
228
+ // Create an auth event
229
+ const authEvent: UnsignedNostrEvent = {
230
+ kind: NostrEventKind.AUTH,
231
+ content: "challenge-response",
232
+ tags: [["challenge", challenge]],
233
+ created_at: Math.floor(Date.now() / 1000)
234
+ };
235
+
236
+ // Sign and send the auth event
237
+ const signedAuthEvent = await signEvent(authEvent, privateKey);
238
+ ```
239
+
240
+ #### Custom Tags (NIP-12)
241
+ Support for arbitrary tags:
242
+
243
+ ```typescript
244
+ // Create a filter with custom tags
245
+ const filter: NostrFilter = {
246
+ kinds: [NostrEventKind.TEXT_NOTE],
247
+ "#t": ["nostr", "crypto"], // Filter by custom tag
248
+ limit: 10
249
+ };
250
+ ```
251
+
202
252
  ### Quick Start
203
253
 
204
254
  ### Installation
@@ -659,8 +709,8 @@ import { NostrEvent, NostrFilter, ValidationResult } from '@humanjavaenterprises
659
709
 
660
710
  // All types are properly defined
661
711
  const filter: NostrFilter = {
662
- kinds: [1],
663
- authors: ['pubkey1', 'pubkey2'],
712
+ kinds: [NostrEventKind.TEXT_NOTE],
713
+ "#t": ["nostr", "crypto"], // Filter by custom tag
664
714
  limit: 10
665
715
  };
666
716
 
@@ -0,0 +1 @@
1
+ "use strict";(this.webpackChunkNostrCryptoUtils=this.webpackChunkNostrCryptoUtils||[]).push([[343],{2343:(t,r)=>{const e="qpzry9x8gf2tvdw0s3jn54khce6mua7l",n={};for(let t=0;t<32;t++){const r=e.charAt(t);n[r]=t}function o(t){const r=t>>25;return(33554431&t)<<5^996825010&-(1&r)^642813549&-(r>>1&1)^513874426&-(r>>2&1)^1027748829&-(r>>3&1)^705979059&-(r>>4&1)}function i(t){let r=1;for(let e=0;e<t.length;++e){const n=t.charCodeAt(e);if(n<33||n>126)return"Invalid prefix ("+t+")";r=o(r)^n>>5}r=o(r);for(let e=0;e<t.length;++e){const n=t.charCodeAt(e);r=o(r)^31&n}return r}function s(t,r,e,n){let o=0,i=0;const s=(1<<e)-1,c=[];for(let n=0;n<t.length;++n)for(o=o<<r|t[n],i+=r;i>=e;)i-=e,c.push(o>>i&s);if(n)i>0&&c.push(o<<e-i&s);else{if(i>=r)return"Excess padding";if(o<<e-i&s)return"Non-zero padding"}return c}function c(t){return s(t,8,5,!0)}function f(t){const r=s(t,5,8,!1);if(Array.isArray(r))return r}function u(t){const r=s(t,5,8,!1);if(Array.isArray(r))return r;throw new Error(r)}function h(t){let r;function s(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";const s=t.toLowerCase(),c=t.toUpperCase();if(t!==s&&t!==c)return"Mixed-case string "+t;const f=(t=s).lastIndexOf("1");if(-1===f)return"No separator character for "+t;if(0===f)return"Missing prefix for "+t;const u=t.slice(0,f),h=t.slice(f+1);if(h.length<6)return"Data too short";let l=i(u);if("string"==typeof l)return l;const a=[];for(let t=0;t<h.length;++t){const r=h.charAt(t),e=n[r];if(void 0===e)return"Unknown character "+r;l=o(l)^e,t+6>=h.length||a.push(e)}return l!==r?"Invalid checksum for "+t:{prefix:u,words:a}}return r="bech32"===t?1:734539939,{decodeUnsafe:function(t,r){const e=s(t,r);if("object"==typeof e)return e},decode:function(t,r){const e=s(t,r);if("object"==typeof e)return e;throw new Error(e)},encode:function(t,n,s){if(s=s||90,t.length+7+n.length>s)throw new TypeError("Exceeds length limit");let c=i(t=t.toLowerCase());if("string"==typeof c)throw new Error(c);let f=t+"1";for(let t=0;t<n.length;++t){const r=n[t];if(r>>5)throw new Error("Non 5-bit word");c=o(c)^r,f+=e.charAt(r)}for(let t=0;t<6;++t)c=o(c);c^=r;for(let t=0;t<6;++t)f+=e.charAt(c>>5*(5-t)&31);return f},toWords:c,fromWordsUnsafe:f,fromWords:u}}h("bech32"),h("bech32m")}}]);
@@ -0,0 +1 @@
1
+ (this.webpackChunkNostrCryptoUtils=this.webpackChunkNostrCryptoUtils||[]).push([[419],{295:(t,e,r)=>{var i=r(8287).Buffer;t.exports=function(t,e){for(var r=Math.min(t.length,e.length),n=new i(r),o=0;o<r;++o)n[o]=t[o]^e[o];return n}},6168:(t,e,r)=>{"use strict";var i=r(2861).Buffer,n=r(8310).Transform,o=r(3141).I;function s(t){n.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(6698)(s,n);var f="undefined"!=typeof Uint8Array,a="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(i.prototype instanceof Uint8Array||i.TYPED_ARRAY_SUPPORT);s.prototype.update=function(t,e,r){var n=function(t,e){if(t instanceof i)return t;if("string"==typeof t)return i.from(t,e);if(a&&ArrayBuffer.isView(t)){if(0===t.byteLength)return i.alloc(0);var r=i.from(t.buffer,t.byteOffset,t.byteLength);if(r.byteLength===t.byteLength)return r}if(f&&t instanceof Uint8Array)return i.from(t);if(i.isBuffer(t)&&t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t))return i.from(t);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}(t,e),o=this._update(n);return this.hashMode?this:(r&&(o=this._toString(o,r)),o)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},s.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},s.prototype._finalOrDigest=function(t){var e=this.__final()||i.alloc(0);return t&&(e=this._toString(e,t,!0)),e},s.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new o(e),this._encoding=e),this._encoding!==e)throw new Error("can’t switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i},t.exports=s},5622:(t,e,r)=>{function i(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===i(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===i(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===i(t)},e.isError=function(t){return"[object Error]"===i(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(8287).Buffer.isBuffer},1324:(t,e,r)=>{var i=r(8287).Buffer,n=r(6729),o=r(2801);t.exports=function(t){return new f(t)};var s={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function f(t){this.curveType=s[t],this.curveType||(this.curveType={name:t}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function a(t,e,r){Array.isArray(t)||(t=t.toArray());var n=new i(t);if(r&&n.length<r){var o=new i(r-n.length);o.fill(0),n=i.concat([o,n])}return e?n.toString(e):n}s.p224=s.secp224r1,s.p256=s.secp256r1=s.prime256v1,s.p192=s.secp192r1=s.prime192v1,s.p384=s.secp384r1,s.p521=s.secp521r1,f.prototype.generateKeys=function(t,e){return this.keys=this.curve.genKeyPair(),this.getPublicKey(t,e)},f.prototype.computeSecret=function(t,e,r){return e=e||"utf8",i.isBuffer(t)||(t=new i(t,e)),a(this.curve.keyFromPublic(t).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},f.prototype.getPublicKey=function(t,e){var r=this.keys.getPublic("compressed"===e,!0);return"hybrid"===e&&(r[r.length-1]%2?r[0]=7:r[0]=6),a(r,t)},f.prototype.getPrivateKey=function(t){return a(this.keys.getPrivate(),t)},f.prototype.setPublicKey=function(t,e){return e=e||"utf8",i.isBuffer(t)||(t=new i(t,e)),this.keys._importPublic(t),this},f.prototype.setPrivateKey=function(t,e){e=e||"utf8",i.isBuffer(t)||(t=new i(t,e));var r=new o(t);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this}},7108:(t,e,r)=>{"use strict";var i=r(6698),n=r(8276),o=r(6011),s=r(2802),f=r(6168);function a(t){f.call(this,"digest"),this._hash=t}i(a,f),a.prototype._update=function(t){this._hash.update(t)},a.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return"md5"===(t=t.toLowerCase())?new n:"rmd160"===t||"ripemd160"===t?new o:new a(s(t))}},320:(t,e,r)=>{var i=r(8276);t.exports=function(t){return(new i).update(t).digest()}},3507:(t,e,r)=>{"use strict";var i=r(6698),n=r(1800),o=r(6168),s=r(2861).Buffer,f=r(320),a=r(6011),p=r(2802),u=s.alloc(128);function c(t,e){o.call(this,"digest"),"string"==typeof e&&(e=s.from(e));var r="sha512"===t||"sha384"===t?128:64;this._alg=t,this._key=e,e.length>r?e=("rmd160"===t?new a:p(t)).update(e).digest():e.length<r&&(e=s.concat([e,u],r));for(var i=this._ipad=s.allocUnsafe(r),n=this._opad=s.allocUnsafe(r),f=0;f<r;f++)i[f]=54^e[f],n[f]=92^e[f];this._hash="rmd160"===t?new a:p(t),this._hash.update(i)}i(c,o),c.prototype._update=function(t){this._hash.update(t)},c.prototype._final=function(){var t=this._hash.digest();return("rmd160"===this._alg?new a:p(this._alg)).update(this._opad).update(t).digest()},t.exports=function(t,e){return"rmd160"===(t=t.toLowerCase())||"ripemd160"===t?new c("rmd160",e):"md5"===t?new n(f,e):new c(t,e)}},1800:(t,e,r)=>{"use strict";var i=r(6698),n=r(2861).Buffer,o=r(6168),s=n.alloc(128),f=64;function a(t,e){o.call(this,"digest"),"string"==typeof e&&(e=n.from(e)),this._alg=t,this._key=e,e.length>f?e=t(e):e.length<f&&(e=n.concat([e,s],f));for(var r=this._ipad=n.allocUnsafe(f),i=this._opad=n.allocUnsafe(f),a=0;a<f;a++)r[a]=54^e[a],i[a]=92^e[a];this._hash=[r]}i(a,o),a.prototype._update=function(t){this._hash.push(t)},a.prototype._final=function(){var t=this._alg(n.concat(this._hash));return this._alg(n.concat([this._opad,t]))},t.exports=a},1565:(t,e,r)=>{"use strict";e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=r(3209),e.createHash=e.Hash=r(7108),e.createHmac=e.Hmac=r(3507);var i=r(5715),n=Object.keys(i),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(n);e.getHashes=function(){return o};var s=r(8396);e.pbkdf2=s.pbkdf2,e.pbkdf2Sync=s.pbkdf2Sync;var f=r(125);e.Cipher=f.Cipher,e.createCipher=f.createCipher,e.Cipheriv=f.Cipheriv,e.createCipheriv=f.createCipheriv,e.Decipher=f.Decipher,e.createDecipher=f.createDecipher,e.Decipheriv=f.Decipheriv,e.createDecipheriv=f.createDecipheriv,e.getCiphers=f.getCiphers,e.listCiphers=f.listCiphers;var a=r(5380);e.DiffieHellmanGroup=a.DiffieHellmanGroup,e.createDiffieHellmanGroup=a.createDiffieHellmanGroup,e.getDiffieHellman=a.getDiffieHellman,e.createDiffieHellman=a.createDiffieHellman,e.DiffieHellman=a.DiffieHellman;var p=r(20);e.createSign=p.createSign,e.Sign=p.Sign,e.createVerify=p.createVerify,e.Verify=p.Verify,e.createECDH=r(1324);var u=r(7168);e.publicEncrypt=u.publicEncrypt,e.privateEncrypt=u.privateEncrypt,e.publicDecrypt=u.publicDecrypt,e.privateDecrypt=u.privateDecrypt;var c=r(6983);e.randomFill=c.randomFill,e.randomFillSync=c.randomFillSync,e.createCredentials=function(){throw new Error("sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify")},e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},9560:(t,e,r)=>{"use strict";e.utils=r(7626),e.Cipher=r(2808),e.DES=r(2211),e.CBC=r(3389),e.EDE=r(5279)},3389:(t,e,r)=>{"use strict";var i=r(3349),n=r(6698),o={};function s(t){i.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e<this.iv.length;e++)this.iv[e]=t[e]}e.instantiate=function(t){function e(e){t.call(this,e),this._cbcInit()}n(e,t);for(var r=Object.keys(o),i=0;i<r.length;i++){var s=r[i];e.prototype[s]=o[s]}return e.create=function(t){return new e(t)},e},o._cbcInit=function(){var t=new s(this.options.iv);this._cbcState=t},o._update=function(t,e,r,i){var n=this._cbcState,o=this.constructor.super_.prototype,s=n.iv;if("encrypt"===this.type){for(var f=0;f<this.blockSize;f++)s[f]^=t[e+f];for(o._update.call(this,s,0,r,i),f=0;f<this.blockSize;f++)s[f]=r[i+f]}else{for(o._update.call(this,t,e,r,i),f=0;f<this.blockSize;f++)r[i+f]^=s[f];for(f=0;f<this.blockSize;f++)s[f]=t[e+f]}}},2808:(t,e,r)=>{"use strict";var i=r(3349);function n(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==t.padding}t.exports=n,n.prototype._init=function(){},n.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},n.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i<r;i++)this.buffer[this.bufferOff+i]=t[e+i];return this.bufferOff+=r,r},n.prototype._flushBuffer=function(t,e){return this._update(this.buffer,0,t,e),this.bufferOff=0,this.blockSize},n.prototype._updateEncrypt=function(t){var e=0,r=0,i=(this.bufferOff+t.length)/this.blockSize|0,n=new Array(i*this.blockSize);0!==this.bufferOff&&(e+=this._buffer(t,e),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(n,r)));for(var o=t.length-(t.length-e)%this.blockSize;e<o;e+=this.blockSize)this._update(t,e,n,r),r+=this.blockSize;for(;e<t.length;e++,this.bufferOff++)this.buffer[this.bufferOff]=t[e];return n},n.prototype._updateDecrypt=function(t){for(var e=0,r=0,i=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,n=new Array(i*this.blockSize);i>0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},n.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},n.prototype._pad=function(t,e){if(0===e)return!1;for(;e<t.length;)t[e++]=0;return!0},n.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},n.prototype._unpad=function(t){return t},n.prototype._finalDecrypt=function(){i.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var t=new Array(this.blockSize);return this._flushBuffer(t,0),this._unpad(t)}},2211:(t,e,r)=>{"use strict";var i=r(3349),n=r(6698),o=r(7626),s=r(2808);function f(){this.tmp=new Array(2),this.keys=null}function a(t){s.call(this,t);var e=new f;this._desState=e,this.deriveKeys(e,t.key)}n(a,s),t.exports=a,a.create=function(t){return new a(t)};var p=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];a.prototype.deriveKeys=function(t,e){t.keys=new Array(32),i.equal(e.length,this.blockSize,"Invalid key length");var r=o.readUInt32BE(e,0),n=o.readUInt32BE(e,4);o.pc1(r,n,t.tmp,0),r=t.tmp[0],n=t.tmp[1];for(var s=0;s<t.keys.length;s+=2){var f=p[s>>>1];r=o.r28shl(r,f),n=o.r28shl(n,f),o.pc2(r,n,t.keys,s)}},a.prototype._update=function(t,e,r,i){var n=this._desState,s=o.readUInt32BE(t,e),f=o.readUInt32BE(t,e+4);o.ip(s,f,n.tmp,0),s=n.tmp[0],f=n.tmp[1],"encrypt"===this.type?this._encrypt(n,s,f,n.tmp,0):this._decrypt(n,s,f,n.tmp,0),s=n.tmp[0],f=n.tmp[1],o.writeUInt32BE(r,s,i),o.writeUInt32BE(r,f,i+4)},a.prototype._pad=function(t,e){if(!1===this.padding)return!1;for(var r=t.length-e,i=e;i<t.length;i++)t[i]=r;return!0},a.prototype._unpad=function(t){if(!1===this.padding)return t;for(var e=t[t.length-1],r=t.length-e;r<t.length;r++)i.equal(t[r],e);return t.slice(0,t.length-e)},a.prototype._encrypt=function(t,e,r,i,n){for(var s=e,f=r,a=0;a<t.keys.length;a+=2){var p=t.keys[a],u=t.keys[a+1];o.expand(f,t.tmp,0),p^=t.tmp[0],u^=t.tmp[1];var c=o.substitute(p,u),h=f;f=(s^o.permute(c))>>>0,s=h}o.rip(f,s,i,n)},a.prototype._decrypt=function(t,e,r,i,n){for(var s=r,f=e,a=t.keys.length-2;a>=0;a-=2){var p=t.keys[a],u=t.keys[a+1];o.expand(s,t.tmp,0),p^=t.tmp[0],u^=t.tmp[1];var c=o.substitute(p,u),h=s;s=(f^o.permute(c))>>>0,f=h}o.rip(s,f,i,n)}},5279:(t,e,r)=>{"use strict";var i=r(3349),n=r(6698),o=r(2808),s=r(2211);function f(t,e){i.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),n=e.slice(8,16),o=e.slice(16,24);this.ciphers="encrypt"===t?[s.create({type:"encrypt",key:r}),s.create({type:"decrypt",key:n}),s.create({type:"encrypt",key:o})]:[s.create({type:"decrypt",key:o}),s.create({type:"encrypt",key:n}),s.create({type:"decrypt",key:r})]}function a(t){o.call(this,t);var e=new f(this.type,this.options.key);this._edeState=e}n(a,o),t.exports=a,a.create=function(t){return new a(t)},a.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},a.prototype._pad=s.prototype._pad,a.prototype._unpad=s.prototype._unpad},7626:(t,e)=>{"use strict";e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,i){for(var n=0,o=0,s=6;s>=0;s-=2){for(var f=0;f<=24;f+=8)n<<=1,n|=e>>>f+s&1;for(f=0;f<=24;f+=8)n<<=1,n|=t>>>f+s&1}for(s=6;s>=0;s-=2){for(f=1;f<=25;f+=8)o<<=1,o|=e>>>f+s&1;for(f=1;f<=25;f+=8)o<<=1,o|=t>>>f+s&1}r[i+0]=n>>>0,r[i+1]=o>>>0},e.rip=function(t,e,r,i){for(var n=0,o=0,s=0;s<4;s++)for(var f=24;f>=0;f-=8)n<<=1,n|=e>>>f+s&1,n<<=1,n|=t>>>f+s&1;for(s=4;s<8;s++)for(f=24;f>=0;f-=8)o<<=1,o|=e>>>f+s&1,o<<=1,o|=t>>>f+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},e.pc1=function(t,e,r,i){for(var n=0,o=0,s=7;s>=5;s--){for(var f=0;f<=24;f+=8)n<<=1,n|=e>>f+s&1;for(f=0;f<=24;f+=8)n<<=1,n|=t>>f+s&1}for(f=0;f<=24;f+=8)n<<=1,n|=e>>f+s&1;for(s=1;s<=3;s++){for(f=0;f<=24;f+=8)o<<=1,o|=e>>f+s&1;for(f=0;f<=24;f+=8)o<<=1,o|=t>>f+s&1}for(f=0;f<=24;f+=8)o<<=1,o|=t>>f+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},e.r28shl=function(t,e){return t<<e&268435455|t>>>28-e};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,i,n){for(var o=0,s=0,f=r.length>>>1,a=0;a<f;a++)o<<=1,o|=t>>>r[a]&1;for(a=f;a<r.length;a++)s<<=1,s|=e>>>r[a]&1;i[n+0]=o>>>0,i[n+1]=s>>>0},e.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=t>>>o&63;for(o=11;o>=3;o-=4)n|=t>>>o&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,n=0;n<4;n++)r<<=4,r|=i[64*n+(t>>>18-6*n&63)];for(n=0;n<4;n++)r<<=4,r|=i[256+64*n+(e>>>18-6*n&63)];return r>>>0};var n=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r<n.length;r++)e<<=1,e|=t>>>n[r]&1;return e>>>0},e.padSplit=function(t,e,r){for(var i=t.toString(2);i.length<e;)i="0"+i;for(var n=[],o=0;o<e;o+=r)n.push(i.slice(o,o+r));return n.join(" ")}}}]);
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.NostrCryptoUtils=e():(t.NostrCryptoUtils=t.NostrCryptoUtils||{},t.NostrCryptoUtils.crypto=e())}(this,(()=>(()=>{var t,e,r,o={8300:(t,e,r)=>{"use strict";var o=r(8510),n=r(3039),i=r(1565);new class{constructor(){this.cryptoInstance=null,this.initPromise=this.initialize()}async initialize(){this.cryptoInstance=await(async()=>{if("undefined"!=typeof window)return{};if(void 0!==r.g)return{};try{const t=await Promise.resolve().then(r.t.bind(r,1565,19));if(t.webcrypto)return t.webcrypto}catch{n.vF.debug("Node crypto not available, falling back to crypto-browserify")}return i})()}async ensureInitialized(){if(await this.initPromise,!this.cryptoInstance)throw new Error("Crypto implementation not initialized");return this.cryptoInstance}async getSubtle(){return(await this.ensureInitialized()).subtle}async getRandomValues(t){return(await this.ensureInitialized()).getRandomValues(t)}},o.ko.sign,o.ko.verify},3039:(t,e,r)=>{"use strict";r.d(e,{vF:()=>s});var o=r(4874),n=r.n(o),i=r(5606);const s=n()({name:"nostr-crypto-utils",level:i.env.LOG_LEVEL||"info",transport:void 0,formatters:{level:t=>({level:t.toUpperCase()}),log:t=>{if(t&&"object"==typeof t&&"err"in t){const e={...t};if(e.err instanceof Error){const t=e.err;e.err={message:t.message,stack:t.stack,name:t.name}}return e}return t}}})},8982:()=>{},7790:()=>{},1638:()=>{},2668:()=>{},7965:()=>{},6089:()=>{},9368:()=>{},4688:()=>{},1069:()=>{},3779:()=>{},7199:()=>{}},n={};function i(t){var e=n[t];if(void 0!==e)return e.exports;var r=n[t]={id:t,loaded:!1,exports:{}};return o[t].call(r.exports,r,r.exports,i),r.loaded=!0,r.exports}i.m=o,t=[],i.O=(e,r,o,n)=>{if(!r){var s=1/0;for(u=0;u<t.length;u++){for(var[r,o,n]=t[u],a=!0,l=0;l<r.length;l++)(!1&n||s>=n)&&Object.keys(i.O).every((t=>i.O[t](r[l])))?r.splice(l--,1):(a=!1,n<s&&(s=n));if(a){t.splice(u--,1);var c=o();void 0!==c&&(e=c)}}return e}n=n||0;for(var u=t.length;u>0&&t[u-1][2]>n;u--)t[u]=t[u-1];t[u]=[r,o,n]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},r=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,i.t=function(t,o){if(1&o&&(t=this(t)),8&o)return t;if("object"==typeof t&&t){if(4&o&&t.__esModule)return t;if(16&o&&"function"==typeof t.then)return t}var n=Object.create(null);i.r(n);var s={};e=e||[null,r({}),r([]),r(r)];for(var a=2&o&&t;"object"==typeof a&&!~e.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach((e=>s[e]=()=>t[e]));return s.default=()=>t,i.d(n,s),n},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{var t={584:0};i.O.j=e=>0===t[e];var e=(e,r)=>{var o,n,[s,a,l]=r,c=0;if(s.some((e=>0!==t[e]))){for(o in a)i.o(a,o)&&(i.m[o]=a[o]);if(l)var u=l(i)}for(e&&e(r);c<s.length;c++)n=s[c],i.o(t,n)&&t[n]&&t[n][0](),t[n]=0;return i.O(u)},r=this.webpackChunkNostrCryptoUtils=this.webpackChunkNostrCryptoUtils||[];r.forEach(e.bind(null,0)),r.push=e.bind(null,r.push.bind(r))})();var s=i.O(void 0,[851,344,404,156,503,636,69,801,995,473,26,128,54,490,430,657,158,761,510,705,774,985,509,802,310,829,890,287,565],(()=>i(8300)));return(s=i.O(s)).default})()));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.NostrCryptoUtils=e():(t.NostrCryptoUtils=t.NostrCryptoUtils||{},t.NostrCryptoUtils.crypto=e())}(this,(()=>(()=>{var t,e,r,o={8300:(t,e,r)=>{"use strict";var o=r(8510),n=r(3039),i=r(1565);new class{constructor(){this.cryptoInstance=null,this.initPromise=this.initialize()}async initialize(){this.cryptoInstance=await(async()=>{if("undefined"!=typeof window)return{};if(void 0!==r.g)return{};try{const t=await Promise.resolve().then(r.t.bind(r,1565,19));if(t.webcrypto)return t.webcrypto}catch{n.vF.debug("Node crypto not available, falling back to crypto-browserify")}return i})()}async ensureInitialized(){if(await this.initPromise,!this.cryptoInstance)throw new Error("Crypto implementation not initialized");return this.cryptoInstance}async getSubtle(){return(await this.ensureInitialized()).subtle}async getRandomValues(t){return(await this.ensureInitialized()).getRandomValues(t)}},o.ko.sign,o.ko.verify},3039:(t,e,r)=>{"use strict";r.d(e,{vF:()=>a});var o,n=r(4874),i=r.n(n),s=r(5606);!function(t){t[t.DEBUG=0]="DEBUG",t[t.INFO=1]="INFO",t[t.WARN=2]="WARN",t[t.ERROR=3]="ERROR"}(o||(o={}));const a=i()({name:"nostr-crypto-utils",level:s.env.LOG_LEVEL||"info",transport:void 0,formatters:{level:t=>({level:t.toUpperCase()}),log:t=>{if(t&&"object"==typeof t&&"err"in t){const e={...t};if(e.err instanceof Error){const t=e.err;e.err={message:t.message,stack:t.stack,name:t.name}}return e}return t}}})},8982:()=>{},7790:()=>{},1638:()=>{},2668:()=>{},7965:()=>{},6089:()=>{},9368:()=>{},4688:()=>{},1069:()=>{},3779:()=>{},7199:()=>{}},n={};function i(t){var e=n[t];if(void 0!==e)return e.exports;var r=n[t]={id:t,loaded:!1,exports:{}};return o[t].call(r.exports,r,r.exports,i),r.loaded=!0,r.exports}i.m=o,t=[],i.O=(e,r,o,n)=>{if(!r){var s=1/0;for(u=0;u<t.length;u++){for(var[r,o,n]=t[u],a=!0,l=0;l<r.length;l++)(!1&n||s>=n)&&Object.keys(i.O).every((t=>i.O[t](r[l])))?r.splice(l--,1):(a=!1,n<s&&(s=n));if(a){t.splice(u--,1);var c=o();void 0!==c&&(e=c)}}return e}n=n||0;for(var u=t.length;u>0&&t[u-1][2]>n;u--)t[u]=t[u-1];t[u]=[r,o,n]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},r=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,i.t=function(t,o){if(1&o&&(t=this(t)),8&o)return t;if("object"==typeof t&&t){if(4&o&&t.__esModule)return t;if(16&o&&"function"==typeof t.then)return t}var n=Object.create(null);i.r(n);var s={};e=e||[null,r({}),r([]),r(r)];for(var a=2&o&&t;"object"==typeof a&&!~e.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach((e=>s[e]=()=>t[e]));return s.default=()=>t,i.d(n,s),n},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{var t={584:0};i.O.j=e=>0===t[e];var e=(e,r)=>{var o,n,[s,a,l]=r,c=0;if(s.some((e=>0!==t[e]))){for(o in a)i.o(a,o)&&(i.m[o]=a[o]);if(l)var u=l(i)}for(e&&e(r);c<s.length;c++)n=s[c],i.o(t,n)&&t[n]&&t[n][0](),t[n]=0;return i.O(u)},r=this.webpackChunkNostrCryptoUtils=this.webpackChunkNostrCryptoUtils||[];r.forEach(e.bind(null,0)),r.push=e.bind(null,r.push.bind(r))})();var s=i.O(void 0,[851,344,404,156,503,636,419,801,995,473,26,128,54,490,430,657,158,761,510,705,774,985,509,802,310,829,890,287],(()=>i(8300)));return(s=i.O(s)).default})()));
@@ -0,0 +1 @@
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.NostrCryptoUtils=e():(t.NostrCryptoUtils=t.NostrCryptoUtils||{},t.NostrCryptoUtils.main=e())}(this,(()=>(()=>{var t,e,E,r={8300:(t,e,E)=>{"use strict";var r=E(8510),n=E(3039),i=E(1565);new class{constructor(){this.cryptoInstance=null,this.initPromise=this.initialize()}async initialize(){this.cryptoInstance=await(async()=>{if("undefined"!=typeof window)return{};if(void 0!==E.g)return{};try{const t=await Promise.resolve().then(E.t.bind(E,1565,19));if(t.webcrypto)return t.webcrypto}catch{n.vF.debug("Node crypto not available, falling back to crypto-browserify")}return i})()}async ensureInitialized(){if(await this.initPromise,!this.cryptoInstance)throw new Error("Crypto implementation not initialized");return this.cryptoInstance}async getSubtle(){return(await this.ensureInitialized()).subtle}async getRandomValues(t){return(await this.ensureInitialized()).getRandomValues(t)}},r.ko.sign,r.ko.verify},675:(t,e,E)=>{"use strict";var r,n,i;!function(t){t[t.SET_METADATA=0]="SET_METADATA",t[t.TEXT_NOTE=1]="TEXT_NOTE",t[t.RECOMMEND_SERVER=2]="RECOMMEND_SERVER",t[t.CONTACTS=3]="CONTACTS",t[t.ENCRYPTED_DIRECT_MESSAGE=4]="ENCRYPTED_DIRECT_MESSAGE",t[t.EVENT_DELETION=5]="EVENT_DELETION",t[t.REPOST=6]="REPOST",t[t.REACTION=7]="REACTION",t[t.CHANNEL_CREATION=40]="CHANNEL_CREATION",t[t.CHANNEL_METADATA=41]="CHANNEL_METADATA",t[t.CHANNEL_MESSAGE=42]="CHANNEL_MESSAGE",t[t.CHANNEL_HIDE_MESSAGE=43]="CHANNEL_HIDE_MESSAGE",t[t.CHANNEL_MUTE_USER=44]="CHANNEL_MUTE_USER",t[t.AUTH=22242]="AUTH",t[t.AUTH_RESPONSE=22243]="AUTH_RESPONSE"}(r||(r={})),function(t){t.EVENT="EVENT",t.NOTICE="NOTICE",t.OK="OK",t.EOSE="EOSE",t.REQ="REQ",t.CLOSE="CLOSE",t.AUTH="AUTH"}(n||(n={})),function(t){t[t.SET_METADATA=0]="SET_METADATA",t[t.TEXT_NOTE=1]="TEXT_NOTE",t[t.RECOMMEND_SERVER=2]="RECOMMEND_SERVER",t[t.CONTACT_LIST=3]="CONTACT_LIST",t[t.ENCRYPTED_DIRECT_MESSAGE=4]="ENCRYPTED_DIRECT_MESSAGE",t[t.DELETE=5]="DELETE",t[t.REPOST=6]="REPOST",t[t.REACTION=7]="REACTION",t[t.BADGE_AWARD=8]="BADGE_AWARD",t[t.CHANNEL_CREATE=40]="CHANNEL_CREATE",t[t.CHANNEL_METADATA=41]="CHANNEL_METADATA",t[t.CHANNEL_MESSAGE=42]="CHANNEL_MESSAGE",t[t.CHANNEL_HIDE_MESSAGE=43]="CHANNEL_HIDE_MESSAGE",t[t.CHANNEL_MUTE_USER=44]="CHANNEL_MUTE_USER",t[t.CHANNEL_RESERVE=45]="CHANNEL_RESERVE",t[t.REPORTING=1984]="REPORTING",t[t.ZAP_REQUEST=9734]="ZAP_REQUEST",t[t.ZAP=9735]="ZAP",t[t.MUTE_LIST=1e4]="MUTE_LIST",t[t.PIN_LIST=10001]="PIN_LIST",t[t.RELAY_LIST_METADATA=10002]="RELAY_LIST_METADATA",t[t.CLIENT_AUTH=22242]="CLIENT_AUTH",t[t.NOSTR_CONNECT=24133]="NOSTR_CONNECT",t[t.CATEGORIZED_PEOPLE=3e4]="CATEGORIZED_PEOPLE",t[t.CATEGORIZED_BOOKMARKS=30001]="CATEGORIZED_BOOKMARKS",t[t.PROFILE_BADGES=30008]="PROFILE_BADGES",t[t.BADGE_DEFINITION=30009]="BADGE_DEFINITION",t[t.LONG_FORM=30023]="LONG_FORM",t[t.APPLICATION_SPECIFIC=30078]="APPLICATION_SPECIFIC"}(i||(i={})),E(8300);var o=E(3039),a=E(1565);new class{constructor(){this.cryptoInstance=null,this.initPromise=this.initialize()}async initialize(){this.cryptoInstance=await(async()=>{if("undefined"!=typeof window)return{};if(void 0!==E.g)return{};try{const t=await Promise.resolve().then(E.t.bind(E,1565,19));if(t.webcrypto)return t.webcrypto}catch{o.vF.debug("Node crypto not available, falling back to crypto-browserify")}return a})()}async ensureInitialized(){if(await this.initPromise,!this.cryptoInstance)throw new Error("Crypto implementation not initialized");return this.cryptoInstance}async getSubtle(){return(await this.ensureInitialized()).subtle}async getRandomValues(t){return(await this.ensureInitialized()).getRandomValues(t)}},E(2343),E(8287),E(8287).Buffer},3039:(t,e,E)=>{"use strict";E.d(e,{vF:()=>a});var r,n=E(4874),i=E.n(n),o=E(5606);!function(t){t[t.DEBUG=0]="DEBUG",t[t.INFO=1]="INFO",t[t.WARN=2]="WARN",t[t.ERROR=3]="ERROR"}(r||(r={}));const a=i()({name:"nostr-crypto-utils",level:o.env.LOG_LEVEL||"info",transport:void 0,formatters:{level:t=>({level:t.toUpperCase()}),log:t=>{if(t&&"object"==typeof t&&"err"in t){const e={...t};if(e.err instanceof Error){const t=e.err;e.err={message:t.message,stack:t.stack,name:t.name}}return e}return t}}})},8982:()=>{},7790:()=>{},1638:()=>{},2668:()=>{},7965:()=>{},6089:()=>{},9368:()=>{},4688:()=>{},1069:()=>{},3779:()=>{},7199:()=>{}},n={};function i(t){var e=n[t];if(void 0!==e)return e.exports;var E=n[t]={id:t,loaded:!1,exports:{}};return r[t].call(E.exports,E,E.exports,i),E.loaded=!0,E.exports}i.m=r,t=[],i.O=(e,E,r,n)=>{if(!E){var o=1/0;for(A=0;A<t.length;A++){for(var[E,r,n]=t[A],a=!0,s=0;s<E.length;s++)(!1&n||o>=n)&&Object.keys(i.O).every((t=>i.O[t](E[s])))?E.splice(s--,1):(a=!1,n<o&&(o=n));if(a){t.splice(A--,1);var T=r();void 0!==T&&(e=T)}}return e}n=n||0;for(var A=t.length;A>0&&t[A-1][2]>n;A--)t[A]=t[A-1];t[A]=[E,r,n]},i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},E=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,i.t=function(t,r){if(1&r&&(t=this(t)),8&r)return t;if("object"==typeof t&&t){if(4&r&&t.__esModule)return t;if(16&r&&"function"==typeof t.then)return t}var n=Object.create(null);i.r(n);var o={};e=e||[null,E({}),E([]),E(E)];for(var a=2&r&&t;"object"==typeof a&&!~e.indexOf(a);a=E(a))Object.getOwnPropertyNames(a).forEach((e=>o[e]=()=>t[e]));return o.default=()=>t,i.d(n,o),n},i.d=(t,e)=>{for(var E in e)i.o(e,E)&&!i.o(t,E)&&Object.defineProperty(t,E,{enumerable:!0,get:e[E]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{var t={584:0,792:0};i.O.j=e=>0===t[e];var e=(e,E)=>{var r,n,[o,a,s]=E,T=0;if(o.some((e=>0!==t[e]))){for(r in a)i.o(a,r)&&(i.m[r]=a[r]);if(s)var A=s(i)}for(e&&e(E);T<o.length;T++)n=o[T],i.o(t,n)&&t[n]&&t[n][0](),t[n]=0;return i.O(A)},E=this.webpackChunkNostrCryptoUtils=this.webpackChunkNostrCryptoUtils||[];E.forEach(e.bind(null,0)),E.push=e.bind(null,E.push.bind(E))})();var o=i.O(void 0,[851,344,404,156,503,636,419,801,995,473,26,128,54,490,430,657,158,761,510,705,774,985,509,802,310,829,890,343,668],(()=>i(675)));return(o=i.O(o)).default})()));
@@ -1 +1 @@
1
- !function(E,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.NostrCryptoUtils=t():(E.NostrCryptoUtils=E.NostrCryptoUtils||{},E.NostrCryptoUtils.protocol=t())}(this,(()=>(()=>{"use strict";var E={6354:(E,t,N)=>{var T,o;!function(E){E[E.SET_METADATA=0]="SET_METADATA",E[E.TEXT_NOTE=1]="TEXT_NOTE",E[E.RECOMMEND_SERVER=2]="RECOMMEND_SERVER",E[E.CONTACTS=3]="CONTACTS",E[E.ENCRYPTED_DIRECT_MESSAGE=4]="ENCRYPTED_DIRECT_MESSAGE",E[E.EVENT_DELETION=5]="EVENT_DELETION",E[E.REACTION=7]="REACTION",E[E.CHANNEL_CREATE=40]="CHANNEL_CREATE",E[E.CHANNEL_METADATA=41]="CHANNEL_METADATA",E[E.CHANNEL_MESSAGE=42]="CHANNEL_MESSAGE",E[E.CHANNEL_HIDE_MESSAGE=43]="CHANNEL_HIDE_MESSAGE",E[E.CHANNEL_MUTE_USER=44]="CHANNEL_MUTE_USER",E[E.AUTH=22242]="AUTH",E[E.AUTH_RESPONSE=22243]="AUTH_RESPONSE"}(T||(T={})),function(E){E.EVENT="EVENT",E.REQ="REQ",E.CLOSE="CLOSE",E.NOTICE="NOTICE",E.EOSE="EOSE",E.OK="OK",E.AUTH="AUTH",E.ERROR="ERROR",E.COUNT="COUNT"}(o||(o={}))}},t={};function N(T){var o=t[T];if(void 0!==o)return o.exports;var A=t[T]={exports:{}};return E[T](A,A.exports,N),A.exports}N.d=(E,t)=>{for(var T in t)N.o(t,T)&&!N.o(E,T)&&Object.defineProperty(E,T,{enumerable:!0,get:t[T]})},N.o=(E,t)=>Object.prototype.hasOwnProperty.call(E,t);var T={};return N(6354),T.default})()));
1
+ !function(E,N){"object"==typeof exports&&"object"==typeof module?module.exports=N():"function"==typeof define&&define.amd?define([],N):"object"==typeof exports?exports.NostrCryptoUtils=N():(E.NostrCryptoUtils=E.NostrCryptoUtils||{},E.NostrCryptoUtils.protocol=N())}(this,(()=>(()=>{"use strict";var E,N,T,A,C={};return(A=E||(E={}))[A.SET_METADATA=0]="SET_METADATA",A[A.TEXT_NOTE=1]="TEXT_NOTE",A[A.RECOMMEND_SERVER=2]="RECOMMEND_SERVER",A[A.CONTACTS=3]="CONTACTS",A[A.ENCRYPTED_DIRECT_MESSAGE=4]="ENCRYPTED_DIRECT_MESSAGE",A[A.EVENT_DELETION=5]="EVENT_DELETION",A[A.REPOST=6]="REPOST",A[A.REACTION=7]="REACTION",A[A.CHANNEL_CREATION=40]="CHANNEL_CREATION",A[A.CHANNEL_METADATA=41]="CHANNEL_METADATA",A[A.CHANNEL_MESSAGE=42]="CHANNEL_MESSAGE",A[A.CHANNEL_HIDE_MESSAGE=43]="CHANNEL_HIDE_MESSAGE",A[A.CHANNEL_MUTE_USER=44]="CHANNEL_MUTE_USER",A[A.AUTH=22242]="AUTH",A[A.AUTH_RESPONSE=22243]="AUTH_RESPONSE",(T=N||(N={})).EVENT="EVENT",T.NOTICE="NOTICE",T.OK="OK",T.EOSE="EOSE",T.REQ="REQ",T.CLOSE="CLOSE",T.AUTH="AUTH",C.default})()));
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module event
3
+ * @description Event handling utilities for Nostr
4
+ */
5
+ export { createEvent, serializeEvent, getEventHash } from './creation';
6
+ export { validateEvent, calculateEventId } from './signing';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/event/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * @module event
4
+ * @description Event handling utilities for Nostr
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.calculateEventId = exports.validateEvent = exports.getEventHash = exports.serializeEvent = exports.createEvent = void 0;
8
+ var creation_1 = require("./creation");
9
+ Object.defineProperty(exports, "createEvent", { enumerable: true, get: function () { return creation_1.createEvent; } });
10
+ Object.defineProperty(exports, "serializeEvent", { enumerable: true, get: function () { return creation_1.serializeEvent; } });
11
+ Object.defineProperty(exports, "getEventHash", { enumerable: true, get: function () { return creation_1.getEventHash; } });
12
+ var signing_1 = require("./signing");
13
+ Object.defineProperty(exports, "validateEvent", { enumerable: true, get: function () { return signing_1.validateEvent; } });
14
+ Object.defineProperty(exports, "calculateEventId", { enumerable: true, get: function () { return signing_1.calculateEventId; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uCAAuE;AAA9D,uGAAA,WAAW,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,wGAAA,YAAY,OAAA;AAClD,qCAA4D;AAAnD,wGAAA,aAAa,OAAA;AAAE,2GAAA,gBAAgB,OAAA"}
@@ -16,4 +16,16 @@ export declare function signEvent(event: NostrEvent, privateKey: string): Promis
16
16
  * @returns True if signature is valid
17
17
  */
18
18
  export declare function verifySignature(event: SignedNostrEvent): boolean;
19
+ /**
20
+ * Validates a Nostr event
21
+ * @param event - Event to validate
22
+ * @returns True if event is valid
23
+ */
24
+ export declare function validateEvent(event: SignedNostrEvent): boolean;
25
+ /**
26
+ * Calculates the event ID for a Nostr event
27
+ * @param event - Event to calculate ID for
28
+ * @returns Event ID
29
+ */
30
+ export declare function calculateEventId(event: NostrEvent): Promise<string>;
19
31
  //# sourceMappingURL=signing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../../src/event/signing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAWhE"}
1
+ {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../../src/event/signing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE7D;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAc3B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAWhE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAa9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnE"}
@@ -6,6 +6,8 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.signEvent = signEvent;
8
8
  exports.verifySignature = verifySignature;
9
+ exports.validateEvent = validateEvent;
10
+ exports.calculateEventId = calculateEventId;
9
11
  const secp256k1_1 = require("@noble/curves/secp256k1");
10
12
  const utils_1 = require("@noble/curves/abstract/utils");
11
13
  const logger_1 = require("../utils/logger");
@@ -45,4 +47,31 @@ function verifySignature(event) {
45
47
  return false;
46
48
  }
47
49
  }
50
+ /**
51
+ * Validates a Nostr event
52
+ * @param event - Event to validate
53
+ * @returns True if event is valid
54
+ */
55
+ function validateEvent(event) {
56
+ try {
57
+ // Check required fields
58
+ if (!event.id || !event.pubkey || !event.sig) {
59
+ return false;
60
+ }
61
+ // Verify signature
62
+ return verifySignature(event);
63
+ }
64
+ catch (error) {
65
+ logger_1.logger.error('Error validating event:', error);
66
+ return false;
67
+ }
68
+ }
69
+ /**
70
+ * Calculates the event ID for a Nostr event
71
+ * @param event - Event to calculate ID for
72
+ * @returns Event ID
73
+ */
74
+ function calculateEventId(event) {
75
+ return (0, creation_1.getEventHash)(event);
76
+ }
48
77
  //# sourceMappingURL=signing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../src/event/signing.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAcH,8BAiBC;AAOD,0CAWC;AA/CD,uDAAkD;AAClD,wDAAsE;AACtE,4CAAyC;AACzC,yCAA0C;AAG1C;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAC7B,KAAiB,EACjB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAY,EAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,mBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO;YACL,GAAG,KAAK;YACR,EAAE,EAAE,IAAI;YACR,GAAG,EAAE,IAAA,kBAAU,EAAC,GAAG,CAAC;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAuB;IACrD,IAAI,CAAC;QACH,OAAO,mBAAO,CAAC,MAAM,CACnB,IAAA,kBAAU,EAAC,KAAK,CAAC,GAAG,CAAC,EACrB,IAAA,kBAAU,EAAC,KAAK,CAAC,EAAE,CAAC,EACpB,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,CACzB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../../src/event/signing.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAcH,8BAiBC;AAOD,0CAWC;AAOD,sCAaC;AAOD,4CAEC;AA5ED,uDAAkD;AAClD,wDAAsE;AACtE,4CAAyC;AACzC,yCAA0C;AAG1C;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAC7B,KAAiB,EACjB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAY,EAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,mBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO;YACL,GAAG,KAAK;YACR,EAAE,EAAE,IAAI;YACR,GAAG,EAAE,IAAA,kBAAU,EAAC,GAAG,CAAC;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAuB;IACrD,IAAI,CAAC;QACH,OAAO,mBAAO,CAAC,MAAM,CACnB,IAAA,kBAAU,EAAC,KAAK,CAAC,GAAG,CAAC,EACrB,IAAA,kBAAU,EAAC,KAAK,CAAC,EAAE,CAAC,EACpB,IAAA,kBAAU,EAAC,KAAK,CAAC,MAAM,CAAC,CACzB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,KAAuB;IACnD,IAAI,CAAC;QACH,wBAAwB;QACxB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mBAAmB;QACnB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAiB;IAChD,OAAO,IAAA,uBAAY,EAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,12 +1,15 @@
1
1
  /**
2
2
  * @module nostr-crypto-utils
3
- * @description Main entry point for the nostr-crypto-utils package
3
+ * @description Core cryptographic utilities for Nostr protocol
4
4
  */
5
- export * from './types/index';
6
- export { customCrypto, signSchnorr, verifySchnorrSignature, generateKeyPair, getPublicKey, validateKeyPair, getCompressedPublicKey, getSchnorrPublicKey, createEvent, signEvent, verifySignature, encryptMessage, decryptMessage } from './crypto-utils';
7
- export { formatEventForRelay, formatSubscriptionForRelay, formatCloseForRelay, formatAuthForRelay, parseMessage as parseEventFromRelay, createMetadataEvent, createTextNoteEvent, createDirectMessageEvent, createChannelMessageEvent, extractReferencedEvents, extractMentionedPubkeys, createKindFilter, createAuthorFilter, createReplyFilter, createFilter as validateEvent } from './protocol/index';
8
- export { validateEvent as validateRelayMessage, validateResponse as validateRelayResponse } from './validation/index';
9
- export * from './encoding/index';
10
- export { npubEncode, nsecEncode, noteEncode, nprofileEncode, neventEncode, naddrEncode, nrelayEncode, decode } from './nips/nip-19';
11
- export * from './nips/index';
5
+ export type { NostrEvent, UnsignedNostrEvent, SignedNostrEvent, NostrFilter, NostrSubscription, PublicKey, KeyPair, NostrMessageTuple, } from './types';
6
+ export { NostrEventKind, NostrMessageType } from './types';
7
+ export { generateKeyPair, getPublicKey, validateKeyPair, createEvent, signEvent, verifySignature, encrypt, decrypt, } from './crypto';
8
+ export { validateEvent, calculateEventId, } from './event';
9
+ export { computeSharedSecret, encryptMessage, decryptMessage, } from './nips/nip-04';
10
+ export * as nip01 from './nips/nip-01';
11
+ export * as nip04 from './nips/nip-04';
12
+ export * as nip19 from './nips/nip-19';
13
+ export * as nip26 from './nips/nip-26';
14
+ export { hexToBytes, bytesToHex, utf8ToBytes, bytesToUtf8, } from './utils/encoding';
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACf,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,IAAI,mBAAmB,EACnC,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,IAAI,aAAa,EAC9B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,IAAI,oBAAoB,EACrC,gBAAgB,IAAI,qBAAqB,EAC1C,MAAM,oBAAoB,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,MAAM,EACP,MAAM,eAAe,CAAC;AAEvB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3D,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,EACP,OAAO,GACR,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAGvC,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * @module nostr-crypto-utils
4
- * @description Main entry point for the nostr-crypto-utils package
4
+ * @description Core cryptographic utilities for Nostr protocol
5
5
  */
6
6
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
7
  if (k2 === undefined) k2 = k;
@@ -14,60 +14,62 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
14
14
  if (k2 === undefined) k2 = k;
15
15
  o[k2] = m[k];
16
16
  }));
17
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
- };
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
20
39
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.decode = exports.nrelayEncode = exports.naddrEncode = exports.neventEncode = exports.nprofileEncode = exports.noteEncode = exports.nsecEncode = exports.npubEncode = exports.validateRelayResponse = exports.validateRelayMessage = exports.validateEvent = exports.createReplyFilter = exports.createAuthorFilter = exports.createKindFilter = exports.extractMentionedPubkeys = exports.extractReferencedEvents = exports.createChannelMessageEvent = exports.createDirectMessageEvent = exports.createTextNoteEvent = exports.createMetadataEvent = exports.parseEventFromRelay = exports.formatAuthForRelay = exports.formatCloseForRelay = exports.formatSubscriptionForRelay = exports.formatEventForRelay = exports.decryptMessage = exports.encryptMessage = exports.verifySignature = exports.signEvent = exports.createEvent = exports.getSchnorrPublicKey = exports.getCompressedPublicKey = exports.validateKeyPair = exports.getPublicKey = exports.generateKeyPair = exports.verifySchnorrSignature = exports.signSchnorr = exports.customCrypto = void 0;
22
- // Re-export all types
23
- __exportStar(require("./types/index"), exports);
24
- // Re-export crypto utilities
25
- var crypto_utils_1 = require("./crypto-utils");
26
- Object.defineProperty(exports, "customCrypto", { enumerable: true, get: function () { return crypto_utils_1.customCrypto; } });
27
- Object.defineProperty(exports, "signSchnorr", { enumerable: true, get: function () { return crypto_utils_1.signSchnorr; } });
28
- Object.defineProperty(exports, "verifySchnorrSignature", { enumerable: true, get: function () { return crypto_utils_1.verifySchnorrSignature; } });
29
- Object.defineProperty(exports, "generateKeyPair", { enumerable: true, get: function () { return crypto_utils_1.generateKeyPair; } });
30
- Object.defineProperty(exports, "getPublicKey", { enumerable: true, get: function () { return crypto_utils_1.getPublicKey; } });
31
- Object.defineProperty(exports, "validateKeyPair", { enumerable: true, get: function () { return crypto_utils_1.validateKeyPair; } });
32
- Object.defineProperty(exports, "getCompressedPublicKey", { enumerable: true, get: function () { return crypto_utils_1.getCompressedPublicKey; } });
33
- Object.defineProperty(exports, "getSchnorrPublicKey", { enumerable: true, get: function () { return crypto_utils_1.getSchnorrPublicKey; } });
34
- Object.defineProperty(exports, "createEvent", { enumerable: true, get: function () { return crypto_utils_1.createEvent; } });
35
- Object.defineProperty(exports, "signEvent", { enumerable: true, get: function () { return crypto_utils_1.signEvent; } });
36
- Object.defineProperty(exports, "verifySignature", { enumerable: true, get: function () { return crypto_utils_1.verifySignature; } });
37
- Object.defineProperty(exports, "encryptMessage", { enumerable: true, get: function () { return crypto_utils_1.encryptMessage; } });
38
- Object.defineProperty(exports, "decryptMessage", { enumerable: true, get: function () { return crypto_utils_1.decryptMessage; } });
39
- // Re-export protocol utilities
40
- var index_1 = require("./protocol/index");
41
- Object.defineProperty(exports, "formatEventForRelay", { enumerable: true, get: function () { return index_1.formatEventForRelay; } });
42
- Object.defineProperty(exports, "formatSubscriptionForRelay", { enumerable: true, get: function () { return index_1.formatSubscriptionForRelay; } });
43
- Object.defineProperty(exports, "formatCloseForRelay", { enumerable: true, get: function () { return index_1.formatCloseForRelay; } });
44
- Object.defineProperty(exports, "formatAuthForRelay", { enumerable: true, get: function () { return index_1.formatAuthForRelay; } });
45
- Object.defineProperty(exports, "parseEventFromRelay", { enumerable: true, get: function () { return index_1.parseMessage; } });
46
- Object.defineProperty(exports, "createMetadataEvent", { enumerable: true, get: function () { return index_1.createMetadataEvent; } });
47
- Object.defineProperty(exports, "createTextNoteEvent", { enumerable: true, get: function () { return index_1.createTextNoteEvent; } });
48
- Object.defineProperty(exports, "createDirectMessageEvent", { enumerable: true, get: function () { return index_1.createDirectMessageEvent; } });
49
- Object.defineProperty(exports, "createChannelMessageEvent", { enumerable: true, get: function () { return index_1.createChannelMessageEvent; } });
50
- Object.defineProperty(exports, "extractReferencedEvents", { enumerable: true, get: function () { return index_1.extractReferencedEvents; } });
51
- Object.defineProperty(exports, "extractMentionedPubkeys", { enumerable: true, get: function () { return index_1.extractMentionedPubkeys; } });
52
- Object.defineProperty(exports, "createKindFilter", { enumerable: true, get: function () { return index_1.createKindFilter; } });
53
- Object.defineProperty(exports, "createAuthorFilter", { enumerable: true, get: function () { return index_1.createAuthorFilter; } });
54
- Object.defineProperty(exports, "createReplyFilter", { enumerable: true, get: function () { return index_1.createReplyFilter; } });
55
- Object.defineProperty(exports, "validateEvent", { enumerable: true, get: function () { return index_1.createFilter; } });
56
- // Re-export validation utilities
57
- var index_2 = require("./validation/index");
58
- Object.defineProperty(exports, "validateRelayMessage", { enumerable: true, get: function () { return index_2.validateEvent; } });
59
- Object.defineProperty(exports, "validateRelayResponse", { enumerable: true, get: function () { return index_2.validateResponse; } });
60
- // Re-export encoding utilities
61
- __exportStar(require("./encoding/index"), exports);
62
- // Re-export NIP implementations
63
- var nip_19_1 = require("./nips/nip-19");
64
- Object.defineProperty(exports, "npubEncode", { enumerable: true, get: function () { return nip_19_1.npubEncode; } });
65
- Object.defineProperty(exports, "nsecEncode", { enumerable: true, get: function () { return nip_19_1.nsecEncode; } });
66
- Object.defineProperty(exports, "noteEncode", { enumerable: true, get: function () { return nip_19_1.noteEncode; } });
67
- Object.defineProperty(exports, "nprofileEncode", { enumerable: true, get: function () { return nip_19_1.nprofileEncode; } });
68
- Object.defineProperty(exports, "neventEncode", { enumerable: true, get: function () { return nip_19_1.neventEncode; } });
69
- Object.defineProperty(exports, "naddrEncode", { enumerable: true, get: function () { return nip_19_1.naddrEncode; } });
70
- Object.defineProperty(exports, "nrelayEncode", { enumerable: true, get: function () { return nip_19_1.nrelayEncode; } });
71
- Object.defineProperty(exports, "decode", { enumerable: true, get: function () { return nip_19_1.decode; } });
72
- __exportStar(require("./nips/index"), exports);
40
+ exports.bytesToUtf8 = exports.utf8ToBytes = exports.bytesToHex = exports.hexToBytes = exports.nip26 = exports.nip19 = exports.nip04 = exports.nip01 = exports.decryptMessage = exports.encryptMessage = exports.computeSharedSecret = exports.calculateEventId = exports.validateEvent = exports.decrypt = exports.encrypt = exports.verifySignature = exports.signEvent = exports.createEvent = exports.validateKeyPair = exports.getPublicKey = exports.generateKeyPair = exports.NostrMessageType = exports.NostrEventKind = void 0;
41
+ // Event kinds and message types
42
+ var types_1 = require("./types");
43
+ Object.defineProperty(exports, "NostrEventKind", { enumerable: true, get: function () { return types_1.NostrEventKind; } });
44
+ Object.defineProperty(exports, "NostrMessageType", { enumerable: true, get: function () { return types_1.NostrMessageType; } });
45
+ // Core crypto functions
46
+ var crypto_1 = require("./crypto");
47
+ Object.defineProperty(exports, "generateKeyPair", { enumerable: true, get: function () { return crypto_1.generateKeyPair; } });
48
+ Object.defineProperty(exports, "getPublicKey", { enumerable: true, get: function () { return crypto_1.getPublicKey; } });
49
+ Object.defineProperty(exports, "validateKeyPair", { enumerable: true, get: function () { return crypto_1.validateKeyPair; } });
50
+ Object.defineProperty(exports, "createEvent", { enumerable: true, get: function () { return crypto_1.createEvent; } });
51
+ Object.defineProperty(exports, "signEvent", { enumerable: true, get: function () { return crypto_1.signEvent; } });
52
+ Object.defineProperty(exports, "verifySignature", { enumerable: true, get: function () { return crypto_1.verifySignature; } });
53
+ Object.defineProperty(exports, "encrypt", { enumerable: true, get: function () { return crypto_1.encrypt; } });
54
+ Object.defineProperty(exports, "decrypt", { enumerable: true, get: function () { return crypto_1.decrypt; } });
55
+ // Event functions
56
+ var event_1 = require("./event");
57
+ Object.defineProperty(exports, "validateEvent", { enumerable: true, get: function () { return event_1.validateEvent; } });
58
+ Object.defineProperty(exports, "calculateEventId", { enumerable: true, get: function () { return event_1.calculateEventId; } });
59
+ // NIP-04 encryption
60
+ var nip_04_1 = require("./nips/nip-04");
61
+ Object.defineProperty(exports, "computeSharedSecret", { enumerable: true, get: function () { return nip_04_1.computeSharedSecret; } });
62
+ Object.defineProperty(exports, "encryptMessage", { enumerable: true, get: function () { return nip_04_1.encryptMessage; } });
63
+ Object.defineProperty(exports, "decryptMessage", { enumerable: true, get: function () { return nip_04_1.decryptMessage; } });
64
+ // Re-export NIPs
65
+ exports.nip01 = __importStar(require("./nips/nip-01"));
66
+ exports.nip04 = __importStar(require("./nips/nip-04"));
67
+ exports.nip19 = __importStar(require("./nips/nip-19"));
68
+ exports.nip26 = __importStar(require("./nips/nip-26"));
69
+ // Utils
70
+ var encoding_1 = require("./utils/encoding");
71
+ Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return encoding_1.hexToBytes; } });
72
+ Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return encoding_1.bytesToHex; } });
73
+ Object.defineProperty(exports, "utf8ToBytes", { enumerable: true, get: function () { return encoding_1.utf8ToBytes; } });
74
+ Object.defineProperty(exports, "bytesToUtf8", { enumerable: true, get: function () { return encoding_1.bytesToUtf8; } });
73
75
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,sBAAsB;AACtB,gDAA8B;AAE9B,6BAA6B;AAC7B,+CAcwB;AAbtB,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,OAAA;AACX,sHAAA,sBAAsB,OAAA;AACtB,+GAAA,eAAe,OAAA;AACf,4GAAA,YAAY,OAAA;AACZ,+GAAA,eAAe,OAAA;AACf,sHAAA,sBAAsB,OAAA;AACtB,mHAAA,mBAAmB,OAAA;AACnB,2GAAA,WAAW,OAAA;AACX,yGAAA,SAAS,OAAA;AACT,+GAAA,eAAe,OAAA;AACf,8GAAA,cAAc,OAAA;AACd,8GAAA,cAAc,OAAA;AAGhB,+BAA+B;AAC/B,0CAgB0B;AAfxB,4GAAA,mBAAmB,OAAA;AACnB,mHAAA,0BAA0B,OAAA;AAC1B,4GAAA,mBAAmB,OAAA;AACnB,2GAAA,kBAAkB,OAAA;AAClB,4GAAA,YAAY,OAAuB;AACnC,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA;AACnB,iHAAA,wBAAwB,OAAA;AACxB,kHAAA,yBAAyB,OAAA;AACzB,gHAAA,uBAAuB,OAAA;AACvB,gHAAA,uBAAuB,OAAA;AACvB,yGAAA,gBAAgB,OAAA;AAChB,2GAAA,kBAAkB,OAAA;AAClB,0GAAA,iBAAiB,OAAA;AACjB,sGAAA,YAAY,OAAiB;AAG/B,iCAAiC;AACjC,4CAG4B;AAF1B,6GAAA,aAAa,OAAwB;AACrC,8GAAA,gBAAgB,OAAyB;AAG3C,+BAA+B;AAC/B,mDAAiC;AAEjC,gCAAgC;AAChC,wCASuB;AARrB,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AACd,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,gGAAA,MAAM,OAAA;AAGR,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcH,gCAAgC;AAChC,iCAA2D;AAAlD,uGAAA,cAAc,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAEzC,wBAAwB;AACxB,mCASkB;AARhB,yGAAA,eAAe,OAAA;AACf,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AACT,yGAAA,eAAe,OAAA;AACf,iGAAA,OAAO,OAAA;AACP,iGAAA,OAAO,OAAA;AAGT,kBAAkB;AAClB,iCAGiB;AAFf,sGAAA,aAAa,OAAA;AACb,yGAAA,gBAAgB,OAAA;AAGlB,oBAAoB;AACpB,wCAIuB;AAHrB,6GAAA,mBAAmB,OAAA;AACnB,wGAAA,cAAc,OAAA;AACd,wGAAA,cAAc,OAAA;AAGhB,iBAAiB;AACjB,uDAAuC;AACvC,uDAAuC;AACvC,uDAAuC;AACvC,uDAAuC;AAEvC,QAAQ;AACR,6CAK0B;AAJxB,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA"}
@@ -38,5 +38,5 @@ export declare function decryptMessage(encryptedMessage: string, recipientPrivKe
38
38
  * @returns Shared secret
39
39
  */
40
40
  export declare function generateSharedSecret(privateKey: string, publicKey: string): SharedSecret;
41
- export {};
41
+ export { generateSharedSecret as computeSharedSecret };
42
42
  //# sourceMappingURL=nip-04.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nip-04.d.ts","sourceRoot":"","sources":["../../../src/nips/nip-04.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;KACtB;IACD,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;KACtB;CACF;AAsDD,UAAU,YAAY;IACpB,YAAY,EAAE,UAAU,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,YAAY,CAuBd"}
1
+ {"version":3,"file":"nip-04.d.ts","sourceRoot":"","sources":["../../../src/nips/nip-04.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAI9C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;KACtB;IACD,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;KACtB;CACF;AAsDD,UAAU,YAAY;IACpB,YAAY,EAAE,UAAU,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CA8CjB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,YAAY,CAuBd;AAED,OAAO,EAAE,oBAAoB,IAAI,mBAAmB,EAAE,CAAC"}
@@ -44,6 +44,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
44
44
  exports.encryptMessage = encryptMessage;
45
45
  exports.decryptMessage = decryptMessage;
46
46
  exports.generateSharedSecret = generateSharedSecret;
47
+ exports.computeSharedSecret = generateSharedSecret;
47
48
  const secp256k1 = __importStar(require("@noble/secp256k1"));
48
49
  const utils_1 = require("@noble/hashes/utils");
49
50
  const logger_1 = require("../utils/logger");
@@ -1 +1 @@
1
- {"version":3,"file":"nip-04.js","sourceRoot":"","sources":["../../../src/nips/nip-04.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nip-04.js","sourceRoot":"","sources":["../../../src/nips/nip-04.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * @module protocol
3
3
  * @description Core Nostr protocol implementation
4
4
  */
5
- import { NostrEvent, SignedNostrEvent, NostrFilter, NostrSubscription, NostrResponse, PublicKey } from '../types/base';
5
+ import { NostrEvent, NostrFilter, SignedNostrEvent, UnsignedEvent, PublicKey, NostrResponse, NostrSubscription } from '../types/base';
6
6
  /**
7
7
  * Formats an event for relay transmission according to NIP-01
8
8
  * @category Message Handling
@@ -43,9 +43,9 @@ export declare function parseMessage(message: string): NostrResponse;
43
43
  * @category Event Creation
44
44
  * @param {Record<string, string>} metadata - User metadata (name, about, picture, etc.)
45
45
  * @param {string | PublicKey} pubkey - Public key of the user
46
- * @returns {NostrEvent} Created metadata event
46
+ * @returns {UnsignedEvent} Created metadata event
47
47
  */
48
- export declare function createMetadataEvent(metadata: Record<string, string>, pubkey: string | PublicKey): NostrEvent;
48
+ export declare function createMetadataEvent(metadata: Record<string, string>, pubkey: string | PublicKey): UnsignedEvent;
49
49
  /**
50
50
  * Creates a text note event according to NIP-01
51
51
  * @category Event Creation
@@ -53,18 +53,18 @@ export declare function createMetadataEvent(metadata: Record<string, string>, pu
53
53
  * @param {string | PublicKey} pubkey - Public key of the author
54
54
  * @param {string} [replyTo] - Optional ID of event being replied to
55
55
  * @param {string[]} [mentions] - Optional array of pubkeys to mention
56
- * @returns {NostrEvent} Created text note event
56
+ * @returns {UnsignedEvent} Created text note event
57
57
  */
58
- export declare function createTextNoteEvent(content: string, pubkey: string | PublicKey, replyTo?: string, mentions?: string[]): NostrEvent;
58
+ export declare function createTextNoteEvent(content: string, pubkey: string | PublicKey, replyTo?: string, mentions?: string[]): UnsignedEvent;
59
59
  /**
60
60
  * Creates a direct message event according to NIP-04
61
61
  * @category Event Creation
62
62
  * @param {string | PublicKey} recipientPubkey - Public key of message recipient
63
63
  * @param {string} content - Message content (will be encrypted)
64
64
  * @param {string | PublicKey} senderPubkey - Public key of the sender
65
- * @returns {NostrEvent} Created direct message event
65
+ * @returns {UnsignedEvent} Created direct message event
66
66
  */
67
- export declare function createDirectMessageEvent(recipientPubkey: string | PublicKey, content: string, senderPubkey: string | PublicKey): NostrEvent;
67
+ export declare function createDirectMessageEvent(recipientPubkey: string | PublicKey, content: string, senderPubkey: string | PublicKey): UnsignedEvent;
68
68
  /**
69
69
  * Creates a channel message event according to NIP-28
70
70
  * @category Event Creation
@@ -72,9 +72,9 @@ export declare function createDirectMessageEvent(recipientPubkey: string | Publi
72
72
  * @param {string} content - Message content
73
73
  * @param {string | PublicKey} authorPubkey - Public key of the message author
74
74
  * @param {string} [replyTo] - Optional ID of message being replied to
75
- * @returns {NostrEvent} Created channel message event
75
+ * @returns {UnsignedEvent} Created channel message event
76
76
  */
77
- export declare function createChannelMessageEvent(channelId: string, content: string, authorPubkey: string | PublicKey, replyTo?: string): NostrEvent;
77
+ export declare function createChannelMessageEvent(channelId: string, content: string, authorPubkey: string | PublicKey, replyTo?: string): UnsignedEvent;
78
78
  /**
79
79
  * Extracts referenced event IDs from an event's tags
80
80
  * @category Event Operations