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/dist/tooldb.js CHANGED
@@ -30,6 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  var events_1 = __importDefault(require("events"));
33
+ var web3_1 = __importDefault(require("web3"));
33
34
  var _1 = require(".");
34
35
  var toolDbGet_1 = __importDefault(require("./toolDbGet"));
35
36
  var toolDbPut_1 = __importDefault(require("./toolDbPut"));
@@ -38,7 +39,6 @@ var toolDbSignUp_1 = __importDefault(require("./toolDbSignUp"));
38
39
  var toolDbNetwork_1 = __importDefault(require("./toolDbNetwork"));
39
40
  var toolDbCrdtGet_1 = __importDefault(require("./toolDbCrdtGet"));
40
41
  var toolDbCrdtPut_1 = __importDefault(require("./toolDbCrdtPut"));
41
- var toolDbGetPubKey_1 = __importDefault(require("./toolDbGetPubKey"));
42
42
  var toolDbAnonSignIn_1 = __importDefault(require("./toolDbAnonSignIn"));
43
43
  var toolDbClientOnMessage_1 = __importDefault(require("./toolDbClientOnMessage"));
44
44
  var toolDbVerificationWrapper_1 = __importDefault(require("./toolDbVerificationWrapper"));
@@ -70,21 +70,31 @@ var ToolDb = /** @class */ (function (_super) {
70
70
  _this._processedIds = {};
71
71
  _this._processedOutHashes = {};
72
72
  _this.subscribeData = toolDbSubscribe_1.default;
73
- // Emitted when there are no more server peers connected to
73
+ _this.isConnected = false;
74
+ /**
75
+ * Emitted after a disconnection, when there are no more peers connected to.
76
+ */
74
77
  _this.onDisconnect = function () {
75
78
  //
76
79
  };
77
- // Emitted when a server peer responds with "pong"
80
+ /**
81
+ * Emitted the first time we are connected to a peer.
82
+ */
78
83
  _this.onConnect = function () {
79
84
  //
80
85
  };
86
+ _this.onPeerDisconnect = function (peerId) {
87
+ //
88
+ };
89
+ _this.onPeerConnect = function (peerId) {
90
+ //
91
+ };
81
92
  _this.loadCrdtDocument = loadCrdtDocument_1.default;
82
93
  _this.getData = toolDbGet_1.default;
83
94
  _this.putData = toolDbPut_1.default;
84
95
  _this.putCrdt = toolDbCrdtPut_1.default;
85
96
  _this.getCrdt = toolDbCrdtGet_1.default;
86
97
  _this.queryKeys = toolDbQueryKeys_1.default;
87
- _this.getPubKey = toolDbGetPubKey_1.default;
88
98
  _this.signIn = toolDbSignIn_1.default;
89
99
  _this.anonSignIn = toolDbAnonSignIn_1.default;
90
100
  _this.keysSignIn = toolDbKeysSignIn_1.default;
@@ -157,7 +167,7 @@ var ToolDb = /** @class */ (function (_super) {
157
167
  _this.removeCustomVerification = function (id) {
158
168
  _this._customVerificator[id] = null;
159
169
  };
160
- _this.user = undefined;
170
+ _this._user = undefined;
161
171
  _this._options = {
162
172
  db: "tooldb",
163
173
  peers: [],
@@ -173,29 +183,14 @@ var ToolDb = /** @class */ (function (_super) {
173
183
  networkAdapter: toolDbNetwork_1.default,
174
184
  storageName: "tooldb",
175
185
  storageAdapter: typeof window === "undefined" ? leveldb_1.default : indexedb_1.default,
176
- id: "",
177
186
  topic: "tool-db-default",
178
- publicKey: undefined,
179
- privateKey: undefined,
187
+ peerAccount: undefined,
180
188
  };
181
189
  _this._options = __assign(__assign({}, _this.options), options);
182
- if (_this._options.id === "") {
183
- (0, _1.generateKeyPair)("ECDSA", false)
184
- .then(function (key) {
185
- if (key.publicKey && key.privateKey) {
186
- _this._options.publicKey = key.publicKey;
187
- _this._options.privateKey = key.privateKey;
188
- (0, _1.exportKey)("spki", key.publicKey).then(function (skpub) {
189
- _this._options.id = (0, _1.encodeKeyString)(skpub);
190
- _this.emit("init", _this._options._id);
191
- });
192
- }
193
- })
194
- .catch(console.warn);
195
- }
196
- else {
197
- _this.emit("init", _this._options._id);
198
- }
190
+ _this.web3 = new web3_1.default(web3_1.default.givenProvider);
191
+ var account = _this.web3.eth.accounts.create();
192
+ _this.options.peerAccount = account;
193
+ _this.emit("init", account.address);
199
194
  // These could be made to be customizable by setting the variables as public
200
195
  _this._network = new _this.options.networkAdapter(_this);
201
196
  _this._store = _this.options.storageAdapter(_this.options.storageName);
@@ -222,9 +217,31 @@ var ToolDb = /** @class */ (function (_super) {
222
217
  enumerable: false,
223
218
  configurable: true
224
219
  });
225
- ToolDb.prototype.getUserNamespacedKey = function (key) {
220
+ ToolDb.prototype.setUser = function (account, name) {
221
+ this._user = account
222
+ ? {
223
+ account: account,
224
+ name: name,
225
+ }
226
+ : undefined;
227
+ };
228
+ ToolDb.prototype.signData = function (data) {
229
+ if (this._user) {
230
+ var signature = this.web3.eth.accounts.sign(data, this._user.account.privateKey);
231
+ return signature;
232
+ }
233
+ return undefined;
234
+ };
235
+ ToolDb.prototype.getPubKey = function () {
236
+ var _a;
237
+ return (_a = this._user) === null || _a === void 0 ? void 0 : _a.account.address;
238
+ };
239
+ ToolDb.prototype.getUsername = function () {
226
240
  var _a;
227
- return ":" + (((_a = this.user) === null || _a === void 0 ? void 0 : _a.pubKey) || "") + "." + key;
241
+ return (_a = this._user) === null || _a === void 0 ? void 0 : _a.name;
242
+ };
243
+ ToolDb.prototype.getUserNamespacedKey = function (key) {
244
+ return ":" + (this.getPubKey() || "") + "." + key;
228
245
  };
229
246
  Object.defineProperty(ToolDb.prototype, "options", {
230
247
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":"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"}
@@ -11,19 +11,55 @@ export declare enum VerifyResult {
11
11
  InvalidSignature = "InvalidSignature",
12
12
  Verified = "Verified"
13
13
  }
14
+ export interface VerificationDataLegacy<T = any> {
15
+ p: string;
16
+ k: string;
17
+ n: number;
18
+ h: string;
19
+ t: number;
20
+ s: string;
21
+ v: T;
22
+ }
14
23
  export interface VerificationData<T = any> {
24
+ /**
25
+ * Key/id
26
+ */
15
27
  k: string;
16
- p: string;
28
+ /**
29
+ * Adress
30
+ */
31
+ a: string;
32
+ /**
33
+ * Nonce
34
+ */
17
35
  n: number;
36
+ /**
37
+ * Hash of JSON.stringify(value) + nonce
38
+ */
18
39
  h: string;
40
+ /**
41
+ * Timestamp this was created
42
+ */
19
43
  t: number;
44
+ /**
45
+ * Signature
46
+ */
20
47
  s: string;
48
+ /**
49
+ * Value
50
+ */
21
51
  v: T;
22
52
  }
23
53
  export declare type MessageType = "ping" | "pong" | "query" | "queryAck" | "subscribe" | "get" | "put" | "crdtPut" | "crdtGet" | "crdt" | "join" | "servers";
24
54
  export interface BaseMessage {
25
55
  type: MessageType;
56
+ /**
57
+ * Unique random id for the message, to ack back
58
+ */
26
59
  id: string;
60
+ /**
61
+ * Who was this message sent to already
62
+ */
27
63
  to: string[];
28
64
  }
29
65
  export interface JoinMessage extends BaseMessage {
@@ -58,6 +94,9 @@ export interface SubscribeMessage extends BaseMessage {
58
94
  }
59
95
  export interface GetMessage extends BaseMessage {
60
96
  type: "get";
97
+ /**
98
+ * key we want to get
99
+ */
61
100
  key: string;
62
101
  }
63
102
  export interface PutMessage<T = any> extends BaseMessage, VerificationData<T> {
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import { Account } from "web3-core";
2
3
  import { Server as HTTPServer } from "http";
3
4
  import { Server as HTTPSServer } from "https";
4
5
  import { ToolDb, ToolDbMessage } from "..";
@@ -13,7 +14,7 @@ export interface Peer {
13
14
  timestamp: number;
14
15
  host: string;
15
16
  port: number;
16
- pubkey: string;
17
+ adress: string;
17
18
  sig: string;
18
19
  }
19
20
  export interface ToolDbStore {
@@ -25,28 +26,73 @@ export interface ToolDbStore {
25
26
  export declare type ToolDbStorageAdapter = (dbName?: string) => ToolDbStore;
26
27
  export declare type ToolDbMessageHandler = (this: ToolDb, message: ToolDbMessage, remotePeerId: string) => void;
27
28
  export interface ToolDbOptions {
29
+ /**
30
+ * Database name to use
31
+ */
28
32
  db: string;
33
+ /**
34
+ * Show debug console logs
35
+ */
29
36
  debug: boolean;
37
+ /**
38
+ * Array of peers to connect to
39
+ */
30
40
  peers: {
31
41
  host: string;
32
42
  port: number;
33
43
  }[];
44
+ /**
45
+ * Max number of tries when a connection fails
46
+ */
34
47
  maxRetries: number;
48
+ /**
49
+ * How long to wait (max) for a debounced key listener recv
50
+ */
35
51
  triggerDebouce: number;
52
+ /**
53
+ * How long to wait between retries
54
+ */
36
55
  wait: number;
56
+ /**
57
+ * Port to listen incoming connections (server only)
58
+ */
37
59
  pow: number;
60
+ /**
61
+ * Whether we are a server or not
62
+ */
38
63
  server: boolean;
64
+ /**
65
+ * A server instance like Express (server only)
66
+ */
39
67
  httpServer: HTTPServer | HTTPSServer | undefined;
68
+ /**
69
+ * Our hostname (server only)
70
+ */
40
71
  host: string;
72
+ /**
73
+ * Port to listen incoming connections (server only, default is 8080)
74
+ */
41
75
  port: number;
76
+ /**
77
+ * Our storage namespace (default is "tooldb")
78
+ */
42
79
  storageName: string;
80
+ /**
81
+ * A custom network adapter class
82
+ */
43
83
  networkAdapter: typeof ToolDbNetworkAdapter;
84
+ /**
85
+ * A custom storage adapter function
86
+ */
44
87
  storageAdapter: ToolDbStorageAdapter;
45
- id: string;
88
+ /**
89
+ * The namespace/topic of our app (default is "tool-db-default")
90
+ */
46
91
  topic: string;
47
- publicKey: CryptoKey | undefined;
48
- privateKey: CryptoKey | undefined;
49
- [extra: string]: any;
92
+ /**
93
+ * Peer's ETH account (generated at init, random)
94
+ */
95
+ peerAccount: Account;
50
96
  }
51
97
  export interface ParsedKeys {
52
98
  skpub: string;
@@ -62,12 +108,8 @@ export declare type GenericObject = {
62
108
  [key: string]: any;
63
109
  };
64
110
  export interface UserRootData {
65
- keys: {
66
- skpub: string;
67
- skpriv: string;
68
- ekpub: string;
69
- ekpriv: string;
70
- };
111
+ address: string;
112
+ privateKey: string;
71
113
  iv: string;
72
114
  pass: string;
73
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../../src/types/tooldb.ts"],"names":[],"mappings":";;;AAIA;IACE,8BAAY,EAAU;QACpB,EAAE;IACJ,CAAC;IAEM,oCAAK,GAAZ,UAAa,QAAgB;QAC3B,EAAE;IACJ,CAAC;IAEM,wCAAS,GAAhB,UACE,GAAkB,EAClB,eAAuB,EACvB,OAAe;QADf,gCAAA,EAAA,uBAAuB;QACvB,wBAAA,EAAA,eAAe;QAEf,EAAE;IACJ,CAAC;IAEM,6CAAc,GAArB,UAAsB,QAAgB,EAAE,GAAkB;QACxD,EAAE;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,oDAAoB"}
1
+ {"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../../src/types/tooldb.ts"],"names":[],"mappings":";;;AAKA;IACE,8BAAY,EAAU;QACpB,EAAE;IACJ,CAAC;IAEM,oCAAK,GAAZ,UAAa,QAAgB;QAC3B,EAAE;IACJ,CAAC;IAEM,wCAAS,GAAhB,UACE,GAAkB,EAClB,eAAuB,EACvB,OAAe;QADf,gCAAA,EAAA,uBAAuB;QACvB,wBAAA,EAAA,eAAe;QAEf,EAAE;IACJ,CAAC;IAEM,6CAAc,GAArB,UAAsB,QAAgB,EAAE,GAAkB;QACxD,EAAE;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,oDAAoB"}
@@ -1 +1 @@
1
- export default function decodeKeyString(keydataB64: string): ArrayBuffer;
1
+ export default function decodeKeyString(keyDataHex: string): ArrayBuffer;
@@ -3,10 +3,9 @@ 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 stringToArrayBuffer_1 = __importDefault(require("../stringToArrayBuffer"));
7
- function decodeKeyString(keydataB64) {
8
- var keydataS = global.atob(keydataB64);
9
- var keydata = (0, stringToArrayBuffer_1.default)(keydataS);
6
+ var hexToArrayBuffer_1 = __importDefault(require("../encoding/hexToArrayBuffer"));
7
+ function decodeKeyString(keyDataHex) {
8
+ var keydata = (0, hexToArrayBuffer_1.default)(keyDataHex);
10
9
  return keydata;
11
10
  }
12
11
  exports.default = decodeKeyString;
@@ -1 +1 @@
1
- {"version":3,"file":"decodeKeyString.js","sourceRoot":"","sources":["../../../src/utils/crypto/decodeKeyString.ts"],"names":[],"mappings":";;;;;AAAA,+EAAyD;AAEzD,SAAwB,eAAe,CAAC,UAAkB;IACxD,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,IAAM,OAAO,GAAG,IAAA,6BAAmB,EAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,kCAIC"}
1
+ {"version":3,"file":"decodeKeyString.js","sourceRoot":"","sources":["../../../src/utils/crypto/decodeKeyString.ts"],"names":[],"mappings":";;;;;AAAA,kFAA4D;AAE5D,SAAwB,eAAe,CAAC,UAAkB;IACxD,IAAM,OAAO,GAAG,IAAA,0BAAgB,EAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,kCAGC"}
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var getCrypto_1 = __importDefault(require("../../getCrypto"));
7
- var arrayBufferToString_1 = __importDefault(require("../arrayBufferToString"));
8
- var base64ToUint8_1 = __importDefault(require("../base64ToUint8"));
7
+ var arrayBufferToString_1 = __importDefault(require("../encoding/arrayBufferToString"));
8
+ var base64ToUint8_1 = __importDefault(require("../encoding/base64ToUint8"));
9
9
  var catchReturn_1 = __importDefault(require("../catchReturn"));
10
- var stringToArrayBuffer_1 = __importDefault(require("../stringToArrayBuffer"));
10
+ var stringToArrayBuffer_1 = __importDefault(require("../encoding/stringToArrayBuffer"));
11
11
  function decryptData(data, privateKey, iv) {
12
12
  var crypto = (0, getCrypto_1.default)();
13
13
  return crypto.subtle
@@ -1 +1 @@
1
- {"version":3,"file":"decryptData.js","sourceRoot":"","sources":["../../../src/utils/crypto/decryptData.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AACxC,+EAAyD;AACzD,mEAA6C;AAC7C,+DAAyC;AACzC,+EAAyD;AAEzD,SAAwB,WAAW,CACjC,IAAY,EACZ,UAAqB,EACrB,EAAU;IAEV,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM;SACjB,OAAO,CACN;QACE,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,IAAA,uBAAa,EAAC,EAAE,CAAC;QACrB,SAAS,EAAE,GAAG,EAAE,6CAA6C;KAC9D,EACD,UAAU,EAAE,sCAAsC;IAClD,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAC,0BAA0B;KACrD;SACA,IAAI,CAAC,UAAC,SAAS;QACd,uDAAuD;QACvD,OAAO,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,KAAK,CAAC,qBAAW,CAAC,CAAC;AACxB,CAAC;AArBD,8BAqBC"}
1
+ {"version":3,"file":"decryptData.js","sourceRoot":"","sources":["../../../src/utils/crypto/decryptData.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AACxC,wFAAkE;AAClE,4EAAsD;AACtD,+DAAyC;AACzC,wFAAkE;AAElE,SAAwB,WAAW,CACjC,IAAY,EACZ,UAAqB,EACrB,EAAU;IAEV,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM;SACjB,OAAO,CACN;QACE,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,IAAA,uBAAa,EAAC,EAAE,CAAC;QACrB,SAAS,EAAE,GAAG,EAAE,6CAA6C;KAC9D,EACD,UAAU,EAAE,sCAAsC;IAClD,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAC,0BAA0B;KACrD;SACA,IAAI,CAAC,UAAC,SAAS;QACd,uDAAuD;QACvD,OAAO,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,KAAK,CAAC,qBAAW,CAAC,CAAC;AACxB,CAAC;AArBD,8BAqBC"}
@@ -1 +1 @@
1
- export default function decryptWithPass(data: string, password: string, vector: Uint8Array): Promise<string | undefined>;
1
+ export default function decryptWithPass(data: ArrayBuffer, password: string, vector: Uint8Array): Promise<string | undefined>;
@@ -3,17 +3,16 @@ 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 arrayBufferToString_1 = __importDefault(require("../arrayBufferToString"));
6
+ var arrayBufferToString_1 = __importDefault(require("../encoding/arrayBufferToString"));
7
7
  var catchReturn_1 = __importDefault(require("../catchReturn"));
8
8
  var generateKeyFromPassword_1 = __importDefault(require("./generateKeyFromPassword"));
9
- var stringToArrayBuffer_1 = __importDefault(require("../stringToArrayBuffer"));
10
9
  var getCrypto_1 = __importDefault(require("../../getCrypto"));
11
10
  function decryptWithPass(data, password, vector) {
12
11
  var crypto = (0, getCrypto_1.default)();
13
12
  return (0, generateKeyFromPassword_1.default)(password)
14
13
  .then(function (keyObject) {
15
14
  return crypto.subtle
16
- .decrypt({ name: "AES-GCM", iv: vector }, keyObject, (0, stringToArrayBuffer_1.default)(data))
15
+ .decrypt({ name: "AES-GCM", iv: vector }, keyObject, data)
17
16
  .then(function (result) { return (0, arrayBufferToString_1.default)(result); })
18
17
  .catch(catchReturn_1.default);
19
18
  })
@@ -1 +1 @@
1
- {"version":3,"file":"decryptWithPass.js","sourceRoot":"","sources":["../../../src/utils/crypto/decryptWithPass.ts"],"names":[],"mappings":";;;;;AAAA,+EAAyD;AACzD,+DAAyC;AACzC,sFAAgE;AAChE,+EAAyD;AACzD,8DAAwC;AAExC,SAAwB,eAAe,CACrC,IAAY,EACZ,QAAgB,EAChB,MAAkB;IAElB,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,IAAA,iCAAuB,EAAC,QAAQ,CAAC;SACrC,IAAI,CAAC,UAAC,SAAS;QACd,OAAO,MAAM,CAAC,MAAM;aACjB,OAAO,CACN,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAC/B,SAAS,EACT,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAC1B;aACA,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,IAAA,6BAAmB,EAAC,MAAM,CAAC,EAA3B,CAA2B,CAAC;aAC7C,KAAK,CAAC,qBAAW,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,KAAK,CAAC,qBAAW,CAAC,CAAC;AACxB,CAAC;AAlBD,kCAkBC"}
1
+ {"version":3,"file":"decryptWithPass.js","sourceRoot":"","sources":["../../../src/utils/crypto/decryptWithPass.ts"],"names":[],"mappings":";;;;;AAAA,wFAAkE;AAClE,+DAAyC;AACzC,sFAAgE;AAEhE,8DAAwC;AAExC,SAAwB,eAAe,CACrC,IAAiB,EACjB,QAAgB,EAChB,MAAkB;IAElB,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,IAAA,iCAAuB,EAAC,QAAQ,CAAC;SACrC,IAAI,CAAC,UAAC,SAAS;QACd,OAAO,MAAM,CAAC,MAAM;aACjB,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC;aACzD,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,IAAA,6BAAmB,EAAC,MAAM,CAAC,EAA3B,CAA2B,CAAC;aAC7C,KAAK,CAAC,qBAAW,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,KAAK,CAAC,qBAAW,CAAC,CAAC;AACxB,CAAC;AAdD,kCAcC"}
@@ -3,11 +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 arrayBufferToString_1 = __importDefault(require("../arrayBufferToString"));
6
+ var arrayBufferToHex_1 = __importDefault(require("../encoding/arrayBufferToHex"));
7
7
  function encodeKeyString(keydata) {
8
- var keydataS = (0, arrayBufferToString_1.default)(keydata);
9
- var keydataB64 = global.btoa(keydataS);
10
- return keydataB64;
8
+ var keydataHexed = (0, arrayBufferToHex_1.default)(keydata);
9
+ return keydataHexed;
11
10
  }
12
11
  exports.default = encodeKeyString;
13
12
  //# sourceMappingURL=encodeKeyString.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encodeKeyString.js","sourceRoot":"","sources":["../../../src/utils/crypto/encodeKeyString.ts"],"names":[],"mappings":";;;;;AAAA,+EAAyD;AAEzD,SAAwB,eAAe,CAAC,OAAoB;IAC1D,IAAM,QAAQ,GAAG,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;IAC9C,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC;AACpB,CAAC;AAJD,kCAIC"}
1
+ {"version":3,"file":"encodeKeyString.js","sourceRoot":"","sources":["../../../src/utils/crypto/encodeKeyString.ts"],"names":[],"mappings":";;;;;AAAA,kFAA4D;AAE5D,SAAwB,eAAe,CAAC,OAAoB;IAC1D,IAAM,YAAY,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,YAAY,CAAC;AACtB,CAAC;AAHD,kCAGC"}
@@ -1 +1 @@
1
- export default function encryptData(data: string, publicKey: CryptoKey, iv: Uint8Array): Promise<string | void>;
1
+ export default function encryptData(data: string, publicKey: CryptoKey, iv: Uint8Array): Promise<ArrayBuffer | void>;
@@ -4,8 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var getCrypto_1 = __importDefault(require("../../getCrypto"));
7
- var arrayBufferToString_1 = __importDefault(require("../arrayBufferToString"));
8
- var stringToArrayBuffer_1 = __importDefault(require("../stringToArrayBuffer"));
7
+ var stringToArrayBuffer_1 = __importDefault(require("../encoding/stringToArrayBuffer"));
9
8
  function encryptData(data, publicKey, iv) {
10
9
  var crypto = (0, getCrypto_1.default)();
11
10
  return crypto.subtle
@@ -20,10 +19,6 @@ function encryptData(data, publicKey, iv) {
20
19
  }, publicKey, // from generateKey or importKey above
21
20
  (0, stringToArrayBuffer_1.default)(data) // ArrayBuffer of data you want to encrypt
22
21
  )
23
- .then(function (encrypted) {
24
- // returns an ArrayBuffer containing the encrypted data
25
- return (0, arrayBufferToString_1.default)(encrypted);
26
- })
27
22
  .catch(console.error);
28
23
  }
29
24
  exports.default = encryptData;
@@ -1 +1 @@
1
- {"version":3,"file":"encryptData.js","sourceRoot":"","sources":["../../../src/utils/crypto/encryptData.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AACxC,+EAAyD;AACzD,+EAAyD;AAEzD,SAAwB,WAAW,CACjC,IAAY,EACZ,SAAoB,EACpB,EAAc;IAEd,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM;SACjB,OAAO,CACN;QACE,IAAI,EAAE,SAAS;QACf,uCAAuC;QACvC,oDAAoD;QACpD,qCAAqC;QACrC,EAAE,IAAA;QACF,wBAAwB;QACxB,SAAS,EAAE,GAAG,EAAE,oDAAoD;KACrE,EACD,SAAS,EAAE,sCAAsC;IACjD,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAC,0CAA0C;KACrE;SACA,IAAI,CAAC,UAAC,SAAS;QACd,uDAAuD;QACvD,OAAO,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAzBD,8BAyBC"}
1
+ {"version":3,"file":"encryptData.js","sourceRoot":"","sources":["../../../src/utils/crypto/encryptData.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AAExC,wFAAkE;AAElE,SAAwB,WAAW,CACjC,IAAY,EACZ,SAAoB,EACpB,EAAc;IAEd,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM;SACjB,OAAO,CACN;QACE,IAAI,EAAE,SAAS;QACf,uCAAuC;QACvC,oDAAoD;QACpD,qCAAqC;QACrC,EAAE,IAAA;QACF,wBAAwB;QACxB,SAAS,EAAE,GAAG,EAAE,oDAAoD;KACrE,EACD,SAAS,EAAE,sCAAsC;IACjD,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAC,0CAA0C;KACrE;SACA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AArBD,8BAqBC"}
@@ -1 +1 @@
1
- export default function encryptWithPass(secretmessage: string, password: string, vector: Uint8Array): Promise<string | undefined>;
1
+ export default function encryptWithPass(secretmessage: string, password: string, vector: Uint8Array): Promise<ArrayBuffer | undefined>;
@@ -3,10 +3,9 @@ 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 arrayBufferToString_1 = __importDefault(require("../arrayBufferToString"));
7
6
  var catchReturn_1 = __importDefault(require("../catchReturn"));
8
7
  var generateKeyFromPassword_1 = __importDefault(require("./generateKeyFromPassword"));
9
- var stringToArrayBuffer_1 = __importDefault(require("../stringToArrayBuffer"));
8
+ var stringToArrayBuffer_1 = __importDefault(require("../encoding/stringToArrayBuffer"));
10
9
  var getCrypto_1 = __importDefault(require("../../getCrypto"));
11
10
  function encryptWithPass(secretmessage, password, vector) {
12
11
  var crypto = (0, getCrypto_1.default)();
@@ -15,9 +14,6 @@ function encryptWithPass(secretmessage, password, vector) {
15
14
  // encrypt promise
16
15
  return crypto.subtle
17
16
  .encrypt({ name: "AES-GCM", iv: vector }, keyObject, (0, stringToArrayBuffer_1.default)(secretmessage))
18
- .then(function (result) {
19
- return (0, arrayBufferToString_1.default)(result);
20
- })
21
17
  .catch(catchReturn_1.default);
22
18
  })
23
19
  .catch(catchReturn_1.default);
@@ -1 +1 @@
1
- {"version":3,"file":"encryptWithPass.js","sourceRoot":"","sources":["../../../src/utils/crypto/encryptWithPass.ts"],"names":[],"mappings":";;;;;AAAA,+EAAyD;AACzD,+DAAyC;AACzC,sFAAgE;AAChE,+EAAyD;AACzD,8DAAwC;AAExC,SAAwB,eAAe,CACrC,aAAqB,EACrB,QAAgB,EAChB,MAAkB;IAElB,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,IAAA,iCAAuB,EAAC,QAAQ,CAAC;SACrC,IAAI,CAAC,UAAC,SAAS;QACd,kBAAkB;QAClB,OAAO,MAAM,CAAC,MAAM;aACjB,OAAO,CACN,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAC/B,SAAS,EACT,IAAA,6BAAmB,EAAC,aAAa,CAAC,CACnC;aACA,IAAI,CAAC,UAAC,MAAM;YACX,OAAO,IAAA,6BAAmB,EAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,KAAK,CAAC,qBAAW,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,KAAK,CAAC,qBAAW,CAAC,CAAC;AACxB,CAAC;AArBD,kCAqBC"}
1
+ {"version":3,"file":"encryptWithPass.js","sourceRoot":"","sources":["../../../src/utils/crypto/encryptWithPass.ts"],"names":[],"mappings":";;;;;AAAA,+DAAyC;AACzC,sFAAgE;AAChE,wFAAkE;AAClE,8DAAwC;AAExC,SAAwB,eAAe,CACrC,aAAqB,EACrB,QAAgB,EAChB,MAAkB;IAElB,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,IAAA,iCAAuB,EAAC,QAAQ,CAAC;SACrC,IAAI,CAAC,UAAC,SAAS;QACd,kBAAkB;QAClB,OAAO,MAAM,CAAC,MAAM;aACjB,OAAO,CACN,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAC/B,SAAS,EACT,IAAA,6BAAmB,EAAC,aAAa,CAAC,CACnC;aACA,KAAK,CAAC,qBAAW,CAAC,CAAC;IACxB,CAAC,CAAC;SACD,KAAK,CAAC,qBAAW,CAAC,CAAC;AACxB,CAAC;AAlBD,kCAkBC"}
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var getCrypto_1 = __importDefault(require("../../getCrypto"));
7
- var stringToArrayBuffer_1 = __importDefault(require("../stringToArrayBuffer"));
7
+ var stringToArrayBuffer_1 = __importDefault(require("../encoding/stringToArrayBuffer"));
8
8
  function generateKeyFromPassword(password) {
9
9
  var crypto = (0, getCrypto_1.default)();
10
10
  return crypto.subtle
@@ -1 +1 @@
1
- {"version":3,"file":"generateKeyFromPassword.js","sourceRoot":"","sources":["../../../src/utils/crypto/generateKeyFromPassword.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AACxC,+EAAyD;AAEzD,SAAwB,uBAAuB,CAAC,QAAgB;IAC9D,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM;SACjB,SAAS,CACR,KAAK,EACL,IAAA,6BAAmB,EAAC,QAAQ,CAAC,EAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClB,KAAK,EACL,CAAC,WAAW,CAAC,CACd;SACA,IAAI,CAAC,UAAC,gBAAgB;QACrB,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAA,6BAAmB,EAAC,uBAAuB,CAAC;YAClD,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,SAAS;SAChB,EACD,gBAAgB,EAChB;YACE,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;SACZ,EACD,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AA3BD,0CA2BC"}
1
+ {"version":3,"file":"generateKeyFromPassword.js","sourceRoot":"","sources":["../../../src/utils/crypto/generateKeyFromPassword.ts"],"names":[],"mappings":";;;;;AAAA,8DAAwC;AACxC,wFAAkE;AAElE,SAAwB,uBAAuB,CAAC,QAAgB;IAC9D,IAAM,MAAM,GAAG,IAAA,mBAAS,GAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM;SACjB,SAAS,CACR,KAAK,EACL,IAAA,6BAAmB,EAAC,QAAQ,CAAC,EAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClB,KAAK,EACL,CAAC,WAAW,CAAC,CACd;SACA,IAAI,CAAC,UAAC,gBAAgB;QACrB,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAA,6BAAmB,EAAC,uBAAuB,CAAC;YAClD,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,SAAS;SAChB,EACD,gBAAgB,EAChB;YACE,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;SACZ,EACD,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AA3BD,0CA2BC"}
@@ -40,25 +40,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var catchReturn_1 = __importDefault(require("../catchReturn"));
43
- var decodeKeyString_1 = __importDefault(require("./decodeKeyString"));
43
+ var hexToArrayBuffer_1 = __importDefault(require("../encoding/hexToArrayBuffer"));
44
44
  var importKey_1 = __importDefault(require("./importKey"));
45
45
  function importKeys(parsedKeys) {
46
46
  return __awaiter(this, void 0, void 0, function () {
47
- var skpub, skpriv, ekpub, ekpriv;
47
+ var skpriv, ekpriv, skpub, ekpub;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
- case 0: return [4 /*yield*/, (0, importKey_1.default)((0, decodeKeyString_1.default)(parsedKeys.skpub), "spki", "ECDSA", ["verify"]).catch(catchReturn_1.default)];
50
+ case 0: return [4 /*yield*/, (0, importKey_1.default)((0, hexToArrayBuffer_1.default)(parsedKeys.skpriv), "pkcs8", "ECDSA", ["sign"]).catch(catchReturn_1.default)];
51
51
  case 1:
52
- skpub = _a.sent();
53
- return [4 /*yield*/, (0, importKey_1.default)((0, decodeKeyString_1.default)(parsedKeys.skpriv), "pkcs8", "ECDSA", ["sign"]).catch(catchReturn_1.default)];
54
- case 2:
55
52
  skpriv = _a.sent();
56
- return [4 /*yield*/, (0, importKey_1.default)((0, decodeKeyString_1.default)(parsedKeys.ekpub), "spki", "ECDH", []).catch(catchReturn_1.default)];
53
+ return [4 /*yield*/, (0, importKey_1.default)((0, hexToArrayBuffer_1.default)(parsedKeys.ekpriv), "pkcs8", "ECDH", ["deriveKey", "deriveBits"]).catch(catchReturn_1.default)];
54
+ case 2:
55
+ ekpriv = _a.sent();
56
+ return [4 /*yield*/, (0, importKey_1.default)((0, hexToArrayBuffer_1.default)(parsedKeys.skpub), "spki", "ECDSA", ["verify"]).catch(catchReturn_1.default)];
57
57
  case 3:
58
- ekpub = _a.sent();
59
- return [4 /*yield*/, (0, importKey_1.default)((0, decodeKeyString_1.default)(parsedKeys.ekpriv), "pkcs8", "ECDH", ["deriveKey", "deriveBits"]).catch(catchReturn_1.default)];
58
+ skpub = _a.sent();
59
+ return [4 /*yield*/, (0, importKey_1.default)((0, hexToArrayBuffer_1.default)(parsedKeys.ekpub), "spki", "ECDH", []).catch(catchReturn_1.default)];
60
60
  case 4:
61
- ekpriv = _a.sent();
61
+ ekpub = _a.sent();
62
62
  return [2 /*return*/, { skpub: skpub, skpriv: skpriv, ekpub: ekpub, ekpriv: ekpriv }];
63
63
  }
64
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loadKeysComb.js","sourceRoot":"","sources":["../../../src/utils/crypto/loadKeysComb.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAAyC;AACzC,sEAAgD;AAChD,0DAAoC;AAEpC,SAAe,UAAU,CAAC,UAAsB;;;;;wBAChC,qBAAM,IAAA,mBAAS,EAC3B,IAAA,yBAAe,EAAC,UAAU,CAAC,KAAK,CAAC,EACjC,MAAM,EACN,OAAO,EACP,CAAC,QAAQ,CAAC,CACX,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,KAAK,GAAG,SAKM;oBAEL,qBAAM,IAAA,mBAAS,EAC5B,IAAA,yBAAe,EAAC,UAAU,CAAC,MAAM,CAAC,EAClC,OAAO,EACP,OAAO,EACP,CAAC,MAAM,CAAC,CACT,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,MAAM,GAAG,SAKK;oBAEN,qBAAM,IAAA,mBAAS,EAC3B,IAAA,yBAAe,EAAC,UAAU,CAAC,KAAK,CAAC,EACjC,MAAM,EACN,MAAM,EACN,EAAE,CACH,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,KAAK,GAAG,SAKM;oBAEL,qBAAM,IAAA,mBAAS,EAC5B,IAAA,yBAAe,EAAC,UAAU,CAAC,MAAM,CAAC,EAClC,OAAO,EACP,MAAM,EACN,CAAC,WAAW,EAAE,YAAY,CAAC,CAC5B,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,MAAM,GAAG,SAKK;oBAEpB,sBAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,EAAC;;;;CACzC;AAED,SAAwB,YAAY,CAAC,UAAsB;IAOzD,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,EAAgC;gBAA9B,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA;YACzD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;gBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;aAC5C;iBAAM;gBACL,OAAO,CAAC;oBACN,QAAQ,EAAE;wBACR,SAAS,EAAE,KAAK;wBAChB,UAAU,EAAE,MAAM;qBACnB;oBACD,cAAc,EAAE;wBACd,SAAS,EAAE,KAAK;wBAChB,UAAU,EAAE,MAAM;qBACnB;iBACF,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAzBD,+BAyBC"}
1
+ {"version":3,"file":"loadKeysComb.js","sourceRoot":"","sources":["../../../src/utils/crypto/loadKeysComb.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAAyC;AACzC,kFAA4D;AAE5D,0DAAoC;AAEpC,SAAe,UAAU,CAAC,UAAsB;;;;;wBAC/B,qBAAM,IAAA,mBAAS,EAC5B,IAAA,0BAAgB,EAAC,UAAU,CAAC,MAAM,CAAC,EACnC,OAAO,EACP,OAAO,EACP,CAAC,MAAM,CAAC,CACT,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,MAAM,GAAG,SAKK;oBAEL,qBAAM,IAAA,mBAAS,EAC5B,IAAA,0BAAgB,EAAC,UAAU,CAAC,MAAM,CAAC,EACnC,OAAO,EACP,MAAM,EACN,CAAC,WAAW,EAAE,YAAY,CAAC,CAC5B,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,MAAM,GAAG,SAKK;oBAEN,qBAAM,IAAA,mBAAS,EAC3B,IAAA,0BAAgB,EAAC,UAAU,CAAC,KAAK,CAAC,EAClC,MAAM,EACN,OAAO,EACP,CAAC,QAAQ,CAAC,CACX,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,KAAK,GAAG,SAKM;oBAEN,qBAAM,IAAA,mBAAS,EAC3B,IAAA,0BAAgB,EAAC,UAAU,CAAC,KAAK,CAAC,EAClC,MAAM,EACN,MAAM,EACN,EAAE,CACH,CAAC,KAAK,CAAC,qBAAW,CAAC,EAAA;;oBALd,KAAK,GAAG,SAKM;oBAEpB,sBAAO,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,EAAC;;;;CACzC;AAED,SAAwB,YAAY,CAAC,UAAsB;IAOzD,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,EAAgC;gBAA9B,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA;YACzD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;gBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;aAC5C;iBAAM;gBACL,OAAO,CAAC;oBACN,QAAQ,EAAE;wBACR,SAAS,EAAE,KAAK;wBAChB,UAAU,EAAE,MAAM;qBACnB;oBACD,cAAc,EAAE;wBACd,SAAS,EAAE,KAAK;wBAChB,UAAU,EAAE,MAAM;qBACnB;iBACF,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAzBD,+BAyBC"}
@@ -1 +1 @@
1
- export default function recoverPubKey(origMessage: string, signature: ArrayBuffer): [string, string];
1
+ export default function recoverPubKey(origMessage: string, signature: ArrayBuffer, compareToHex?: string): string;
@@ -3,11 +3,11 @@ 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 arrayBufferToHex_1 = __importDefault(require("../arrayBufferToHex"));
7
- var ecCurve = typeof window === "undefined"
8
- ? global.ecp256
9
- : window.ecp256;
10
- function recoverPubKey(origMessage, signature) {
6
+ var arrayBufferToHex_1 = __importDefault(require("../encoding/arrayBufferToHex"));
7
+ function recoverPubKey(origMessage, signature, compareToHex) {
8
+ var ecCurve = typeof window === "undefined"
9
+ ? global.ecp256
10
+ : window.ecp256;
11
11
  // function hexToDec(hex: string) {
12
12
  // return new BN(hex, 16);
13
13
  // }
@@ -19,9 +19,15 @@ function recoverPubKey(origMessage, signature) {
19
19
  r: (0, arrayBufferToHex_1.default)(signature.slice(0, 32)),
20
20
  s: (0, arrayBufferToHex_1.default)(signature.slice(32, 64)),
21
21
  };
22
+ // THIS IS SLOW! We shouldnt use this on browsers or nodejs at all
22
23
  var keyA = ecCurve.recoverPubKey(msg, ecSig, 0).encode("hex");
23
24
  var keyB = ecCurve.recoverPubKey(msg, ecSig, 1).encode("hex");
24
- return [keyA, keyB];
25
+ var pubKeyString = keyA;
26
+ if (keyA.slice(-40) === (compareToHex === null || compareToHex === void 0 ? void 0 : compareToHex.slice(-40)))
27
+ pubKeyString = keyA;
28
+ if (keyB.slice(-40) === (compareToHex === null || compareToHex === void 0 ? void 0 : compareToHex.slice(-40)))
29
+ pubKeyString = keyB;
30
+ return pubKeyString;
25
31
  }
26
32
  exports.default = recoverPubKey;
27
33
  //# sourceMappingURL=recoverPubKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recoverPubKey.js","sourceRoot":"","sources":["../../../src/utils/crypto/recoverPubKey.ts"],"names":[],"mappings":";;;;;AAEA,yEAAmD;AAEnD,IAAM,OAAO,GACX,OAAO,MAAM,KAAK,WAAW;IAC3B,CAAC,CAAG,MAAc,CAAC,MAAa;IAChC,CAAC,CAAG,MAAc,CAAC,MAAa,CAAC;AAErC,SAAwB,aAAa,CACnC,WAAmB,EACnB,SAAsB;IAEtB,mCAAmC;IACnC,4BAA4B;IAC5B,IAAI;IAEJ,IAAM,YAAY,GAAG,UAAC,CAAS;QAC7B,OAAA,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IAA1D,CAA0D,CAAC;IAE7D,IAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAEtC,IAAM,KAAK,GAAG;QACZ,CAAC,EAAE,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,EAAE,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;KAC7C,CAAC;IAEF,IAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,IAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AArBD,gCAqBC"}
1
+ {"version":3,"file":"recoverPubKey.js","sourceRoot":"","sources":["../../../src/utils/crypto/recoverPubKey.ts"],"names":[],"mappings":";;;;;AAEA,kFAA4D;AAE5D,SAAwB,aAAa,CACnC,WAAmB,EACnB,SAAsB,EACtB,YAAqB;IAErB,IAAM,OAAO,GACX,OAAO,MAAM,KAAK,WAAW;QAC3B,CAAC,CAAG,MAAc,CAAC,MAAa;QAChC,CAAC,CAAG,MAAc,CAAC,MAAa,CAAC;IAErC,mCAAmC;IACnC,4BAA4B;IAC5B,IAAI;IAEJ,IAAM,YAAY,GAAG,UAAC,CAAS;QAC7B,OAAA,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IAA1D,CAA0D,CAAC;IAE7D,IAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAEtC,IAAM,KAAK,GAAG;QACZ,CAAC,EAAE,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,EAAE,IAAA,0BAAgB,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;KAC7C,CAAC;IAEF,kEAAkE;IAClE,IAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,IAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhE,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAAE,YAAY,GAAG,IAAI,CAAC;IACtE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAAE,YAAY,GAAG,IAAI,CAAC;IAEtE,OAAO,YAAY,CAAC;AACtB,CAAC;AAjCD,gCAiCC"}
@@ -1,2 +1,2 @@
1
1
  import { Keys } from "../../types/tooldb";
2
- export default function saveKeysComb(signKeys: CryptoKeyPair): Promise<Keys>;
2
+ export default function saveSignKeys(signKeys: CryptoKeyPair): Promise<Keys>;