tool-db 2.1.0 → 2.2.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/bundle.js +1 -1
- package/dist/crdt/listCrdt.d.ts +2 -2
- package/dist/index.d.ts +14 -6
- package/dist/index.js +22 -12
- package/dist/index.js.map +1 -1
- package/dist/messageHandlers/handleCrdtPut.js +19 -5
- package/dist/messageHandlers/handleCrdtPut.js.map +1 -1
- package/dist/messageHandlers/handleJoin.js +24 -20
- package/dist/messageHandlers/handleJoin.js.map +1 -1
- package/dist/messageHandlers/handlePing.js +1 -1
- package/dist/messageHandlers/handlePing.js.map +1 -1
- package/dist/messageHandlers/handlePong.js +5 -5
- package/dist/messageHandlers/handlePong.js.map +1 -1
- package/dist/messageHandlers/handlePut.js +1 -0
- package/dist/messageHandlers/handlePut.js.map +1 -1
- package/dist/messageHandlers/handleServers.js +9 -8
- package/dist/messageHandlers/handleServers.js.map +1 -1
- package/dist/toolDbAnonSignIn.js +1 -6
- package/dist/toolDbAnonSignIn.js.map +1 -1
- package/dist/toolDbCrdtGet.js +6 -2
- package/dist/toolDbCrdtGet.js.map +1 -1
- package/dist/toolDbCrdtPut.js +9 -7
- package/dist/toolDbCrdtPut.js.map +1 -1
- package/dist/toolDbGet.js +8 -4
- package/dist/toolDbGet.js.map +1 -1
- package/dist/toolDbKeysSignIn.d.ts +1 -1
- package/dist/toolDbKeysSignIn.js +4 -2
- package/dist/toolDbKeysSignIn.js.map +1 -1
- package/dist/toolDbNetwork.d.ts +4 -16
- package/dist/toolDbNetwork.js +74 -179
- package/dist/toolDbNetwork.js.map +1 -1
- package/dist/toolDbNetworkAdapter.d.ts +57 -0
- package/dist/toolDbNetworkAdapter.js +192 -0
- package/dist/toolDbNetworkAdapter.js.map +1 -0
- package/dist/toolDbPut.js +7 -7
- package/dist/toolDbPut.js.map +1 -1
- package/dist/toolDbQueryKeys.js +3 -2
- package/dist/toolDbQueryKeys.js.map +1 -1
- package/dist/toolDbSignIn.d.ts +1 -2
- package/dist/toolDbSignIn.js +2 -2
- package/dist/toolDbSignIn.js.map +1 -1
- package/dist/toolDbSignUp.js +33 -38
- package/dist/toolDbSignUp.js.map +1 -1
- package/dist/toolDbSubscribe.js +4 -2
- package/dist/toolDbSubscribe.js.map +1 -1
- package/dist/toolDbWeb3User.d.ts +20 -0
- package/dist/toolDbWeb3User.js +75 -0
- package/dist/toolDbWeb3User.js.map +1 -0
- package/dist/toolDbWebrtc.d.ts +2 -12
- package/dist/toolDbWebrtc.js +69 -104
- package/dist/toolDbWebrtc.js.map +1 -1
- package/dist/toolDbWebsocket.d.ts +19 -0
- package/dist/toolDbWebsocket.js +193 -0
- package/dist/toolDbWebsocket.js.map +1 -0
- package/dist/tooldb.d.ts +6 -10
- package/dist/tooldb.js +24 -35
- package/dist/tooldb.js.map +1 -1
- package/dist/types/tooldb.d.ts +16 -10
- package/dist/types/tooldb.js +27 -13
- package/dist/types/tooldb.js.map +1 -1
- package/dist/utils/getPeerSignature.d.ts +2 -2
- package/dist/utils/getPeerSignature.js +1 -1
- package/dist/utils/getPeerSignature.js.map +1 -1
- package/dist/utils/randomAnimal.js +36 -1
- package/dist/utils/randomAnimal.js.map +1 -1
- package/dist/utils/verifyMessage.js +4 -3
- package/dist/utils/verifyMessage.js.map +1 -1
- package/dist/utils/verifyPeer.d.ts +2 -2
- package/dist/utils/verifyPeer.js +8 -4
- package/dist/utils/verifyPeer.js.map +1 -1
- package/package.json +2 -1
- package/test-alice/000663.ldb +0 -0
- package/test-alice/000665.ldb +0 -0
- package/test-alice/000668.ldb +0 -0
- package/test-alice/000669.log +0 -0
- package/test-alice/CURRENT +1 -1
- package/test-alice/LOG +5 -5
- package/test-alice/LOG.old +5 -5
- package/test-alice/MANIFEST-000667 +0 -0
- package/test-alice-speed/000035.log +0 -0
- package/test-alice-speed/000036.ldb +0 -0
- package/test-alice-speed/CURRENT +1 -1
- package/test-alice-speed/LOG +13 -5
- package/test-alice-speed/LOG.old +5 -5
- package/test-alice-speed/MANIFEST-000033 +0 -0
- package/test-bob/000665.ldb +0 -0
- package/test-bob/000667.ldb +0 -0
- package/test-bob/000668.log +0 -0
- package/test-bob/CURRENT +1 -1
- package/test-bob/LOG +5 -5
- package/test-bob/LOG.old +14 -5
- package/test-bob/MANIFEST-000666 +0 -0
- package/test-node-a/000663.ldb +0 -0
- package/test-node-a/000665.ldb +0 -0
- package/test-node-a/000668.ldb +0 -0
- package/test-node-a/000669.log +0 -0
- package/test-node-a/CURRENT +1 -1
- package/test-node-a/LOG +5 -5
- package/test-node-a/LOG.old +5 -5
- package/test-node-a/MANIFEST-000667 +0 -0
- package/test-node-b/000663.ldb +0 -0
- package/test-node-b/000665.ldb +0 -0
- package/test-node-b/000668.ldb +0 -0
- package/test-node-b/000669.log +0 -0
- package/test-node-b/CURRENT +1 -1
- package/test-node-b/LOG +5 -5
- package/test-node-b/LOG.old +5 -5
- package/test-node-b/MANIFEST-000667 +0 -0
- package/test-verify-a/{000194.log → 000250.log} +0 -0
- package/test-verify-a/CURRENT +1 -1
- package/test-verify-a/LOG +3 -3
- package/test-verify-a/LOG.old +3 -3
- package/test-verify-a/{MANIFEST-000193 → MANIFEST-000249} +0 -0
- package/test-alice/000347.ldb +0 -0
- package/test-alice/000349.ldb +0 -0
- package/test-alice/000352.ldb +0 -0
- package/test-alice/000355.ldb +0 -0
- package/test-alice/000356.log +0 -0
- package/test-alice/MANIFEST-000354 +0 -0
- package/test-alice-speed/000198.ldb +0 -0
- package/test-alice-speed/000200.ldb +0 -0
- package/test-alice-speed/000203.ldb +0 -0
- package/test-alice-speed/000206.ldb +0 -0
- package/test-alice-speed/000207.log +0 -0
- package/test-alice-speed/MANIFEST-000205 +0 -0
- package/test-bob/000347.ldb +0 -0
- package/test-bob/000349.ldb +0 -0
- package/test-bob/000352.ldb +0 -0
- package/test-bob/000355.ldb +0 -0
- package/test-bob/000356.log +0 -0
- package/test-bob/MANIFEST-000354 +0 -0
- package/test-node-a/000347.ldb +0 -0
- package/test-node-a/000349.ldb +0 -0
- package/test-node-a/000352.ldb +0 -0
- package/test-node-a/000355.ldb +0 -0
- package/test-node-a/000356.log +0 -0
- package/test-node-a/MANIFEST-000354 +0 -0
- package/test-node-b/000347.ldb +0 -0
- package/test-node-b/000349.ldb +0 -0
- package/test-node-b/000352.ldb +0 -0
- package/test-node-b/000355.ldb +0 -0
- package/test-node-b/000356.log +0 -0
- package/test-node-b/MANIFEST-000354 +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolDbNetworkAdapter.js","sourceRoot":"","sources":["../src/toolDbNetworkAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/toolDbPut.js
CHANGED
|
@@ -21,29 +21,29 @@ function toolDbPut(key, value, userNamespaced) {
|
|
|
21
21
|
reject(new Error("Key cannot include dots!; " + key));
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
if (!_this.getAddress()) {
|
|
24
|
+
if (!_this.userAccount || !_this.userAccount.getAddress()) {
|
|
25
25
|
reject(new Error("You need to log in before you can PUT."));
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
28
|
var timestamp = new Date().getTime();
|
|
29
|
-
var dataString = "" + JSON.stringify(value) + _this.getAddress() + timestamp;
|
|
29
|
+
var dataString = "" + JSON.stringify(value) + _this.userAccount.getAddress() + timestamp;
|
|
30
30
|
// WORK
|
|
31
31
|
(0, proofOfWork_1.default)(dataString, _this.options.pow)
|
|
32
32
|
.then(function (_a) {
|
|
33
33
|
var hash = _a.hash, nonce = _a.nonce;
|
|
34
|
-
var signature = _this.signData(hash);
|
|
35
|
-
if (signature && _this.getAddress()) {
|
|
34
|
+
var signature = _this.userAccount.signData(hash);
|
|
35
|
+
if (signature && _this.userAccount.getAddress()) {
|
|
36
36
|
var finalKey = userNamespaced
|
|
37
|
-
? ":" + _this.getAddress() + "." + key
|
|
37
|
+
? ":" + _this.userAccount.getAddress() + "." + key
|
|
38
38
|
: key;
|
|
39
39
|
// Compose the message
|
|
40
40
|
var data = {
|
|
41
41
|
k: finalKey,
|
|
42
|
-
a: _this.getAddress() || "",
|
|
42
|
+
a: _this.userAccount.getAddress() || "",
|
|
43
43
|
n: nonce,
|
|
44
44
|
t: timestamp,
|
|
45
45
|
h: hash,
|
|
46
|
-
s: signature
|
|
46
|
+
s: signature,
|
|
47
47
|
v: value,
|
|
48
48
|
c: null,
|
|
49
49
|
};
|
package/dist/toolDbPut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbPut.js","sourceRoot":"","sources":["../src/toolDbPut.ts"],"names":[],"mappings":";;;;;AAAA,sBAA6D;AAG7D,oEAA8C;AAE9C;;;;;;GAMG;AACH,SAAwB,SAAS,CAE/B,GAAW,EACX,KAAQ,EACR,cAAsB;IAJxB,iBAgEC;IA5DC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,8FAA8F;YAC9F,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA6B,GAAK,CAAC,CAAC,CAAC;YACtD,OAAO;SACR;QAED,IAAI,CAAC,KAAI,CAAC,UAAU,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"toolDbPut.js","sourceRoot":"","sources":["../src/toolDbPut.ts"],"names":[],"mappings":";;;;;AAAA,sBAA6D;AAG7D,oEAA8C;AAE9C;;;;;;GAMG;AACH,SAAwB,SAAS,CAE/B,GAAW,EACX,KAAQ,EACR,cAAsB;IAJxB,iBAgEC;IA5DC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,8FAA8F;YAC9F,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA6B,GAAK,CAAC,CAAC,CAAC;YACtD,OAAO;SACR;QAED,IAAI,CAAC,KAAI,CAAC,WAAW,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE;YACvD,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAC5D,OAAO;SACR;QAED,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACvC,IAAM,UAAU,GAAG,KAAG,IAAI,CAAC,SAAS,CAClC,KAAK,CACN,GAAG,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,SAAW,CAAC;QAEhD,OAAO;QACP,IAAA,qBAAW,EAAC,UAAU,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;aACtC,IAAI,CAAC,UAAC,EAAe;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAClB,IAAM,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,SAAS,IAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE;gBAC9C,IAAM,QAAQ,GAAG,cAAc;oBAC7B,CAAC,CAAC,MAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAI,GAAK;oBAC5C,CAAC,CAAC,GAAG,CAAC;gBACR,sBAAsB;gBACtB,IAAM,IAAI,GAAqB;oBAC7B,CAAC,EAAE,QAAQ;oBACX,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE;oBACtC,CAAC,EAAE,KAAK;oBACR,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,KAAK;oBACR,CAAC,EAAE,IAAI;iBACR,CAAC;gBAEF,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;oBACvD,EAAE;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;iBACnC;gBAED,IAAM,YAAY,GAAe;oBAC/B,IAAI,EAAE,KAAK;oBACX,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC;oBAClB,EAAE,EAAE,EAAE;oBACN,IAAI,MAAA;iBACL,CAAC;gBACF,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAErC,OAAO,CAAC,YAAY,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAhED,4BAgEC"}
|
package/dist/toolDbQueryKeys.js
CHANGED
|
@@ -24,12 +24,13 @@ function toolDbQueryKeys(key, userNamespaced, timeoutMs) {
|
|
|
24
24
|
var _this = this;
|
|
25
25
|
if (userNamespaced === void 0) { userNamespaced = false; }
|
|
26
26
|
if (timeoutMs === void 0) { timeoutMs = 1000; }
|
|
27
|
+
var user = this.userAccount;
|
|
27
28
|
return new Promise(function (resolve, reject) {
|
|
28
|
-
if (userNamespaced &&
|
|
29
|
+
if (userNamespaced && user.getAddress() === undefined) {
|
|
29
30
|
reject(new Error("You are not authorized yet!"));
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
|
-
var finalKey = userNamespaced ? ":" +
|
|
33
|
+
var finalKey = userNamespaced ? ":" + user.getAddress() + "." + key : key;
|
|
33
34
|
if (_this.options.debug) {
|
|
34
35
|
console.log("QUERY > " + finalKey);
|
|
35
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbQueryKeys.js","sourceRoot":"","sources":["../src/toolDbQueryKeys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAuB;AACvB,sBAA+B;AAG/B;;;;;GAKG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,
|
|
1
|
+
{"version":3,"file":"toolDbQueryKeys.js","sourceRoot":"","sources":["../src/toolDbQueryKeys.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAuB;AACvB,sBAA+B;AAG/B;;;;;GAKG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,iBAqDC;IAlDC,+BAAA,EAAA,sBAAsB;IACtB,0BAAA,EAAA,gBAAgB;IAEhB,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;IAE9B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,SAAS,EAAE;YACrD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,MAAI,IAAI,CAAC,UAAU,EAAE,SAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;SACpC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAa,EAAE,CAAC;QAC7B,IAAI,OAAmC,CAAC;QAExC,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YACxC,SAAS,mCAAO,SAAS,SAAK,SAAS,OAAC,CAAC;YACzC,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAM,eAAe,GAAG;YACtB,OAAO,CAAC,gBAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAC,GAAG;YAC5B,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC/C;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC3B,SAAS,mCAAO,SAAS,SAAK,GAAG,CAAC,IAAI,OAAC,CAAC;gBAExC,IAAI,OAAO,EAAE;oBACX,YAAY,CAAC,OAAO,CAAC,CAAC;iBACvB;gBACD,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;aAClD;QACH,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AArDD,kCAqDC"}
|
package/dist/toolDbSignIn.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import ToolDb from "./tooldb";
|
|
2
|
-
|
|
3
|
-
export default function toolDbSignIn(this: ToolDb, user: string, password: string): Promise<Account | undefined>;
|
|
2
|
+
export default function toolDbSignIn(this: ToolDb, user: string, password: string): Promise<unknown | undefined>;
|
package/dist/toolDbSignIn.js
CHANGED
|
@@ -14,8 +14,8 @@ function toolDbSignIn(user, password) {
|
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
try {
|
|
17
|
-
var newAccount = _this.
|
|
18
|
-
_this.setUser(newAccount, user || "Anonymous " + (0, randomAnimal_1.default)());
|
|
17
|
+
var newAccount = _this.userAccount.decryptAccount(_user, (0, sha256_1.default)(password));
|
|
18
|
+
_this.userAccount.setUser(newAccount, user || "Anonymous " + (0, randomAnimal_1.default)());
|
|
19
19
|
resolve(newAccount);
|
|
20
20
|
}
|
|
21
21
|
catch (e) {
|
package/dist/toolDbSignIn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbSignIn.js","sourceRoot":"","sources":["../src/toolDbSignIn.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"toolDbSignIn.js","sourceRoot":"","sources":["../src/toolDbSignIn.ts"],"names":[],"mappings":";;;;;AAEA,0DAAoC;AACpC,sEAAgD;AAEhD,SAAwB,YAAY,CAElC,IAAY,EACZ,QAAgB;IAHlB,iBA4BC;IAvBC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,KAAI,CAAC,OAAO,CAAU,OAAK,IAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACzD,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,CAAC,qBAAqB,CAAC,CAAC;gBAC9B,OAAO;aACR;YAED,IAAI;gBACF,IAAM,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,cAAc,CAChD,KAAK,EACL,IAAA,gBAAM,EAAC,QAAQ,CAAC,CACjB,CAAC;gBACF,KAAI,CAAC,WAAW,CAAC,OAAO,CACtB,UAAU,EACV,IAAI,IAAI,eAAa,IAAA,sBAAY,GAAI,CACtC,CAAC;gBAEF,OAAO,CAAC,UAAU,CAAC,CAAC;aACrB;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,+BA4BC"}
|
package/dist/toolDbSignUp.js
CHANGED
|
@@ -47,45 +47,40 @@ function toolDbSignUp(user, password) {
|
|
|
47
47
|
_this.getData(userRoot, false, 3000)
|
|
48
48
|
.then(function (data) {
|
|
49
49
|
if (data === null) {
|
|
50
|
-
var account_1 = _this.
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
});
|
|
74
|
-
if (_this.options.debug) {
|
|
75
|
-
console.log("SIGNUP PUT > " + userRoot, signupMessage);
|
|
76
|
-
}
|
|
77
|
-
var finalMsg = {
|
|
78
|
-
type: "put",
|
|
79
|
-
id: (0, _1.textRandom)(10),
|
|
80
|
-
to: [],
|
|
81
|
-
data: signupMessage,
|
|
82
|
-
};
|
|
83
|
-
_this.network.sendToAll(finalMsg);
|
|
84
|
-
resolve(finalMsg);
|
|
85
|
-
})
|
|
86
|
-
.catch(reject);
|
|
50
|
+
var account_1 = new _this.options.userAdapter(_this);
|
|
51
|
+
var userData_1 = account_1.encryptAccount((0, _1.sha256)(password));
|
|
52
|
+
var timestamp_1 = new Date().getTime();
|
|
53
|
+
var userDataString = "" + JSON.stringify(userData_1) + account_1.getAddress() + timestamp_1;
|
|
54
|
+
(0, _1.proofOfWork)(userDataString, 0)
|
|
55
|
+
.then(function (_a) {
|
|
56
|
+
var hash = _a.hash, nonce = _a.nonce;
|
|
57
|
+
var signature = account_1.signData(hash);
|
|
58
|
+
var signupMessage = {
|
|
59
|
+
k: userRoot,
|
|
60
|
+
a: account_1.getAddress() || "",
|
|
61
|
+
n: nonce,
|
|
62
|
+
t: timestamp_1,
|
|
63
|
+
h: hash,
|
|
64
|
+
s: signature,
|
|
65
|
+
v: userData_1,
|
|
66
|
+
c: null,
|
|
67
|
+
};
|
|
68
|
+
_this.store.put(userRoot, JSON.stringify(signupMessage), function (err, data) {
|
|
69
|
+
//
|
|
70
|
+
});
|
|
71
|
+
if (_this.options.debug) {
|
|
72
|
+
console.log("SIGNUP PUT > " + userRoot, signupMessage);
|
|
87
73
|
}
|
|
88
|
-
|
|
74
|
+
var finalMsg = {
|
|
75
|
+
type: "put",
|
|
76
|
+
id: (0, _1.textRandom)(10),
|
|
77
|
+
to: [],
|
|
78
|
+
data: signupMessage,
|
|
79
|
+
};
|
|
80
|
+
_this.network.sendToAll(finalMsg);
|
|
81
|
+
resolve(finalMsg);
|
|
82
|
+
})
|
|
83
|
+
.catch(reject);
|
|
89
84
|
}
|
|
90
85
|
else {
|
|
91
86
|
reject(new Error("User already exists!"));
|
package/dist/toolDbSignUp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbSignUp.js","sourceRoot":"","sources":["../src/toolDbSignUp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,
|
|
1
|
+
{"version":3,"file":"toolDbSignUp.js","sourceRoot":"","sources":["../src/toolDbSignUp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sBAMW;AAEX,SAA8B,YAAY,CAExC,IAAY,EACZ,QAAgB;;;;;YAEV,QAAQ,GAAG,OAAK,IAAM,CAAC;YAC7B,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACjC,KAAI,CAAC,OAAO,CAA0B,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;yBACzD,IAAI,CAAC,UAAC,IAAI;wBACT,IAAI,IAAI,KAAK,IAAI,EAAE;4BACjB,IAAM,SAAO,GAAG,IAAI,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAI,CAAC,CAAC;4BACnD,IAAM,UAAQ,GAAG,SAAO,CAAC,cAAc,CAAC,IAAA,SAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;4BAE1D,IAAM,WAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;4BACvC,IAAM,cAAc,GAAG,KAAG,IAAI,CAAC,SAAS,CACtC,UAAQ,CACT,GAAG,SAAO,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC;4BAEvC,IAAA,cAAW,EAAC,cAAc,EAAE,CAAC,CAAC;iCAC3B,IAAI,CAAC,UAAC,EAAe;oCAAb,IAAI,UAAA,EAAE,KAAK,WAAA;gCAClB,IAAM,SAAS,GAAG,SAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCAEzC,IAAM,aAAa,GAA8C;oCAC/D,CAAC,EAAE,QAAQ;oCACX,CAAC,EAAE,SAAO,CAAC,UAAU,EAAE,IAAI,EAAE;oCAC7B,CAAC,EAAE,KAAK;oCACR,CAAC,EAAE,WAAS;oCACZ,CAAC,EAAE,IAAI;oCACP,CAAC,EAAE,SAAS;oCACZ,CAAC,EAAE,UAAe;oCAClB,CAAC,EAAE,IAAI;iCACR,CAAC;gCAEF,KAAI,CAAC,KAAK,CAAC,GAAG,CACZ,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAC7B,UAAC,GAAG,EAAE,IAAI;oCACR,EAAE;gCACJ,CAAC,CACF,CAAC;gCAEF,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oCACtB,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC;iCACxD;gCAED,IAAM,QAAQ,GAAG;oCACf,IAAI,EAAE,KAAK;oCACX,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC;oCAClB,EAAE,EAAE,EAAE;oCACN,IAAI,EAAE,aAAa;iCACN,CAAC;gCAEhB,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gCACjC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACpB,CAAC,CAAC;iCACD,KAAK,CAAC,MAAM,CAAC,CAAC;yBAClB;6BAAM;4BACL,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;yBAC3C;oBACH,CAAC,CAAC;yBACD,KAAK,CAAC;wBACL,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,EAAC;;;CACJ;AAhED,+BAgEC"}
|
package/dist/toolDbSubscribe.js
CHANGED
|
@@ -11,11 +11,13 @@ function toolDbSubscribe(key, userNamespaced) {
|
|
|
11
11
|
var _this = this;
|
|
12
12
|
if (userNamespaced === void 0) { userNamespaced = false; }
|
|
13
13
|
return new Promise(function (resolve, reject) {
|
|
14
|
-
if (userNamespaced && _this.getAddress() === undefined) {
|
|
14
|
+
if (userNamespaced && _this.userAccount.getAddress() === undefined) {
|
|
15
15
|
reject(new Error("You are not authorized yet!"));
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
|
-
var finalKey = userNamespaced
|
|
18
|
+
var finalKey = userNamespaced
|
|
19
|
+
? ":" + _this.userAccount.getAddress() + "." + key
|
|
20
|
+
: key;
|
|
19
21
|
if (_this.options.debug) {
|
|
20
22
|
console.log("Subscribe > " + finalKey);
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbSubscribe.js","sourceRoot":"","sources":["../src/toolDbSubscribe.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAG/B;;;;;GAKG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB;IAHxB,
|
|
1
|
+
{"version":3,"file":"toolDbSubscribe.js","sourceRoot":"","sources":["../src/toolDbSubscribe.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAG/B;;;;;GAKG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB;IAHxB,iBAuCC;IApCC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,cAAc,IAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,SAAS,EAAE;YACjE,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc;YAC7B,CAAC,CAAC,MAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAI,GAAK;YAC5C,CAAC,CAAC,GAAG,CAAC;QACR,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC;SACxC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;YACjC,IAAI,IAAI,EAAE;gBACR,IAAI;oBACF,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;iBAC5C;gBAAC,OAAO,CAAC,EAAE;oBACV,aAAa;iBACd;aACF;QACH,CAAC,CAAC,CAAC;QAEH,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAvCD,kCAuCC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import w3 from "web3";
|
|
2
|
+
import { EncryptedKeystoreV3Json, Account } from "web3-core";
|
|
3
|
+
import ToolDb from "./tooldb";
|
|
4
|
+
import { VerificationData } from "./types/message";
|
|
5
|
+
import { ToolDbUserAdapter } from "./types/tooldb";
|
|
6
|
+
export default class ToolDbWeb3User extends ToolDbUserAdapter {
|
|
7
|
+
web3: w3;
|
|
8
|
+
private _user;
|
|
9
|
+
private _userName;
|
|
10
|
+
constructor(db: ToolDb);
|
|
11
|
+
anonUser(): void;
|
|
12
|
+
setUser(account: Account, name: string): void;
|
|
13
|
+
signData(data: string): string;
|
|
14
|
+
verifySignature(message: Partial<VerificationData<any>>): boolean;
|
|
15
|
+
getAccountFromPrivate(privateKey: string): Account;
|
|
16
|
+
encryptAccount(password: string): EncryptedKeystoreV3Json;
|
|
17
|
+
decryptAccount(acc: EncryptedKeystoreV3Json, password: string): Account;
|
|
18
|
+
getAddress(): string;
|
|
19
|
+
getUsername(): string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
var web3_1 = __importDefault(require("web3"));
|
|
22
|
+
var tooldb_1 = require("./types/tooldb");
|
|
23
|
+
var randomAnimal_1 = __importDefault(require("./utils/randomAnimal"));
|
|
24
|
+
var ToolDbWeb3User = /** @class */ (function (_super) {
|
|
25
|
+
__extends(ToolDbWeb3User, _super);
|
|
26
|
+
function ToolDbWeb3User(db) {
|
|
27
|
+
var _this = _super.call(this, db) || this;
|
|
28
|
+
_this.web3 = new web3_1.default(web3_1.default.givenProvider);
|
|
29
|
+
_this._user = _this.web3.eth.accounts.create();
|
|
30
|
+
_this._userName = (0, randomAnimal_1.default)();
|
|
31
|
+
return _this;
|
|
32
|
+
}
|
|
33
|
+
ToolDbWeb3User.prototype.anonUser = function () {
|
|
34
|
+
this._user = this.web3.eth.accounts.create();
|
|
35
|
+
this._userName = (0, randomAnimal_1.default)();
|
|
36
|
+
};
|
|
37
|
+
ToolDbWeb3User.prototype.setUser = function (account, name) {
|
|
38
|
+
this._user = account;
|
|
39
|
+
this._userName = name;
|
|
40
|
+
};
|
|
41
|
+
ToolDbWeb3User.prototype.signData = function (data) {
|
|
42
|
+
var signature = this.web3.eth.accounts.sign(data, this._user.privateKey);
|
|
43
|
+
return signature.signature;
|
|
44
|
+
};
|
|
45
|
+
ToolDbWeb3User.prototype.verifySignature = function (message) {
|
|
46
|
+
if (!message.h || !message.s)
|
|
47
|
+
return false;
|
|
48
|
+
var address = this.web3.eth.accounts.recover(message.h, message.s);
|
|
49
|
+
return address === message.a;
|
|
50
|
+
};
|
|
51
|
+
ToolDbWeb3User.prototype.getAccountFromPrivate = function (privateKey) {
|
|
52
|
+
return this.web3.eth.accounts.privateKeyToAccount(privateKey);
|
|
53
|
+
};
|
|
54
|
+
ToolDbWeb3User.prototype.encryptAccount = function (password) {
|
|
55
|
+
return this._user.encrypt(password);
|
|
56
|
+
};
|
|
57
|
+
ToolDbWeb3User.prototype.decryptAccount = function (acc, password) {
|
|
58
|
+
try {
|
|
59
|
+
var newAccount = this.web3.eth.accounts.decrypt(acc, password);
|
|
60
|
+
return newAccount;
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
throw e;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
ToolDbWeb3User.prototype.getAddress = function () {
|
|
67
|
+
return this._user.address;
|
|
68
|
+
};
|
|
69
|
+
ToolDbWeb3User.prototype.getUsername = function () {
|
|
70
|
+
return this._userName;
|
|
71
|
+
};
|
|
72
|
+
return ToolDbWeb3User;
|
|
73
|
+
}(tooldb_1.ToolDbUserAdapter));
|
|
74
|
+
exports.default = ToolDbWeb3User;
|
|
75
|
+
//# sourceMappingURL=toolDbWeb3User.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolDbWeb3User.js","sourceRoot":"","sources":["../src/toolDbWeb3User.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8CAAsB;AAMtB,yCAAmD;AACnD,sEAAgD;AAEhD;IAA4C,kCAAiB;IAM3D,wBAAY,EAAU;QAAtB,YACE,kBAAM,EAAE,CAAC,SAIV;QAHC,KAAI,CAAC,IAAI,GAAG,IAAI,cAAE,CAAC,cAAE,CAAC,aAAa,CAAC,CAAC;QACrC,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,KAAI,CAAC,SAAS,GAAG,IAAA,sBAAY,GAAE,CAAC;;IAClC,CAAC;IAEM,iCAAQ,GAAf;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAA,sBAAY,GAAE,CAAC;IAClC,CAAC;IAEM,gCAAO,GAAd,UAAe,OAAgB,EAAE,IAAY;QAC3C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAEM,iCAAQ,GAAf,UAAgB,IAAY;QAC1B,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3E,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAEM,wCAAe,GAAtB,UAAuB,OAAuC;QAC5D,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAE3C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;IAEM,8CAAqB,GAA5B,UAA6B,UAAkB;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAEM,uCAAc,GAArB,UAAsB,QAAgB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,uCAAc,GAArB,UAAsB,GAA4B,EAAE,QAAgB;QAClE,IAAI;YACF,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC;SACnB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAEM,mCAAU,GAAjB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEM,oCAAW,GAAlB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACH,qBAAC;AAAD,CAAC,AA5DD,CAA4C,0BAAiB,GA4D5D"}
|
package/dist/toolDbWebrtc.d.ts
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import { ToolDbMessage } from ".";
|
|
2
|
-
import { ToolDbNetworkAdapter, ToolDbOptions } from "./types/tooldb";
|
|
3
1
|
import ToolDb from "./tooldb";
|
|
4
2
|
import WebSocket from "ws";
|
|
3
|
+
import ToolDbNetworkAdapter from "./toolDbNetworkAdapter";
|
|
5
4
|
export declare type ToolDbWebSocket = WebSocket & {
|
|
6
5
|
toolDbId?: string;
|
|
7
6
|
isServer: boolean;
|
|
8
7
|
origUrl: string;
|
|
9
8
|
};
|
|
10
|
-
interface WebrtcAdapterOptions {
|
|
11
|
-
wrtc?: any;
|
|
12
|
-
}
|
|
13
9
|
export default class toolDbWebrtc extends ToolDbNetworkAdapter {
|
|
14
|
-
private _tooldb;
|
|
15
10
|
private wnd;
|
|
16
11
|
private wss;
|
|
17
12
|
private sockets;
|
|
@@ -19,6 +14,7 @@ export default class toolDbWebrtc extends ToolDbNetworkAdapter {
|
|
|
19
14
|
private peerMap;
|
|
20
15
|
private connectedPeers;
|
|
21
16
|
private onDisconnect;
|
|
17
|
+
private peersCheck;
|
|
22
18
|
private announceInterval;
|
|
23
19
|
/**
|
|
24
20
|
* Initialize webrtc peer
|
|
@@ -66,10 +62,4 @@ export default class toolDbWebrtc extends ToolDbNetworkAdapter {
|
|
|
66
62
|
onLeave: () => Promise<void>;
|
|
67
63
|
constructor(db: ToolDb);
|
|
68
64
|
close(clientId: string): void;
|
|
69
|
-
sendToAll(msg: ToolDbMessage, crossServerOnly?: boolean, isRelay?: boolean): void;
|
|
70
|
-
sendToClientId(clientId: string, msg: ToolDbMessage): void;
|
|
71
|
-
get tooldb(): ToolDb & {
|
|
72
|
-
options: ToolDbOptions & WebrtcAdapterOptions;
|
|
73
|
-
};
|
|
74
65
|
}
|
|
75
|
-
export {};
|
package/dist/toolDbWebrtc.js
CHANGED
|
@@ -61,24 +61,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
61
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
65
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
66
|
-
if (ar || !(i in from)) {
|
|
67
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
68
|
-
ar[i] = from[i];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
72
|
-
};
|
|
73
64
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
74
65
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
75
66
|
};
|
|
76
67
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
77
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
78
68
|
var simple_peer_1 = __importDefault(require("simple-peer"));
|
|
79
69
|
var _1 = require(".");
|
|
80
|
-
var tooldb_1 = require("./types/tooldb");
|
|
81
70
|
var ws_1 = __importDefault(require("ws"));
|
|
71
|
+
var toolDbNetworkAdapter_1 = __importDefault(require("./toolDbNetworkAdapter"));
|
|
82
72
|
var offerPoolSize = 5;
|
|
83
73
|
var maxPeers = 4;
|
|
84
74
|
var announceSecs = 30;
|
|
@@ -120,7 +110,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
120
110
|
_this.initPeer = function (initiator, trickle, rtcConfig // RTCConfiguration
|
|
121
111
|
) {
|
|
122
112
|
var peer = new simple_peer_1.default({
|
|
123
|
-
wrtc: _this.
|
|
113
|
+
wrtc: _this.tooldb.options.wrtc,
|
|
124
114
|
initiator: initiator,
|
|
125
115
|
trickle: trickle,
|
|
126
116
|
config: rtcConfig,
|
|
@@ -160,27 +150,20 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
160
150
|
_this.peerMap[id].destroy();
|
|
161
151
|
delete _this.peerMap[id];
|
|
162
152
|
}
|
|
153
|
+
var clientId = null;
|
|
163
154
|
// console.log("onPeerConnect", id);
|
|
164
155
|
var onData = function (data) {
|
|
165
156
|
var str = new TextDecoder().decode(data);
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
_this.tooldb.isConnected = true;
|
|
177
|
-
}
|
|
178
|
-
_this.tooldb.onPeerConnect(id);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
catch (e) {
|
|
182
|
-
//
|
|
183
|
-
}
|
|
157
|
+
_this.onClientMessage(str, clientId || "", function (id) {
|
|
158
|
+
clientId = id;
|
|
159
|
+
// Set this socket's functions on the adapter
|
|
160
|
+
_this.isClientConnected[id] = function () {
|
|
161
|
+
return peer.connected;
|
|
162
|
+
};
|
|
163
|
+
_this.clientToSend[id] = function (_msg) {
|
|
164
|
+
peer.send(_msg);
|
|
165
|
+
};
|
|
166
|
+
});
|
|
184
167
|
};
|
|
185
168
|
_this.peerMap[id] = peer;
|
|
186
169
|
peer.on("data", onData);
|
|
@@ -188,9 +171,9 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
188
171
|
peer.on("error", function (err) { return _this.onDisconnect(id, err); });
|
|
189
172
|
peer.send(JSON.stringify({
|
|
190
173
|
type: "ping",
|
|
191
|
-
clientId: _this.
|
|
192
|
-
to: [_this.
|
|
193
|
-
isServer: _this.
|
|
174
|
+
clientId: _this.getClientAddress(),
|
|
175
|
+
to: [_this.getClientAddress()],
|
|
176
|
+
isServer: _this.tooldb.options.server,
|
|
194
177
|
id: (0, _1.textRandom)(10),
|
|
195
178
|
}));
|
|
196
179
|
};
|
|
@@ -274,7 +257,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
274
257
|
action: "announce",
|
|
275
258
|
info_hash: infoHash,
|
|
276
259
|
numwant: offerPoolSize,
|
|
277
|
-
peer_id: this.
|
|
260
|
+
peer_id: this.getClientAddress()
|
|
278
261
|
};
|
|
279
262
|
return [4 /*yield*/, Promise.all(Object.entries(this.offerPool).map(function (_a) {
|
|
280
263
|
var id = _a[0], offerP = _a[1].offerP;
|
|
@@ -353,8 +336,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
353
336
|
// console.warn("Info hash mismatch");
|
|
354
337
|
return [2 /*return*/];
|
|
355
338
|
}
|
|
356
|
-
if (val.peer_id &&
|
|
357
|
-
val.peer_id === this.tooldb.options.peerAccount.address.slice(-20)) {
|
|
339
|
+
if (val.peer_id && val.peer_id === this.getClientAddress()) {
|
|
358
340
|
// console.warn("Peer ids mismatch", val.peer_id, selfId);
|
|
359
341
|
return [2 /*return*/];
|
|
360
342
|
}
|
|
@@ -378,7 +360,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
378
360
|
answer: answer,
|
|
379
361
|
action: "announce",
|
|
380
362
|
info_hash: _this.infoHash,
|
|
381
|
-
peer_id: _this.
|
|
363
|
+
peer_id: _this.getClientAddress(),
|
|
382
364
|
to_peer_id: val.peer_id,
|
|
383
365
|
offer_id: val.offer_id,
|
|
384
366
|
}));
|
|
@@ -424,8 +406,8 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
424
406
|
return [2 /*return*/];
|
|
425
407
|
});
|
|
426
408
|
}); };
|
|
427
|
-
_this._tooldb = db;
|
|
428
409
|
_this.announceInterval = setInterval(_this.announceAll, announceSecs * 1000);
|
|
410
|
+
setInterval(function () { return _this.peersCheck(); }, 100);
|
|
429
411
|
// Stop announcing after maxAnnounceSecs
|
|
430
412
|
var intervalStart = new Date().getTime();
|
|
431
413
|
var checkInterval = setInterval(function () {
|
|
@@ -445,80 +427,63 @@ var toolDbWebrtc = /** @class */ (function (_super) {
|
|
|
445
427
|
_this.cleanPool();
|
|
446
428
|
}
|
|
447
429
|
}
|
|
430
|
+
// Basically the same as the WS network adapter
|
|
431
|
+
if (_this.tooldb.options.server) {
|
|
432
|
+
var server = new ws_1.default.Server({
|
|
433
|
+
port: _this.tooldb.options.port,
|
|
434
|
+
server: _this.tooldb.options.httpServer,
|
|
435
|
+
});
|
|
436
|
+
server.on("connection", function (socket) {
|
|
437
|
+
var clientId = null;
|
|
438
|
+
socket.on("close", function () {
|
|
439
|
+
if (clientId) {
|
|
440
|
+
_this.onClientDisconnect(clientId);
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
socket.on("error", function () {
|
|
444
|
+
if (clientId) {
|
|
445
|
+
_this.onClientDisconnect(clientId);
|
|
446
|
+
}
|
|
447
|
+
});
|
|
448
|
+
socket.on("message", function (message) {
|
|
449
|
+
_this.onClientMessage(message, clientId || "", function (id) {
|
|
450
|
+
clientId = id;
|
|
451
|
+
_this.isClientConnected[id] = function () {
|
|
452
|
+
return socket.readyState === socket.OPEN;
|
|
453
|
+
};
|
|
454
|
+
_this.clientToSend[id] = function (_msg) {
|
|
455
|
+
socket.send(_msg);
|
|
456
|
+
};
|
|
457
|
+
});
|
|
458
|
+
});
|
|
459
|
+
});
|
|
460
|
+
}
|
|
448
461
|
return _this;
|
|
449
462
|
}
|
|
450
|
-
toolDbWebrtc.prototype.
|
|
451
|
-
//
|
|
452
|
-
};
|
|
453
|
-
toolDbWebrtc.prototype.sendToAll = function (msg, crossServerOnly, isRelay) {
|
|
454
|
-
// if (this.tooldb.options.debug) {
|
|
455
|
-
// console.log("> sendToAll", msg);
|
|
456
|
-
// }
|
|
463
|
+
toolDbWebrtc.prototype.peersCheck = function () {
|
|
457
464
|
var _this = this;
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
.forEach(function (id) {
|
|
466
|
-
var peer = _this.peerMap[id];
|
|
467
|
-
if (peer.connected) {
|
|
468
|
-
// if (this.tooldb.options.debug) {
|
|
469
|
-
// console.log("Sent out to: ", id);
|
|
470
|
-
// console.log("OUT > ", { ...msg, to });
|
|
471
|
-
// }
|
|
472
|
-
peer.send(JSON.stringify(__assign(__assign({}, msg), { to: to })));
|
|
473
|
-
}
|
|
474
|
-
else {
|
|
475
|
-
peer.destroy();
|
|
476
|
-
delete _this.peerMap[id];
|
|
477
|
-
if (Object.keys(_this.peerMap).length === 0) {
|
|
478
|
-
_this.tooldb.isConnected = false;
|
|
479
|
-
_this.tooldb.onDisconnect();
|
|
465
|
+
Object.keys(this.clientToSend).forEach(function (id) {
|
|
466
|
+
if (!_this.isConnected(id)) {
|
|
467
|
+
console.log("disconnected from " + id);
|
|
468
|
+
_this.onClientDisconnect(id);
|
|
469
|
+
var peer = _this.peerMap[id];
|
|
470
|
+
if (peer) {
|
|
471
|
+
peer.destroy();
|
|
480
472
|
}
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
};
|
|
484
|
-
toolDbWebrtc.prototype.sendToClientId = function (clientId, msg) {
|
|
485
|
-
// if (this.tooldb.options.debug) {
|
|
486
|
-
// console.log("> sendToClientId", clientId, msg);
|
|
487
|
-
// }
|
|
488
|
-
var _this = this;
|
|
489
|
-
var to = lodash_1.default.uniq(__spreadArray(__spreadArray([], [msg.to || []], false), [
|
|
490
|
-
this.tooldb.options.peerAccount.address.slice(-20),
|
|
491
|
-
], false));
|
|
492
|
-
Object.keys(this.peerMap)
|
|
493
|
-
.filter(function (id) { return id === clientId; })
|
|
494
|
-
.filter(function (id) { return !to.includes(id); })
|
|
495
|
-
.forEach(function (id) {
|
|
496
|
-
var peer = _this.peerMap[id];
|
|
497
|
-
if (peer.connected) {
|
|
498
|
-
// if (this.tooldb.options.debug) {
|
|
499
|
-
// console.log("Sent out to client ID ", id);
|
|
500
|
-
// console.log("OUT > ", { ...msg, to });
|
|
501
|
-
// }
|
|
502
|
-
peer.send(JSON.stringify(__assign(__assign({}, msg), { to: to })));
|
|
503
|
-
}
|
|
504
|
-
else {
|
|
505
|
-
peer.destroy();
|
|
473
|
+
if (_this.connectedPeers[id])
|
|
474
|
+
delete _this.connectedPeers[id];
|
|
506
475
|
delete _this.peerMap[id];
|
|
507
|
-
if (Object.keys(_this.peerMap).length === 0) {
|
|
508
|
-
_this.tooldb.isConnected = false;
|
|
509
|
-
_this.tooldb.onDisconnect();
|
|
510
|
-
}
|
|
511
476
|
}
|
|
512
477
|
});
|
|
478
|
+
if (Object.keys(this.peerMap).length === 0) {
|
|
479
|
+
this.tooldb.isConnected = false;
|
|
480
|
+
this.tooldb.onDisconnect();
|
|
481
|
+
}
|
|
482
|
+
};
|
|
483
|
+
toolDbWebrtc.prototype.close = function (clientId) {
|
|
484
|
+
//
|
|
513
485
|
};
|
|
514
|
-
Object.defineProperty(toolDbWebrtc.prototype, "tooldb", {
|
|
515
|
-
get: function () {
|
|
516
|
-
return this._tooldb;
|
|
517
|
-
},
|
|
518
|
-
enumerable: false,
|
|
519
|
-
configurable: true
|
|
520
|
-
});
|
|
521
486
|
return toolDbWebrtc;
|
|
522
|
-
}(
|
|
487
|
+
}(toolDbNetworkAdapter_1.default));
|
|
523
488
|
exports.default = toolDbWebrtc;
|
|
524
489
|
//# sourceMappingURL=toolDbWebrtc.js.map
|