@digitaldefiance/ecies-lib 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +237 -0
  3. package/dist/backup-code-string.d.ts +26 -0
  4. package/dist/backup-code-string.d.ts.map +1 -0
  5. package/dist/backup-code-string.js +69 -0
  6. package/dist/backup-code-string.js.map +1 -0
  7. package/dist/constants.d.ts +22 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/constants.js +177 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/email-string.d.ts +42 -0
  12. package/dist/email-string.d.ts.map +1 -0
  13. package/dist/email-string.js +67 -0
  14. package/dist/email-string.js.map +1 -0
  15. package/dist/enumerations/ecies-encryption-type.d.ts +15 -0
  16. package/dist/enumerations/ecies-encryption-type.d.ts.map +1 -0
  17. package/dist/enumerations/ecies-encryption-type.js +63 -0
  18. package/dist/enumerations/ecies-encryption-type.js.map +1 -0
  19. package/dist/enumerations/ecies-error-type.d.ts +32 -0
  20. package/dist/enumerations/ecies-error-type.d.ts.map +1 -0
  21. package/dist/enumerations/ecies-error-type.js +33 -0
  22. package/dist/enumerations/ecies-error-type.js.map +1 -0
  23. package/dist/enumerations/guid-brand-type.d.ts +27 -0
  24. package/dist/enumerations/guid-brand-type.d.ts.map +1 -0
  25. package/dist/enumerations/guid-brand-type.js +28 -0
  26. package/dist/enumerations/guid-brand-type.js.map +1 -0
  27. package/dist/enumerations/guid-error-type.d.ts +7 -0
  28. package/dist/enumerations/guid-error-type.d.ts.map +1 -0
  29. package/dist/enumerations/guid-error-type.js +8 -0
  30. package/dist/enumerations/guid-error-type.js.map +1 -0
  31. package/dist/enumerations/index.d.ts +13 -0
  32. package/dist/enumerations/index.d.ts.map +1 -0
  33. package/dist/enumerations/index.js +13 -0
  34. package/dist/enumerations/index.js.map +1 -0
  35. package/dist/enumerations/invalid-email-type.d.ts +6 -0
  36. package/dist/enumerations/invalid-email-type.d.ts.map +1 -0
  37. package/dist/enumerations/invalid-email-type.js +7 -0
  38. package/dist/enumerations/invalid-email-type.js.map +1 -0
  39. package/dist/enumerations/length-encoding-type.d.ts +7 -0
  40. package/dist/enumerations/length-encoding-type.d.ts.map +1 -0
  41. package/dist/enumerations/length-encoding-type.js +8 -0
  42. package/dist/enumerations/length-encoding-type.js.map +1 -0
  43. package/dist/enumerations/length-error-type.d.ts +6 -0
  44. package/dist/enumerations/length-error-type.d.ts.map +1 -0
  45. package/dist/enumerations/length-error-type.js +7 -0
  46. package/dist/enumerations/length-error-type.js.map +1 -0
  47. package/dist/enumerations/member-error-type.d.ts +87 -0
  48. package/dist/enumerations/member-error-type.d.ts.map +1 -0
  49. package/dist/enumerations/member-error-type.js +88 -0
  50. package/dist/enumerations/member-error-type.js.map +1 -0
  51. package/dist/enumerations/member-type.d.ts +16 -0
  52. package/dist/enumerations/member-type.d.ts.map +1 -0
  53. package/dist/enumerations/member-type.js +17 -0
  54. package/dist/enumerations/member-type.js.map +1 -0
  55. package/dist/enumerations/pbkdf2-error-type.d.ts +5 -0
  56. package/dist/enumerations/pbkdf2-error-type.d.ts.map +1 -0
  57. package/dist/enumerations/pbkdf2-error-type.js +6 -0
  58. package/dist/enumerations/pbkdf2-error-type.js.map +1 -0
  59. package/dist/enumerations/pbkdf2-profile.d.ts +5 -0
  60. package/dist/enumerations/pbkdf2-profile.d.ts.map +1 -0
  61. package/dist/enumerations/pbkdf2-profile.js +6 -0
  62. package/dist/enumerations/pbkdf2-profile.js.map +1 -0
  63. package/dist/enumerations/secure-storage-error-type.d.ts +6 -0
  64. package/dist/enumerations/secure-storage-error-type.d.ts.map +1 -0
  65. package/dist/enumerations/secure-storage-error-type.js +7 -0
  66. package/dist/enumerations/secure-storage-error-type.js.map +1 -0
  67. package/dist/errors/disposed.d.ts +4 -0
  68. package/dist/errors/disposed.d.ts.map +1 -0
  69. package/dist/errors/disposed.js +8 -0
  70. package/dist/errors/disposed.js.map +1 -0
  71. package/dist/errors/ecies.d.ts +6 -0
  72. package/dist/errors/ecies.d.ts.map +1 -0
  73. package/dist/errors/ecies.js +8 -0
  74. package/dist/errors/ecies.js.map +1 -0
  75. package/dist/errors/guid.d.ts +14 -0
  76. package/dist/errors/guid.d.ts.map +1 -0
  77. package/dist/errors/guid.js +19 -0
  78. package/dist/errors/guid.js.map +1 -0
  79. package/dist/errors/index.d.ts +9 -0
  80. package/dist/errors/index.d.ts.map +1 -0
  81. package/dist/errors/index.js +9 -0
  82. package/dist/errors/index.js.map +1 -0
  83. package/dist/errors/invalid-backup-code.d.ts +4 -0
  84. package/dist/errors/invalid-backup-code.d.ts.map +1 -0
  85. package/dist/errors/invalid-backup-code.js +7 -0
  86. package/dist/errors/invalid-backup-code.js.map +1 -0
  87. package/dist/errors/invalid-email.d.ts +6 -0
  88. package/dist/errors/invalid-email.d.ts.map +1 -0
  89. package/dist/errors/invalid-email.js +9 -0
  90. package/dist/errors/invalid-email.js.map +1 -0
  91. package/dist/errors/length.d.ts +6 -0
  92. package/dist/errors/length.d.ts.map +1 -0
  93. package/dist/errors/length.js +9 -0
  94. package/dist/errors/length.js.map +1 -0
  95. package/dist/errors/member.d.ts +6 -0
  96. package/dist/errors/member.d.ts.map +1 -0
  97. package/dist/errors/member.js +8 -0
  98. package/dist/errors/member.js.map +1 -0
  99. package/dist/errors/pbkdf2.d.ts +6 -0
  100. package/dist/errors/pbkdf2.d.ts.map +1 -0
  101. package/dist/errors/pbkdf2.js +8 -0
  102. package/dist/errors/pbkdf2.js.map +1 -0
  103. package/dist/errors/secure-storage.d.ts +6 -0
  104. package/dist/errors/secure-storage.d.ts.map +1 -0
  105. package/dist/errors/secure-storage.js +8 -0
  106. package/dist/errors/secure-storage.js.map +1 -0
  107. package/dist/errors/typed.d.ts +5 -0
  108. package/dist/errors/typed.d.ts.map +1 -0
  109. package/dist/errors/typed.js +11 -0
  110. package/dist/errors/typed.js.map +1 -0
  111. package/dist/guid.d.ts +153 -0
  112. package/dist/guid.d.ts.map +1 -0
  113. package/dist/guid.js +604 -0
  114. package/dist/guid.js.map +1 -0
  115. package/dist/index.d.ts +13 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +13 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/interfaces/backup-code-consts.d.ts +16 -0
  120. package/dist/interfaces/backup-code-consts.d.ts.map +1 -0
  121. package/dist/interfaces/backup-code-consts.js +2 -0
  122. package/dist/interfaces/backup-code-consts.js.map +1 -0
  123. package/dist/interfaces/backup-code.d.ts +7 -0
  124. package/dist/interfaces/backup-code.d.ts.map +1 -0
  125. package/dist/interfaces/backup-code.js +2 -0
  126. package/dist/interfaces/backup-code.js.map +1 -0
  127. package/dist/interfaces/constants.d.ts +45 -0
  128. package/dist/interfaces/constants.d.ts.map +1 -0
  129. package/dist/interfaces/constants.js +2 -0
  130. package/dist/interfaces/constants.js.map +1 -0
  131. package/dist/interfaces/ecies-config.d.ts +9 -0
  132. package/dist/interfaces/ecies-config.d.ts.map +1 -0
  133. package/dist/interfaces/ecies-config.js +2 -0
  134. package/dist/interfaces/ecies-config.js.map +1 -0
  135. package/dist/interfaces/ecies-consts.d.ts +58 -0
  136. package/dist/interfaces/ecies-consts.d.ts.map +1 -0
  137. package/dist/interfaces/ecies-consts.js +2 -0
  138. package/dist/interfaces/ecies-consts.js.map +1 -0
  139. package/dist/interfaces/ecies-file-service.d.ts +7 -0
  140. package/dist/interfaces/ecies-file-service.d.ts.map +1 -0
  141. package/dist/interfaces/ecies-file-service.js +2 -0
  142. package/dist/interfaces/ecies-file-service.js.map +1 -0
  143. package/dist/interfaces/guid.d.ts +45 -0
  144. package/dist/interfaces/guid.d.ts.map +1 -0
  145. package/dist/interfaces/guid.js +2 -0
  146. package/dist/interfaces/guid.js.map +1 -0
  147. package/dist/interfaces/index.d.ts +14 -0
  148. package/dist/interfaces/index.d.ts.map +1 -0
  149. package/dist/interfaces/index.js +14 -0
  150. package/dist/interfaces/index.js.map +1 -0
  151. package/dist/interfaces/member-operational.d.ts +39 -0
  152. package/dist/interfaces/member-operational.d.ts.map +1 -0
  153. package/dist/interfaces/member-operational.js +2 -0
  154. package/dist/interfaces/member-operational.js.map +1 -0
  155. package/dist/interfaces/member-storage.d.ts +21 -0
  156. package/dist/interfaces/member-storage.d.ts.map +1 -0
  157. package/dist/interfaces/member-storage.js +2 -0
  158. package/dist/interfaces/member-storage.js.map +1 -0
  159. package/dist/interfaces/member-with-mnemonic.d.ts +7 -0
  160. package/dist/interfaces/member-with-mnemonic.d.ts.map +1 -0
  161. package/dist/interfaces/member-with-mnemonic.js +2 -0
  162. package/dist/interfaces/member-with-mnemonic.js.map +1 -0
  163. package/dist/interfaces/pbkdf2-config.d.ts +7 -0
  164. package/dist/interfaces/pbkdf2-config.d.ts.map +1 -0
  165. package/dist/interfaces/pbkdf2-config.js +2 -0
  166. package/dist/interfaces/pbkdf2-config.js.map +1 -0
  167. package/dist/interfaces/pbkdf2-consts.d.ts +9 -0
  168. package/dist/interfaces/pbkdf2-consts.d.ts.map +1 -0
  169. package/dist/interfaces/pbkdf2-consts.js +2 -0
  170. package/dist/interfaces/pbkdf2-consts.js.map +1 -0
  171. package/dist/interfaces/pbkdf2-result.d.ts +6 -0
  172. package/dist/interfaces/pbkdf2-result.d.ts.map +1 -0
  173. package/dist/interfaces/pbkdf2-result.js +2 -0
  174. package/dist/interfaces/pbkdf2-result.js.map +1 -0
  175. package/dist/member.d.ts +68 -0
  176. package/dist/member.d.ts.map +1 -0
  177. package/dist/member.js +256 -0
  178. package/dist/member.js.map +1 -0
  179. package/dist/pbkdf2-profiles.d.ts +6 -0
  180. package/dist/pbkdf2-profiles.d.ts.map +1 -0
  181. package/dist/pbkdf2-profiles.js +2 -0
  182. package/dist/pbkdf2-profiles.js.map +1 -0
  183. package/dist/secure-buffer.d.ts +38 -0
  184. package/dist/secure-buffer.d.ts.map +1 -0
  185. package/dist/secure-buffer.js +161 -0
  186. package/dist/secure-buffer.js.map +1 -0
  187. package/dist/secure-string.d.ts +39 -0
  188. package/dist/secure-string.d.ts.map +1 -0
  189. package/dist/secure-string.js +188 -0
  190. package/dist/secure-string.js.map +1 -0
  191. package/dist/services/aes-gcm.d.ts +56 -0
  192. package/dist/services/aes-gcm.d.ts.map +1 -0
  193. package/dist/services/aes-gcm.js +101 -0
  194. package/dist/services/aes-gcm.js.map +1 -0
  195. package/dist/services/ecies/crypto-core.d.ts +53 -0
  196. package/dist/services/ecies/crypto-core.d.ts.map +1 -0
  197. package/dist/services/ecies/crypto-core.js +158 -0
  198. package/dist/services/ecies/crypto-core.js.map +1 -0
  199. package/dist/services/ecies/example.d.ts +25 -0
  200. package/dist/services/ecies/example.d.ts.map +1 -0
  201. package/dist/services/ecies/example.js +121 -0
  202. package/dist/services/ecies/example.js.map +1 -0
  203. package/dist/services/ecies/file.d.ts +18 -0
  204. package/dist/services/ecies/file.d.ts.map +1 -0
  205. package/dist/services/ecies/file.js +106 -0
  206. package/dist/services/ecies/file.js.map +1 -0
  207. package/dist/services/ecies/index.d.ts +38 -0
  208. package/dist/services/ecies/index.d.ts.map +1 -0
  209. package/dist/services/ecies/index.js +39 -0
  210. package/dist/services/ecies/index.js.map +1 -0
  211. package/dist/services/ecies/integration.d.ts +59 -0
  212. package/dist/services/ecies/integration.d.ts.map +1 -0
  213. package/dist/services/ecies/integration.js +163 -0
  214. package/dist/services/ecies/integration.js.map +1 -0
  215. package/dist/services/ecies/interfaces.d.ts +51 -0
  216. package/dist/services/ecies/interfaces.d.ts.map +1 -0
  217. package/dist/services/ecies/interfaces.js +5 -0
  218. package/dist/services/ecies/interfaces.js.map +1 -0
  219. package/dist/services/ecies/manual-test.d.ts +29 -0
  220. package/dist/services/ecies/manual-test.d.ts.map +1 -0
  221. package/dist/services/ecies/manual-test.js +163 -0
  222. package/dist/services/ecies/manual-test.js.map +1 -0
  223. package/dist/services/ecies/multi-recipient.d.ts +49 -0
  224. package/dist/services/ecies/multi-recipient.d.ts.map +1 -0
  225. package/dist/services/ecies/multi-recipient.js +222 -0
  226. package/dist/services/ecies/multi-recipient.js.map +1 -0
  227. package/dist/services/ecies/service.d.ts +100 -0
  228. package/dist/services/ecies/service.d.ts.map +1 -0
  229. package/dist/services/ecies/service.js +186 -0
  230. package/dist/services/ecies/service.js.map +1 -0
  231. package/dist/services/ecies/signature.d.ts +27 -0
  232. package/dist/services/ecies/signature.d.ts.map +1 -0
  233. package/dist/services/ecies/signature.js +72 -0
  234. package/dist/services/ecies/signature.js.map +1 -0
  235. package/dist/services/ecies/single-recipient.d.ts +43 -0
  236. package/dist/services/ecies/single-recipient.d.ts.map +1 -0
  237. package/dist/services/ecies/single-recipient.js +196 -0
  238. package/dist/services/ecies/single-recipient.js.map +1 -0
  239. package/dist/services/index.d.ts +5 -0
  240. package/dist/services/index.d.ts.map +1 -0
  241. package/dist/services/index.js +5 -0
  242. package/dist/services/index.js.map +1 -0
  243. package/dist/services/password-login.d.ts +41 -0
  244. package/dist/services/password-login.d.ts.map +1 -0
  245. package/dist/services/password-login.js +96 -0
  246. package/dist/services/password-login.js.map +1 -0
  247. package/dist/services/pbkdf2.d.ts +49 -0
  248. package/dist/services/pbkdf2.d.ts.map +1 -0
  249. package/dist/services/pbkdf2.js +97 -0
  250. package/dist/services/pbkdf2.js.map +1 -0
  251. package/dist/services/xor.d.ts +37 -0
  252. package/dist/services/xor.d.ts.map +1 -0
  253. package/dist/services/xor.js +63 -0
  254. package/dist/services/xor.js.map +1 -0
  255. package/dist/types.d.ts +29 -0
  256. package/dist/types.d.ts.map +1 -0
  257. package/dist/types.js +2 -0
  258. package/dist/types.js.map +1 -0
  259. package/dist/utils.d.ts +62 -0
  260. package/dist/utils.d.ts.map +1 -0
  261. package/dist/utils.js +244 -0
  262. package/dist/utils.js.map +1 -0
  263. package/dist/xor.d.ts +37 -0
  264. package/dist/xor.d.ts.map +1 -0
  265. package/dist/xor.js +63 -0
  266. package/dist/xor.js.map +1 -0
  267. package/package.json +60 -0
@@ -0,0 +1,16 @@
1
+ export interface IBackupCodeConstants {
2
+ /**
3
+ * How many backup codes to generate for users
4
+ */
5
+ Count: number;
6
+ /**
7
+ * Regex for the backup codes
8
+ * 32 lowercase alphanumeric character string (a-z0-9)
9
+ */
10
+ NormalizedHexRegex: RegExp;
11
+ /**
12
+ * Regex for the display format of the backup codes
13
+ */
14
+ DisplayRegex: RegExp;
15
+ }
16
+ //# sourceMappingURL=backup-code-consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code-consts.d.ts","sourceRoot":"","sources":["../../src/interfaces/backup-code-consts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backup-code-consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code-consts.js","sourceRoot":"","sources":["../../src/interfaces/backup-code-consts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface IBackupCode {
2
+ version: string;
3
+ checksumSalt: string;
4
+ checksum: string;
5
+ encrypted: string;
6
+ }
7
+ //# sourceMappingURL=backup-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code.d.ts","sourceRoot":"","sources":["../../src/interfaces/backup-code.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=backup-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup-code.js","sourceRoot":"","sources":["../../src/interfaces/backup-code.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { Pbkdf2Profiles } from '../pbkdf2-profiles';
2
+ import { IBackupCodeConstants } from './backup-code-consts';
3
+ import { IECIESConstants } from './ecies-consts';
4
+ import { IPBkdf2Consts } from './pbkdf2-consts';
5
+ export interface IConstants {
6
+ UINT8_SIZE: number;
7
+ UINT16_SIZE: number;
8
+ UINT16_MAX: number;
9
+ UINT32_SIZE: number;
10
+ UINT32_MAX: number;
11
+ UINT64_SIZE: number;
12
+ UINT64_MAX: bigint;
13
+ HEX_RADIX: number;
14
+ GUID_SIZE: number;
15
+ BACKUP_CODES: IBackupCodeConstants;
16
+ /**
17
+ * The length of a raw object ID (not the hex string representation)
18
+ */
19
+ OBJECT_ID_LENGTH: number;
20
+ ECIES: IECIESConstants;
21
+ PBKDF2: IPBkdf2Consts;
22
+ PBKDF2_PROFILES: Pbkdf2Profiles;
23
+ /**
24
+ * Number of rounds for bcrypt hashing. Higher values increase security but also consume more CPU resources.
25
+ */
26
+ BcryptRounds: number;
27
+ /**
28
+ * Minimum password length
29
+ */
30
+ PasswordMinLength: number;
31
+ /**
32
+ * The regular expression for valid passwords.
33
+ */
34
+ PasswordRegex: RegExp;
35
+ /**
36
+ * The regular expression for valid mnemonic phrases.
37
+ * BIP39
38
+ */
39
+ MnemonicRegex: RegExp;
40
+ /**
41
+ * The regular expression for valid HMAC keys.
42
+ */
43
+ HmacRegex: RegExp;
44
+ }
45
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/interfaces/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,oBAAoB,CAAC;IAEnC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB,KAAK,EAAE,eAAe,CAAC;IAEvB,MAAM,EAAE,aAAa,CAAC;IAEtB,eAAe,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/interfaces/constants.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface IECIESConfig {
2
+ curveName: string;
3
+ primaryKeyDerivationPath: string;
4
+ mnemonicStrength: number;
5
+ symmetricAlgorithm: string;
6
+ symmetricKeyBits: number;
7
+ symmetricKeyMode: string;
8
+ }
9
+ //# sourceMappingURL=ecies-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecies-config.d.ts","sourceRoot":"","sources":["../../src/interfaces/ecies-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ecies-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecies-config.js","sourceRoot":"","sources":["../../src/interfaces/ecies-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ import { CipherGCMTypes } from 'crypto';
2
+ export interface IECIESConstants {
3
+ /** The elliptic curve to use for all ECDSA operations */
4
+ CURVE_NAME: string;
5
+ /** The primary key derivation path for HD wallets */
6
+ PRIMARY_KEY_DERIVATION_PATH: string;
7
+ SYMMETRIC_ALGORITHM_CONFIGURATION: CipherGCMTypes;
8
+ /** Length of ECDSA signatures in bytes */
9
+ SIGNATURE_SIZE: number;
10
+ /** Length of raw public keys in bytes (without 0x04 prefix) */
11
+ RAW_PUBLIC_KEY_LENGTH: number;
12
+ /** Length of public keys in bytes (with 0x04 prefix) */
13
+ PUBLIC_KEY_LENGTH: number;
14
+ PUBLIC_KEY_MAGIC: number;
15
+ /** Mnemonic strength in bits. This will produce a 32-bit key for ECDSA */
16
+ MNEMONIC_STRENGTH: number;
17
+ /** Symmetric encryption algorithm configuration */
18
+ SYMMETRIC: {
19
+ ALGORITHM: string;
20
+ MODE: string;
21
+ KEY_BITS: number;
22
+ KEY_SIZE: number;
23
+ };
24
+ IV_SIZE: number;
25
+ AUTH_TAG_SIZE: number;
26
+ MAX_RAW_DATA_SIZE: number;
27
+ /**
28
+ * Message encrypts without data length or crc
29
+ */
30
+ SIMPLE: {
31
+ FIXED_OVERHEAD_SIZE: number;
32
+ DATA_LENGTH_SIZE: number;
33
+ };
34
+ /**
35
+ * Message encrypts like single but with data Length and crc
36
+ */
37
+ SINGLE: {
38
+ FIXED_OVERHEAD_SIZE: number;
39
+ DATA_LENGTH_SIZE: number;
40
+ };
41
+ /**
42
+ * Message encrypts for multiple recipients
43
+ */
44
+ MULTIPLE: {
45
+ FIXED_OVERHEAD_SIZE: number;
46
+ ENCRYPTED_KEY_SIZE: number;
47
+ MAX_RECIPIENTS: number;
48
+ RECIPIENT_ID_SIZE: number;
49
+ RECIPIENT_COUNT_SIZE: number;
50
+ DATA_LENGTH_SIZE: number;
51
+ };
52
+ ENCRYPTION_TYPE: {
53
+ SIMPLE: number;
54
+ SINGLE: number;
55
+ MULTIPLE: number;
56
+ };
57
+ }
58
+ //# sourceMappingURL=ecies-consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecies-consts.d.ts","sourceRoot":"","sources":["../../src/interfaces/ecies-consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IAEnB,qDAAqD;IACrD,2BAA2B,EAAE,MAAM,CAAC;IAEpC,iCAAiC,EAAE,cAAc,CAAC;IAElD,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IAEvB,+DAA+D;IAC/D,qBAAqB,EAAE,MAAM,CAAC;IAE9B,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,mDAAmD;IACnD,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;OAEG;IACH,QAAQ,EAAE;QACR,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,eAAe,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ecies-consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecies-consts.js","sourceRoot":"","sources":["../../src/interfaces/ecies-consts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface IEciesFileService {
2
+ encryptFile(file: File, recipientPublicKey: Uint8Array): Promise<Uint8Array>;
3
+ decryptFile(encryptedData: Uint8Array): Promise<Uint8Array>;
4
+ downloadEncryptedFile(encryptedData: Uint8Array, filename: string): void;
5
+ downloadDecryptedFile(decryptedData: Uint8Array, filename: string): void;
6
+ }
7
+ //# sourceMappingURL=ecies-file-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecies-file-service.d.ts","sourceRoot":"","sources":["../../src/interfaces/ecies-file-service.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,WAAW,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,qBAAqB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACzE,qBAAqB,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ecies-file-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecies-file-service.js","sourceRoot":"","sources":["../../src/interfaces/ecies-file-service.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import { Base64Guid, BigIntGuid, FullHexGuid, RawGuidUint8Array, ShortHexGuid } from '../types';
2
+ export interface IGuidV4 {
3
+ /**
4
+ * Returns the GUID as a raw buffer.
5
+ */
6
+ get asRawGuidUint8Array(): RawGuidUint8Array;
7
+ /**
8
+ * Returns the GUID as a full hex string.
9
+ */
10
+ get asFullHexGuid(): FullHexGuid;
11
+ /**
12
+ * Returns the GUID as a Uint8Array.
13
+ */
14
+ get asUint8Array(): Uint8Array;
15
+ /**
16
+ * Returns the GUID as a short hex string.
17
+ */
18
+ get asShortHexGuid(): ShortHexGuid;
19
+ /**
20
+ * Returns the GUID as a BigInt.
21
+ */
22
+ get asBigIntGuid(): BigIntGuid;
23
+ /**
24
+ * Returns the GUID as a Base64 string.
25
+ */
26
+ get asBase64Guid(): Base64Guid;
27
+ /**
28
+ * Returns the GUID as a base64 string
29
+ */
30
+ serialize(): string;
31
+ /**
32
+ * Returns the GUID as a JSON string
33
+ */
34
+ toJson(): string;
35
+ /**
36
+ * Returns the GUID as a Base64 string
37
+ */
38
+ toString(): Base64Guid;
39
+ /**
40
+ * Compares this GUID to another GUID
41
+ * @param other The GUID to compare to
42
+ */
43
+ equals(other: IGuidV4): boolean;
44
+ }
45
+ //# sourceMappingURL=guid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid.d.ts","sourceRoot":"","sources":["../../src/interfaces/guid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,UAAU,EAEV,WAAW,EACX,iBAAiB,EACjB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,IAAI,mBAAmB,IAAI,iBAAiB,CAAC;IAC7C;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC;IACjC;;OAEG;IACH,IAAI,YAAY,IAAI,UAAU,CAAC;IAC/B;;OAEG;IACH,IAAI,cAAc,IAAI,YAAY,CAAC;IACnC;;OAEG;IACH,IAAI,YAAY,IAAI,UAAU,CAAC;IAC/B;;OAEG;IACH,IAAI,YAAY,IAAI,UAAU,CAAC;IAE/B;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,IAAI,UAAU,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=guid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guid.js","sourceRoot":"","sources":["../../src/interfaces/guid.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export * from './backup-code';
2
+ export * from './backup-code-consts';
3
+ export * from './constants';
4
+ export * from './ecies-config';
5
+ export * from './ecies-consts';
6
+ export * from './ecies-file-service';
7
+ export * from './guid';
8
+ export * from './member-operational';
9
+ export * from './member-storage';
10
+ export * from './member-with-mnemonic';
11
+ export * from './pbkdf2-config';
12
+ export * from './pbkdf2-consts';
13
+ export * from './pbkdf2-result';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export * from './backup-code';
2
+ export * from './backup-code-consts';
3
+ export * from './constants';
4
+ export * from './ecies-config';
5
+ export * from './ecies-consts';
6
+ export * from './ecies-file-service';
7
+ export * from './guid';
8
+ export * from './member-operational';
9
+ export * from './member-storage';
10
+ export * from './member-with-mnemonic';
11
+ export * from './pbkdf2-config';
12
+ export * from './pbkdf2-consts';
13
+ export * from './pbkdf2-result';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { Wallet } from '@ethereumjs/wallet';
2
+ import { EmailString } from '../email-string';
3
+ import MemberType from '../enumerations/member-type';
4
+ import { GuidV4 } from '../guid';
5
+ import { SecureBuffer } from '../secure-buffer';
6
+ import { SecureString } from '../secure-string';
7
+ import { SignatureUint8Array } from '../types';
8
+ /**
9
+ * Operational interface for member - defines getters and methods
10
+ */
11
+ export interface IMemberOperational {
12
+ get id(): GuidV4;
13
+ get type(): MemberType;
14
+ get name(): string;
15
+ get email(): EmailString;
16
+ get publicKey(): Uint8Array;
17
+ get creatorId(): GuidV4;
18
+ get dateCreated(): Date;
19
+ get dateUpdated(): Date;
20
+ get privateKey(): SecureBuffer | undefined;
21
+ get wallet(): Wallet | undefined;
22
+ get hasPrivateKey(): boolean;
23
+ sign(data: Uint8Array): SignatureUint8Array;
24
+ verify(signature: SignatureUint8Array, data: Uint8Array): boolean;
25
+ encryptData(data: string | Uint8Array): Promise<Uint8Array>;
26
+ decryptData(encryptedData: Uint8Array): Promise<Uint8Array>;
27
+ toJson(): string;
28
+ loadWallet(mnemonic: SecureString): void;
29
+ unloadPrivateKey(): void;
30
+ unloadWallet(): void;
31
+ unloadWalletAndPrivateKey(): void;
32
+ }
33
+ /**
34
+ * Extended operational interface for test members
35
+ */
36
+ export interface ITestBrightChainMemberOperational extends IMemberOperational {
37
+ get mnemonic(): SecureString | undefined;
38
+ }
39
+ //# sourceMappingURL=member-operational.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-operational.d.ts","sourceRoot":"","sources":["../../src/interfaces/member-operational.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,IAAI,EAAE,IAAI,MAAM,CAAC;IACjB,IAAI,IAAI,IAAI,UAAU,CAAC;IACvB,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,IAAI,KAAK,IAAI,WAAW,CAAC;IACzB,IAAI,SAAS,IAAI,UAAU,CAAC;IAC5B,IAAI,SAAS,IAAI,MAAM,CAAC;IACxB,IAAI,WAAW,IAAI,IAAI,CAAC;IACxB,IAAI,WAAW,IAAI,IAAI,CAAC;IAGxB,IAAI,UAAU,IAAI,YAAY,GAAG,SAAS,CAAC;IAC3C,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC;IAGjC,IAAI,aAAa,IAAI,OAAO,CAAC;IAG7B,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAClE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,WAAW,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,IAAI,MAAM,CAAC;IAGjB,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,gBAAgB,IAAI,IAAI,CAAC;IACzB,YAAY,IAAI,IAAI,CAAC;IACrB,yBAAyB,IAAI,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,kBAAkB;IAC3E,IAAI,QAAQ,IAAI,YAAY,GAAG,SAAS,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=member-operational.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-operational.js","sourceRoot":"","sources":["../../src/interfaces/member-operational.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { MemberType } from '../enumerations/member-type';
2
+ /**
3
+ * Storage format for member data - all serializable types
4
+ */
5
+ export interface IMemberStorageData {
6
+ id: string;
7
+ type: MemberType;
8
+ name: string;
9
+ email: string;
10
+ publicKey: string;
11
+ creatorId: string;
12
+ dateCreated: string;
13
+ dateUpdated: string;
14
+ }
15
+ /**
16
+ * Extended storage format for test member data
17
+ */
18
+ export interface ITestMemberStorageData extends IMemberStorageData {
19
+ mnemonic?: string;
20
+ }
21
+ //# sourceMappingURL=member-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-storage.d.ts","sourceRoot":"","sources":["../../src/interfaces/member-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=member-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-storage.js","sourceRoot":"","sources":["../../src/interfaces/member-storage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Member } from '../member';
2
+ import { SecureString } from '../secure-string';
3
+ export interface IMemberWithMnemonic {
4
+ member: Member;
5
+ mnemonic: SecureString;
6
+ }
7
+ //# sourceMappingURL=member-with-mnemonic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-with-mnemonic.d.ts","sourceRoot":"","sources":["../../src/interfaces/member-with-mnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=member-with-mnemonic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-with-mnemonic.js","sourceRoot":"","sources":["../../src/interfaces/member-with-mnemonic.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface IPbkdf2Config {
2
+ hashBytes: number;
3
+ saltBytes: number;
4
+ iterations: number;
5
+ algorithm: string;
6
+ }
7
+ //# sourceMappingURL=pbkdf2-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2-config.d.ts","sourceRoot":"","sources":["../../src/interfaces/pbkdf2-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pbkdf2-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2-config.js","sourceRoot":"","sources":["../../src/interfaces/pbkdf2-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface IPBkdf2Consts {
2
+ /** Hash algorithm (sha512) */
3
+ ALGORITHM: string;
4
+ /** Number of bytes in a salt. */
5
+ SALT_BYTES: number;
6
+ /** Expected number of pbkdf2 iterations per second when hashing a password. */
7
+ ITERATIONS_PER_SECOND: number;
8
+ }
9
+ //# sourceMappingURL=pbkdf2-consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2-consts.d.ts","sourceRoot":"","sources":["../../src/interfaces/pbkdf2-consts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IAEnB,+EAA+E;IAC/E,qBAAqB,EAAE,MAAM,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pbkdf2-consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2-consts.js","sourceRoot":"","sources":["../../src/interfaces/pbkdf2-consts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface IPbkdf2Result {
2
+ salt: Uint8Array;
3
+ hash: Uint8Array;
4
+ iterations: number;
5
+ }
6
+ //# sourceMappingURL=pbkdf2-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2-result.d.ts","sourceRoot":"","sources":["../../src/interfaces/pbkdf2-result.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pbkdf2-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2-result.js","sourceRoot":"","sources":["../../src/interfaces/pbkdf2-result.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { Wallet } from '@ethereumjs/wallet';
2
+ import { EmailString } from './email-string';
3
+ import MemberType from './enumerations/member-type';
4
+ import { GuidV4 } from './guid';
5
+ import { IMemberOperational } from './interfaces/member-operational';
6
+ import { IMemberWithMnemonic } from './interfaces/member-with-mnemonic';
7
+ import { SecureBuffer } from './secure-buffer';
8
+ import { SecureString } from './secure-string';
9
+ import { ECIESService } from './services/ecies/service';
10
+ import { SignatureUint8Array } from './types';
11
+ /**
12
+ * A member of Brightchain.
13
+ * In the Owner Free Filesystem (OFF), members are used to:
14
+ * 1. Sign and verify data
15
+ * 2. Encrypt and decrypt data
16
+ * 3. Participate in voting
17
+ * 4. Establish ownership of data
18
+ */
19
+ export declare class Member implements IMemberOperational {
20
+ private readonly _eciesService;
21
+ private readonly _id;
22
+ private readonly _type;
23
+ private readonly _name;
24
+ private readonly _email;
25
+ private readonly _publicKey;
26
+ private readonly _creatorId;
27
+ private readonly _dateCreated;
28
+ private readonly _dateUpdated;
29
+ private _privateKey?;
30
+ private _wallet?;
31
+ constructor(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, publicKey: Uint8Array, privateKey?: SecureBuffer, wallet?: Wallet, id?: GuidV4, dateCreated?: Date, dateUpdated?: Date, creatorId?: GuidV4);
32
+ get id(): GuidV4;
33
+ get type(): MemberType;
34
+ get name(): string;
35
+ get email(): EmailString;
36
+ get publicKey(): Uint8Array;
37
+ get creatorId(): GuidV4;
38
+ get dateCreated(): Date;
39
+ get dateUpdated(): Date;
40
+ get privateKey(): SecureBuffer | undefined;
41
+ get wallet(): Wallet;
42
+ get hasPrivateKey(): boolean;
43
+ unloadPrivateKey(): void;
44
+ unloadWallet(): void;
45
+ unloadWalletAndPrivateKey(): void;
46
+ loadWallet(mnemonic: SecureString): void;
47
+ /**
48
+ * Loads the private key and optionally the voting private key.
49
+ *
50
+ * @param privateKey The private key to load.
51
+ * @param votingPrivateKey The voting private key to load.
52
+ */
53
+ loadPrivateKey(privateKey: SecureBuffer): void;
54
+ sign(data: Uint8Array): SignatureUint8Array;
55
+ signData(data: Uint8Array): SignatureUint8Array;
56
+ verify(signature: SignatureUint8Array, data: Uint8Array): boolean;
57
+ verifySignature(data: Uint8Array, signature: Uint8Array, publicKey: Uint8Array): boolean;
58
+ private static readonly MAX_ENCRYPTION_SIZE;
59
+ private static readonly VALID_STRING_REGEX;
60
+ encryptData(data: string | Uint8Array, recipientPublicKey?: Uint8Array): Promise<Uint8Array>;
61
+ decryptData(encryptedData: Uint8Array): Promise<Uint8Array>;
62
+ toJson(): string;
63
+ dispose(): void;
64
+ static fromJson(json: string, eciesService: ECIESService): Member;
65
+ static fromMnemonic(mnemonic: SecureString, eciesService: ECIESService): Member;
66
+ static newMember(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, forceMnemonic?: SecureString, createdBy?: GuidV4): IMemberWithMnemonic;
67
+ }
68
+ //# sourceMappingURL=member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../src/member.ts"],"names":[],"mappings":"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"}