@welshman/app 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/app/src/plugins/wraps.d.ts +11 -2
  2. package/dist/app/src/plugins/wraps.d.ts.map +1 -1
  3. package/dist/app/src/plugins/wraps.js +38 -5
  4. package/dist/app/src/plugins/wraps.js.map +1 -1
  5. package/dist/feeds/src/controller.d.ts.map +1 -1
  6. package/dist/feeds/src/controller.js +83 -35
  7. package/dist/feeds/src/controller.js.map +1 -1
  8. package/dist/feeds/src/request.d.ts +14 -0
  9. package/dist/feeds/src/request.d.ts.map +1 -1
  10. package/dist/feeds/src/request.js +16 -2
  11. package/dist/feeds/src/request.js.map +1 -1
  12. package/dist/net/src/adapter.d.ts.map +1 -1
  13. package/dist/net/src/adapter.js +9 -0
  14. package/dist/net/src/adapter.js.map +1 -1
  15. package/dist/net/src/count.d.ts +30 -0
  16. package/dist/net/src/count.d.ts.map +1 -0
  17. package/dist/net/src/count.js +97 -0
  18. package/dist/net/src/count.js.map +1 -0
  19. package/dist/net/src/index.d.ts +1 -0
  20. package/dist/net/src/index.d.ts.map +1 -1
  21. package/dist/net/src/index.js +1 -0
  22. package/dist/net/src/index.js.map +1 -1
  23. package/dist/net/src/message.d.ts +12 -0
  24. package/dist/net/src/message.d.ts.map +1 -1
  25. package/dist/net/src/message.js +5 -0
  26. package/dist/net/src/message.js.map +1 -1
  27. package/dist/net/src/policy.d.ts +5 -2
  28. package/dist/net/src/policy.d.ts.map +1 -1
  29. package/dist/net/src/policy.js +76 -30
  30. package/dist/net/src/policy.js.map +1 -1
  31. package/dist/net/src/socket.d.ts +1 -0
  32. package/dist/net/src/socket.d.ts.map +1 -1
  33. package/dist/net/src/socket.js +5 -2
  34. package/dist/net/src/socket.js.map +1 -1
  35. package/dist/net/src/util.d.ts +7 -1
  36. package/dist/net/src/util.d.ts.map +1 -1
  37. package/dist/net/src/util.js +12 -3
  38. package/dist/net/src/util.js.map +1 -1
  39. package/dist/signer/src/signers/nip46.d.ts +2 -0
  40. package/dist/signer/src/signers/nip46.d.ts.map +1 -1
  41. package/dist/signer/src/signers/nip46.js +14 -3
  42. package/dist/signer/src/signers/nip46.js.map +1 -1
  43. package/package.json +15 -15
@@ -0,0 +1,97 @@
1
+ import { call, defer, max, on, randomId, removeUndefined, uniq } from "@welshman/lib";
2
+ import { ClientMessageType, RelayReasonPrefix, isRelayClosed, isRelayCount, matchReason, } from "./message.js";
3
+ import { getAdapter, AdapterEvent } from "./adapter.js";
4
+ import { SocketEvent, SocketStatus } from "./socket.js";
5
+ import { AuthStatus } from "./auth.js";
6
+ export const COUNT_TIMEOUT = 3000;
7
+ // Which relays answer a COUNT, read off the wire rather than from NIP-11. A relay that
8
+ // refused once is not asked again.
9
+ const supportByRelay = new Map();
10
+ // A socket that is still connecting or authenticating can be slow for reasons of its own
11
+ const isReady = (socket) => socket.status === SocketStatus.Open &&
12
+ [AuthStatus.None, AuthStatus.Ok].includes(socket.auth.status);
13
+ // Refusals that say nothing about whether the relay can count
14
+ const isTransientReason = (reason) => matchReason(RelayReasonPrefix.AuthRequired, reason) ||
15
+ matchReason(RelayReasonPrefix.RateLimited, reason);
16
+ export const supportsCount = (relay) => supportByRelay.get(relay);
17
+ /**
18
+ * Asks one relay how many events match the given filters (NIP-45).
19
+ * @param options - CountOneOptions
20
+ * @returns the relay's count, or undefined if it does not support COUNT
21
+ */
22
+ export const countOne = (options) => {
23
+ const deferred = defer();
24
+ if (options.signal?.aborted || supportByRelay.get(options.relay) === false) {
25
+ deferred.resolve(undefined);
26
+ return deferred;
27
+ }
28
+ const id = `COUNT-${randomId().slice(0, 8)}`;
29
+ const adapter = getAdapter(options.relay, options.context);
30
+ let closed = false;
31
+ const finish = (result) => {
32
+ if (closed)
33
+ return;
34
+ closed = true;
35
+ clearTimeout(timeoutId);
36
+ adapter.cleanup();
37
+ unsubscribers.map(call);
38
+ deferred.resolve(result);
39
+ };
40
+ // Only the relay's own answer says whether it supports COUNT
41
+ const remember = (supported, result) => {
42
+ supportByRelay.set(options.relay, supported);
43
+ finish(result);
44
+ };
45
+ const unsubscribers = [
46
+ on(adapter, AdapterEvent.Receive, (message) => {
47
+ if (isRelayCount(message) && message[1] === id) {
48
+ remember(true, message[2].count);
49
+ }
50
+ if (isRelayClosed(message) && message[1] === id) {
51
+ if (isTransientReason(message[2])) {
52
+ finish(undefined);
53
+ }
54
+ else {
55
+ remember(false);
56
+ }
57
+ }
58
+ }),
59
+ ];
60
+ for (const socket of adapter.sockets) {
61
+ unsubscribers.push(on(socket, SocketEvent.Status, (status) => {
62
+ if (![SocketStatus.Open, SocketStatus.Opening].includes(status)) {
63
+ finish(undefined);
64
+ }
65
+ }));
66
+ }
67
+ if (options.signal) {
68
+ const signal = options.signal;
69
+ const abort = () => finish(undefined);
70
+ signal.addEventListener("abort", abort);
71
+ unsubscribers.push(() => signal.removeEventListener("abort", abort));
72
+ }
73
+ // A relay that does not know the verb usually says nothing, so silence is a refusal too, as
74
+ // long as the relay was ready to answer the whole time
75
+ const wasReady = adapter.sockets.every(isReady);
76
+ const timeoutId = setTimeout(() => {
77
+ if (wasReady && adapter.sockets.every(isReady)) {
78
+ remember(false);
79
+ }
80
+ else {
81
+ finish(undefined);
82
+ }
83
+ }, COUNT_TIMEOUT);
84
+ adapter.send([ClientMessageType.Count, id, ...options.filters]);
85
+ return deferred;
86
+ };
87
+ /**
88
+ * Asks several relays how many events match the given filters (NIP-45). Relays hold
89
+ * overlapping subsets of the network, so the highest answer is a lower bound.
90
+ * @param options - CountOptions
91
+ * @returns the highest count given, or undefined if no relay supports COUNT
92
+ */
93
+ export const count = async (options) => {
94
+ const counts = removeUndefined(await Promise.all(uniq(options.relays).map(relay => countOne({ ...options, relay }))));
95
+ return counts.length > 0 ? max(counts) : undefined;
96
+ };
97
+ //# sourceMappingURL=count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../net/src/count.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from "./adapter.js";
2
2
  export * from "./auth.js";
3
3
  export * from "./context.js";
4
+ export * from "./count.js";
4
5
  export * from "./diff.js";
5
6
  export * from "./message.js";
6
7
  export * from "./negentropy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export * from "./adapter.js";
2
2
  export * from "./auth.js";
3
3
  export * from "./context.js";
4
+ export * from "./count.js";
4
5
  export * from "./diff.js";
5
6
  export * from "./message.js";
6
7
  export * from "./negentropy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
@@ -3,6 +3,7 @@ export declare enum RelayMessageType {
3
3
  Notice = "NOTICE",
4
4
  Auth = "AUTH",
5
5
  Closed = "CLOSED",
6
+ Count = "COUNT",
6
7
  Eose = "EOSE",
7
8
  Event = "EVENT",
8
9
  NegMsg = "NEG-MSG",
@@ -13,6 +14,10 @@ export type RelayMessage = any[];
13
14
  export type RelayNoticePayload = [string];
14
15
  export type RelayAuthPayload = [string];
15
16
  export type RelayClosedPayload = [string, string];
17
+ export type RelayCountPayload = [string, {
18
+ count: number;
19
+ approximate?: boolean;
20
+ }];
16
21
  export type RelayEosePayload = [string];
17
22
  export type RelayEventPayload = [string, SignedEvent];
18
23
  export type RelayNegErrPayload = [string, string];
@@ -21,6 +26,7 @@ export type RelayOkPayload = [string, boolean, string];
21
26
  export type RelayNotice = [RelayMessageType.Notice, ...RelayNoticePayload];
22
27
  export type RelayAuth = [RelayMessageType.Auth, ...RelayAuthPayload];
23
28
  export type RelayClosed = [RelayMessageType.Closed, ...RelayClosedPayload];
29
+ export type RelayCount = [RelayMessageType.Count, ...RelayCountPayload];
24
30
  export type RelayEose = [RelayMessageType.Eose, ...RelayEosePayload];
25
31
  export type RelayEvent = [RelayMessageType.Event, ...RelayEventPayload];
26
32
  export type RelayNegErr = [RelayMessageType.NegErr, ...RelayNegErrPayload];
@@ -29,6 +35,7 @@ export type RelayOk = [RelayMessageType.Ok, ...RelayOkPayload];
29
35
  export declare const isRelayNotice: (m: RelayMessage) => m is RelayNotice;
30
36
  export declare const isRelayAuth: (m: RelayMessage) => m is RelayAuth;
31
37
  export declare const isRelayClosed: (m: RelayMessage) => m is RelayClosed;
38
+ export declare const isRelayCount: (m: RelayMessage) => m is RelayCount;
32
39
  export declare const isRelayEose: (m: RelayMessage) => m is RelayEose;
33
40
  export declare const isRelayEvent: (m: RelayMessage) => m is RelayEvent;
34
41
  export declare const isRelayNegErr: (m: RelayMessage) => m is RelayNegErr;
@@ -40,6 +47,7 @@ export declare enum RelayReasonPrefix {
40
47
  Invalid = "invalid",
41
48
  Mute = "mute",
42
49
  Pow = "pow",
50
+ RateLimited = "rate-limited",
43
51
  Restricted = "restricted",
44
52
  Unsupported = "unsupported"
45
53
  }
@@ -48,6 +56,7 @@ export declare const isTerminalReason: (reason?: string) => boolean;
48
56
  export declare enum ClientMessageType {
49
57
  Auth = "AUTH",
50
58
  Close = "CLOSE",
59
+ Count = "COUNT",
51
60
  Event = "EVENT",
52
61
  NegClose = "NEG-CLOSE",
53
62
  NegOpen = "NEG-OPEN",
@@ -56,18 +65,21 @@ export declare enum ClientMessageType {
56
65
  export type ClientMessage = any[];
57
66
  export type ClientAuthPayload = [string];
58
67
  export type ClientClosePayload = [string];
68
+ export type ClientCountPayload = [string, ...Filter[]];
59
69
  export type ClientEventPayload = [SignedEvent];
60
70
  export type ClientNegClosePayload = [string];
61
71
  export type ClientNegOpenPayload = [string, Filter, string];
62
72
  export type ClientReqPayload = [string, Filter];
63
73
  export type ClientAuth = [ClientMessageType.Auth, ...ClientAuthPayload];
64
74
  export type ClientClose = [ClientMessageType.Close, ...ClientClosePayload];
75
+ export type ClientCount = [ClientMessageType.Count, ...ClientCountPayload];
65
76
  export type ClientEvent = [ClientMessageType.Event, ...ClientEventPayload];
66
77
  export type ClientNegClose = [ClientMessageType.NegClose, ...ClientNegClosePayload];
67
78
  export type ClientNegOpen = [ClientMessageType.NegOpen, ...ClientNegOpenPayload];
68
79
  export type ClientReq = [ClientMessageType.Req, ...ClientReqPayload];
69
80
  export declare const isClientAuth: (m: ClientMessage) => m is ClientAuth;
70
81
  export declare const isClientClose: (m: ClientMessage) => m is ClientClose;
82
+ export declare const isClientCount: (m: ClientMessage) => m is ClientCount;
71
83
  export declare const isClientEvent: (m: ClientMessage) => m is ClientEvent;
72
84
  export declare const isClientNegClose: (m: ClientMessage) => m is ClientNegClose;
73
85
  export declare const isClientNegOpen: (m: ClientMessage) => m is ClientNegOpen;
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export var RelayMessageType;
4
4
  RelayMessageType["Notice"] = "NOTICE";
5
5
  RelayMessageType["Auth"] = "AUTH";
6
6
  RelayMessageType["Closed"] = "CLOSED";
7
+ RelayMessageType["Count"] = "COUNT";
7
8
  RelayMessageType["Eose"] = "EOSE";
8
9
  RelayMessageType["Event"] = "EVENT";
9
10
  RelayMessageType["NegMsg"] = "NEG-MSG";
@@ -13,6 +14,7 @@ export var RelayMessageType;
13
14
  export const isRelayNotice = (m) => m[0] === RelayMessageType.Notice;
14
15
  export const isRelayAuth = (m) => m[0] === RelayMessageType.Auth;
15
16
  export const isRelayClosed = (m) => m[0] === RelayMessageType.Closed;
17
+ export const isRelayCount = (m) => m[0] === RelayMessageType.Count;
16
18
  export const isRelayEose = (m) => m[0] === RelayMessageType.Eose;
17
19
  export const isRelayEvent = (m) => m[0] === RelayMessageType.Event;
18
20
  export const isRelayNegErr = (m) => m[0] === RelayMessageType.NegErr;
@@ -25,6 +27,7 @@ export var RelayReasonPrefix;
25
27
  RelayReasonPrefix["Invalid"] = "invalid";
26
28
  RelayReasonPrefix["Mute"] = "mute";
27
29
  RelayReasonPrefix["Pow"] = "pow";
30
+ RelayReasonPrefix["RateLimited"] = "rate-limited";
28
31
  RelayReasonPrefix["Restricted"] = "restricted";
29
32
  RelayReasonPrefix["Unsupported"] = "unsupported";
30
33
  })(RelayReasonPrefix || (RelayReasonPrefix = {}));
@@ -43,6 +46,7 @@ export var ClientMessageType;
43
46
  (function (ClientMessageType) {
44
47
  ClientMessageType["Auth"] = "AUTH";
45
48
  ClientMessageType["Close"] = "CLOSE";
49
+ ClientMessageType["Count"] = "COUNT";
46
50
  ClientMessageType["Event"] = "EVENT";
47
51
  ClientMessageType["NegClose"] = "NEG-CLOSE";
48
52
  ClientMessageType["NegOpen"] = "NEG-OPEN";
@@ -50,6 +54,7 @@ export var ClientMessageType;
50
54
  })(ClientMessageType || (ClientMessageType = {}));
51
55
  export const isClientAuth = (m) => m[0] === ClientMessageType.Auth;
52
56
  export const isClientClose = (m) => m[0] === ClientMessageType.Close;
57
+ export const isClientCount = (m) => m[0] === ClientMessageType.Count;
53
58
  export const isClientEvent = (m) => m[0] === ClientMessageType.Event;
54
59
  export const isClientNegClose = (m) => m[0] === ClientMessageType.NegClose;
55
60
  export const isClientNegOpen = (m) => m[0] === ClientMessageType.NegOpen;
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,11 @@ import { StampedEvent, SignedEvent } from "@welshman/util";
2
2
  import { Socket, SocketPolicy } from "./socket.js";
3
3
  /**
4
4
  * Handles auth-related message management:
5
- * - Defers sending messages when a challenge is pending
6
- * - Re-enqueues event/req messages once if rejected due to auth-required
5
+ * - Remembers messages sent before auth completes so they can be replayed once it succeeds
6
+ * - Withholds the relay's auth-required refusals of those messages from the caller, since the
7
+ * replay will be answered instead
8
+ * - Hands a withheld answer over if the replay never happens: auth failed, or the message fell
9
+ * out of the buffer
7
10
  * @param socket - a Socket object
8
11
  * @return a cleanup function
9
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;AAmBzF,OAAO,EAAC,MAAM,EAA6B,YAAY,EAAC,MAAM,aAAa,CAAA;AAI3E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,eA8DpD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,eA0BtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,eAqBvD,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,eA6GnD,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACnD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;CACzC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,uBAAuB,MAAM,QAAQ,MAAM,eAcxF,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAK/C,CAAA"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;AAqBzF,OAAO,EAAC,MAAM,EAA6B,YAAY,EAAC,MAAM,aAAa,CAAA;AAI3E;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,eAqHpD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,eA0BtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,eAqBvD,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,eA6GnD,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACnD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;CACzC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,uBAAuB,MAAM,QAAQ,MAAM,eAcxF,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAK/C,CAAA"}
@@ -1,20 +1,41 @@
1
- import { on, ms, nthNe, always, call, randomId, sleep, ago, now } from "@welshman/lib";
1
+ import { on, ms, always, call, randomId, sleep, ago, now } from "@welshman/lib";
2
2
  import { RELAY_JOIN, neverFilter } from "@welshman/util";
3
- import { isClientAuth, isClientClose, isClientEvent, isClientReq, isClientNegOpen, isClientNegClose, ClientMessageType, copyPriority, isRelayOk, isRelayEose, isRelayClosed, isRelayNegErr, matchReason, RelayReasonPrefix, } from "./message.js";
3
+ import { isClientAuth, isClientClose, isClientEvent, isClientReq, isClientCount, isClientNegOpen, isClientNegClose, ClientMessageType, copyPriority, isRelayOk, isRelayEose, isRelayClosed, isRelayNegErr, isRelayCount, matchReason, RelayReasonPrefix, } from "./message.js";
4
4
  import { SocketStatus, SocketEvent } from "./socket.js";
5
5
  import { AuthStatus, AuthStateEvent } from "./auth.js";
6
6
  import { catchUpFilter } from "./util.js";
7
7
  /**
8
8
  * Handles auth-related message management:
9
- * - Defers sending messages when a challenge is pending
10
- * - Re-enqueues event/req messages once if rejected due to auth-required
9
+ * - Remembers messages sent before auth completes so they can be replayed once it succeeds
10
+ * - Withholds the relay's auth-required refusals of those messages from the caller, since the
11
+ * replay will be answered instead
12
+ * - Hands a withheld answer over if the replay never happens: auth failed, or the message fell
13
+ * out of the buffer
11
14
  * @param socket - a Socket object
12
15
  * @return a cleanup function
13
16
  */
14
17
  export const socketPolicyAuthBuffer = (socket) => {
15
18
  const { None, Ok, DeniedSignature, Forbidden } = AuthStatus;
16
19
  const terminalStatuses = [Ok, DeniedSignature, Forbidden];
17
- let buffer = [];
20
+ // Messages by req/event id, oldest first. Most relays never ask for auth, so this fills
21
+ // with everything a socket sends; the relay answering a message is what takes it back out.
22
+ const buffer = new Map();
23
+ // Relay messages kept from the caller because a replay will answer them again
24
+ const withheld = new Map();
25
+ const getId = (message) => isClientEvent(message) ? message[1].id : message[1];
26
+ const withhold = (id, message) => {
27
+ socket._recvQueue.remove(message);
28
+ withheld.set(id, [...(withheld.get(id) || []), message]);
29
+ };
30
+ // Give the caller whatever the relay told us about a message we are no longer going to replay
31
+ const release = (id) => {
32
+ const messages = withheld.get(id) || [];
33
+ buffer.delete(id);
34
+ withheld.delete(id);
35
+ for (const message of messages) {
36
+ socket.receive(message);
37
+ }
38
+ };
18
39
  const unsubscribers = [
19
40
  on(socket, SocketEvent.Sending, (message) => {
20
41
  // Always allow sending auth
@@ -26,42 +47,67 @@ export const socketPolicyAuthBuffer = (socket) => {
26
47
  // If the auth flow is complete, no need to buffer anymore
27
48
  if (terminalStatuses.includes(socket.auth.status))
28
49
  return;
29
- // If the client is closing a req, remove both from our buffer
30
- // Otherwise, if auth isn't done, hang on to recent messages in case we need to replay them
31
- if (isClientClose(message) || isClientNegClose(message)) {
32
- buffer = buffer.filter(nthNe(1, message[1]));
50
+ const isClose = isClientClose(message) || isClientNegClose(message);
51
+ const isOpen = isClientReq(message) ||
52
+ isClientCount(message) ||
53
+ isClientEvent(message) ||
54
+ isClientNegOpen(message);
55
+ // A close ends the subscription, and anything else supersedes an earlier copy of itself,
56
+ // as when a subscription is sent again after a reconnect. Anything else (NEG-MSG) belongs
57
+ // to a session that replaying its NEG-OPEN starts over.
58
+ if (isClose || isOpen) {
59
+ const id = getId(message);
60
+ buffer.delete(id);
61
+ withheld.delete(id);
62
+ if (isOpen) {
63
+ buffer.set(id, message);
64
+ }
33
65
  }
34
- else {
35
- buffer = buffer.slice(-1000).concat([message]);
66
+ while (buffer.size > 1000) {
67
+ release(buffer.keys().next().value);
36
68
  }
37
69
  }),
38
70
  on(socket, SocketEvent.Receiving, (message) => {
39
- // If the relay is closing a request during auth, don't tell the caller, we'll retry it
40
- if ((isRelayClosed(message) || isRelayNegErr(message)) &&
41
- matchReason(RelayReasonPrefix.AuthRequired, message[2])) {
42
- socket._recvQueue.remove(message);
43
- }
44
- // If we get an eose but we're in the middle of authenticating, wait
45
- if (isRelayEose(message) && ![None, Ok].includes(socket.auth.status)) {
46
- socket._recvQueue.remove(message);
47
- }
48
- // If the client is rejecting an event during auth, don't tell the caller, we'll retry it
49
- if (isRelayOk(message) &&
50
- !message[2] &&
51
- matchReason(RelayReasonPrefix.AuthRequired, message[3])) {
52
- socket._recvQueue.remove(message);
71
+ const id = message[1];
72
+ // Only a message we can replay or answer later may be kept from the caller
73
+ if (buffer.has(id)) {
74
+ const isRefusal = ((isRelayClosed(message) || isRelayNegErr(message)) &&
75
+ matchReason(RelayReasonPrefix.AuthRequired, message[2])) ||
76
+ (isRelayOk(message) &&
77
+ !message[2] &&
78
+ matchReason(RelayReasonPrefix.AuthRequired, message[3]));
79
+ if (isRefusal) {
80
+ withhold(id, message);
81
+ }
82
+ else if (isRelayEose(message) && ![None, Ok].includes(socket.auth.status)) {
83
+ // Wait for the replay's eose, since events may be withheld until we authenticate
84
+ withhold(id, message);
85
+ }
86
+ else if (isRelayClosed(message) ||
87
+ isRelayNegErr(message) ||
88
+ isRelayOk(message) ||
89
+ isRelayCount(message)) {
90
+ // The relay has answered for good, so there is nothing left to replay
91
+ buffer.delete(id);
92
+ withheld.delete(id);
93
+ }
53
94
  }
54
95
  }),
55
96
  on(socket.auth, AuthStateEvent.Status, (status) => {
56
- // Send buffered messages when we get successful auth. In any case, clear them out
57
- // if the auth flow is complete
97
+ // Send buffered messages when we get successful auth. If auth failed, let the caller
98
+ // hear the refusals we held back.
58
99
  if (status === Ok) {
59
- for (const message of buffer.splice(0)) {
100
+ const messages = Array.from(buffer.values());
101
+ buffer.clear();
102
+ withheld.clear();
103
+ for (const message of messages) {
60
104
  socket.send(message);
61
105
  }
62
106
  }
63
- else if (terminalStatuses.includes(socket.auth.status)) {
64
- buffer = [];
107
+ else if (terminalStatuses.includes(status)) {
108
+ for (const id of Array.from(buffer.keys())) {
109
+ release(id);
110
+ }
65
111
  }
66
112
  }),
67
113
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AACpF,OAAO,EAAC,UAAU,EAAqC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AACzF,OAAO,EAEL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,iBAAiB,GAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAS,YAAY,EAAE,WAAW,EAAe,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,WAAW,CAAA;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAE,EAAE;IACvD,MAAM,EAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAC,GAAG,UAAU,CAAA;IACzD,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;IAEzD,IAAI,MAAM,GAAoB,EAAE,CAAA;IAEhC,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE;YACzD,4BAA4B;YAC5B,IAAI,YAAY,CAAC,OAAO,CAAC;gBAAE,OAAM;YAEjC,qCAAqC;YACrC,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAM;YAEpE,0DAA0D;YAC1D,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAM;YAEzD,8DAA8D;YAC9D,2FAA2F;YAC3F,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YAChD,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,OAAqB,EAAE,EAAE;YAC1D,uFAAuF;YACvF,IACE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;gBAClD,WAAW,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC;gBACD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;YAED,oEAAoE;YACpE,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;YAED,yFAAyF;YACzF,IACE,SAAS,CAAC,OAAO,CAAC;gBAClB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACX,WAAW,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC;gBACD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,MAAkB,EAAE,EAAE;YAC5D,kFAAkF;YAClF,+BAA+B;YAC/B,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;iBAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,GAAG,EAAE,CAAA;YACb,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,EAAE;IACzD,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE;YACzD,IAAI,cAAmD,CAAA;YAEvD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,cAAc,GAAG,WAAW,CAAA;YAC9B,CAAC;iBAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,cAAc,GAAG,eAAe,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,OAAM;YACR,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAC/C,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAC1D,CAAA;YAED,2EAA2E;YAC3E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACtC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,SAAuB,EAAE,EAAE;YACzD,sCAAsC;YACtC,IAAI,SAAS,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrC,SAAS,GAAG,GAAG,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE;YACzD,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAElF,6FAA6F;YAC7F,IAAI,QAAQ,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,EAAE,CAAA;YACf,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,sFAAsF;AACtF,MAAM,UAAU,GAAG,EAAE,CAAA;AAErB,gDAAgD;AAChD,MAAM,aAAa,GAAG,EAAE,CAAA;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,EAAE;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAEhD,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAA;IACpB,IAAI,YAAY,GAAG,GAAG,EAAE,CAAA;IACxB,IAAI,WAAW,GAAG,GAAG,EAAE,CAAA;IACvB,IAAI,OAA2B,CAAA;IAC/B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,SAAuB,EAAE,EAAE;YACzD,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAE9E,qCAAqC;YACrC,IAAI,SAAS,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;gBACpC,QAAQ,GAAG,GAAG,EAAE,CAAA;YAClB,CAAC;YAED,8EAA8E;YAC9E,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACvB,OAAO,GAAG,SAAS,CAAA;YACrB,CAAC;YAED,sEAAsE;YACtE,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,WAAW,CAAA;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAErD,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,CAAC,aAAa,EAAE,CAAA;oBAEtB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;wBACvC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;4BACzB,MAAM,OAAO,GAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC1D,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAC7B,CAAA;4BAED,qEAAqE;4BACrE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;wBAC1E,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,OAAsB,EAAE,EAAE;YACtD,YAAY,GAAG,GAAG,EAAE,CAAA;YAEpB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YACrC,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAClC,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAqB,EAAE,EAAE;YACxD,YAAY,GAAG,GAAG,EAAE,CAAA;YACpB,WAAW,GAAG,GAAG,EAAE,CAAA;YAEnB,oEAAoE;YACpE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,OAAO,GAAG,SAAS,CAAA;YACrB,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI;YAAE,OAAM;QAE/C,kDAAkD;QAClD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;YAED,OAAM;QACR,CAAC;QAED,4FAA4F;QAC5F,yFAAyF;QACzF,2FAA2F;QAC3F,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,QAAQ,QAAQ,EAAE,EAAE,CAAA;YAC9B,QAAQ,GAAG,GAAG,EAAE,CAAA;YAEhB,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAA;IAER,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AAOD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgC,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC3F,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;IAErD,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,MAAkB,EAAE,EAAE;YAC5D,IAAI,MAAM,KAAK,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,sBAAsB;IACtB,wBAAwB;IACxB,yBAAyB;IACzB,qBAAqB;CACtB,CAAA"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAC,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAC,UAAU,EAAqC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AACzF,OAAO,EAEL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAEjB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAS,YAAY,EAAE,WAAW,EAAe,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,WAAW,CAAA;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AAEvC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAE,EAAE;IACvD,MAAM,EAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAC,GAAG,UAAU,CAAA;IACzD,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;IAEzD,wFAAwF;IACxF,2FAA2F;IAC3F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAA;IAE/C,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAA;IAElD,MAAM,KAAK,GAAG,CAAC,OAAsB,EAAE,EAAE,CACvC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAY,CAAA;IAEjE,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,OAAqB,EAAE,EAAE;QACrD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1D,CAAC,CAAA;IAED,8FAA8F;IAC9F,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QAEvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE;YACzD,4BAA4B;YAC5B,IAAI,YAAY,CAAC,OAAO,CAAC;gBAAE,OAAM;YAEjC,qCAAqC;YACrC,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAM;YAEpE,0DAA0D;YAC1D,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAM;YAEzD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAA;YACnE,MAAM,MAAM,GACV,WAAW,CAAC,OAAO,CAAC;gBACpB,aAAa,CAAC,OAAO,CAAC;gBACtB,aAAa,CAAC,OAAO,CAAC;gBACtB,eAAe,CAAC,OAAO,CAAC,CAAA;YAE1B,yFAAyF;YACzF,0FAA0F;YAC1F,wDAAwD;YACxD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;gBAEzB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAEnB,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;YACtC,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,OAAqB,EAAE,EAAE;YAC1D,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAW,CAAA;YAE/B,2EAA2E;YAC3E,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnB,MAAM,SAAS,GACb,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;oBACjD,WAAW,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1D,CAAC,SAAS,CAAC,OAAO,CAAC;wBACjB,CAAC,OAAO,CAAC,CAAC,CAAC;wBACX,WAAW,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE5D,IAAI,SAAS,EAAE,CAAC;oBACd,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;gBACvB,CAAC;qBAAM,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5E,iFAAiF;oBACjF,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;gBACvB,CAAC;qBAAM,IACL,aAAa,CAAC,OAAO,CAAC;oBACtB,aAAa,CAAC,OAAO,CAAC;oBACtB,SAAS,CAAC,OAAO,CAAC;oBAClB,YAAY,CAAC,OAAO,CAAC,EACrB,CAAC;oBACD,sEAAsE;oBACtE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACrB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,MAAkB,EAAE,EAAE;YAC5D,qFAAqF;YACrF,kCAAkC;YAClC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;gBAE5C,MAAM,CAAC,KAAK,EAAE,CAAA;gBACd,QAAQ,CAAC,KAAK,EAAE,CAAA;gBAEhB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;iBAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,EAAE,CAAC,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,EAAE;IACzD,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE;YACzD,IAAI,cAAmD,CAAA;YAEvD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,cAAc,GAAG,WAAW,CAAA;YAC9B,CAAC;iBAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,cAAc,GAAG,eAAe,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,OAAM;YACR,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAC/C,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAC1D,CAAA;YAED,2EAA2E;YAC3E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACtC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC1D,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,SAAuB,EAAE,EAAE;YACzD,sCAAsC;YACtC,IAAI,SAAS,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrC,SAAS,GAAG,GAAG,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAsB,EAAE,EAAE;YACzD,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAElF,6FAA6F;YAC7F,IAAI,QAAQ,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,EAAE,CAAA;YACf,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,sFAAsF;AACtF,MAAM,UAAU,GAAG,EAAE,CAAA;AAErB,gDAAgD;AAChD,MAAM,aAAa,GAAG,EAAE,CAAA;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,EAAE;IACtD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAEhD,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAA;IACpB,IAAI,YAAY,GAAG,GAAG,EAAE,CAAA;IACxB,IAAI,WAAW,GAAG,GAAG,EAAE,CAAA;IACvB,IAAI,OAA2B,CAAA;IAC/B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,SAAuB,EAAE,EAAE;YACzD,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAE9E,qCAAqC;YACrC,IAAI,SAAS,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;gBACpC,QAAQ,GAAG,GAAG,EAAE,CAAA;YAClB,CAAC;YAED,8EAA8E;YAC9E,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACvB,OAAO,GAAG,SAAS,CAAA;YACrB,CAAC;YAED,sEAAsE;YACtE,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,WAAW,CAAA;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAErD,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACrB,MAAM,CAAC,aAAa,EAAE,CAAA;oBAEtB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;wBACvC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;4BACzB,MAAM,OAAO,GAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC1D,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAC7B,CAAA;4BAED,qEAAqE;4BACrE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;wBAC1E,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,OAAsB,EAAE,EAAE;YACtD,YAAY,GAAG,GAAG,EAAE,CAAA;YAEpB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YACrC,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAClC,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAqB,EAAE,EAAE;YACxD,YAAY,GAAG,GAAG,EAAE,CAAA;YACpB,WAAW,GAAG,GAAG,EAAE,CAAA;YAEnB,oEAAoE;YACpE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC/C,OAAO,GAAG,SAAS,CAAA;YACrB,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI;YAAE,OAAM;QAE/C,kDAAkD;QAClD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;YAED,OAAM;QACR,CAAC;QAED,4FAA4F;QAC5F,yFAAyF;QACzF,2FAA2F;QAC3F,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,EAAE,CAAA;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,QAAQ,QAAQ,EAAE,EAAE,CAAA;YAC9B,QAAQ,GAAG,GAAG,EAAE,CAAA;YAEhB,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAA;IAER,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA;AAOD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAgC,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAC3F,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;IAErD,MAAM,aAAa,GAAG;QACpB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,MAAkB,EAAE,EAAE;YAC5D,IAAI,MAAM,KAAK,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC,CAAC;KACH,CAAA;IAED,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,sBAAsB;IACtB,wBAAwB;IACxB,yBAAyB;IACzB,qBAAqB;CACtB,CAAA"}
@@ -47,5 +47,6 @@ export declare class Socket extends EventEmitter {
47
47
  close: () => void;
48
48
  cleanup: () => void;
49
49
  send: (message: ClientMessage) => void;
50
+ receive: (message: RelayMessage) => void;
50
51
  }
51
52
  //# sourceMappingURL=socket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAC,SAAS,EAAO,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAA;AACnF,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AAEtC,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAA;AAE3D,qBAAa,MAAO,SAAQ,YAAY;IAepC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE;IAfnC,MAAM,CAAC,aAAa,SAAI;IACxB,MAAM,CAAC,cAAc,SAAM;IAC3B,MAAM,CAAC,aAAa,SAAK;IACzB,MAAM,CAAC,cAAc,SAAM;IAE3B,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,eAAsB;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAA;IAE7B,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACpC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;gBAGxB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,YAAY,EAAO;IAmCxC,IAAI,aAgDH;IAED,aAAa,aAIZ;IAED,KAAK,aAGJ;IAED,OAAO,aAON;IAED,IAAI,GAAI,SAAS,aAAa,UAG7B;CACF"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAC,SAAS,EAAO,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAA;AACnF,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AAEtC,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAA;AAE3D,qBAAa,MAAO,SAAQ,YAAY;IAepC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE;IAfnC,MAAM,CAAC,aAAa,SAAI;IACxB,MAAM,CAAC,cAAc,SAAM;IAC3B,MAAM,CAAC,aAAa,SAAK;IACzB,MAAM,CAAC,cAAc,SAAM;IAE3B,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,eAAsB;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAA;IAE7B,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACpC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;gBAGxB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,YAAY,EAAO;IAmCxC,IAAI,aA+CH;IAED,aAAa,aAIZ;IAED,KAAK,aAGJ;IAED,OAAO,aAON;IAED,IAAI,GAAI,SAAS,aAAa,UAG7B;IAED,OAAO,GAAI,SAAS,YAAY,UAG/B;CACF"}
@@ -90,8 +90,7 @@ export class Socket extends EventEmitter {
90
90
  try {
91
91
  const message = JSON.parse(data);
92
92
  if (Array.isArray(message)) {
93
- this._recvQueue.push(message);
94
- this.emit(SocketEvent.Receiving, message, this.url);
93
+ this.receive(message);
95
94
  }
96
95
  else {
97
96
  this.emit(SocketEvent.Error, "Invalid message received", this.url);
@@ -127,5 +126,9 @@ export class Socket extends EventEmitter {
127
126
  this._sendQueue.push(message);
128
127
  this.emit(SocketEvent.Sending, message, this.url);
129
128
  };
129
+ receive = (message) => {
130
+ this._recvQueue.push(message);
131
+ this.emit(SocketEvent.Receiving, message, this.url);
132
+ };
130
133
  }
131
134
  //# sourceMappingURL=socket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
1
  import type { Filter } from "@welshman/util";
2
2
  export type Unsubscriber = () => void;
3
+ /**
4
+ * How far into the past NIP-59 allows a gift wrap's `created_at` to be moved.
5
+ */
6
+ export declare const WRAP_DRIFT: number;
3
7
  /**
4
8
  * Rewrites a filter so re-sending it picks up where the subscription left off rather than
5
- * repeating itself.
9
+ * repeating itself. A filter asking for gift wraps reaches further back, since a wrap
10
+ * published after the subscription dropped carries a timestamp from before it. Neither reaches
11
+ * back past the filter's own `since`.
6
12
  * @param filter - the filter as originally sent
7
13
  * @param since - when the socket last heard from the relay
8
14
  * @returns a filter covering the gap
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../net/src/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAM7D,CAAA"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../net/src/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAA;AAErC;;GAEG;AACH,eAAO,MAAM,UAAU,QAAU,CAAA;AAEjC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAS7D,CAAA"}
@@ -1,15 +1,24 @@
1
- import { omit } from "@welshman/lib";
1
+ import { DAY, omit } from "@welshman/lib";
2
+ import { WRAP } from "@welshman/util";
3
+ /**
4
+ * How far into the past NIP-59 allows a gift wrap's `created_at` to be moved.
5
+ */
6
+ export const WRAP_DRIFT = 2 * DAY;
2
7
  /**
3
8
  * Rewrites a filter so re-sending it picks up where the subscription left off rather than
4
- * repeating itself.
9
+ * repeating itself. A filter asking for gift wraps reaches further back, since a wrap
10
+ * published after the subscription dropped carries a timestamp from before it. Neither reaches
11
+ * back past the filter's own `since`.
5
12
  * @param filter - the filter as originally sent
6
13
  * @param since - when the socket last heard from the relay
7
14
  * @returns a filter covering the gap
8
15
  */
9
16
  export const catchUpFilter = (filter, since) => {
17
+ // Only a filter that names wraps is widened: one without kinds would fetch days of everything
18
+ const drift = filter.kinds?.includes(WRAP) ? WRAP_DRIFT : 0;
10
19
  if (filter.limit === 0) {
11
20
  filter = omit(["limit"], filter);
12
21
  }
13
- return { ...filter, since };
22
+ return { ...filter, since: Math.max(filter.since || 0, since - drift) };
14
23
  };
15
24
  //# sourceMappingURL=util.js.map