tool-db 2.2.0 → 2.5.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 (507) hide show
  1. package/README.md +1 -201
  2. package/lib/adapters-base/networkAdapter.ts +215 -0
  3. package/lib/adapters-base/storageAdapter.ts +35 -0
  4. package/lib/adapters-base/userAdapter.ts +49 -0
  5. package/lib/crdt/baseCrdt.ts +21 -0
  6. package/lib/crdt/counterCrdt.ts +111 -0
  7. package/lib/crdt/listCrdt.ts +190 -0
  8. package/lib/crdt/mapCrdt.ts +119 -0
  9. package/{dist/index.d.ts → lib/index.ts} +16 -16
  10. package/lib/logger.ts +30 -0
  11. package/lib/messageHandlers/handleCrdtGet.ts +29 -0
  12. package/lib/messageHandlers/handleCrdtPut.ts +118 -0
  13. package/lib/messageHandlers/handleGet.ts +29 -0
  14. package/lib/messageHandlers/handlePing.ts +40 -0
  15. package/lib/messageHandlers/handlePong.ts +30 -0
  16. package/lib/messageHandlers/handlePut.ts +54 -0
  17. package/lib/messageHandlers/handleQuery.ts +25 -0
  18. package/lib/messageHandlers/handleSubscribe.ts +46 -0
  19. package/lib/server.ts +7 -0
  20. package/lib/shared.ts +5 -0
  21. package/lib/toolDbAnonSignIn.ts +5 -0
  22. package/lib/toolDbClientOnMessage.ts +75 -0
  23. package/lib/toolDbCrdtGet.ts +82 -0
  24. package/lib/toolDbCrdtPut.ts +77 -0
  25. package/lib/toolDbGet.ts +80 -0
  26. package/lib/toolDbKeysSignIn.ts +16 -0
  27. package/lib/toolDbPut.ts +83 -0
  28. package/lib/toolDbQueryKeys.ts +64 -0
  29. package/lib/toolDbSignIn.ts +31 -0
  30. package/lib/toolDbSignUp.ts +71 -0
  31. package/lib/toolDbSubscribe.ts +53 -0
  32. package/lib/toolDbVerificationWrapper.ts +55 -0
  33. package/lib/tooldb.ts +314 -0
  34. package/lib/types/message.ts +133 -0
  35. package/lib/types/tooldb.ts +89 -0
  36. package/lib/utils/catchReturn.ts +4 -0
  37. package/lib/utils/encoding/arrayBufferToHex.ts +18 -0
  38. package/lib/utils/encoding/arrayBufferToString.ts +8 -0
  39. package/lib/utils/encoding/hexToArrayBuffer.ts +13 -0
  40. package/lib/utils/encoding/hexToString.ts +8 -0
  41. package/lib/utils/encoding/hexToUint8.ts +5 -0
  42. package/lib/utils/encoding/stringToArrayBuffer.ts +8 -0
  43. package/lib/utils/getPeerSignature.ts +12 -0
  44. package/lib/utils/getTimestamp.ts +3 -0
  45. package/lib/utils/proofOfWork.ts +16 -0
  46. package/lib/utils/randomAnimal.ts +77 -0
  47. package/lib/utils/sha1.ts +7 -0
  48. package/lib/utils/sha256.ts +7 -0
  49. package/lib/utils/textRandom.ts +11 -0
  50. package/lib/utils/uniq.ts +3 -0
  51. package/lib/utils/verifyMessage.ts +88 -0
  52. package/lib/utils/verifyPeer.ts +15 -0
  53. package/package.json +31 -69
  54. package/tsconfig.json +10 -72
  55. package/.eslintrc.json +0 -74
  56. package/.github/workflows/main.yml +0 -29
  57. package/babel.config.js +0 -6
  58. package/bundle.js +0 -1
  59. package/custom-test-env.js +0 -28
  60. package/dist/__tests__ copy/base64.d.ts +0 -1
  61. package/dist/__tests__ copy/base64.js +0 -61
  62. package/dist/__tests__ copy/base64.js.map +0 -1
  63. package/dist/__tests__ copy/encryption.d.ts +0 -1
  64. package/dist/__tests__ copy/encryption.js +0 -68
  65. package/dist/__tests__ copy/encryption.js.map +0 -1
  66. package/dist/__tests__ copy/keys.d.ts +0 -1
  67. package/dist/__tests__ copy/keys.js +0 -238
  68. package/dist/__tests__ copy/keys.js.map +0 -1
  69. package/dist/__tests__ copy/network.d.ts +0 -1
  70. package/dist/__tests__ copy/network.js +0 -206
  71. package/dist/__tests__ copy/network.js.map +0 -1
  72. package/dist/__tests__ copy/pow.d.ts +0 -1
  73. package/dist/__tests__ copy/pow.js +0 -25
  74. package/dist/__tests__ copy/pow.js.map +0 -1
  75. package/dist/__tests__ copy/sha1.d.ts +0 -1
  76. package/dist/__tests__ copy/sha1.js +0 -16
  77. package/dist/__tests__ copy/sha1.js.map +0 -1
  78. package/dist/__tests__ copy/sha256.d.ts +0 -1
  79. package/dist/__tests__ copy/sha256.js +0 -16
  80. package/dist/__tests__ copy/sha256.js.map +0 -1
  81. package/dist/__tests__ copy/textRandom.d.ts +0 -1
  82. package/dist/__tests__ copy/textRandom.js +0 -17
  83. package/dist/__tests__ copy/textRandom.js.map +0 -1
  84. package/dist/bundle.js +0 -69086
  85. package/dist/chain/Block.d.ts +0 -29
  86. package/dist/chain/Block.js +0 -142
  87. package/dist/chain/Block.js.map +0 -1
  88. package/dist/chain/ToolChain.d.ts +0 -27
  89. package/dist/chain/ToolChain.js +0 -253
  90. package/dist/chain/ToolChain.js.map +0 -1
  91. package/dist/chain/Tx.d.ts +0 -50
  92. package/dist/chain/Tx.js +0 -54
  93. package/dist/chain/Tx.js.map +0 -1
  94. package/dist/chain/Wallet.d.ts +0 -9
  95. package/dist/chain/Wallet.js +0 -37
  96. package/dist/chain/Wallet.js.map +0 -1
  97. package/dist/chain/isValidChain.d.ts +0 -1
  98. package/dist/chain/isValidChain.js +0 -37
  99. package/dist/chain/isValidChain.js.map +0 -1
  100. package/dist/chain/mempool.d.ts +0 -0
  101. package/dist/chain/mempool.js +0 -2
  102. package/dist/chain/mempool.js.map +0 -1
  103. package/dist/crdt/baseCrdt.d.ts +0 -9
  104. package/dist/crdt/baseCrdt.js +0 -27
  105. package/dist/crdt/baseCrdt.js.map +0 -1
  106. package/dist/crdt/counterCrdt.d.ts +0 -30
  107. package/dist/crdt/counterCrdt.js +0 -124
  108. package/dist/crdt/counterCrdt.js.map +0 -1
  109. package/dist/crdt/listCrdt.d.ts +0 -42
  110. package/dist/crdt/listCrdt.js +0 -177
  111. package/dist/crdt/listCrdt.js.map +0 -1
  112. package/dist/crdt/mapCrdt.d.ts +0 -32
  113. package/dist/crdt/mapCrdt.js +0 -136
  114. package/dist/crdt/mapCrdt.js.map +0 -1
  115. package/dist/getCrypto.d.ts +0 -1
  116. package/dist/getCrypto.js +0 -10
  117. package/dist/getCrypto.js.map +0 -1
  118. package/dist/index.js +0 -99
  119. package/dist/index.js.map +0 -1
  120. package/dist/infuraFilecoin.d.ts +0 -0
  121. package/dist/infuraFilecoin.js +0 -2
  122. package/dist/infuraFilecoin.js.map +0 -1
  123. package/dist/loadCrdtDocument.d.ts +0 -3
  124. package/dist/loadCrdtDocument.js +0 -38
  125. package/dist/loadCrdtDocument.js.map +0 -1
  126. package/dist/makeTx.d.ts +0 -1
  127. package/dist/makeTx.js +0 -27
  128. package/dist/makeTx.js.map +0 -1
  129. package/dist/messageHandlers/handleCrdt.d.ts +0 -3
  130. package/dist/messageHandlers/handleCrdt.js +0 -11
  131. package/dist/messageHandlers/handleCrdt.js.map +0 -1
  132. package/dist/messageHandlers/handleCrdtGet.d.ts +0 -3
  133. package/dist/messageHandlers/handleCrdtGet.js +0 -32
  134. package/dist/messageHandlers/handleCrdtGet.js.map +0 -1
  135. package/dist/messageHandlers/handleCrdtPut.d.ts +0 -3
  136. package/dist/messageHandlers/handleCrdtPut.js +0 -88
  137. package/dist/messageHandlers/handleCrdtPut.js.map +0 -1
  138. package/dist/messageHandlers/handleGet.d.ts +0 -3
  139. package/dist/messageHandlers/handleGet.js +0 -31
  140. package/dist/messageHandlers/handleGet.js.map +0 -1
  141. package/dist/messageHandlers/handleJoin.d.ts +0 -3
  142. package/dist/messageHandlers/handleJoin.js +0 -36
  143. package/dist/messageHandlers/handleJoin.js.map +0 -1
  144. package/dist/messageHandlers/handlePing.d.ts +0 -3
  145. package/dist/messageHandlers/handlePing.js +0 -27
  146. package/dist/messageHandlers/handlePing.js.map +0 -1
  147. package/dist/messageHandlers/handlePong.d.ts +0 -3
  148. package/dist/messageHandlers/handlePong.js +0 -34
  149. package/dist/messageHandlers/handlePong.js.map +0 -1
  150. package/dist/messageHandlers/handlePut.d.ts +0 -3
  151. package/dist/messageHandlers/handlePut.js +0 -53
  152. package/dist/messageHandlers/handlePut.js.map +0 -1
  153. package/dist/messageHandlers/handleQuery.d.ts +0 -3
  154. package/dist/messageHandlers/handleQuery.js +0 -18
  155. package/dist/messageHandlers/handleQuery.js.map +0 -1
  156. package/dist/messageHandlers/handleServers.d.ts +0 -3
  157. package/dist/messageHandlers/handleServers.js +0 -23
  158. package/dist/messageHandlers/handleServers.js.map +0 -1
  159. package/dist/messageHandlers/handleSubscribe.d.ts +0 -3
  160. package/dist/messageHandlers/handleSubscribe.js +0 -43
  161. package/dist/messageHandlers/handleSubscribe.js.map +0 -1
  162. package/dist/server.d.ts +0 -1
  163. package/dist/server.js +0 -12
  164. package/dist/server.js.map +0 -1
  165. package/dist/shared.d.ts +0 -2
  166. package/dist/shared.js +0 -7
  167. package/dist/shared.js.map +0 -1
  168. package/dist/test.d.ts +0 -1
  169. package/dist/test.js +0 -17
  170. package/dist/test.js.map +0 -1
  171. package/dist/toolChainServer.d.ts +0 -8
  172. package/dist/toolChainServer.js +0 -60
  173. package/dist/toolChainServer.js.map +0 -1
  174. package/dist/toolDbAnonSignIn.d.ts +0 -2
  175. package/dist/toolDbAnonSignIn.js +0 -7
  176. package/dist/toolDbAnonSignIn.js.map +0 -1
  177. package/dist/toolDbClientOnMessage.d.ts +0 -3
  178. package/dist/toolDbClientOnMessage.js +0 -62
  179. package/dist/toolDbClientOnMessage.js.map +0 -1
  180. package/dist/toolDbCrdtGet.d.ts +0 -11
  181. package/dist/toolDbCrdtGet.js +0 -80
  182. package/dist/toolDbCrdtGet.js.map +0 -1
  183. package/dist/toolDbCrdtPut.d.ts +0 -11
  184. package/dist/toolDbCrdtPut.js +0 -68
  185. package/dist/toolDbCrdtPut.js.map +0 -1
  186. package/dist/toolDbGet.d.ts +0 -9
  187. package/dist/toolDbGet.js +0 -78
  188. package/dist/toolDbGet.js.map +0 -1
  189. package/dist/toolDbGetPubKey.d.ts +0 -2
  190. package/dist/toolDbGetPubKey.js +0 -18
  191. package/dist/toolDbGetPubKey.js.map +0 -1
  192. package/dist/toolDbKeysSignIn.d.ts +0 -2
  193. package/dist/toolDbKeysSignIn.js +0 -12
  194. package/dist/toolDbKeysSignIn.js.map +0 -1
  195. package/dist/toolDbNetwork.d.ts +0 -20
  196. package/dist/toolDbNetwork.js +0 -193
  197. package/dist/toolDbNetwork.js.map +0 -1
  198. package/dist/toolDbNetworkAdapter.d.ts +0 -57
  199. package/dist/toolDbNetworkAdapter.js +0 -192
  200. package/dist/toolDbNetworkAdapter.js.map +0 -1
  201. package/dist/toolDbPut.d.ts +0 -10
  202. package/dist/toolDbPut.js +0 -70
  203. package/dist/toolDbPut.js.map +0 -1
  204. package/dist/toolDbQueryKeys.d.ts +0 -8
  205. package/dist/toolDbQueryKeys.js +0 -69
  206. package/dist/toolDbQueryKeys.js.map +0 -1
  207. package/dist/toolDbSignIn.d.ts +0 -2
  208. package/dist/toolDbSignIn.js +0 -28
  209. package/dist/toolDbSignIn.js.map +0 -1
  210. package/dist/toolDbSignUp.d.ts +0 -3
  211. package/dist/toolDbSignUp.js +0 -97
  212. package/dist/toolDbSignUp.js.map +0 -1
  213. package/dist/toolDbSubscribe.d.ts +0 -8
  214. package/dist/toolDbSubscribe.js +0 -46
  215. package/dist/toolDbSubscribe.js.map +0 -1
  216. package/dist/toolDbVerificationWrapper.d.ts +0 -2
  217. package/dist/toolDbVerificationWrapper.js +0 -93
  218. package/dist/toolDbVerificationWrapper.js.map +0 -1
  219. package/dist/toolDbWeb3User.d.ts +0 -20
  220. package/dist/toolDbWeb3User.js +0 -75
  221. package/dist/toolDbWeb3User.js.map +0 -1
  222. package/dist/toolDbWebrtc.d.ts +0 -65
  223. package/dist/toolDbWebrtc.js +0 -489
  224. package/dist/toolDbWebrtc.js.map +0 -1
  225. package/dist/toolDbWebsocket.d.ts +0 -19
  226. package/dist/toolDbWebsocket.js +0 -193
  227. package/dist/toolDbWebsocket.js.map +0 -1
  228. package/dist/toolchain.d.ts +0 -1
  229. package/dist/toolchain.js +0 -8
  230. package/dist/toolchain.js.map +0 -1
  231. package/dist/tooldb.d.ts +0 -107
  232. package/dist/tooldb.js +0 -261
  233. package/dist/tooldb.js.map +0 -1
  234. package/dist/types/graph.d.ts +0 -0
  235. package/dist/types/graph.js +0 -2
  236. package/dist/types/graph.js.map +0 -1
  237. package/dist/types/message.d.ts +0 -106
  238. package/dist/types/message.js +0 -17
  239. package/dist/types/message.js.map +0 -1
  240. package/dist/types/tooldb.d.ts +0 -102
  241. package/dist/types/tooldb.js +0 -36
  242. package/dist/types/tooldb.js.map +0 -1
  243. package/dist/utils/arrayBufferToBase64.d.ts +0 -1
  244. package/dist/utils/arrayBufferToBase64.js +0 -12
  245. package/dist/utils/arrayBufferToBase64.js.map +0 -1
  246. package/dist/utils/arrayBufferToHex.d.ts +0 -1
  247. package/dist/utils/arrayBufferToHex.js +0 -19
  248. package/dist/utils/arrayBufferToHex.js.map +0 -1
  249. package/dist/utils/arrayBufferToString.d.ts +0 -1
  250. package/dist/utils/arrayBufferToString.js +0 -12
  251. package/dist/utils/arrayBufferToString.js.map +0 -1
  252. package/dist/utils/base64ToArrayBuffer.d.ts +0 -1
  253. package/dist/utils/base64ToArrayBuffer.js +0 -12
  254. package/dist/utils/base64ToArrayBuffer.js.map +0 -1
  255. package/dist/utils/base64ToBinaryChange.d.ts +0 -2
  256. package/dist/utils/base64ToBinaryChange.js +0 -18
  257. package/dist/utils/base64ToBinaryChange.js.map +0 -1
  258. package/dist/utils/base64ToBinaryDocument.d.ts +0 -2
  259. package/dist/utils/base64ToBinaryDocument.js +0 -18
  260. package/dist/utils/base64ToBinaryDocument.js.map +0 -1
  261. package/dist/utils/base64ToHex.d.ts +0 -1
  262. package/dist/utils/base64ToHex.js +0 -13
  263. package/dist/utils/base64ToHex.js.map +0 -1
  264. package/dist/utils/base64ToUint8.d.ts +0 -1
  265. package/dist/utils/base64ToUint8.js +0 -17
  266. package/dist/utils/base64ToUint8.js.map +0 -1
  267. package/dist/utils/catchReturn.d.ts +0 -1
  268. package/dist/utils/catchReturn.js +0 -8
  269. package/dist/utils/catchReturn.js.map +0 -1
  270. package/dist/utils/crypto/base64KeyToHex.d.ts +0 -1
  271. package/dist/utils/crypto/base64KeyToHex.js +0 -24
  272. package/dist/utils/crypto/base64KeyToHex.js.map +0 -1
  273. package/dist/utils/crypto/base64PublicKeyToHex.d.ts +0 -1
  274. package/dist/utils/crypto/base64PublicKeyToHex.js +0 -22
  275. package/dist/utils/crypto/base64PublicKeyToHex.js.map +0 -1
  276. package/dist/utils/crypto/decodeKeyString.d.ts +0 -1
  277. package/dist/utils/crypto/decodeKeyString.js +0 -12
  278. package/dist/utils/crypto/decodeKeyString.js.map +0 -1
  279. package/dist/utils/crypto/decryptData.d.ts +0 -1
  280. package/dist/utils/crypto/decryptData.js +0 -28
  281. package/dist/utils/crypto/decryptData.js.map +0 -1
  282. package/dist/utils/crypto/decryptWithPass.d.ts +0 -1
  283. package/dist/utils/crypto/decryptWithPass.js +0 -22
  284. package/dist/utils/crypto/decryptWithPass.js.map +0 -1
  285. package/dist/utils/crypto/deriveSecret.d.ts +0 -1
  286. package/dist/utils/crypto/deriveSecret.js +0 -18
  287. package/dist/utils/crypto/deriveSecret.js.map +0 -1
  288. package/dist/utils/crypto/encodeKeyString.d.ts +0 -1
  289. package/dist/utils/crypto/encodeKeyString.js +0 -12
  290. package/dist/utils/crypto/encodeKeyString.js.map +0 -1
  291. package/dist/utils/crypto/encryptData.d.ts +0 -1
  292. package/dist/utils/crypto/encryptData.js +0 -25
  293. package/dist/utils/crypto/encryptData.js.map +0 -1
  294. package/dist/utils/crypto/encryptWithPass.d.ts +0 -1
  295. package/dist/utils/crypto/encryptWithPass.js +0 -22
  296. package/dist/utils/crypto/encryptWithPass.js.map +0 -1
  297. package/dist/utils/crypto/exportKey.d.ts +0 -1
  298. package/dist/utils/crypto/exportKey.js +0 -14
  299. package/dist/utils/crypto/exportKey.js.map +0 -1
  300. package/dist/utils/crypto/exportKeyAsHex.d.ts +0 -1
  301. package/dist/utils/crypto/exportKeyAsHex.js +0 -18
  302. package/dist/utils/crypto/exportKeyAsHex.js.map +0 -1
  303. package/dist/utils/crypto/generateKeyFromPassword.d.ts +0 -1
  304. package/dist/utils/crypto/generateKeyFromPassword.js +0 -25
  305. package/dist/utils/crypto/generateKeyFromPassword.js.map +0 -1
  306. package/dist/utils/crypto/generateKeyPair.d.ts +0 -1
  307. package/dist/utils/crypto/generateKeyPair.js +0 -17
  308. package/dist/utils/crypto/generateKeyPair.js.map +0 -1
  309. package/dist/utils/crypto/generateKeysComb.d.ts +0 -4
  310. package/dist/utils/crypto/generateKeysComb.js +0 -60
  311. package/dist/utils/crypto/generateKeysComb.js.map +0 -1
  312. package/dist/utils/crypto/importKey.d.ts +0 -1
  313. package/dist/utils/crypto/importKey.js +0 -23
  314. package/dist/utils/crypto/importKey.js.map +0 -1
  315. package/dist/utils/crypto/loadKeysComb.d.ts +0 -5
  316. package/dist/utils/crypto/loadKeysComb.js +0 -90
  317. package/dist/utils/crypto/loadKeysComb.js.map +0 -1
  318. package/dist/utils/crypto/loadSignKeys.d.ts +0 -2
  319. package/dist/utils/crypto/loadSignKeys.js +0 -78
  320. package/dist/utils/crypto/loadSignKeys.js.map +0 -1
  321. package/dist/utils/crypto/recoverPubKey.d.ts +0 -1
  322. package/dist/utils/crypto/recoverPubKey.js +0 -33
  323. package/dist/utils/crypto/recoverPubKey.js.map +0 -1
  324. package/dist/utils/crypto/recoverPubKeyFromPrivate.d.ts +0 -1
  325. package/dist/utils/crypto/recoverPubKeyFromPrivate.js +0 -16
  326. package/dist/utils/crypto/recoverPubKeyFromPrivate.js.map +0 -1
  327. package/dist/utils/crypto/saveKeysComb.d.ts +0 -2
  328. package/dist/utils/crypto/saveKeysComb.js +0 -75
  329. package/dist/utils/crypto/saveKeysComb.js.map +0 -1
  330. package/dist/utils/crypto/saveSignKeys.d.ts +0 -2
  331. package/dist/utils/crypto/saveSignKeys.js +0 -67
  332. package/dist/utils/crypto/saveSignKeys.js.map +0 -1
  333. package/dist/utils/crypto/verifyData.d.ts +0 -1
  334. package/dist/utils/crypto/verifyData.js +0 -20
  335. package/dist/utils/crypto/verifyData.js.map +0 -1
  336. package/dist/utils/encoding/arrayBufferToBase64.d.ts +0 -1
  337. package/dist/utils/encoding/arrayBufferToBase64.js +0 -12
  338. package/dist/utils/encoding/arrayBufferToBase64.js.map +0 -1
  339. package/dist/utils/encoding/arrayBufferToHex.d.ts +0 -1
  340. package/dist/utils/encoding/arrayBufferToHex.js +0 -19
  341. package/dist/utils/encoding/arrayBufferToHex.js.map +0 -1
  342. package/dist/utils/encoding/arrayBufferToString.d.ts +0 -1
  343. package/dist/utils/encoding/arrayBufferToString.js +0 -12
  344. package/dist/utils/encoding/arrayBufferToString.js.map +0 -1
  345. package/dist/utils/encoding/base64ToArrayBuffer.d.ts +0 -1
  346. package/dist/utils/encoding/base64ToArrayBuffer.js +0 -12
  347. package/dist/utils/encoding/base64ToArrayBuffer.js.map +0 -1
  348. package/dist/utils/encoding/base64ToBinaryChange.d.ts +0 -2
  349. package/dist/utils/encoding/base64ToBinaryChange.js +0 -18
  350. package/dist/utils/encoding/base64ToBinaryChange.js.map +0 -1
  351. package/dist/utils/encoding/base64ToBinaryDocument.d.ts +0 -2
  352. package/dist/utils/encoding/base64ToBinaryDocument.js +0 -18
  353. package/dist/utils/encoding/base64ToBinaryDocument.js.map +0 -1
  354. package/dist/utils/encoding/base64ToHex.d.ts +0 -1
  355. package/dist/utils/encoding/base64ToHex.js +0 -13
  356. package/dist/utils/encoding/base64ToHex.js.map +0 -1
  357. package/dist/utils/encoding/base64ToUint8.d.ts +0 -1
  358. package/dist/utils/encoding/base64ToUint8.js +0 -17
  359. package/dist/utils/encoding/base64ToUint8.js.map +0 -1
  360. package/dist/utils/encoding/fromBase64.d.ts +0 -1
  361. package/dist/utils/encoding/fromBase64.js +0 -7
  362. package/dist/utils/encoding/fromBase64.js.map +0 -1
  363. package/dist/utils/encoding/hexToArrayBuffer.d.ts +0 -1
  364. package/dist/utils/encoding/hexToArrayBuffer.js +0 -15
  365. package/dist/utils/encoding/hexToArrayBuffer.js.map +0 -1
  366. package/dist/utils/encoding/hexToBase64.d.ts +0 -1
  367. package/dist/utils/encoding/hexToBase64.js +0 -12
  368. package/dist/utils/encoding/hexToBase64.js.map +0 -1
  369. package/dist/utils/encoding/hexToString.d.ts +0 -1
  370. package/dist/utils/encoding/hexToString.js +0 -12
  371. package/dist/utils/encoding/hexToString.js.map +0 -1
  372. package/dist/utils/encoding/hexToUint8.d.ts +0 -1
  373. package/dist/utils/encoding/hexToUint8.js +0 -11
  374. package/dist/utils/encoding/hexToUint8.js.map +0 -1
  375. package/dist/utils/encoding/stringToArrayBuffer.d.ts +0 -1
  376. package/dist/utils/encoding/stringToArrayBuffer.js +0 -12
  377. package/dist/utils/encoding/stringToArrayBuffer.js.map +0 -1
  378. package/dist/utils/encoding/toBase64.d.ts +0 -1
  379. package/dist/utils/encoding/toBase64.js +0 -7
  380. package/dist/utils/encoding/toBase64.js.map +0 -1
  381. package/dist/utils/encoding/uint8ArrayToHex.d.ts +0 -1
  382. package/dist/utils/encoding/uint8ArrayToHex.js +0 -7
  383. package/dist/utils/encoding/uint8ArrayToHex.js.map +0 -1
  384. package/dist/utils/encoding/uint8ToBase64.d.ts +0 -1
  385. package/dist/utils/encoding/uint8ToBase64.js +0 -15
  386. package/dist/utils/encoding/uint8ToBase64.js.map +0 -1
  387. package/dist/utils/fromBase64.d.ts +0 -1
  388. package/dist/utils/fromBase64.js +0 -7
  389. package/dist/utils/fromBase64.js.map +0 -1
  390. package/dist/utils/generateIv.d.ts +0 -1
  391. package/dist/utils/generateIv.js +0 -12
  392. package/dist/utils/generateIv.js.map +0 -1
  393. package/dist/utils/getPeerSignature.d.ts +0 -2
  394. package/dist/utils/getPeerSignature.js +0 -12
  395. package/dist/utils/getPeerSignature.js.map +0 -1
  396. package/dist/utils/getTimestamp.d.ts +0 -1
  397. package/dist/utils/getTimestamp.js +0 -7
  398. package/dist/utils/getTimestamp.js.map +0 -1
  399. package/dist/utils/hexToArrayBuffer.d.ts +0 -1
  400. package/dist/utils/hexToArrayBuffer.js +0 -15
  401. package/dist/utils/hexToArrayBuffer.js.map +0 -1
  402. package/dist/utils/hexToBase64.d.ts +0 -1
  403. package/dist/utils/hexToBase64.js +0 -12
  404. package/dist/utils/hexToBase64.js.map +0 -1
  405. package/dist/utils/hexToString.d.ts +0 -1
  406. package/dist/utils/hexToString.js +0 -12
  407. package/dist/utils/hexToString.js.map +0 -1
  408. package/dist/utils/hexToUint8.d.ts +0 -1
  409. package/dist/utils/hexToUint8.js +0 -8
  410. package/dist/utils/hexToUint8.js.map +0 -1
  411. package/dist/utils/indexedb.d.ts +0 -2
  412. package/dist/utils/indexedb.js +0 -116
  413. package/dist/utils/indexedb.js.map +0 -1
  414. package/dist/utils/leveldb.d.ts +0 -2
  415. package/dist/utils/leveldb.js +0 -85
  416. package/dist/utils/leveldb.js.map +0 -1
  417. package/dist/utils/proofOfWork.d.ts +0 -4
  418. package/dist/utils/proofOfWork.js +0 -19
  419. package/dist/utils/proofOfWork.js.map +0 -1
  420. package/dist/utils/randomAnimal.d.ts +0 -1
  421. package/dist/utils/randomAnimal.js +0 -77
  422. package/dist/utils/randomAnimal.js.map +0 -1
  423. package/dist/utils/sha1.d.ts +0 -1
  424. package/dist/utils/sha1.js +0 -13
  425. package/dist/utils/sha1.js.map +0 -1
  426. package/dist/utils/sha256.d.ts +0 -3
  427. package/dist/utils/sha256.js +0 -13
  428. package/dist/utils/sha256.js.map +0 -1
  429. package/dist/utils/signData.d.ts +0 -1
  430. package/dist/utils/signData.js +0 -19
  431. package/dist/utils/signData.js.map +0 -1
  432. package/dist/utils/stringToArrayBuffer.d.ts +0 -1
  433. package/dist/utils/stringToArrayBuffer.js +0 -12
  434. package/dist/utils/stringToArrayBuffer.js.map +0 -1
  435. package/dist/utils/textRandom.d.ts +0 -1
  436. package/dist/utils/textRandom.js +0 -15
  437. package/dist/utils/textRandom.js.map +0 -1
  438. package/dist/utils/toBase64.d.ts +0 -1
  439. package/dist/utils/toBase64.js +0 -7
  440. package/dist/utils/toBase64.js.map +0 -1
  441. package/dist/utils/uint8ArrayToHex.d.ts +0 -2
  442. package/dist/utils/uint8ArrayToHex.js +0 -7
  443. package/dist/utils/uint8ArrayToHex.js.map +0 -1
  444. package/dist/utils/uint8ToBase64.d.ts +0 -2
  445. package/dist/utils/uint8ToBase64.js +0 -15
  446. package/dist/utils/uint8ToBase64.js.map +0 -1
  447. package/dist/utils/verifyMessage.d.ts +0 -9
  448. package/dist/utils/verifyMessage.js +0 -129
  449. package/dist/utils/verifyMessage.js.map +0 -1
  450. package/dist/utils/verifyPeer.d.ts +0 -3
  451. package/dist/utils/verifyPeer.js +0 -18
  452. package/dist/utils/verifyPeer.js.map +0 -1
  453. package/jest.config.ts +0 -195
  454. package/jest.setup.js +0 -0
  455. package/test-alice/000663.ldb +0 -0
  456. package/test-alice/000665.ldb +0 -0
  457. package/test-alice/000668.ldb +0 -0
  458. package/test-alice/000669.log +0 -0
  459. package/test-alice/CURRENT +0 -1
  460. package/test-alice/LOCK +0 -0
  461. package/test-alice/LOG +0 -5
  462. package/test-alice/LOG.old +0 -5
  463. package/test-alice/MANIFEST-000667 +0 -0
  464. package/test-alice-speed/000035.log +0 -0
  465. package/test-alice-speed/000036.ldb +0 -0
  466. package/test-alice-speed/CURRENT +0 -1
  467. package/test-alice-speed/LOCK +0 -0
  468. package/test-alice-speed/LOG +0 -13
  469. package/test-alice-speed/LOG.old +0 -5
  470. package/test-alice-speed/MANIFEST-000033 +0 -0
  471. package/test-bob/000665.ldb +0 -0
  472. package/test-bob/000667.ldb +0 -0
  473. package/test-bob/000668.log +0 -0
  474. package/test-bob/CURRENT +0 -1
  475. package/test-bob/LOCK +0 -0
  476. package/test-bob/LOG +0 -5
  477. package/test-bob/LOG.old +0 -14
  478. package/test-bob/MANIFEST-000666 +0 -0
  479. package/test-node-a/000663.ldb +0 -0
  480. package/test-node-a/000665.ldb +0 -0
  481. package/test-node-a/000668.ldb +0 -0
  482. package/test-node-a/000669.log +0 -0
  483. package/test-node-a/CURRENT +0 -1
  484. package/test-node-a/LOCK +0 -0
  485. package/test-node-a/LOG +0 -5
  486. package/test-node-a/LOG.old +0 -5
  487. package/test-node-a/MANIFEST-000667 +0 -0
  488. package/test-node-b/000663.ldb +0 -0
  489. package/test-node-b/000665.ldb +0 -0
  490. package/test-node-b/000668.ldb +0 -0
  491. package/test-node-b/000669.log +0 -0
  492. package/test-node-b/CURRENT +0 -1
  493. package/test-node-b/LOCK +0 -0
  494. package/test-node-b/LOG +0 -5
  495. package/test-node-b/LOG.old +0 -5
  496. package/test-node-b/MANIFEST-000667 +0 -0
  497. package/test-verify-a/000026.ldb +0 -0
  498. package/test-verify-a/000029.ldb +0 -0
  499. package/test-verify-a/000031.ldb +0 -0
  500. package/test-verify-a/000033.ldb +0 -0
  501. package/test-verify-a/000250.log +0 -0
  502. package/test-verify-a/CURRENT +0 -1
  503. package/test-verify-a/LOCK +0 -0
  504. package/test-verify-a/LOG +0 -3
  505. package/test-verify-a/LOG.old +0 -3
  506. package/test-verify-a/MANIFEST-000249 +0 -0
  507. package/toolDbLibP2p.ts +0 -206
package/toolDbLibP2p.ts DELETED
@@ -1,206 +0,0 @@
1
- import _ from "lodash";
2
- import Libp2p from "libp2p";
3
- import Websockets from "libp2p-websockets";
4
- import WebRTCStar from "libp2p-webrtc-star";
5
- import { NOISE } from "@chainsafe/libp2p-noise";
6
- import Mplex from "libp2p-mplex";
7
-
8
- import { MuxedStream } from "libp2p-interfaces/dist/src/stream-muxer/types";
9
-
10
- import pipe from "it-pipe";
11
-
12
- import { PingMessage, textRandom, ToolDb, ToolDbMessage } from ".";
13
-
14
- import { ToolDbOptions } from "./types/tooldb";
15
-
16
- export const PROTOCOL_VER = `/tooldb/1.2.0`;
17
-
18
- export default class toolDbLibP2p {
19
- private options: ToolDbOptions;
20
-
21
- private _tooldb: ToolDb;
22
-
23
- private _libp2p: Libp2p | undefined;
24
-
25
- public _clientSockets: Record<string, MuxedStream> = {};
26
-
27
- get clientSockets() {
28
- return this._clientSockets;
29
- }
30
-
31
- get libp2p() {
32
- return this._libp2p;
33
- }
34
-
35
- private async createLibP2p() {
36
- const options = {
37
- addresses: {
38
- listen: [
39
- "/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star",
40
- "/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star",
41
- ],
42
- },
43
- modules: {
44
- transport: [Websockets, WebRTCStar],
45
- connEncryption: [NOISE],
46
- streamMuxer: [Mplex],
47
- },
48
- };
49
-
50
- const node = await Libp2p.create(options);
51
- this._libp2p = node;
52
- (window as any).libp2p = node;
53
- this._tooldb.options.id = node.peerId.toB58String();
54
-
55
- // Listen for new peers
56
- // node.on("peer:discovery", (peerId) => {
57
- // console.log(`Found peer ${peerId.toB58String()}`);
58
- // });
59
-
60
- // Listen for new connections to peers
61
- node.connectionManager.on("peer:connect", (connection: any) => {
62
- // Send message to other peers (connected) using the protocol
63
- node.peerStore.peers.forEach(async (peer: any) => {
64
- const connection = node.connectionManager.get(peer.id);
65
- if (!connection) return;
66
- if (!peer.protocols.includes(PROTOCOL_VER)) {
67
- // Close connections without our protocol
68
- connection.close();
69
- return;
70
- }
71
- const pid = peer.id.toB58String();
72
-
73
- if (!this.clientSockets[pid]) {
74
- console.warn(`Protocol found ${PROTOCOL_VER}`);
75
- try {
76
- const { stream } = await connection.newStream([PROTOCOL_VER]);
77
- this.clientSockets[pid] = stream;
78
- await this.sendToClientId(pid, {
79
- type: "ping",
80
- clientId: this.options.id,
81
- to: [this.options.id],
82
- isServer: this.options.server,
83
- id: textRandom(10),
84
- } as PingMessage);
85
- } catch (err) {
86
- console.info("Could not handshake protocol with peer", err);
87
- }
88
- }
89
- });
90
- });
91
-
92
- // Listen for peers disconnecting
93
- node.connectionManager.on("peer:disconnect", (connection: any) => {
94
- const pid = connection.remotePeer.toB58String();
95
- delete this.clientSockets[pid];
96
- });
97
-
98
- node.handle(PROTOCOL_VER, (args: any) => this.toolDbProtocolHandler(args));
99
- await node.start();
100
- return node;
101
- }
102
-
103
- constructor(db: ToolDb) {
104
- this._tooldb = db;
105
- this.options = db.options;
106
-
107
- this.createLibP2p();
108
- if (this.options.server) {
109
- //
110
- }
111
- }
112
-
113
- public close(clientId: string): void {
114
- if (this.libp2p) {
115
- const conn = this.libp2p.connections.get(clientId);
116
- if (conn && conn[0]) {
117
- conn[0].close();
118
- }
119
- }
120
- }
121
-
122
- /**
123
- * A simple handler to print incoming messages to the console
124
- * @param {Object} params
125
- * @param {Connection} params.connection The connection the stream belongs to
126
- * @param {Stream} params.stream stream to the peer
127
- */
128
- public async toolDbProtocolHandler({
129
- connection,
130
- stream,
131
- }: {
132
- connection: any;
133
- stream: any[];
134
- }) {
135
- try {
136
- await pipe(stream, async (source) => {
137
- for await (const message of source) {
138
- console.info(`${connection.remotePeer.toB58String()}: ${message}`);
139
- try {
140
- const msg = JSON.parse(`${message}`) as ToolDbMessage;
141
- this._tooldb.clientOnMessage(
142
- msg,
143
- connection.remotePeer.toB58String()
144
- );
145
- } catch (e) {
146
- console.log("Got message ERR > ", message);
147
- console.log(e);
148
- }
149
- }
150
- });
151
- // Replies are done on new streams, so let's close this stream so we don't leak it
152
- await pipe([], stream);
153
- } catch (err) {
154
- console.error(err);
155
- }
156
- }
157
-
158
- /**
159
- * Writes a given `message` over the given `stream`.
160
- * @param {String} message The message to send over `stream`
161
- * @param {Stream} stream A stream over the muxed Connection to our peer
162
- */
163
- public async toolDbProtocolSend(message: string, stream: MuxedStream) {
164
- try {
165
- await pipe([message], stream, async function (source: any) {
166
- for await (const message of source) {
167
- console.info(`Me: ${message}`);
168
- }
169
- });
170
- } catch (err) {
171
- console.error(err);
172
- }
173
- }
174
-
175
- public sendToAll(msg: ToolDbMessage, crossServerOnly = false) {
176
- const to = _.uniq([...msg.to, this.options.id]);
177
-
178
- const filteredConns = Object.keys(this.clientSockets).filter(
179
- (id) => !to.includes(id)
180
- );
181
-
182
- filteredConns.forEach((clientId) => {
183
- const stream = this._clientSockets[clientId];
184
- if (!crossServerOnly) {
185
- console.log("Sent out to: ", clientId);
186
- if (stream) {
187
- const message = JSON.stringify({ ...msg, to });
188
- this.toolDbProtocolSend(message, stream);
189
- }
190
- }
191
- });
192
- }
193
-
194
- public sendToClientId(clientId: string, msg: ToolDbMessage) {
195
- const stream = this._clientSockets[clientId];
196
- if (stream) {
197
- const to = _.uniq([...msg.to, this.options.id]);
198
- const message = JSON.stringify({ ...msg, to });
199
- this.toolDbProtocolSend(message, stream);
200
- }
201
- }
202
-
203
- get tooldb() {
204
- return this._tooldb;
205
- }
206
- }