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.
- package/README.md +52 -2
- package/dist/browser/343.nostr-crypto-utils.min.js +1 -0
- package/dist/browser/419.nostr-crypto-utils.min.js +1 -0
- package/dist/browser/crypto.nostr-crypto-utils.min.js +1 -1
- package/dist/browser/main.nostr-crypto-utils.min.js +1 -0
- package/dist/browser/protocol.nostr-crypto-utils.min.js +1 -1
- package/dist/cjs/event/index.d.ts +7 -0
- package/dist/cjs/event/index.d.ts.map +1 -0
- package/dist/cjs/event/index.js +15 -0
- package/dist/cjs/event/index.js.map +1 -0
- package/dist/cjs/event/signing.d.ts +12 -0
- package/dist/cjs/event/signing.d.ts.map +1 -1
- package/dist/cjs/event/signing.js +29 -0
- package/dist/cjs/event/signing.js.map +1 -1
- package/dist/cjs/index.d.ts +11 -8
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +58 -56
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/nips/nip-04.d.ts +1 -1
- package/dist/cjs/nips/nip-04.d.ts.map +1 -1
- package/dist/cjs/nips/nip-04.js +1 -0
- package/dist/cjs/nips/nip-04.js.map +1 -1
- package/dist/cjs/protocol/index.d.ts +9 -9
- package/dist/cjs/protocol/index.d.ts.map +1 -1
- package/dist/cjs/protocol/index.js +8 -9
- package/dist/cjs/protocol/index.js.map +1 -1
- package/dist/cjs/types/base.d.ts +45 -121
- package/dist/cjs/types/base.d.ts.map +1 -1
- package/dist/cjs/types/base.js +10 -28
- package/dist/cjs/types/base.js.map +1 -1
- package/dist/cjs/utils/encoding.d.ts +12 -0
- package/dist/cjs/utils/encoding.d.ts.map +1 -1
- package/dist/cjs/utils/encoding.js +18 -0
- package/dist/cjs/utils/encoding.js.map +1 -1
- package/dist/cjs/utils/integration.d.ts +14 -15
- package/dist/cjs/utils/integration.d.ts.map +1 -1
- package/dist/cjs/utils/integration.js +145 -98
- package/dist/cjs/utils/integration.js.map +1 -1
- package/dist/cjs/utils/logger.d.ts +17 -2
- package/dist/cjs/utils/logger.d.ts.map +1 -1
- package/dist/cjs/utils/logger.js +40 -3
- package/dist/cjs/utils/logger.js.map +1 -1
- package/dist/cjs/utils/validation.d.ts +6 -0
- package/dist/cjs/utils/validation.d.ts.map +1 -1
- package/dist/cjs/utils/validation.js +37 -0
- package/dist/cjs/utils/validation.js.map +1 -1
- package/dist/cjs/validation/keys.d.ts +7 -0
- package/dist/cjs/validation/keys.d.ts.map +1 -0
- package/dist/cjs/validation/keys.js +23 -0
- package/dist/cjs/validation/keys.js.map +1 -0
- package/dist/esm/event/index.d.ts +7 -0
- package/dist/esm/event/index.d.ts.map +1 -0
- package/dist/esm/event/index.js +7 -0
- package/dist/esm/event/index.js.map +1 -0
- package/dist/esm/event/signing.d.ts +12 -0
- package/dist/esm/event/signing.d.ts.map +1 -1
- package/dist/esm/event/signing.js +27 -0
- package/dist/esm/event/signing.js.map +1 -1
- package/dist/esm/index.d.ts +11 -8
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +16 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/nips/nip-04.d.ts +1 -1
- package/dist/esm/nips/nip-04.d.ts.map +1 -1
- package/dist/esm/nips/nip-04.js +1 -0
- package/dist/esm/nips/nip-04.js.map +1 -1
- package/dist/esm/protocol/index.d.ts +9 -9
- package/dist/esm/protocol/index.d.ts.map +1 -1
- package/dist/esm/protocol/index.js +8 -9
- package/dist/esm/protocol/index.js.map +1 -1
- package/dist/esm/types/base.d.ts +45 -121
- package/dist/esm/types/base.d.ts.map +1 -1
- package/dist/esm/types/base.js +10 -28
- package/dist/esm/types/base.js.map +1 -1
- package/dist/esm/utils/encoding.d.ts +12 -0
- package/dist/esm/utils/encoding.d.ts.map +1 -1
- package/dist/esm/utils/encoding.js +16 -0
- package/dist/esm/utils/encoding.js.map +1 -1
- package/dist/esm/utils/integration.d.ts +14 -15
- package/dist/esm/utils/integration.d.ts.map +1 -1
- package/dist/esm/utils/integration.js +136 -89
- package/dist/esm/utils/integration.js.map +1 -1
- package/dist/esm/utils/logger.d.ts +17 -2
- package/dist/esm/utils/logger.d.ts.map +1 -1
- package/dist/esm/utils/logger.js +38 -2
- package/dist/esm/utils/logger.js.map +1 -1
- package/dist/esm/utils/validation.d.ts +6 -0
- package/dist/esm/utils/validation.d.ts.map +1 -1
- package/dist/esm/utils/validation.js +36 -0
- package/dist/esm/utils/validation.js.map +1 -1
- package/dist/esm/validation/keys.d.ts +7 -0
- package/dist/esm/validation/keys.d.ts.map +1 -0
- package/dist/esm/validation/keys.js +20 -0
- package/dist/esm/validation/keys.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/integration.test.ts +1 -1
- package/src/__tests__/types.test.ts +36 -242
- package/src/event/index.ts +7 -0
- package/src/event/signing.ts +29 -0
- package/src/index.ts +39 -47
- package/src/nips/nip-04.ts +2 -0
- package/src/protocol/index.ts +23 -14
- package/src/types/base.ts +58 -122
- package/src/utils/encoding.ts +18 -0
- package/src/utils/integration.ts +159 -107
- package/src/utils/logger.ts +46 -2
- package/src/utils/validation.ts +37 -0
- package/src/validation/keys.ts +19 -0
- package/dist/browser/551.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/565.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/69.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/main-43dd7041.nostr-crypto-utils.min.js +0 -1
- package/dist/browser/main-7bd12dde.nostr-crypto-utils.min.js +0 -1
- 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: [
|
|
663
|
-
|
|
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:()=>
|
|
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,
|
|
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 @@
|
|
|
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;
|
|
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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module nostr-crypto-utils
|
|
3
|
-
* @description
|
|
3
|
+
* @description Core cryptographic utilities for Nostr protocol
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export { validateEvent
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export * from './nips/
|
|
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
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,
|
|
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
|
|
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
|
|
18
|
-
|
|
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.
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Object.defineProperty(exports, "
|
|
29
|
-
Object.defineProperty(exports, "
|
|
30
|
-
Object.defineProperty(exports, "
|
|
31
|
-
Object.defineProperty(exports, "
|
|
32
|
-
Object.defineProperty(exports, "
|
|
33
|
-
Object.defineProperty(exports, "
|
|
34
|
-
Object.defineProperty(exports, "
|
|
35
|
-
Object.defineProperty(exports, "
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
Object.defineProperty(exports, "
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Object.defineProperty(exports, "
|
|
43
|
-
Object.defineProperty(exports, "
|
|
44
|
-
Object.defineProperty(exports, "
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
Object.defineProperty(exports, "
|
|
53
|
-
Object.defineProperty(exports, "
|
|
54
|
-
Object.defineProperty(exports, "
|
|
55
|
-
Object.defineProperty(exports, "
|
|
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
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
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"}
|
package/dist/cjs/nips/nip-04.js
CHANGED
|
@@ -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":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFH,wCAqDC;AASD,wCAkDC;AAQD,oDA0BC;
|
|
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,
|
|
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 {
|
|
46
|
+
* @returns {UnsignedEvent} Created metadata event
|
|
47
47
|
*/
|
|
48
|
-
export declare function createMetadataEvent(metadata: Record<string, string>, pubkey: string | PublicKey):
|
|
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 {
|
|
56
|
+
* @returns {UnsignedEvent} Created text note event
|
|
57
57
|
*/
|
|
58
|
-
export declare function createTextNoteEvent(content: string, pubkey: string | PublicKey, replyTo?: string, mentions?: string[]):
|
|
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 {
|
|
65
|
+
* @returns {UnsignedEvent} Created direct message event
|
|
66
66
|
*/
|
|
67
|
-
export declare function createDirectMessageEvent(recipientPubkey: string | PublicKey, content: string, senderPubkey: string | PublicKey):
|
|
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 {
|
|
75
|
+
* @returns {UnsignedEvent} Created channel message event
|
|
76
76
|
*/
|
|
77
|
-
export declare function createChannelMessageEvent(channelId: string, content: string, authorPubkey: string | PublicKey, replyTo?: string):
|
|
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
|