@digitaldefiance/node-ecies-lib 4.5.19 → 4.6.4

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 (353) hide show
  1. package/package.json +5 -5
  2. package/src/builders/ecies-builder.d.ts +11 -0
  3. package/src/builders/ecies-builder.d.ts.map +1 -0
  4. package/src/builders/ecies-builder.js +26 -0
  5. package/src/builders/ecies-builder.js.map +1 -0
  6. package/src/builders/index.d.ts +3 -0
  7. package/src/builders/index.d.ts.map +1 -0
  8. package/src/builders/index.js +6 -0
  9. package/src/builders/index.js.map +1 -0
  10. package/src/builders/member-builder.d.ts +47 -0
  11. package/src/builders/member-builder.d.ts.map +1 -0
  12. package/src/builders/member-builder.js +99 -0
  13. package/src/builders/member-builder.js.map +1 -0
  14. package/src/constants.d.ts +38 -0
  15. package/src/constants.d.ts.map +1 -0
  16. package/src/constants.js +196 -0
  17. package/src/constants.js.map +1 -0
  18. package/src/core/errors/crypto-error.d.ts +6 -0
  19. package/src/core/errors/crypto-error.d.ts.map +1 -0
  20. package/src/core/errors/crypto-error.js +15 -0
  21. package/src/core/errors/crypto-error.js.map +1 -0
  22. package/src/core/index.d.ts +3 -0
  23. package/src/core/index.d.ts.map +1 -0
  24. package/src/core/index.js +6 -0
  25. package/src/core/index.js.map +1 -0
  26. package/src/core/types/result.d.ts +8 -0
  27. package/src/core/types/result.d.ts.map +1 -0
  28. package/src/core/types/result.js +3 -0
  29. package/src/core/types/result.js.map +1 -0
  30. package/src/enumerations/index.d.ts +3 -0
  31. package/src/enumerations/index.d.ts.map +1 -0
  32. package/src/enumerations/index.js +6 -0
  33. package/src/enumerations/index.js.map +1 -0
  34. package/src/enumerations/pbkdf2-profile.d.ts +9 -0
  35. package/src/enumerations/pbkdf2-profile.d.ts.map +1 -0
  36. package/src/enumerations/pbkdf2-profile.js +13 -0
  37. package/src/enumerations/pbkdf2-profile.js.map +1 -0
  38. package/src/enumerations/voting-error-type.d.ts +37 -0
  39. package/src/enumerations/voting-error-type.d.ts.map +1 -0
  40. package/src/enumerations/voting-error-type.js +48 -0
  41. package/src/enumerations/voting-error-type.js.map +1 -0
  42. package/src/errors/index.d.ts +2 -0
  43. package/src/errors/index.d.ts.map +1 -0
  44. package/src/errors/index.js +5 -0
  45. package/src/errors/index.js.map +1 -0
  46. package/src/errors/voting.d.ts +16 -0
  47. package/src/errors/voting.d.ts.map +1 -0
  48. package/src/errors/voting.js +27 -0
  49. package/src/errors/voting.js.map +1 -0
  50. package/src/i18n/ecies-i18n-factory.d.ts +28 -0
  51. package/src/i18n/ecies-i18n-factory.d.ts.map +1 -0
  52. package/src/i18n/ecies-i18n-factory.js +90 -0
  53. package/src/i18n/ecies-i18n-factory.js.map +1 -0
  54. package/src/i18n/index.d.ts +3 -0
  55. package/src/i18n/index.d.ts.map +1 -0
  56. package/src/i18n/index.js +8 -0
  57. package/src/i18n/index.js.map +1 -0
  58. package/src/i18n/node-ecies-i18n-setup.d.ts +5 -0
  59. package/src/i18n/node-ecies-i18n-setup.d.ts.map +1 -0
  60. package/src/i18n/node-ecies-i18n-setup.js +48 -0
  61. package/src/i18n/node-ecies-i18n-setup.js.map +1 -0
  62. package/src/i18n/node-keys.d.ts +57 -0
  63. package/src/i18n/node-keys.d.ts.map +1 -0
  64. package/src/i18n/node-keys.js +67 -0
  65. package/src/i18n/node-keys.js.map +1 -0
  66. package/src/i18n/translations/de.d.ts +3 -0
  67. package/src/i18n/translations/de.d.ts.map +1 -0
  68. package/src/i18n/translations/de.js +57 -0
  69. package/src/i18n/translations/de.js.map +1 -0
  70. package/src/i18n/translations/en-GB.d.ts +3 -0
  71. package/src/i18n/translations/en-GB.d.ts.map +1 -0
  72. package/src/i18n/translations/en-GB.js +61 -0
  73. package/src/i18n/translations/en-GB.js.map +1 -0
  74. package/src/i18n/translations/en-US.d.ts +6 -0
  75. package/src/i18n/translations/en-US.d.ts.map +1 -0
  76. package/src/i18n/translations/en-US.js +65 -0
  77. package/src/i18n/translations/en-US.js.map +1 -0
  78. package/src/i18n/translations/es.d.ts +3 -0
  79. package/src/i18n/translations/es.d.ts.map +1 -0
  80. package/src/i18n/translations/es.js +57 -0
  81. package/src/i18n/translations/es.js.map +1 -0
  82. package/src/i18n/translations/fr.d.ts +3 -0
  83. package/src/i18n/translations/fr.d.ts.map +1 -0
  84. package/src/i18n/translations/fr.js +57 -0
  85. package/src/i18n/translations/fr.js.map +1 -0
  86. package/src/i18n/translations/index.d.ts +9 -0
  87. package/src/i18n/translations/index.d.ts.map +1 -0
  88. package/src/i18n/translations/index.js +20 -0
  89. package/src/i18n/translations/index.js.map +1 -0
  90. package/src/i18n/translations/ja.d.ts +3 -0
  91. package/src/i18n/translations/ja.d.ts.map +1 -0
  92. package/src/i18n/translations/ja.js +57 -0
  93. package/src/i18n/translations/ja.js.map +1 -0
  94. package/src/i18n/translations/uk.d.ts +3 -0
  95. package/src/i18n/translations/uk.d.ts.map +1 -0
  96. package/src/i18n/translations/uk.js +57 -0
  97. package/src/i18n/translations/uk.js.map +1 -0
  98. package/src/i18n/translations/zh-cn.d.ts +3 -0
  99. package/src/i18n/translations/zh-cn.d.ts.map +1 -0
  100. package/src/i18n/translations/zh-cn.js +57 -0
  101. package/src/i18n/translations/zh-cn.js.map +1 -0
  102. package/src/i18n-setup.d.ts +26 -0
  103. package/src/i18n-setup.d.ts.map +1 -0
  104. package/src/i18n-setup.js +111 -0
  105. package/src/i18n-setup.js.map +1 -0
  106. package/src/index.d.ts +21 -0
  107. package/src/index.d.ts.map +1 -0
  108. package/src/index.js +36 -0
  109. package/src/index.js.map +1 -0
  110. package/src/interfaces/authenticated-cipher.d.ts +12 -0
  111. package/src/interfaces/authenticated-cipher.d.ts.map +1 -0
  112. package/src/interfaces/authenticated-cipher.js +3 -0
  113. package/src/interfaces/authenticated-cipher.js.map +1 -0
  114. package/src/interfaces/authenticated-decipher.d.ts +11 -0
  115. package/src/interfaces/authenticated-decipher.d.ts.map +1 -0
  116. package/src/interfaces/authenticated-decipher.js +3 -0
  117. package/src/interfaces/authenticated-decipher.js.map +1 -0
  118. package/src/interfaces/backend-member-operational.d.ts +48 -0
  119. package/src/interfaces/backend-member-operational.d.ts.map +1 -0
  120. package/src/interfaces/backend-member-operational.js +3 -0
  121. package/src/interfaces/backend-member-operational.js.map +1 -0
  122. package/src/interfaces/checksum-config.d.ts +5 -0
  123. package/src/interfaces/checksum-config.d.ts.map +1 -0
  124. package/src/interfaces/checksum-config.js +3 -0
  125. package/src/interfaces/checksum-config.js.map +1 -0
  126. package/src/interfaces/checksum-consts.d.ts +11 -0
  127. package/src/interfaces/checksum-consts.d.ts.map +1 -0
  128. package/src/interfaces/checksum-consts.js +3 -0
  129. package/src/interfaces/checksum-consts.js.map +1 -0
  130. package/src/interfaces/constants.d.ts +52 -0
  131. package/src/interfaces/constants.d.ts.map +1 -0
  132. package/src/interfaces/constants.js +3 -0
  133. package/src/interfaces/constants.js.map +1 -0
  134. package/src/interfaces/ecies-consts.d.ts +88 -0
  135. package/src/interfaces/ecies-consts.d.ts.map +1 -0
  136. package/src/interfaces/ecies-consts.js +3 -0
  137. package/src/interfaces/ecies-consts.js.map +1 -0
  138. package/src/interfaces/encrypted-chunk.d.ts +12 -0
  139. package/src/interfaces/encrypted-chunk.d.ts.map +1 -0
  140. package/src/interfaces/encrypted-chunk.js +3 -0
  141. package/src/interfaces/encrypted-chunk.js.map +1 -0
  142. package/src/interfaces/encryption-consts.d.ts +11 -0
  143. package/src/interfaces/encryption-consts.d.ts.map +1 -0
  144. package/src/interfaces/encryption-consts.js +3 -0
  145. package/src/interfaces/encryption-consts.js.map +1 -0
  146. package/src/interfaces/index.d.ts +31 -0
  147. package/src/interfaces/index.d.ts.map +1 -0
  148. package/src/interfaces/index.js +33 -0
  149. package/src/interfaces/index.js.map +1 -0
  150. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +6 -0
  151. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +1 -0
  152. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +3 -0
  153. package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +1 -0
  154. package/src/interfaces/keyring-consts.d.ts +6 -0
  155. package/src/interfaces/keyring-consts.d.ts.map +1 -0
  156. package/src/interfaces/keyring-consts.js +3 -0
  157. package/src/interfaces/keyring-consts.js.map +1 -0
  158. package/src/interfaces/member-with-mnemonic.d.ts +7 -0
  159. package/src/interfaces/member-with-mnemonic.d.ts.map +1 -0
  160. package/src/interfaces/member-with-mnemonic.js +3 -0
  161. package/src/interfaces/member-with-mnemonic.js.map +1 -0
  162. package/src/interfaces/member.d.ts +47 -0
  163. package/src/interfaces/member.d.ts.map +1 -0
  164. package/src/interfaces/member.js +3 -0
  165. package/src/interfaces/member.js.map +1 -0
  166. package/src/interfaces/multi-encrypted-message.d.ts +8 -0
  167. package/src/interfaces/multi-encrypted-message.d.ts.map +1 -0
  168. package/src/interfaces/multi-encrypted-message.js +3 -0
  169. package/src/interfaces/multi-encrypted-message.js.map +1 -0
  170. package/src/interfaces/multi-encrypted-parsed-header.d.ts +27 -0
  171. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
  172. package/src/interfaces/multi-encrypted-parsed-header.js +3 -0
  173. package/src/interfaces/multi-encrypted-parsed-header.js.map +1 -0
  174. package/src/interfaces/multi-recipient-chunk.d.ts +26 -0
  175. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -0
  176. package/src/interfaces/multi-recipient-chunk.js +15 -0
  177. package/src/interfaces/multi-recipient-chunk.js.map +1 -0
  178. package/src/interfaces/pbkdf-profiles.d.ts +6 -0
  179. package/src/interfaces/pbkdf-profiles.d.ts.map +1 -0
  180. package/src/interfaces/pbkdf-profiles.js +3 -0
  181. package/src/interfaces/pbkdf-profiles.js.map +1 -0
  182. package/src/interfaces/pbkdf2-result.d.ts +6 -0
  183. package/src/interfaces/pbkdf2-result.d.ts.map +1 -0
  184. package/src/interfaces/pbkdf2-result.js +3 -0
  185. package/src/interfaces/pbkdf2-result.js.map +1 -0
  186. package/src/interfaces/signing-key-private-key-info.d.ts +11 -0
  187. package/src/interfaces/signing-key-private-key-info.d.ts.map +1 -0
  188. package/src/interfaces/signing-key-private-key-info.js +3 -0
  189. package/src/interfaces/signing-key-private-key-info.js.map +1 -0
  190. package/src/interfaces/simple-keypair-buffer.d.ts +6 -0
  191. package/src/interfaces/simple-keypair-buffer.d.ts.map +1 -0
  192. package/src/interfaces/simple-keypair-buffer.js +3 -0
  193. package/src/interfaces/simple-keypair-buffer.js.map +1 -0
  194. package/src/interfaces/simple-keypair.d.ts +6 -0
  195. package/src/interfaces/simple-keypair.d.ts.map +1 -0
  196. package/src/interfaces/simple-keypair.js +3 -0
  197. package/src/interfaces/simple-keypair.js.map +1 -0
  198. package/src/interfaces/simple-public-key-only-buffer.d.ts +4 -0
  199. package/src/interfaces/simple-public-key-only-buffer.d.ts.map +1 -0
  200. package/src/interfaces/simple-public-key-only-buffer.js +3 -0
  201. package/src/interfaces/simple-public-key-only-buffer.js.map +1 -0
  202. package/src/interfaces/simple-public-key-only.d.ts +4 -0
  203. package/src/interfaces/simple-public-key-only.d.ts.map +1 -0
  204. package/src/interfaces/simple-public-key-only.js +3 -0
  205. package/src/interfaces/simple-public-key-only.js.map +1 -0
  206. package/src/interfaces/single-encrypted-parsed-header.d.ts +35 -0
  207. package/src/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
  208. package/src/interfaces/single-encrypted-parsed-header.js +3 -0
  209. package/src/interfaces/single-encrypted-parsed-header.js.map +1 -0
  210. package/src/interfaces/stream-config.d.ts +6 -0
  211. package/src/interfaces/stream-config.d.ts.map +1 -0
  212. package/src/interfaces/stream-config.js +8 -0
  213. package/src/interfaces/stream-config.js.map +1 -0
  214. package/src/interfaces/stream-progress.d.ts +22 -0
  215. package/src/interfaces/stream-progress.d.ts.map +1 -0
  216. package/src/interfaces/stream-progress.js +3 -0
  217. package/src/interfaces/stream-progress.js.map +1 -0
  218. package/src/interfaces/voting-consts.d.ts +86 -0
  219. package/src/interfaces/voting-consts.d.ts.map +1 -0
  220. package/src/interfaces/voting-consts.js +27 -0
  221. package/src/interfaces/voting-consts.js.map +1 -0
  222. package/src/interfaces/wallet-seed.d.ts +7 -0
  223. package/src/interfaces/wallet-seed.d.ts.map +1 -0
  224. package/src/interfaces/wallet-seed.js +3 -0
  225. package/src/interfaces/wallet-seed.js.map +1 -0
  226. package/src/interfaces/wrapped-key-consts.d.ts +7 -0
  227. package/src/interfaces/wrapped-key-consts.d.ts.map +1 -0
  228. package/src/interfaces/wrapped-key-consts.js +3 -0
  229. package/src/interfaces/wrapped-key-consts.js.map +1 -0
  230. package/src/isolated-private.d.ts +62 -0
  231. package/src/isolated-private.d.ts.map +1 -0
  232. package/src/isolated-private.js +139 -0
  233. package/src/isolated-private.js.map +1 -0
  234. package/src/isolated-public.d.ts +118 -0
  235. package/src/isolated-public.d.ts.map +1 -0
  236. package/src/isolated-public.js +317 -0
  237. package/src/isolated-public.js.map +1 -0
  238. package/src/lib/crypto-container.d.ts +13 -0
  239. package/src/lib/crypto-container.d.ts.map +1 -0
  240. package/src/lib/crypto-container.js +32 -0
  241. package/src/lib/crypto-container.js.map +1 -0
  242. package/src/lib/index.d.ts +4 -0
  243. package/src/lib/index.d.ts.map +1 -0
  244. package/src/lib/index.js +7 -0
  245. package/src/lib/index.js.map +1 -0
  246. package/src/lib/invariant-validator.d.ts +69 -0
  247. package/src/lib/invariant-validator.d.ts.map +1 -0
  248. package/src/lib/invariant-validator.js +98 -0
  249. package/src/lib/invariant-validator.js.map +1 -0
  250. package/src/lib/invariants/index.d.ts +8 -0
  251. package/src/lib/invariants/index.d.ts.map +1 -0
  252. package/src/lib/invariants/index.js +12 -0
  253. package/src/lib/invariants/index.js.map +1 -0
  254. package/src/lib/invariants/recipient-id-consistency.d.ts +41 -0
  255. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  256. package/src/lib/invariants/recipient-id-consistency.js +75 -0
  257. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  258. package/src/member.d.ts +100 -0
  259. package/src/member.d.ts.map +1 -0
  260. package/src/member.js +345 -0
  261. package/src/member.js.map +1 -0
  262. package/src/services/aes-gcm.d.ts +66 -0
  263. package/src/services/aes-gcm.d.ts.map +1 -0
  264. package/src/services/aes-gcm.js +161 -0
  265. package/src/services/aes-gcm.js.map +1 -0
  266. package/src/services/chunk-processor.d.ts +15 -0
  267. package/src/services/chunk-processor.d.ts.map +1 -0
  268. package/src/services/chunk-processor.js +36 -0
  269. package/src/services/chunk-processor.js.map +1 -0
  270. package/src/services/ecies/crypto-core.d.ts +104 -0
  271. package/src/services/ecies/crypto-core.d.ts.map +1 -0
  272. package/src/services/ecies/crypto-core.js +234 -0
  273. package/src/services/ecies/crypto-core.js.map +1 -0
  274. package/src/services/ecies/file.d.ts +30 -0
  275. package/src/services/ecies/file.d.ts.map +1 -0
  276. package/src/services/ecies/file.js +112 -0
  277. package/src/services/ecies/file.js.map +1 -0
  278. package/src/services/ecies/index.d.ts +8 -0
  279. package/src/services/ecies/index.d.ts.map +1 -0
  280. package/src/services/ecies/index.js +11 -0
  281. package/src/services/ecies/index.js.map +1 -0
  282. package/src/services/ecies/multi-recipient.d.ts +84 -0
  283. package/src/services/ecies/multi-recipient.d.ts.map +1 -0
  284. package/src/services/ecies/multi-recipient.js +502 -0
  285. package/src/services/ecies/multi-recipient.js.map +1 -0
  286. package/src/services/ecies/service.d.ts +75 -0
  287. package/src/services/ecies/service.d.ts.map +1 -0
  288. package/src/services/ecies/service.js +152 -0
  289. package/src/services/ecies/service.js.map +1 -0
  290. package/src/services/ecies/signature.d.ts +38 -0
  291. package/src/services/ecies/signature.d.ts.map +1 -0
  292. package/src/services/ecies/signature.js +70 -0
  293. package/src/services/ecies/signature.js.map +1 -0
  294. package/src/services/ecies/single-recipient.d.ts +83 -0
  295. package/src/services/ecies/single-recipient.d.ts.map +1 -0
  296. package/src/services/ecies/single-recipient.js +452 -0
  297. package/src/services/ecies/single-recipient.js.map +1 -0
  298. package/src/services/ecies/utilities.d.ts +33 -0
  299. package/src/services/ecies/utilities.d.ts.map +1 -0
  300. package/src/services/ecies/utilities.js +91 -0
  301. package/src/services/ecies/utilities.js.map +1 -0
  302. package/src/services/encryption-stream.d.ts +33 -0
  303. package/src/services/encryption-stream.d.ts.map +1 -0
  304. package/src/services/encryption-stream.js +211 -0
  305. package/src/services/encryption-stream.js.map +1 -0
  306. package/src/services/index.d.ts +9 -0
  307. package/src/services/index.d.ts.map +1 -0
  308. package/src/services/index.js +14 -0
  309. package/src/services/index.js.map +1 -0
  310. package/src/services/multi-recipient-processor.d.ts +72 -0
  311. package/src/services/multi-recipient-processor.d.ts.map +1 -0
  312. package/src/services/multi-recipient-processor.js +325 -0
  313. package/src/services/multi-recipient-processor.js.map +1 -0
  314. package/src/services/pbkdf2.d.ts +105 -0
  315. package/src/services/pbkdf2.d.ts.map +1 -0
  316. package/src/services/pbkdf2.js +191 -0
  317. package/src/services/pbkdf2.js.map +1 -0
  318. package/src/services/progress-tracker.d.ts +14 -0
  319. package/src/services/progress-tracker.d.ts.map +1 -0
  320. package/src/services/progress-tracker.js +94 -0
  321. package/src/services/progress-tracker.js.map +1 -0
  322. package/src/services/voting.service.d.ts +262 -0
  323. package/src/services/voting.service.d.ts.map +1 -0
  324. package/src/services/voting.service.js +791 -0
  325. package/src/services/voting.service.js.map +1 -0
  326. package/src/test-mocks/index.d.ts +2 -0
  327. package/src/test-mocks/index.d.ts.map +1 -0
  328. package/src/test-mocks/index.js +5 -0
  329. package/src/test-mocks/index.js.map +1 -0
  330. package/src/test-mocks/mock-backend-member.d.ts +76 -0
  331. package/src/test-mocks/mock-backend-member.d.ts.map +1 -0
  332. package/src/test-mocks/mock-backend-member.js +139 -0
  333. package/src/test-mocks/mock-backend-member.js.map +1 -0
  334. package/src/testing.d.ts +2 -0
  335. package/src/testing.d.ts.map +1 -0
  336. package/src/testing.js +6 -0
  337. package/src/testing.js.map +1 -0
  338. package/src/types/id-guards.d.ts +39 -0
  339. package/src/types/id-guards.d.ts.map +1 -0
  340. package/src/types/id-guards.js +91 -0
  341. package/src/types/id-guards.js.map +1 -0
  342. package/src/types/index.d.ts +2 -0
  343. package/src/types/index.d.ts.map +1 -0
  344. package/src/types/index.js +5 -0
  345. package/src/types/index.js.map +1 -0
  346. package/src/types.d.ts +26 -0
  347. package/src/types.d.ts.map +1 -0
  348. package/src/types.js +6 -0
  349. package/src/types.js.map +1 -0
  350. package/src/utils.d.ts +11 -0
  351. package/src/utils.d.ts.map +1 -0
  352. package/src/utils.js +82 -0
  353. package/src/utils.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voting.service.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './mock-backend-member';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/test-mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./mock-backend-member"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/test-mocks/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC"}
@@ -0,0 +1,76 @@
1
+ import { EmailString, MemberType, SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
2
+ import { Wallet } from '@ethereumjs/wallet';
3
+ import type { IBackendMemberOperational } from '../interfaces/backend-member-operational';
4
+ import { SignatureBuffer } from '../types';
5
+ export declare class MockBackendMember implements IBackendMemberOperational<Buffer> {
6
+ private _id;
7
+ private _type;
8
+ private _name;
9
+ private _email;
10
+ private _publicKey;
11
+ private _creatorId;
12
+ private _dateCreated;
13
+ private _dateUpdated;
14
+ private _privateKey?;
15
+ private _wallet?;
16
+ private _hasPrivateKey;
17
+ constructor(data?: Partial<{
18
+ id: Buffer;
19
+ type: MemberType;
20
+ name: string;
21
+ email: EmailString;
22
+ publicKey: Buffer;
23
+ privateKey: SecureBuffer;
24
+ wallet: Wallet;
25
+ creatorId: Buffer;
26
+ dateCreated: Date;
27
+ dateUpdated: Date;
28
+ hasPrivateKey: boolean;
29
+ }>);
30
+ get id(): Buffer;
31
+ get type(): MemberType;
32
+ get name(): string;
33
+ get email(): EmailString;
34
+ get publicKey(): Uint8Array;
35
+ get creatorId(): Buffer;
36
+ get dateCreated(): Date;
37
+ get dateUpdated(): Date;
38
+ get privateKey(): SecureBuffer | undefined;
39
+ get wallet(): Wallet | undefined;
40
+ get hasPrivateKey(): boolean;
41
+ unloadPrivateKey(): void;
42
+ unloadWallet(): void;
43
+ unloadWalletAndPrivateKey(): void;
44
+ loadWallet(_mnemonic: SecureString): void;
45
+ loadPrivateKey(_privateKey: SecureBuffer): void;
46
+ sign(_data: Buffer): SignatureBuffer;
47
+ verify(_signature: SignatureBuffer, _data: Buffer): boolean;
48
+ encryptData(_data: string | Buffer): Uint8Array;
49
+ decryptData(_encryptedData: Buffer): Uint8Array;
50
+ encryptDataStream(): AsyncGenerator<{
51
+ data: Buffer;
52
+ header: Record<string, unknown>;
53
+ index: number;
54
+ isLast: boolean;
55
+ }, void, unknown>;
56
+ decryptDataStream(): AsyncGenerator<Buffer, void, unknown>;
57
+ toJson(): string;
58
+ dispose(): void;
59
+ static create(overrides?: Partial<{
60
+ id: Buffer;
61
+ type: MemberType;
62
+ name: string;
63
+ email: EmailString;
64
+ publicKey: Buffer;
65
+ privateKey: SecureBuffer;
66
+ wallet: Wallet;
67
+ creatorId: Buffer;
68
+ dateCreated: Date;
69
+ dateUpdated: Date;
70
+ hasPrivateKey: boolean;
71
+ }>): MockBackendMember;
72
+ static createMultiple(count: number): MockBackendMember[];
73
+ static createWithPrivateKey(): MockBackendMember;
74
+ static createWithoutPrivateKey(): MockBackendMember;
75
+ }
76
+ //# sourceMappingURL=mock-backend-member.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-backend-member.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/test-mocks/mock-backend-member.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockBackendMember = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
6
+ const faker_1 = require("@faker-js/faker");
7
+ const createMockWallet = () => ({
8
+ getPrivateKey: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 64 }), 'hex'),
9
+ getPublicKey: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 128 }), 'hex'),
10
+ getAddress: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 40 }), 'hex'),
11
+ sign: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 128 }), 'hex'),
12
+ });
13
+ class MockBackendMember {
14
+ _id;
15
+ _type;
16
+ _name;
17
+ _email;
18
+ _publicKey;
19
+ _creatorId;
20
+ _dateCreated;
21
+ _dateUpdated;
22
+ _privateKey;
23
+ _wallet;
24
+ _hasPrivateKey;
25
+ constructor(data = {}) {
26
+ this._id = data.id || (0, crypto_1.randomBytes)(12);
27
+ this._type = data.type || faker_1.faker.helpers.enumValue(ecies_lib_1.MemberType);
28
+ this._name = data.name || faker_1.faker.person.fullName();
29
+ this._email = data.email || new ecies_lib_1.EmailString(faker_1.faker.internet.email());
30
+ this._publicKey =
31
+ data.publicKey ||
32
+ Buffer.from(faker_1.faker.string.hexadecimal({ length: 130 }), 'hex');
33
+ this._creatorId = data.creatorId || this._id;
34
+ this._dateCreated = data.dateCreated || faker_1.faker.date.past();
35
+ this._dateUpdated =
36
+ data.dateUpdated ||
37
+ faker_1.faker.date.between({ from: this._dateCreated, to: new Date() });
38
+ this._privateKey = data.privateKey;
39
+ this._wallet =
40
+ data.wallet ||
41
+ (data.hasPrivateKey !== false ? createMockWallet() : undefined);
42
+ this._hasPrivateKey = data.hasPrivateKey ?? !!this._privateKey;
43
+ }
44
+ get id() {
45
+ return this._id;
46
+ }
47
+ get type() {
48
+ return this._type;
49
+ }
50
+ get name() {
51
+ return this._name;
52
+ }
53
+ get email() {
54
+ return this._email;
55
+ }
56
+ get publicKey() {
57
+ return this._publicKey;
58
+ }
59
+ get creatorId() {
60
+ return this._creatorId;
61
+ }
62
+ get dateCreated() {
63
+ return this._dateCreated;
64
+ }
65
+ get dateUpdated() {
66
+ return this._dateUpdated;
67
+ }
68
+ get privateKey() {
69
+ return this._privateKey;
70
+ }
71
+ get wallet() {
72
+ return this._wallet;
73
+ }
74
+ get hasPrivateKey() {
75
+ return this._hasPrivateKey;
76
+ }
77
+ unloadPrivateKey() { }
78
+ unloadWallet() { }
79
+ unloadWalletAndPrivateKey() { }
80
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
81
+ loadWallet(_mnemonic) { }
82
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
83
+ loadPrivateKey(_privateKey) { }
84
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
85
+ sign(_data) {
86
+ return Buffer.from(faker_1.faker.string.hexadecimal({ length: 128 }), 'hex');
87
+ }
88
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
89
+ verify(_signature, _data) {
90
+ return true;
91
+ }
92
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
93
+ encryptData(_data) {
94
+ return Buffer.from(faker_1.faker.string.hexadecimal({ length: 256 }), 'hex');
95
+ }
96
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
97
+ decryptData(_encryptedData) {
98
+ return Buffer.from(faker_1.faker.lorem.paragraph());
99
+ }
100
+ async *encryptDataStream() {
101
+ yield { data: Buffer.from('mock'), header: {}, index: 0, isLast: true };
102
+ }
103
+ async *decryptDataStream() {
104
+ yield Buffer.from('mock');
105
+ }
106
+ toJson() {
107
+ return JSON.stringify({
108
+ id: this._id.toString('hex'),
109
+ type: this._type,
110
+ name: this._name,
111
+ email: this._email.toString(),
112
+ publicKey: this._publicKey.toString('base64'),
113
+ creatorId: this._creatorId.toString('hex'),
114
+ dateCreated: this._dateCreated.toISOString(),
115
+ dateUpdated: this._dateUpdated.toISOString(),
116
+ });
117
+ }
118
+ dispose() { }
119
+ static create(overrides = {}) {
120
+ return new MockBackendMember(overrides);
121
+ }
122
+ static createMultiple(count) {
123
+ return Array.from({ length: count }, () => this.create());
124
+ }
125
+ static createWithPrivateKey() {
126
+ return new MockBackendMember({
127
+ privateKey: new ecies_lib_1.SecureBuffer(Buffer.from(faker_1.faker.string.hexadecimal({ length: 64 }), 'hex')),
128
+ hasPrivateKey: true,
129
+ });
130
+ }
131
+ static createWithoutPrivateKey() {
132
+ return new MockBackendMember({
133
+ privateKey: undefined,
134
+ hasPrivateKey: false,
135
+ });
136
+ }
137
+ }
138
+ exports.MockBackendMember = MockBackendMember;
139
+ //# sourceMappingURL=mock-backend-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-backend-member.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/test-mocks/mock-backend-member.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './test-mocks';
2
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/testing.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC"}
package/src/testing.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // Test utilities entry point - import from '@digitaldefiance/node-ecies-lib/testing'
5
+ tslib_1.__exportStar(require("./test-mocks"), exports);
6
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/testing.ts"],"names":[],"mappings":";;;AAAA,qFAAqF;AACrF,uDAA6B"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Type guards and converters for ID types
3
+ * Used to safely convert between Buffer and Uint8Array without unsafe type casts
4
+ */
5
+ /**
6
+ * Type guard to check if a value is a Buffer
7
+ * @param value - The value to check
8
+ * @returns True if the value is a Buffer
9
+ */
10
+ export declare function isBuffer(value: unknown): value is Buffer;
11
+ /**
12
+ * Type guard to check if a value is a Uint8Array
13
+ * @param value - The value to check
14
+ * @returns True if the value is a Uint8Array
15
+ */
16
+ export declare function isUint8Array(value: unknown): value is Uint8Array;
17
+ /**
18
+ * Safely converts an ID value to Buffer
19
+ * @param id - The ID to convert (Buffer, Uint8Array, or string)
20
+ * @returns The ID as a Buffer
21
+ * @throws Error if the ID type is not supported
22
+ */
23
+ export declare function toBuffer(id: Buffer | Uint8Array | string): Buffer;
24
+ /**
25
+ * Safely converts an ID value to Uint8Array
26
+ * @param id - The ID to convert (Buffer, Uint8Array, or string)
27
+ * @returns The ID as a Uint8Array
28
+ * @throws Error if the ID type is not supported
29
+ */
30
+ export declare function toUint8Array(id: Buffer | Uint8Array | string): Uint8Array;
31
+ /**
32
+ * Generic ID converter that can convert between Buffer, Uint8Array, and string
33
+ * @param id - The ID to convert
34
+ * @param toType - The target type ('Buffer', 'Uint8Array', or 'string')
35
+ * @returns The converted ID
36
+ * @throws Error if the conversion is not supported
37
+ */
38
+ export declare function convertId<T extends 'Buffer' | 'Uint8Array' | 'string'>(id: Buffer | Uint8Array | string, toType: T): T extends 'Buffer' ? Buffer : T extends 'Uint8Array' ? Uint8Array : string;
39
+ //# sourceMappingURL=id-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-guards.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/id-guards.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAWjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAWzE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,YAAY,GAAG,QAAQ,EACpE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAChC,MAAM,EAAE,CAAC,GACR,CAAC,SAAS,QAAQ,GAAG,MAAM,GAAG,CAAC,SAAS,YAAY,GAAG,UAAU,GAAG,MAAM,CAuC5E"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Type guards and converters for ID types
4
+ * Used to safely convert between Buffer and Uint8Array without unsafe type casts
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.isBuffer = isBuffer;
8
+ exports.isUint8Array = isUint8Array;
9
+ exports.toBuffer = toBuffer;
10
+ exports.toUint8Array = toUint8Array;
11
+ exports.convertId = convertId;
12
+ /**
13
+ * Type guard to check if a value is a Buffer
14
+ * @param value - The value to check
15
+ * @returns True if the value is a Buffer
16
+ */
17
+ function isBuffer(value) {
18
+ return Buffer.isBuffer(value);
19
+ }
20
+ /**
21
+ * Type guard to check if a value is a Uint8Array
22
+ * @param value - The value to check
23
+ * @returns True if the value is a Uint8Array
24
+ */
25
+ function isUint8Array(value) {
26
+ return value instanceof Uint8Array;
27
+ }
28
+ /**
29
+ * Safely converts an ID value to Buffer
30
+ * @param id - The ID to convert (Buffer, Uint8Array, or string)
31
+ * @returns The ID as a Buffer
32
+ * @throws Error if the ID type is not supported
33
+ */
34
+ function toBuffer(id) {
35
+ if (isBuffer(id)) {
36
+ return id;
37
+ }
38
+ if (isUint8Array(id)) {
39
+ return Buffer.from(id);
40
+ }
41
+ if (typeof id === 'string') {
42
+ return Buffer.from(id, 'hex');
43
+ }
44
+ throw new Error(`Cannot convert ID of type ${typeof id} to Buffer`);
45
+ }
46
+ /**
47
+ * Safely converts an ID value to Uint8Array
48
+ * @param id - The ID to convert (Buffer, Uint8Array, or string)
49
+ * @returns The ID as a Uint8Array
50
+ * @throws Error if the ID type is not supported
51
+ */
52
+ function toUint8Array(id) {
53
+ if (isUint8Array(id)) {
54
+ return id;
55
+ }
56
+ if (isBuffer(id)) {
57
+ return new Uint8Array(id);
58
+ }
59
+ if (typeof id === 'string') {
60
+ return new Uint8Array(Buffer.from(id, 'hex'));
61
+ }
62
+ throw new Error(`Cannot convert ID of type ${typeof id} to Uint8Array`);
63
+ }
64
+ /**
65
+ * Generic ID converter that can convert between Buffer, Uint8Array, and string
66
+ * @param id - The ID to convert
67
+ * @param toType - The target type ('Buffer', 'Uint8Array', or 'string')
68
+ * @returns The converted ID
69
+ * @throws Error if the conversion is not supported
70
+ */
71
+ function convertId(id, toType) {
72
+ if (toType === 'Buffer') {
73
+ return toBuffer(id);
74
+ }
75
+ if (toType === 'Uint8Array') {
76
+ return toUint8Array(id);
77
+ }
78
+ if (toType === 'string') {
79
+ if (typeof id === 'string') {
80
+ return id;
81
+ }
82
+ if (isBuffer(id)) {
83
+ return id.toString('hex');
84
+ }
85
+ if (isUint8Array(id)) {
86
+ return Buffer.from(id).toString('hex');
87
+ }
88
+ }
89
+ throw new Error(`Cannot convert ID to type ${toType}`);
90
+ }
91
+ //# sourceMappingURL=id-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-guards.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/id-guards.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,4BAEC;AAOD,oCAEC;AAQD,4BAWC;AAQD,oCAWC;AASD,8BA0CC;AAzGD;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,UAAU,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,EAAgC;IACvD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,EAAgC;IAC3D,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,EAAgC,EAChC,MAAS;IAET,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,EAAE,CAIN,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,YAAY,CAAC,EAAE,CAIV,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAIK,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAIZ,CAAC;QACf,CAAC;QACD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAIzB,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './id-guards';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./id-guards"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
package/src/types.d.ts ADDED
@@ -0,0 +1,26 @@
1
+ import { HexString } from '@digitaldefiance/ecies-lib';
2
+ import { Brand } from 'ts-brand';
3
+ import { IKeyPairBufferWithUnEncryptedPrivateKey } from './interfaces/keypair-buffer-with-un-encrypted-private-key';
4
+ import { ISigningKeyPrivateKeyInfo } from './interfaces/signing-key-private-key-info';
5
+ import { ISimpleKeyPairBuffer } from './interfaces/simple-keypair-buffer';
6
+ import { ISimplePublicKeyOnly } from './interfaces/simple-public-key-only';
7
+ import { ISimplePublicKeyOnlyBuffer } from './interfaces/simple-public-key-only-buffer';
8
+ export type KeyPairBufferWithUnEncryptedPrivateKey = Brand<IKeyPairBufferWithUnEncryptedPrivateKey, 'KeyPairBufferWithUnEncryptedPrivateKey'>;
9
+ export type SigningKeyPrivateKeyInfo = Brand<ISigningKeyPrivateKeyInfo, 'SigningKeyPrivateKeyInfo'>;
10
+ export type SimpleKeyPair = Brand<SimplePublicKeyOnly, 'SimpleKeyPair'>;
11
+ export type SimplePublicKeyOnly = Brand<ISimplePublicKeyOnly, 'SimplePublicKeyOnly'>;
12
+ export type SimpleKeyPairBuffer = Brand<ISimpleKeyPairBuffer, 'SimpleKeyPairBuffer'>;
13
+ export type SimplePublicKeyOnlyBuffer = Brand<ISimplePublicKeyOnlyBuffer, 'SimplePublicKeyOnlyBuffer'>;
14
+ export type SignatureString = Brand<HexString, 'SignatureString'>;
15
+ export type SignatureBuffer = Buffer & Brand<Buffer, 'SignatureBuffer'>;
16
+ export type ChecksumBuffer = Buffer & Brand<Buffer, 'Sha3Checksum', 'ChecksumBuffer'>;
17
+ export type ChecksumString = Brand<HexString, 'Sha3Checksum', 'ChecksumString'>;
18
+ /**
19
+ * Extended Buffer type for data
20
+ */
21
+ export type DataBuffer = Buffer & {
22
+ toBuffer(): Buffer;
23
+ toHex(): string;
24
+ };
25
+ export * from './types/id-guards';
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,uCAAuC,EAAE,MAAM,2DAA2D,CAAC;AACpH,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,MAAM,MAAM,sCAAsC,GAAG,KAAK,CACxD,uCAAuC,EACvC,wCAAwC,CACzC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAC1C,yBAAyB,EACzB,0BAA0B,CAC3B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,KAAK,CACrC,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,KAAK,CACrC,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAC3C,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,MAAM,GACjC,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAChC,QAAQ,IAAI,MAAM,CAAC;IACnB,KAAK,IAAI,MAAM,CAAC;CACjB,CAAC;AAGF,cAAc,mBAAmB,CAAC"}
package/src/types.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // Export ID type guards and converters
5
+ tslib_1.__exportStar(require("./types/id-guards"), exports);
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/types.ts"],"names":[],"mappings":";;;AA4CA,uCAAuC;AACvC,4DAAkC"}
package/src/utils.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Encodes the length of the data in the buffer
3
+ * @param buffer The buffer to encode
4
+ * @returns The encoded buffer
5
+ */
6
+ export declare function lengthEncodeData(buffer: Buffer): Buffer;
7
+ export declare function decodeLengthEncodedData(buffer: Buffer): {
8
+ data: Buffer;
9
+ totalLength: number;
10
+ };
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/utils.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBvD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAmEA"}
package/src/utils.js ADDED
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lengthEncodeData = lengthEncodeData;
4
+ exports.decodeLengthEncodedData = decodeLengthEncodedData;
5
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
6
+ const ecies_i18n_factory_1 = require("./i18n/ecies-i18n-factory");
7
+ /**
8
+ * Custom error class for length encoding errors
9
+ */
10
+ class LengthEncodingError extends Error {
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = 'LengthEncodingError';
14
+ }
15
+ }
16
+ /**
17
+ * Encodes the length of the data in the buffer
18
+ * @param buffer The buffer to encode
19
+ * @returns The encoded buffer
20
+ */
21
+ function lengthEncodeData(buffer) {
22
+ const lengthType = (0, ecies_lib_1.getLengthEncodingTypeForLength)(buffer.length);
23
+ const lengthTypeSize = (0, ecies_lib_1.getLengthForLengthType)(lengthType);
24
+ const result = Buffer.alloc(1 + lengthTypeSize + buffer.length);
25
+ result.writeUInt8(lengthType, 0);
26
+ switch (lengthType) {
27
+ case ecies_lib_1.LengthEncodingType.UInt8:
28
+ result.writeUInt8(buffer.length, 1);
29
+ break;
30
+ case ecies_lib_1.LengthEncodingType.UInt16:
31
+ result.writeUInt16BE(buffer.length, 1);
32
+ break;
33
+ case ecies_lib_1.LengthEncodingType.UInt32:
34
+ result.writeUInt32BE(buffer.length, 1);
35
+ break;
36
+ case ecies_lib_1.LengthEncodingType.UInt64:
37
+ result.writeBigUInt64BE(BigInt(buffer.length), 1);
38
+ break;
39
+ }
40
+ buffer.copy(result, 1 + lengthTypeSize);
41
+ return result;
42
+ }
43
+ function decodeLengthEncodedData(buffer) {
44
+ const pluginEngine = (0, ecies_i18n_factory_1.getEciesPluginI18nEngine)();
45
+ if (buffer.length < 1) {
46
+ throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_BufferIsTooShort));
47
+ }
48
+ const lengthType = (0, ecies_lib_1.getLengthEncodingTypeFromValue)(buffer.readUint8(0));
49
+ const lengthTypeSize = (0, ecies_lib_1.getLengthForLengthType)(lengthType);
50
+ if (buffer.length < 1 + lengthTypeSize) {
51
+ throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_BufferIsTooShortToReadFullLengthValue));
52
+ }
53
+ let length;
54
+ switch (lengthType) {
55
+ case ecies_lib_1.LengthEncodingType.UInt8:
56
+ length = buffer.readUint8(1);
57
+ break;
58
+ case ecies_lib_1.LengthEncodingType.UInt16:
59
+ length = buffer.readUint16BE(1);
60
+ break;
61
+ case ecies_lib_1.LengthEncodingType.UInt32:
62
+ length = buffer.readUint32BE(1);
63
+ break;
64
+ case ecies_lib_1.LengthEncodingType.UInt64:
65
+ length = buffer.readBigUInt64BE(1);
66
+ if (Number(length) > Number.MAX_SAFE_INTEGER) {
67
+ throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_LengthExceedsMaximumSafeInteger));
68
+ }
69
+ break;
70
+ default:
71
+ throw new LengthEncodingError((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_LengthError_LengthIsInvalidType));
72
+ }
73
+ const totalLength = 1 + lengthTypeSize + Number(length);
74
+ if (totalLength > buffer.length) {
75
+ throw new RangeError(pluginEngine.translate(ecies_i18n_factory_1.NodeEciesComponentId, ecies_i18n_factory_1.NodeEciesStringKey.Error_BufferIsTooShortForDeclaredDataLength));
76
+ }
77
+ return {
78
+ data: buffer.subarray(1 + lengthTypeSize, totalLength),
79
+ totalLength,
80
+ };
81
+ }
82
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/utils.ts"],"names":[],"mappings":"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"}