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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EACV,WAAW,EAEX,gBAAgB,EAEhB,aAAa,EACb,SAAS,EACT,aAAa,EACb,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAEvF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,CAE9G;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAEtF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAkD3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAS/G;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,aAAa,CAqBf;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,aAAa,CAWf;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,MAAM,GACf,aAAa,CAaf;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAInE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAInE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAK1E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAMhG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAM9E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAQxD"}
|
|
@@ -20,7 +20,6 @@ exports.createAuthorFilter = createAuthorFilter;
|
|
|
20
20
|
exports.createReplyFilter = createReplyFilter;
|
|
21
21
|
exports.createFilter = createFilter;
|
|
22
22
|
const base_1 = require("../types/base");
|
|
23
|
-
const constants_1 = require("./constants");
|
|
24
23
|
/**
|
|
25
24
|
* Formats an event for relay transmission according to NIP-01
|
|
26
25
|
* @category Message Handling
|
|
@@ -113,7 +112,7 @@ function parseMessage(message) {
|
|
|
113
112
|
* @category Event Creation
|
|
114
113
|
* @param {Record<string, string>} metadata - User metadata (name, about, picture, etc.)
|
|
115
114
|
* @param {string | PublicKey} pubkey - Public key of the user
|
|
116
|
-
* @returns {
|
|
115
|
+
* @returns {UnsignedEvent} Created metadata event
|
|
117
116
|
*/
|
|
118
117
|
function createMetadataEvent(metadata, pubkey) {
|
|
119
118
|
const pubkeyValue = typeof pubkey === 'string' ? pubkey : pubkey.hex;
|
|
@@ -132,17 +131,17 @@ function createMetadataEvent(metadata, pubkey) {
|
|
|
132
131
|
* @param {string | PublicKey} pubkey - Public key of the author
|
|
133
132
|
* @param {string} [replyTo] - Optional ID of event being replied to
|
|
134
133
|
* @param {string[]} [mentions] - Optional array of pubkeys to mention
|
|
135
|
-
* @returns {
|
|
134
|
+
* @returns {UnsignedEvent} Created text note event
|
|
136
135
|
*/
|
|
137
136
|
function createTextNoteEvent(content, pubkey, replyTo, mentions) {
|
|
138
137
|
const pubkeyValue = typeof pubkey === 'string' ? pubkey : pubkey.hex;
|
|
139
138
|
const tags = [];
|
|
140
139
|
if (replyTo) {
|
|
141
|
-
tags.push([
|
|
140
|
+
tags.push(['e', replyTo]);
|
|
142
141
|
}
|
|
143
142
|
if (mentions) {
|
|
144
143
|
mentions.forEach(pubkey => {
|
|
145
|
-
tags.push([
|
|
144
|
+
tags.push(['p', pubkey]);
|
|
146
145
|
});
|
|
147
146
|
}
|
|
148
147
|
return {
|
|
@@ -159,7 +158,7 @@ function createTextNoteEvent(content, pubkey, replyTo, mentions) {
|
|
|
159
158
|
* @param {string | PublicKey} recipientPubkey - Public key of message recipient
|
|
160
159
|
* @param {string} content - Message content (will be encrypted)
|
|
161
160
|
* @param {string | PublicKey} senderPubkey - Public key of the sender
|
|
162
|
-
* @returns {
|
|
161
|
+
* @returns {UnsignedEvent} Created direct message event
|
|
163
162
|
*/
|
|
164
163
|
function createDirectMessageEvent(recipientPubkey, content, senderPubkey) {
|
|
165
164
|
const recipientKey = typeof recipientPubkey === 'string' ? recipientPubkey : recipientPubkey.hex;
|
|
@@ -179,7 +178,7 @@ function createDirectMessageEvent(recipientPubkey, content, senderPubkey) {
|
|
|
179
178
|
* @param {string} content - Message content
|
|
180
179
|
* @param {string | PublicKey} authorPubkey - Public key of the message author
|
|
181
180
|
* @param {string} [replyTo] - Optional ID of message being replied to
|
|
182
|
-
* @returns {
|
|
181
|
+
* @returns {UnsignedEvent} Created channel message event
|
|
183
182
|
*/
|
|
184
183
|
function createChannelMessageEvent(channelId, content, authorPubkey, replyTo) {
|
|
185
184
|
const pubkeyValue = typeof authorPubkey === 'string' ? authorPubkey : authorPubkey.hex;
|
|
@@ -203,7 +202,7 @@ function createChannelMessageEvent(channelId, content, authorPubkey, replyTo) {
|
|
|
203
202
|
*/
|
|
204
203
|
function extractReferencedEvents(event) {
|
|
205
204
|
return event.tags
|
|
206
|
-
.filter((tag) => tag[0] ===
|
|
205
|
+
.filter((tag) => tag[0] === 'e')
|
|
207
206
|
.map((tag) => tag[1]);
|
|
208
207
|
}
|
|
209
208
|
/**
|
|
@@ -214,7 +213,7 @@ function extractReferencedEvents(event) {
|
|
|
214
213
|
*/
|
|
215
214
|
function extractMentionedPubkeys(event) {
|
|
216
215
|
return event.tags
|
|
217
|
-
.filter((tag) => tag[0] ===
|
|
216
|
+
.filter((tag) => tag[0] === 'p')
|
|
218
217
|
.map((tag) => tag[1]);
|
|
219
218
|
}
|
|
220
219
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAoBH,kDAEC;AAQD,gEAEC;AAQD,kDAEC;AAQD,gDAEC;AAQD,oCAkDC;AASD,kDASC;AAWD,kDA0BC;AAUD,4DAeC;AAWD,8DAkBC;AAQD,0DAIC;AAQD,0DAIC;AASD,4CAKC;AAUD,gDAMC;AASD,8CAMC;AAQD,oCAQC;AA9SD,wCAUuB;AAEvB;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,KAAuB;IACzD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,YAA+B;IACxE,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,cAAsB;IACxD,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,KAAuB;IACxD,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC;QAElC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO;oBACL,IAAI,EAAE,uBAAgB,CAAC,KAAK;oBAC5B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;iBAClB,CAAC;YAEJ,KAAK,KAAK;gBACR,OAAO;oBACL,IAAI,EAAE,uBAAgB,CAAC,GAAG;oBAC1B,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC1B,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,IAAI,EAAE,uBAAgB,CAAC,KAAK;oBAC5B,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;iBAC3B,CAAC;YAEJ,KAAK,IAAI;gBACP,OAAO;oBACL,IAAI,EAAE,uBAAgB,CAAC,EAAE;oBACzB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACnB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;iBACpB,CAAC;YAEJ,KAAK,MAAM;gBACT,OAAO;oBACL,IAAI,EAAE,uBAAgB,CAAC,IAAI;oBAC3B,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;iBAC3B,CAAC;YAEJ;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,QAAgC,EAAE,MAA0B;IAC9F,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACrE,OAAO;QACL,IAAI,EAAE,qBAAc,CAAC,YAAY;QACjC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,WAAW;KACpB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CACjC,OAAe,EACf,MAA0B,EAC1B,OAAgB,EAChB,QAAmB;IAEnB,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACrE,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE,qBAAc,CAAC,SAAS;QAC9B,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI;QACJ,MAAM,EAAE,WAAW;KACpB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CACtC,eAAmC,EACnC,OAAe,EACf,YAAgC;IAEhC,MAAM,YAAY,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;IACjG,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;IAErF,OAAO;QACL,IAAI,EAAE,qBAAc,CAAC,wBAAwB;QAC7C,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC3B,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,yBAAyB,CACvC,SAAiB,EACjB,OAAe,EACf,YAAgC,EAChC,OAAgB;IAEhB,MAAM,WAAW,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;IACvF,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO;QACL,IAAI,EAAE,qBAAc,CAAC,eAAe;QACpC,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI;QACJ,MAAM,EAAE,WAAW;KACpB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,KAAiB;IACvD,OAAO,KAAK,CAAC,IAAI;SACd,MAAM,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;SACzC,GAAG,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,KAAiB;IACvD,OAAO,KAAK,CAAC,IAAI;SACd,MAAM,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;SACzC,GAAG,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,KAAc;IAC3D,OAAO;QACL,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,MAAc,EAAE,KAAgB,EAAE,KAAc;IACjF,OAAO;QACL,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,OAAe,EAAE,KAAc;IAC/D,OAAO;QACL,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QACd,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE;YACL,qBAAc,CAAC,SAAS;YACxB,qBAAc,CAAC,eAAe;SAC/B;KACF,CAAC;AACJ,CAAC"}
|
package/dist/cjs/types/base.d.ts
CHANGED
|
@@ -2,199 +2,123 @@
|
|
|
2
2
|
* @module types/base
|
|
3
3
|
* @description Core type definitions for Nostr protocol
|
|
4
4
|
*/
|
|
5
|
-
/**
|
|
6
|
-
* Represents a public key in hex format
|
|
7
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
8
|
-
*/
|
|
9
5
|
export type PublicKeyHex = string;
|
|
10
|
-
|
|
11
|
-
* Represents a public key with additional formats
|
|
12
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
13
|
-
*/
|
|
6
|
+
export type PrivateKeyHex = string;
|
|
14
7
|
export interface PublicKeyDetails {
|
|
15
8
|
/** Public key in hex format */
|
|
16
9
|
hex: string;
|
|
10
|
+
/** NIP-05 identifier */
|
|
11
|
+
nip05: string;
|
|
12
|
+
/** Public key in bytes format */
|
|
13
|
+
bytes: Uint8Array;
|
|
17
14
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Public key can be either a hex string or a detailed object
|
|
20
|
-
*/
|
|
21
15
|
export type PublicKey = PublicKeyHex | PublicKeyDetails;
|
|
22
|
-
/**
|
|
23
|
-
* Key pair used for signing and encryption
|
|
24
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
25
|
-
*/
|
|
26
16
|
export interface KeyPair {
|
|
27
17
|
/** Private key in hex format */
|
|
28
|
-
privateKey:
|
|
18
|
+
privateKey: PrivateKeyHex;
|
|
29
19
|
/** Public key details */
|
|
30
20
|
publicKey: PublicKeyDetails;
|
|
31
21
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Enum defining all possible Nostr event kinds as specified in various NIPs
|
|
34
|
-
* @see https://github.com/nostr-protocol/nips
|
|
35
|
-
*/
|
|
36
22
|
export declare enum NostrEventKind {
|
|
37
|
-
/** NIP-01: Set metadata about the user */
|
|
38
23
|
SET_METADATA = 0,
|
|
39
|
-
/** NIP-01: Plain text note */
|
|
40
24
|
TEXT_NOTE = 1,
|
|
41
|
-
/** NIP-01: Recommend relay to followers */
|
|
42
25
|
RECOMMEND_SERVER = 2,
|
|
43
|
-
/** NIP-02: Contact list and relay list metadata */
|
|
44
26
|
CONTACTS = 3,
|
|
45
|
-
/** NIP-04: Encrypted direct message */
|
|
46
27
|
ENCRYPTED_DIRECT_MESSAGE = 4,
|
|
47
|
-
/** NIP-09: Event deletion */
|
|
48
28
|
EVENT_DELETION = 5,
|
|
49
|
-
|
|
29
|
+
REPOST = 6,
|
|
50
30
|
REACTION = 7,
|
|
51
|
-
|
|
52
|
-
CHANNEL_CREATE = 40,
|
|
53
|
-
/** NIP-28: Channel metadata */
|
|
31
|
+
CHANNEL_CREATION = 40,
|
|
54
32
|
CHANNEL_METADATA = 41,
|
|
55
|
-
/** NIP-28: Channel message */
|
|
56
33
|
CHANNEL_MESSAGE = 42,
|
|
57
|
-
/** NIP-28: Hide message in channel */
|
|
58
34
|
CHANNEL_HIDE_MESSAGE = 43,
|
|
59
|
-
/** NIP-28: Mute user in channel */
|
|
60
35
|
CHANNEL_MUTE_USER = 44,
|
|
61
|
-
/** NIP-42: Authentication */
|
|
62
36
|
AUTH = 22242,
|
|
63
|
-
/** NIP-42: Authentication response */
|
|
64
37
|
AUTH_RESPONSE = 22243
|
|
65
38
|
}
|
|
66
|
-
/**
|
|
67
|
-
|
|
68
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
69
|
-
*/
|
|
70
|
-
export interface NostrEvent {
|
|
39
|
+
/** Base interface for all Nostr events */
|
|
40
|
+
export interface BaseNostrEvent {
|
|
71
41
|
/** Event kind as defined in NIPs */
|
|
72
|
-
kind:
|
|
42
|
+
kind: number;
|
|
73
43
|
/** Content of the event */
|
|
74
44
|
content: string;
|
|
75
|
-
/** Array of tags
|
|
45
|
+
/** Array of tags */
|
|
76
46
|
tags: string[][];
|
|
77
47
|
/** Unix timestamp in seconds */
|
|
78
48
|
created_at: number;
|
|
79
|
-
/** Public key of the event creator in hex format */
|
|
80
|
-
pubkey: string;
|
|
81
49
|
}
|
|
82
|
-
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
50
|
+
/** Interface for events that haven't been signed yet */
|
|
51
|
+
export interface UnsignedNostrEvent extends BaseNostrEvent {
|
|
52
|
+
/** Optional public key */
|
|
53
|
+
pubkey?: string;
|
|
54
|
+
}
|
|
55
|
+
/** Interface for signed events */
|
|
56
|
+
export interface SignedNostrEvent extends BaseNostrEvent {
|
|
57
|
+
/** Public key of the event creator */
|
|
58
|
+
pubkey: string;
|
|
59
|
+
/** Event ID (sha256 of the serialized event) */
|
|
88
60
|
id: string;
|
|
89
61
|
/** Schnorr signature of the event ID */
|
|
90
62
|
sig: string;
|
|
91
63
|
}
|
|
92
|
-
/**
|
|
93
|
-
|
|
94
|
-
*/
|
|
95
|
-
export
|
|
96
|
-
/** Whether the validation passed */
|
|
97
|
-
isValid: boolean;
|
|
98
|
-
/** Error message if validation failed */
|
|
99
|
-
error?: string;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Filter for Nostr events
|
|
103
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
104
|
-
*/
|
|
64
|
+
/** Alias for backward compatibility */
|
|
65
|
+
export type NostrEvent = SignedNostrEvent;
|
|
66
|
+
/** Type for creating new events */
|
|
67
|
+
export type UnsignedEvent = Omit<NostrEvent, 'id' | 'sig'>;
|
|
105
68
|
export interface NostrFilter {
|
|
106
|
-
/** Filter by event IDs */
|
|
107
69
|
ids?: string[];
|
|
108
|
-
/** Filter by author public keys */
|
|
109
70
|
authors?: string[];
|
|
110
|
-
/** Filter by event kinds */
|
|
111
71
|
kinds?: NostrEventKind[];
|
|
112
|
-
/** Filter by start timestamp */
|
|
113
72
|
since?: number;
|
|
114
|
-
/** Filter by end timestamp */
|
|
115
73
|
until?: number;
|
|
116
|
-
/** Limit number of results */
|
|
117
74
|
limit?: number;
|
|
118
|
-
/** Filter by event references */
|
|
119
75
|
'#e'?: string[];
|
|
120
|
-
/** Filter by pubkey references */
|
|
121
76
|
'#p'?: string[];
|
|
122
|
-
/** Filter by arbitrary tag */
|
|
123
|
-
[key: `#${string}`]: string[] | undefined;
|
|
124
|
-
/** Full-text search query */
|
|
125
77
|
search?: string;
|
|
78
|
+
/** Support for arbitrary tags (NIP-12) */
|
|
79
|
+
[key: `#${string}`]: string[] | undefined;
|
|
126
80
|
}
|
|
127
|
-
/**
|
|
128
|
-
* Subscription for Nostr events
|
|
129
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
130
|
-
*/
|
|
131
81
|
export interface NostrSubscription {
|
|
132
|
-
/** Unique subscription identifier */
|
|
133
82
|
id: string;
|
|
134
|
-
/** Array of filters to apply to the subscription */
|
|
135
83
|
filters: NostrFilter[];
|
|
136
84
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Nostr message types for client-relay communication
|
|
139
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
140
|
-
*/
|
|
141
85
|
export declare enum NostrMessageType {
|
|
142
86
|
EVENT = "EVENT",
|
|
143
|
-
REQ = "REQ",
|
|
144
|
-
CLOSE = "CLOSE",
|
|
145
87
|
NOTICE = "NOTICE",
|
|
146
|
-
EOSE = "EOSE",
|
|
147
88
|
OK = "OK",
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
89
|
+
EOSE = "EOSE",
|
|
90
|
+
REQ = "REQ",
|
|
91
|
+
CLOSE = "CLOSE",
|
|
92
|
+
AUTH = "AUTH"
|
|
151
93
|
}
|
|
152
|
-
/**
|
|
153
|
-
* Nostr message interface
|
|
154
|
-
*/
|
|
155
94
|
export interface NostrMessage {
|
|
156
|
-
/** Type of the message */
|
|
157
95
|
type: NostrMessageType;
|
|
158
|
-
|
|
159
|
-
|
|
96
|
+
event?: SignedNostrEvent;
|
|
97
|
+
subscriptionId?: string;
|
|
98
|
+
filters?: NostrFilter[];
|
|
99
|
+
eventId?: string;
|
|
100
|
+
accepted?: boolean;
|
|
101
|
+
message?: string;
|
|
102
|
+
count?: number;
|
|
103
|
+
payload?: string | (string | boolean)[];
|
|
160
104
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Nostr response interface
|
|
163
|
-
*/
|
|
164
105
|
export interface NostrResponse {
|
|
165
|
-
/** Type of the response */
|
|
166
106
|
type: NostrMessageType;
|
|
167
|
-
/** Event data if applicable */
|
|
168
107
|
event?: SignedNostrEvent;
|
|
169
|
-
/** Subscription ID if applicable */
|
|
170
108
|
subscriptionId?: string;
|
|
171
|
-
/** Filters if applicable */
|
|
172
109
|
filters?: NostrFilter[];
|
|
173
|
-
/** Event ID if applicable */
|
|
174
110
|
eventId?: string;
|
|
175
|
-
/** Whether the request was accepted */
|
|
176
111
|
accepted?: boolean;
|
|
177
|
-
/** Message if applicable */
|
|
178
112
|
message?: string;
|
|
113
|
+
count?: number;
|
|
114
|
+
}
|
|
115
|
+
export interface ValidationResult {
|
|
116
|
+
isValid: boolean;
|
|
117
|
+
error?: string;
|
|
179
118
|
}
|
|
180
|
-
/**
|
|
181
|
-
* Nostr error interface
|
|
182
|
-
*/
|
|
183
119
|
export interface NostrError {
|
|
184
|
-
/** Error code */
|
|
185
120
|
code: string;
|
|
186
|
-
/** Error message */
|
|
187
121
|
message: string;
|
|
188
|
-
/** Additional error details */
|
|
189
122
|
details?: Record<string, unknown>;
|
|
190
123
|
}
|
|
191
|
-
/**
|
|
192
|
-
* Encryption result interface
|
|
193
|
-
*/
|
|
194
|
-
export interface EncryptionResult {
|
|
195
|
-
/** Encrypted ciphertext */
|
|
196
|
-
ciphertext: string;
|
|
197
|
-
/** Initialization vector */
|
|
198
|
-
iv: string;
|
|
199
|
-
}
|
|
200
124
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,WAAW,OAAO;IACtB,gCAAgC;IAChC,UAAU,EAAE,aAAa,CAAC;IAC1B,yBAAyB;IACzB,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAGD,oBAAY,cAAc;IAExB,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,gBAAgB,IAAI;IACpB,QAAQ,IAAI;IACZ,wBAAwB,IAAI;IAC5B,cAAc,IAAI;IAClB,MAAM,IAAI;IACV,QAAQ,IAAI;IAGZ,gBAAgB,KAAK;IACrB,gBAAgB,KAAK;IACrB,eAAe,KAAK;IACpB,oBAAoB,KAAK;IACzB,iBAAiB,KAAK;IAGtB,IAAI,QAAQ;IACZ,aAAa,QAAQ;CACtB;AAED,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wDAAwD;AACxD,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAE1C,mCAAmC;AACnC,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC;AAG3D,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAGD,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
|
package/dist/cjs/types/base.js
CHANGED
|
@@ -5,55 +5,37 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.NostrMessageType = exports.NostrEventKind = void 0;
|
|
8
|
-
|
|
9
|
-
* Enum defining all possible Nostr event kinds as specified in various NIPs
|
|
10
|
-
* @see https://github.com/nostr-protocol/nips
|
|
11
|
-
*/
|
|
8
|
+
// Event Types
|
|
12
9
|
var NostrEventKind;
|
|
13
10
|
(function (NostrEventKind) {
|
|
14
|
-
|
|
11
|
+
// NIP-01: Core Protocol
|
|
15
12
|
NostrEventKind[NostrEventKind["SET_METADATA"] = 0] = "SET_METADATA";
|
|
16
|
-
/** NIP-01: Plain text note */
|
|
17
13
|
NostrEventKind[NostrEventKind["TEXT_NOTE"] = 1] = "TEXT_NOTE";
|
|
18
|
-
/** NIP-01: Recommend relay to followers */
|
|
19
14
|
NostrEventKind[NostrEventKind["RECOMMEND_SERVER"] = 2] = "RECOMMEND_SERVER";
|
|
20
|
-
/** NIP-02: Contact list and relay list metadata */
|
|
21
15
|
NostrEventKind[NostrEventKind["CONTACTS"] = 3] = "CONTACTS";
|
|
22
|
-
/** NIP-04: Encrypted direct message */
|
|
23
16
|
NostrEventKind[NostrEventKind["ENCRYPTED_DIRECT_MESSAGE"] = 4] = "ENCRYPTED_DIRECT_MESSAGE";
|
|
24
|
-
/** NIP-09: Event deletion */
|
|
25
17
|
NostrEventKind[NostrEventKind["EVENT_DELETION"] = 5] = "EVENT_DELETION";
|
|
26
|
-
|
|
18
|
+
NostrEventKind[NostrEventKind["REPOST"] = 6] = "REPOST";
|
|
27
19
|
NostrEventKind[NostrEventKind["REACTION"] = 7] = "REACTION";
|
|
28
|
-
|
|
29
|
-
NostrEventKind[NostrEventKind["
|
|
30
|
-
/** NIP-28: Channel metadata */
|
|
20
|
+
// NIP-28: Public Chat
|
|
21
|
+
NostrEventKind[NostrEventKind["CHANNEL_CREATION"] = 40] = "CHANNEL_CREATION";
|
|
31
22
|
NostrEventKind[NostrEventKind["CHANNEL_METADATA"] = 41] = "CHANNEL_METADATA";
|
|
32
|
-
/** NIP-28: Channel message */
|
|
33
23
|
NostrEventKind[NostrEventKind["CHANNEL_MESSAGE"] = 42] = "CHANNEL_MESSAGE";
|
|
34
|
-
/** NIP-28: Hide message in channel */
|
|
35
24
|
NostrEventKind[NostrEventKind["CHANNEL_HIDE_MESSAGE"] = 43] = "CHANNEL_HIDE_MESSAGE";
|
|
36
|
-
/** NIP-28: Mute user in channel */
|
|
37
25
|
NostrEventKind[NostrEventKind["CHANNEL_MUTE_USER"] = 44] = "CHANNEL_MUTE_USER";
|
|
38
|
-
|
|
26
|
+
// NIP-42: Authentication
|
|
39
27
|
NostrEventKind[NostrEventKind["AUTH"] = 22242] = "AUTH";
|
|
40
|
-
/** NIP-42: Authentication response */
|
|
41
28
|
NostrEventKind[NostrEventKind["AUTH_RESPONSE"] = 22243] = "AUTH_RESPONSE";
|
|
42
29
|
})(NostrEventKind || (exports.NostrEventKind = NostrEventKind = {}));
|
|
43
|
-
|
|
44
|
-
* Nostr message types for client-relay communication
|
|
45
|
-
* @see https://github.com/nostr-protocol/nips/blob/master/01.md
|
|
46
|
-
*/
|
|
30
|
+
// Message Types
|
|
47
31
|
var NostrMessageType;
|
|
48
32
|
(function (NostrMessageType) {
|
|
49
33
|
NostrMessageType["EVENT"] = "EVENT";
|
|
50
|
-
NostrMessageType["REQ"] = "REQ";
|
|
51
|
-
NostrMessageType["CLOSE"] = "CLOSE";
|
|
52
34
|
NostrMessageType["NOTICE"] = "NOTICE";
|
|
53
|
-
NostrMessageType["EOSE"] = "EOSE";
|
|
54
35
|
NostrMessageType["OK"] = "OK";
|
|
36
|
+
NostrMessageType["EOSE"] = "EOSE";
|
|
37
|
+
NostrMessageType["REQ"] = "REQ";
|
|
38
|
+
NostrMessageType["CLOSE"] = "CLOSE";
|
|
55
39
|
NostrMessageType["AUTH"] = "AUTH";
|
|
56
|
-
NostrMessageType["ERROR"] = "ERROR";
|
|
57
|
-
NostrMessageType["COUNT"] = "COUNT";
|
|
58
40
|
})(NostrMessageType || (exports.NostrMessageType = NostrMessageType = {}));
|
|
59
41
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwBH,cAAc;AACd,IAAY,cAqBX;AArBD,WAAY,cAAc;IACxB,wBAAwB;IACxB,mEAAgB,CAAA;IAChB,6DAAa,CAAA;IACb,2EAAoB,CAAA;IACpB,2DAAY,CAAA;IACZ,2FAA4B,CAAA;IAC5B,uEAAkB,CAAA;IAClB,uDAAU,CAAA;IACV,2DAAY,CAAA;IAEZ,sBAAsB;IACtB,4EAAqB,CAAA;IACrB,4EAAqB,CAAA;IACrB,0EAAoB,CAAA;IACpB,oFAAyB,CAAA;IACzB,8EAAsB,CAAA;IAEtB,yBAAyB;IACzB,uDAAY,CAAA;IACZ,yEAAqB,CAAA;AACvB,CAAC,EArBW,cAAc,8BAAd,cAAc,QAqBzB;AAwDD,gBAAgB;AAChB,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,6BAAS,CAAA;IACT,iCAAa,CAAA;IACb,+BAAW,CAAA;IACX,mCAAe,CAAA;IACf,iCAAa,CAAA;AACf,CAAC,EARW,gBAAgB,gCAAhB,gBAAgB,QAQ3B"}
|
|
@@ -13,4 +13,16 @@ export declare function hexToBytes(hex: string): Uint8Array;
|
|
|
13
13
|
* @returns Hex string
|
|
14
14
|
*/
|
|
15
15
|
export declare function bytesToHex(bytes: Uint8Array): string;
|
|
16
|
+
/**
|
|
17
|
+
* Convert a UTF-8 string to Uint8Array
|
|
18
|
+
* @param str UTF-8 string to convert
|
|
19
|
+
* @returns Uint8Array of bytes
|
|
20
|
+
*/
|
|
21
|
+
export declare function utf8ToBytes(str: string): Uint8Array;
|
|
22
|
+
/**
|
|
23
|
+
* Convert Uint8Array to UTF-8 string
|
|
24
|
+
* @param bytes Uint8Array to convert
|
|
25
|
+
* @returns UTF-8 string
|
|
26
|
+
*/
|
|
27
|
+
export declare function bytesToUtf8(bytes: Uint8Array): string;
|
|
16
28
|
//# sourceMappingURL=encoding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIpD"}
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../../src/utils/encoding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAErD"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.hexToBytes = hexToBytes;
|
|
7
7
|
exports.bytesToHex = bytesToHex;
|
|
8
|
+
exports.utf8ToBytes = utf8ToBytes;
|
|
9
|
+
exports.bytesToUtf8 = bytesToUtf8;
|
|
8
10
|
/**
|
|
9
11
|
* Convert a hex string to Uint8Array
|
|
10
12
|
* @param hex Hex string to convert
|
|
@@ -27,4 +29,20 @@ function bytesToHex(bytes) {
|
|
|
27
29
|
.map(b => b.toString(16).padStart(2, '0'))
|
|
28
30
|
.join('');
|
|
29
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Convert a UTF-8 string to Uint8Array
|
|
34
|
+
* @param str UTF-8 string to convert
|
|
35
|
+
* @returns Uint8Array of bytes
|
|
36
|
+
*/
|
|
37
|
+
function utf8ToBytes(str) {
|
|
38
|
+
return new TextEncoder().encode(str);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Convert Uint8Array to UTF-8 string
|
|
42
|
+
* @param bytes Uint8Array to convert
|
|
43
|
+
* @returns UTF-8 string
|
|
44
|
+
*/
|
|
45
|
+
function bytesToUtf8(bytes) {
|
|
46
|
+
return new TextDecoder().decode(bytes);
|
|
47
|
+
}
|
|
30
48
|
//# sourceMappingURL=encoding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/utils/encoding.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAOH,gCAMC;AAOD,gCAIC;
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/utils/encoding.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAOH,gCAMC;AAOD,gCAIC;AAOD,kCAEC;AAOD,kCAEC;AAxCD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,KAAiB;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,GAAW;IACnC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,KAAiB;IACzC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import { NostrEvent, NostrFilter, NostrEventKind, SignedNostrEvent, NostrMessage } from '../types/base
|
|
2
|
-
import { NostrMessageTuple } from '../types/messages.js';
|
|
1
|
+
import { NostrEvent, NostrFilter, NostrEventKind, SignedNostrEvent, NostrMessage, UnsignedEvent } from '../types/base';
|
|
3
2
|
/**
|
|
4
3
|
* Format event for relay transmission
|
|
5
4
|
*/
|
|
6
|
-
export declare function formatEventForRelay(event: SignedNostrEvent):
|
|
5
|
+
export declare function formatEventForRelay(event: SignedNostrEvent): [string, SignedNostrEvent];
|
|
7
6
|
/**
|
|
8
7
|
* Format subscription for relay transmission
|
|
9
8
|
*/
|
|
10
9
|
export declare function formatSubscriptionForRelay(subscription: {
|
|
11
10
|
id: string;
|
|
12
11
|
filters: NostrFilter[];
|
|
13
|
-
}):
|
|
12
|
+
}): [string, string, ...NostrFilter[]];
|
|
14
13
|
/**
|
|
15
14
|
* Format close message for relay transmission
|
|
16
15
|
*/
|
|
17
|
-
export declare function formatCloseForRelay(subscriptionId: string):
|
|
16
|
+
export declare function formatCloseForRelay(subscriptionId: string): [string, string];
|
|
18
17
|
/**
|
|
19
18
|
* Format auth message for relay transmission
|
|
20
19
|
*/
|
|
21
|
-
export declare function formatAuthForRelay(event: SignedNostrEvent):
|
|
20
|
+
export declare function formatAuthForRelay(event: SignedNostrEvent): [string, SignedNostrEvent];
|
|
22
21
|
/**
|
|
23
22
|
* Parse a message from a relay
|
|
24
23
|
*/
|
|
@@ -26,23 +25,23 @@ export declare function parseNostrMessage(message: string | unknown[]): NostrMes
|
|
|
26
25
|
/**
|
|
27
26
|
* Create a metadata event
|
|
28
27
|
*/
|
|
29
|
-
export declare function createMetadataEvent(metadata: Record<string, string>):
|
|
28
|
+
export declare function createMetadataEvent(metadata: Record<string, string>): UnsignedEvent;
|
|
30
29
|
/**
|
|
31
30
|
* Create a text note event
|
|
32
31
|
*/
|
|
33
|
-
export declare function createTextNoteEvent(content: string, replyTo?: string, mentions?: string[]):
|
|
32
|
+
export declare function createTextNoteEvent(content: string, replyTo?: string, mentions?: string[]): UnsignedEvent;
|
|
34
33
|
/**
|
|
35
34
|
* Create a direct message event
|
|
36
35
|
*/
|
|
37
|
-
export declare function createDirectMessageEvent(recipientPubkey: string, content: string):
|
|
36
|
+
export declare function createDirectMessageEvent(recipientPubkey: string, content: string): UnsignedEvent;
|
|
38
37
|
/**
|
|
39
38
|
* Create a channel message event
|
|
40
39
|
*/
|
|
41
|
-
export declare function createChannelMessageEvent(channelId: string, content: string, replyTo?: string):
|
|
40
|
+
export declare function createChannelMessageEvent(channelId: string, content: string, replyTo?: string): UnsignedEvent;
|
|
42
41
|
/**
|
|
43
42
|
* Extract referenced events from tags
|
|
44
43
|
*/
|
|
45
|
-
export declare function extractReferencedEvents(event:
|
|
44
|
+
export declare function extractReferencedEvents(event: NostrEvent): string[];
|
|
46
45
|
/**
|
|
47
46
|
* Extract mentioned pubkeys from an event
|
|
48
47
|
*/
|
|
@@ -62,17 +61,17 @@ export declare function createReplyFilter(eventId: string, limit?: number): Nost
|
|
|
62
61
|
/**
|
|
63
62
|
* Creates a mock text note event for testing
|
|
64
63
|
*/
|
|
65
|
-
export declare function createMockTextNote(content?: string):
|
|
64
|
+
export declare function createMockTextNote(content?: string): UnsignedEvent;
|
|
66
65
|
/**
|
|
67
66
|
* Creates a mock metadata event for testing
|
|
68
67
|
*/
|
|
69
|
-
export declare function createMockMetadataEvent(metadata?: Record<string, string>):
|
|
68
|
+
export declare function createMockMetadataEvent(metadata?: Record<string, string>): UnsignedEvent;
|
|
70
69
|
/**
|
|
71
70
|
* Creates a mock direct message event for testing
|
|
72
71
|
*/
|
|
73
|
-
export declare function createMockDirectMessage(content?: string):
|
|
72
|
+
export declare function createMockDirectMessage(content?: string): UnsignedEvent;
|
|
74
73
|
/**
|
|
75
74
|
* Creates a mock channel message event for testing
|
|
76
75
|
*/
|
|
77
|
-
export declare function createMockChannelMessage(content?: string):
|
|
76
|
+
export declare function createMockChannelMessage(content?: string): UnsignedEvent;
|
|
78
77
|
//# sourceMappingURL=integration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/utils/integration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/utils/integration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAEhB,YAAY,EACZ,aAAa,EACd,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAEvF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,CAEnI;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAEtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,YAAY,CAkH3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAQnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,aAAa,CAkBzG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAQhG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAa7G;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAInE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAInE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAMlF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CASxG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAS9E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,SAAkB,GAAG,aAAa,CAQ3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,aAAa,CAQ5F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,SAAW,GAAG,aAAa,CAQzE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,SAAoB,GAAG,aAAa,CAQnF"}
|