@welshman/app 0.12.6 → 0.13.0
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/dist/app/src/plugins/base.d.ts +17 -23
- package/dist/app/src/plugins/base.d.ts.map +1 -1
- package/dist/app/src/plugins/base.js +23 -34
- package/dist/app/src/plugins/base.js.map +1 -1
- package/dist/app/src/plugins/plaintext.d.ts +6 -2
- package/dist/app/src/plugins/plaintext.d.ts.map +1 -1
- package/dist/app/src/plugins/plaintext.js +34 -14
- package/dist/app/src/plugins/plaintext.js.map +1 -1
- package/dist/app/src/plugins/publisher.d.ts +9 -5
- package/dist/app/src/plugins/publisher.d.ts.map +1 -1
- package/dist/app/src/plugins/publisher.js +108 -75
- package/dist/app/src/plugins/publisher.js.map +1 -1
- package/dist/app/src/plugins/wraps.d.ts +5 -1
- package/dist/app/src/plugins/wraps.d.ts.map +1 -1
- package/dist/app/src/plugins/wraps.js +6 -10
- package/dist/app/src/plugins/wraps.js.map +1 -1
- package/dist/app/src/policy.d.ts.map +1 -1
- package/dist/app/src/policy.js +4 -1
- package/dist/app/src/policy.js.map +1 -1
- package/dist/app/src/user.d.ts +2 -2
- package/dist/app/src/user.d.ts.map +1 -1
- package/dist/app/src/user.js.map +1 -1
- package/dist/domain/src/core/ListWriter.d.ts +6 -6
- package/dist/domain/src/kinds/Bolt12Offer.d.ts.map +1 -1
- package/dist/domain/src/kinds/Bolt12Offer.js +10 -9
- package/dist/domain/src/kinds/Bolt12Offer.js.map +1 -1
- package/dist/domain/src/kinds/Bolt12Zap.d.ts +6 -11
- package/dist/domain/src/kinds/Bolt12Zap.d.ts.map +1 -1
- package/dist/domain/src/kinds/Bolt12Zap.js +77 -105
- package/dist/domain/src/kinds/Bolt12Zap.js.map +1 -1
- package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts +2 -0
- package/dist/domain/src/kinds/Bolt12ZapIntent.d.ts.map +1 -1
- package/dist/domain/src/kinds/Bolt12ZapIntent.js +31 -20
- package/dist/domain/src/kinds/Bolt12ZapIntent.js.map +1 -1
- package/dist/feeds/src/request.d.ts.map +1 -1
- package/dist/feeds/src/request.js +14 -5
- package/dist/feeds/src/request.js.map +1 -1
- package/dist/lib/src/TaskQueue.d.ts.map +1 -1
- package/dist/lib/src/TaskQueue.js +8 -2
- package/dist/lib/src/TaskQueue.js.map +1 -1
- package/dist/net/src/policy.d.ts.map +1 -1
- package/dist/net/src/policy.js +11 -3
- package/dist/net/src/policy.js.map +1 -1
- package/dist/net/src/repository.d.ts +18 -15
- package/dist/net/src/repository.d.ts.map +1 -1
- package/dist/net/src/repository.js +69 -78
- package/dist/net/src/repository.js.map +1 -1
- package/dist/net/src/wrapManager.d.ts +0 -2
- package/dist/net/src/wrapManager.d.ts.map +1 -1
- package/dist/net/src/wrapManager.js +8 -23
- package/dist/net/src/wrapManager.js.map +1 -1
- package/dist/signer/src/index.d.ts +1 -0
- package/dist/signer/src/index.d.ts.map +1 -1
- package/dist/signer/src/index.js +1 -0
- package/dist/signer/src/index.js.map +1 -1
- package/dist/signer/src/nip59.d.ts +13 -6
- package/dist/signer/src/nip59.d.ts.map +1 -1
- package/dist/signer/src/nip59.js +38 -19
- package/dist/signer/src/nip59.js.map +1 -1
- package/dist/signer/src/queue.d.ts +21 -0
- package/dist/signer/src/queue.d.ts.map +1 -0
- package/dist/signer/src/queue.js +40 -0
- package/dist/signer/src/queue.js.map +1 -0
- package/dist/signer/src/signers/nip01.d.ts +14 -2
- package/dist/signer/src/signers/nip01.d.ts.map +1 -1
- package/dist/signer/src/signers/nip01.js +6 -2
- package/dist/signer/src/signers/nip01.js.map +1 -1
- package/dist/signer/src/signers/nip07.d.ts +9 -9
- package/dist/signer/src/signers/nip07.d.ts.map +1 -1
- package/dist/signer/src/signers/nip07.js +15 -27
- package/dist/signer/src/signers/nip07.js.map +1 -1
- package/dist/signer/src/signers/nip46.d.ts +7 -3
- package/dist/signer/src/signers/nip46.d.ts.map +1 -1
- package/dist/signer/src/signers/nip46.js +12 -8
- package/dist/signer/src/signers/nip46.js.map +1 -1
- package/dist/signer/src/signers/nip55.d.ts +7 -7
- package/dist/signer/src/signers/nip55.d.ts.map +1 -1
- package/dist/signer/src/signers/nip55.js +33 -40
- package/dist/signer/src/signers/nip55.js.map +1 -1
- package/dist/signer/src/util.d.ts +27 -15
- package/dist/signer/src/util.d.ts.map +1 -1
- package/dist/signer/src/util.js +47 -14
- package/dist/signer/src/util.js.map +1 -1
- package/dist/store/src/repository.d.ts +5 -0
- package/dist/store/src/repository.d.ts.map +1 -1
- package/dist/store/src/repository.js +115 -96
- package/dist/store/src/repository.js.map +1 -1
- package/dist/util/src/Bolt12.d.ts.map +1 -1
- package/dist/util/src/Bolt12.js +11 -8
- package/dist/util/src/Bolt12.js.map +1 -1
- package/dist/util/src/Events.d.ts +1 -0
- package/dist/util/src/Events.d.ts.map +1 -1
- package/dist/util/src/Events.js +10 -1
- package/dist/util/src/Events.js.map +1 -1
- package/dist/util/src/Lightning.d.ts +1 -0
- package/dist/util/src/Lightning.d.ts.map +1 -1
- package/dist/util/src/Lightning.js +1 -0
- package/dist/util/src/Lightning.js.map +1 -1
- package/package.json +15 -15
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { append, TaskQueue, ensurePlural, remove, defer, sleep, now, uniq } from "@welshman/lib";
|
|
1
|
+
import { writable } from "svelte/store";
|
|
2
|
+
import { addToMapKey, append, TaskQueue, ensurePlural, remove, defer, sleep, now, uniq, } from "@welshman/lib";
|
|
3
3
|
import { isSignedEvent, WRAPPED_KINDS, prep, makePow, } from "@welshman/util";
|
|
4
4
|
import { PublishStatus } from "@welshman/net";
|
|
5
5
|
import { Nip01Signer, Nip59 } from "@welshman/signer";
|
|
@@ -16,6 +16,25 @@ const resultsFor = (relays, status, detail) => {
|
|
|
16
16
|
};
|
|
17
17
|
/** Status queries over per-relay results. A relay with no result is still in progress. */
|
|
18
18
|
export class PublishStatusView {
|
|
19
|
+
_subs = [];
|
|
20
|
+
// A settled view never changes again, so its subscribers aren't kept.
|
|
21
|
+
subscribe(subscriber) {
|
|
22
|
+
subscriber(this);
|
|
23
|
+
if (!this.isComplete()) {
|
|
24
|
+
this._subs.push(subscriber);
|
|
25
|
+
}
|
|
26
|
+
return () => {
|
|
27
|
+
this._subs = remove(subscriber, this._subs);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
notify() {
|
|
31
|
+
for (const subscriber of this._subs) {
|
|
32
|
+
subscriber(this);
|
|
33
|
+
}
|
|
34
|
+
if (this.isComplete()) {
|
|
35
|
+
this._subs = [];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
19
38
|
getUrlsWithStatus(statuses) {
|
|
20
39
|
const matches = ensurePlural(statuses);
|
|
21
40
|
return this.relays.filter(relay => {
|
|
@@ -52,7 +71,6 @@ export class Publication extends PublishStatusView {
|
|
|
52
71
|
event;
|
|
53
72
|
wrap;
|
|
54
73
|
controller = new AbortController();
|
|
55
|
-
_subs = [];
|
|
56
74
|
_settled = defer();
|
|
57
75
|
constructor(request, event) {
|
|
58
76
|
super();
|
|
@@ -78,36 +96,24 @@ export class Publication extends PublishStatusView {
|
|
|
78
96
|
this.event = draft.event;
|
|
79
97
|
this.wrap = draft.wrap;
|
|
80
98
|
}
|
|
81
|
-
|
|
82
|
-
subscriber(this);
|
|
83
|
-
}
|
|
99
|
+
this.notify();
|
|
84
100
|
if (this.isComplete()) {
|
|
85
|
-
this._subs = [];
|
|
86
101
|
this._settled.resolve(this);
|
|
87
102
|
}
|
|
88
103
|
}
|
|
89
104
|
}
|
|
90
105
|
// Relays that already answered keep their result.
|
|
91
106
|
abort() {
|
|
92
|
-
const results =
|
|
93
|
-
for (const
|
|
94
|
-
|
|
95
|
-
|
|
107
|
+
const results = resultsFor(this.relays, Aborted, "aborted");
|
|
108
|
+
for (const relay of this.relays) {
|
|
109
|
+
const result = this.results[relay];
|
|
110
|
+
if (result && result.status !== Pending) {
|
|
111
|
+
results[relay] = result;
|
|
96
112
|
}
|
|
97
113
|
}
|
|
98
114
|
this.advance({ stage: "aborted", results });
|
|
99
115
|
this.controller.abort();
|
|
100
116
|
}
|
|
101
|
-
// A settled publication never changes again, so its subscribers aren't kept.
|
|
102
|
-
subscribe(subscriber) {
|
|
103
|
-
subscriber(this);
|
|
104
|
-
if (!this.isComplete()) {
|
|
105
|
-
this._subs.push(subscriber);
|
|
106
|
-
}
|
|
107
|
-
return () => {
|
|
108
|
-
this._subs = remove(subscriber, this._subs);
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
117
|
settled() {
|
|
112
118
|
return this._settled;
|
|
113
119
|
}
|
|
@@ -131,19 +137,11 @@ export const mergeResults = (publications) => {
|
|
|
131
137
|
/** Several publications watched as one, e.g. a rumor gift-wrapped for each recipient. */
|
|
132
138
|
export class PublicationGroup extends PublishStatusView {
|
|
133
139
|
publications;
|
|
134
|
-
_subs = [];
|
|
135
140
|
constructor(publications) {
|
|
136
141
|
super();
|
|
137
142
|
this.publications = publications;
|
|
138
143
|
for (const publication of publications) {
|
|
139
|
-
publication.subscribe(() =>
|
|
140
|
-
for (const subscriber of this._subs) {
|
|
141
|
-
subscriber(this);
|
|
142
|
-
}
|
|
143
|
-
if (this.isComplete()) {
|
|
144
|
-
this._subs = [];
|
|
145
|
-
}
|
|
146
|
-
});
|
|
144
|
+
publication.subscribe(() => this.notify());
|
|
147
145
|
}
|
|
148
146
|
}
|
|
149
147
|
get relays() {
|
|
@@ -158,16 +156,6 @@ export class PublicationGroup extends PublishStatusView {
|
|
|
158
156
|
abort() {
|
|
159
157
|
this.publications.forEach(p => p.abort());
|
|
160
158
|
}
|
|
161
|
-
// As with a publication, a settled group never changes again, so its subscribers aren't kept.
|
|
162
|
-
subscribe(subscriber) {
|
|
163
|
-
subscriber(this);
|
|
164
|
-
if (!this.isComplete()) {
|
|
165
|
-
this._subs.push(subscriber);
|
|
166
|
-
}
|
|
167
|
-
return () => {
|
|
168
|
-
this._subs = remove(subscriber, this._subs);
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
159
|
async settled() {
|
|
172
160
|
await Promise.all(this.publications.map(p => p.settled()));
|
|
173
161
|
return this;
|
|
@@ -175,6 +163,10 @@ export class PublicationGroup extends PublishStatusView {
|
|
|
175
163
|
}
|
|
176
164
|
// A remote signer can otherwise hang the publication indefinitely.
|
|
177
165
|
const SIGN_TIMEOUT = 30_000;
|
|
166
|
+
// Aborting the publication also withdraws its requests from the signer's queue.
|
|
167
|
+
const signerOptions = (publication) => ({
|
|
168
|
+
signal: AbortSignal.any([publication.signal, AbortSignal.timeout(SIGN_TIMEOUT)]),
|
|
169
|
+
});
|
|
178
170
|
// The soft-undo window comes before anything is signed.
|
|
179
171
|
const delayStage = async (draft, { publication, enter }) => {
|
|
180
172
|
const { delay } = publication.request;
|
|
@@ -195,7 +187,11 @@ const wrapStage = async (draft, { app, publication, enter }) => {
|
|
|
195
187
|
enter({ stage: "wrapping" });
|
|
196
188
|
const wrapper = Nip01Signer.ephemeral();
|
|
197
189
|
const nip59 = new Nip59(User.require(app).signer, wrapper);
|
|
198
|
-
result = {
|
|
190
|
+
result = {
|
|
191
|
+
...draft,
|
|
192
|
+
wrapper,
|
|
193
|
+
wrap: await nip59.wrap(recipient, draft.event, [], signerOptions(publication)),
|
|
194
|
+
};
|
|
199
195
|
}
|
|
200
196
|
return result;
|
|
201
197
|
};
|
|
@@ -213,8 +209,8 @@ const powStage = async (draft, { publication, enter }) => {
|
|
|
213
209
|
}
|
|
214
210
|
return result;
|
|
215
211
|
};
|
|
216
|
-
const signStage = async (draft, { app, enter }) => {
|
|
217
|
-
const options =
|
|
212
|
+
const signStage = async (draft, { app, publication, enter }) => {
|
|
213
|
+
const options = signerOptions(publication);
|
|
218
214
|
let result = draft;
|
|
219
215
|
if (draft.wrap && draft.wrapper && !isSignedEvent(draft.wrap)) {
|
|
220
216
|
result = { ...draft, wrap: await draft.wrapper.sign(draft.wrap, options) };
|
|
@@ -257,6 +253,10 @@ export const STAGES = [delayStage, wrapStage, powStage, signStage, sendStage];
|
|
|
257
253
|
export class Publisher {
|
|
258
254
|
app;
|
|
259
255
|
history = writable([]);
|
|
256
|
+
// What cleanup stops, since a retry drops attempts from `history` that may still be running
|
|
257
|
+
unsettled = new Set();
|
|
258
|
+
// The publications sharing each event's repository copy, which goes when the last is aborted
|
|
259
|
+
holders = new Map();
|
|
260
260
|
// Paces how fast publications enter the pipeline.
|
|
261
261
|
queue = new TaskQueue({
|
|
262
262
|
batchSize: 10,
|
|
@@ -270,9 +270,10 @@ export class Publisher {
|
|
|
270
270
|
app.onCleanup(() => {
|
|
271
271
|
this.queue.clear();
|
|
272
272
|
// Stops in-flight publishes and unwinds their optimistic writes.
|
|
273
|
-
for (const publication of
|
|
273
|
+
for (const publication of this.unsettled) {
|
|
274
274
|
publication.abort();
|
|
275
275
|
}
|
|
276
|
+
this.holders.clear();
|
|
276
277
|
});
|
|
277
278
|
}
|
|
278
279
|
publish = (request) => {
|
|
@@ -281,8 +282,16 @@ export class Publisher {
|
|
|
281
282
|
}
|
|
282
283
|
const event = prep(request.event, User.require(this.app).pubkey);
|
|
283
284
|
const publication = new Publication(request, event);
|
|
284
|
-
this.
|
|
285
|
+
this.holdCopy(publication);
|
|
286
|
+
this.trackSent(publication);
|
|
287
|
+
this.unsettled.add(publication);
|
|
285
288
|
this.history.update($history => append(publication, $history));
|
|
289
|
+
publication.subscribe(({ state }) => {
|
|
290
|
+
if (state.stage === "aborted") {
|
|
291
|
+
this.history.update($history => remove(publication, $history));
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
publication.settled().then(() => this.unsettled.delete(publication));
|
|
286
295
|
this.queue.push(publication);
|
|
287
296
|
return publication;
|
|
288
297
|
};
|
|
@@ -318,49 +327,73 @@ export class Publisher {
|
|
|
318
327
|
});
|
|
319
328
|
}
|
|
320
329
|
}
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
330
|
+
hold(publication, event) {
|
|
331
|
+
addToMapKey(this.holders, event.id, publication);
|
|
332
|
+
this.app.repository.publish(event);
|
|
333
|
+
}
|
|
334
|
+
release(publication, id) {
|
|
335
|
+
const holders = this.holders.get(id);
|
|
336
|
+
holders?.delete(publication);
|
|
337
|
+
if (!holders?.size) {
|
|
338
|
+
this.holders.delete(id);
|
|
339
|
+
this.app.repository.removeEvent(id);
|
|
328
340
|
}
|
|
329
|
-
|
|
330
|
-
|
|
341
|
+
}
|
|
342
|
+
// The repository shows a publication's event before any relay has it, and keeps it in step.
|
|
343
|
+
holdCopy(publication) {
|
|
344
|
+
let current = publication.event;
|
|
345
|
+
this.hold(publication, current);
|
|
346
|
+
publication.subscribe(({ state, event }) => {
|
|
331
347
|
// Only pow changes the id. A signature on the same id is taken in place.
|
|
332
348
|
if (event.id !== current.id) {
|
|
349
|
+
this.release(publication, current.id);
|
|
350
|
+
this.hold(publication, event);
|
|
351
|
+
}
|
|
352
|
+
else if (event !== current) {
|
|
353
|
+
this.app.repository.publish(event);
|
|
354
|
+
}
|
|
355
|
+
current = event;
|
|
356
|
+
if (state.stage === "aborted") {
|
|
357
|
+
this.release(publication, current.id);
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
// Tracks the event that reaches relays: the event itself, or for a gift wrap the wrap
|
|
362
|
+
trackSent(publication) {
|
|
363
|
+
const { tracker, wrapManager } = this.app;
|
|
364
|
+
const { recipient } = publication.request;
|
|
365
|
+
let sentId = recipient ? undefined : publication.event.id;
|
|
366
|
+
const track = (id) => {
|
|
367
|
+
for (const url of publication.relays) {
|
|
368
|
+
tracker.track(id, url);
|
|
369
|
+
}
|
|
370
|
+
};
|
|
371
|
+
if (sentId) {
|
|
372
|
+
track(sentId);
|
|
373
|
+
}
|
|
374
|
+
publication.subscribe(({ state, event, wrap }) => {
|
|
375
|
+
// Pow can re-hash the event before it is sent
|
|
376
|
+
if (!recipient && sentId && event.id !== sentId) {
|
|
333
377
|
for (const url of publication.relays) {
|
|
334
|
-
tracker.removeRelay(
|
|
335
|
-
tracker.track(event.id, url);
|
|
378
|
+
tracker.removeRelay(sentId, url);
|
|
336
379
|
}
|
|
337
|
-
|
|
380
|
+
sentId = event.id;
|
|
381
|
+
track(sentId);
|
|
338
382
|
}
|
|
339
|
-
if (
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
}
|
|
343
|
-
if (recipient &&
|
|
344
|
-
wrap &&
|
|
345
|
-
isSignedEvent(wrap) &&
|
|
346
|
-
state.stage === "sending" &&
|
|
347
|
-
!registeredWrap) {
|
|
348
|
-
registeredWrap = wrap;
|
|
383
|
+
if (recipient && !sentId && wrap && isSignedEvent(wrap) && state.stage === "sending") {
|
|
384
|
+
sentId = wrap.id;
|
|
385
|
+
track(sentId);
|
|
349
386
|
wrapManager.add({ recipient, wrap, rumor: event });
|
|
350
387
|
}
|
|
351
|
-
if ("results" in state) {
|
|
388
|
+
if (sentId && "results" in state) {
|
|
352
389
|
for (const { relay, status } of Object.values(state.results)) {
|
|
353
390
|
if (![Pending, Success].includes(status)) {
|
|
354
|
-
tracker.removeRelay(
|
|
391
|
+
tracker.removeRelay(sentId, relay);
|
|
355
392
|
}
|
|
356
393
|
}
|
|
357
394
|
}
|
|
358
|
-
if (state.stage === "aborted") {
|
|
359
|
-
|
|
360
|
-
wrapManager.remove(registeredWrap.id);
|
|
361
|
-
}
|
|
362
|
-
repository.removeEvent(current.id);
|
|
363
|
-
this.history.update($history => remove(publication, $history));
|
|
395
|
+
if (recipient && sentId && state.stage === "aborted") {
|
|
396
|
+
wrapManager.remove(sentId);
|
|
364
397
|
}
|
|
365
398
|
});
|
|
366
399
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../../src/plugins/publisher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../../src/plugins/publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export type SendWrappedOptions = Omit<PublishRequest, "event" | "relays" | "reci
|
|
|
8
8
|
recipients: string[];
|
|
9
9
|
};
|
|
10
10
|
export declare const MAX_UNWRAP_ATTEMPTS = 3;
|
|
11
|
-
export declare const UNWRAP_TIMEOUT = 30000;
|
|
12
11
|
export declare const UNWRAP_RETRY_DELAY = 5000;
|
|
13
12
|
/**
|
|
14
13
|
* Per-app wrap (NIP-59) state: the unwrap queue plus attempt/dedup
|
|
@@ -20,6 +19,11 @@ export declare const UNWRAP_RETRY_DELAY = 5000;
|
|
|
20
19
|
* A wrap whose unwrap throws or times out goes back on the queue after a backoff until it has
|
|
21
20
|
* been tried `MAX_UNWRAP_ATTEMPTS` times, since a signer that is busy or disconnected fails
|
|
22
21
|
* the same way a wrap this user cannot read does.
|
|
22
|
+
*
|
|
23
|
+
* Unwrapping a stored backlog is work behind whatever the user is doing, so each decryption
|
|
24
|
+
* asks for the back of the signer's queue and the signer bounds it by `SIGNER_TIMEOUT`. The
|
|
25
|
+
* queue waits out a slow signer rather than abandoning a decryption that is still running,
|
|
26
|
+
* which is what used to leave orphaned requests in front of every later wrap.
|
|
23
27
|
*/
|
|
24
28
|
export declare class Wraps {
|
|
25
29
|
readonly app: IApp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wraps.d.ts","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAY,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EAAC,YAAY,EAAe,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAC,gBAAgB,EAAY,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAGlD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;IACxF,KAAK,EAAE,aAAa,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAGpC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"wraps.d.ts","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAY,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EAAC,YAAY,EAAe,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAC,gBAAgB,EAAY,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAGlD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;IACxF,KAAK,EAAE,aAAa,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAGpC,eAAO,MAAM,kBAAkB,OAAQ,CAAA;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,KAAK;IAKJ,QAAQ,CAAC,GAAG,EAAE,IAAI;IAJ9B,cAAc,sBAA4B;IAC1C,WAAW,sBAA2C;IACtD,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;gBAET,GAAG,EAAE,IAAI;IAwC9B,KAAK,GAAI,MAAM,YAAY,EAAE,OAAO,MAAM,UAOzC;IAED,OAAO,GAAI,MAAM,YAAY,UAM5B;IAID,OAAO,GAAU,mCAAiC,kBAAkB,+BAiBnE;CACF"}
|
|
@@ -5,8 +5,6 @@ import { PublicationGroup, Publisher } from "./publisher.js";
|
|
|
5
5
|
import { User } from "../user.js";
|
|
6
6
|
import { MessagingRelayLists } from "./messagingRelayLists.js";
|
|
7
7
|
export const MAX_UNWRAP_ATTEMPTS = 3;
|
|
8
|
-
// A remote signer that never answers would otherwise hold up every wrap behind this one
|
|
9
|
-
export const UNWRAP_TIMEOUT = 30_000;
|
|
10
8
|
// Doubled for each attempt, so a busy or disconnected signer has time to come back
|
|
11
9
|
export const UNWRAP_RETRY_DELAY = 5_000;
|
|
12
10
|
/**
|
|
@@ -19,6 +17,11 @@ export const UNWRAP_RETRY_DELAY = 5_000;
|
|
|
19
17
|
* A wrap whose unwrap throws or times out goes back on the queue after a backoff until it has
|
|
20
18
|
* been tried `MAX_UNWRAP_ATTEMPTS` times, since a signer that is busy or disconnected fails
|
|
21
19
|
* the same way a wrap this user cannot read does.
|
|
20
|
+
*
|
|
21
|
+
* Unwrapping a stored backlog is work behind whatever the user is doing, so each decryption
|
|
22
|
+
* asks for the back of the signer's queue and the signer bounds it by `SIGNER_TIMEOUT`. The
|
|
23
|
+
* queue waits out a slow signer rather than abandoning a decryption that is still running,
|
|
24
|
+
* which is what used to leave orphaned requests in front of every later wrap.
|
|
22
25
|
*/
|
|
23
26
|
export class Wraps {
|
|
24
27
|
app;
|
|
@@ -35,13 +38,9 @@ export class Wraps {
|
|
|
35
38
|
return;
|
|
36
39
|
if (!tagValues(hexTags("p"), wrap.tags).includes(app.user.pubkey))
|
|
37
40
|
return;
|
|
38
|
-
let timer;
|
|
39
41
|
try {
|
|
40
42
|
const nip59 = Nip59.fromSigner(app.user.signer);
|
|
41
|
-
const
|
|
42
|
-
timer = setTimeout(() => reject(new Error("Timed out unwrapping")), UNWRAP_TIMEOUT);
|
|
43
|
-
});
|
|
44
|
-
const rumor = await Promise.race([nip59.unwrap(wrap), timeout]);
|
|
43
|
+
const rumor = await nip59.unwrap(wrap, { priority: -1 });
|
|
45
44
|
this.app.wrapManager.add({
|
|
46
45
|
wrap: wrap,
|
|
47
46
|
rumor,
|
|
@@ -55,9 +54,6 @@ export class Wraps {
|
|
|
55
54
|
this.retry(wrap, UNWRAP_RETRY_DELAY * 2 ** (attempts - 1));
|
|
56
55
|
}
|
|
57
56
|
}
|
|
58
|
-
finally {
|
|
59
|
-
clearTimeout(timer);
|
|
60
|
-
}
|
|
61
57
|
},
|
|
62
58
|
});
|
|
63
59
|
app.onCleanup(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wraps.js","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AAClD,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAA;AAQ5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAEpC,
|
|
1
|
+
{"version":3,"file":"wraps.js","sourceRoot":"","sources":["../../../../src/plugins/wraps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AAK9C,OAAO,KAAK,EAAe,MAAM,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AAK9C,OAAO,KAAK,EAAe,MAAM,EAAC,MAAM,eAAe,CAAA;AAEvD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAQlC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,CAAA;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAC3B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,KAAG,SAoBrD,CAAA;AAEH,eAAO,MAAM,kBAAkB,WAAmC,CAAA;AAElE,eAAO,MAAM,mBAAmB,WAAkC,CAAA;AAElE,eAAO,MAAM,0BAA0B,WAMrC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAiB1B,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAEjC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAE7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAc5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAenC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAsBvC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,EAQzC,CAAA"}
|
package/dist/app/src/policy.js
CHANGED
|
@@ -100,7 +100,10 @@ export const appPolicyCacheDecrypt = app => {
|
|
|
100
100
|
return app.user.wrapSigner((method, thunk, args) => {
|
|
101
101
|
if (method === "nip04.decrypt" || method === "nip44.decrypt") {
|
|
102
102
|
const ciphertext = args[1];
|
|
103
|
-
|
|
103
|
+
const options = args[2];
|
|
104
|
+
return app
|
|
105
|
+
.use(Plaintext)
|
|
106
|
+
.ensure(ciphertext, thunk, options);
|
|
104
107
|
}
|
|
105
108
|
return thunk();
|
|
106
109
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAA;AACxD,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/app/src/user.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StampedEvent } from "@welshman/util";
|
|
2
|
-
import type { ISigner,
|
|
2
|
+
import type { ISigner, SignerOptions, SignerMethodWrapper } from "@welshman/signer";
|
|
3
3
|
import type { Session } from "./session.js";
|
|
4
4
|
import type { IApp } from "./app.js";
|
|
5
5
|
/**
|
|
@@ -28,7 +28,7 @@ export declare class User {
|
|
|
28
28
|
* point for actions that can only run as a user (publishing, signing).
|
|
29
29
|
*/
|
|
30
30
|
static require(app: IApp): User;
|
|
31
|
-
sign: (event: StampedEvent, options?:
|
|
31
|
+
sign: (event: StampedEvent, options?: SignerOptions) => Promise<import("@welshman/util").SignedEvent>;
|
|
32
32
|
nip44EncryptToSelf: (payload: string) => Promise<string>;
|
|
33
33
|
wrapSigner: (wrap: SignerMethodWrapper) => () => void;
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAA;AAEjF,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAElC;;;;;;;;GAQG;AACH,qBAAa,IAAI;IAEb,QAAQ,CAAC,MAAM,EAAE,MAAM;IAChB,MAAM,EAAE,OAAO;gBADb,MAAM,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO;WAGX,UAAU,CAAC,MAAM,EAAE,OAAO;IAMvC;;;;;OAKG;WACU,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAMrE;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAQ/B,IAAI,GAAI,OAAO,YAAY,EAAE,UAAU,aAAa,mDAAqC;IAEzF,kBAAkB,GAAI,SAAS,MAAM,qBAAoD;IAEzF,UAAU,GAAI,MAAM,mBAAmB,gBAQtC;CACF"}
|
package/dist/app/src/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAA;AAIjD;;;;;;;;GAQG;AACH,MAAM,OAAO,IAAI;IAEJ;IACF;IAFT,YACW,MAAc,EAChB,MAAe;QADb,WAAM,GAAN,MAAM,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAS;IACrB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAe;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QAEvC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAgB;QACvC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAElD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAS;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,KAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAA;AAIjD;;;;;;;;GAQG;AACH,MAAM,OAAO,IAAI;IAEJ;IACF;IAFT,YACW,MAAc,EAChB,MAAe;QADb,WAAM,GAAN,MAAM,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAS;IACrB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAe;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;QAEvC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAgB;QACvC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAElD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAS;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,KAAmB,EAAE,OAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAEzF,kBAAkB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEzF,UAAU,GAAG,CAAC,IAAyB,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;QAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAE/C,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACxB,CAAC,CAAA;IACH,CAAC,CAAA;CACF"}
|
|
@@ -7,12 +7,12 @@ export declare abstract class ListWriter<Reader extends ListReader = ListReader>
|
|
|
7
7
|
constructor(kind: number, context: KindContext, reader?: Reader);
|
|
8
8
|
addPublic(...tags: string[][]): this;
|
|
9
9
|
addPrivate(...tags: string[][]): this;
|
|
10
|
-
keepPublic(pred: (tag: string[]) =>
|
|
11
|
-
keepPrivate(pred: (tag: string[]) =>
|
|
12
|
-
keepTags(pred: (tag: string[]) =>
|
|
13
|
-
dropPublic(pred: (tag: string[]) =>
|
|
14
|
-
dropPrivate(pred: (tag: string[]) =>
|
|
15
|
-
dropTags(pred: (tag: string[]) =>
|
|
10
|
+
keepPublic(pred: (tag: string[]) => unknown): this;
|
|
11
|
+
keepPrivate(pred: (tag: string[]) => unknown): this;
|
|
12
|
+
keepTags(pred: (tag: string[]) => unknown): this;
|
|
13
|
+
dropPublic(pred: (tag: string[]) => unknown): this;
|
|
14
|
+
dropPrivate(pred: (tag: string[]) => unknown): this;
|
|
15
|
+
dropTags(pred: (tag: string[]) => unknown): this;
|
|
16
16
|
validate(): void;
|
|
17
17
|
protected renderDomainTags(): string[][];
|
|
18
18
|
renderContent(): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bolt12Offer.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Bolt12Offer.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Bolt12Offer.d.ts","sourceRoot":"","sources":["../../../../../domain/src/kinds/Bolt12Offer.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAY3C,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,MAAM;IAIN,kBAAkB;CAGnB;AAED,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,iBAAiB,CAAC;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE;IAM1B,QAAQ;CAWT;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAE9C,SAAS,CAAC,YAAY;CAGvB;AAED,eAAO,MAAM,WAAW,qEAKtB,CAAA"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { uniq, spec } from "@welshman/lib";
|
|
2
|
-
import { BOLT12_OFFER, canonicalBolt12, indexers, isBolt12Offer,
|
|
2
|
+
import { BOLT12_OFFER, canonicalBolt12, indexers, isBolt12Offer, isCanonicalBolt12Offer, tagSpec, tagValueMatcher, tagValues, } from "@welshman/util";
|
|
3
3
|
import { EventReader } from "../core/EventReader.js";
|
|
4
4
|
import { EventWriter } from "../core/EventWriter.js";
|
|
5
5
|
import { EventQuery } from "../core/EventQuery.js";
|
|
6
6
|
import { KindFactory } from "../core/Kind.js";
|
|
7
7
|
const offerSpec = tagSpec("offer", isBolt12Offer, canonicalBolt12);
|
|
8
|
-
|
|
8
|
+
// NIP-B1 requires every offer tag to be canonical, and `offers` drops the ones that are not
|
|
9
|
+
const offersAreCanonical = (tags) => {
|
|
10
|
+
const offerTags = tags.filter(spec(["offer"]));
|
|
11
|
+
return offerTags.length > 0 && offerTags.every(tag => isCanonicalBolt12Offer(tag[1]));
|
|
12
|
+
};
|
|
9
13
|
// NIP-B1 kind-10058 BOLT12 offer announcement.
|
|
10
14
|
export class Bolt12OfferReader extends EventReader {
|
|
11
15
|
offers() {
|
|
12
16
|
return uniq(tagValues(offerSpec, this.tags()));
|
|
13
17
|
}
|
|
14
|
-
// NIP-B1 asks every offer tag to be canonical, where `offers` drops the ones that are not.
|
|
15
18
|
offersAreCanonical() {
|
|
16
|
-
|
|
17
|
-
return tags.length > 0 && tags.every(tag => isCanonicalBolt12Offer(tag[1]));
|
|
19
|
+
return offersAreCanonical(this.tags());
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
export class Bolt12OfferWriter extends EventWriter {
|
|
@@ -30,12 +32,11 @@ export class Bolt12OfferWriter extends EventWriter {
|
|
|
30
32
|
}
|
|
31
33
|
validate() {
|
|
32
34
|
super.validate();
|
|
33
|
-
|
|
34
|
-
if (tags.length === 0) {
|
|
35
|
+
if (!this.extraTags.some(spec(["offer"]))) {
|
|
35
36
|
throw new Error("Bolt12Offer requires at least one offer");
|
|
36
37
|
}
|
|
37
|
-
if (
|
|
38
|
-
throw new Error("Bolt12Offer refuses an offer that is not a BOLT12 offer");
|
|
38
|
+
if (!offersAreCanonical(this.extraTags)) {
|
|
39
|
+
throw new Error("Bolt12Offer refuses an offer that is not a BOLT12 offer in canonical form");
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bolt12Offer.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Bolt12Offer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"Bolt12Offer.js","sourceRoot":"","sources":["../../../../../domain/src/kinds/Bolt12Offer.ts"],"names":[],"mappings":"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"}
|