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
package/README.md CHANGED
@@ -27,6 +27,25 @@ While the database is currently functioning as expected, there are many things t
27
27
  - Allow messages encryption, add methods for Elliptic Curves, shared keys, etc.
28
28
  - Allow adding Noise/encryption to connections (probably based on the ECC?)
29
29
 
30
+ # Install
31
+
32
+ You can install ToolDb via npm or yarn;
33
+
34
+ ```
35
+ npm install tool-db
36
+ ```
37
+
38
+ or use it via script in your html;
39
+
40
+ ```
41
+ <script src="https://unpkg.com/tool-db/bundle.js"></script>
42
+ ```
43
+
44
+ That will include all of ToolDb exports in `tooldb`, then you can use it like;
45
+
46
+ ```
47
+ const { ToolDb, sha256 } = tooldb;
48
+ ```
30
49
 
31
50
  ## Base usage
32
51
  Connect to the selected toolDb peers;
@@ -38,34 +57,34 @@ These are the options you can pass to the constructor:
38
57
 
39
58
  ```
40
59
  {
41
- // Database name to use
60
+ // Database name to use (default "tooldb")
42
61
  db: string;
43
62
 
44
- // Show debug console logs
63
+ // Show debug console logs (default false)
45
64
  debug: boolean;
46
65
 
47
66
  // Array of peers to connect to, each one in the form of { host: "127.0.0.1", port: 9000 }
48
67
  peers: { host: "127.0.0.1", port: 9000 }[];
49
68
 
50
- // Max number of tries when a connection fails
69
+ // Max number of tries when a connection fails (default 5)
51
70
  maxRetries: number;
52
71
 
53
- // How long to wait (max) for a debounced key listener recv
72
+ // How long to wait (max) for a debounced key listener recv (default 100)
54
73
  triggerDebouce: number;
55
74
 
56
- // How long to wait between retries
75
+ // How long to wait between retries (default 2000)
57
76
  wait: number;
58
77
 
59
- // If you want to force a Proof of Work on all messages, set how much (zero is no POW)
78
+ // If you want to force a Proof of Work on all messages, set how much (zero is no POW, default 0)
60
79
  pow: number;
61
80
 
62
- // Weter we are a server or not
81
+ // Whether we are a server or not (default false)
63
82
  server: boolean;
64
83
 
65
84
  // Our hostname (server only)
66
85
  host: string
67
86
 
68
- // Port to listen incoming connections (server only)
87
+ // Port to listen incoming connections (server only, default is 8080)
69
88
  port: number;
70
89
 
71
90
  // A server instance like Express (server only)
@@ -80,10 +99,10 @@ These are the options you can pass to the constructor:
80
99
  // A custom storage adapter function
81
100
  storageAdapter: ToolDbStorageAdapter;
82
101
 
83
- // Our client ID (defaults to a random ID)
102
+ // Our client ID (defaults to a generated publicKey)
84
103
  id: string;
85
104
 
86
- // The namespace/topic of our app
105
+ // The namespace/topic of our app (default is "tool-db-default")
87
106
  topic: string;
88
107
 
89
108
  // Public and private (ECDSA) keys of our client. In the default network adapter these are used to sign
@@ -104,9 +123,7 @@ client.anonSignIn().then();
104
123
 
105
124
  To retrieve your public key; (only if logged in)
106
125
  ```
107
- client.getPubKey().then(pubKey);
108
- // or
109
- client.user?.pubKey
126
+ client.getPubKey();
110
127
  ```
111
128
 
112
129
  You can check if you are correctly logged in by checking if the user field exists or not;
@@ -200,7 +217,8 @@ function handleDocumentKeyCrdt(msg) {
200
217
  ## Events
201
218
 
202
219
  If you need to check when you are connected to a server peer or not you can use the following method replacements;
220
+
203
221
  ```
204
- client.onConnect = () => { /* Your code here */ };
222
+ client.onConnect = (remotePeerId: string) => { /* Your code here */ };
205
223
  client.onDisconnect = () => { /* Your code here */ };
206
224
  ```