tool-db 1.4.3 → 2.0.1

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 (206) hide show
  1. package/README.md +32 -14
  2. package/bundle.js +112989 -57546
  3. package/dist/chain/Block.d.ts +3 -2
  4. package/dist/chain/Block.js +12 -1
  5. package/dist/chain/Block.js.map +1 -1
  6. package/dist/chain/ToolChain.d.ts +6 -4
  7. package/dist/chain/ToolChain.js +35 -13
  8. package/dist/chain/ToolChain.js.map +1 -1
  9. package/dist/chain/Tx.d.ts +34 -0
  10. package/dist/chain/Tx.js +111 -0
  11. package/dist/chain/Tx.js.map +1 -0
  12. package/dist/index.d.ts +18 -23
  13. package/dist/index.js +37 -52
  14. package/dist/index.js.map +1 -1
  15. package/dist/loadCrdtDocument.js +4 -9
  16. package/dist/loadCrdtDocument.js.map +1 -1
  17. package/dist/messageHandlers/handleCrdt.d.ts +2 -1
  18. package/dist/messageHandlers/handleCrdt.js +1 -5
  19. package/dist/messageHandlers/handleCrdt.js.map +1 -1
  20. package/dist/messageHandlers/handleCrdtGet.d.ts +2 -1
  21. package/dist/messageHandlers/handleCrdtGet.js +2 -2
  22. package/dist/messageHandlers/handleCrdtGet.js.map +1 -1
  23. package/dist/messageHandlers/handleCrdtPut.d.ts +2 -1
  24. package/dist/messageHandlers/handleCrdtPut.js +17 -9
  25. package/dist/messageHandlers/handleCrdtPut.js.map +1 -1
  26. package/dist/messageHandlers/handleGet.d.ts +2 -1
  27. package/dist/messageHandlers/handleGet.js +1 -1
  28. package/dist/messageHandlers/handleGet.js.map +1 -1
  29. package/dist/messageHandlers/handleJoin.d.ts +2 -1
  30. package/dist/messageHandlers/handleJoin.js +20 -24
  31. package/dist/messageHandlers/handleJoin.js.map +1 -1
  32. package/dist/messageHandlers/handlePing.d.ts +2 -1
  33. package/dist/messageHandlers/handlePing.js +10 -3
  34. package/dist/messageHandlers/handlePing.js.map +1 -1
  35. package/dist/messageHandlers/handlePong.d.ts +2 -1
  36. package/dist/messageHandlers/handlePong.js +22 -20
  37. package/dist/messageHandlers/handlePong.js.map +1 -1
  38. package/dist/messageHandlers/handlePut.d.ts +2 -1
  39. package/dist/messageHandlers/handlePut.js +3 -2
  40. package/dist/messageHandlers/handlePut.js.map +1 -1
  41. package/dist/messageHandlers/handleQuery.d.ts +2 -1
  42. package/dist/messageHandlers/handleQuery.js.map +1 -1
  43. package/dist/messageHandlers/handleServers.d.ts +2 -1
  44. package/dist/messageHandlers/handleServers.js +8 -9
  45. package/dist/messageHandlers/handleServers.js.map +1 -1
  46. package/dist/messageHandlers/handleSubscribe.d.ts +2 -1
  47. package/dist/messageHandlers/handleSubscribe.js +4 -3
  48. package/dist/messageHandlers/handleSubscribe.js.map +1 -1
  49. package/dist/toolDbAnonSignIn.d.ts +1 -4
  50. package/dist/toolDbAnonSignIn.js +2 -16
  51. package/dist/toolDbAnonSignIn.js.map +1 -1
  52. package/dist/toolDbClientOnMessage.js +3 -4
  53. package/dist/toolDbClientOnMessage.js.map +1 -1
  54. package/dist/toolDbCrdtGet.d.ts +1 -1
  55. package/dist/toolDbCrdtGet.js +13 -5
  56. package/dist/toolDbCrdtGet.js.map +1 -1
  57. package/dist/toolDbCrdtPut.js +22 -67
  58. package/dist/toolDbCrdtPut.js.map +1 -1
  59. package/dist/toolDbGet.js +2 -3
  60. package/dist/toolDbGet.js.map +1 -1
  61. package/dist/toolDbKeysSignIn.d.ts +1 -7
  62. package/dist/toolDbKeysSignIn.js +5 -18
  63. package/dist/toolDbKeysSignIn.js.map +1 -1
  64. package/dist/toolDbNetwork.js +7 -5
  65. package/dist/toolDbNetwork.js.map +1 -1
  66. package/dist/toolDbPut.js +24 -72
  67. package/dist/toolDbPut.js.map +1 -1
  68. package/dist/toolDbQueryKeys.js +2 -3
  69. package/dist/toolDbQueryKeys.js.map +1 -1
  70. package/dist/toolDbSignIn.d.ts +2 -4
  71. package/dist/toolDbSignIn.js +7 -113
  72. package/dist/toolDbSignIn.js.map +1 -1
  73. package/dist/toolDbSignUp.d.ts +1 -1
  74. package/dist/toolDbSignUp.js +37 -70
  75. package/dist/toolDbSignUp.js.map +1 -1
  76. package/dist/toolDbSubscribe.js +4 -4
  77. package/dist/toolDbSubscribe.js.map +1 -1
  78. package/dist/toolDbVerificationWrapper.js +23 -10
  79. package/dist/toolDbVerificationWrapper.js.map +1 -1
  80. package/dist/toolDbWebrtc.js +68 -16
  81. package/dist/toolDbWebrtc.js.map +1 -1
  82. package/dist/tooldb.d.ts +21 -14
  83. package/dist/tooldb.js +44 -27
  84. package/dist/tooldb.js.map +1 -1
  85. package/dist/types/message.d.ts +40 -1
  86. package/dist/types/tooldb.d.ts +53 -11
  87. package/dist/types/tooldb.js.map +1 -1
  88. package/dist/utils/crypto/decodeKeyString.d.ts +1 -1
  89. package/dist/utils/crypto/decodeKeyString.js +3 -4
  90. package/dist/utils/crypto/decodeKeyString.js.map +1 -1
  91. package/dist/utils/crypto/decryptData.js +3 -3
  92. package/dist/utils/crypto/decryptData.js.map +1 -1
  93. package/dist/utils/crypto/decryptWithPass.d.ts +1 -1
  94. package/dist/utils/crypto/decryptWithPass.js +2 -3
  95. package/dist/utils/crypto/decryptWithPass.js.map +1 -1
  96. package/dist/utils/crypto/encodeKeyString.js +3 -4
  97. package/dist/utils/crypto/encodeKeyString.js.map +1 -1
  98. package/dist/utils/crypto/encryptData.d.ts +1 -1
  99. package/dist/utils/crypto/encryptData.js +1 -6
  100. package/dist/utils/crypto/encryptData.js.map +1 -1
  101. package/dist/utils/crypto/encryptWithPass.d.ts +1 -1
  102. package/dist/utils/crypto/encryptWithPass.js +1 -5
  103. package/dist/utils/crypto/encryptWithPass.js.map +1 -1
  104. package/dist/utils/crypto/generateKeyFromPassword.js +1 -1
  105. package/dist/utils/crypto/generateKeyFromPassword.js.map +1 -1
  106. package/dist/utils/crypto/loadKeysComb.js +10 -10
  107. package/dist/utils/crypto/loadKeysComb.js.map +1 -1
  108. package/dist/utils/crypto/recoverPubKey.d.ts +1 -1
  109. package/dist/utils/crypto/recoverPubKey.js +12 -6
  110. package/dist/utils/crypto/recoverPubKey.js.map +1 -1
  111. package/dist/utils/crypto/saveSignKeys.d.ts +1 -1
  112. package/dist/utils/crypto/saveSignKeys.js +2 -2
  113. package/dist/utils/crypto/verifyData.js +1 -1
  114. package/dist/utils/crypto/verifyData.js.map +1 -1
  115. package/dist/utils/encoding/arrayBufferToHex.js +1 -1
  116. package/dist/utils/encoding/base64ToHex.js +1 -1
  117. package/dist/utils/encoding/uint8ArrayToHex.js +1 -1
  118. package/dist/utils/getPeerSignature.d.ts +2 -1
  119. package/dist/utils/getPeerSignature.js +7 -4
  120. package/dist/utils/getPeerSignature.js.map +1 -1
  121. package/dist/utils/leveldb.js +2 -0
  122. package/dist/utils/leveldb.js.map +1 -1
  123. package/dist/utils/signData.js +1 -1
  124. package/dist/utils/signData.js.map +1 -1
  125. package/dist/utils/verifyMessage.js +9 -18
  126. package/dist/utils/verifyMessage.js.map +1 -1
  127. package/dist/utils/verifyPeer.d.ts +2 -1
  128. package/dist/utils/verifyPeer.js +9 -8
  129. package/dist/utils/verifyPeer.js.map +1 -1
  130. package/package.json +4 -3
  131. package/test-alice/000087.ldb +0 -0
  132. package/test-alice/000089.ldb +0 -0
  133. package/test-alice/000092.ldb +0 -0
  134. package/test-alice/000093.log +0 -0
  135. package/test-alice/CURRENT +1 -1
  136. package/test-alice/LOG +5 -5
  137. package/test-alice/LOG.old +5 -5
  138. package/test-alice/MANIFEST-000091 +0 -0
  139. package/test-alice-speed/000003.log +0 -0
  140. package/test-alice-speed/CURRENT +1 -0
  141. package/{test-keys-a → test-alice-speed}/LOCK +0 -0
  142. package/test-alice-speed/LOG +1 -0
  143. package/test-alice-speed/MANIFEST-000002 +0 -0
  144. package/test-bob/000087.ldb +0 -0
  145. package/test-bob/000089.ldb +0 -0
  146. package/test-bob/000092.ldb +0 -0
  147. package/test-bob/000093.log +0 -0
  148. package/test-bob/CURRENT +1 -1
  149. package/test-bob/LOG +5 -5
  150. package/test-bob/LOG.old +5 -5
  151. package/test-bob/MANIFEST-000091 +0 -0
  152. package/test-node-a/000087.ldb +0 -0
  153. package/test-node-a/000089.ldb +0 -0
  154. package/test-node-a/000092.ldb +0 -0
  155. package/test-node-a/000093.log +0 -0
  156. package/test-node-a/CURRENT +1 -1
  157. package/test-node-a/LOG +5 -14
  158. package/test-node-a/LOG.old +5 -5
  159. package/test-node-a/MANIFEST-000091 +0 -0
  160. package/test-node-b/000087.ldb +0 -0
  161. package/test-node-b/000089.ldb +0 -0
  162. package/test-node-b/000092.ldb +0 -0
  163. package/test-node-b/000093.log +0 -0
  164. package/test-node-b/CURRENT +1 -1
  165. package/test-node-b/LOG +5 -14
  166. package/test-node-b/LOG.old +5 -5
  167. package/test-node-b/MANIFEST-000091 +0 -0
  168. package/test-verify-a/000026.ldb +0 -0
  169. package/test-verify-a/000029.ldb +0 -0
  170. package/test-verify-a/000031.ldb +0 -0
  171. package/test-verify-a/000033.ldb +0 -0
  172. package/{test-keys-a/000587.log → test-verify-a/000068.log} +0 -0
  173. package/test-verify-a/CURRENT +1 -1
  174. package/test-verify-a/LOG +3 -3
  175. package/test-verify-a/LOG.old +3 -3
  176. package/test-verify-a/MANIFEST-000067 +0 -0
  177. package/test-alice/000845.ldb +0 -0
  178. package/test-alice/000847.ldb +0 -0
  179. package/test-alice/000850.ldb +0 -0
  180. package/test-alice/000853.ldb +0 -0
  181. package/test-alice/000854.log +0 -0
  182. package/test-alice/MANIFEST-000852 +0 -0
  183. package/test-bob/000772.ldb +0 -0
  184. package/test-bob/000774.ldb +0 -0
  185. package/test-bob/000777.ldb +0 -0
  186. package/test-bob/000780.ldb +0 -0
  187. package/test-bob/000781.log +0 -0
  188. package/test-bob/MANIFEST-000779 +0 -0
  189. package/test-keys-a/CURRENT +0 -1
  190. package/test-keys-a/LOG +0 -3
  191. package/test-keys-a/LOG.old +0 -3
  192. package/test-keys-a/MANIFEST-000586 +0 -0
  193. package/test-keys-b/000587.log +0 -0
  194. package/test-keys-b/CURRENT +0 -1
  195. package/test-keys-b/LOCK +0 -0
  196. package/test-keys-b/LOG +0 -3
  197. package/test-keys-b/LOG.old +0 -3
  198. package/test-keys-b/MANIFEST-000586 +0 -0
  199. package/test-node-a/000870.log +0 -0
  200. package/test-node-a/000871.ldb +0 -0
  201. package/test-node-a/MANIFEST-000868 +0 -0
  202. package/test-node-b/000870.log +0 -0
  203. package/test-node-b/000871.ldb +0 -0
  204. package/test-node-b/MANIFEST-000868 +0 -0
  205. package/test-verify-a/000719.log +0 -0
  206. package/test-verify-a/MANIFEST-000718 +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"handleCrdtGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtGet.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAClC,wBAAwE;AAExE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAsBC;IAjBC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;QACxD,IAAI,UAAU,EAAE;YACd,IAAM,KAAK,GAAG,mBAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,IAAA,iBAAa,EAAC,KAAK,CAAC;aACX,CAAC,CAAC;SACnB;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAtBD,gCAsBC"}
1
+ {"version":3,"file":"handleCrdtGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtGet.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAGlC,sFAAgE;AAEhE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAsBC;IAjBC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;QACxD,IAAI,UAAU,EAAE;YACd,IAAM,KAAK,GAAG,mBAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,IAAA,yBAAe,EAAC,KAAK,CAAC;aACb,CAAC,CAAC;SACnB;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAtBD,gCAsBC"}
@@ -1,2 +1,3 @@
1
- import { CrdtPutMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { CrdtPutMessage } from "../types/message";
2
3
  export default function handleCrdtPut(this: ToolDb, message: CrdtPutMessage, remotePeerId: string): void;
@@ -4,16 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var automerge_1 = __importDefault(require("automerge"));
7
- var __1 = require("..");
7
+ var message_1 = require("../types/message");
8
8
  var toolDbVerificationWrapper_1 = __importDefault(require("../toolDbVerificationWrapper"));
9
+ var hexToBase64_1 = __importDefault(require("../utils/encoding/hexToBase64"));
10
+ var uint8ArrayToHex_1 = __importDefault(require("../utils/encoding/uint8ArrayToHex"));
11
+ var base64ToBinaryChange_1 = __importDefault(require("../utils/encoding/base64ToBinaryChange"));
9
12
  function handleCrdtPut(message, remotePeerId) {
10
13
  var _this = this;
11
14
  // key = aggregated, final value
12
15
  // key.crdt = automerge doc with changes
13
- // const writeStart = new Date().getTime();
16
+ var writeStart = new Date().getTime();
14
17
  toolDbVerificationWrapper_1.default.call(this, message).then(function (value) {
18
+ // console.log("CRDT verification: ", (new Date().getTime() - writeStart) / 1000);
15
19
  // console.log("CRDT Verification wrapper result: ", value);
16
- if (value === __1.VerifyResult.Verified) {
20
+ if (value === message_1.VerifyResult.Verified) {
17
21
  var key_1 = message.k;
18
22
  var data = [];
19
23
  try {
@@ -22,7 +26,7 @@ function handleCrdtPut(message, remotePeerId) {
22
26
  catch (e) {
23
27
  //
24
28
  }
25
- var changes_1 = data.map(__1.base64ToBinaryChange);
29
+ var changes_1 = data.map(hexToBase64_1.default).map(base64ToBinaryChange_1.default);
26
30
  _this.loadCrdtDocument(key_1).then(function (currentDoc) {
27
31
  // if (currentDoc) {
28
32
  // console.log(
@@ -42,7 +46,7 @@ function handleCrdtPut(message, remotePeerId) {
42
46
  }
43
47
  catch (ee) {
44
48
  if (_this.options.debug) {
45
- console.log(ee);
49
+ console.warn(ee);
46
50
  }
47
51
  }
48
52
  }
@@ -57,18 +61,22 @@ function handleCrdtPut(message, remotePeerId) {
57
61
  // persist
58
62
  _this.documents[key_1] = newDoc;
59
63
  // OOHH THE TYPECAST PAIN
60
- // This works but the hacking is awful, we need a better solution for storing the crdts
61
- var savedDoc = automerge_1.default.save(newDoc);
64
+ // Convert the crdt document to hex before saving
65
+ var savedDoc = (0, uint8ArrayToHex_1.default)(automerge_1.default.save(newDoc));
62
66
  _this.store.put(key_1 + ".crdt", savedDoc, function (err, data) {
63
67
  // const writeEnd = new Date().getTime();
64
- // console.log("CRDT write: ", (writeEnd - writeStart) / 1000);
68
+ // console.log(
69
+ // "CRDT write: ",
70
+ // `${key}.crdt`,
71
+ // (writeEnd - writeStart) / 1000
72
+ // );
65
73
  });
66
74
  var crdtMessage = {
67
75
  type: "crdt",
68
76
  key: key_1,
69
77
  id: message.id,
70
78
  to: [],
71
- doc: (0, __1.uint8ToBase64)(savedDoc),
79
+ doc: savedDoc,
72
80
  };
73
81
  _this.triggerKeyListener(key_1, crdtMessage);
74
82
  // relay to other servers
@@ -1 +1 @@
1
- {"version":3,"file":"handleCrdtPut.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtPut.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAClC,wBAOY;AACZ,2FAAqE;AAErE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAmFC;IA9EC,gCAAgC;IAChC,wCAAwC;IACxC,2CAA2C;IAC3C,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,4DAA4D;QAC5D,IAAI,KAAK,KAAK,gBAAY,CAAC,QAAQ,EAAE;YACnC,IAAM,KAAG,GAAG,OAAO,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,EAAE;aACH;YACD,IAAM,SAAO,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAoB,CAAC,CAAC;YAE/C,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBACzC,oBAAoB;gBACpB,iBAAiB;gBACjB,gBAAgB;gBAChB,WAAW;gBACX,kBAAkB;gBAClB,uCAAuC;gBACvC,OAAO;gBACP,IAAI;gBAEJ,IAAI,MAAM,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI;oBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAC/B,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,EAC9B,SAAO,CACR,GAHM,CAGL;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI;wBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAAC,mBAAS,CAAC,IAAI,EAAE,EAAE,SAAO,CAAC,GAArD,CAAsD;qBAC9D;oBAAC,OAAO,EAAE,EAAE;wBACX,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;yBACjB;qBACF;iBACF;gBAED,gBAAgB;gBAChB,iBAAiB;gBACjB,+BAA+B;gBAC/B,oCAAoC;gBACpC,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,IAAI;gBAEJ,UAAU;gBACV,KAAI,CAAC,SAAS,CAAC,KAAG,CAAC,GAAG,MAAM,CAAC;gBAE7B,yBAAyB;gBACzB,uFAAuF;gBACvF,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAQ,CAAC;gBAC/C,KAAI,CAAC,KAAK,CAAC,GAAG,CAAI,KAAG,UAAO,EAAE,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;oBAChD,yCAAyC;oBACzC,+DAA+D;gBACjE,CAAC,CAAC,CAAC;gBAEH,IAAM,WAAW,GAAgB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,KAAG;oBACR,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,IAAA,iBAAa,EAAC,QAAQ,CAAC;iBAC7B,CAAC;gBACF,KAAI,CAAC,kBAAkB,CAAC,KAAG,EAAE,WAAW,CAAC,CAAC;gBAE1C,yBAAyB;gBACzB,MAAM;gBACN,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACnD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAnFD,gCAmFC"}
1
+ {"version":3,"file":"handleCrdtPut.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtPut.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAElC,4CAA6E;AAC7E,2FAAqE;AACrE,8EAAwD;AACxD,sFAAgE;AAChE,gGAA0E;AAE1E,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAwFC;IAnFC,gCAAgC;IAChC,wCAAwC;IACxC,IAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACxC,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,kFAAkF;QAClF,4DAA4D;QAC5D,IAAI,KAAK,KAAK,sBAAY,CAAC,QAAQ,EAAE;YACnC,IAAM,KAAG,GAAG,OAAO,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,EAAE;aACH;YACD,IAAM,SAAO,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAW,CAAC,CAAC,GAAG,CAAC,8BAAoB,CAAC,CAAC;YAEhE,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBACzC,oBAAoB;gBACpB,iBAAiB;gBACjB,gBAAgB;gBAChB,WAAW;gBACX,kBAAkB;gBAClB,uCAAuC;gBACvC,OAAO;gBACP,IAAI;gBAEJ,IAAI,MAAM,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI;oBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAC/B,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,EAC9B,SAAO,CACR,GAHM,CAGL;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI;wBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAAC,mBAAS,CAAC,IAAI,EAAE,EAAE,SAAO,CAAC,GAArD,CAAsD;qBAC9D;oBAAC,OAAO,EAAE,EAAE;wBACX,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAClB;qBACF;iBACF;gBAED,gBAAgB;gBAChB,iBAAiB;gBACjB,+BAA+B;gBAC/B,oCAAoC;gBACpC,iBAAiB;gBACjB,aAAa;gBACb,OAAO;gBACP,IAAI;gBAEJ,UAAU;gBACV,KAAI,CAAC,SAAS,CAAC,KAAG,CAAC,GAAG,MAAM,CAAC;gBAE7B,yBAAyB;gBACzB,iDAAiD;gBACjD,IAAM,QAAQ,GAAG,IAAA,yBAAe,EAAC,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzD,KAAI,CAAC,KAAK,CAAC,GAAG,CAAI,KAAG,UAAO,EAAE,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;oBAChD,yCAAyC;oBACzC,eAAe;oBACf,oBAAoB;oBACpB,mBAAmB;oBACnB,mCAAmC;oBACnC,KAAK;gBACP,CAAC,CAAC,CAAC;gBAEH,IAAM,WAAW,GAAgB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,KAAG;oBACR,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,QAAQ;iBACd,CAAC;gBACF,KAAI,CAAC,kBAAkB,CAAC,KAAG,EAAE,WAAW,CAAC,CAAC;gBAE1C,yBAAyB;gBACzB,MAAM;gBACN,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACnD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAxFD,gCAwFC"}
@@ -1,2 +1,3 @@
1
- import { GetMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { GetMessage } from "../types/message";
2
3
  export default function handleGet(this: ToolDb, message: GetMessage, remotePeerId: string): void;
@@ -17,7 +17,7 @@ function handleGet(message, remotePeerId) {
17
17
  if (data) {
18
18
  try {
19
19
  // Use the id of the get so the other client knows we are replying
20
- var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { id: message.id });
20
+ var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { to: [], id: message.id });
21
21
  _this.network.sendToClientId(remotePeerId, oldData);
22
22
  }
23
23
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"handleGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleGet.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA0BC;IArBC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,kEAAkE;gBAClE,IAAM,OAAO,GAAG,oBACd,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KACnB,EAAE,EAAE,OAAO,CAAC,EAAE,GACD,CAAC;gBAChB,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,qBAAqB;gBACrB,aAAa;aACd;SACF;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA1BD,4BA0BC"}
1
+ {"version":3,"file":"handleGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleGet.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAGA,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA2BC;IAtBC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,kEAAkE;gBAClE,IAAM,OAAO,GAAG,oBACd,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KACnB,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,OAAO,CAAC,EAAE,GACD,CAAC;gBAChB,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,qBAAqB;gBACrB,aAAa;aACd;SACF;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA3BD,4BA2BC"}
@@ -1,2 +1,3 @@
1
- import { JoinMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { JoinMessage } from "../types/message";
2
3
  export default function handleJoin(this: ToolDb, message: JoinMessage, remotePeerId: string): void;
@@ -5,32 +5,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var verifyPeer_1 = __importDefault(require("../utils/verifyPeer"));
7
7
  function handleJoin(message, remotePeerId) {
8
- var _this = this;
9
- (0, verifyPeer_1.default)(message.peer).then(function (verified) {
10
- // Add this peer to our list of peers
11
- if (verified) {
12
- var filteredPeers = _this.peers.filter(function (p) { return p.pubkey !== message.peer.pubkey; });
13
- if (filteredPeers.length === 0 &&
14
- message.peer.host &&
15
- message.peer.port) {
16
- // Add this peer to the list
17
- _this.peers.push(message.peer);
18
- // Reply with our servers list
19
- _this.network.sendToClientId(remotePeerId, {
20
- type: "servers",
21
- servers: _this.peers.filter(function (p) { return p.topic === message.peer.topic; }),
22
- id: message.id,
23
- });
24
- // If we are a server ourselves we broadcast this message
25
- if (_this.options.server) {
26
- _this.network.sendToAll(message, true);
27
- }
8
+ var verified = (0, verifyPeer_1.default)(this.web3, message.peer);
9
+ // Add this peer to our list of peers
10
+ if (verified) {
11
+ var filteredPeers = this.peers.filter(function (p) { return p.adress !== message.peer.adress; });
12
+ if (filteredPeers.length === 0 && message.peer.host && message.peer.port) {
13
+ // Add this peer to the list
14
+ this.peers.push(message.peer);
15
+ // Reply with our servers list
16
+ this.network.sendToClientId(remotePeerId, {
17
+ type: "servers",
18
+ servers: this.peers.filter(function (p) { return p.topic === message.peer.topic; }),
19
+ id: message.id,
20
+ });
21
+ // If we are a server ourselves we broadcast this message
22
+ if (this.options.server) {
23
+ this.network.sendToAll(message, true);
28
24
  }
29
25
  }
30
- else {
31
- console.warn("Blocked a remote peer from joining; ", message);
32
- }
33
- });
26
+ }
27
+ else {
28
+ console.warn("Blocked a remote peer from joining; ", message);
29
+ }
34
30
  }
35
31
  exports.default = handleJoin;
36
32
  //# sourceMappingURL=handleJoin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleJoin.js","sourceRoot":"","sources":["../../src/messageHandlers/handleJoin.ts"],"names":[],"mappings":";;;;;AACA,mEAA6C;AAE7C,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAHtB,iBAkCC;IA7BC,IAAA,oBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;QACrC,qCAAqC;QACrC,IAAI,QAAQ,EAAE;YACZ,IAAM,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,EAAhC,CAAgC,CACxC,CAAC;YACF,IACE,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB;gBACA,4BAA4B;gBAC5B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,8BAA8B;gBAC9B,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,EAA9B,CAA8B,CAAC;oBACjE,EAAE,EAAE,OAAO,CAAC,EAAE;iBACG,CAAC,CAAC;gBAErB,yDAAyD;gBACzD,IAAI,KAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACvB,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;iBACvC;aACF;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;SAC/D;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAlCD,6BAkCC"}
1
+ {"version":3,"file":"handleJoin.js","sourceRoot":"","sources":["../../src/messageHandlers/handleJoin.ts"],"names":[],"mappings":";;;;;AAEA,mEAA6C;AAE7C,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAEpB,IAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,qCAAqC;IACrC,IAAI,QAAQ,EAAE;QACZ,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,EAAhC,CAAgC,CACxC,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACxE,4BAA4B;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,EAA9B,CAA8B,CAAC;gBACjE,EAAE,EAAE,OAAO,CAAC,EAAE;aACG,CAAC,CAAC;YAErB,yDAAyD;YACzD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACvC;SACF;KACF;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;KAC/D;AACH,CAAC;AA7BD,6BA6BC"}
@@ -1,2 +1,3 @@
1
- import { PingMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { PingMessage } from "../types/message";
2
3
  export default function handlePing(this: ToolDb, message: PingMessage, remotePeerId: string): void;
@@ -1,11 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var __1 = require("..");
6
+ var textRandom_1 = __importDefault(require("../utils/textRandom"));
4
7
  function handlePing(message, remotePeerId) {
8
+ if (!this.isConnected) {
9
+ this.isConnected = true;
10
+ this.onConnect();
11
+ }
5
12
  this.network.sendToClientId(remotePeerId, {
6
13
  type: "pong",
7
14
  isServer: this.options.server,
8
- clientId: this.options.id,
15
+ clientId: this.options.peerAccount.address,
9
16
  to: [],
10
17
  id: message.id,
11
18
  });
@@ -13,7 +20,7 @@ function handlePing(message, remotePeerId) {
13
20
  type: "servers",
14
21
  servers: this.peers,
15
22
  to: [],
16
- id: (0, __1.textRandom)(10),
23
+ id: (0, textRandom_1.default)(10),
17
24
  });
18
25
  }
19
26
  exports.default = handlePing;
@@ -1 +1 @@
1
- {"version":3,"file":"handlePing.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePing.ts"],"names":[],"mappings":";;AAAA,wBAMY;AAEZ,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;QACxC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;QACzB,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,OAAO,CAAC,EAAE;KACA,CAAC,CAAC;IAElB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;QACxC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,IAAA,cAAU,EAAC,EAAE,CAAC;KACD,CAAC,CAAC;AACvB,CAAC;AAnBD,6BAmBC"}
1
+ {"version":3,"file":"handlePing.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePing.ts"],"names":[],"mappings":";;;;;AAEA,mEAA6C;AAE7C,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;QACxC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO;QAC1C,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,OAAO,CAAC,EAAE;KACA,CAAC,CAAC;IAElB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;QACxC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,IAAA,oBAAU,EAAC,EAAE,CAAC;KACD,CAAC,CAAC;AACvB,CAAC;AAxBD,6BAwBC"}
@@ -1,2 +1,3 @@
1
- import { PongMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { PongMessage } from "../types/message";
2
3
  export default function handlePong(this: ToolDb, message: PongMessage, remotePeerId: string): void;
@@ -3,28 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var __1 = require("..");
7
6
  var getPeerSignature_1 = __importDefault(require("../utils/getPeerSignature"));
7
+ var textRandom_1 = __importDefault(require("../utils/textRandom"));
8
8
  function handlePong(message, remotePeerId) {
9
- var _this = this;
10
- this.onConnect();
11
- if (this.options.server && this.options.privateKey) {
12
- var timestamp_1 = new Date().getTime();
13
- (0, getPeerSignature_1.default)(this.options.privateKey, this.options.topic, timestamp_1, this.options.host, this.options.port).then(function (signature) {
14
- var meAsPeer = {
15
- topic: _this.options.topic,
16
- timestamp: timestamp_1,
17
- host: _this.options.host,
18
- port: _this.options.port,
19
- pubkey: _this.options.id,
20
- sig: signature,
21
- };
22
- _this.network.sendToClientId(remotePeerId, {
23
- type: "join",
24
- peer: meAsPeer,
25
- to: [],
26
- id: (0, __1.textRandom)(10),
27
- });
9
+ if (!this.isConnected) {
10
+ this.isConnected = true;
11
+ this.onConnect();
12
+ }
13
+ this.onPeerConnect(this.options.peerAccount.address);
14
+ if (this.options.server && this.options.peerAccount.address) {
15
+ var timestamp = new Date().getTime();
16
+ var signature = (0, getPeerSignature_1.default)(this.options.peerAccount, this.options.topic, timestamp, this.options.host, this.options.port);
17
+ var meAsPeer = {
18
+ topic: this.options.topic,
19
+ timestamp: timestamp,
20
+ host: this.options.host,
21
+ port: this.options.port,
22
+ adress: this.options.peerAccount.address,
23
+ sig: signature.signature,
24
+ };
25
+ this.network.sendToClientId(remotePeerId, {
26
+ type: "join",
27
+ peer: meAsPeer,
28
+ to: [],
29
+ id: (0, textRandom_1.default)(10),
28
30
  });
29
31
  }
30
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handlePong.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePong.ts"],"names":[],"mappings":";;;;;AAAA,wBAAkE;AAElE,+EAAyD;AAEzD,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAHtB,iBAkCC;IA7BC,IAAI,CAAC,SAAS,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QAClD,IAAM,WAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAA,0BAAgB,EACd,IAAI,CAAC,OAAO,CAAC,UAAU,EACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,WAAS,EACT,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAClB,CAAC,IAAI,CAAC,UAAC,SAAS;YACf,IAAM,QAAQ,GAAS;gBACrB,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,SAAS,EAAE,WAAS;gBACpB,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,EAAE;gBACvB,GAAG,EAAE,SAAS;aACf,CAAC;YAEF,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,EAAE;gBACN,EAAE,EAAE,IAAA,cAAU,EAAC,EAAE,CAAC;aACJ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAlCD,6BAkCC"}
1
+ {"version":3,"file":"handlePong.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePong.ts"],"names":[],"mappings":";;;;;AAEA,+EAAyD;AAEzD,mEAA6C;AAE7C,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;QAC3D,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAM,SAAS,GAAG,IAAA,0BAAgB,EAChC,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAClB,CAAC;QAEF,IAAM,QAAQ,GAAS;YACrB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO;YACxC,GAAG,EAAE,SAAS,CAAC,SAAS;SACzB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,IAAA,oBAAU,EAAC,EAAE,CAAC;SACJ,CAAC,CAAC;KACnB;AACH,CAAC;AAtCD,6BAsCC"}
@@ -1,2 +1,3 @@
1
- import { PutMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { PutMessage } from "../types/message";
2
3
  export default function handlePut(this: ToolDb, message: PutMessage, remotePeerId: string): void;
@@ -14,13 +14,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- var __1 = require("..");
18
17
  var toolDbVerificationWrapper_1 = __importDefault(require("../toolDbVerificationWrapper"));
18
+ var message_1 = require("../types/message");
19
19
  function handlePut(message, remotePeerId) {
20
20
  var _this = this;
21
21
  toolDbVerificationWrapper_1.default.call(this, message).then(function (value) {
22
22
  // console.log("Verification wrapper result: ", value, message.k);
23
- if (value === __1.VerifyResult.Verified) {
23
+ if (value === message_1.VerifyResult.Verified) {
24
+ _this.emit("verified", message);
24
25
  // relay to other servers !!!
25
26
  _this.network.sendToAll(message, true);
26
27
  _this.store.get(message.k, function (err, oldData) {
@@ -1 +1 @@
1
- {"version":3,"file":"handlePut.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wBAAsD;AACtD,2FAAqE;AAErE,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA4CC;IAvCC,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,kEAAkE;QAClE,IAAI,KAAK,KAAK,gBAAY,CAAC,QAAQ,EAAE;YACnC,6BAA6B;YAC7B,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,UAAC,GAAG,EAAE,OAAgB;gBAC9C,IAAI,OAAO,EAAE;oBACX,IAAM,aAAa,cACjB,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,CAAC;oBACF,IAAI,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;wBAC/B,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;4BAC3D,EAAE;wBACJ,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;qBAC7C;oBACD,mCAAmC;oBACnC,iBAAiB;oBACjB,4FAA4F;oBAC5F,OAAO;oBACP,IAAI;iBACL;qBAAM;oBACL,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;oBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;wBAC3D,EAAE;oBACJ,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA5CD,4BA4CC"}
1
+ {"version":3,"file":"handlePut.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2FAAqE;AACrE,4CAA4D;AAE5D,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA6CC;IAxCC,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,kEAAkE;QAClE,IAAI,KAAK,KAAK,sBAAY,CAAC,QAAQ,EAAE;YACnC,KAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/B,6BAA6B;YAC7B,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,UAAC,GAAG,EAAE,OAAgB;gBAC9C,IAAI,OAAO,EAAE;oBACX,IAAM,aAAa,cACjB,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,CAAC;oBACF,IAAI,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;wBAC/B,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;4BAC3D,EAAE;wBACJ,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;qBAC7C;oBACD,mCAAmC;oBACnC,iBAAiB;oBACjB,4FAA4F;oBAC5F,OAAO;oBACP,IAAI;iBACL;qBAAM;oBACL,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;oBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;wBAC3D,EAAE;oBACJ,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA7CD,4BA6CC"}
@@ -1,2 +1,3 @@
1
- import { QueryMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { QueryMessage } from "../types/message";
2
3
  export default function handleQuery(this: ToolDb, message: QueryMessage, remotePeerId: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"handleQuery.js","sourceRoot":"","sources":["../../src/messageHandlers/handleQuery.ts"],"names":[],"mappings":";;AAEA,SAAwB,WAAW,CAEjC,OAAqB,EACrB,YAAoB;IAHtB,iBAiBC;IAZC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACtC,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,EAAE,EAAE,EAAE;YACN,IAAI,MAAA;SACc,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7C;AACH,CAAC;AAjBD,8BAiBC"}
1
+ {"version":3,"file":"handleQuery.js","sourceRoot":"","sources":["../../src/messageHandlers/handleQuery.ts"],"names":[],"mappings":";;AAGA,SAAwB,WAAW,CAEjC,OAAqB,EACrB,YAAoB;IAHtB,iBAiBC;IAZC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACtC,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,EAAE,EAAE,EAAE;YACN,IAAI,MAAA;SACc,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7C;AACH,CAAC;AAjBD,8BAiBC"}
@@ -1,2 +1,3 @@
1
- import { ServersMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { ServersMessage } from "../types/message";
2
3
  export default function handleServers(this: ToolDb, message: ServersMessage, remotePeerId: string): void;
@@ -7,16 +7,15 @@ var verifyPeer_1 = __importDefault(require("../utils/verifyPeer"));
7
7
  function handleServers(message, remotePeerId) {
8
8
  var _this = this;
9
9
  message.servers.forEach(function (peer) {
10
- (0, verifyPeer_1.default)(peer).then(function (verified) {
11
- // Add this peer to our list of peers
12
- if (verified) {
13
- var filteredPeers = _this.peers.findIndex(function (p) { return p.pubkey === peer.pubkey; });
14
- if (filteredPeers === -1) {
15
- // Add this peer to the list
16
- _this.peers.push(peer);
17
- }
10
+ var verified = (0, verifyPeer_1.default)(_this.web3, peer);
11
+ // Add this peer to our list of peers
12
+ if (verified) {
13
+ var filteredPeers = _this.peers.findIndex(function (p) { return p.adress === peer.adress; });
14
+ if (filteredPeers === -1) {
15
+ // Add this peer to the list
16
+ _this.peers.push(peer);
18
17
  }
19
- });
18
+ }
20
19
  });
21
20
  }
22
21
  exports.default = handleServers;
@@ -1 +1 @@
1
- {"version":3,"file":"handleServers.js","sourceRoot":"","sources":["../../src/messageHandlers/handleServers.ts"],"names":[],"mappings":";;;;;AACA,mEAA6C;AAE7C,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAmBC;IAdC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,IAAI;QAC3B,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC7B,qCAAqC;YACrC,IAAI,QAAQ,EAAE;gBACZ,IAAM,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,SAAS,CACxC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAxB,CAAwB,CAChC,CAAC;gBACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;oBACxB,4BAA4B;oBAC5B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAnBD,gCAmBC"}
1
+ {"version":3,"file":"handleServers.js","sourceRoot":"","sources":["../../src/messageHandlers/handleServers.ts"],"names":[],"mappings":";;;;;AACA,mEAA6C;AAG7C,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAmBC;IAdC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,IAAI;QAC3B,IAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,KAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7C,qCAAqC;QACrC,IAAI,QAAQ,EAAE;YACZ,IAAM,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,SAAS,CACxC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAxB,CAAwB,CAChC,CAAC;YACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;gBACxB,4BAA4B;gBAC5B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAnBD,gCAmBC"}
@@ -1,2 +1,3 @@
1
- import { SubscribeMessage, ToolDb } from "..";
1
+ import { ToolDb } from "..";
2
+ import { SubscribeMessage } from "../types/message";
2
3
  export default function handleSubscribe(this: ToolDb, message: SubscribeMessage, remotePeerId: string): void;
@@ -15,7 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var automerge_1 = __importDefault(require("automerge"));
18
- var __1 = require("..");
18
+ var uint8ArrayToHex_1 = __importDefault(require("../utils/encoding/uint8ArrayToHex"));
19
+ var textRandom_1 = __importDefault(require("../utils/textRandom"));
19
20
  function handleSubscribe(message, remotePeerId) {
20
21
  var _this = this;
21
22
  if (remotePeerId) {
@@ -51,8 +52,8 @@ function handleSubscribe(message, remotePeerId) {
51
52
  type: "crdt",
52
53
  key: message.key,
53
54
  to: [],
54
- id: (0, __1.textRandom)(10),
55
- doc: (0, __1.uint8ToBase64)(savedDoc),
55
+ id: (0, textRandom_1.default)(10),
56
+ doc: (0, uint8ArrayToHex_1.default)(savedDoc),
56
57
  };
57
58
  _this.network.sendToClientId(remotePeerId, msg);
58
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleSubscribe.js","sourceRoot":"","sources":["../../src/messageHandlers/handleSubscribe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAkC;AAClC,wBAMY;AAEZ,SAAwB,eAAe,CAErC,OAAyB,EACzB,YAAoB;IAHtB,iBA8CC;IAzCC,IAAI,YAAY,EAAE;QAChB,IAAM,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG;gBACnC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;oBAC/D,yCAAyC;oBACzC,8DAA8D;oBAC9D,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;KACF;IAED,yCAAyC;IACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,IAAM,OAAO,yBAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;gBACxD,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,aAAa;aACd;SACF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;QACjD,6DAA6D;QAC7D,IAAI,GAAG,EAAE;YACP,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,IAAM,GAAG,GAAgB;gBACvB,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,EAAE;gBACN,EAAE,EAAE,IAAA,cAAU,EAAC,EAAE,CAAC;gBAClB,GAAG,EAAE,IAAA,iBAAa,EAAC,QAAQ,CAAC;aAC7B,CAAC;YACF,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA9CD,kCA8CC"}
1
+ {"version":3,"file":"handleSubscribe.js","sourceRoot":"","sources":["../../src/messageHandlers/handleSubscribe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAkC;AAGlC,sFAAgE;AAChE,mEAA6C;AAE7C,SAAwB,eAAe,CAErC,OAAyB,EACzB,YAAoB;IAHtB,iBA8CC;IAzCC,IAAI,YAAY,EAAE;QAChB,IAAM,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG;gBACnC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;oBAC/D,yCAAyC;oBACzC,8DAA8D;oBAC9D,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;KACF;IAED,yCAAyC;IACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,IAAM,OAAO,yBAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;gBACxD,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,aAAa;aACd;SACF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;QACjD,6DAA6D;QAC7D,IAAI,GAAG,EAAE;YACP,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,IAAM,GAAG,GAAgB;gBACvB,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,EAAE;gBACN,EAAE,EAAE,IAAA,oBAAU,EAAC,EAAE,CAAC;gBAClB,GAAG,EAAE,IAAA,yBAAe,EAAC,QAAQ,CAAC;aAC/B,CAAC;YACF,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA9CD,kCA8CC"}
@@ -1,5 +1,2 @@
1
1
  import ToolDb from "./tooldb";
2
- export default function toolDbAnonSignIn(this: ToolDb): Promise<{
3
- signKeys: CryptoKeyPair;
4
- encryptionKeys: CryptoKeyPair;
5
- }>;
2
+ export default function toolDbAnonSignIn(this: ToolDb): void;
@@ -3,24 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var encodeKeyString_1 = __importDefault(require("./utils/crypto/encodeKeyString"));
7
- var exportKey_1 = __importDefault(require("./utils/crypto/exportKey"));
8
- var generateKeysComb_1 = __importDefault(require("./utils/crypto/generateKeysComb"));
9
6
  var randomAnimal_1 = __importDefault(require("./utils/randomAnimal"));
10
7
  function toolDbAnonSignIn() {
11
- var _this = this;
12
- return (0, generateKeysComb_1.default)().then(function (newKeys) {
13
- return (0, exportKey_1.default)("spki", newKeys.signKeys.publicKey)
14
- .then(function (skpub) { return (0, encodeKeyString_1.default)(skpub); })
15
- .then(function (pubKey) {
16
- _this.user = {
17
- keys: newKeys,
18
- name: "Anonymous " + (0, randomAnimal_1.default)(),
19
- pubKey: pubKey,
20
- };
21
- return newKeys;
22
- });
23
- });
8
+ var account = this.web3.eth.accounts.create();
9
+ this.setUser(account, "Anonymous " + (0, randomAnimal_1.default)());
24
10
  }
25
11
  exports.default = toolDbAnonSignIn;
26
12
  //# sourceMappingURL=toolDbAnonSignIn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolDbAnonSignIn.js","sourceRoot":"","sources":["../src/toolDbAnonSignIn.ts"],"names":[],"mappings":";;;;;AACA,mFAA6D;AAC7D,uEAAiD;AACjD,qFAA+D;AAC/D,sEAAgD;AAEhD,SAAwB,gBAAgB;IAAxC,iBAgBC;IAZC,OAAO,IAAA,0BAAgB,GAAE,CAAC,IAAI,CAAC,UAAC,OAAO;QACrC,OAAA,IAAA,mBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAsB,CAAC;aACvD,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,IAAA,yBAAe,EAAC,KAAoB,CAAC,EAArC,CAAqC,CAAC;aACtD,IAAI,CAAC,UAAC,MAAM;YACX,KAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAa,IAAA,sBAAY,GAAI;gBACnC,MAAM,QAAA;aACP,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IATJ,CASI,CACL,CAAC;AACJ,CAAC;AAhBD,mCAgBC"}
1
+ {"version":3,"file":"toolDbAnonSignIn.js","sourceRoot":"","sources":["../src/toolDbAnonSignIn.ts"],"names":[],"mappings":";;;;;AAEA,sEAAgD;AAEhD,SAAwB,gBAAgB;IACtC,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,eAAa,IAAA,sBAAY,GAAI,CAAC,CAAC;AACvD,CAAC;AAHD,mCAGC"}
@@ -5,9 +5,7 @@ function toolDbClientOnMessage(message, remotePeerId) {
5
5
  this.processedIds[message.type] = [];
6
6
  }
7
7
  if (this.processedIds[message.type].includes(message.id)) {
8
- // console.warn(
9
- // `Already processed this message > ${message.type} from ${remotePeerId}`
10
- // );
8
+ console.warn("Already processed this message > " + message.type + " from " + remotePeerId);
11
9
  return;
12
10
  }
13
11
  this.emit("message", message, remotePeerId);
@@ -24,7 +22,8 @@ function toolDbClientOnMessage(message, remotePeerId) {
24
22
  this.removeIdListener(msgId);
25
23
  }
26
24
  }
27
- if (message === undefined || message.type === undefined) {
25
+ if ((message === undefined || message.type === undefined) &&
26
+ this.options.debug) {
28
27
  console.warn("Message is invalid!", message, typeof message);
29
28
  return;
30
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":";;AAGA,SAAwB,qBAAqB,CAE3C,OAAsB,EACtB,YAAoB;IAEpB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;KACtC;IACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACxD,gBAAgB;QAChB,4EAA4E;QAC5E,KAAK;QACL,OAAO;KACR;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAE5C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,iBAAe,OAAO,CAAC,IAAI,cAAS,YAAc,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvB;IAED,wCAAwC;IACxC,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B;KACF;IAED,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;QACvD,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,CAAC;QAC7D,OAAO;KACR;IAED,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,WAAW;YACd,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC5C,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,OAAO;YACV,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER;YACE,MAAM;KACT;AACH,CAAC;AA9ED,wCA8EC"}
1
+ {"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":";;AAGA,SAAwB,qBAAqB,CAE3C,OAAsB,EACtB,YAAoB;IAEpB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;KACtC;IACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACxD,OAAO,CAAC,IAAI,CACV,sCAAoC,OAAO,CAAC,IAAI,cAAS,YAAc,CACxE,CAAC;QACF,OAAO;KACR;IAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAE5C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,iBAAe,OAAO,CAAC,IAAI,cAAS,YAAc,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvB;IAED,wCAAwC;IACxC,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B;KACF;IAED,IACE,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB;QACA,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,CAAC;QAC7D,OAAO;KACR;IAED,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,WAAW;YACd,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC5C,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,OAAO;YACV,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER;YACE,MAAM;KACT;AACH,CAAC;AAjFD,wCAiFC"}
@@ -6,4 +6,4 @@ import ToolDb from "./tooldb";
6
6
  * @param timeout Max time to wait for remote.
7
7
  * @returns Promise<Data>
8
8
  */
9
- export default function toolDbCrdtGet(this: ToolDb, key: string, userNamespaced?: boolean, timeoutMs?: number): Promise<string | null>;
9
+ export default function toolDbCrdtGet(this: ToolDb, key: string, userNamespaced?: boolean, timeoutMs?: number): Promise<Uint8Array | null>;
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  var _1 = require(".");
7
+ var hexToUint8_1 = __importDefault(require("./utils/encoding/hexToUint8"));
4
8
  /**
5
9
  * Triggers a GET request to other peers. If the data is available locally it will return that instead.
6
10
  * @param key key of the data
@@ -13,22 +17,25 @@ function toolDbCrdtGet(key, userNamespaced, timeoutMs) {
13
17
  if (userNamespaced === void 0) { userNamespaced = false; }
14
18
  if (timeoutMs === void 0) { timeoutMs = 1000; }
15
19
  return new Promise(function (resolve, reject) {
16
- var _a, _b;
17
- if (userNamespaced && ((_a = _this.user) === null || _a === void 0 ? void 0 : _a.pubKey) === undefined) {
20
+ if (userNamespaced && _this.getPubKey() === undefined) {
18
21
  reject(new Error("You are not authorized yet!"));
19
22
  return;
20
23
  }
21
- var finalKey = userNamespaced ? ":" + ((_b = _this.user) === null || _b === void 0 ? void 0 : _b.pubKey) + "." + key : key;
24
+ var finalKey = userNamespaced ? ":" + _this.getPubKey() + "." + key : key;
22
25
  if (_this.options.debug) {
23
26
  console.log("CRDT GET > " + finalKey);
24
27
  }
25
28
  var msgId = (0, _1.textRandom)(10);
26
29
  var cancelTimeout = setTimeout(function () {
27
30
  _this.loadCrdtDocument(finalKey).then(function (data) {
31
+ if (_this.options.debug) {
32
+ console.log("CRDT DATA > ", data);
33
+ }
28
34
  if (data) {
29
35
  try {
30
36
  _this.removeIdListener(msgId);
31
- resolve(data);
37
+ var document_1 = (0, hexToUint8_1.default)(data);
38
+ resolve(document_1);
32
39
  }
33
40
  catch (e) {
34
41
  resolve(null);
@@ -45,7 +52,8 @@ function toolDbCrdtGet(key, userNamespaced, timeoutMs) {
45
52
  }
46
53
  clearTimeout(cancelTimeout);
47
54
  if (msg.type === "crdt") {
48
- resolve(msg.doc);
55
+ var document_2 = (0, hexToUint8_1.default)(msg.doc);
56
+ resolve(document_2);
49
57
  }
50
58
  });
51
59
  // Do get
@@ -1 +1 @@
1
- {"version":3,"file":"toolDbCrdtGet.js","sourceRoot":"","sources":["../src/toolDbCrdtGet.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAG/B;;;;;;GAMG;AACH,SAAwB,aAAa,CAEnC,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,iBAoDC;IAjDC,+BAAA,EAAA,sBAAsB;IACtB,0BAAA,EAAA,gBAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,cAAc,IAAI,CAAA,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,MAAK,SAAS,EAAE;YACrD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;SACvC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,IAAM,aAAa,GAAG,UAAU,CAAC;YAC/B,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,IAAS;gBAC7C,IAAI,IAAI,EAAE;oBACR,IAAI;wBACF,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;iBACF;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAC,GAAG;YAC5B,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;aAClD;YAED,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AApDD,gCAoDC"}
1
+ {"version":3,"file":"toolDbCrdtGet.js","sourceRoot":"","sources":["../src/toolDbCrdtGet.ts"],"names":[],"mappings":";;;;;AAAA,sBAA+B;AAE/B,2EAAqD;AAErD;;;;;;GAMG;AACH,SAAwB,aAAa,CAEnC,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,iBAyDC;IAtDC,+BAAA,EAAA,sBAAsB;IACtB,0BAAA,EAAA,gBAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,cAAc,IAAI,KAAI,CAAC,SAAS,EAAE,KAAK,SAAS,EAAE;YACpD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,MAAI,KAAI,CAAC,SAAS,EAAE,SAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;SACvC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,IAAM,aAAa,GAAG,UAAU,CAAC;YAC/B,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,IAAS;gBAC7C,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBACtB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;iBACnC;gBACD,IAAI,IAAI,EAAE;oBACR,IAAI;wBACF,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBAC7B,IAAM,UAAQ,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;wBAClC,OAAO,CAAC,UAAQ,CAAC,CAAC;qBACnB;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;iBACF;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAC,GAAG;YAC5B,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;aAClD;YAED,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;gBACvB,IAAM,UAAQ,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrC,OAAO,CAAC,UAAQ,CAAC,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAzDD,gCAyDC"}