tool-db 2.1.1 → 2.3.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/README.md +12 -139
- package/bundle.js +1 -1
- package/dist/adapters/toolDbIndexedb.d.ts +10 -0
- package/dist/adapters/toolDbIndexedb.js +128 -0
- package/dist/adapters/toolDbIndexedb.js.map +1 -0
- package/dist/adapters/toolDbLeveldb.d.ts +9 -0
- package/dist/adapters/toolDbLeveldb.js +112 -0
- package/dist/adapters/toolDbLeveldb.js.map +1 -0
- package/dist/adapters/toolDbWeb3User.d.ts +20 -0
- package/dist/adapters/toolDbWeb3User.js +75 -0
- package/dist/adapters/toolDbWeb3User.js.map +1 -0
- package/dist/adapters/toolDbWebrtc.d.ts +59 -0
- package/dist/adapters/toolDbWebrtc.js +492 -0
- package/dist/adapters/toolDbWebrtc.js.map +1 -0
- package/dist/adapters/toolDbWebsocket.d.ts +19 -0
- package/dist/adapters/toolDbWebsocket.js +181 -0
- package/dist/adapters/toolDbWebsocket.js.map +1 -0
- package/dist/adapters-base/networkAdapter.d.ts +57 -0
- package/dist/adapters-base/networkAdapter.js +184 -0
- package/dist/adapters-base/networkAdapter.js.map +1 -0
- package/dist/adapters-base/storageAdapter.d.ts +9 -0
- package/dist/adapters-base/storageAdapter.js +26 -0
- package/dist/adapters-base/storageAdapter.js.map +1 -0
- package/dist/adapters-base/userAdapter.d.ts +14 -0
- package/dist/adapters-base/userAdapter.js +35 -0
- package/dist/adapters-base/userAdapter.js.map +1 -0
- package/dist/crdt/listCrdt.d.ts +2 -2
- package/dist/index.d.ts +18 -6
- package/dist/index.js +31 -13
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +32 -0
- package/dist/logger.js.map +1 -0
- package/dist/messageHandlers/handleCrdtGet.js +19 -22
- package/dist/messageHandlers/handleCrdtGet.js.map +1 -1
- package/dist/messageHandlers/handleCrdtPut.js +29 -20
- package/dist/messageHandlers/handleCrdtPut.js.map +1 -1
- package/dist/messageHandlers/handleGet.js +19 -21
- package/dist/messageHandlers/handleGet.js.map +1 -1
- package/dist/messageHandlers/handleJoin.js +24 -20
- package/dist/messageHandlers/handleJoin.js.map +1 -1
- package/dist/messageHandlers/handlePing.js +2 -1
- package/dist/messageHandlers/handlePing.js.map +1 -1
- package/dist/messageHandlers/handlePong.js +2 -24
- package/dist/messageHandlers/handlePong.js.map +1 -1
- package/dist/messageHandlers/handlePut.js +29 -25
- package/dist/messageHandlers/handlePut.js.map +1 -1
- package/dist/messageHandlers/handleQuery.js +7 -2
- package/dist/messageHandlers/handleQuery.js.map +1 -1
- package/dist/messageHandlers/handleServers.js +9 -8
- package/dist/messageHandlers/handleServers.js.map +1 -1
- package/dist/messageHandlers/handleSubscribe.js +30 -29
- package/dist/messageHandlers/handleSubscribe.js.map +1 -1
- package/dist/sendJoin.d.ts +2 -0
- package/dist/sendJoin.js +31 -0
- package/dist/sendJoin.js.map +1 -0
- package/dist/toolDbAnonSignIn.js +1 -6
- package/dist/toolDbAnonSignIn.js.map +1 -1
- package/dist/toolDbClientOnMessage.js +5 -8
- package/dist/toolDbClientOnMessage.js.map +1 -1
- package/dist/toolDbCrdtGet.js +33 -34
- package/dist/toolDbCrdtGet.js.map +1 -1
- package/dist/toolDbCrdtPut.js +27 -26
- package/dist/toolDbCrdtPut.js.map +1 -1
- package/dist/toolDbGet.js +33 -32
- package/dist/toolDbGet.js.map +1 -1
- package/dist/toolDbKeysSignIn.d.ts +1 -1
- package/dist/toolDbKeysSignIn.js +9 -3
- 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 +188 -0
- package/dist/toolDbNetworkAdapter.js.map +1 -0
- package/dist/toolDbPut.js +35 -32
- package/dist/toolDbPut.js.map +1 -1
- package/dist/toolDbQueryKeys.js +11 -9
- package/dist/toolDbQueryKeys.js.map +1 -1
- package/dist/toolDbSignIn.d.ts +1 -2
- package/dist/toolDbSignIn.js +6 -3
- package/dist/toolDbSignIn.js.map +1 -1
- package/dist/toolDbSignUp.js +38 -34
- package/dist/toolDbSignUp.js.map +1 -1
- package/dist/toolDbSubscribe.d.ts +2 -1
- package/dist/toolDbSubscribe.js +24 -18
- package/dist/toolDbSubscribe.js.map +1 -1
- package/dist/toolDbVerificationWrapper.js +15 -10
- package/dist/toolDbVerificationWrapper.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 -18
- package/dist/toolDbWebrtc.js +83 -117
- package/dist/toolDbWebrtc.js.map +1 -1
- package/dist/toolDbWebsocket.d.ts +19 -0
- package/dist/toolDbWebsocket.js +187 -0
- package/dist/toolDbWebsocket.js.map +1 -0
- package/dist/tooldb.d.ts +12 -15
- package/dist/tooldb.js +33 -60
- package/dist/tooldb.js.map +1 -1
- package/dist/types/message.d.ts +1 -1
- package/dist/types/tooldb.d.ts +11 -25
- package/dist/types/tooldb.js +0 -19
- 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/indexedb.js +4 -4
- package/dist/utils/indexedb.js.map +1 -1
- package/dist/utils/leveldb.js +4 -4
- package/dist/utils/leveldb.js.map +1 -1
- package/dist/utils/randomAnimal.js +36 -1
- package/dist/utils/randomAnimal.js.map +1 -1
- package/dist/utils/verifyMessage.js +37 -32
- package/dist/utils/verifyMessage.js.map +1 -1
- package/dist/utils/verifyPeer.d.ts +1 -1
- package/dist/utils/verifyPeer.js +7 -3
- package/dist/utils/verifyPeer.js.map +1 -1
- package/package.json +1 -1
- package/test-alice/000145.ldb +0 -0
- package/test-alice/000147.ldb +0 -0
- package/test-alice/000150.ldb +0 -0
- package/test-alice/000153.ldb +0 -0
- package/test-alice/000154.log +0 -0
- package/test-alice/CURRENT +1 -1
- package/test-alice/LOG +5 -14
- package/test-alice/LOG.old +5 -5
- package/test-alice/MANIFEST-000152 +0 -0
- package/test-alice-speed/000022.ldb +0 -0
- package/test-alice-speed/000024.ldb +0 -0
- package/test-alice-speed/000027.ldb +0 -0
- package/test-alice-speed/000030.ldb +0 -0
- package/test-alice-speed/000031.log +0 -0
- package/test-alice-speed/CURRENT +1 -1
- package/test-alice-speed/LOG +5 -5
- package/test-alice-speed/LOG.old +5 -5
- package/test-alice-speed/MANIFEST-000029 +0 -0
- package/{test-verify-a/000208.log → test-base-client/000099.log} +0 -0
- package/test-base-client/CURRENT +1 -0
- package/test-base-client/LOCK +0 -0
- package/test-base-client/LOG +3 -0
- package/test-base-client/LOG.old +3 -0
- package/test-base-client/MANIFEST-000098 +0 -0
- package/test-base-server/000101.log +0 -0
- package/test-base-server/CURRENT +1 -0
- package/test-base-server/LOCK +0 -0
- package/test-base-server/LOG +3 -0
- package/test-base-server/LOG.old +3 -0
- package/test-base-server/MANIFEST-000100 +0 -0
- package/test-bob/000160.ldb +0 -0
- package/test-bob/000162.ldb +0 -0
- package/test-bob/000163.log +0 -0
- package/test-bob/CURRENT +1 -1
- package/test-bob/LOG +5 -14
- package/test-bob/LOG.old +14 -5
- package/test-bob/MANIFEST-000161 +0 -0
- package/test-chris/000017.ldb +0 -0
- package/test-chris/000020.ldb +0 -0
- package/test-chris/000023.ldb +0 -0
- package/test-chris/000026.ldb +0 -0
- package/test-chris/000029.ldb +0 -0
- package/test-chris/000086.ldb +0 -0
- package/test-chris/000089.ldb +0 -0
- package/test-chris/000092.ldb +0 -0
- package/test-chris/000095.ldb +0 -0
- package/test-chris/000098.ldb +0 -0
- package/test-chris/000103.ldb +0 -0
- package/test-chris/000106.ldb +0 -0
- package/test-chris/000109.ldb +0 -0
- package/test-chris/000112.ldb +0 -0
- package/test-chris/000115.ldb +0 -0
- package/test-chris/000118.ldb +0 -0
- package/test-chris/000121.ldb +0 -0
- package/test-chris/000124.ldb +0 -0
- package/test-chris/000127.ldb +0 -0
- package/test-chris/000130.ldb +0 -0
- package/test-chris/000133.ldb +0 -0
- package/test-chris/000136.ldb +0 -0
- package/test-chris/000139.ldb +0 -0
- package/test-chris/000142.ldb +0 -0
- package/test-chris/000145.ldb +0 -0
- package/test-chris/000148.ldb +0 -0
- package/test-chris/000151.ldb +0 -0
- package/test-chris/000152.log +0 -0
- package/test-chris/CURRENT +1 -0
- package/test-chris/LOCK +0 -0
- package/test-chris/LOG +6 -0
- package/test-chris/LOG.old +6 -0
- package/test-chris/MANIFEST-000150 +0 -0
- package/test-node-a/000175.ldb +0 -0
- package/test-node-a/000177.ldb +0 -0
- package/test-node-a/000178.log +0 -0
- package/test-node-a/CURRENT +1 -1
- package/test-node-a/LOG +5 -14
- package/test-node-a/LOG.old +14 -5
- package/test-node-a/MANIFEST-000176 +0 -0
- package/test-node-b/000175.ldb +0 -0
- package/test-node-b/000177.ldb +0 -0
- package/test-node-b/000178.log +0 -0
- package/test-node-b/CURRENT +1 -1
- package/test-node-b/LOG +5 -14
- package/test-node-b/LOG.old +14 -5
- package/test-node-b/MANIFEST-000176 +0 -0
- package/test-store/000007.ldb +0 -0
- package/test-store/000010.ldb +0 -0
- package/test-store/000013.ldb +0 -0
- package/test-store/000016.ldb +0 -0
- package/test-store/000019.ldb +0 -0
- package/test-store/000022.ldb +0 -0
- package/test-store/000025.ldb +0 -0
- package/test-store/000028.ldb +0 -0
- package/test-store/000031.ldb +0 -0
- package/test-store/000034.ldb +0 -0
- package/test-store/000037.ldb +0 -0
- package/test-store/000038.log +0 -0
- package/test-store/CURRENT +1 -0
- package/test-store/LOCK +0 -0
- package/test-store/LOG +6 -0
- package/test-store/LOG.old +6 -0
- package/test-store/MANIFEST-000036 +0 -0
- package/test-verify-a/000049.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-000048 +0 -0
- package/toolDbLibP2p.ts +12 -11
- package/test-alice/000424.log +0 -0
- package/test-alice/000425.ldb +0 -0
- package/test-alice/MANIFEST-000422 +0 -0
- package/test-alice-speed/000224.ldb +0 -0
- package/test-alice-speed/000226.ldb +0 -0
- package/test-alice-speed/000229.ldb +0 -0
- package/test-alice-speed/000230.log +0 -0
- package/test-alice-speed/MANIFEST-000228 +0 -0
- package/test-bob/000424.log +0 -0
- package/test-bob/000425.ldb +0 -0
- package/test-bob/MANIFEST-000422 +0 -0
- package/test-node-a/000424.log +0 -0
- package/test-node-a/000425.ldb +0 -0
- package/test-node-a/MANIFEST-000422 +0 -0
- package/test-node-b/000424.log +0 -0
- package/test-node-b/000425.ldb +0 -0
- package/test-node-b/MANIFEST-000422 +0 -0
- package/test-verify-a/000026.ldb +0 -0
- package/test-verify-a/000029.ldb +0 -0
- package/test-verify-a/000031.ldb +0 -0
- package/test-verify-a/000033.ldb +0 -0
- package/test-verify-a/MANIFEST-000207 +0 -0
package/dist/toolDbPut.js
CHANGED
|
@@ -21,47 +21,50 @@ 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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
34
|
+
_this.userAccount.signData(hash).then(function (signature) {
|
|
35
|
+
if (signature && _this.userAccount.getAddress()) {
|
|
36
|
+
var finalKey = userNamespaced
|
|
37
|
+
? ":" + _this.userAccount.getAddress() + "." + key
|
|
38
|
+
: key;
|
|
39
|
+
// Compose the message
|
|
40
|
+
var data = {
|
|
41
|
+
k: finalKey,
|
|
42
|
+
a: _this.userAccount.getAddress() || "",
|
|
43
|
+
n: nonce,
|
|
44
|
+
t: timestamp,
|
|
45
|
+
h: hash,
|
|
46
|
+
s: signature,
|
|
47
|
+
v: value,
|
|
48
|
+
c: null,
|
|
49
|
+
};
|
|
50
|
+
_this.logger("PUT", key, data);
|
|
51
|
+
var finalMessage_1 = {
|
|
52
|
+
type: "put",
|
|
53
|
+
id: (0, _1.textRandom)(10),
|
|
54
|
+
to: [],
|
|
55
|
+
data: data,
|
|
56
|
+
};
|
|
57
|
+
_this.network.sendToAll(finalMessage_1);
|
|
58
|
+
_this.store
|
|
59
|
+
.put(finalKey, JSON.stringify(data))
|
|
60
|
+
.catch(function (e) {
|
|
61
|
+
// do nothing
|
|
62
|
+
})
|
|
63
|
+
.finally(function () {
|
|
64
|
+
resolve(finalMessage_1);
|
|
65
|
+
});
|
|
55
66
|
}
|
|
56
|
-
|
|
57
|
-
type: "put",
|
|
58
|
-
id: (0, _1.textRandom)(10),
|
|
59
|
-
to: [],
|
|
60
|
-
data: data,
|
|
61
|
-
};
|
|
62
|
-
_this.network.sendToAll(finalMessage);
|
|
63
|
-
resolve(finalMessage);
|
|
64
|
-
}
|
|
67
|
+
});
|
|
65
68
|
})
|
|
66
69
|
.catch(reject);
|
|
67
70
|
});
|
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,
|
|
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,iBAmEC;IA/DC,+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,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;gBAC7C,IAAI,SAAS,IAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE;oBAC9C,IAAM,QAAQ,GAAG,cAAc;wBAC7B,CAAC,CAAC,MAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAI,GAAK;wBAC5C,CAAC,CAAC,GAAG,CAAC;oBAER,sBAAsB;oBACtB,IAAM,IAAI,GAAqB;wBAC7B,CAAC,EAAE,QAAQ;wBACX,CAAC,EAAE,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE;wBACtC,CAAC,EAAE,KAAK;wBACR,CAAC,EAAE,SAAS;wBACZ,CAAC,EAAE,IAAI;wBACP,CAAC,EAAE,SAAS;wBACZ,CAAC,EAAE,KAAK;wBACR,CAAC,EAAE,IAAI;qBACR,CAAC;oBAEF,KAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAE9B,IAAM,cAAY,GAAe;wBAC/B,IAAI,EAAE,KAAK;wBACX,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC;wBAClB,EAAE,EAAE,EAAE;wBACN,IAAI,MAAA;qBACL,CAAC;oBAEF,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAY,CAAC,CAAC;oBACrC,KAAI,CAAC,KAAK;yBACP,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBACnC,KAAK,CAAC,UAAC,CAAC;wBACP,aAAa;oBACf,CAAC,CAAC;yBACD,OAAO,CAAC;wBACP,OAAO,CAAC,cAAY,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACN;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAnED,4BAmEC"}
|
package/dist/toolDbQueryKeys.js
CHANGED
|
@@ -24,29 +24,31 @@ 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
|
-
|
|
34
|
-
console.log("QUERY > " + finalKey);
|
|
35
|
-
}
|
|
33
|
+
var finalKey = userNamespaced ? ":" + user.getAddress() + "." + key : key;
|
|
34
|
+
_this.logger("QUERY", finalKey);
|
|
36
35
|
var msgId = (0, _1.textRandom)(10);
|
|
37
36
|
var foundKeys = [];
|
|
38
37
|
var timeout;
|
|
39
|
-
_this.store
|
|
38
|
+
_this.store
|
|
39
|
+
.query(finalKey)
|
|
40
|
+
.then(function (localKeys) {
|
|
40
41
|
foundKeys = __spreadArray(__spreadArray([], foundKeys, true), localKeys, true);
|
|
41
42
|
timeout = setTimeout(finishListening, timeoutMs);
|
|
43
|
+
})
|
|
44
|
+
.catch(function (e) {
|
|
45
|
+
// do nothing
|
|
42
46
|
});
|
|
43
47
|
var finishListening = function () {
|
|
44
48
|
resolve(lodash_1.default.uniq(foundKeys));
|
|
45
49
|
};
|
|
46
50
|
_this.addIdListener(msgId, function (msg) {
|
|
47
|
-
|
|
48
|
-
console.log("QUERY RECV > " + finalKey, msg);
|
|
49
|
-
}
|
|
51
|
+
_this.logger("QUERY RECV", finalKey);
|
|
50
52
|
if (msg.type === "queryAck") {
|
|
51
53
|
foundKeys = __spreadArray(__spreadArray([], foundKeys, true), msg.keys, true);
|
|
52
54
|
if (timeout) {
|
|
@@ -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,iBAuDC;IApDC,+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,KAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE/B,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,SAAS,GAAa,EAAE,CAAC;QAC7B,IAAI,OAAmC,CAAC;QAExC,KAAI,CAAC,KAAK;aACP,KAAK,CAAC,QAAQ,CAAC;aACf,IAAI,CAAC,UAAC,SAAS;YACd,SAAS,mCAAO,SAAS,SAAK,SAAS,OAAC,CAAC;YACzC,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,CAAC;YACP,aAAa;QACf,CAAC,CAAC,CAAC;QAEL,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,KAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAEpC,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;AAvDD,kCAuDC"}
|
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,9 +14,12 @@ function toolDbSignIn(user, password) {
|
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
try {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
_this.userAccount
|
|
18
|
+
.decryptAccount(_user, (0, sha256_1.default)(password))
|
|
19
|
+
.then(function (newAccount) {
|
|
20
|
+
_this.userAccount.setUser(newAccount, user || "Anonymous " + (0, randomAnimal_1.default)());
|
|
21
|
+
resolve(_user);
|
|
22
|
+
});
|
|
20
23
|
}
|
|
21
24
|
catch (e) {
|
|
22
25
|
reject(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,KAAI,CAAC,WAAW;qBACb,cAAc,CAAC,KAAK,EAAE,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC;qBACvC,IAAI,CAAC,UAAC,UAAU;oBACf,KAAI,CAAC,WAAW,CAAC,OAAO,CACtB,UAAU,EACV,IAAI,IAAI,eAAa,IAAA,sBAAY,GAAI,CACtC,CAAC;oBAEF,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;aACN;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,40 +47,44 @@ 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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
50
|
+
var account_1 = new _this.options.userAdapter(_this);
|
|
51
|
+
account_1.encryptAccount((0, _1.sha256)(password)).then(function (userData) {
|
|
52
|
+
var timestamp = new Date().getTime();
|
|
53
|
+
var userDataString = "" + JSON.stringify(userData) + account_1.getAddress() + timestamp;
|
|
54
|
+
(0, _1.proofOfWork)(userDataString, 0)
|
|
55
|
+
.then(function (_a) {
|
|
56
|
+
var hash = _a.hash, nonce = _a.nonce;
|
|
57
|
+
account_1.signData(hash).then(function (signature) {
|
|
58
|
+
var signupMessage = {
|
|
59
|
+
k: userRoot,
|
|
60
|
+
a: account_1.getAddress() || "",
|
|
61
|
+
n: nonce,
|
|
62
|
+
t: timestamp,
|
|
63
|
+
h: hash,
|
|
64
|
+
s: signature,
|
|
65
|
+
v: userData,
|
|
66
|
+
c: null,
|
|
67
|
+
};
|
|
68
|
+
_this.logger("SIGNUP PUT", userRoot, signupMessage);
|
|
69
|
+
var finalMsg = {
|
|
70
|
+
type: "put",
|
|
71
|
+
id: (0, _1.textRandom)(10),
|
|
72
|
+
to: [],
|
|
73
|
+
data: signupMessage,
|
|
74
|
+
};
|
|
75
|
+
_this.network.sendToAll(finalMsg);
|
|
76
|
+
_this.store
|
|
77
|
+
.put(userRoot, JSON.stringify(signupMessage))
|
|
78
|
+
.catch(function (e) {
|
|
79
|
+
// do nothing
|
|
80
|
+
})
|
|
81
|
+
.finally(function () {
|
|
82
|
+
resolve(finalMsg);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
})
|
|
86
|
+
.catch(reject);
|
|
87
|
+
});
|
|
84
88
|
}
|
|
85
89
|
else {
|
|
86
90
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"toolDbSignUp.js","sourceRoot":"","sources":["../src/toolDbSignUp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,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,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;yBAChC,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,SAAO,CAAC,cAAc,CAAC,IAAA,SAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;gCACrD,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gCACvC,IAAM,cAAc,GAAG,KAAG,IAAI,CAAC,SAAS,CACtC,QAAQ,CACT,GAAG,SAAO,CAAC,UAAU,EAAE,GAAG,SAAW,CAAC;gCAEvC,IAAA,cAAW,EAAC,cAAc,EAAE,CAAC,CAAC;qCAC3B,IAAI,CAAC,UAAC,EAAe;wCAAb,IAAI,UAAA,EAAE,KAAK,WAAA;oCAClB,SAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;wCACpC,IAAM,aAAa,GAAqB;4CACtC,CAAC,EAAE,QAAQ;4CACX,CAAC,EAAE,SAAO,CAAC,UAAU,EAAE,IAAI,EAAE;4CAC7B,CAAC,EAAE,KAAK;4CACR,CAAC,EAAE,SAAS;4CACZ,CAAC,EAAE,IAAI;4CACP,CAAC,EAAE,SAAS;4CACZ,CAAC,EAAE,QAAQ;4CACX,CAAC,EAAE,IAAI;yCACR,CAAC;wCAEF,KAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;wCAEnD,IAAM,QAAQ,GAAG;4CACf,IAAI,EAAE,KAAK;4CACX,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC;4CAClB,EAAE,EAAE,EAAE;4CACN,IAAI,EAAE,aAAa;yCACN,CAAC;wCAEhB,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wCACjC,KAAI,CAAC,KAAK;6CACP,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;6CAC5C,KAAK,CAAC,UAAC,CAAC;4CACP,aAAa;wCACf,CAAC,CAAC;6CACD,OAAO,CAAC;4CACP,OAAO,CAAC,QAAQ,CAAC,CAAC;wCACpB,CAAC,CAAC,CAAC;oCACP,CAAC,CAAC,CAAC;gCACL,CAAC,CAAC;qCACD,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnB,CAAC,CAAC,CAAC;yBACJ;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;AA7DD,+BA6DC"}
|
|
@@ -2,7 +2,8 @@ import ToolDb from "./tooldb";
|
|
|
2
2
|
/**
|
|
3
3
|
* Subscribe to all PUT updates for this key.
|
|
4
4
|
* @param key key of the data
|
|
5
|
-
* @param userNamespaced If this key bolongs to a user or its public. Making it
|
|
5
|
+
* @param userNamespaced If this key bolongs to a user or its public. Making it
|
|
6
|
+
* private will enforce validation for our address and signatures.
|
|
6
7
|
* @returns Promise<Data>
|
|
7
8
|
*/
|
|
8
9
|
export default function toolDbSubscribe(this: ToolDb, key: string, userNamespaced?: boolean): Promise<void>;
|
package/dist/toolDbSubscribe.js
CHANGED
|
@@ -4,40 +4,46 @@ var _1 = require(".");
|
|
|
4
4
|
/**
|
|
5
5
|
* Subscribe to all PUT updates for this key.
|
|
6
6
|
* @param key key of the data
|
|
7
|
-
* @param userNamespaced If this key bolongs to a user or its public. Making it
|
|
7
|
+
* @param userNamespaced If this key bolongs to a user or its public. Making it
|
|
8
|
+
* private will enforce validation for our address and signatures.
|
|
8
9
|
* @returns Promise<Data>
|
|
9
10
|
*/
|
|
10
11
|
function toolDbSubscribe(key, userNamespaced) {
|
|
11
12
|
var _this = this;
|
|
12
13
|
if (userNamespaced === void 0) { userNamespaced = false; }
|
|
13
14
|
return new Promise(function (resolve, reject) {
|
|
14
|
-
if (userNamespaced && _this.getAddress() === undefined) {
|
|
15
|
+
if (userNamespaced && _this.userAccount.getAddress() === undefined) {
|
|
15
16
|
reject(new Error("You are not authorized yet!"));
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
|
-
var finalKey = userNamespaced
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
var finalKey = userNamespaced
|
|
20
|
+
? ":" + _this.userAccount.getAddress() + "." + key
|
|
21
|
+
: key;
|
|
22
|
+
_this.logger("SUBSCRIBE", finalKey);
|
|
22
23
|
var msgId = (0, _1.textRandom)(10);
|
|
23
|
-
_this.store.get(finalKey, function (err, data) {
|
|
24
|
-
if (data) {
|
|
25
|
-
try {
|
|
26
|
-
var message = JSON.parse(data);
|
|
27
|
-
_this.triggerKeyListener(finalKey, message);
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
// do nothing
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
24
|
_this.network.sendToAll({
|
|
35
25
|
type: "subscribe",
|
|
36
26
|
key: finalKey,
|
|
37
27
|
to: [],
|
|
38
28
|
id: msgId,
|
|
39
29
|
});
|
|
40
|
-
|
|
30
|
+
_this.store
|
|
31
|
+
.get(finalKey)
|
|
32
|
+
.then(function (data) {
|
|
33
|
+
try {
|
|
34
|
+
var message = JSON.parse(data);
|
|
35
|
+
_this.triggerKeyListener(finalKey, message);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
// do nothing
|
|
39
|
+
}
|
|
40
|
+
})
|
|
41
|
+
.catch(function (e) {
|
|
42
|
+
// do nothing
|
|
43
|
+
})
|
|
44
|
+
.finally(function () {
|
|
45
|
+
resolve();
|
|
46
|
+
});
|
|
41
47
|
});
|
|
42
48
|
}
|
|
43
49
|
exports.default = toolDbSubscribe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbSubscribe.js","sourceRoot":"","sources":["../src/toolDbSubscribe.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAG/B
|
|
1
|
+
{"version":3,"file":"toolDbSubscribe.js","sourceRoot":"","sources":["../src/toolDbSubscribe.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAG/B;;;;;;GAMG;AACH,SAAwB,eAAe,CAErC,GAAW,EACX,cAAsB;IAHxB,iBA2CC;IAxCC,+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;QAED,IAAM,QAAQ,GAAG,cAAc;YAC7B,CAAC,CAAC,MAAI,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAI,GAAK;YAC5C,CAAC,CAAC,GAAG,CAAC;QAER,KAAI,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEnC,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,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,KAAI,CAAC,KAAK;aACP,GAAG,CAAC,QAAQ,CAAC;aACb,IAAI,CAAC,UAAC,IAAI;YACT,IAAI;gBACF,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,KAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC5C;YAAC,OAAO,CAAC,EAAE;gBACV,aAAa;aACd;QACH,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,CAAC;YACP,aAAa;QACf,CAAC,CAAC;aACD,OAAO,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC;AA3CD,kCA2CC"}
|
|
@@ -50,19 +50,24 @@ function toolDbVerificationWrapper(data) {
|
|
|
50
50
|
this._customVerificator.forEach(function (listener) {
|
|
51
51
|
if (listener && data.k && data.k.startsWith(listener.key)) {
|
|
52
52
|
skipCustom_1 = false;
|
|
53
|
+
var previousData_1 = undefined;
|
|
53
54
|
// Get the previously stored value of this key
|
|
54
|
-
_this.store
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
55
|
+
_this.store
|
|
56
|
+
.get(data.k)
|
|
57
|
+
.then(function (prev) {
|
|
58
|
+
try {
|
|
59
|
+
previousData_1 = JSON.parse(prev);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
// do nothing
|
|
63
63
|
}
|
|
64
|
+
})
|
|
65
|
+
.catch(function (e) {
|
|
66
|
+
// do nothing
|
|
67
|
+
})
|
|
68
|
+
.finally(function () {
|
|
64
69
|
listener
|
|
65
|
-
.fn(data,
|
|
70
|
+
.fn(data, previousData_1)
|
|
66
71
|
.then(function (verified) {
|
|
67
72
|
if (verified) {
|
|
68
73
|
resolve(_1.VerifyResult.Verified);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbVerificationWrapper.js","sourceRoot":"","sources":["../src/toolDbVerificationWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAA2D;AAE3D,SAAwB,yBAAyB,CAE/C,IAA2B;IAF7B,
|
|
1
|
+
{"version":3,"file":"toolDbVerificationWrapper.js","sourceRoot":"","sources":["../src/toolDbVerificationWrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAA2D;AAE3D,SAAwB,yBAAyB,CAE/C,IAA2B;IAF7B,iBAoDC;IAhDC,gFAAgF;IAChF,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACzB,KAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAO,QAAQ;;;;gBAC7D,IAAI,QAAQ,EAAE;oBACR,eAAa,IAAI,CAAC;oBACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,QAAQ;wBACvC,IAAI,QAAQ,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACzD,YAAU,GAAG,KAAK,CAAC;4BAEnB,IAAI,cAAY,GAAQ,SAAS,CAAC;4BAClC,8CAA8C;4BAC9C,KAAI,CAAC,KAAK;iCACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;iCACX,IAAI,CAAC,UAAC,IAAI;gCACT,IAAI;oCACF,cAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iCACjC;gCAAC,OAAO,CAAC,EAAE;oCACV,aAAa;iCACd;4BACH,CAAC,CAAC;iCACD,KAAK,CAAC,UAAC,CAAC;gCACP,aAAa;4BACf,CAAC,CAAC;iCACD,OAAO,CAAC;gCACP,QAAQ;qCACL,EAAE,CAAC,IAAI,EAAE,cAAY,CAAC;qCACtB,IAAI,CAAC,UAAC,QAAiB;oCACtB,IAAI,QAAQ,EAAE;wCACZ,OAAO,CAAC,eAAY,CAAC,QAAQ,CAAC,CAAC;qCAChC;yCAAM;wCACL,OAAO,CAAC,eAAY,CAAC,wBAAwB,CAAC,CAAC;qCAChD;gCACH,CAAC,CAAC;qCACD,KAAK,CAAC,UAAC,CAAC;oCACP,OAAO,CAAC,eAAY,CAAC,wBAAwB,CAAC,CAAC;gCACjD,CAAC,CAAC,CAAC;4BACP,CAAC,CAAC,CAAC;yBACN;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,YAAU,EAAE;wBACd,OAAO,CAAC,QAAQ,CAAC,CAAC;qBACnB;iBACF;qBAAM;oBACL,OAAO,CAAC,eAAY,CAAC,mBAAmB,CAAC,CAAC;iBAC3C;;;aACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AApDD,4CAoDC"}
|
|
@@ -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,6 @@
|
|
|
1
|
-
import { ToolDbMessage } from ".";
|
|
2
|
-
import { ToolDbNetworkAdapter, ToolDbOptions } from "./types/tooldb";
|
|
3
1
|
import ToolDb from "./tooldb";
|
|
4
|
-
import
|
|
5
|
-
export declare type ToolDbWebSocket = WebSocket & {
|
|
6
|
-
toolDbId?: string;
|
|
7
|
-
isServer: boolean;
|
|
8
|
-
origUrl: string;
|
|
9
|
-
};
|
|
10
|
-
interface WebrtcAdapterOptions {
|
|
11
|
-
wrtc?: any;
|
|
12
|
-
}
|
|
2
|
+
import ToolDbNetworkAdapter from "./toolDbNetworkAdapter";
|
|
13
3
|
export default class toolDbWebrtc extends ToolDbNetworkAdapter {
|
|
14
|
-
private _tooldb;
|
|
15
4
|
private wnd;
|
|
16
5
|
private wss;
|
|
17
6
|
private sockets;
|
|
@@ -19,6 +8,7 @@ export default class toolDbWebrtc extends ToolDbNetworkAdapter {
|
|
|
19
8
|
private peerMap;
|
|
20
9
|
private connectedPeers;
|
|
21
10
|
private onDisconnect;
|
|
11
|
+
private peersCheck;
|
|
22
12
|
private announceInterval;
|
|
23
13
|
/**
|
|
24
14
|
* Initialize webrtc peer
|
|
@@ -66,10 +56,4 @@ export default class toolDbWebrtc extends ToolDbNetworkAdapter {
|
|
|
66
56
|
onLeave: () => Promise<void>;
|
|
67
57
|
constructor(db: ToolDb);
|
|
68
58
|
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
59
|
}
|
|
75
|
-
export {};
|