@welshman/net 0.1.1 → 0.1.2
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/LICENSE +21 -0
- package/dist/lib/src/Deferred.d.ts +21 -0
- package/dist/lib/src/Deferred.d.ts.map +1 -0
- package/dist/lib/src/Deferred.js +21 -0
- package/dist/lib/src/Deferred.js.map +1 -0
- package/dist/lib/src/Emitter.d.ts +14 -0
- package/dist/lib/src/Emitter.d.ts.map +1 -0
- package/dist/lib/src/Emitter.js +18 -0
- package/dist/lib/src/Emitter.js.map +1 -0
- package/dist/lib/src/LRUCache.d.ts +42 -0
- package/dist/lib/src/LRUCache.d.ts.map +1 -0
- package/dist/lib/src/LRUCache.js +62 -0
- package/dist/lib/src/LRUCache.js.map +1 -0
- package/dist/lib/src/TaskQueue.d.ts +18 -0
- package/dist/lib/src/TaskQueue.d.ts.map +1 -0
- package/dist/lib/src/TaskQueue.js +47 -0
- package/dist/lib/src/TaskQueue.js.map +1 -0
- package/dist/lib/src/Tools.d.ts +630 -0
- package/dist/lib/src/Tools.d.ts.map +1 -0
- package/dist/lib/src/Tools.js +1061 -0
- package/dist/lib/src/Tools.js.map +1 -0
- package/dist/lib/src/index.d.ts +7 -0
- package/dist/lib/src/index.d.ts.map +1 -0
- package/dist/lib/src/index.js +7 -0
- package/dist/lib/src/index.js.map +1 -0
- package/dist/lib/src/normalize-url/index.d.ts +286 -0
- package/dist/lib/src/normalize-url/index.d.ts.map +1 -0
- package/dist/lib/src/normalize-url/index.js +252 -0
- package/dist/lib/src/normalize-url/index.js.map +1 -0
- package/{build → dist/net}/src/adapter.d.ts +5 -7
- package/dist/net/src/adapter.d.ts.map +1 -0
- package/dist/net/src/adapter.js.map +1 -0
- package/{build → dist/net}/src/auth.d.ts +6 -21
- package/dist/net/src/auth.d.ts.map +1 -0
- package/{build → dist/net}/src/auth.js +21 -58
- package/dist/net/src/auth.js.map +1 -0
- package/{build → dist/net}/src/context.d.ts +3 -0
- package/dist/net/src/context.d.ts.map +1 -0
- package/dist/net/src/context.js.map +1 -0
- package/{build → dist/net}/src/diff.d.ts +3 -4
- package/dist/net/src/diff.d.ts.map +1 -0
- package/{build → dist/net}/src/diff.js +0 -1
- package/dist/net/src/diff.js.map +1 -0
- package/{build → dist/net}/src/index.d.ts +1 -0
- package/dist/net/src/index.d.ts.map +1 -0
- package/dist/net/src/index.js.map +1 -0
- package/{build → dist/net}/src/message.d.ts +1 -0
- package/dist/net/src/message.d.ts.map +1 -0
- package/dist/net/src/message.js.map +1 -0
- package/{build → dist/net}/src/negentropy.d.ts +2 -1
- package/dist/net/src/negentropy.d.ts.map +1 -0
- package/{build → dist/net}/src/negentropy.js +42 -18
- package/dist/net/src/negentropy.js.map +1 -0
- package/{build → dist/net}/src/policy.d.ts +16 -8
- package/dist/net/src/policy.d.ts.map +1 -0
- package/{build → dist/net}/src/policy.js +61 -83
- package/dist/net/src/policy.js.map +1 -0
- package/{build → dist/net}/src/pool.d.ts +1 -0
- package/dist/net/src/pool.d.ts.map +1 -0
- package/{build → dist/net}/src/pool.js +7 -7
- package/dist/net/src/pool.js.map +1 -0
- package/{build → dist/net}/src/publish.d.ts +6 -21
- package/dist/net/src/publish.d.ts.map +1 -0
- package/{build → dist/net}/src/publish.js +8 -3
- package/dist/net/src/publish.js.map +1 -0
- package/{build → dist/net}/src/request.d.ts +23 -13
- package/dist/net/src/request.d.ts.map +1 -0
- package/{build → dist/net}/src/request.js +19 -10
- package/dist/net/src/request.js.map +1 -0
- package/{build → dist/net}/src/socket.d.ts +11 -9
- package/dist/net/src/socket.d.ts.map +1 -0
- package/{build → dist/net}/src/socket.js +15 -8
- package/dist/net/src/socket.js.map +1 -0
- package/{build → dist/net}/src/tracker.d.ts +1 -0
- package/dist/net/src/tracker.d.ts.map +1 -0
- package/dist/net/src/tracker.js.map +1 -0
- package/dist/net/src/util.d.ts +2 -0
- package/dist/net/src/util.d.ts.map +1 -0
- package/{build → dist/net}/src/util.js.map +1 -1
- package/dist/relay/src/index.d.ts +3 -0
- package/dist/relay/src/index.d.ts.map +1 -0
- package/dist/relay/src/index.js +3 -0
- package/dist/relay/src/index.js.map +1 -0
- package/dist/relay/src/relay.d.ts +13 -0
- package/dist/relay/src/relay.d.ts.map +1 -0
- package/dist/relay/src/relay.js +48 -0
- package/dist/relay/src/relay.js.map +1 -0
- package/dist/relay/src/repository.d.ts +63 -0
- package/dist/relay/src/repository.d.ts.map +1 -0
- package/dist/relay/src/repository.js +270 -0
- package/dist/relay/src/repository.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/util/src/Address.d.ts +21 -0
- package/dist/util/src/Address.d.ts.map +1 -0
- package/dist/util/src/Address.js +43 -0
- package/dist/util/src/Address.js.map +1 -0
- package/dist/util/src/Encryptable.d.ts +34 -0
- package/dist/util/src/Encryptable.d.ts.map +1 -0
- package/dist/util/src/Encryptable.js +52 -0
- package/dist/util/src/Encryptable.js.map +1 -0
- package/dist/util/src/Events.d.ts +77 -0
- package/dist/util/src/Events.d.ts.map +1 -0
- package/dist/util/src/Events.js +62 -0
- package/dist/util/src/Events.js.map +1 -0
- package/dist/util/src/Filters.d.ts +48 -0
- package/dist/util/src/Filters.d.ts.map +1 -0
- package/dist/util/src/Filters.js +185 -0
- package/dist/util/src/Filters.js.map +1 -0
- package/dist/util/src/Handler.d.ts +17 -0
- package/dist/util/src/Handler.d.ts.map +1 -0
- package/dist/util/src/Handler.js +33 -0
- package/dist/util/src/Handler.js.map +1 -0
- package/dist/util/src/Kinds.d.ts +159 -0
- package/dist/util/src/Kinds.d.ts.map +1 -0
- package/dist/util/src/Kinds.js +160 -0
- package/dist/util/src/Kinds.js.map +1 -0
- package/dist/util/src/Links.d.ts +3 -0
- package/dist/util/src/Links.d.ts.map +1 -0
- package/dist/util/src/Links.js +3 -0
- package/dist/util/src/Links.js.map +1 -0
- package/dist/util/src/List.d.ts +32 -0
- package/dist/util/src/List.d.ts.map +1 -0
- package/dist/util/src/List.js +67 -0
- package/dist/util/src/List.js.map +1 -0
- package/dist/util/src/Profile.d.ts +33 -0
- package/dist/util/src/Profile.d.ts.map +1 -0
- package/dist/util/src/Profile.js +49 -0
- package/dist/util/src/Profile.js.map +1 -0
- package/dist/util/src/Relay.d.ts +26 -0
- package/dist/util/src/Relay.d.ts.map +1 -0
- package/dist/util/src/Relay.js +42 -0
- package/dist/util/src/Relay.js.map +1 -0
- package/dist/util/src/Tags.d.ts +32 -0
- package/dist/util/src/Tags.d.ts.map +1 -0
- package/dist/util/src/Tags.js +74 -0
- package/dist/util/src/Tags.js.map +1 -0
- package/dist/util/src/Zaps.d.ts +20 -0
- package/dist/util/src/Zaps.d.ts.map +1 -0
- package/dist/util/src/Zaps.js +93 -0
- package/dist/util/src/Zaps.js.map +1 -0
- package/dist/util/src/index.d.ts +13 -0
- package/dist/util/src/index.d.ts.map +1 -0
- package/dist/util/src/index.js +13 -0
- package/dist/util/src/index.js.map +1 -0
- package/package.json +17 -21
- package/README.md +0 -61
- package/build/src/adapter.js.map +0 -1
- package/build/src/auth.js.map +0 -1
- package/build/src/context.js.map +0 -1
- package/build/src/diff.js.map +0 -1
- package/build/src/index.js.map +0 -1
- package/build/src/message.js.map +0 -1
- package/build/src/negentropy.js.map +0 -1
- package/build/src/policy.js.map +0 -1
- package/build/src/pool.js.map +0 -1
- package/build/src/publish.js.map +0 -1
- package/build/src/request.js.map +0 -1
- package/build/src/socket.js.map +0 -1
- package/build/src/tracker.js.map +0 -1
- package/build/src/util.d.ts +0 -3
- package/build/tsconfig.tsbuildinfo +0 -1
- /package/{build → dist/net}/src/adapter.js +0 -0
- /package/{build → dist/net}/src/context.js +0 -0
- /package/{build → dist/net}/src/index.js +0 -0
- /package/{build → dist/net}/src/message.js +0 -0
- /package/{build → dist/net}/src/tracker.js +0 -0
- /package/{build → dist/net}/src/util.js +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import EventEmitter from "events";
|
|
1
2
|
import { LocalRelay } from "@welshman/relay";
|
|
2
3
|
import { RelayMessage, ClientMessage } from "./message.js";
|
|
3
4
|
import { Socket } from "./socket.js";
|
|
4
|
-
import {
|
|
5
|
+
import { Unsubscriber } from "./util.js";
|
|
5
6
|
import { NetContext } from "./context.js";
|
|
6
7
|
export declare enum AdapterEvent {
|
|
7
8
|
Receive = "adapter:event:receive"
|
|
@@ -9,8 +10,7 @@ export declare enum AdapterEvent {
|
|
|
9
10
|
export type AdapterEvents = {
|
|
10
11
|
[AdapterEvent.Receive]: (message: RelayMessage, url: string) => void;
|
|
11
12
|
};
|
|
12
|
-
declare
|
|
13
|
-
export declare abstract class AbstractAdapter extends AbstractAdapter_base {
|
|
13
|
+
export declare abstract class AbstractAdapter extends EventEmitter {
|
|
14
14
|
_unsubscribers: Unsubscriber[];
|
|
15
15
|
abstract urls: string[];
|
|
16
16
|
abstract sockets: Socket[];
|
|
@@ -39,8 +39,6 @@ export declare class MockAdapter extends AbstractAdapter {
|
|
|
39
39
|
get urls(): string[];
|
|
40
40
|
receive: (message: RelayMessage) => void;
|
|
41
41
|
}
|
|
42
|
-
export type AdapterContext = Partial<NetContext
|
|
43
|
-
getAdapter?: (url: string, context: AdapterContext) => AbstractAdapter;
|
|
44
|
-
};
|
|
42
|
+
export type AdapterContext = Partial<NetContext>;
|
|
45
43
|
export declare const getAdapter: (url: string, adapterContext?: AdapterContext) => any;
|
|
46
|
-
|
|
44
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAGjC,OAAO,EAAC,UAAU,EAAkB,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,cAAc,CAAA;AACxD,OAAO,EAAC,MAAM,EAAc,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AACtC,OAAO,EAAa,UAAU,EAAC,MAAM,cAAc,CAAA;AAEnD,oBAAY,YAAY;IACtB,OAAO,0BAA0B;CAClC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACrE,CAAA;AAED,8BAAsB,eAAgB,SAAQ,YAAY;IACxD,cAAc,EAAE,YAAY,EAAE,CAAK;IAEnC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAE3C,OAAO;CAIR;AAED,qBAAa,aAAc,SAAQ,eAAe;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAUnC,IAAI,OAAO,aAEV;IAED,IAAI,IAAI,aAEP;IAED,IAAI,CAAC,OAAO,EAAE,aAAa;CAG5B;AAED,qBAAa,YAAa,SAAQ,eAAe;IACnC,QAAQ,CAAC,KAAK,EAAE,UAAU;gBAAjB,KAAK,EAAE,UAAU;IAUtC,IAAI,OAAO,YAEV;IAED,IAAI,IAAI,aAEP;IAED,IAAI,CAAC,OAAO,EAAE,aAAa;CAK5B;AAED,qBAAa,WAAY,SAAQ,eAAe;IAE5C,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;gBADtC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;IAKjD,IAAI,OAAO,YAEV;IAED,IAAI,IAAI,aAEP;IAED,OAAO,GAAI,SAAS,YAAY,UAE/B;CACF;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAEhD,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,iBAAgB,cAAmB,QAoB1E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import EventEmitter from "events";
|
|
2
|
+
import { SignedEvent, StampedEvent } from "@welshman/util";
|
|
2
3
|
import { Socket } from "./socket.js";
|
|
3
|
-
import {
|
|
4
|
+
import { Unsubscriber } from "./util.js";
|
|
4
5
|
export declare const makeAuthEvent: (url: string, challenge: string) => {
|
|
5
6
|
kind: number;
|
|
6
7
|
content: string;
|
|
@@ -26,8 +27,7 @@ export declare enum AuthStateEvent {
|
|
|
26
27
|
export type AuthStateEvents = {
|
|
27
28
|
[AuthStateEvent.Status]: (status: AuthStatus) => void;
|
|
28
29
|
};
|
|
29
|
-
declare
|
|
30
|
-
export declare class AuthState extends AuthState_base {
|
|
30
|
+
export declare class AuthState extends EventEmitter {
|
|
31
31
|
readonly socket: Socket;
|
|
32
32
|
challenge: string | undefined;
|
|
33
33
|
request: string | undefined;
|
|
@@ -36,22 +36,7 @@ export declare class AuthState extends AuthState_base {
|
|
|
36
36
|
_unsubscribers: Unsubscriber[];
|
|
37
37
|
constructor(socket: Socket);
|
|
38
38
|
setStatus(status: AuthStatus): void;
|
|
39
|
+
authenticate(sign: (event: StampedEvent) => Promise<SignedEvent>): Promise<void>;
|
|
39
40
|
cleanup(): void;
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
-
sign: (event: StampedEvent) => Promise<SignedEvent>;
|
|
43
|
-
eager?: boolean;
|
|
44
|
-
};
|
|
45
|
-
export declare class AuthManager {
|
|
46
|
-
readonly socket: Socket;
|
|
47
|
-
readonly options: AuthManagerOptions;
|
|
48
|
-
state: AuthState;
|
|
49
|
-
constructor(socket: Socket, options: AuthManagerOptions);
|
|
50
|
-
waitFor(condition: () => boolean, timeout?: number): Promise<void>;
|
|
51
|
-
waitForChallenge(timeout?: number): Promise<void>;
|
|
52
|
-
waitForResolution(timeout?: number): Promise<void>;
|
|
53
|
-
attempt(timeout?: number): Promise<void>;
|
|
54
|
-
respond(): Promise<void>;
|
|
55
|
-
cleanup(): void;
|
|
56
|
-
}
|
|
57
|
-
export {};
|
|
42
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAGxD,OAAO,EAAC,MAAM,EAA4B,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,WAAW,MAAM;;;;;CAMxD,CAAA;AAEJ,oBAAY,UAAU;IACpB,IAAI,qBAAqB;IACzB,SAAS,0BAA0B;IACnC,gBAAgB,kCAAkC;IAClD,eAAe,iCAAiC;IAChD,eAAe,iCAAiC;IAChD,SAAS,0BAA0B;IACnC,EAAE,mBAAmB;CACtB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,cAAc;IACxB,MAAM,sBAAsB;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,qBAAa,SAAU,SAAQ,YAAY;IAO7B,QAAQ,CAAC,MAAM,EAAE,MAAM;IANnC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,aAAkB;IACxB,cAAc,EAAE,YAAY,EAAE,CAAK;gBAEd,MAAM,EAAE,MAAM;IAgDnC,SAAS,CAAC,MAAM,EAAE,UAAU;IAKtB,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC;IAsBtE,OAAO;CAIR"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import EventEmitter from "events";
|
|
2
|
-
import { on, call
|
|
2
|
+
import { on, call } from "@welshman/lib";
|
|
3
3
|
import { makeEvent, CLIENT_AUTH } from "@welshman/util";
|
|
4
4
|
import { isRelayAuth, isClientAuth, isRelayOk } from "./message.js";
|
|
5
5
|
import { SocketStatus, SocketEvent } from "./socket.js";
|
|
@@ -48,12 +48,16 @@ export class AuthState extends EventEmitter {
|
|
|
48
48
|
}
|
|
49
49
|
if (isRelayAuth(message)) {
|
|
50
50
|
const [_, challenge] = message;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.
|
|
54
|
-
|
|
51
|
+
// Sometimes relays send the same challenge multiple times, no need to
|
|
52
|
+
// respond to it twice
|
|
53
|
+
if (challenge !== this.challenge) {
|
|
54
|
+
this.challenge = challenge;
|
|
55
|
+
this.request = undefined;
|
|
56
|
+
this.details = undefined;
|
|
57
|
+
this.setStatus(AuthStatus.Requested);
|
|
58
|
+
}
|
|
55
59
|
}
|
|
56
|
-
}), on(socket, SocketEvent.
|
|
60
|
+
}), on(socket, SocketEvent.Sending, (message) => {
|
|
57
61
|
if (isClientAuth(message)) {
|
|
58
62
|
this.setStatus(AuthStatus.PendingResponse);
|
|
59
63
|
}
|
|
@@ -70,68 +74,27 @@ export class AuthState extends EventEmitter {
|
|
|
70
74
|
this.status = status;
|
|
71
75
|
this.emit(AuthStateEvent.Status, status);
|
|
72
76
|
}
|
|
73
|
-
|
|
74
|
-
this.
|
|
75
|
-
this._unsubscribers.forEach(call);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
export class AuthManager {
|
|
79
|
-
socket;
|
|
80
|
-
options;
|
|
81
|
-
state;
|
|
82
|
-
constructor(socket, options) {
|
|
83
|
-
this.socket = socket;
|
|
84
|
-
this.options = options;
|
|
85
|
-
this.state = new AuthState(socket);
|
|
86
|
-
this.state.on(AuthStateEvent.Status, (status) => {
|
|
87
|
-
if (status === AuthStatus.Requested && options.eager) {
|
|
88
|
-
this.respond();
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
async waitFor(condition, timeout = 300) {
|
|
93
|
-
const start = Date.now();
|
|
94
|
-
while (Date.now() - timeout <= start) {
|
|
95
|
-
if (condition()) {
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
await sleep(Math.min(100, Math.ceil(timeout / 3)));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
async waitForChallenge(timeout = 300) {
|
|
102
|
-
await this.waitFor(() => Boolean(this.state.challenge), timeout);
|
|
103
|
-
}
|
|
104
|
-
async waitForResolution(timeout = 300) {
|
|
105
|
-
await this.waitFor(() => [AuthStatus.None, AuthStatus.DeniedSignature, AuthStatus.Forbidden, AuthStatus.Ok].includes(this.state.status), timeout);
|
|
106
|
-
}
|
|
107
|
-
async attempt(timeout = 300) {
|
|
108
|
-
await this.socket.attemptToOpen();
|
|
109
|
-
await this.waitForChallenge(Math.ceil(timeout / 2));
|
|
110
|
-
if (this.state.status === AuthStatus.Requested) {
|
|
111
|
-
await this.respond();
|
|
112
|
-
}
|
|
113
|
-
await this.waitForResolution(Math.ceil(timeout / 2));
|
|
114
|
-
}
|
|
115
|
-
async respond() {
|
|
116
|
-
if (!this.state.challenge) {
|
|
77
|
+
async authenticate(sign) {
|
|
78
|
+
if (!this.challenge) {
|
|
117
79
|
throw new Error("Attempted to authenticate with no challenge");
|
|
118
80
|
}
|
|
119
|
-
if (this.
|
|
120
|
-
throw new Error(`Attempted to authenticate when auth is already ${this.
|
|
81
|
+
if (this.status !== AuthStatus.Requested) {
|
|
82
|
+
throw new Error(`Attempted to authenticate when auth is already ${this.status}`);
|
|
121
83
|
}
|
|
122
|
-
this.
|
|
123
|
-
const template = makeAuthEvent(this.socket.url, this.
|
|
124
|
-
const event = await
|
|
84
|
+
this.setStatus(AuthStatus.PendingSignature);
|
|
85
|
+
const template = makeAuthEvent(this.socket.url, this.challenge);
|
|
86
|
+
const event = await sign(template);
|
|
125
87
|
if (event) {
|
|
126
|
-
this.
|
|
88
|
+
this.request = event.id;
|
|
127
89
|
this.socket.send(["AUTH", event]);
|
|
128
90
|
}
|
|
129
91
|
else {
|
|
130
|
-
this.
|
|
92
|
+
this.setStatus(AuthStatus.DeniedSignature);
|
|
131
93
|
}
|
|
132
94
|
}
|
|
133
95
|
cleanup() {
|
|
134
|
-
this.
|
|
96
|
+
this.removeAllListeners();
|
|
97
|
+
this._unsubscribers.forEach(call);
|
|
135
98
|
}
|
|
136
99
|
}
|
|
137
100
|
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Repository } from "@welshman/relay";
|
|
2
2
|
import { TrustedEvent } from "@welshman/util";
|
|
3
|
+
import { AbstractAdapter } from "./adapter.js";
|
|
3
4
|
import { Pool } from "./pool.js";
|
|
4
5
|
export type NetContext = {
|
|
5
6
|
pool: Pool;
|
|
6
7
|
repository: Repository;
|
|
7
8
|
isEventValid: (event: TrustedEvent, url: string) => boolean;
|
|
8
9
|
isEventDeleted: (event: TrustedEvent, url: string) => boolean;
|
|
10
|
+
getAdapter?: (url: string, context: NetContext) => AbstractAdapter;
|
|
9
11
|
};
|
|
10
12
|
export declare const netContext: NetContext;
|
|
13
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAc,YAAY,EAAc,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAE9B,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IAC7D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,eAAe,CAAA;CACnE,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,UAKxB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAC,WAAW,EAA4B,MAAM,gBAAgB,CAAA;AAErE,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAA;AAU9B,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;IACzB,UAAU,EAAE,UAAU,CAAC,YAAY,EAAE;IACrC,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,WAAW,CAAC,KAAoB,CAAC,CAAC;IACrF,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;CACvE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { EventEmitter } from "events";
|
|
1
2
|
import { SignedEvent, Filter } from "@welshman/util";
|
|
2
|
-
import { TypedEmitter } from "./util.js";
|
|
3
3
|
import { AdapterContext, AbstractAdapter } from "./adapter.js";
|
|
4
4
|
export declare enum DifferenceEvent {
|
|
5
5
|
Message = "difference:event:message",
|
|
@@ -20,8 +20,7 @@ export type DifferenceOptions = {
|
|
|
20
20
|
events: SignedEvent[];
|
|
21
21
|
context?: AdapterContext;
|
|
22
22
|
};
|
|
23
|
-
declare
|
|
24
|
-
export declare class Difference extends Difference_base {
|
|
23
|
+
export declare class Difference extends EventEmitter {
|
|
25
24
|
readonly options: DifferenceOptions;
|
|
26
25
|
have: Set<string>;
|
|
27
26
|
need: Set<string>;
|
|
@@ -52,4 +51,4 @@ export type PullOptions = DiffOptions;
|
|
|
52
51
|
export declare const pull: ({ context, ...options }: PullOptions) => Promise<SignedEvent[]>;
|
|
53
52
|
export type PushOptions = DiffOptions;
|
|
54
53
|
export declare const push: ({ context, events, ...options }: PushOptions) => Promise<void>;
|
|
55
|
-
|
|
54
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAEnC,OAAO,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAQlD,OAAO,EAAa,cAAc,EAAE,eAAe,EAAe,MAAM,cAAc,CAAA;AAKtF,oBAAY,eAAe;IACzB,OAAO,6BAA6B;IACpC,KAAK,2BAA2B;IAChC,KAAK,2BAA2B;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAC,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3F,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7D,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,qBAAa,UAAW,SAAQ,YAAY;IAS9B,QAAQ,CAAC,OAAO,EAAE,iBAAiB;IAR/C,IAAI,cAAoB;IACxB,IAAI,cAAoB;IAExB,GAAG,SAAkC;IACrC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,UAAQ;gBAEM,OAAO,EAAE,iBAAiB;IA0D/C,KAAK;CAUN;AAID,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACjB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,iCAA+B,WAAW;;;;IA8CpE,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,WAAW,CAAA;AAErC,eAAO,MAAM,IAAI,GAAU,yBAAuB,WAAW,2BAmC5D,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,WAAW,CAAA;AAErC,eAAO,MAAM,IAAI,GAAU,iCAA+B,WAAW,kBAoBpE,CAAA"}
|
|
@@ -77,7 +77,6 @@ export const diff = async ({ relays, filters, ...options }) => {
|
|
|
77
77
|
const diff = new Difference({ relay, filter, ...options });
|
|
78
78
|
diff.on(DifferenceEvent.Close, () => {
|
|
79
79
|
resolve({ relay, have: diff.have, need: diff.need });
|
|
80
|
-
diff.close();
|
|
81
80
|
});
|
|
82
81
|
diff.on(DifferenceEvent.Error, (url, message) => {
|
|
83
82
|
reject(message);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../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,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../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,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
@@ -57,3 +57,4 @@ export declare const isClientEvent: (m: ClientMessage) => m is ClientEvent;
|
|
|
57
57
|
export declare const isClientNegClose: (m: ClientMessage) => m is ClientNegClose;
|
|
58
58
|
export declare const isClientNegOpen: (m: ClientMessage) => m is ClientNegOpen;
|
|
59
59
|
export declare const isClientReq: (m: ClientMessage) => m is ClientReq;
|
|
60
|
+
//# sourceMappingURL=message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/message.ts"],"names":[],"mappings":"AAEA,kBAAkB;AAElB,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,sCAAkB,CAAA;IAClB,sCAAkB,CAAA;IAClB,6BAAS,CAAA;AACX,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAgCD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAe,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,KAAK,CAAA;AAEjG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAe,EAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,EAAE,CAAA;AAExF,kBAAkB;AAElB,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,oCAAe,CAAA;IACf,2CAAsB,CAAA;IACtB,yCAAoB,CAAA;IACpB,gCAAW,CAAA;AACb,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B;AA4BD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,IAAI,CAAA;AAElG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAoB,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAoB,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAgB,EAAuB,EAAE,CACxE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAA;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAsB,EAAE,CACtE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,OAAO,CAAA;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,GAAG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negentropy.d.ts","sourceRoot":"","sources":["../../../src/negentropy.ts"],"names":[],"mappings":"AAcA,cAAM,aAAa;gBACL,MAAM,KAAA;IAKlB,MAAM;IAIN,IAAI,QAAQ,QAEX;IAED,MAAM,CAAC,GAAG,KAAA;IAeV,KAAK;IAOL,MAAM,CAAC,CAAC,SAAI;CAMb;AA2GD,cAAM,uBAAuB;;IAM3B,MAAM,CAAC,SAAS,KAAA,EAAE,EAAE,KAAA;IAOpB,IAAI;IAYJ,MAAM;IAIN,IAAI;IAKJ,OAAO,CAAC,CAAC,KAAA;IAMT,OAAO,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA,EAAE,EAAE,KAAA;IAStB,cAAc,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA,EAAE,KAAK,KAAA;IAO1B,WAAW,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA;IAY5B,YAAY;IAIZ,YAAY,CAAC,KAAK,KAAA,EAAE,GAAG,KAAA;IAIvB,aAAa,CAAC,GAAG,KAAA,EAAE,KAAK,KAAA,EAAE,IAAI,KAAA,EAAE,GAAG,KAAA;CAkBpC;AAED,cAAM,UAAU;gBACF,OAAO,KAAA,EAAE,cAAc,SAAI;IAUvC,MAAM,CAAC,SAAS,KAAA,EAAE,EAAE,KAAA;;;;IAId,QAAQ;IAYd,YAAY;IAIN,SAAS,CAAC,KAAK,KAAA;IA2If,UAAU,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,UAAU,KAAA,EAAE,CAAC,KAAA;IA8C5C,aAAa,CAAC,CAAC,KAAA;IAMf,sBAAsB,CAAC,CAAC,KAAA;IAMxB,iBAAiB,CAAC,OAAO,KAAA;IAYzB,WAAW,CAAC,OAAO,KAAA;;;;IAUnB,kBAAkB,CAAC,SAAS,KAAA;IAY5B,WAAW,CAAC,GAAG,KAAA;IAUf,eAAe,CAAC,IAAI,KAAA,EAAE,IAAI,KAAA;;;;CAgB3B;AAqED,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// (C) 2023 Doug Hoyte. MIT license
|
|
2
|
+
/* eslint-disable */
|
|
2
3
|
// @ts-nocheck
|
|
3
4
|
const PROTOCOL_VERSION = 0x61; // Version 1
|
|
4
5
|
const ID_SIZE = 32;
|
|
@@ -22,7 +23,7 @@ class WrappedBuffer {
|
|
|
22
23
|
extend(buf) {
|
|
23
24
|
if (buf._raw)
|
|
24
25
|
buf = buf.unwrap();
|
|
25
|
-
if (typeof
|
|
26
|
+
if (typeof buf.length !== "number")
|
|
26
27
|
throw Error("bad length");
|
|
27
28
|
const targetSize = buf.length + this.length;
|
|
28
29
|
if (this.capacity < targetSize) {
|
|
@@ -83,11 +84,13 @@ function getBytes(buf, n) {
|
|
|
83
84
|
class Accumulator {
|
|
84
85
|
constructor() {
|
|
85
86
|
this.setToZero();
|
|
86
|
-
if (typeof window ===
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
if (typeof window === "undefined") {
|
|
88
|
+
// node.js
|
|
89
|
+
const crypto = require("crypto");
|
|
90
|
+
this.sha256 = async (slice) => new Uint8Array(crypto.createHash("sha256").update(slice).digest());
|
|
89
91
|
}
|
|
90
|
-
else {
|
|
92
|
+
else {
|
|
93
|
+
// browser
|
|
91
94
|
this.sha256 = async (slice) => new Uint8Array(await crypto.subtle.digest("SHA-256", slice));
|
|
92
95
|
}
|
|
93
96
|
}
|
|
@@ -105,9 +108,9 @@ class Accumulator {
|
|
|
105
108
|
let next = orig;
|
|
106
109
|
next += currCarry;
|
|
107
110
|
next += otherV;
|
|
108
|
-
if (next >
|
|
111
|
+
if (next > 0xffffffff)
|
|
109
112
|
nextCarry = 1;
|
|
110
|
-
p.setUint32(offset, next &
|
|
113
|
+
p.setUint32(offset, next & 0xffffffff, true);
|
|
111
114
|
currCarry = nextCarry;
|
|
112
115
|
nextCarry = 0;
|
|
113
116
|
}
|
|
@@ -177,7 +180,7 @@ class NegentropyStorageVector {
|
|
|
177
180
|
findLowerBound(begin, end, bound) {
|
|
178
181
|
this._checkSealed();
|
|
179
182
|
this._checkBounds(begin, end);
|
|
180
|
-
return this._binarySearch(this.items, begin, end,
|
|
183
|
+
return this._binarySearch(this.items, begin, end, a => itemCompare(a, bound) < 0);
|
|
181
184
|
}
|
|
182
185
|
async fingerprint(begin, end) {
|
|
183
186
|
const out = new Accumulator();
|
|
@@ -244,7 +247,7 @@ class Negentropy {
|
|
|
244
247
|
const fullOutput = new WrappedBuffer();
|
|
245
248
|
fullOutput.extend([PROTOCOL_VERSION]);
|
|
246
249
|
const protocolVersion = getByte(query);
|
|
247
|
-
if (protocolVersion < 0x60 || protocolVersion >
|
|
250
|
+
if (protocolVersion < 0x60 || protocolVersion > 0x6f)
|
|
248
251
|
throw Error("invalid negentropy protocol version byte");
|
|
249
252
|
if (protocolVersion !== PROTOCOL_VERSION) {
|
|
250
253
|
if (this.isInitiator)
|
|
@@ -293,7 +296,7 @@ class Negentropy {
|
|
|
293
296
|
}
|
|
294
297
|
if (this.isInitiator) {
|
|
295
298
|
skip = true;
|
|
296
|
-
this.storage.iterate(lower, upper,
|
|
299
|
+
this.storage.iterate(lower, upper, item => {
|
|
297
300
|
const k = item.id;
|
|
298
301
|
if (!theirElems[k]) {
|
|
299
302
|
// ID exists on our side, but not their side
|
|
@@ -351,7 +354,11 @@ class Negentropy {
|
|
|
351
354
|
prevIndex = upper;
|
|
352
355
|
prevBound = currBound;
|
|
353
356
|
}
|
|
354
|
-
return [
|
|
357
|
+
return [
|
|
358
|
+
fullOutput.length === 1 && this.isInitiator ? null : this._renderOutput(fullOutput),
|
|
359
|
+
haveIds,
|
|
360
|
+
needIds,
|
|
361
|
+
];
|
|
355
362
|
}
|
|
356
363
|
async splitRange(lower, upper, upperBound, o) {
|
|
357
364
|
const numElems = upper - lower;
|
|
@@ -360,7 +367,7 @@ class Negentropy {
|
|
|
360
367
|
o.extend(this.encodeBound(upperBound));
|
|
361
368
|
o.extend(encodeVarInt(Mode.IdList));
|
|
362
369
|
o.extend(encodeVarInt(numElems));
|
|
363
|
-
this.storage.iterate(lower, upper,
|
|
370
|
+
this.storage.iterate(lower, upper, item => {
|
|
364
371
|
o.extend(item.id);
|
|
365
372
|
return true;
|
|
366
373
|
});
|
|
@@ -459,14 +466,14 @@ class Negentropy {
|
|
|
459
466
|
}
|
|
460
467
|
}
|
|
461
468
|
function loadInputBuffer(inp) {
|
|
462
|
-
if (typeof
|
|
469
|
+
if (typeof inp === "string")
|
|
463
470
|
inp = hexToUint8Array(inp);
|
|
464
471
|
else if (__proto__ !== Uint8Array.prototype)
|
|
465
472
|
inp = new Uint8Array(inp); // node Buffer?
|
|
466
473
|
return inp;
|
|
467
474
|
}
|
|
468
475
|
function hexToUint8Array(h) {
|
|
469
|
-
if (h.startsWith(
|
|
476
|
+
if (h.startsWith("0x"))
|
|
470
477
|
h = h.substr(2);
|
|
471
478
|
if (h.length % 2 === 1)
|
|
472
479
|
throw Error("odd length of hex string");
|
|
@@ -477,13 +484,30 @@ function hexToUint8Array(h) {
|
|
|
477
484
|
}
|
|
478
485
|
const uint8ArrayToHexLookupTable = new Array(256);
|
|
479
486
|
{
|
|
480
|
-
const hexAlphabet = [
|
|
487
|
+
const hexAlphabet = [
|
|
488
|
+
"0",
|
|
489
|
+
"1",
|
|
490
|
+
"2",
|
|
491
|
+
"3",
|
|
492
|
+
"4",
|
|
493
|
+
"5",
|
|
494
|
+
"6",
|
|
495
|
+
"7",
|
|
496
|
+
"8",
|
|
497
|
+
"9",
|
|
498
|
+
"a",
|
|
499
|
+
"b",
|
|
500
|
+
"c",
|
|
501
|
+
"d",
|
|
502
|
+
"e",
|
|
503
|
+
"f",
|
|
504
|
+
];
|
|
481
505
|
for (let i = 0; i < 256; i++) {
|
|
482
|
-
uint8ArrayToHexLookupTable[i] = hexAlphabet[(i >>> 4) &
|
|
506
|
+
uint8ArrayToHexLookupTable[i] = hexAlphabet[(i >>> 4) & 0xf] + hexAlphabet[i & 0xf];
|
|
483
507
|
}
|
|
484
508
|
}
|
|
485
509
|
function uint8ArrayToHex(arr) {
|
|
486
|
-
let out =
|
|
510
|
+
let out = "";
|
|
487
511
|
for (let i = 0, edx = arr.length; i < edx; i++) {
|
|
488
512
|
out += uint8ArrayToHexLookupTable[arr[i]];
|
|
489
513
|
}
|
|
@@ -508,5 +532,5 @@ function itemCompare(a, b) {
|
|
|
508
532
|
}
|
|
509
533
|
return a.timestamp - b.timestamp;
|
|
510
534
|
}
|
|
511
|
-
export { Negentropy, NegentropyStorageVector
|
|
535
|
+
export { Negentropy, NegentropyStorageVector };
|
|
512
536
|
//# sourceMappingURL=negentropy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negentropy.js","sourceRoot":"","sources":["../../../src/negentropy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
+
import { StampedEvent, SignedEvent } from "@welshman/util";
|
|
1
2
|
import { Socket } from "./socket.js";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
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
|
|
4
7
|
* @param socket - a Socket object
|
|
5
8
|
* @return a cleanup function
|
|
6
9
|
*/
|
|
7
|
-
export declare const
|
|
8
|
-
/**
|
|
9
|
-
* Re-enqueues event/req messages once if rejected due to auth-required
|
|
10
|
-
* @param socket - a Socket object
|
|
11
|
-
* @return a cleanup function
|
|
12
|
-
*/
|
|
13
|
-
export declare const socketPolicyRetryAuthRequired: (socket: Socket) => () => void;
|
|
10
|
+
export declare const socketPolicyAuthBuffer: (socket: Socket) => () => void;
|
|
14
11
|
/**
|
|
15
12
|
* Auto-connects a closed socket when a message is sent unless there was a recent error
|
|
16
13
|
* @param socket - a Socket object
|
|
@@ -29,4 +26,15 @@ export declare const socketPolicyCloseOnTimeout: (socket: Socket) => () => void;
|
|
|
29
26
|
* @return a cleanup function
|
|
30
27
|
*/
|
|
31
28
|
export declare const socketPolicyReopenActive: (socket: Socket) => () => void;
|
|
29
|
+
export type SocketPolicyAuthOptions = {
|
|
30
|
+
sign: (event: StampedEvent) => Promise<SignedEvent>;
|
|
31
|
+
shouldAuth?: (socket: Socket) => boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Factory function for a policy which may authenticate the socket
|
|
35
|
+
* @param options - SocketPolicyAuthOptions object
|
|
36
|
+
* @return a socket policy
|
|
37
|
+
*/
|
|
38
|
+
export declare const makeSocketPolicyAuth: (options: SocketPolicyAuthOptions) => (socket: Socket) => () => void;
|
|
32
39
|
export declare const defaultSocketPolicies: ((socket: Socket) => () => void)[];
|
|
40
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,YAAY,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAanE,OAAO,EAAC,MAAM,EAA4B,MAAM,aAAa,CAAA;AAG7D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,eAuDpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,eAmBvD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,eAsBxD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,eA0CtD,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,YA3La,MAAM,kBAgMpD,CAAA"}
|