tool-db 1.4.2 → 1.4.3
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 +69244 -0
- package/dist/__tests__ copy/base64.d.ts +1 -0
- package/dist/__tests__ copy/base64.js +61 -0
- package/dist/__tests__ copy/base64.js.map +1 -0
- package/dist/__tests__ copy/encryption.d.ts +1 -0
- package/dist/__tests__ copy/encryption.js +68 -0
- package/dist/__tests__ copy/encryption.js.map +1 -0
- package/dist/__tests__ copy/keys.d.ts +1 -0
- package/dist/__tests__ copy/keys.js +238 -0
- package/dist/__tests__ copy/keys.js.map +1 -0
- package/dist/__tests__ copy/network.d.ts +1 -0
- package/dist/__tests__ copy/network.js +206 -0
- package/dist/__tests__ copy/network.js.map +1 -0
- package/dist/__tests__ copy/pow.d.ts +1 -0
- package/dist/__tests__ copy/pow.js +25 -0
- package/dist/__tests__ copy/pow.js.map +1 -0
- package/dist/__tests__ copy/sha1.d.ts +1 -0
- package/dist/__tests__ copy/sha1.js +16 -0
- package/dist/__tests__ copy/sha1.js.map +1 -0
- package/dist/__tests__ copy/sha256.d.ts +1 -0
- package/dist/__tests__ copy/sha256.js +16 -0
- package/dist/__tests__ copy/sha256.js.map +1 -0
- package/dist/__tests__ copy/textRandom.d.ts +1 -0
- package/dist/__tests__ copy/textRandom.js +17 -0
- package/dist/__tests__ copy/textRandom.js.map +1 -0
- package/dist/bundle.js +69086 -0
- package/dist/chain/Block.d.ts +20 -0
- package/dist/chain/Block.js +70 -0
- package/dist/chain/Block.js.map +1 -0
- package/dist/chain/ToolChain.d.ts +10 -0
- package/dist/chain/ToolChain.js +64 -0
- package/dist/chain/ToolChain.js.map +1 -0
- package/dist/chain/Wallet.d.ts +9 -0
- package/dist/chain/Wallet.js +37 -0
- package/dist/chain/Wallet.js.map +1 -0
- package/dist/chain/isValidChain.d.ts +2 -0
- package/dist/chain/isValidChain.js +20 -0
- package/dist/chain/isValidChain.js.map +1 -0
- package/{test-keys-a/000039.log → dist/chain/mempool.d.ts} +0 -0
- package/dist/chain/mempool.js +2 -0
- package/dist/chain/mempool.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/messageHandlers/handlePong.js.map +1 -1
- package/dist/toolDbCrdtPut.js +1 -2
- package/dist/toolDbCrdtPut.js.map +1 -1
- package/dist/toolDbNetwork.js +24 -2
- package/dist/toolDbNetwork.js.map +1 -1
- package/dist/toolDbPut.js +1 -2
- package/dist/toolDbPut.js.map +1 -1
- package/dist/toolDbSignUp.d.ts +2 -1
- package/dist/toolDbSignUp.js +1 -1
- package/dist/toolDbSignUp.js.map +1 -1
- package/dist/toolDbVerificationWrapper.d.ts +2 -2
- package/dist/toolDbVerificationWrapper.js.map +1 -1
- package/dist/toolDbWebrtc.d.ts +11 -2
- package/dist/toolDbWebrtc.js +35 -23
- package/dist/toolDbWebrtc.js.map +1 -1
- package/dist/tooldb.d.ts +7 -5
- package/dist/tooldb.js +13 -6
- package/dist/tooldb.js.map +1 -1
- package/dist/types/graph.d.ts +0 -23
- package/dist/types/graph.js +0 -1
- package/dist/types/tooldb.d.ts +24 -0
- package/dist/utils/arrayBufferToHex.d.ts +1 -0
- package/dist/utils/arrayBufferToHex.js +19 -0
- package/dist/utils/arrayBufferToHex.js.map +1 -0
- package/dist/utils/base64ToHex.d.ts +1 -0
- package/dist/utils/base64ToHex.js +13 -0
- package/dist/utils/base64ToHex.js.map +1 -0
- package/dist/utils/crypto/base64KeyToHex.d.ts +1 -0
- package/dist/utils/crypto/base64KeyToHex.js +24 -0
- package/dist/utils/crypto/base64KeyToHex.js.map +1 -0
- package/dist/utils/crypto/base64PublicKeyToHex.d.ts +1 -0
- package/dist/utils/crypto/base64PublicKeyToHex.js +22 -0
- package/dist/utils/crypto/base64PublicKeyToHex.js.map +1 -0
- package/dist/utils/crypto/exportKeyAsHex.d.ts +1 -0
- package/dist/utils/crypto/exportKeyAsHex.js +18 -0
- package/dist/utils/crypto/exportKeyAsHex.js.map +1 -0
- package/dist/utils/crypto/loadKeysComb.d.ts +1 -1
- package/dist/utils/crypto/loadSignKeys.d.ts +1 -1
- package/dist/utils/crypto/recoverPubKey.d.ts +1 -0
- package/dist/utils/crypto/recoverPubKey.js +27 -0
- package/dist/utils/crypto/recoverPubKey.js.map +1 -0
- package/dist/utils/crypto/recoverPubKeyFromPrivate.d.ts +1 -0
- package/dist/utils/crypto/recoverPubKeyFromPrivate.js +16 -0
- package/dist/utils/crypto/recoverPubKeyFromPrivate.js.map +1 -0
- package/dist/utils/crypto/saveKeysComb.d.ts +1 -1
- package/dist/utils/crypto/saveSignKeys.d.ts +1 -1
- package/dist/utils/crypto/verifyData.d.ts +1 -1
- package/dist/utils/crypto/verifyData.js +1 -1
- package/dist/utils/crypto/verifyData.js.map +1 -1
- package/dist/utils/encoding/arrayBufferToBase64.d.ts +1 -0
- package/dist/utils/encoding/arrayBufferToBase64.js +12 -0
- package/dist/utils/encoding/arrayBufferToBase64.js.map +1 -0
- package/dist/utils/encoding/arrayBufferToHex.d.ts +1 -0
- package/dist/utils/encoding/arrayBufferToHex.js +19 -0
- package/dist/utils/encoding/arrayBufferToHex.js.map +1 -0
- package/dist/utils/encoding/arrayBufferToString.d.ts +1 -0
- package/dist/utils/encoding/arrayBufferToString.js +12 -0
- package/dist/utils/encoding/arrayBufferToString.js.map +1 -0
- package/dist/utils/encoding/base64ToArrayBuffer.d.ts +1 -0
- package/dist/utils/encoding/base64ToArrayBuffer.js +12 -0
- package/dist/utils/encoding/base64ToArrayBuffer.js.map +1 -0
- package/dist/utils/encoding/base64ToBinaryChange.d.ts +2 -0
- package/dist/utils/encoding/base64ToBinaryChange.js +18 -0
- package/dist/utils/encoding/base64ToBinaryChange.js.map +1 -0
- package/dist/utils/encoding/base64ToBinaryDocument.d.ts +2 -0
- package/dist/utils/encoding/base64ToBinaryDocument.js +18 -0
- package/dist/utils/encoding/base64ToBinaryDocument.js.map +1 -0
- package/dist/utils/encoding/base64ToHex.d.ts +1 -0
- package/dist/utils/encoding/base64ToHex.js +13 -0
- package/dist/utils/encoding/base64ToHex.js.map +1 -0
- package/dist/utils/encoding/base64ToUint8.d.ts +1 -0
- package/dist/utils/encoding/base64ToUint8.js +17 -0
- package/dist/utils/encoding/base64ToUint8.js.map +1 -0
- package/dist/utils/encoding/fromBase64.d.ts +1 -0
- package/dist/utils/encoding/fromBase64.js +7 -0
- package/dist/utils/encoding/fromBase64.js.map +1 -0
- package/dist/utils/encoding/hexToArrayBuffer.d.ts +1 -0
- package/dist/utils/encoding/hexToArrayBuffer.js +15 -0
- package/dist/utils/encoding/hexToArrayBuffer.js.map +1 -0
- package/dist/utils/encoding/hexToBase64.d.ts +1 -0
- package/dist/utils/encoding/hexToBase64.js +12 -0
- package/dist/utils/encoding/hexToBase64.js.map +1 -0
- package/dist/utils/encoding/hexToString.d.ts +1 -0
- package/dist/utils/encoding/hexToString.js +12 -0
- package/dist/utils/encoding/hexToString.js.map +1 -0
- package/dist/utils/encoding/hexToUint8.d.ts +1 -0
- package/dist/utils/encoding/hexToUint8.js +11 -0
- package/dist/utils/encoding/hexToUint8.js.map +1 -0
- package/dist/utils/encoding/stringToArrayBuffer.d.ts +1 -0
- package/dist/utils/encoding/stringToArrayBuffer.js +12 -0
- package/dist/utils/encoding/stringToArrayBuffer.js.map +1 -0
- package/dist/utils/encoding/toBase64.d.ts +1 -0
- package/dist/utils/encoding/toBase64.js +7 -0
- package/dist/utils/encoding/toBase64.js.map +1 -0
- package/dist/utils/encoding/uint8ArrayToHex.d.ts +2 -0
- package/dist/utils/encoding/uint8ArrayToHex.js +7 -0
- package/dist/utils/encoding/uint8ArrayToHex.js.map +1 -0
- package/dist/utils/encoding/uint8ToBase64.d.ts +2 -0
- package/dist/utils/encoding/uint8ToBase64.js +15 -0
- package/dist/utils/encoding/uint8ToBase64.js.map +1 -0
- package/dist/utils/getPeerSignature.js +1 -1
- package/dist/utils/getPeerSignature.js.map +1 -1
- package/dist/utils/getTimestamp.d.ts +1 -0
- package/dist/utils/getTimestamp.js +7 -0
- package/dist/utils/getTimestamp.js.map +1 -0
- package/dist/utils/hexToArrayBuffer.d.ts +1 -0
- package/dist/utils/hexToArrayBuffer.js +15 -0
- package/dist/utils/hexToArrayBuffer.js.map +1 -0
- package/dist/utils/hexToBase64.d.ts +1 -0
- package/dist/utils/hexToBase64.js +12 -0
- package/dist/utils/hexToBase64.js.map +1 -0
- package/dist/utils/hexToString.d.ts +1 -0
- package/dist/utils/hexToString.js +12 -0
- package/dist/utils/hexToString.js.map +1 -0
- package/dist/utils/hexToUint8.d.ts +1 -0
- package/dist/utils/hexToUint8.js +8 -0
- package/dist/utils/hexToUint8.js.map +1 -0
- package/dist/utils/signData.d.ts +1 -1
- package/dist/utils/signData.js +2 -8
- package/dist/utils/signData.js.map +1 -1
- package/dist/utils/uint8ArrayToHex.d.ts +2 -0
- package/dist/utils/uint8ArrayToHex.js +7 -0
- package/dist/utils/uint8ArrayToHex.js.map +1 -0
- package/dist/utils/verifyMessage.js +2 -2
- package/dist/utils/verifyMessage.js.map +1 -1
- package/dist/utils/verifyPeer.js +1 -1
- package/dist/utils/verifyPeer.js.map +1 -1
- package/package.json +9 -2
- package/test-alice/000845.ldb +0 -0
- package/test-alice/000847.ldb +0 -0
- package/test-alice/000850.ldb +0 -0
- package/test-alice/000853.ldb +0 -0
- package/test-alice/000854.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-000852 +0 -0
- package/test-bob/000772.ldb +0 -0
- package/test-bob/000774.ldb +0 -0
- package/test-bob/000777.ldb +0 -0
- package/test-bob/000780.ldb +0 -0
- package/test-bob/000781.log +0 -0
- package/test-bob/CURRENT +1 -1
- package/test-bob/LOG +5 -5
- package/test-bob/LOG.old +5 -5
- package/test-bob/MANIFEST-000779 +0 -0
- package/{test-keys-b/000039.log → test-keys-a/000587.log} +0 -0
- package/test-keys-a/CURRENT +1 -1
- package/test-keys-a/LOG +3 -3
- package/test-keys-a/LOG.old +3 -3
- package/test-keys-a/MANIFEST-000586 +0 -0
- package/{test-verify-a/000017.log → test-keys-b/000587.log} +0 -0
- package/test-keys-b/CURRENT +1 -1
- package/test-keys-b/LOG +3 -3
- package/test-keys-b/LOG.old +3 -3
- package/test-keys-b/MANIFEST-000586 +0 -0
- package/test-node-a/000870.log +0 -0
- package/test-node-a/000871.ldb +0 -0
- package/test-node-a/CURRENT +1 -1
- package/test-node-a/LOG +14 -5
- package/test-node-a/LOG.old +5 -5
- package/test-node-a/MANIFEST-000868 +0 -0
- package/test-node-b/000870.log +0 -0
- package/test-node-b/000871.ldb +0 -0
- package/test-node-b/CURRENT +1 -1
- package/test-node-b/LOG +14 -5
- package/test-node-b/LOG.old +5 -5
- package/test-node-b/MANIFEST-000868 +0 -0
- package/test-verify-a/000719.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-000718 +0 -0
- package/dist/webrtc/joinWebrtcTorrent.d.ts +0 -3
- package/dist/webrtc/joinWebrtcTorrent.js +0 -312
- package/dist/webrtc/joinWebrtcTorrent.js.map +0 -1
- package/test-alice/000236.ldb +0 -0
- package/test-alice/000344.ldb +0 -0
- package/test-alice/000611.ldb +0 -0
- package/test-alice/000613.ldb +0 -0
- package/test-alice/000616.ldb +0 -0
- package/test-alice/000619.ldb +0 -0
- package/test-alice/000620.log +0 -0
- package/test-alice/MANIFEST-000618 +0 -0
- package/test-bob/000611.ldb +0 -0
- package/test-bob/000613.ldb +0 -0
- package/test-bob/000616.ldb +0 -0
- package/test-bob/000617.log +0 -0
- package/test-bob/MANIFEST-000615 +0 -0
- package/test-keys-a/MANIFEST-000038 +0 -0
- package/test-keys-b/MANIFEST-000038 +0 -0
- package/test-node-a/000615.ldb +0 -0
- package/test-node-a/000617.ldb +0 -0
- package/test-node-a/000620.ldb +0 -0
- package/test-node-a/000623.ldb +0 -0
- package/test-node-a/000624.log +0 -0
- package/test-node-a/MANIFEST-000622 +0 -0
- package/test-node-b/000615.ldb +0 -0
- package/test-node-b/000617.ldb +0 -0
- package/test-node-b/000620.ldb +0 -0
- package/test-node-b/000623.ldb +0 -0
- package/test-node-b/000624.log +0 -0
- package/test-node-b/MANIFEST-000622 +0 -0
- package/test-verify-a/MANIFEST-000016 +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var base64ToArrayBuffer_1 = __importDefault(require("../utils/encoding/base64ToArrayBuffer"));
|
|
7
|
+
var arrayBufferToString_1 = __importDefault(require("../utils/encoding/arrayBufferToString"));
|
|
8
|
+
var base64ToUint8_1 = __importDefault(require("../utils/encoding/base64ToUint8"));
|
|
9
|
+
var fromBase64_1 = __importDefault(require("../utils/encoding/fromBase64"));
|
|
10
|
+
var stringToArrayBuffer_1 = __importDefault(require("../utils/encoding/stringToArrayBuffer"));
|
|
11
|
+
var toBase64_1 = __importDefault(require("../utils/encoding/toBase64"));
|
|
12
|
+
var uint8ToBase64_1 = __importDefault(require("../utils/encoding/uint8ToBase64"));
|
|
13
|
+
var arrayBufferToBase64_1 = __importDefault(require("../utils/encoding/arrayBufferToBase64"));
|
|
14
|
+
var TestValue = "SomeVeryTest-yValue2";
|
|
15
|
+
function compare(a, b) {
|
|
16
|
+
for (var i = a.length; -1 < i; i -= 1) {
|
|
17
|
+
if (a[i] !== b[i])
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
var testUint8 = new Uint8Array([1, 2, 3, 4, 5, 6]);
|
|
23
|
+
var testArayBuffer = new ArrayBuffer(8);
|
|
24
|
+
var bufView = new Uint8Array(testArayBuffer);
|
|
25
|
+
bufView[0] = 71;
|
|
26
|
+
bufView[1] = 35;
|
|
27
|
+
bufView[2] = 52;
|
|
28
|
+
bufView[3] = 58;
|
|
29
|
+
bufView[4] = 62;
|
|
30
|
+
bufView[5] = 44;
|
|
31
|
+
bufView[6] = 38;
|
|
32
|
+
bufView[7] = 47;
|
|
33
|
+
it("Converts a string to base64", function () {
|
|
34
|
+
expect((0, toBase64_1.default)(TestValue)).toEqual("U29tZVZlcnlUZXN0LXlWYWx1ZTI=");
|
|
35
|
+
expect((0, toBase64_1.default)("Note, that is an important requirement which did not appear to be included at original Question?")).toEqual("Tm90ZSwgdGhhdCBpcyBhbiBpbXBvcnRhbnQgcmVxdWlyZW1lbnQgd2hpY2ggZGlkIG5vdCBhcHBlYXIgdG8gYmUgaW5jbHVkZWQgYXQgb3JpZ2luYWwgUXVlc3Rpb24/");
|
|
36
|
+
});
|
|
37
|
+
it("Converts base64 to string", function () {
|
|
38
|
+
expect((0, fromBase64_1.default)("SGVsbG8gV29ybGQh")).toEqual("Hello World!");
|
|
39
|
+
expect((0, fromBase64_1.default)("Tm90ZSwgdGhhdCBpcyBhbiBpbXBvcnRhbnQgcmVxdWlyZW1lbnQgd2hpY2ggZGlkIG5vdCBhcHBlYXIgdG8gYmUgaW5jbHVkZWQgYXQgb3JpZ2luYWwgUXVlc3Rpb24/")).toEqual("Note, that is an important requirement which did not appear to be included at original Question?");
|
|
40
|
+
});
|
|
41
|
+
it("Converts base64 to uint8", function () {
|
|
42
|
+
var testVal = (0, base64ToUint8_1.default)("AQIDBAUG");
|
|
43
|
+
expect(compare(testVal, testUint8)).toBeTruthy();
|
|
44
|
+
});
|
|
45
|
+
it("Converts uint8 to base64", function () {
|
|
46
|
+
expect((0, uint8ToBase64_1.default)(new Uint8Array(20))).toEqual("AAAAAAAAAAAAAAAAAAAAAAAAAAA=");
|
|
47
|
+
expect((0, uint8ToBase64_1.default)(testUint8)).toEqual("AQIDBAUG");
|
|
48
|
+
});
|
|
49
|
+
it("Converts string to arraybuffer", function () {
|
|
50
|
+
expect(compare((0, stringToArrayBuffer_1.default)("G#4:>,&/"), testArayBuffer)).toBeTruthy();
|
|
51
|
+
});
|
|
52
|
+
it("Converts string to arraybuffer", function () {
|
|
53
|
+
expect(compare((0, base64ToArrayBuffer_1.default)("RyM0Oj4sJi8="), testArayBuffer)).toBeTruthy();
|
|
54
|
+
});
|
|
55
|
+
it("Converts arraybuffer to string", function () {
|
|
56
|
+
expect((0, arrayBufferToString_1.default)(testArayBuffer)).toStrictEqual("G#4:>,&/");
|
|
57
|
+
});
|
|
58
|
+
it("Converts arraybuffer to base64", function () {
|
|
59
|
+
expect((0, arrayBufferToBase64_1.default)(testArayBuffer)).toEqual("RyM0Oj4sJi8=");
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=base64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/__tests__ copy/base64.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var decryptWithPass_1 = __importDefault(require("../utils/crypto/decryptWithPass"));
|
|
43
|
+
var encryptWithPass_1 = __importDefault(require("../utils/crypto/encryptWithPass"));
|
|
44
|
+
var generateIv_1 = __importDefault(require("../utils/generateIv"));
|
|
45
|
+
jest.mock("../getCrypto.ts");
|
|
46
|
+
var message = "A super secret encoded message";
|
|
47
|
+
it("can encrypt with password", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
+
var testDec, iv, testEnc;
|
|
49
|
+
return __generator(this, function (_a) {
|
|
50
|
+
switch (_a.label) {
|
|
51
|
+
case 0:
|
|
52
|
+
iv = (0, generateIv_1.default)();
|
|
53
|
+
return [4 /*yield*/, (0, encryptWithPass_1.default)(message, "password", iv)];
|
|
54
|
+
case 1:
|
|
55
|
+
testEnc = _a.sent();
|
|
56
|
+
expect(testEnc).toBeDefined();
|
|
57
|
+
if (!testEnc) return [3 /*break*/, 3];
|
|
58
|
+
return [4 /*yield*/, (0, decryptWithPass_1.default)(testEnc, "password", iv)];
|
|
59
|
+
case 2:
|
|
60
|
+
testDec = _a.sent();
|
|
61
|
+
_a.label = 3;
|
|
62
|
+
case 3:
|
|
63
|
+
expect(testDec).toBe(message);
|
|
64
|
+
return [2 /*return*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}); });
|
|
68
|
+
//# sourceMappingURL=encryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/__tests__ copy/encryption.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oFAA8D;AAE9D,oFAA8D;AAC9D,mEAA6C;AAE7C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,IAAM,OAAO,GAAG,gCAAgC,CAAC;AAEjD,EAAE,CAAC,2BAA2B,EAAE;;;;;gBAExB,EAAE,GAAG,IAAA,oBAAU,GAAE,CAAC;gBAER,qBAAM,IAAA,yBAAe,EAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAA;;gBAAxD,OAAO,GAAG,SAA8C;gBAE9D,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;qBAE1B,OAAO,EAAP,wBAAO;gBACC,qBAAM,IAAA,yBAAe,EAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAA;;gBAAxD,OAAO,GAAG,SAA8C,CAAC;;;gBAG3D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;;;KAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var __1 = require("..");
|
|
43
|
+
var toolDbGetPubKey_1 = __importDefault(require("../toolDbGetPubKey"));
|
|
44
|
+
var exportKey_1 = __importDefault(require("../utils/crypto/exportKey"));
|
|
45
|
+
var generateKeyPair_1 = __importDefault(require("../utils/crypto/generateKeyPair"));
|
|
46
|
+
var generateKeysComb_1 = __importDefault(require("../utils/crypto/generateKeysComb"));
|
|
47
|
+
var arrayBufferToHex_1 = __importDefault(require("../utils/encoding/arrayBufferToHex"));
|
|
48
|
+
var hexToArrayBuffer_1 = __importDefault(require("../utils/encoding/hexToArrayBuffer"));
|
|
49
|
+
var leveldb_1 = __importDefault(require("../utils/leveldb"));
|
|
50
|
+
jest.setTimeout(10000);
|
|
51
|
+
jest.mock("../getCrypto.ts");
|
|
52
|
+
var ClientA;
|
|
53
|
+
var ClientB;
|
|
54
|
+
beforeAll(function (done) {
|
|
55
|
+
ClientA = new __1.ToolDb({
|
|
56
|
+
server: true,
|
|
57
|
+
host: "127.0.0.1",
|
|
58
|
+
port: 9999,
|
|
59
|
+
storageAdapter: leveldb_1.default,
|
|
60
|
+
storageName: "test-keys-a",
|
|
61
|
+
});
|
|
62
|
+
ClientB = new __1.ToolDb({
|
|
63
|
+
server: true,
|
|
64
|
+
host: "127.0.0.1",
|
|
65
|
+
port: 9998,
|
|
66
|
+
storageAdapter: leveldb_1.default,
|
|
67
|
+
storageName: "test-keys-b",
|
|
68
|
+
});
|
|
69
|
+
ClientB.anonSignIn();
|
|
70
|
+
done();
|
|
71
|
+
});
|
|
72
|
+
afterAll(function (done) {
|
|
73
|
+
ClientA.network.server.close();
|
|
74
|
+
ClientB.network.server.close();
|
|
75
|
+
setTimeout(done, 1000);
|
|
76
|
+
});
|
|
77
|
+
function equal(buf1, buf2) {
|
|
78
|
+
if (buf1.byteLength != buf2.byteLength)
|
|
79
|
+
return false;
|
|
80
|
+
var dv1 = new Int8Array(buf1);
|
|
81
|
+
var dv2 = new Int8Array(buf2);
|
|
82
|
+
for (var i = 0; i != buf1.byteLength; i++) {
|
|
83
|
+
if (dv1[i] != dv2[i])
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
it("Can generate key pair combination", function () {
|
|
89
|
+
return expect((0, generateKeysComb_1.default)()).resolves.toBeDefined();
|
|
90
|
+
});
|
|
91
|
+
it("Can generate Signing/secure keys", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
92
|
+
var keyPair, privKey, pubKey, e_1;
|
|
93
|
+
return __generator(this, function (_a) {
|
|
94
|
+
switch (_a.label) {
|
|
95
|
+
case 0: return [4 /*yield*/, (0, generateKeyPair_1.default)("ECDSA", false)];
|
|
96
|
+
case 1:
|
|
97
|
+
keyPair = _a.sent();
|
|
98
|
+
_a.label = 2;
|
|
99
|
+
case 2:
|
|
100
|
+
_a.trys.push([2, 5, , 6]);
|
|
101
|
+
return [4 /*yield*/, (0, exportKey_1.default)("pkcs8", keyPair.privateKey)];
|
|
102
|
+
case 3:
|
|
103
|
+
privKey = _a.sent();
|
|
104
|
+
return [4 /*yield*/, (0, exportKey_1.default)("spki", keyPair.publicKey)];
|
|
105
|
+
case 4:
|
|
106
|
+
pubKey = _a.sent();
|
|
107
|
+
return [3 /*break*/, 6];
|
|
108
|
+
case 5:
|
|
109
|
+
e_1 = _a.sent();
|
|
110
|
+
return [3 /*break*/, 6];
|
|
111
|
+
case 6:
|
|
112
|
+
expect(pubKey).toBeUndefined();
|
|
113
|
+
expect(privKey).toBeUndefined();
|
|
114
|
+
return [2 /*return*/];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}); });
|
|
118
|
+
it("Can generate Encryption/secure keys", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
119
|
+
var keyPair, privKey, pubKey, e_2;
|
|
120
|
+
return __generator(this, function (_a) {
|
|
121
|
+
switch (_a.label) {
|
|
122
|
+
case 0: return [4 /*yield*/, (0, generateKeyPair_1.default)("ECDH", false)];
|
|
123
|
+
case 1:
|
|
124
|
+
keyPair = _a.sent();
|
|
125
|
+
_a.label = 2;
|
|
126
|
+
case 2:
|
|
127
|
+
_a.trys.push([2, 5, , 6]);
|
|
128
|
+
return [4 /*yield*/, (0, exportKey_1.default)("pkcs8", keyPair.privateKey)];
|
|
129
|
+
case 3:
|
|
130
|
+
privKey = _a.sent();
|
|
131
|
+
return [4 /*yield*/, (0, exportKey_1.default)("spki", keyPair.publicKey)];
|
|
132
|
+
case 4:
|
|
133
|
+
pubKey = _a.sent();
|
|
134
|
+
return [3 /*break*/, 6];
|
|
135
|
+
case 5:
|
|
136
|
+
e_2 = _a.sent();
|
|
137
|
+
return [3 /*break*/, 6];
|
|
138
|
+
case 6:
|
|
139
|
+
expect(pubKey).toBeUndefined();
|
|
140
|
+
expect(privKey).toBeUndefined();
|
|
141
|
+
return [2 /*return*/];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}); });
|
|
145
|
+
it("Can generate Signing/extractable keys", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
146
|
+
var keyPair, privKey, pubKey, e_3;
|
|
147
|
+
return __generator(this, function (_a) {
|
|
148
|
+
switch (_a.label) {
|
|
149
|
+
case 0: return [4 /*yield*/, (0, generateKeyPair_1.default)("ECDSA", true)];
|
|
150
|
+
case 1:
|
|
151
|
+
keyPair = _a.sent();
|
|
152
|
+
_a.label = 2;
|
|
153
|
+
case 2:
|
|
154
|
+
_a.trys.push([2, 5, , 6]);
|
|
155
|
+
return [4 /*yield*/, (0, exportKey_1.default)("pkcs8", keyPair.privateKey)];
|
|
156
|
+
case 3:
|
|
157
|
+
privKey = _a.sent();
|
|
158
|
+
return [4 /*yield*/, (0, exportKey_1.default)("spki", keyPair.publicKey)];
|
|
159
|
+
case 4:
|
|
160
|
+
pubKey = _a.sent();
|
|
161
|
+
return [3 /*break*/, 6];
|
|
162
|
+
case 5:
|
|
163
|
+
e_3 = _a.sent();
|
|
164
|
+
return [3 /*break*/, 6];
|
|
165
|
+
case 6:
|
|
166
|
+
expect(pubKey).toBeDefined();
|
|
167
|
+
expect(privKey).toBeDefined();
|
|
168
|
+
return [2 /*return*/];
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}); });
|
|
172
|
+
it("Can generate Encryption/extractable keys", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
173
|
+
var keyPair, privKey, pubKey, e_4;
|
|
174
|
+
return __generator(this, function (_a) {
|
|
175
|
+
switch (_a.label) {
|
|
176
|
+
case 0: return [4 /*yield*/, (0, generateKeyPair_1.default)("ECDH", true)];
|
|
177
|
+
case 1:
|
|
178
|
+
keyPair = _a.sent();
|
|
179
|
+
_a.label = 2;
|
|
180
|
+
case 2:
|
|
181
|
+
_a.trys.push([2, 5, , 6]);
|
|
182
|
+
return [4 /*yield*/, (0, exportKey_1.default)("pkcs8", keyPair.privateKey)];
|
|
183
|
+
case 3:
|
|
184
|
+
privKey = _a.sent();
|
|
185
|
+
return [4 /*yield*/, (0, exportKey_1.default)("spki", keyPair.publicKey)];
|
|
186
|
+
case 4:
|
|
187
|
+
pubKey = _a.sent();
|
|
188
|
+
return [3 /*break*/, 6];
|
|
189
|
+
case 5:
|
|
190
|
+
e_4 = _a.sent();
|
|
191
|
+
return [3 /*break*/, 6];
|
|
192
|
+
case 6:
|
|
193
|
+
expect(pubKey).toBeDefined();
|
|
194
|
+
expect(privKey).toBeDefined();
|
|
195
|
+
return [2 /*return*/];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}); });
|
|
199
|
+
it("Cant get the public key keys if its not authorized", function (done) {
|
|
200
|
+
setTimeout(function () {
|
|
201
|
+
toolDbGetPubKey_1.default
|
|
202
|
+
.call(ClientA)
|
|
203
|
+
.then(function (e) {
|
|
204
|
+
expect(e).toBeUndefined();
|
|
205
|
+
})
|
|
206
|
+
.catch(function (e) {
|
|
207
|
+
expect(e.message).toBe("You are not authorized yet.");
|
|
208
|
+
done();
|
|
209
|
+
});
|
|
210
|
+
}, 250);
|
|
211
|
+
});
|
|
212
|
+
it("Cant get the public key keys", function (done) {
|
|
213
|
+
setTimeout(function () {
|
|
214
|
+
toolDbGetPubKey_1.default.call(ClientB).then(function (key) {
|
|
215
|
+
expect(key).toBeDefined();
|
|
216
|
+
done();
|
|
217
|
+
});
|
|
218
|
+
}, 250);
|
|
219
|
+
});
|
|
220
|
+
it("Cant convert keys to hexa and back", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
221
|
+
var keysComb, rawPublicKey, hexed, dehexed, isEqual;
|
|
222
|
+
return __generator(this, function (_a) {
|
|
223
|
+
switch (_a.label) {
|
|
224
|
+
case 0: return [4 /*yield*/, (0, generateKeysComb_1.default)()];
|
|
225
|
+
case 1:
|
|
226
|
+
keysComb = _a.sent();
|
|
227
|
+
return [4 /*yield*/, (0, exportKey_1.default)("raw", keysComb.signKeys.publicKey)];
|
|
228
|
+
case 2:
|
|
229
|
+
rawPublicKey = (_a.sent());
|
|
230
|
+
hexed = (0, arrayBufferToHex_1.default)(rawPublicKey);
|
|
231
|
+
dehexed = (0, hexToArrayBuffer_1.default)(hexed);
|
|
232
|
+
isEqual = equal(rawPublicKey, dehexed);
|
|
233
|
+
expect(isEqual).toBe(true);
|
|
234
|
+
return [2 /*return*/];
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}); });
|
|
238
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/__tests__ copy/keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
jest.mock("../getCrypto.ts");
|
|
43
|
+
var elliptic_1 = __importDefault(require("elliptic"));
|
|
44
|
+
var automerge_1 = __importDefault(require("automerge"));
|
|
45
|
+
var __1 = require("..");
|
|
46
|
+
var leveldb_1 = __importDefault(require("../utils/leveldb"));
|
|
47
|
+
jest.setTimeout(20000);
|
|
48
|
+
var nodeA;
|
|
49
|
+
var nodeB;
|
|
50
|
+
var Alice;
|
|
51
|
+
var Bob;
|
|
52
|
+
beforeAll(function (done) {
|
|
53
|
+
global.ecp256 = new elliptic_1.default.ec("p256");
|
|
54
|
+
nodeA = new __1.ToolDb({
|
|
55
|
+
server: true,
|
|
56
|
+
host: "127.0.0.1",
|
|
57
|
+
port: 9000,
|
|
58
|
+
storageName: "test-node-a",
|
|
59
|
+
storageAdapter: leveldb_1.default,
|
|
60
|
+
});
|
|
61
|
+
nodeA.onConnect = function () { return checkIfOk(nodeA.options.id); };
|
|
62
|
+
nodeB = new __1.ToolDb({
|
|
63
|
+
server: true,
|
|
64
|
+
// Node A is going to be our "bootstrap" node
|
|
65
|
+
peers: [{ host: "localhost", port: 9000 }],
|
|
66
|
+
host: "127.0.0.1",
|
|
67
|
+
port: 8000,
|
|
68
|
+
storageName: "test-node-b",
|
|
69
|
+
storageAdapter: leveldb_1.default,
|
|
70
|
+
});
|
|
71
|
+
nodeB.onConnect = function () { return checkIfOk(nodeB.options.id); };
|
|
72
|
+
Alice = new __1.ToolDb({
|
|
73
|
+
server: false,
|
|
74
|
+
peers: [{ host: "localhost", port: 9000 }],
|
|
75
|
+
storageName: "test-alice",
|
|
76
|
+
storageAdapter: leveldb_1.default,
|
|
77
|
+
});
|
|
78
|
+
Alice.anonSignIn();
|
|
79
|
+
Alice.onConnect = function () { return checkIfOk(Alice.options.id); };
|
|
80
|
+
Bob = new __1.ToolDb({
|
|
81
|
+
server: false,
|
|
82
|
+
peers: [{ host: "localhost", port: 8000 }],
|
|
83
|
+
storageName: "test-bob",
|
|
84
|
+
storageAdapter: leveldb_1.default,
|
|
85
|
+
});
|
|
86
|
+
Bob.anonSignIn();
|
|
87
|
+
Bob.onConnect = function () { return checkIfOk(Bob.options.id); };
|
|
88
|
+
var connected = [];
|
|
89
|
+
var checkIfOk = function (id) {
|
|
90
|
+
if (!connected.includes(id)) {
|
|
91
|
+
connected.push(id);
|
|
92
|
+
if (connected.length === 3) {
|
|
93
|
+
var signedIn = false;
|
|
94
|
+
while (!signedIn) {
|
|
95
|
+
if (Alice.user && Bob.user) {
|
|
96
|
+
signedIn = true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
done();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
afterAll(function (done) {
|
|
105
|
+
nodeA.network.server.close();
|
|
106
|
+
nodeB.network.server.close();
|
|
107
|
+
setTimeout(done, 1000);
|
|
108
|
+
});
|
|
109
|
+
it("A and B are signed in", function () {
|
|
110
|
+
expect(Alice.user).toBeDefined();
|
|
111
|
+
expect(Bob.user).toBeDefined();
|
|
112
|
+
});
|
|
113
|
+
it("A can put and get", function () {
|
|
114
|
+
return new Promise(function (resolve) {
|
|
115
|
+
var testKey = "test-key-" + (0, __1.textRandom)(16);
|
|
116
|
+
var testValue = "Cool value";
|
|
117
|
+
Alice.putData(testKey, testValue).then(function (msg) {
|
|
118
|
+
expect(msg).toBeDefined();
|
|
119
|
+
setTimeout(function () {
|
|
120
|
+
Alice.getData(testKey).then(function (data) {
|
|
121
|
+
expect(data).toBe(testValue);
|
|
122
|
+
resolve();
|
|
123
|
+
});
|
|
124
|
+
}, 1000);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
it("A and B can communicate trough the swarm", function () {
|
|
129
|
+
return new Promise(function (resolve) {
|
|
130
|
+
var testKey = "test-key-" + (0, __1.textRandom)(16);
|
|
131
|
+
var testValue = "Awesome value";
|
|
132
|
+
Alice.putData(testKey, testValue).then(function (msg) {
|
|
133
|
+
expect(msg).toBeDefined();
|
|
134
|
+
setTimeout(function () {
|
|
135
|
+
Bob.getData(testKey).then(function (data) {
|
|
136
|
+
expect(data).toBe(testValue);
|
|
137
|
+
resolve();
|
|
138
|
+
});
|
|
139
|
+
}, 1500);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
it("A can sign up and B can sign in", function () {
|
|
144
|
+
return new Promise(function (resolve) {
|
|
145
|
+
var testUsername = "test-username-" + (0, __1.textRandom)(16);
|
|
146
|
+
var testPassword = "im a password";
|
|
147
|
+
Alice.signUp(testUsername, testPassword).then(function (result) {
|
|
148
|
+
expect(result).toBeDefined();
|
|
149
|
+
setTimeout(function () {
|
|
150
|
+
Bob.signIn(testUsername, testPassword).then(function (res) {
|
|
151
|
+
expect(res).toBeDefined();
|
|
152
|
+
expect(Bob.user).toBeDefined();
|
|
153
|
+
expect(Bob.user.name).toBe(testUsername);
|
|
154
|
+
// test for failed sign in
|
|
155
|
+
setTimeout(function () {
|
|
156
|
+
Bob.signIn(testUsername, testPassword + " ").catch(function (e) {
|
|
157
|
+
expect(e).toBe("Invalid password");
|
|
158
|
+
resolve();
|
|
159
|
+
});
|
|
160
|
+
}, 1000);
|
|
161
|
+
});
|
|
162
|
+
}, 1000);
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
it("Can cancel GET timeout", function () {
|
|
167
|
+
return new Promise(function (resolve) {
|
|
168
|
+
var testKey = "crdt-get-test-" + (0, __1.textRandom)(16);
|
|
169
|
+
var testValue = (0, __1.textRandom)(24);
|
|
170
|
+
Alice.putData(testKey, testValue).then(function () {
|
|
171
|
+
Alice.getData(testKey, false, 1).then(function (res) {
|
|
172
|
+
expect(res).toBe(testValue);
|
|
173
|
+
resolve();
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
it("CRDTs", function () {
|
|
179
|
+
return new Promise(function (resolve) {
|
|
180
|
+
var crdtKey = "crdt-test-" + (0, __1.textRandom)(16);
|
|
181
|
+
var crdtValue = (0, __1.textRandom)(24);
|
|
182
|
+
var origDoc = automerge_1.default.init();
|
|
183
|
+
var oneDoc = automerge_1.default.change(origDoc, function (doc) {
|
|
184
|
+
doc.test = crdtValue;
|
|
185
|
+
doc.arr = ["arr"];
|
|
186
|
+
});
|
|
187
|
+
var newDoc = automerge_1.default.change(oneDoc, function (doc) {
|
|
188
|
+
doc.arr.push("test");
|
|
189
|
+
});
|
|
190
|
+
var changes = automerge_1.default.getChanges(origDoc, newDoc);
|
|
191
|
+
Alice.putCrdt(crdtKey, changes).then(function (put) { return __awaiter(void 0, void 0, void 0, function () {
|
|
192
|
+
return __generator(this, function (_a) {
|
|
193
|
+
setTimeout(function () {
|
|
194
|
+
Bob.getCrdt(crdtKey).then(function (data) {
|
|
195
|
+
var doc = automerge_1.default.load(data);
|
|
196
|
+
expect(doc.test).toBe(crdtValue);
|
|
197
|
+
expect(doc.arr).toStrictEqual(["arr", "test"]);
|
|
198
|
+
resolve();
|
|
199
|
+
});
|
|
200
|
+
}, 1000);
|
|
201
|
+
return [2 /*return*/];
|
|
202
|
+
});
|
|
203
|
+
}); });
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/__tests__ copy/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var proofOfWork_1 = __importDefault(require("../utils/proofOfWork"));
|
|
7
|
+
var sha256_1 = __importDefault(require("../utils/sha256"));
|
|
8
|
+
jest.mock("../getCrypto.ts");
|
|
9
|
+
it("Proof of work values are correct", function () {
|
|
10
|
+
var TestValue = "SomeVeryTest-yValue";
|
|
11
|
+
return (0, proofOfWork_1.default)(TestValue, 3).then(function (hash) {
|
|
12
|
+
expect(hash.hash.slice(0, 3)).toEqual("000");
|
|
13
|
+
expect((0, sha256_1.default)("" + TestValue + hash.nonce)).toBe(hash.hash);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
it("Proof of work is hard", function () {
|
|
17
|
+
var TestValue = "SomeVeryTest-yValue";
|
|
18
|
+
var initTime = new Date().getTime();
|
|
19
|
+
return (0, proofOfWork_1.default)(TestValue, 5).then(function (hash) {
|
|
20
|
+
expect(hash.hash.slice(0, 5)).toEqual("00000");
|
|
21
|
+
var endTime = new Date().getTime();
|
|
22
|
+
expect(endTime - initTime).toBeGreaterThan(1000);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=pow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pow.js","sourceRoot":"","sources":["../../src/__tests__ copy/pow.ts"],"names":[],"mappings":";;;;;AAAA,qEAA+C;AAC/C,2DAAqC;AAErC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAE7B,EAAE,CAAC,kCAAkC,EAAE;IACrC,IAAM,SAAS,GAAG,qBAAqB,CAAC;IAExC,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAA,gBAAM,EAAC,KAAG,SAAS,GAAG,IAAI,CAAC,KAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,uBAAuB,EAAE;IAC1B,IAAM,SAAS,GAAG,qBAAqB,CAAC;IAExC,IAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACtC,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAErC,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|