tool-db 1.4.0 → 1.4.5

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 (254) hide show
  1. package/README.md +32 -7
  2. package/bundle.js +69086 -0
  3. package/dist/__tests__ copy/base64.d.ts +1 -0
  4. package/dist/__tests__ copy/base64.js +61 -0
  5. package/dist/__tests__ copy/base64.js.map +1 -0
  6. package/dist/__tests__ copy/encryption.d.ts +1 -0
  7. package/dist/__tests__ copy/encryption.js +68 -0
  8. package/dist/__tests__ copy/encryption.js.map +1 -0
  9. package/dist/__tests__ copy/keys.d.ts +1 -0
  10. package/dist/__tests__ copy/keys.js +238 -0
  11. package/dist/__tests__ copy/keys.js.map +1 -0
  12. package/dist/__tests__ copy/network.d.ts +1 -0
  13. package/dist/__tests__ copy/network.js +206 -0
  14. package/dist/__tests__ copy/network.js.map +1 -0
  15. package/dist/__tests__ copy/pow.d.ts +1 -0
  16. package/dist/__tests__ copy/pow.js +25 -0
  17. package/dist/__tests__ copy/pow.js.map +1 -0
  18. package/dist/__tests__ copy/sha1.d.ts +1 -0
  19. package/dist/__tests__ copy/sha1.js +16 -0
  20. package/dist/__tests__ copy/sha1.js.map +1 -0
  21. package/dist/__tests__ copy/sha256.d.ts +1 -0
  22. package/dist/__tests__ copy/sha256.js +16 -0
  23. package/dist/__tests__ copy/sha256.js.map +1 -0
  24. package/dist/__tests__ copy/textRandom.d.ts +1 -0
  25. package/dist/__tests__ copy/textRandom.js +17 -0
  26. package/dist/__tests__ copy/textRandom.js.map +1 -0
  27. package/dist/bundle.js +69086 -0
  28. package/dist/chain/Block.d.ts +20 -0
  29. package/dist/chain/Block.js +70 -0
  30. package/dist/chain/Block.js.map +1 -0
  31. package/dist/chain/ToolChain.d.ts +10 -0
  32. package/dist/chain/ToolChain.js +64 -0
  33. package/dist/chain/ToolChain.js.map +1 -0
  34. package/dist/chain/Wallet.d.ts +9 -0
  35. package/dist/chain/Wallet.js +37 -0
  36. package/dist/chain/Wallet.js.map +1 -0
  37. package/dist/chain/isValidChain.d.ts +2 -0
  38. package/dist/chain/isValidChain.js +20 -0
  39. package/dist/chain/isValidChain.js.map +1 -0
  40. package/dist/chain/mempool.d.ts +0 -0
  41. package/dist/chain/mempool.js +2 -0
  42. package/dist/chain/mempool.js.map +1 -0
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.js +8 -3
  45. package/dist/index.js.map +1 -1
  46. package/dist/messageHandlers/handlePong.js.map +1 -1
  47. package/dist/toolDbCrdtPut.js +1 -2
  48. package/dist/toolDbCrdtPut.js.map +1 -1
  49. package/dist/toolDbNetwork.js +24 -2
  50. package/dist/toolDbNetwork.js.map +1 -1
  51. package/dist/toolDbPut.js +1 -2
  52. package/dist/toolDbPut.js.map +1 -1
  53. package/dist/toolDbSignUp.d.ts +2 -1
  54. package/dist/toolDbSignUp.js +1 -1
  55. package/dist/toolDbSignUp.js.map +1 -1
  56. package/dist/toolDbVerificationWrapper.d.ts +2 -2
  57. package/dist/toolDbVerificationWrapper.js +1 -1
  58. package/dist/toolDbVerificationWrapper.js.map +1 -1
  59. package/dist/toolDbWebrtc.d.ts +12 -3
  60. package/dist/toolDbWebrtc.js +47 -28
  61. package/dist/toolDbWebrtc.js.map +1 -1
  62. package/dist/tooldb.d.ts +8 -5
  63. package/dist/tooldb.js +15 -6
  64. package/dist/tooldb.js.map +1 -1
  65. package/dist/types/graph.d.ts +0 -23
  66. package/dist/types/graph.js +0 -1
  67. package/dist/types/message.d.ts +1 -0
  68. package/dist/types/message.js +1 -0
  69. package/dist/types/message.js.map +1 -1
  70. package/dist/types/tooldb.d.ts +24 -0
  71. package/dist/utils/arrayBufferToHex.d.ts +1 -0
  72. package/dist/utils/arrayBufferToHex.js +19 -0
  73. package/dist/utils/arrayBufferToHex.js.map +1 -0
  74. package/dist/utils/base64ToHex.d.ts +1 -0
  75. package/dist/utils/base64ToHex.js +13 -0
  76. package/dist/utils/base64ToHex.js.map +1 -0
  77. package/dist/utils/crypto/base64KeyToHex.d.ts +1 -0
  78. package/dist/utils/crypto/base64KeyToHex.js +24 -0
  79. package/dist/utils/crypto/base64KeyToHex.js.map +1 -0
  80. package/dist/utils/crypto/base64PublicKeyToHex.d.ts +1 -0
  81. package/dist/utils/crypto/base64PublicKeyToHex.js +22 -0
  82. package/dist/utils/crypto/base64PublicKeyToHex.js.map +1 -0
  83. package/dist/utils/crypto/exportKeyAsHex.d.ts +1 -0
  84. package/dist/utils/crypto/exportKeyAsHex.js +18 -0
  85. package/dist/utils/crypto/exportKeyAsHex.js.map +1 -0
  86. package/dist/utils/crypto/loadKeysComb.d.ts +1 -1
  87. package/dist/utils/crypto/loadSignKeys.d.ts +1 -1
  88. package/dist/utils/crypto/recoverPubKey.d.ts +1 -0
  89. package/dist/utils/crypto/recoverPubKey.js +27 -0
  90. package/dist/utils/crypto/recoverPubKey.js.map +1 -0
  91. package/dist/utils/crypto/recoverPubKeyFromPrivate.d.ts +1 -0
  92. package/dist/utils/crypto/recoverPubKeyFromPrivate.js +16 -0
  93. package/dist/utils/crypto/recoverPubKeyFromPrivate.js.map +1 -0
  94. package/dist/utils/crypto/saveKeysComb.d.ts +1 -1
  95. package/dist/utils/crypto/saveSignKeys.d.ts +1 -1
  96. package/dist/utils/crypto/verifyData.d.ts +1 -1
  97. package/dist/utils/crypto/verifyData.js +1 -1
  98. package/dist/utils/crypto/verifyData.js.map +1 -1
  99. package/dist/utils/encoding/arrayBufferToBase64.d.ts +1 -0
  100. package/dist/utils/encoding/arrayBufferToBase64.js +12 -0
  101. package/dist/utils/encoding/arrayBufferToBase64.js.map +1 -0
  102. package/dist/utils/encoding/arrayBufferToHex.d.ts +1 -0
  103. package/dist/utils/encoding/arrayBufferToHex.js +19 -0
  104. package/dist/utils/encoding/arrayBufferToHex.js.map +1 -0
  105. package/dist/utils/encoding/arrayBufferToString.d.ts +1 -0
  106. package/dist/utils/encoding/arrayBufferToString.js +12 -0
  107. package/dist/utils/encoding/arrayBufferToString.js.map +1 -0
  108. package/dist/utils/encoding/base64ToArrayBuffer.d.ts +1 -0
  109. package/dist/utils/encoding/base64ToArrayBuffer.js +12 -0
  110. package/dist/utils/encoding/base64ToArrayBuffer.js.map +1 -0
  111. package/dist/utils/encoding/base64ToBinaryChange.d.ts +2 -0
  112. package/dist/utils/encoding/base64ToBinaryChange.js +18 -0
  113. package/dist/utils/encoding/base64ToBinaryChange.js.map +1 -0
  114. package/dist/utils/encoding/base64ToBinaryDocument.d.ts +2 -0
  115. package/dist/utils/encoding/base64ToBinaryDocument.js +18 -0
  116. package/dist/utils/encoding/base64ToBinaryDocument.js.map +1 -0
  117. package/dist/utils/encoding/base64ToHex.d.ts +1 -0
  118. package/dist/utils/encoding/base64ToHex.js +13 -0
  119. package/dist/utils/encoding/base64ToHex.js.map +1 -0
  120. package/dist/utils/encoding/base64ToUint8.d.ts +1 -0
  121. package/dist/utils/encoding/base64ToUint8.js +17 -0
  122. package/dist/utils/encoding/base64ToUint8.js.map +1 -0
  123. package/dist/utils/encoding/fromBase64.d.ts +1 -0
  124. package/dist/utils/encoding/fromBase64.js +7 -0
  125. package/dist/utils/encoding/fromBase64.js.map +1 -0
  126. package/dist/utils/encoding/hexToArrayBuffer.d.ts +1 -0
  127. package/dist/utils/encoding/hexToArrayBuffer.js +15 -0
  128. package/dist/utils/encoding/hexToArrayBuffer.js.map +1 -0
  129. package/dist/utils/encoding/hexToBase64.d.ts +1 -0
  130. package/dist/utils/encoding/hexToBase64.js +12 -0
  131. package/dist/utils/encoding/hexToBase64.js.map +1 -0
  132. package/dist/utils/encoding/hexToString.d.ts +1 -0
  133. package/dist/utils/encoding/hexToString.js +12 -0
  134. package/dist/utils/encoding/hexToString.js.map +1 -0
  135. package/dist/utils/encoding/hexToUint8.d.ts +1 -0
  136. package/dist/utils/encoding/hexToUint8.js +11 -0
  137. package/dist/utils/encoding/hexToUint8.js.map +1 -0
  138. package/dist/utils/encoding/stringToArrayBuffer.d.ts +1 -0
  139. package/dist/utils/encoding/stringToArrayBuffer.js +12 -0
  140. package/dist/utils/encoding/stringToArrayBuffer.js.map +1 -0
  141. package/dist/utils/encoding/toBase64.d.ts +1 -0
  142. package/dist/utils/encoding/toBase64.js +7 -0
  143. package/dist/utils/encoding/toBase64.js.map +1 -0
  144. package/dist/utils/encoding/uint8ArrayToHex.d.ts +2 -0
  145. package/dist/utils/encoding/uint8ArrayToHex.js +7 -0
  146. package/dist/utils/encoding/uint8ArrayToHex.js.map +1 -0
  147. package/dist/utils/encoding/uint8ToBase64.d.ts +2 -0
  148. package/dist/utils/encoding/uint8ToBase64.js +15 -0
  149. package/dist/utils/encoding/uint8ToBase64.js.map +1 -0
  150. package/dist/utils/getPeerSignature.js +1 -1
  151. package/dist/utils/getPeerSignature.js.map +1 -1
  152. package/dist/utils/getTimestamp.d.ts +1 -0
  153. package/dist/utils/getTimestamp.js +7 -0
  154. package/dist/utils/getTimestamp.js.map +1 -0
  155. package/dist/utils/hexToArrayBuffer.d.ts +1 -0
  156. package/dist/utils/hexToArrayBuffer.js +15 -0
  157. package/dist/utils/hexToArrayBuffer.js.map +1 -0
  158. package/dist/utils/hexToBase64.d.ts +1 -0
  159. package/dist/utils/hexToBase64.js +12 -0
  160. package/dist/utils/hexToBase64.js.map +1 -0
  161. package/dist/utils/hexToString.d.ts +1 -0
  162. package/dist/utils/hexToString.js +12 -0
  163. package/dist/utils/hexToString.js.map +1 -0
  164. package/dist/utils/hexToUint8.d.ts +1 -0
  165. package/dist/utils/hexToUint8.js +8 -0
  166. package/dist/utils/hexToUint8.js.map +1 -0
  167. package/dist/utils/signData.d.ts +1 -1
  168. package/dist/utils/signData.js +2 -8
  169. package/dist/utils/signData.js.map +1 -1
  170. package/dist/utils/uint8ArrayToHex.d.ts +2 -0
  171. package/dist/utils/uint8ArrayToHex.js +7 -0
  172. package/dist/utils/uint8ArrayToHex.js.map +1 -0
  173. package/dist/utils/verifyMessage.d.ts +2 -1
  174. package/dist/utils/verifyMessage.js +30 -5
  175. package/dist/utils/verifyMessage.js.map +1 -1
  176. package/dist/utils/verifyPeer.js +1 -1
  177. package/dist/utils/verifyPeer.js.map +1 -1
  178. package/package.json +10 -3
  179. package/test-alice/000858.ldb +0 -0
  180. package/test-alice/000860.ldb +0 -0
  181. package/test-alice/000863.ldb +0 -0
  182. package/test-alice/000864.log +0 -0
  183. package/test-alice/CURRENT +1 -1
  184. package/test-alice/LOG +5 -5
  185. package/test-alice/LOG.old +5 -5
  186. package/test-alice/MANIFEST-000862 +0 -0
  187. package/test-bob/000785.ldb +0 -0
  188. package/test-bob/000787.ldb +0 -0
  189. package/test-bob/000790.ldb +0 -0
  190. package/test-bob/000791.log +0 -0
  191. package/test-bob/CURRENT +1 -1
  192. package/test-bob/LOG +5 -5
  193. package/test-bob/LOG.old +5 -14
  194. package/test-bob/MANIFEST-000789 +0 -0
  195. package/test-keys-a/000593.log +0 -0
  196. package/test-keys-a/CURRENT +1 -0
  197. package/test-keys-a/LOCK +0 -0
  198. package/test-keys-a/LOG +3 -0
  199. package/test-keys-a/LOG.old +3 -0
  200. package/test-keys-a/MANIFEST-000592 +0 -0
  201. package/test-keys-b/000593.log +0 -0
  202. package/test-keys-b/CURRENT +1 -0
  203. package/test-keys-b/LOCK +0 -0
  204. package/test-keys-b/LOG +3 -0
  205. package/test-keys-b/LOG.old +3 -0
  206. package/test-keys-b/MANIFEST-000592 +0 -0
  207. package/test-node-a/000871.ldb +0 -0
  208. package/test-node-a/000873.ldb +0 -0
  209. package/test-node-a/000876.ldb +0 -0
  210. package/test-node-a/000879.ldb +0 -0
  211. package/test-node-a/000880.log +0 -0
  212. package/test-node-a/CURRENT +1 -1
  213. package/test-node-a/LOG +5 -5
  214. package/test-node-a/LOG.old +5 -5
  215. package/test-node-a/MANIFEST-000878 +0 -0
  216. package/test-node-b/000871.ldb +0 -0
  217. package/test-node-b/000873.ldb +0 -0
  218. package/test-node-b/000876.ldb +0 -0
  219. package/test-node-b/000879.ldb +0 -0
  220. package/test-node-b/000880.log +0 -0
  221. package/test-node-b/CURRENT +1 -1
  222. package/test-node-b/LOG +5 -5
  223. package/test-node-b/LOG.old +5 -5
  224. package/test-node-b/MANIFEST-000878 +0 -0
  225. package/test-verify-a/000725.log +0 -0
  226. package/test-verify-a/CURRENT +1 -0
  227. package/test-verify-a/LOCK +0 -0
  228. package/test-verify-a/LOG +3 -0
  229. package/test-verify-a/LOG.old +3 -0
  230. package/test-verify-a/MANIFEST-000724 +0 -0
  231. package/dist/webrtc/joinWebrtcTorrent.d.ts +0 -3
  232. package/dist/webrtc/joinWebrtcTorrent.js +0 -312
  233. package/dist/webrtc/joinWebrtcTorrent.js.map +0 -1
  234. package/test-alice/000236.ldb +0 -0
  235. package/test-alice/000344.ldb +0 -0
  236. package/test-alice/000520.ldb +0 -0
  237. package/test-alice/000522.ldb +0 -0
  238. package/test-alice/000525.ldb +0 -0
  239. package/test-alice/000526.log +0 -0
  240. package/test-alice/MANIFEST-000524 +0 -0
  241. package/test-bob/000520.ldb +0 -0
  242. package/test-bob/000522.ldb +0 -0
  243. package/test-bob/000523.log +0 -0
  244. package/test-bob/MANIFEST-000521 +0 -0
  245. package/test-node-a/000524.ldb +0 -0
  246. package/test-node-a/000526.ldb +0 -0
  247. package/test-node-a/000529.ldb +0 -0
  248. package/test-node-a/000530.log +0 -0
  249. package/test-node-a/MANIFEST-000528 +0 -0
  250. package/test-node-b/000524.ldb +0 -0
  251. package/test-node-b/000526.ldb +0 -0
  252. package/test-node-b/000529.ldb +0 -0
  253. package/test-node-b/000530.log +0 -0
  254. package/test-node-b/MANIFEST-000528 +0 -0
@@ -78,6 +78,7 @@ var lodash_1 = __importDefault(require("lodash"));
78
78
  var simple_peer_1 = __importDefault(require("simple-peer"));
79
79
  var _1 = require(".");
80
80
  var tooldb_1 = require("./types/tooldb");
81
+ var ws_1 = __importDefault(require("ws"));
81
82
  var offerPoolSize = 5;
82
83
  var announceSecs = 30;
83
84
  var maxAnnounceSecs = 120;
@@ -92,11 +93,16 @@ var toolDbWebrtc = /** @class */ (function (_super) {
92
93
  __extends(toolDbWebrtc, _super);
93
94
  function toolDbWebrtc(db) {
94
95
  var _this = _super.call(this, db) || this;
96
+ _this.wnd = typeof window === "undefined" ? undefined : window;
97
+ _this.wss = _this.wnd
98
+ ? _this.wnd.WebSocket || _this.wnd.webkitWebSocket || _this.wnd.mozWebSocket
99
+ : ws_1.default;
95
100
  _this.sockets = {};
96
101
  _this.socketListeners = {};
97
102
  _this.peerMap = {};
98
103
  _this.connectedPeers = {};
99
- _this.onDisconnect = function (id) {
104
+ _this.onDisconnect = function (id, err) {
105
+ console.warn(id, err);
100
106
  if (_this.connectedPeers[id])
101
107
  delete _this.connectedPeers[id];
102
108
  if (_this.peerMap[id])
@@ -108,6 +114,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
108
114
  _this.initPeer = function (initiator, trickle, rtcConfig // RTCConfiguration
109
115
  ) {
110
116
  var peer = new simple_peer_1.default({
117
+ wrtc: _this._tooldb.options.wrtc,
111
118
  initiator: initiator,
112
119
  trickle: trickle,
113
120
  config: rtcConfig,
@@ -119,17 +126,22 @@ var toolDbWebrtc = /** @class */ (function (_super) {
119
126
  _this.trackerUrls = defaultTrackerUrls; // .slice(0, 2);
120
127
  _this.infoHash = "";
121
128
  /**
122
- * Make connection offerst to send to the tracker
129
+ * Make connection offers (sdp) to send to the tracker
123
130
  */
124
131
  _this.makeOffers = function () {
125
132
  var offers = {};
126
133
  new Array(offerPoolSize).fill(0).forEach(function () {
127
- var peer = _this.initPeer(true, false, {});
128
- var oid = (0, _1.textRandom)(20);
129
- offers[oid] = {
130
- peer: peer,
131
- offerP: new Promise(function (res) { return peer.once("signal", res); }),
132
- };
134
+ try {
135
+ var peer_1 = _this.initPeer(true, false, {});
136
+ var oid = (0, _1.textRandom)(20);
137
+ offers[oid] = {
138
+ peer: peer_1,
139
+ offerP: new Promise(function (res) { return peer_1.once("signal", res); }),
140
+ };
141
+ }
142
+ catch (e) {
143
+ console.warn(e);
144
+ }
133
145
  });
134
146
  return offers;
135
147
  };
@@ -138,8 +150,11 @@ var toolDbWebrtc = /** @class */ (function (_super) {
138
150
  */
139
151
  _this.onPeerConnect = function (peer, id) {
140
152
  if (_this.peerMap[id]) {
141
- return;
153
+ _this.peerMap[id].end();
154
+ _this.peerMap[id].destroy();
155
+ delete _this.peerMap[id];
142
156
  }
157
+ // console.log("onPeerConnect", id);
143
158
  var onData = function (data) {
144
159
  var str = new TextDecoder().decode(data);
145
160
  try {
@@ -149,7 +164,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
149
164
  msg.type !== "pong") {
150
165
  _this.tooldb.clientOnMessage(msg, id);
151
166
  }
152
- if (msg.type === "pong") {
167
+ if (msg.type === "pong" || msg.type === "ping") {
153
168
  _this.tooldb.onConnect();
154
169
  }
155
170
  }
@@ -159,8 +174,8 @@ var toolDbWebrtc = /** @class */ (function (_super) {
159
174
  };
160
175
  _this.peerMap[id] = peer;
161
176
  peer.on("data", onData);
162
- peer.on("close", function () { return _this.onDisconnect(id); });
163
- peer.on("error", function () { return _this.onDisconnect(id); });
177
+ peer.on("close", function (err) { return _this.onDisconnect(id, err); });
178
+ peer.on("error", function (err) { return _this.onDisconnect(id, err); });
164
179
  peer.send(JSON.stringify({
165
180
  type: "ping",
166
181
  }));
@@ -182,6 +197,8 @@ var toolDbWebrtc = /** @class */ (function (_super) {
182
197
  Object.entries(_this.offerPool).forEach(function (_a) {
183
198
  var id = _a[0], peer = _a[1].peer;
184
199
  if (!_this.handledOffers[id] && !_this.connectedPeers[id]) {
200
+ // console.log("closed peer " + id);
201
+ peer.end();
185
202
  peer.destroy();
186
203
  delete _this.peerMap[id];
187
204
  }
@@ -197,7 +214,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
197
214
  if (!_this.sockets[url]) {
198
215
  _this.socketListeners[url] = __assign(__assign({}, _this.socketListeners[url]), (_a = {}, _a[info_hash] = _this.onSocketMessage, _a));
199
216
  try {
200
- var socket_1 = new WebSocket(url);
217
+ var socket_1 = new _this.wss(url);
201
218
  // eslint-disable-next-line func-names
202
219
  var socks_1 = _this.sockets;
203
220
  socket_1.onopen = function () {
@@ -281,7 +298,9 @@ var toolDbWebrtc = /** @class */ (function (_super) {
281
298
  case 0: return [4 /*yield*/, this.makeSocket(url, this.infoHash)];
282
299
  case 1:
283
300
  socket = _a.sent();
284
- if (socket && socket.readyState === WebSocket.OPEN) {
301
+ // console.log("socket", url, Object.keys(socket || {}));
302
+ if (socket && socket.readyState === ws_1.default.OPEN) {
303
+ // console.log("announce to " + url);
285
304
  this.announce(socket, this.infoHash);
286
305
  }
287
306
  return [2 /*return*/];
@@ -295,7 +314,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
295
314
  * Handle the tracker messages
296
315
  */
297
316
  _this.onSocketMessage = function (socket, e) { return __awaiter(_this, void 0, void 0, function () {
298
- var val, failure, peer_1, offer, peer_2;
317
+ var val, failure, peer_2, offer, peer_3;
299
318
  var _this = this;
300
319
  return __generator(this, function (_a) {
301
320
  try {
@@ -328,8 +347,8 @@ var toolDbWebrtc = /** @class */ (function (_super) {
328
347
  return [2 /*return*/];
329
348
  }
330
349
  this.handledOffers[val.offer_id] = true;
331
- peer_1 = this.initPeer(false, false, {});
332
- peer_1.once("signal", function (answer) {
350
+ peer_2 = this.initPeer(false, false, {});
351
+ peer_2.once("signal", function (answer) {
333
352
  return socket.send(JSON.stringify({
334
353
  answer: answer,
335
354
  action: "announce",
@@ -339,9 +358,9 @@ var toolDbWebrtc = /** @class */ (function (_super) {
339
358
  offer_id: val.offer_id,
340
359
  }));
341
360
  });
342
- peer_1.on("connect", function () { return _this.onConnect(peer_1, val.peer_id); });
343
- peer_1.on("close", function () { return _this.onDisconnect(val.peer_id); });
344
- peer_1.signal(val.offer);
361
+ peer_2.on("connect", function () { return _this.onConnect(peer_2, val.peer_id); });
362
+ peer_2.on("close", function (err) { return _this.onDisconnect(val.peer_id, err); });
363
+ peer_2.signal(val.offer);
345
364
  return [2 /*return*/];
346
365
  }
347
366
  if (val.answer) {
@@ -353,16 +372,16 @@ var toolDbWebrtc = /** @class */ (function (_super) {
353
372
  }
354
373
  offer = this.offerPool[val.offer_id];
355
374
  if (offer) {
356
- peer_2 = offer.peer;
357
- if (peer_2.destroyed) {
375
+ peer_3 = offer.peer;
376
+ if (peer_3.destroyed) {
358
377
  return [2 /*return*/];
359
378
  }
360
379
  this.handledOffers[val.offer_id] = true;
361
- peer_2.on("connect", function () {
362
- _this.onConnect(peer_2, val.peer_id, val.offer_id);
380
+ peer_3.on("connect", function () {
381
+ _this.onConnect(peer_3, val.peer_id, val.offer_id);
363
382
  });
364
- peer_2.on("close", function () { return _this.onDisconnect(val.peer_id); });
365
- peer_2.signal(val.answer);
383
+ peer_3.on("close", function (err) { return _this.onDisconnect(val.peer_id, err); });
384
+ peer_3.signal(val.answer);
366
385
  }
367
386
  }
368
387
  return [2 /*return*/];
@@ -411,7 +430,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
411
430
  var peer = _this.peerMap[id];
412
431
  if (peer.connected) {
413
432
  if (_this.tooldb.options.debug) {
414
- console.log("Sent out to: ", id);
433
+ // console.log("Sent out to: ", id);
415
434
  // console.log("OUT > ", { ...msg, to });
416
435
  }
417
436
  peer.send(JSON.stringify(__assign(__assign({}, msg), { to: to })));
@@ -429,7 +448,7 @@ var toolDbWebrtc = /** @class */ (function (_super) {
429
448
  .forEach(function (id) {
430
449
  var peer = _this.peerMap[id];
431
450
  if (peer.connected) {
432
- var to = lodash_1.default.uniq(__spreadArray(__spreadArray([], msg.to, true), [
451
+ var to = lodash_1.default.uniq(__spreadArray(__spreadArray([], [msg.to || []], false), [
433
452
  encodeURIComponent(_this.tooldb.options.id).slice(-20),
434
453
  ], false));
435
454
  peer.send(JSON.stringify(__assign(__assign({}, msg), { to: to })));
@@ -1 +1 @@
1
- {"version":3,"file":"toolDbWebrtc.js","sourceRoot":"","sources":["../src/toolDbWebrtc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolDbWebrtc.js","sourceRoot":"","sources":["../src/toolDbWebrtc.ts"],"names":[],"mappings":"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"}
package/dist/tooldb.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { FreezeObject } from "automerge";
3
3
  import EventEmitter from "events";
4
- import { CrdtMessage, PutMessage, ToolDbMessage, VerificationData } from ".";
4
+ import { BaseMessage, CrdtMessage, PutMessage, ToolDbMessage, VerificationData, verifyMessage } from ".";
5
5
  import toolDbGet from "./toolDbGet";
6
6
  import toolDbPut from "./toolDbPut";
7
7
  import toolDbSignIn from "./toolDbSignIn";
@@ -33,7 +33,7 @@ export interface Listener {
33
33
  }
34
34
  interface Verificator<T> {
35
35
  key: string;
36
- fn: (msg: VerificationData<T>) => Promise<boolean>;
36
+ fn: (msg: VerificationData<T> & BaseMessage) => Promise<boolean>;
37
37
  }
38
38
  export default class ToolDb extends EventEmitter {
39
39
  private _network;
@@ -41,10 +41,13 @@ export default class ToolDb extends EventEmitter {
41
41
  private _peers;
42
42
  private _documents;
43
43
  clientOnMessage: typeof toolDbClientOnMessage;
44
+ verifyMessage: typeof verifyMessage;
44
45
  private _subscriptions;
45
46
  get subscriptions(): string[];
46
47
  private _processedIds;
47
48
  get processedIds(): Record<string, string[]>;
49
+ private _processedOutHashes;
50
+ get processedOutHashes(): Record<string, string[]>;
48
51
  subscribeData: typeof toolDbSubscribe;
49
52
  onDisconnect: () => void;
50
53
  onConnect: () => void;
@@ -87,7 +90,7 @@ export default class ToolDb extends EventEmitter {
87
90
  * Custom verificators can enhance default verification on any key field
88
91
  */
89
92
  _customVerificator: (Verificator<any> | null)[];
90
- addCustomVerification: <T = any>(key: string, fn: (msg: VerificationData) => Promise<boolean>) => number;
93
+ addCustomVerification: <T = any>(key: string, fn: (msg: VerificationData & BaseMessage) => Promise<boolean>) => number;
91
94
  removeCustomVerification: (id: number) => void;
92
95
  user: {
93
96
  keys: {
@@ -99,9 +102,9 @@ export default class ToolDb extends EventEmitter {
99
102
  } | undefined;
100
103
  private _options;
101
104
  get options(): ToolDbOptions;
102
- get network(): import("./types/tooldb").ToolDbNetworkAdapter;
105
+ get network(): import(".").ToolDbNetworkAdapter;
103
106
  get peers(): Peer[];
104
- get store(): import("./types/tooldb").ToolDbStore;
107
+ get store(): import(".").ToolDbStore;
105
108
  get documents(): Record<string, FreezeObject<any>>;
106
109
  constructor(options?: Partial<ToolDbOptions>);
107
110
  }
package/dist/tooldb.js CHANGED
@@ -65,8 +65,10 @@ var ToolDb = /** @class */ (function (_super) {
65
65
  _this._peers = [];
66
66
  _this._documents = {};
67
67
  _this.clientOnMessage = toolDbClientOnMessage_1.default;
68
+ _this.verifyMessage = _1.verifyMessage;
68
69
  _this._subscriptions = [];
69
70
  _this._processedIds = {};
71
+ _this._processedOutHashes = {};
70
72
  _this.subscribeData = toolDbSubscribe_1.default;
71
73
  // Emitted when there are no more server peers connected to
72
74
  _this.onDisconnect = function () {
@@ -118,6 +120,7 @@ var ToolDb = /** @class */ (function (_super) {
118
120
  timeout: null,
119
121
  fn: fn,
120
122
  };
123
+ _this._keyListeners.push(newListener);
121
124
  return _this._keyListeners.length;
122
125
  };
123
126
  _this.removeKeyListener = function (id) {
@@ -184,16 +187,15 @@ var ToolDb = /** @class */ (function (_super) {
184
187
  _this._options.privateKey = key.privateKey;
185
188
  (0, _1.exportKey)("spki", key.publicKey).then(function (skpub) {
186
189
  _this._options.id = (0, _1.encodeKeyString)(skpub);
187
- if (_this._options.debug) {
188
- console.log("My ID is:", _this._options.id);
189
- }
190
+ _this.emit("init", _this._options._id);
190
191
  });
191
192
  }
192
193
  })
193
194
  .catch(console.warn);
194
- } // else {
195
- // this._options.id = sha1(`${textRandom(100)}-${new Date().getTime()}`);
196
- // }
195
+ }
196
+ else {
197
+ _this.emit("init", _this._options._id);
198
+ }
197
199
  // These could be made to be customizable by setting the variables as public
198
200
  _this._network = new _this.options.networkAdapter(_this);
199
201
  _this._store = _this.options.storageAdapter(_this.options.storageName);
@@ -213,6 +215,13 @@ var ToolDb = /** @class */ (function (_super) {
213
215
  enumerable: false,
214
216
  configurable: true
215
217
  });
218
+ Object.defineProperty(ToolDb.prototype, "processedOutHashes", {
219
+ get: function () {
220
+ return this._processedOutHashes;
221
+ },
222
+ enumerable: false,
223
+ configurable: true
224
+ });
216
225
  ToolDb.prototype.getUserNamespacedKey = function (key) {
217
226
  var _a;
218
227
  return ":" + (((_a = this.user) === null || _a === void 0 ? void 0 : _a.pubKey) || "") + "." + key;
@@ -1 +1 @@
1
- {"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAkC;AAElC,sBAUW;AAEX,0DAAoC;AACpC,0DAAoC;AACpC,gEAA0C;AAC1C,gEAA0C;AAC1C,kEAA4C;AAC5C,kEAA4C;AAC5C,kEAA4C;AAC5C,sEAAgD;AAChD,wEAAkD;AAClD,kFAA4D;AAC5D,0FAAoE;AAEpE,4DAAsC;AACtC,8DAAwC;AAExC,sEAAgD;AAEhD,sEAAgD;AAChD,wEAAkD;AAClD,wEAAkD;AAElD,0EAAoD;AACpD,0EAAoD;AACpD,4EAAsD;AACtD,4EAAsD;AACtD,4EAAsD;AACtD,8EAAwD;AACxD,kFAA4D;AAC5D,kFAA4D;AAC5D,sFAAgE;AAehE;IAAoC,0BAAY;IA4M9C,gBAAY,OAAoC;QAApC,wBAAA,EAAA,YAAoC;QAAhD,YACE,iBAAO,SA2BR;QArOO,YAAM,GAAW,EAAE,CAAC;QAEpB,gBAAU,GAAsC,EAAE,CAAC;QAEpD,qBAAe,GAAG,+BAAqB,CAAC;QAEvC,oBAAc,GAAa,EAAE,CAAC;QAM9B,mBAAa,GAA6B,EAAE,CAAC;QAM9C,mBAAa,GAAG,yBAAe,CAAC;QAEvC,2DAA2D;QACpD,kBAAY,GAAG;YACpB,EAAE;QACJ,CAAC,CAAC;QAEF,kDAAkD;QAC3C,eAAS,GAAG;YACjB,EAAE;QACJ,CAAC,CAAC;QAEK,sBAAgB,GAAG,0BAAgB,CAAC;QAEpC,aAAO,GAAG,mBAAS,CAAC;QAEpB,aAAO,GAAG,mBAAS,CAAC;QAEpB,aAAO,GAAG,uBAAa,CAAC;QAExB,aAAO,GAAG,uBAAa,CAAC;QAExB,eAAS,GAAG,yBAAe,CAAC;QAE5B,eAAS,GAAG,yBAAe,CAAC;QAE5B,YAAM,GAAG,sBAAY,CAAC;QAEtB,gBAAU,GAAG,0BAAgB,CAAC;QAE9B,gBAAU,GAAG,0BAAgB,CAAC;QAE9B,YAAM,GAAG,sBAAY,CAAC;QAEtB,YAAM,GAAG,mCAAyB,CAAC;QAE1C,+BAA+B;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,mBAAa,GAAG,uBAAa,CAAC;QAC9B,mBAAa,GAAG,uBAAa,CAAC;QAC9B,eAAS,GAAG,mBAAS,CAAC;QACtB,eAAS,GAAG,mBAAS,CAAC;QACtB,iBAAW,GAAG,qBAAW,CAAC;QAC1B,qBAAe,GAAG,yBAAe,CAAC;QAEzC;;WAEG;QACI,kBAAY,GAAiD,EAAE,CAAC;QAEhE,mBAAa,GAAG,UAAC,EAAU,EAAE,EAAgC;YAClE,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC;QAEK,sBAAgB,GAAG,UAAC,EAAU;YACnC,OAAO,KAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC;QAMF;;WAEG;QACI,mBAAa,GAAwB,EAAE,CAAC;QAExC,oBAAc,GAAG,UACtB,GAAW,EACX,EAA8C;YAE9C,IAAM,WAAW,GAAa;gBAC5B,GAAG,KAAA;gBACH,OAAO,EAAE,IAAI;gBACb,EAAE,IAAA;aACH,CAAC;YAEF,OAAO,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC;QAEK,uBAAiB,GAAG,UAAC,EAAU;;YACpC,IAAI,MAAA,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC,0CAAE,OAAO,EAAE;gBACnC,YAAY,CAAC,CAAA,MAAA,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC,0CAAE,OAAO,KAAI,SAAS,CAAC,CAAC;aAC5D;YAED,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAChC,CAAC,CAAC;QAEK,wBAAkB,GAAG,UAC1B,GAAW,EACX,OAAiC;YAEjC,6CAA6C;YAC7C,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,QAAQ;gBAClC,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,MAAK,GAAG,EAAE;oBACzB,sCAAsC;oBACtC,IAAI,QAAQ,CAAC,OAAO,EAAE;wBACpB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;qBAChC;oBACD,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,cAAM,OAAA,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAApB,CAAoB,EAC1B,KAAI,CAAC,OAAO,CAAC,cAAc,CACrB,CAAC;iBACV;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF;;WAEG;QACI,wBAAkB,GAAgC,EAAE,CAAC;QAErD,2BAAqB,GAAG,UAC7B,GAAW,EACX,EAA+C;YAE/C,IAAM,WAAW,GAAmB;gBAClC,GAAG,KAAA;gBACH,EAAE,IAAA;aACH,CAAC;YAEF,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,OAAO,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC;QAEK,8BAAwB,GAAG,UAAC,EAAU;YAC3C,KAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACrC,CAAC,CAAC;QAEK,UAAI,GAAG,SAST,CAAC;QAEE,cAAQ,GAAkB;YAChC,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,GAAG;YACnB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,SAAS;YACrB,cAAc,EAAE,uBAAa;YAC7B,WAAW,EAAE,QAAQ;YACrB,cAAc,EAAE,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAO,CAAC,CAAC,CAAC,kBAAQ;YAClE,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,iBAAiB;YACxB,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;SACtB,CAAC;QAyBA,KAAI,CAAC,QAAQ,yBAAQ,KAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAC;QAEhD,IAAI,KAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAA,kBAAe,EAAC,OAAO,EAAE,KAAK,CAAC;iBAC5B,IAAI,CAAC,UAAC,GAAG;gBACR,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,EAAE;oBACnC,KAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;oBACxC,KAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;oBAE1C,IAAA,YAAS,EAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;wBAC1C,KAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAA,kBAAe,EAAC,KAAoB,CAAC,CAAC;wBACzD,IAAI,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;4BACvB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;yBAC5C;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxB,CAAC,SAAS;QACX,yEAAyE;QACzE,IAAI;QAEJ,4EAA4E;QAC5E,KAAI,CAAC,QAAQ,GAAG,IAAI,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAI,CAAC,CAAC;QACtD,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;;IACtE,CAAC;IA7ND,sBAAI,iCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;;;OAAA;IAID,sBAAI,gCAAY;aAAhB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;;;OAAA;IA8DM,qCAAoB,GAA3B,UAA4B,GAAW;;QACrC,OAAO,GAAG,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;IACrD,CAAC;IAqGD,sBAAI,2BAAO;aAAX;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,2BAAO;aAAX;YACE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,yBAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,yBAAK;aAAT;YACE,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,6BAAS;aAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;;;OAAA;IA+BH,aAAC;AAAD,CAAC,AAzOD,CAAoC,gBAAY,GAyO/C"}
1
+ {"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- export interface ParsedKeys {
2
- skpub: string;
3
- skpriv: string;
4
- ekpub: string;
5
- ekpriv: string;
6
- }
7
- export interface Keys {
8
- pub: string;
9
- priv: string;
10
- }
11
- export declare type GenericObject = {
12
- [key: string]: any;
13
- };
14
- export interface UserRootData {
15
- keys: {
16
- skpub: string;
17
- skpriv: string;
18
- ekpub: string;
19
- ekpriv: string;
20
- };
21
- iv: string;
22
- pass: string;
23
- }
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
2
  //# sourceMappingURL=graph.js.map
@@ -3,6 +3,7 @@ export declare enum VerifyResult {
3
3
  CustomVerificationFailed = "CustomVerificationFailed",
4
4
  InvalidData = "InvalidData",
5
5
  InvalidVerification = "InvalidVerification",
6
+ CantOverwrite = "CantOverwrite",
6
7
  InvalidTimestamp = "InvalidTimestamp",
7
8
  PubKeyMismatch = "PubKeyMismatch",
8
9
  NoProofOfWork = "NoProofOfWork",
@@ -6,6 +6,7 @@ var VerifyResult;
6
6
  VerifyResult["CustomVerificationFailed"] = "CustomVerificationFailed";
7
7
  VerifyResult["InvalidData"] = "InvalidData";
8
8
  VerifyResult["InvalidVerification"] = "InvalidVerification";
9
+ VerifyResult["CantOverwrite"] = "CantOverwrite";
9
10
  VerifyResult["InvalidTimestamp"] = "InvalidTimestamp";
10
11
  VerifyResult["PubKeyMismatch"] = "PubKeyMismatch";
11
12
  VerifyResult["NoProofOfWork"] = "NoProofOfWork";
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,2CAA2B,CAAA;IAC3B,2DAA2C,CAAA;IAC3C,qDAAqC,CAAA;IACrC,iDAAiC,CAAA;IACjC,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;AACvB,CAAC,EAVW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAUvB"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,2CAA2B,CAAA;IAC3B,2DAA2C,CAAA;IAC3C,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,iDAAiC,CAAA;IACjC,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;AACvB,CAAC,EAXW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAWvB"}
@@ -46,4 +46,28 @@ export interface ToolDbOptions {
46
46
  topic: string;
47
47
  publicKey: CryptoKey | undefined;
48
48
  privateKey: CryptoKey | undefined;
49
+ [extra: string]: any;
50
+ }
51
+ export interface ParsedKeys {
52
+ skpub: string;
53
+ skpriv: string;
54
+ ekpub: string;
55
+ ekpriv: string;
56
+ }
57
+ export interface Keys {
58
+ pub: string;
59
+ priv: string;
60
+ }
61
+ export declare type GenericObject = {
62
+ [key: string]: any;
63
+ };
64
+ export interface UserRootData {
65
+ keys: {
66
+ skpub: string;
67
+ skpriv: string;
68
+ ekpub: string;
69
+ ekpriv: string;
70
+ };
71
+ iv: string;
72
+ pass: string;
49
73
  }
@@ -0,0 +1 @@
1
+ export default function arrayBufferToHex(buffer: ArrayBuffer): string;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function arrayBufferToHex(buffer) {
4
+ var data_view = new DataView(buffer);
5
+ var iii;
6
+ var len;
7
+ var hex = "";
8
+ var c;
9
+ for (iii = 0, len = data_view.byteLength; iii < len; iii += 1) {
10
+ c = data_view.getUint8(iii).toString(16);
11
+ if (c.length < 2) {
12
+ c = "0" + c;
13
+ }
14
+ hex += c;
15
+ }
16
+ return hex;
17
+ }
18
+ exports.default = arrayBufferToHex;
19
+ //# sourceMappingURL=arrayBufferToHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrayBufferToHex.js","sourceRoot":"","sources":["../../src/utils/arrayBufferToHex.ts"],"names":[],"mappings":";;AAAA,SAAwB,gBAAgB,CAAC,MAAmB;IAC1D,IAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,GAAG,CAAC;IACR,IAAI,GAAG,CAAC;IACR,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,CAAC;IAEN,KAAK,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;QAC7D,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;SACb;QAED,GAAG,IAAI,CAAC,CAAC;KACV;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAjBD,mCAiBC"}
@@ -0,0 +1 @@
1
+ export default function base64ToHex(str: string): string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function base64ToHex(str) {
4
+ var raw = atob(str);
5
+ var result = "";
6
+ for (var i = 0; i < raw.length; i++) {
7
+ var hex = raw.charCodeAt(i).toString(16);
8
+ result += hex.length === 2 ? hex : "0" + hex;
9
+ }
10
+ return result.toUpperCase();
11
+ }
12
+ exports.default = base64ToHex;
13
+ //# sourceMappingURL=base64ToHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64ToHex.js","sourceRoot":"","sources":["../../src/utils/base64ToHex.ts"],"names":[],"mappings":";;AAAA,SAAwB,WAAW,CAAC,GAAW;IAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,IAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;KAC9C;IACD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AARD,8BAQC"}
@@ -0,0 +1 @@
1
+ export default function base64KeyToHex(key: string): Promise<string>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var getCrypto_1 = __importDefault(require("../../getCrypto"));
7
+ var arrayBufferToHex_1 = __importDefault(require("../arrayBufferToHex"));
8
+ var base64ToHex_1 = __importDefault(require("../base64ToHex"));
9
+ var hexToArrayBuffer_1 = __importDefault(require("../hexToArrayBuffer"));
10
+ var importKey_1 = __importDefault(require("./importKey"));
11
+ function base64KeyToHex(key) {
12
+ return new Promise(function (resolve) {
13
+ var debasedKey = (0, hexToArrayBuffer_1.default)((0, base64ToHex_1.default)(key));
14
+ return (0, importKey_1.default)(debasedKey, "spki", "ECDSA", ["verify"]).then(function (skpub) {
15
+ var crypto = (0, getCrypto_1.default)();
16
+ return crypto.subtle.exportKey("raw", skpub).then(function (pk) {
17
+ var publicHexed = (0, arrayBufferToHex_1.default)(pk);
18
+ resolve(publicHexed);
19
+ });
20
+ });
21
+ });
22
+ }
23
+ exports.default = base64KeyToHex;
24
+ //# sourceMappingURL=base64KeyToHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64KeyToHex.js","sourceRoot":"","sources":["../../../src/utils/crypto/base64KeyToHex.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AACxC,yEAAmD;AACnD,+DAAyC;AACzC,yEAAmD;AACnD,0DAAoC;AAEpC,SAAwB,cAAc,CAAC,GAAW;IAChD,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACzB,IAAM,UAAU,GAAG,IAAA,0BAAgB,EAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,IAAA,mBAAS,EAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnE,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;gBACnD,IAAM,WAAW,GAAG,IAAA,0BAAgB,EAAC,EAAE,CAAC,CAAC;gBACzC,OAAO,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAXD,iCAWC"}
@@ -0,0 +1 @@
1
+ export default function base64PublicKeyToHex(key: string): Promise<string>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var base64ToHex_1 = __importDefault(require("../encoding/base64ToHex"));
7
+ var hexToArrayBuffer_1 = __importDefault(require("../encoding/hexToArrayBuffer"));
8
+ var exportKeyAsHex_1 = __importDefault(require("./exportKeyAsHex"));
9
+ var importKey_1 = __importDefault(require("./importKey"));
10
+ function base64PublicKeyToHex(key) {
11
+ return new Promise(function (resolve) {
12
+ var debasedKey = (0, hexToArrayBuffer_1.default)((0, base64ToHex_1.default)(key));
13
+ return (0, importKey_1.default)(debasedKey, "spki", "ECDSA", ["verify"]).then(function (skpub) {
14
+ return (0, exportKeyAsHex_1.default)(skpub).then(function (pk) {
15
+ var publicHexed = pk;
16
+ resolve(publicHexed);
17
+ });
18
+ });
19
+ });
20
+ }
21
+ exports.default = base64PublicKeyToHex;
22
+ //# sourceMappingURL=base64PublicKeyToHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64PublicKeyToHex.js","sourceRoot":"","sources":["../../../src/utils/crypto/base64PublicKeyToHex.ts"],"names":[],"mappings":";;;;;AAAA,wEAAkD;AAClD,kFAA4D;AAC5D,oEAA8C;AAC9C,0DAAoC;AAEpC,SAAwB,oBAAoB,CAAC,GAAW;IACtD,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;QACzB,IAAM,UAAU,GAAG,IAAA,0BAAgB,EAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,IAAA,mBAAS,EAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACnE,OAAO,IAAA,wBAAc,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;gBACnC,IAAM,WAAW,GAAG,EAAE,CAAC;gBACvB,OAAO,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,uCAUC"}
@@ -0,0 +1 @@
1
+ export default function exportKeyAsHex(key: CryptoKey): Promise<string>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var getCrypto_1 = __importDefault(require("../../getCrypto"));
7
+ var arrayBufferToHex_1 = __importDefault(require("../encoding/arrayBufferToHex"));
8
+ function exportKeyAsHex(key) {
9
+ var crypto = (0, getCrypto_1.default)();
10
+ return new Promise(function (resolve) {
11
+ crypto.subtle.exportKey("raw", key).then(function (pk) {
12
+ var hexedKey = (0, arrayBufferToHex_1.default)(pk);
13
+ resolve(hexedKey);
14
+ });
15
+ });
16
+ }
17
+ exports.default = exportKeyAsHex;
18
+ //# sourceMappingURL=exportKeyAsHex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportKeyAsHex.js","sourceRoot":"","sources":["../../../src/utils/crypto/exportKeyAsHex.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AACxC,kFAA4D;AAE5D,SAAwB,cAAc,CAAC,GAAc;IACnD,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAE3B,OAAO,IAAI,OAAO,CAAS,UAAC,OAAO;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE;YAC1C,IAAM,QAAQ,GAAG,IAAA,0BAAgB,EAAC,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AATD,iCASC"}
@@ -1,4 +1,4 @@
1
- import { ParsedKeys } from "../../types/graph";
1
+ import { ParsedKeys } from "../../types/tooldb";
2
2
  export default function loadKeysComb(parsedKeys: ParsedKeys): Promise<{
3
3
  signKeys: CryptoKeyPair;
4
4
  encryptionKeys: CryptoKeyPair;
@@ -1,2 +1,2 @@
1
- import { Keys } from "../../types/graph";
1
+ import { Keys } from "../../types/tooldb";
2
2
  export default function loadKeysComb(parsedKeys: Keys): Promise<CryptoKeyPair | undefined>;
@@ -0,0 +1 @@
1
+ export default function recoverPubKey(origMessage: string, signature: ArrayBuffer): [string, string];