tool-db 1.3.1 → 1.4.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.
Files changed (152) hide show
  1. package/.github/workflows/main.yml +1 -1
  2. package/README.md +11 -3
  3. package/custom-test-env.js +10 -0
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +3 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/messageHandlers/handleCrdtGet.js +17 -9
  8. package/dist/messageHandlers/handleCrdtGet.js.map +1 -1
  9. package/dist/messageHandlers/handleCrdtPut.js +3 -1
  10. package/dist/messageHandlers/handleCrdtPut.js.map +1 -1
  11. package/dist/messageHandlers/handleJoin.js.map +1 -1
  12. package/dist/messageHandlers/handlePong.js +5 -3
  13. package/dist/messageHandlers/handlePong.js.map +1 -1
  14. package/dist/toolDbClientOnMessage.js +4 -7
  15. package/dist/toolDbClientOnMessage.js.map +1 -1
  16. package/dist/toolDbCrdtGet.d.ts +9 -0
  17. package/dist/toolDbCrdtGet.js +61 -0
  18. package/dist/toolDbCrdtGet.js.map +1 -0
  19. package/dist/toolDbGet.js.map +1 -1
  20. package/dist/toolDbNetwork.d.ts +0 -1
  21. package/dist/toolDbNetwork.js +6 -9
  22. package/dist/toolDbNetwork.js.map +1 -1
  23. package/dist/toolDbPut.js.map +1 -1
  24. package/dist/toolDbQueryKeys.js.map +1 -1
  25. package/dist/toolDbSignIn.js +2 -2
  26. package/dist/toolDbSignIn.js.map +1 -1
  27. package/dist/toolDbWebrtc.d.ts +66 -0
  28. package/dist/toolDbWebrtc.js +453 -0
  29. package/dist/toolDbWebrtc.js.map +1 -0
  30. package/dist/tooldb.d.ts +14 -12
  31. package/dist/tooldb.js +17 -16
  32. package/dist/tooldb.js.map +1 -1
  33. package/dist/types/graph.d.ts +4 -0
  34. package/dist/utils/catchReturn.js +1 -1
  35. package/dist/utils/catchReturn.js.map +1 -1
  36. package/dist/utils/crypto/loadSignKeys.d.ts +2 -0
  37. package/dist/utils/crypto/loadSignKeys.js +78 -0
  38. package/dist/utils/crypto/loadSignKeys.js.map +1 -0
  39. package/dist/utils/crypto/saveSignKeys.d.ts +2 -0
  40. package/dist/utils/crypto/saveSignKeys.js +67 -0
  41. package/dist/utils/crypto/saveSignKeys.js.map +1 -0
  42. package/dist/utils/crypto/verifyData.d.ts +1 -1
  43. package/dist/utils/crypto/verifyData.js +3 -2
  44. package/dist/utils/crypto/verifyData.js.map +1 -1
  45. package/dist/utils/getPeerSignature.d.ts +1 -0
  46. package/dist/utils/getPeerSignature.js +9 -0
  47. package/dist/utils/getPeerSignature.js.map +1 -0
  48. package/dist/utils/randomAnimal.js.map +1 -1
  49. package/dist/utils/signData.d.ts +1 -1
  50. package/dist/utils/signData.js +3 -2
  51. package/dist/utils/signData.js.map +1 -1
  52. package/dist/utils/verifyMessage.js +4 -4
  53. package/dist/utils/verifyMessage.js.map +1 -1
  54. package/dist/utils/verifyPeer.js +1 -1
  55. package/dist/utils/verifyPeer.js.map +1 -1
  56. package/dist/webrtc/joinWebrtcTorrent.d.ts +3 -0
  57. package/dist/webrtc/joinWebrtcTorrent.js +312 -0
  58. package/dist/webrtc/joinWebrtcTorrent.js.map +1 -0
  59. package/package.json +4 -2
  60. package/pvutils-tests-replacement.js +777 -0
  61. package/test-alice/000236.ldb +0 -0
  62. package/test-alice/000344.ldb +0 -0
  63. package/test-alice/000520.ldb +0 -0
  64. package/test-alice/000522.ldb +0 -0
  65. package/test-alice/000525.ldb +0 -0
  66. package/test-alice/000526.log +0 -0
  67. package/test-alice/CURRENT +1 -1
  68. package/test-alice/LOG +5 -1
  69. package/test-alice/LOG.old +5 -0
  70. package/test-alice/MANIFEST-000524 +0 -0
  71. package/test-bob/000520.ldb +0 -0
  72. package/test-bob/000522.ldb +0 -0
  73. package/test-bob/000523.log +0 -0
  74. package/test-bob/CURRENT +1 -1
  75. package/test-bob/LOG +5 -1
  76. package/test-bob/LOG.old +14 -0
  77. package/test-bob/MANIFEST-000521 +0 -0
  78. package/test-node-a/000524.ldb +0 -0
  79. package/test-node-a/000526.ldb +0 -0
  80. package/test-node-a/000529.ldb +0 -0
  81. package/test-node-a/000530.log +0 -0
  82. package/test-node-a/CURRENT +1 -1
  83. package/test-node-a/LOG +5 -1
  84. package/test-node-a/LOG.old +5 -0
  85. package/test-node-a/MANIFEST-000528 +0 -0
  86. package/test-node-b/000524.ldb +0 -0
  87. package/test-node-b/000526.ldb +0 -0
  88. package/test-node-b/000529.ldb +0 -0
  89. package/test-node-b/000530.log +0 -0
  90. package/test-node-b/CURRENT +1 -1
  91. package/test-node-b/LOG +5 -1
  92. package/test-node-b/LOG.old +5 -0
  93. package/test-node-b/MANIFEST-000528 +0 -0
  94. package/dist/deduplicator.d.ts +0 -19
  95. package/dist/deduplicator.js +0 -60
  96. package/dist/deduplicator.js.map +0 -1
  97. package/dist/libp2p/create.d.ts +0 -2
  98. package/dist/libp2p/create.js +0 -131
  99. package/dist/libp2p/create.js.map +0 -1
  100. package/dist/libp2p/createLibP2p.d.ts +0 -3
  101. package/dist/libp2p/createLibP2p.js +0 -130
  102. package/dist/libp2p/createLibP2p.js.map +0 -1
  103. package/dist/libp2p/tooldb-protocol.d.ts +0 -19
  104. package/dist/libp2p/tooldb-protocol.js +0 -156
  105. package/dist/libp2p/tooldb-protocol.js.map +0 -1
  106. package/dist/messageHandlers/handleCrdt copy.d.ts +0 -2
  107. package/dist/messageHandlers/handleCrdt copy.js +0 -15
  108. package/dist/messageHandlers/handleCrdt copy.js.map +0 -1
  109. package/dist/messageHandlers/handleCrdtGet copy.d.ts +0 -2
  110. package/dist/messageHandlers/handleCrdtGet copy.js +0 -22
  111. package/dist/messageHandlers/handleCrdtGet copy.js.map +0 -1
  112. package/dist/messageHandlers/handleCrdtPut copy.d.ts +0 -2
  113. package/dist/messageHandlers/handleCrdtPut copy.js +0 -83
  114. package/dist/messageHandlers/handleCrdtPut copy.js.map +0 -1
  115. package/dist/messageHandlers/handleGet copy.d.ts +0 -2
  116. package/dist/messageHandlers/handleGet copy.js +0 -37
  117. package/dist/messageHandlers/handleGet copy.js.map +0 -1
  118. package/dist/messageHandlers/handleGetServers.d.ts +0 -2
  119. package/dist/messageHandlers/handleGetServers.js +0 -23
  120. package/dist/messageHandlers/handleGetServers.js.map +0 -1
  121. package/dist/messageHandlers/handleJoin copy.d.ts +0 -2
  122. package/dist/messageHandlers/handleJoin copy.js +0 -37
  123. package/dist/messageHandlers/handleJoin copy.js.map +0 -1
  124. package/dist/messageHandlers/handlePing copy.d.ts +0 -2
  125. package/dist/messageHandlers/handlePing copy.js +0 -13
  126. package/dist/messageHandlers/handlePing copy.js.map +0 -1
  127. package/dist/messageHandlers/handleServers copy.d.ts +0 -2
  128. package/dist/messageHandlers/handleServers copy.js +0 -23
  129. package/dist/messageHandlers/handleServers copy.js.map +0 -1
  130. package/dist/metrics/metricsConfig.d.ts +0 -6
  131. package/dist/metrics/metricsConfig.js +0 -35
  132. package/dist/metrics/metricsConfig.js.map +0 -1
  133. package/dist/toolDbLibP2p.d.ts +0 -34
  134. package/dist/toolDbLibP2p.js +0 -375
  135. package/dist/toolDbLibP2p.js.map +0 -1
  136. package/dist/utils/getIpFromUrl.d.ts +0 -1
  137. package/dist/utils/getIpFromUrl.js +0 -7
  138. package/dist/utils/getIpFromUrl.js.map +0 -1
  139. package/dist/wss.d.ts +0 -34
  140. package/dist/wss.js +0 -241
  141. package/dist/wss.js.map +0 -1
  142. package/dist/zkp.d.ts +0 -1
  143. package/dist/zkp.js +0 -29
  144. package/dist/zkp.js.map +0 -1
  145. package/test-alice/000003.log +0 -0
  146. package/test-alice/MANIFEST-000002 +0 -0
  147. package/test-bob/000003.log +0 -0
  148. package/test-bob/MANIFEST-000002 +0 -0
  149. package/test-node-a/000003.log +0 -0
  150. package/test-node-a/MANIFEST-000002 +0 -0
  151. package/test-node-b/000003.log +0 -0
  152. package/test-node-b/MANIFEST-000002 +0 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- MANIFEST-000002
1
+ MANIFEST-000524
package/test-alice/LOG CHANGED
@@ -1 +1,5 @@
1
- 2022/01/08-15:31:16.982 9398 Delete type=3 #1
1
+ 2022/01/19-13:03:19.669 5e4c Recovering log #523
2
+ 2022/01/19-13:03:19.669 5e4c Level-0 table #525: started
3
+ 2022/01/19-13:03:19.682 5e4c Level-0 table #525: 938 bytes OK
4
+ 2022/01/19-13:03:19.705 5e4c Delete type=0 #523
5
+ 2022/01/19-13:03:19.705 5e4c Delete type=3 #521
@@ -0,0 +1,5 @@
1
+ 2022/01/19-12:55:42.737 3030 Recovering log #519
2
+ 2022/01/19-12:55:42.738 3030 Level-0 table #522: started
3
+ 2022/01/19-12:55:42.746 3030 Level-0 table #522: 934 bytes OK
4
+ 2022/01/19-12:55:42.763 3030 Delete type=0 #519
5
+ 2022/01/19-12:55:42.763 3030 Delete type=3 #517
Binary file
Binary file
Binary file
Binary file
package/test-bob/CURRENT CHANGED
@@ -1 +1 @@
1
- MANIFEST-000002
1
+ MANIFEST-000521
package/test-bob/LOG CHANGED
@@ -1 +1,5 @@
1
- 2022/01/08-15:31:16.989 5fac Delete type=3 #1
1
+ 2022/01/19-13:03:19.670 6820 Recovering log #519
2
+ 2022/01/19-13:03:19.670 6820 Level-0 table #522: started
3
+ 2022/01/19-13:03:19.685 6820 Level-0 table #522: 2872 bytes OK
4
+ 2022/01/19-13:03:19.703 6820 Delete type=0 #519
5
+ 2022/01/19-13:03:19.703 6820 Delete type=3 #517
@@ -0,0 +1,14 @@
1
+ 2022/01/19-12:55:42.741 3be0 Recovering log #516
2
+ 2022/01/19-12:55:42.742 3be0 Level-0 table #518: started
3
+ 2022/01/19-12:55:42.755 3be0 Level-0 table #518: 2813 bytes OK
4
+ 2022/01/19-12:55:42.770 3be0 Delete type=0 #516
5
+ 2022/01/19-12:55:42.770 3be0 Delete type=3 #514
6
+ 2022/01/19-12:55:42.770 149c Compacting 4@0 + 1@1 files
7
+ 2022/01/19-12:55:42.793 149c Generated table #520@0: 184 keys, 200435 bytes
8
+ 2022/01/19-12:55:42.793 149c Compacted 4@0 + 1@1 files => 200435 bytes
9
+ 2022/01/19-12:55:42.796 149c compacted to: files[ 0 1 0 0 0 0 0 ]
10
+ 2022/01/19-12:55:42.797 149c Delete type=2 #507
11
+ 2022/01/19-12:55:42.797 149c Delete type=2 #509
12
+ 2022/01/19-12:55:42.797 149c Delete type=2 #512
13
+ 2022/01/19-12:55:42.797 149c Delete type=2 #515
14
+ 2022/01/19-12:55:42.798 149c Delete type=2 #518
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- MANIFEST-000002
1
+ MANIFEST-000528
package/test-node-a/LOG CHANGED
@@ -1 +1,5 @@
1
- 2022/01/08-15:31:16.989 4470 Delete type=3 #1
1
+ 2022/01/19-13:03:19.663 3f34 Recovering log #527
2
+ 2022/01/19-13:03:19.663 3f34 Level-0 table #529: started
3
+ 2022/01/19-13:03:19.682 3f34 Level-0 table #529: 2991 bytes OK
4
+ 2022/01/19-13:03:19.704 3f34 Delete type=0 #527
5
+ 2022/01/19-13:03:19.704 3f34 Delete type=3 #525
@@ -0,0 +1,5 @@
1
+ 2022/01/19-12:55:42.729 367c Recovering log #523
2
+ 2022/01/19-12:55:42.729 367c Level-0 table #526: started
3
+ 2022/01/19-12:55:42.739 367c Level-0 table #526: 2914 bytes OK
4
+ 2022/01/19-12:55:42.757 367c Delete type=0 #523
5
+ 2022/01/19-12:55:42.758 367c Delete type=3 #521
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- MANIFEST-000002
1
+ MANIFEST-000528
package/test-node-b/LOG CHANGED
@@ -1 +1,5 @@
1
- 2022/01/08-15:31:16.993 7570 Delete type=3 #1
1
+ 2022/01/19-13:03:19.668 1a1c Recovering log #527
2
+ 2022/01/19-13:03:19.668 1a1c Level-0 table #529: started
3
+ 2022/01/19-13:03:19.680 1a1c Level-0 table #529: 3101 bytes OK
4
+ 2022/01/19-13:03:19.696 1a1c Delete type=0 #527
5
+ 2022/01/19-13:03:19.696 1a1c Delete type=3 #525
@@ -0,0 +1,5 @@
1
+ 2022/01/19-12:55:42.732 5ab0 Recovering log #523
2
+ 2022/01/19-12:55:42.732 5ab0 Level-0 table #526: started
3
+ 2022/01/19-12:55:42.741 5ab0 Level-0 table #526: 3020 bytes OK
4
+ 2022/01/19-12:55:42.762 5ab0 Delete type=0 #523
5
+ 2022/01/19-12:55:42.762 5ab0 Delete type=3 #521
Binary file
@@ -1,19 +0,0 @@
1
- import { ToolDbMessage } from ".";
2
- export interface DeduplicatedEntry {
3
- time: number;
4
- }
5
- export interface DupOptions {
6
- age: number;
7
- max: number;
8
- }
9
- export default class Deduplicator {
10
- private entries;
11
- private timeout;
12
- private now;
13
- private options;
14
- constructor(opt?: Partial<DupOptions>);
15
- getEntry(id: string): DeduplicatedEntry;
16
- check: (id: string) => false | DeduplicatedEntry;
17
- add: (id: string, _entry: ToolDbMessage) => void;
18
- drop: (age: number) => void;
19
- }
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- var Deduplicator = /** @class */ (function () {
15
- function Deduplicator(opt) {
16
- var _this = this;
17
- if (opt === void 0) { opt = {}; }
18
- this.entries = {};
19
- this.timeout = null;
20
- this.now = +new Date();
21
- this.options = { max: 999, age: 1000 * 9 };
22
- this.check = function (id) {
23
- if (!_this.entries[id]) {
24
- return false;
25
- }
26
- return _this.getEntry(id);
27
- };
28
- this.add = function (id, _entry) {
29
- _this.entries[id] = {
30
- time: (_this.now = +new Date()),
31
- };
32
- };
33
- this.drop = function (age) {
34
- _this.timeout = null;
35
- _this.now = +new Date();
36
- Object.keys(_this.entries).forEach(function (_id) {
37
- var it = _this.entries[_id];
38
- if (it && (age || _this.options.age) > _this.now - it.time) {
39
- return;
40
- }
41
- delete _this.entries[_id];
42
- });
43
- };
44
- this.options = __assign(__assign({}, this.options), opt);
45
- }
46
- Deduplicator.prototype.getEntry = function (id) {
47
- var it = this.entries[id] ||
48
- (this.entries[id] = {
49
- time: 0,
50
- });
51
- it.time = this.now = +new Date();
52
- if (!this.timeout) {
53
- this.timeout = setTimeout(this.drop, this.options.age + 9);
54
- }
55
- return it;
56
- };
57
- return Deduplicator;
58
- }());
59
- exports.default = Deduplicator;
60
- //# sourceMappingURL=deduplicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deduplicator.js","sourceRoot":"","sources":["../src/deduplicator.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAWA;IASE,sBAAY,GAA6B;QAAzC,iBAEC;QAFW,oBAAA,EAAA,QAA6B;QARjC,YAAO,GAAsC,EAAE,CAAC;QAEhD,YAAO,GAAkB,IAAI,CAAC;QAE9B,QAAG,GAAW,CAAC,IAAI,IAAI,EAAE,CAAC;QAE1B,YAAO,GAAe,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;QAsBnD,UAAK,GAAG,UAAC,EAAU;YACxB,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACrB,OAAO,KAAK,CAAC;aACd;YAED,OAAO,KAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEK,QAAG,GAAG,UAAC,EAAU,EAAE,MAAqB;YAC7C,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;gBACjB,IAAI,EAAE,CAAC,KAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aAC/B,CAAC;QACJ,CAAC,CAAC;QAEK,SAAI,GAAG,UAAC,GAAW;YACxB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,KAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAEvB,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;gBACpC,IAAM,EAAE,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE7B,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE;oBACxD,OAAO;iBACR;gBACD,OAAO,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QA7CA,IAAI,CAAC,OAAO,yBAAQ,IAAI,CAAC,OAAO,GAAK,GAAG,CAAE,CAAC;IAC7C,CAAC;IAED,+BAAQ,GAAR,UAAS,EAAU;QACjB,IAAM,EAAE,GACN,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;gBAClB,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;QAEL,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IA6BH,mBAAC;AAAD,CAAC,AAxDD,IAwDC"}
@@ -1,2 +0,0 @@
1
- import { ToolDb } from "..";
2
- export default function create(db: ToolDb): Promise<void>;
@@ -1,131 +0,0 @@
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 libp2p_1 = __importDefault(require("libp2p"));
43
- var libp2p_websockets_1 = __importDefault(require("libp2p-websockets"));
44
- var libp2p_webrtc_star_1 = __importDefault(require("libp2p-webrtc-star"));
45
- var libp2p_noise_1 = require("@chainsafe/libp2p-noise");
46
- var libp2p_mplex_1 = __importDefault(require("libp2p-mplex"));
47
- var tooldb_protocol_1 = require("./tooldb-protocol");
48
- function create(db) {
49
- return __awaiter(this, void 0, void 0, function () {
50
- var options, node;
51
- var _this = this;
52
- return __generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- options = {
56
- addresses: {
57
- listen: [
58
- "/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star",
59
- "/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star",
60
- ],
61
- },
62
- modules: {
63
- transport: [libp2p_websockets_1.default, libp2p_webrtc_star_1.default],
64
- connEncryption: [libp2p_noise_1.NOISE],
65
- streamMuxer: [libp2p_mplex_1.default],
66
- },
67
- };
68
- return [4 /*yield*/, libp2p_1.default.create(options)];
69
- case 1:
70
- node = _a.sent();
71
- window.libp2p = node;
72
- db.options.id = node.peerId.toB58String();
73
- // Listen for new peers
74
- // node.on("peer:discovery", (peerId) => {
75
- // console.log(`Found peer ${peerId.toB58String()}`);
76
- // });
77
- // Listen for new connections to peers
78
- node.connectionManager.on("peer:connect", function (connection) {
79
- // Send message to other peers (connected) using the protocol
80
- node.peerStore.peers.forEach(function (peer) { return __awaiter(_this, void 0, void 0, function () {
81
- var connection, pid, stream, err_1;
82
- return __generator(this, function (_a) {
83
- switch (_a.label) {
84
- case 0:
85
- connection = node.connectionManager.get(peer.id);
86
- if (!connection)
87
- return [2 /*return*/];
88
- if (!peer.protocols.includes(tooldb_protocol_1.PROTOCOL_VER)) {
89
- // Close connections without our protocol
90
- connection.close();
91
- return [2 /*return*/];
92
- }
93
- pid = peer.id.toB58String();
94
- if (!!db.websockets.clientSockets[pid]) return [3 /*break*/, 5];
95
- console.warn("Protocol found " + tooldb_protocol_1.PROTOCOL_VER);
96
- _a.label = 1;
97
- case 1:
98
- _a.trys.push([1, 4, , 5]);
99
- return [4 /*yield*/, connection.newStream([tooldb_protocol_1.PROTOCOL_VER])];
100
- case 2:
101
- stream = (_a.sent()).stream;
102
- db.websockets.clientSockets[pid] = stream;
103
- return [4 /*yield*/, (0, tooldb_protocol_1.toolDbProtocolSend)("message data test " + Math.round(Math.random() * 9999), stream, db)];
104
- case 3:
105
- _a.sent();
106
- return [3 /*break*/, 5];
107
- case 4:
108
- err_1 = _a.sent();
109
- console.info("Could not handshake protocol with peer", err_1);
110
- return [3 /*break*/, 5];
111
- case 5: return [2 /*return*/];
112
- }
113
- });
114
- }); });
115
- });
116
- // Listen for peers disconnecting
117
- node.connectionManager.on("peer:disconnect", function (connection) {
118
- var pid = connection.remotePeer.toB58String();
119
- delete db.websockets.clientSockets[pid];
120
- });
121
- node.handle(tooldb_protocol_1.PROTOCOL_VER, function (args) { return (0, tooldb_protocol_1.toolDbProtocolHandler)(args, db); });
122
- return [4 /*yield*/, node.start()];
123
- case 2:
124
- _a.sent();
125
- return [2 /*return*/];
126
- }
127
- });
128
- });
129
- }
130
- exports.default = create;
131
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/libp2p/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,wEAA2C;AAC3C,0EAA4C;AAC5C,wDAAgD;AAChD,8DAAiC;AAEjC,qDAI2B;AAG3B,SAA8B,MAAM,CAAC,EAAU;;;;;;;oBACvC,OAAO,GAAG;wBACd,SAAS,EAAE;4BACT,MAAM,EAAE;gCACN,8DAA8D;gCAC9D,8DAA8D;6BAC/D;yBACF;wBACD,OAAO,EAAE;4BACP,SAAS,EAAE,CAAC,2BAAU,EAAE,4BAAU,CAAC;4BACnC,cAAc,EAAE,CAAC,oBAAK,CAAC;4BACvB,WAAW,EAAE,CAAC,sBAAK,CAAC;yBACrB;qBACF,CAAC;oBAEW,qBAAM,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA;;oBAAnC,IAAI,GAAG,SAA4B;oBACxC,MAAc,CAAC,MAAM,GAAG,IAAI,CAAC;oBAC9B,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAE1C,uBAAuB;oBACvB,0CAA0C;oBAC1C,uDAAuD;oBACvD,MAAM;oBAEN,sCAAsC;oBACtC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,UAAC,UAAe;wBACxD,6DAA6D;wBAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAO,IAAS;;;;;wCACrC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wCACvD,IAAI,CAAC,UAAU;4CAAE,sBAAO;wCACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,8BAAY,CAAC,EAAE;4CAC1C,yCAAyC;4CACzC,UAAU,CAAC,KAAK,EAAE,CAAC;4CACnB,sBAAO;yCACR;wCACK,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;6CAE9B,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAjC,wBAAiC;wCACnC,OAAO,CAAC,IAAI,CAAC,oBAAkB,8BAAc,CAAC,CAAC;;;;wCAE1B,qBAAM,UAAU,CAAC,SAAS,CAAC,CAAC,8BAAY,CAAC,CAAC,EAAA;;wCAArD,MAAM,GAAK,CAAA,SAA0C,CAAA,OAA/C;wCACd,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;wCAC1C,qBAAM,IAAA,oCAAkB,EACtB,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EACvD,MAAM,EACN,EAAE,CACH,EAAA;;wCAJD,SAIC,CAAC;;;;wCAEF,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAG,CAAC,CAAC;;;;;6BAGjE,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,iCAAiC;oBACjC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,UAAe;wBAC3D,IAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;wBAChD,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,8BAAY,EAAE,UAAC,IAAS,IAAK,OAAA,IAAA,uCAAqB,EAAC,IAAI,EAAE,EAAE,CAAC,EAA/B,CAA+B,CAAC,CAAC;oBAC1E,qBAAM,IAAI,CAAC,KAAK,EAAE,EAAA;;oBAAlB,SAAkB,CAAC;;;;;CACpB;AA9DD,yBA8DC"}
@@ -1,3 +0,0 @@
1
- import Libp2p from "libp2p";
2
- import { ToolDb } from "..";
3
- export default function createLibP2p(db: ToolDb): Promise<Libp2p>;
@@ -1,130 +0,0 @@
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 libp2p_1 = __importDefault(require("libp2p"));
43
- var libp2p_websockets_1 = __importDefault(require("libp2p-websockets"));
44
- var libp2p_webrtc_star_1 = __importDefault(require("libp2p-webrtc-star"));
45
- var libp2p_noise_1 = require("@chainsafe/libp2p-noise");
46
- var libp2p_mplex_1 = __importDefault(require("libp2p-mplex"));
47
- function createLibP2p(db) {
48
- return __awaiter(this, void 0, void 0, function () {
49
- var options, node;
50
- var _this = this;
51
- return __generator(this, function (_a) {
52
- switch (_a.label) {
53
- case 0:
54
- options = {
55
- addresses: {
56
- listen: [
57
- "/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star",
58
- "/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star",
59
- ],
60
- },
61
- modules: {
62
- transport: [libp2p_websockets_1.default, libp2p_webrtc_star_1.default],
63
- connEncryption: [libp2p_noise_1.NOISE],
64
- streamMuxer: [libp2p_mplex_1.default],
65
- },
66
- };
67
- return [4 /*yield*/, libp2p_1.default.create(options)];
68
- case 1:
69
- node = _a.sent();
70
- window.libp2p = node;
71
- db.options.id = node.peerId.toB58String();
72
- // Listen for new peers
73
- // node.on("peer:discovery", (peerId) => {
74
- // console.log(`Found peer ${peerId.toB58String()}`);
75
- // });
76
- // Listen for new connections to peers
77
- node.connectionManager.on("peer:connect", function (connection) {
78
- // Send message to other peers (connected) using the protocol
79
- node.peerStore.peers.forEach(function (peer) { return __awaiter(_this, void 0, void 0, function () {
80
- var connection, pid, stream, err_1;
81
- return __generator(this, function (_a) {
82
- switch (_a.label) {
83
- case 0:
84
- connection = node.connectionManager.get(peer.id);
85
- if (!connection)
86
- return [2 /*return*/];
87
- if (!peer.protocols.includes(PROTOCOL_VER)) {
88
- // Close connections without our protocol
89
- connection.close();
90
- return [2 /*return*/];
91
- }
92
- pid = peer.id.toB58String();
93
- if (!!db.websockets.clientSockets[pid]) return [3 /*break*/, 5];
94
- console.warn("Protocol found " + PROTOCOL_VER);
95
- _a.label = 1;
96
- case 1:
97
- _a.trys.push([1, 4, , 5]);
98
- return [4 /*yield*/, connection.newStream([PROTOCOL_VER])];
99
- case 2:
100
- stream = (_a.sent()).stream;
101
- db.websockets.clientSockets[pid] = stream;
102
- return [4 /*yield*/, toolDbProtocolSend("message data test " + Math.round(Math.random() * 9999), stream, db)];
103
- case 3:
104
- _a.sent();
105
- return [3 /*break*/, 5];
106
- case 4:
107
- err_1 = _a.sent();
108
- console.info("Could not handshake protocol with peer", err_1);
109
- return [3 /*break*/, 5];
110
- case 5: return [2 /*return*/];
111
- }
112
- });
113
- }); });
114
- });
115
- // Listen for peers disconnecting
116
- node.connectionManager.on("peer:disconnect", function (connection) {
117
- var pid = connection.remotePeer.toB58String();
118
- delete db.websockets.clientSockets[pid];
119
- });
120
- node.handle(PROTOCOL_VER, function (args) { return toolDbProtocolHandler(args, db); });
121
- return [4 /*yield*/, node.start()];
122
- case 2:
123
- _a.sent();
124
- return [2 /*return*/, node];
125
- }
126
- });
127
- });
128
- }
129
- exports.default = createLibP2p;
130
- //# sourceMappingURL=createLibP2p.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createLibP2p.js","sourceRoot":"","sources":["../../src/libp2p/createLibP2p.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,wEAA2C;AAC3C,0EAA4C;AAC5C,wDAAgD;AAChD,8DAAiC;AAIjC,SAA8B,YAAY,CAAC,EAAU;;;;;;;oBAC7C,OAAO,GAAG;wBACd,SAAS,EAAE;4BACT,MAAM,EAAE;gCACN,8DAA8D;gCAC9D,8DAA8D;6BAC/D;yBACF;wBACD,OAAO,EAAE;4BACP,SAAS,EAAE,CAAC,2BAAU,EAAE,4BAAU,CAAC;4BACnC,cAAc,EAAE,CAAC,oBAAK,CAAC;4BACvB,WAAW,EAAE,CAAC,sBAAK,CAAC;yBACrB;qBACF,CAAC;oBAEW,qBAAM,gBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA;;oBAAnC,IAAI,GAAG,SAA4B;oBACxC,MAAc,CAAC,MAAM,GAAG,IAAI,CAAC;oBAC9B,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBAE1C,uBAAuB;oBACvB,0CAA0C;oBAC1C,uDAAuD;oBACvD,MAAM;oBAEN,sCAAsC;oBACtC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,UAAC,UAAe;wBACxD,6DAA6D;wBAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAO,IAAS;;;;;wCACrC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wCACvD,IAAI,CAAC,UAAU;4CAAE,sBAAO;wCACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;4CAC1C,yCAAyC;4CACzC,UAAU,CAAC,KAAK,EAAE,CAAC;4CACnB,sBAAO;yCACR;wCACK,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;6CAE9B,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAjC,wBAAiC;wCACnC,OAAO,CAAC,IAAI,CAAC,oBAAkB,YAAc,CAAC,CAAC;;;;wCAE1B,qBAAM,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,EAAA;;wCAArD,MAAM,GAAK,CAAA,SAA0C,CAAA,OAA/C;wCACd,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;wCAC1C,qBAAM,kBAAkB,CACtB,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EACvD,MAAM,EACN,EAAE,CACH,EAAA;;wCAJD,SAIC,CAAC;;;;wCAEF,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAG,CAAC,CAAC;;;;;6BAGjE,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,iCAAiC;oBACjC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,UAAe;wBAC3D,IAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;wBAChD,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAC,IAAS,IAAK,OAAA,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,EAA/B,CAA+B,CAAC,CAAC;oBAC1E,qBAAM,IAAI,CAAC,KAAK,EAAE,EAAA;;oBAAlB,SAAkB,CAAC;oBACnB,sBAAO,IAAI,EAAC;;;;CACb;AA/DD,+BA+DC"}
@@ -1,19 +0,0 @@
1
- import { MuxedStream } from "libp2p-interfaces/dist/src/stream-muxer/types";
2
- import { ToolDb } from "..";
3
- export declare const PROTOCOL_VER = "/tooldb/1.2.0";
4
- /**
5
- * A simple handler to print incoming messages to the console
6
- * @param {Object} params
7
- * @param {Connection} params.connection The connection the stream belongs to
8
- * @param {Stream} params.stream stream to the peer
9
- */
10
- export declare function toolDbProtocolHandler({ connection, stream, }: {
11
- connection: any;
12
- stream: any[];
13
- }, db: ToolDb): Promise<void>;
14
- /**
15
- * Writes a given `message` over the given `stream`.
16
- * @param {String} message The message to send over `stream`
17
- * @param {Stream} stream A stream over the muxed Connection to our peer
18
- */
19
- export declare function toolDbProtocolSend(message: string, stream: MuxedStream, db: ToolDb): Promise<void>;