@super-protocol/sdk-js 2.1.2 → 2.1.3

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 (526) hide show
  1. package/{build → dist/cjs}/TIIGenerator.d.ts +2 -2
  2. package/dist/cjs/TIIGenerator.js +230 -0
  3. package/{build → dist/cjs}/analytics/Analytics.d.ts +2 -2
  4. package/dist/cjs/analytics/Analytics.js +67 -0
  5. package/{build → dist/cjs}/analytics/AnalyticsError.js +2 -1
  6. package/{build → dist/cjs}/analytics/eventProviders/BrowserEventProvider.d.ts +1 -1
  7. package/dist/cjs/analytics/eventProviders/BrowserEventProvider.js +38 -0
  8. package/dist/cjs/analytics/eventProviders/EventProvider.js +25 -0
  9. package/{build → dist/cjs}/analytics/eventProviders/NodeEventProvider.d.ts +1 -1
  10. package/dist/cjs/analytics/eventProviders/NodeEventProvider.js +56 -0
  11. package/{build → dist/cjs}/analytics/transports/AxiosTransport.d.ts +1 -1
  12. package/dist/cjs/analytics/transports/AxiosTransport.js +60 -0
  13. package/{build → dist/cjs}/analytics/transports/FetchTransport.d.ts +1 -1
  14. package/dist/cjs/analytics/transports/FetchTransport.js +31 -0
  15. package/{build → dist/cjs}/analytics/types.d.ts +2 -2
  16. package/{build → dist/cjs}/analytics/types.js +1 -1
  17. package/{build → dist/cjs}/config.js +1 -1
  18. package/{build → dist/cjs}/connectors/BaseConnector.d.ts +1 -1
  19. package/dist/cjs/connectors/BaseConnector.js +41 -0
  20. package/{build → dist/cjs}/connectors/BlockchainConnector.d.ts +3 -3
  21. package/dist/cjs/connectors/BlockchainConnector.js +341 -0
  22. package/{build → dist/cjs}/connectors/BlockchainEventsListener.d.ts +1 -1
  23. package/dist/cjs/connectors/BlockchainEventsListener.js +103 -0
  24. package/{build → dist/cjs}/connectors/index.d.ts +2 -2
  25. package/{build → dist/cjs}/connectors/index.js +5 -5
  26. package/{build → dist/cjs}/constants.js +1 -1
  27. package/{build → dist/cjs}/contracts/abi.js +1 -1
  28. package/dist/cjs/crypto/Crypto.js +100 -0
  29. package/dist/cjs/crypto/index.d.ts +2 -0
  30. package/{build → dist/cjs}/crypto/index.js +3 -3
  31. package/dist/cjs/crypto/nodejs/AES.js +79 -0
  32. package/dist/cjs/crypto/nodejs/ARIA.js +78 -0
  33. package/dist/cjs/crypto/nodejs/ECIES.js +56 -0
  34. package/{build → dist/cjs}/crypto/nodejs/NativeCrypto.d.ts +3 -3
  35. package/dist/cjs/crypto/nodejs/NativeCrypto.js +165 -0
  36. package/dist/cjs/crypto/nodejs/RSA-Hybrid.js +94 -0
  37. package/dist/cjs/index.d.ts +80 -0
  38. package/dist/cjs/index.js +143 -0
  39. package/{build → dist/cjs}/logger.js +1 -1
  40. package/{build → dist/cjs}/models/EtlModel.d.ts +1 -1
  41. package/dist/cjs/models/EtlModel.js +126 -0
  42. package/{build → dist/cjs}/models/Offer.d.ts +1 -1
  43. package/dist/cjs/models/Offer.js +361 -0
  44. package/{build → dist/cjs}/models/Order.d.ts +1 -1
  45. package/dist/cjs/models/Order.js +543 -0
  46. package/{build → dist/cjs}/models/Provider.d.ts +1 -1
  47. package/dist/cjs/models/Provider.js +119 -0
  48. package/{build → dist/cjs}/models/TCB.d.ts +1 -1
  49. package/dist/cjs/models/TCB.js +112 -0
  50. package/{build → dist/cjs}/models/TeeOffer.d.ts +2 -2
  51. package/dist/cjs/models/TeeOffer.js +538 -0
  52. package/dist/cjs/models/index.d.ts +5 -0
  53. package/dist/cjs/models/index.js +17 -0
  54. package/dist/cjs/package.json +1 -0
  55. package/dist/cjs/polyfills.js +7 -0
  56. package/{build → dist/cjs}/proto/Compression.d.ts +1 -1
  57. package/dist/cjs/proto/Compression.js +131 -0
  58. package/{build → dist/cjs}/proto/TRI.d.ts +1 -1
  59. package/dist/cjs/proto/TRI.js +290 -0
  60. package/{build → dist/cjs}/proto/TeeProperties.d.ts +1 -1
  61. package/dist/cjs/proto/TeeProperties.js +397 -0
  62. package/{build → dist/cjs}/providers/storage/ChunksDownloadDecorator.d.ts +2 -2
  63. package/dist/cjs/providers/storage/ChunksDownloadDecorator.js +145 -0
  64. package/{build → dist/cjs}/providers/storage/IStorageProvider.d.ts +1 -1
  65. package/{build → dist/cjs}/providers/storage/IStorageProvider.js +1 -1
  66. package/{build → dist/cjs}/providers/storage/S3StorageProvider.d.ts +2 -2
  67. package/dist/cjs/providers/storage/S3StorageProvider.js +171 -0
  68. package/{build → dist/cjs}/providers/storage/StorageAdapter.d.ts +2 -2
  69. package/dist/cjs/providers/storage/StorageAdapter.js +301 -0
  70. package/{build → dist/cjs}/providers/storage/StorageContentWriter.d.ts +2 -2
  71. package/dist/cjs/providers/storage/StorageContentWriter.js +168 -0
  72. package/{build → dist/cjs}/providers/storage/StorageKeyValueAdapter.d.ts +2 -2
  73. package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +125 -0
  74. package/{build → dist/cjs}/providers/storage/StorageMetadataReader.d.ts +3 -3
  75. package/dist/cjs/providers/storage/StorageMetadataReader.js +57 -0
  76. package/{build → dist/cjs}/providers/storage/StorjAdapter.d.ts +2 -2
  77. package/dist/cjs/providers/storage/StorjAdapter.js +54 -0
  78. package/{build → dist/cjs}/providers/storage/StorjStorageProvider.d.ts +2 -3
  79. package/dist/cjs/providers/storage/StorjStorageProvider.js +145 -0
  80. package/dist/cjs/providers/storage/getStorageProvider.d.ts +4 -0
  81. package/dist/cjs/providers/storage/getStorageProvider.js +20 -0
  82. package/{build → dist/cjs}/providers/storage/types.js +1 -1
  83. package/{build → dist/cjs}/staticModels/ActiveOffers.d.ts +1 -1
  84. package/dist/cjs/staticModels/ActiveOffers.js +37 -0
  85. package/{build → dist/cjs}/staticModels/ActiveOrders.d.ts +1 -1
  86. package/dist/cjs/staticModels/ActiveOrders.js +76 -0
  87. package/{build → dist/cjs}/staticModels/Consensus.d.ts +1 -1
  88. package/dist/cjs/staticModels/Consensus.js +225 -0
  89. package/{build → dist/cjs}/staticModels/Deposits.d.ts +1 -1
  90. package/dist/cjs/staticModels/Deposits.js +195 -0
  91. package/{build → dist/cjs}/staticModels/Marks.d.ts +1 -1
  92. package/dist/cjs/staticModels/Marks.js +30 -0
  93. package/dist/cjs/staticModels/ModelPackager.js +49 -0
  94. package/{build → dist/cjs}/staticModels/Offers.d.ts +2 -2
  95. package/dist/cjs/staticModels/Offers.js +189 -0
  96. package/{build → dist/cjs}/staticModels/Orders.d.ts +1 -1
  97. package/dist/cjs/staticModels/Orders.js +504 -0
  98. package/{build → dist/cjs}/staticModels/ProviderRegistry.d.ts +1 -1
  99. package/dist/cjs/staticModels/ProviderRegistry.js +174 -0
  100. package/{build → dist/cjs}/staticModels/StaticModel.d.ts +2 -2
  101. package/dist/cjs/staticModels/StaticModel.js +35 -0
  102. package/{build → dist/cjs}/staticModels/Superpro.d.ts +2 -2
  103. package/dist/cjs/staticModels/Superpro.js +25 -0
  104. package/{build → dist/cjs}/staticModels/SuperproToken.d.ts +1 -1
  105. package/dist/cjs/staticModels/SuperproToken.js +141 -0
  106. package/{build → dist/cjs}/staticModels/TeeOffers.d.ts +1 -1
  107. package/dist/cjs/staticModels/TeeOffers.js +314 -0
  108. package/dist/cjs/store.js +17 -0
  109. package/{build → dist/cjs}/tee/QuoteParser.d.ts +1 -1
  110. package/dist/cjs/tee/QuoteParser.js +189 -0
  111. package/{build → dist/cjs}/tee/QuoteValidator.d.ts +1 -1
  112. package/dist/cjs/tee/QuoteValidator.js +391 -0
  113. package/{build → dist/cjs}/tee/errors.js +1 -1
  114. package/dist/cjs/tee/helpers.js +120 -0
  115. package/{build → dist/cjs}/tee/interface.d.ts +1 -1
  116. package/{build → dist/cjs}/tee/interface.js +1 -1
  117. package/{build → dist/cjs}/tee/statuses.js +4 -4
  118. package/{build → dist/cjs}/tee/types.d.ts +5 -0
  119. package/{build → dist/cjs}/tee/types.js +1 -1
  120. package/{build → dist/cjs}/types/Compressor.js +1 -1
  121. package/{build → dist/cjs}/types/Consensus.d.ts +1 -1
  122. package/{build → dist/cjs}/types/Consensus.js +2 -2
  123. package/{build → dist/cjs}/types/DepositInfo.d.ts +1 -1
  124. package/{build → dist/cjs}/types/DepositInfo.js +1 -1
  125. package/{build → dist/cjs}/types/EtlModel.js +1 -1
  126. package/{build → dist/cjs}/types/Events.d.ts +2 -2
  127. package/{build → dist/cjs}/types/Events.js +1 -1
  128. package/dist/cjs/types/HardwareInfo.d.ts +6 -0
  129. package/{build → dist/cjs}/types/HardwareInfo.js +1 -1
  130. package/{build → dist/cjs}/types/Marks.js +2 -2
  131. package/{build → dist/cjs}/types/Offer.d.ts +1 -1
  132. package/dist/cjs/types/Offer.js +17 -0
  133. package/{build → dist/cjs}/types/OptionInfo.js +1 -1
  134. package/{build → dist/cjs}/types/Order.d.ts +1 -1
  135. package/{build → dist/cjs}/types/Order.js +2 -2
  136. package/{build → dist/cjs}/types/OrderUsage.d.ts +4 -4
  137. package/{build → dist/cjs}/types/OrderUsage.js +1 -1
  138. package/{build → dist/cjs}/types/Origins.js +1 -1
  139. package/{build → dist/cjs}/types/Provider.js +1 -1
  140. package/{build → dist/cjs}/types/ResourceLoader.d.ts +1 -1
  141. package/{build → dist/cjs}/types/ResourceLoader.js +1 -1
  142. package/{build → dist/cjs}/types/SlotInfo.js +1 -1
  143. package/{build → dist/cjs}/types/SlotUsage.d.ts +1 -1
  144. package/{build → dist/cjs}/types/SlotUsage.js +2 -2
  145. package/{build → dist/cjs}/types/Superpro.js +2 -2
  146. package/{build → dist/cjs}/types/TeeOfferInfo.d.ts +1 -1
  147. package/{build → dist/cjs}/types/TeeOfferInfo.js +1 -1
  148. package/{build → dist/cjs}/types/TeeOfferOption.d.ts +3 -3
  149. package/{build → dist/cjs}/types/TeeOfferOption.js +1 -1
  150. package/dist/cjs/types/TeeOfferSlot.d.ts +8 -0
  151. package/{build → dist/cjs}/types/TeeOfferSlot.js +1 -1
  152. package/{build → dist/cjs}/types/ValueOfferSlot.d.ts +4 -4
  153. package/{build → dist/cjs}/types/ValueOfferSlot.js +1 -1
  154. package/{build → dist/cjs}/types/Web3.js +1 -1
  155. package/{build → dist/cjs}/types/blockchainConnector/StorageAccess.d.ts +1 -1
  156. package/{build → dist/cjs}/types/blockchainConnector/StorageAccess.js +1 -1
  157. package/dist/cjs/types/index.d.ts +22 -0
  158. package/dist/cjs/types/index.js +39 -0
  159. package/{build → dist/cjs}/types/storage/StorageAccess.js +1 -1
  160. package/{build → dist/cjs}/types/storage/StorageFileAccess.d.ts +1 -1
  161. package/{build → dist/cjs}/types/storage/StorageFileAccess.js +1 -1
  162. package/{build → dist/cjs}/types/storage/StorageObject.js +1 -1
  163. package/dist/cjs/utils/Monitoring.js +49 -0
  164. package/dist/cjs/utils/NonceTracker.js +78 -0
  165. package/dist/cjs/utils/PubSub.js +35 -0
  166. package/{build → dist/cjs}/utils/TxManager.d.ts +1 -1
  167. package/dist/cjs/utils/TxManager.js +169 -0
  168. package/{build → dist/cjs}/utils/compressors/GzipCompressor.d.ts +2 -2
  169. package/dist/cjs/utils/compressors/GzipCompressor.js +22 -0
  170. package/{build → dist/cjs}/utils/compressors/UncompressedCompressor.d.ts +2 -2
  171. package/dist/cjs/utils/compressors/UncompressedCompressor.js +17 -0
  172. package/dist/cjs/utils/compressors/index.d.ts +2 -0
  173. package/{build → dist/cjs}/utils/compressors/index.js +3 -3
  174. package/{build → dist/cjs}/utils/helper.d.ts +3 -3
  175. package/dist/cjs/utils/helper.js +289 -0
  176. package/dist/cjs/utils/helpers/getStreamChunks.js +35 -0
  177. package/dist/cjs/utils/helpers/index.d.ts +1 -0
  178. package/{build → dist/cjs}/utils/helpers/index.js +2 -2
  179. package/dist/cjs/utils/helpers/tryWithInterval.js +39 -0
  180. package/{build → dist/cjs}/utils/resourceLoaders/BaseResourceLoader.d.ts +1 -1
  181. package/dist/cjs/utils/resourceLoaders/BaseResourceLoader.js +14 -0
  182. package/{build → dist/cjs}/utils/resourceLoaders/StorageProviderLoader.d.ts +2 -2
  183. package/dist/cjs/utils/resourceLoaders/StorageProviderLoader.js +60 -0
  184. package/{build → dist/cjs}/utils/resourceLoaders/UrlResourceLoader.d.ts +1 -1
  185. package/dist/cjs/utils/resourceLoaders/UrlResourceLoader.js +51 -0
  186. package/{build → dist/cjs}/utils/resourceLoaders/getResourceLoader.d.ts +1 -1
  187. package/dist/cjs/utils/resourceLoaders/getResourceLoader.js +15 -0
  188. package/dist/cjs/utils/resourceLoaders/index.d.ts +1 -0
  189. package/{build → dist/cjs}/utils/resourceLoaders/index.js +2 -2
  190. package/dist/mjs/TIIGenerator.d.ts +22 -0
  191. package/dist/mjs/TIIGenerator.js +225 -0
  192. package/dist/mjs/analytics/Analytics.d.ts +15 -0
  193. package/dist/mjs/analytics/Analytics.js +61 -0
  194. package/dist/mjs/analytics/AnalyticsError.d.ts +7 -0
  195. package/dist/mjs/analytics/AnalyticsError.js +8 -0
  196. package/dist/mjs/analytics/eventProviders/BrowserEventProvider.d.ts +18 -0
  197. package/dist/mjs/analytics/eventProviders/BrowserEventProvider.js +32 -0
  198. package/dist/mjs/analytics/eventProviders/EventProvider.d.ts +24 -0
  199. package/dist/mjs/analytics/eventProviders/EventProvider.js +22 -0
  200. package/dist/mjs/analytics/eventProviders/NodeEventProvider.d.ts +22 -0
  201. package/dist/mjs/analytics/eventProviders/NodeEventProvider.js +50 -0
  202. package/dist/mjs/analytics/transports/AxiosTransport.d.ts +4 -0
  203. package/dist/mjs/analytics/transports/AxiosTransport.js +31 -0
  204. package/dist/mjs/analytics/transports/FetchTransport.d.ts +4 -0
  205. package/dist/mjs/analytics/transports/FetchTransport.js +28 -0
  206. package/dist/mjs/analytics/types.d.ts +22 -0
  207. package/dist/mjs/analytics/types.js +2 -0
  208. package/dist/mjs/config.d.ts +4 -0
  209. package/dist/mjs/config.js +5 -0
  210. package/dist/mjs/connectors/BaseConnector.d.ts +36 -0
  211. package/dist/mjs/connectors/BaseConnector.js +34 -0
  212. package/dist/mjs/connectors/BlockchainConnector.d.ts +81 -0
  213. package/dist/mjs/connectors/BlockchainConnector.js +313 -0
  214. package/dist/mjs/connectors/BlockchainEventsListener.d.ts +15 -0
  215. package/dist/mjs/connectors/BlockchainEventsListener.js +75 -0
  216. package/dist/mjs/connectors/index.d.ts +2 -0
  217. package/dist/mjs/connectors/index.js +3 -0
  218. package/dist/mjs/constants.d.ts +13 -0
  219. package/dist/mjs/constants.js +14 -0
  220. package/dist/mjs/contracts/abi.d.ts +9842 -0
  221. package/dist/mjs/contracts/abi.js +12844 -0
  222. package/dist/mjs/crypto/Crypto.d.ts +54 -0
  223. package/dist/mjs/crypto/Crypto.js +95 -0
  224. package/dist/mjs/crypto/index.d.ts +2 -0
  225. package/dist/mjs/crypto/index.js +3 -0
  226. package/dist/mjs/crypto/nodejs/AES.d.ts +24 -0
  227. package/dist/mjs/crypto/nodejs/AES.js +74 -0
  228. package/dist/mjs/crypto/nodejs/ARIA.d.ts +24 -0
  229. package/dist/mjs/crypto/nodejs/ARIA.js +73 -0
  230. package/dist/mjs/crypto/nodejs/ECIES.d.ts +6 -0
  231. package/dist/mjs/crypto/nodejs/ECIES.js +51 -0
  232. package/dist/mjs/crypto/nodejs/NativeCrypto.d.ts +58 -0
  233. package/dist/mjs/crypto/nodejs/NativeCrypto.js +163 -0
  234. package/dist/mjs/crypto/nodejs/RSA-Hybrid.d.ts +15 -0
  235. package/dist/mjs/crypto/nodejs/RSA-Hybrid.js +89 -0
  236. package/dist/mjs/index.d.ts +80 -0
  237. package/dist/mjs/index.js +76 -0
  238. package/dist/mjs/logger.d.ts +7 -0
  239. package/dist/mjs/logger.js +7 -0
  240. package/dist/mjs/models/EtlModel.d.ts +34 -0
  241. package/dist/mjs/models/EtlModel.js +96 -0
  242. package/dist/mjs/models/Offer.d.ts +130 -0
  243. package/dist/mjs/models/Offer.js +356 -0
  244. package/dist/mjs/models/Order.d.ts +148 -0
  245. package/dist/mjs/models/Order.js +538 -0
  246. package/dist/mjs/models/Provider.d.ts +51 -0
  247. package/dist/mjs/models/Provider.js +114 -0
  248. package/dist/mjs/models/TCB.d.ts +58 -0
  249. package/dist/mjs/models/TCB.js +107 -0
  250. package/dist/mjs/models/TeeOffer.d.ts +204 -0
  251. package/dist/mjs/models/TeeOffer.js +533 -0
  252. package/dist/mjs/models/index.d.ts +5 -0
  253. package/dist/mjs/models/index.js +6 -0
  254. package/dist/mjs/package.json +1 -0
  255. package/dist/mjs/polyfills.d.ts +0 -0
  256. package/dist/mjs/polyfills.js +7 -0
  257. package/dist/mjs/proto/Compression.d.ts +36 -0
  258. package/dist/mjs/proto/Compression.js +123 -0
  259. package/dist/mjs/proto/TRI.d.ts +124 -0
  260. package/dist/mjs/proto/TRI.js +284 -0
  261. package/dist/mjs/proto/TeeProperties.d.ts +263 -0
  262. package/dist/mjs/proto/TeeProperties.js +391 -0
  263. package/dist/mjs/providers/storage/ChunksDownloadDecorator.d.ts +36 -0
  264. package/dist/mjs/providers/storage/ChunksDownloadDecorator.js +139 -0
  265. package/dist/mjs/providers/storage/IStorageProvider.d.ts +15 -0
  266. package/dist/mjs/providers/storage/IStorageProvider.js +2 -0
  267. package/dist/mjs/providers/storage/S3StorageProvider.d.ts +25 -0
  268. package/dist/mjs/providers/storage/S3StorageProvider.js +167 -0
  269. package/dist/mjs/providers/storage/StorageAdapter.d.ts +60 -0
  270. package/dist/mjs/providers/storage/StorageAdapter.js +271 -0
  271. package/dist/mjs/providers/storage/StorageContentWriter.d.ts +46 -0
  272. package/dist/mjs/providers/storage/StorageContentWriter.js +161 -0
  273. package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +23 -0
  274. package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +119 -0
  275. package/dist/mjs/providers/storage/StorageMetadataReader.d.ts +20 -0
  276. package/dist/mjs/providers/storage/StorageMetadataReader.js +51 -0
  277. package/dist/mjs/providers/storage/StorjAdapter.d.ts +19 -0
  278. package/dist/mjs/providers/storage/StorjAdapter.js +48 -0
  279. package/dist/mjs/providers/storage/StorjStorageProvider.d.ts +24 -0
  280. package/dist/mjs/providers/storage/StorjStorageProvider.js +139 -0
  281. package/dist/mjs/providers/storage/getStorageProvider.d.ts +4 -0
  282. package/dist/mjs/providers/storage/getStorageProvider.js +15 -0
  283. package/dist/mjs/providers/storage/types.d.ts +7 -0
  284. package/dist/mjs/providers/storage/types.js +2 -0
  285. package/dist/mjs/staticModels/ActiveOffers.d.ts +15 -0
  286. package/dist/mjs/staticModels/ActiveOffers.js +32 -0
  287. package/dist/mjs/staticModels/ActiveOrders.d.ts +20 -0
  288. package/dist/mjs/staticModels/ActiveOrders.js +71 -0
  289. package/dist/mjs/staticModels/Consensus.d.ts +42 -0
  290. package/dist/mjs/staticModels/Consensus.js +220 -0
  291. package/dist/mjs/staticModels/Deposits.d.ts +70 -0
  292. package/dist/mjs/staticModels/Deposits.js +190 -0
  293. package/dist/mjs/staticModels/Marks.d.ts +8 -0
  294. package/dist/mjs/staticModels/Marks.js +25 -0
  295. package/dist/mjs/staticModels/ModelPackager.d.ts +18 -0
  296. package/dist/mjs/staticModels/ModelPackager.js +45 -0
  297. package/dist/mjs/staticModels/Offers.d.ts +65 -0
  298. package/dist/mjs/staticModels/Offers.js +184 -0
  299. package/dist/mjs/staticModels/Orders.d.ts +155 -0
  300. package/dist/mjs/staticModels/Orders.js +499 -0
  301. package/dist/mjs/staticModels/ProviderRegistry.d.ts +74 -0
  302. package/dist/mjs/staticModels/ProviderRegistry.js +169 -0
  303. package/dist/mjs/staticModels/StaticModel.d.ts +8 -0
  304. package/dist/mjs/staticModels/StaticModel.js +30 -0
  305. package/dist/mjs/staticModels/Superpro.d.ts +16 -0
  306. package/dist/mjs/staticModels/Superpro.js +23 -0
  307. package/dist/mjs/staticModels/SuperproToken.d.ts +48 -0
  308. package/dist/mjs/staticModels/SuperproToken.js +136 -0
  309. package/dist/mjs/staticModels/TeeOffers.d.ts +115 -0
  310. package/dist/mjs/staticModels/TeeOffers.js +309 -0
  311. package/dist/mjs/store.d.ts +15 -0
  312. package/dist/mjs/store.js +15 -0
  313. package/dist/mjs/tee/QuoteParser.d.ts +27 -0
  314. package/dist/mjs/tee/QuoteParser.js +162 -0
  315. package/dist/mjs/tee/QuoteValidator.d.ts +38 -0
  316. package/dist/mjs/tee/QuoteValidator.js +384 -0
  317. package/dist/mjs/tee/errors.d.ts +6 -0
  318. package/dist/mjs/tee/errors.js +7 -0
  319. package/dist/mjs/tee/helpers.d.ts +14 -0
  320. package/dist/mjs/tee/helpers.js +115 -0
  321. package/dist/mjs/tee/interface.d.ts +63 -0
  322. package/dist/mjs/tee/interface.js +2 -0
  323. package/dist/mjs/tee/statuses.d.ts +21 -0
  324. package/dist/mjs/tee/statuses.js +25 -0
  325. package/dist/mjs/tee/types.d.ts +80 -0
  326. package/dist/mjs/tee/types.js +2 -0
  327. package/dist/mjs/types/Compressor.d.ts +5 -0
  328. package/dist/mjs/types/Compressor.js +2 -0
  329. package/dist/mjs/types/Consensus.d.ts +60 -0
  330. package/dist/mjs/types/Consensus.js +16 -0
  331. package/dist/mjs/types/DepositInfo.d.ts +6 -0
  332. package/dist/mjs/types/DepositInfo.js +2 -0
  333. package/dist/mjs/types/EtlModel.d.ts +2 -0
  334. package/dist/mjs/types/EtlModel.js +2 -0
  335. package/dist/mjs/types/Events.d.ts +34 -0
  336. package/dist/mjs/types/Events.js +2 -0
  337. package/dist/mjs/types/HardwareInfo.d.ts +6 -0
  338. package/dist/mjs/types/HardwareInfo.js +2 -0
  339. package/dist/mjs/types/Marks.d.ts +9 -0
  340. package/dist/mjs/types/Marks.js +7 -0
  341. package/dist/mjs/types/Offer.d.ts +33 -0
  342. package/dist/mjs/types/Offer.js +14 -0
  343. package/dist/mjs/types/OptionInfo.d.ts +8 -0
  344. package/dist/mjs/types/OptionInfo.js +2 -0
  345. package/dist/mjs/types/Order.d.ts +44 -0
  346. package/dist/mjs/types/Order.js +12 -0
  347. package/dist/mjs/types/OrderUsage.d.ts +26 -0
  348. package/dist/mjs/types/OrderUsage.js +2 -0
  349. package/dist/mjs/types/Origins.d.ts +6 -0
  350. package/dist/mjs/types/Origins.js +2 -0
  351. package/dist/mjs/types/Provider.d.ts +7 -0
  352. package/dist/mjs/types/Provider.js +2 -0
  353. package/dist/mjs/types/ResourceLoader.d.ts +28 -0
  354. package/dist/mjs/types/ResourceLoader.js +2 -0
  355. package/dist/mjs/types/SlotInfo.d.ts +6 -0
  356. package/dist/mjs/types/SlotInfo.js +2 -0
  357. package/dist/mjs/types/SlotUsage.d.ts +11 -0
  358. package/dist/mjs/types/SlotUsage.js +6 -0
  359. package/dist/mjs/types/Superpro.d.ts +9 -0
  360. package/dist/mjs/types/Superpro.js +11 -0
  361. package/dist/mjs/types/TeeOfferInfo.d.ts +10 -0
  362. package/dist/mjs/types/TeeOfferInfo.js +2 -0
  363. package/dist/mjs/types/TeeOfferOption.d.ts +13 -0
  364. package/dist/mjs/types/TeeOfferOption.js +2 -0
  365. package/dist/mjs/types/TeeOfferSlot.d.ts +8 -0
  366. package/dist/mjs/types/TeeOfferSlot.js +2 -0
  367. package/dist/mjs/types/ValueOfferSlot.d.ts +16 -0
  368. package/dist/mjs/types/ValueOfferSlot.js +2 -0
  369. package/dist/mjs/types/Web3.d.ts +62 -0
  370. package/dist/mjs/types/Web3.js +2 -0
  371. package/dist/mjs/types/blockchainConnector/StorageAccess.d.ts +8 -0
  372. package/dist/mjs/types/blockchainConnector/StorageAccess.js +2 -0
  373. package/dist/mjs/types/index.d.ts +22 -0
  374. package/dist/mjs/types/index.js +23 -0
  375. package/dist/mjs/types/storage/StorageAccess.d.ts +7 -0
  376. package/dist/mjs/types/storage/StorageAccess.js +2 -0
  377. package/dist/mjs/types/storage/StorageFileAccess.d.ts +5 -0
  378. package/dist/mjs/types/storage/StorageFileAccess.js +2 -0
  379. package/dist/mjs/types/storage/StorageObject.d.ts +8 -0
  380. package/dist/mjs/types/storage/StorageObject.js +2 -0
  381. package/dist/mjs/utils/Monitoring.d.ts +11 -0
  382. package/dist/mjs/utils/Monitoring.js +42 -0
  383. package/dist/mjs/utils/NonceTracker.d.ts +19 -0
  384. package/dist/mjs/utils/NonceTracker.js +73 -0
  385. package/dist/mjs/utils/PubSub.d.ts +9 -0
  386. package/dist/mjs/utils/PubSub.js +32 -0
  387. package/dist/mjs/utils/TxManager.d.ts +25 -0
  388. package/dist/mjs/utils/TxManager.js +162 -0
  389. package/dist/mjs/utils/compressors/GzipCompressor.d.ts +8 -0
  390. package/dist/mjs/utils/compressors/GzipCompressor.js +15 -0
  391. package/dist/mjs/utils/compressors/UncompressedCompressor.d.ts +8 -0
  392. package/dist/mjs/utils/compressors/UncompressedCompressor.js +13 -0
  393. package/dist/mjs/utils/compressors/index.d.ts +2 -0
  394. package/dist/mjs/utils/compressors/index.js +3 -0
  395. package/dist/mjs/utils/helper.d.ts +44 -0
  396. package/dist/mjs/utils/helper.js +258 -0
  397. package/dist/mjs/utils/helpers/getStreamChunks.d.ts +9 -0
  398. package/dist/mjs/utils/helpers/getStreamChunks.js +31 -0
  399. package/dist/mjs/utils/helpers/index.d.ts +1 -0
  400. package/dist/mjs/utils/helpers/index.js +2 -0
  401. package/dist/mjs/utils/helpers/tryWithInterval.d.ts +13 -0
  402. package/dist/mjs/utils/helpers/tryWithInterval.js +35 -0
  403. package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.d.ts +10 -0
  404. package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.js +10 -0
  405. package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.d.ts +18 -0
  406. package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.js +53 -0
  407. package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.d.ts +9 -0
  408. package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.js +44 -0
  409. package/dist/mjs/utils/resourceLoaders/getResourceLoader.d.ts +5 -0
  410. package/dist/mjs/utils/resourceLoaders/getResourceLoader.js +11 -0
  411. package/dist/mjs/utils/resourceLoaders/index.d.ts +1 -0
  412. package/dist/mjs/utils/resourceLoaders/index.js +2 -0
  413. package/package.json +16 -18
  414. package/build/TIIGenerator.js +0 -246
  415. package/build/analytics/Analytics.js +0 -74
  416. package/build/analytics/eventProviders/BrowserEventProvider.js +0 -32
  417. package/build/analytics/eventProviders/EventProvider.js +0 -14
  418. package/build/analytics/eventProviders/NodeEventProvider.js +0 -48
  419. package/build/analytics/transports/AxiosTransport.js +0 -72
  420. package/build/analytics/transports/FetchTransport.js +0 -42
  421. package/build/connectors/BaseConnector.js +0 -53
  422. package/build/connectors/BlockchainConnector.js +0 -358
  423. package/build/connectors/BlockchainEventsListener.js +0 -114
  424. package/build/crypto/Crypto.js +0 -119
  425. package/build/crypto/index.d.ts +0 -2
  426. package/build/crypto/nodejs/AES.js +0 -94
  427. package/build/crypto/nodejs/ARIA.js +0 -93
  428. package/build/crypto/nodejs/ECIES.js +0 -69
  429. package/build/crypto/nodejs/NativeCrypto.js +0 -183
  430. package/build/crypto/nodejs/RSA-Hybrid.js +0 -95
  431. package/build/index.d.ts +0 -79
  432. package/build/index.js +0 -142
  433. package/build/models/EtlModel.js +0 -138
  434. package/build/models/Offer.js +0 -407
  435. package/build/models/Order.js +0 -577
  436. package/build/models/Provider.js +0 -137
  437. package/build/models/TCB.js +0 -135
  438. package/build/models/TeeOffer.js +0 -600
  439. package/build/models/index.d.ts +0 -5
  440. package/build/models/index.js +0 -17
  441. package/build/polyfills.js +0 -7
  442. package/build/proto/Compression.js +0 -132
  443. package/build/proto/TRI.js +0 -293
  444. package/build/proto/TeeProperties.js +0 -401
  445. package/build/providers/storage/ChunksDownloadDecorator.js +0 -177
  446. package/build/providers/storage/S3StorageProvider.js +0 -219
  447. package/build/providers/storage/StorageAdapter.js +0 -323
  448. package/build/providers/storage/StorageContentWriter.js +0 -183
  449. package/build/providers/storage/StorageKeyValueAdapter.js +0 -158
  450. package/build/providers/storage/StorageMetadataReader.js +0 -68
  451. package/build/providers/storage/StorjAdapter.js +0 -74
  452. package/build/providers/storage/StorjStorageProvider.js +0 -207
  453. package/build/providers/storage/getStorageProvider.d.ts +0 -4
  454. package/build/providers/storage/getStorageProvider.js +0 -20
  455. package/build/staticModels/ActiveOffers.js +0 -52
  456. package/build/staticModels/ActiveOrders.js +0 -91
  457. package/build/staticModels/Consensus.js +0 -247
  458. package/build/staticModels/Deposits.js +0 -214
  459. package/build/staticModels/Marks.js +0 -43
  460. package/build/staticModels/ModelPackager.js +0 -62
  461. package/build/staticModels/Offers.js +0 -207
  462. package/build/staticModels/Orders.js +0 -518
  463. package/build/staticModels/ProviderRegistry.js +0 -192
  464. package/build/staticModels/StaticModel.js +0 -46
  465. package/build/staticModels/Superpro.js +0 -24
  466. package/build/staticModels/SuperproToken.js +0 -154
  467. package/build/staticModels/TeeOffers.js +0 -344
  468. package/build/store.js +0 -17
  469. package/build/tee/QuoteParser.js +0 -189
  470. package/build/tee/QuoteValidator.js +0 -414
  471. package/build/tee/helpers.js +0 -119
  472. package/build/types/HardwareInfo.d.ts +0 -6
  473. package/build/types/Offer.js +0 -17
  474. package/build/types/TeeOfferSlot.d.ts +0 -8
  475. package/build/types/index.d.ts +0 -22
  476. package/build/types/index.js +0 -39
  477. package/build/utils/Monitoring.js +0 -48
  478. package/build/utils/NonceTracker.js +0 -90
  479. package/build/utils/PubSub.js +0 -37
  480. package/build/utils/TxManager.js +0 -179
  481. package/build/utils/compressors/GzipCompressor.js +0 -29
  482. package/build/utils/compressors/UncompressedCompressor.js +0 -17
  483. package/build/utils/compressors/index.d.ts +0 -2
  484. package/build/utils/helper.js +0 -286
  485. package/build/utils/helpers/getStreamChunks.js +0 -74
  486. package/build/utils/helpers/index.d.ts +0 -1
  487. package/build/utils/helpers/tryWithInterval.js +0 -48
  488. package/build/utils/resourceLoaders/BaseResourceLoader.js +0 -51
  489. package/build/utils/resourceLoaders/StorageProviderLoader.js +0 -69
  490. package/build/utils/resourceLoaders/UrlResourceLoader.js +0 -64
  491. package/build/utils/resourceLoaders/getResourceLoader.js +0 -15
  492. package/build/utils/resourceLoaders/index.d.ts +0 -1
  493. /package/{build → dist/cjs}/analytics/AnalyticsError.d.ts +0 -0
  494. /package/{build → dist/cjs}/analytics/eventProviders/EventProvider.d.ts +0 -0
  495. /package/{build → dist/cjs}/config.d.ts +0 -0
  496. /package/{build → dist/cjs}/constants.d.ts +0 -0
  497. /package/{build → dist/cjs}/contracts/abi.d.ts +0 -0
  498. /package/{build → dist/cjs}/crypto/Crypto.d.ts +0 -0
  499. /package/{build → dist/cjs}/crypto/nodejs/AES.d.ts +0 -0
  500. /package/{build → dist/cjs}/crypto/nodejs/ARIA.d.ts +0 -0
  501. /package/{build → dist/cjs}/crypto/nodejs/ECIES.d.ts +0 -0
  502. /package/{build → dist/cjs}/crypto/nodejs/RSA-Hybrid.d.ts +0 -0
  503. /package/{build → dist/cjs}/logger.d.ts +0 -0
  504. /package/{build → dist/cjs}/polyfills.d.ts +0 -0
  505. /package/{build → dist/cjs}/providers/storage/types.d.ts +0 -0
  506. /package/{build → dist/cjs}/staticModels/ModelPackager.d.ts +0 -0
  507. /package/{build → dist/cjs}/store.d.ts +0 -0
  508. /package/{build → dist/cjs}/tee/errors.d.ts +0 -0
  509. /package/{build → dist/cjs}/tee/helpers.d.ts +0 -0
  510. /package/{build → dist/cjs}/tee/statuses.d.ts +0 -0
  511. /package/{build → dist/cjs}/types/Compressor.d.ts +0 -0
  512. /package/{build → dist/cjs}/types/EtlModel.d.ts +0 -0
  513. /package/{build → dist/cjs}/types/Marks.d.ts +0 -0
  514. /package/{build → dist/cjs}/types/OptionInfo.d.ts +0 -0
  515. /package/{build → dist/cjs}/types/Origins.d.ts +0 -0
  516. /package/{build → dist/cjs}/types/Provider.d.ts +0 -0
  517. /package/{build → dist/cjs}/types/SlotInfo.d.ts +0 -0
  518. /package/{build → dist/cjs}/types/Superpro.d.ts +0 -0
  519. /package/{build → dist/cjs}/types/Web3.d.ts +0 -0
  520. /package/{build → dist/cjs}/types/storage/StorageAccess.d.ts +0 -0
  521. /package/{build → dist/cjs}/types/storage/StorageObject.d.ts +0 -0
  522. /package/{build → dist/cjs}/utils/Monitoring.d.ts +0 -0
  523. /package/{build → dist/cjs}/utils/NonceTracker.d.ts +0 -0
  524. /package/{build → dist/cjs}/utils/PubSub.d.ts +0 -0
  525. /package/{build → dist/cjs}/utils/helpers/getStreamChunks.d.ts +0 -0
  526. /package/{build → dist/cjs}/utils/helpers/tryWithInterval.d.ts +0 -0
@@ -0,0 +1,54 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ import { Encryption, Hash } from '@super-protocol/dto-js';
5
+ import fs from 'fs';
6
+ import { Readable } from 'stream';
7
+ declare class Crypto {
8
+ /**
9
+ * Used to encrypt data before sending it to blockchain
10
+ * @param algorithm - encryption algorithm
11
+ * @param content - string data to encrypt
12
+ * @param key - key in string format (default encoding base64)
13
+ * @param encoding - encoding of key and output data
14
+ * @returns {Promise<Encryption>} - object what contains encrypted data, key and spec to decryption
15
+ */
16
+ static encrypt(content: string, encryption: Encryption): Promise<Encryption>;
17
+ /**
18
+ * Encrypts data stream
19
+ * @param inputStream - path to file that will be encrypted
20
+ * @param outputStream - place where it will be saved
21
+ * @param algorithm - file encryption algorithm
22
+ * @param key – key that will be used to encrypt data
23
+ * @returns {Promise<Encryption>} - encryption info
24
+ */
25
+ static encryptStream(inputStream: fs.ReadStream, outputStream: fs.WriteStream, encryption: Encryption): Promise<Encryption>;
26
+ /**
27
+ * Used to decrypt data from blockchain
28
+ * @param encryption - object what contains encrypted data, key and spec to decryption
29
+ * @returns {Promise<string>} - decrypted string
30
+ */
31
+ static decrypt(encryption: Encryption): Promise<string>;
32
+ /**
33
+ * Decrypts data stream
34
+ * @param inputStream - stream with data to decrypt
35
+ * @param outputStream - stream where the decrypted data will be written
36
+ * @param encryption – encryption info
37
+ */
38
+ static decryptStream(inputStream: fs.ReadStream, outputStream: fs.WriteStream, encryption: Encryption): Promise<void>;
39
+ /**
40
+ * Create hash from content
41
+ * @param content - buffer data to create hash from
42
+ * @param hashInfo - information about hash algorithm and encoding
43
+ * @returns Hash structure with hash itself hash algorithm and encoding
44
+ */
45
+ static createHash(content: Buffer, hashInfo: Omit<Hash, 'hash'>): Promise<Hash>;
46
+ /**
47
+ * Create hash from stream
48
+ * @param inputStream - readable stream
49
+ * @param hashInfo - information about hash algorithm and encoding
50
+ * @returns Hash structure with hash itself hash algorithm and encoding
51
+ */
52
+ static createHash(inputStream: Readable, hashInfo: Omit<Hash, 'hash'>): Promise<Hash>;
53
+ }
54
+ export default Crypto;
@@ -0,0 +1,95 @@
1
+ import { CryptoAlgorithm, } from '@super-protocol/dto-js';
2
+ import AES from './nodejs/AES.js';
3
+ import ARIA from './nodejs/ARIA.js';
4
+ import ECIES from './nodejs/ECIES.js';
5
+ import RSAHybrid from './nodejs/RSA-Hybrid.js';
6
+ import NativeCrypto from './nodejs/NativeCrypto.js';
7
+ class Crypto {
8
+ /**
9
+ * Used to encrypt data before sending it to blockchain
10
+ * @param algorithm - encryption algorithm
11
+ * @param content - string data to encrypt
12
+ * @param key - key in string format (default encoding base64)
13
+ * @param encoding - encoding of key and output data
14
+ * @returns {Promise<Encryption>} - object what contains encrypted data, key and spec to decryption
15
+ */
16
+ static async encrypt(content, encryption) {
17
+ switch (encryption.algo) {
18
+ case CryptoAlgorithm.AES:
19
+ return await AES.encrypt(content, encryption);
20
+ case CryptoAlgorithm.ARIA:
21
+ return await ARIA.encrypt(content, encryption);
22
+ case CryptoAlgorithm.ECIES:
23
+ return await ECIES.encrypt(content, encryption);
24
+ case CryptoAlgorithm.RSAHybrid:
25
+ return await RSAHybrid.encrypt(content, encryption);
26
+ default:
27
+ throw Error(`${encryption.algo} algorithm not supported`);
28
+ }
29
+ }
30
+ /**
31
+ * Encrypts data stream
32
+ * @param inputStream - path to file that will be encrypted
33
+ * @param outputStream - place where it will be saved
34
+ * @param algorithm - file encryption algorithm
35
+ * @param key – key that will be used to encrypt data
36
+ * @returns {Promise<Encryption>} - encryption info
37
+ */
38
+ static async encryptStream(inputStream, outputStream, encryption) {
39
+ switch (encryption.algo) {
40
+ case CryptoAlgorithm.AES:
41
+ return await AES.encryptStream(inputStream, outputStream, encryption);
42
+ case CryptoAlgorithm.ARIA:
43
+ return await ARIA.encryptStream(inputStream, outputStream, encryption);
44
+ case CryptoAlgorithm.RSAHybrid:
45
+ return await RSAHybrid.encryptStream(inputStream, outputStream, encryption);
46
+ default:
47
+ throw Error(`${encryption.algo} algorithm not supported`);
48
+ }
49
+ }
50
+ /**
51
+ * Used to decrypt data from blockchain
52
+ * @param encryption - object what contains encrypted data, key and spec to decryption
53
+ * @returns {Promise<string>} - decrypted string
54
+ */
55
+ static async decrypt(encryption) {
56
+ switch (encryption.algo) {
57
+ case CryptoAlgorithm.AES:
58
+ return AES.decrypt(encryption);
59
+ case CryptoAlgorithm.ARIA:
60
+ return ARIA.decrypt(encryption);
61
+ case CryptoAlgorithm.ECIES:
62
+ return await ECIES.decrypt(encryption);
63
+ case CryptoAlgorithm.RSAHybrid:
64
+ return RSAHybrid.decrypt(encryption);
65
+ default:
66
+ throw Error(`${encryption.algo} algorithm not supported`);
67
+ }
68
+ }
69
+ /**
70
+ * Decrypts data stream
71
+ * @param inputStream - stream with data to decrypt
72
+ * @param outputStream - stream where the decrypted data will be written
73
+ * @param encryption – encryption info
74
+ */
75
+ static async decryptStream(inputStream, outputStream, encryption) {
76
+ switch (encryption.algo) {
77
+ case CryptoAlgorithm.AES:
78
+ return await AES.decryptStream(inputStream, outputStream, encryption);
79
+ case CryptoAlgorithm.ARIA:
80
+ return await ARIA.decryptStream(inputStream, outputStream, encryption);
81
+ case CryptoAlgorithm.RSAHybrid:
82
+ return await RSAHybrid.decryptStream(inputStream, outputStream, encryption);
83
+ default:
84
+ throw Error(`${encryption.algo} algorithm not supported`);
85
+ }
86
+ }
87
+ static async createHash(param1, hashInfo) {
88
+ const { algo, encoding } = hashInfo;
89
+ return Buffer.isBuffer(param1)
90
+ ? NativeCrypto.createHashFromBuffer(param1, algo, encoding)
91
+ : await NativeCrypto.createHashFromStream(param1, algo, encoding);
92
+ }
93
+ }
94
+ export default Crypto;
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9DcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLGVBQWUsR0FLaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQztBQUNsQyxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxtQkFBbUIsQ0FBQztBQUN0QyxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLFlBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUdwRCxNQUFNLE1BQU07SUFDVjs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQzFELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLEtBQUssZUFBZSxDQUFDLEdBQUc7Z0JBQ3RCLE9BQU8sTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUVoRCxLQUFLLGVBQWUsQ0FBQyxJQUFJO2dCQUN2QixPQUFPLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFakQsS0FBSyxlQUFlLENBQUMsS0FBSztnQkFDeEIsT0FBTyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWxELEtBQUssZUFBZSxDQUFDLFNBQVM7Z0JBQzVCLE9BQU8sTUFBTSxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUV0RDtnQkFDRSxNQUFNLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ks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
@@ -0,0 +1,2 @@
1
+ import Crypto from './Crypto.js';
2
+ export default Crypto;
@@ -0,0 +1,3 @@
1
+ import Crypto from './Crypto.js';
2
+ export default Crypto;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxlQUFlLE1BQU0sQ0FBQyJ9
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ import { AESEncryption, Encryption } from '@super-protocol/dto-js';
3
+ import { ReadStream, WriteStream } from 'fs';
4
+ declare class AES {
5
+ static encrypt(content: string, encryption: Encryption): Promise<AESEncryption>;
6
+ /**
7
+ * Encrypts data stream
8
+ * @param inputStream - path to file that will be encrypted
9
+ * @param outputStream - place where it will be saved
10
+ * @param algorithm - file encryption algorithm
11
+ * @param key – key that will be used to encrypt data
12
+ * @returns {Promise<Encryption>} - encryption info
13
+ */
14
+ static encryptStream(inputStream: ReadStream, outputStream: WriteStream, encryption: Encryption): Promise<AESEncryption>;
15
+ static decrypt(encryption: AESEncryption): string;
16
+ /**
17
+ * Decrypts data stream
18
+ * @param inputStream - stream with data to decrypt
19
+ * @param outputStream - stream where the decrypted data will be written
20
+ * @param encryption – encryption info
21
+ */
22
+ static decryptStream(inputStream: ReadStream, outputStream: WriteStream, encryption: AESEncryption): Promise<void>;
23
+ }
24
+ export default AES;
@@ -0,0 +1,74 @@
1
+ import { Cipher, CryptoAlgorithm, } from '@super-protocol/dto-js';
2
+ import NativeCrypto from './NativeCrypto.js';
3
+ class AES {
4
+ static async encrypt(content, encryption) {
5
+ if (!encryption.key)
6
+ throw Error('Encryption key is not provided');
7
+ encryption.cipher = encryption.cipher || Cipher.AES_256_GCM;
8
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
9
+ const encrypted = NativeCrypto.encrypt(keyBuffer, content, encryption.cipher);
10
+ return {
11
+ algo: CryptoAlgorithm.AES,
12
+ encoding: encryption.encoding,
13
+ cipher: encryption.cipher,
14
+ ciphertext: encrypted.ciphertext,
15
+ iv: encrypted.iv,
16
+ mac: encrypted.mac,
17
+ };
18
+ }
19
+ /**
20
+ * Encrypts data stream
21
+ * @param inputStream - path to file that will be encrypted
22
+ * @param outputStream - place where it will be saved
23
+ * @param algorithm - file encryption algorithm
24
+ * @param key – key that will be used to encrypt data
25
+ * @returns {Promise<Encryption>} - encryption info
26
+ */
27
+ static async encryptStream(inputStream, outputStream, encryption) {
28
+ if (!encryption.key)
29
+ throw Error('Encryption key is not provided');
30
+ encryption.cipher = encryption.cipher || Cipher.AES_256_GCM;
31
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
32
+ const encrypted = await NativeCrypto.encryptStream(keyBuffer, inputStream, outputStream, encryption.cipher);
33
+ return {
34
+ algo: encryption.algo,
35
+ encoding: encryption.encoding,
36
+ cipher: encryption.cipher,
37
+ ciphertext: encrypted.ciphertext,
38
+ iv: encrypted.iv,
39
+ mac: encrypted.mac,
40
+ };
41
+ }
42
+ static decrypt(encryption) {
43
+ if (!encryption.key)
44
+ throw Error('Decryption key is not provided');
45
+ const key = Buffer.from(encryption.key, encryption.encoding);
46
+ const params = {
47
+ iv: Buffer.from(encryption.iv, encryption.encoding),
48
+ };
49
+ if (encryption.mac) {
50
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
51
+ }
52
+ return NativeCrypto.decrypt(key, encryption.ciphertext, encryption.cipher, params, encryption.encoding);
53
+ }
54
+ /**
55
+ * Decrypts data stream
56
+ * @param inputStream - stream with data to decrypt
57
+ * @param outputStream - stream where the decrypted data will be written
58
+ * @param encryption – encryption info
59
+ */
60
+ static async decryptStream(inputStream, outputStream, encryption) {
61
+ if (!encryption.key)
62
+ throw Error('Decryption key is not provided');
63
+ const key = Buffer.from(encryption.key, encryption.encoding);
64
+ const params = {
65
+ iv: Buffer.from(encryption.iv, encryption.encoding),
66
+ };
67
+ if (encryption.mac) {
68
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
69
+ }
70
+ await NativeCrypto.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
71
+ }
72
+ }
73
+ export default AES;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUVTLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NyeXB0by9ub2RlanMvQUVTLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxNQUFNLEVBQ04sZUFBZSxHQUVoQixNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sWUFBWSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDLE1BQU0sR0FBRztJQUNBLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxVQUFzQjtRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ25FLFVBQVUsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRTVELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkUsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5RSxPQUFPO1lBQ0wsSUFBSSxFQUFFLGVBQWUsQ0FBQyxHQUFHO1lBQ3pCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtZQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQXdDO1lBQzNELFVBQVUsRUFBRSxTQUFTLENBQUMsVUFBVTtZQUNoQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUc7WUFDakIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFJO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUMvQixXQUF1QixFQUN2QixZQUF5QixFQUN6QixVQUFzQjtRQUV0QixJQUFJLENBQUMsVUFBVSxD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
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ import { ARIAEncryption, Encryption } from '@super-protocol/dto-js';
3
+ import { ReadStream, WriteStream } from 'fs';
4
+ declare class ARIA {
5
+ static encrypt(content: string, encryption: Encryption): Promise<ARIAEncryption>;
6
+ /**
7
+ * Encrypts data stream
8
+ * @param inputStream - path to file that will be encrypted
9
+ * @param outputStream - place where it will be saved
10
+ * @param algorithm - file encryption algorithm
11
+ * @param key – key that will be used to encrypt data
12
+ * @returns {Promise<Encryption>} - encryption info
13
+ */
14
+ static encryptStream(inputStream: ReadStream, outputStream: WriteStream, encryption: Encryption): Promise<ARIAEncryption>;
15
+ static decrypt(encryption: ARIAEncryption): string;
16
+ /**
17
+ * Decrypts data stream
18
+ * @param inputStream - stream with data to decrypt
19
+ * @param outputStream - stream where the decrypted data will be written
20
+ * @param encryption – encryption info
21
+ */
22
+ static decryptStream(inputStream: ReadStream, outputStream: WriteStream, encryption: ARIAEncryption): Promise<void>;
23
+ }
24
+ export default ARIA;
@@ -0,0 +1,73 @@
1
+ import { CryptoAlgorithm, Cipher, } from '@super-protocol/dto-js';
2
+ import NativeCrypto from './NativeCrypto.js';
3
+ class ARIA {
4
+ static async encrypt(content, encryption) {
5
+ if (!encryption.key)
6
+ throw Error('Encryption key is not provided');
7
+ encryption.cipher = encryption.cipher || Cipher.ARIA_256_GCM;
8
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
9
+ const encrypted = NativeCrypto.encrypt(keyBuffer, content, encryption.cipher);
10
+ return {
11
+ algo: CryptoAlgorithm.ARIA,
12
+ encoding: encryption.encoding,
13
+ cipher: encryption.cipher,
14
+ ciphertext: encrypted.ciphertext,
15
+ iv: encrypted.iv,
16
+ mac: encrypted.mac,
17
+ };
18
+ }
19
+ /**
20
+ * Encrypts data stream
21
+ * @param inputStream - path to file that will be encrypted
22
+ * @param outputStream - place where it will be saved
23
+ * @param algorithm - file encryption algorithm
24
+ * @param key – key that will be used to encrypt data
25
+ * @returns {Promise<Encryption>} - encryption info
26
+ */
27
+ static async encryptStream(inputStream, outputStream, encryption) {
28
+ if (!encryption.key)
29
+ throw Error('Encryption key is not provided');
30
+ encryption.cipher = encryption.cipher || Cipher.ARIA_256_GCM;
31
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
32
+ const encrypted = await NativeCrypto.encryptStream(keyBuffer, inputStream, outputStream, encryption.cipher);
33
+ return {
34
+ algo: CryptoAlgorithm.ARIA,
35
+ encoding: encryption.encoding,
36
+ cipher: encryption.cipher,
37
+ iv: encrypted.iv,
38
+ mac: encrypted.mac,
39
+ };
40
+ }
41
+ static decrypt(encryption) {
42
+ if (!encryption.key)
43
+ throw Error('Decryption key is not provided');
44
+ const key = Buffer.from(encryption.key, encryption.encoding);
45
+ const params = {
46
+ iv: Buffer.from(encryption.iv, encryption.encoding),
47
+ };
48
+ if (encryption.mac) {
49
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
50
+ }
51
+ return NativeCrypto.decrypt(key, encryption.ciphertext, encryption.cipher, params, encryption.encoding);
52
+ }
53
+ /**
54
+ * Decrypts data stream
55
+ * @param inputStream - stream with data to decrypt
56
+ * @param outputStream - stream where the decrypted data will be written
57
+ * @param encryption – encryption info
58
+ */
59
+ static async decryptStream(inputStream, outputStream, encryption) {
60
+ if (!encryption.key)
61
+ throw Error('Decryption key is not provided');
62
+ const key = Buffer.from(encryption.key, encryption.encoding);
63
+ const params = {
64
+ iv: Buffer.from(encryption.iv, encryption.encoding),
65
+ };
66
+ if (encryption.mac) {
67
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
68
+ }
69
+ await NativeCrypto.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
70
+ }
71
+ }
72
+ export default ARIA;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVJJQS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vbm9kZWpzL0FSSUEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFHZixNQUFNLEdBRVAsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLElBQUk7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNuRSxVQUFVLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQztRQUU3RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsT0FBTztZQUNMLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSTtZQUMxQixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7WUFDN0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUF5QztZQUM1RCxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVU7WUFDaEMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFHO1lBQ2pCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBSTtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDL0IsV0FBdUIsRUFDdkIsWUFBeUIsRUFDekIsVUFBc0I7UUFFdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNuRSxVQUFVLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQztRQUU3RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sU0FBUyxHQUFHLE1BQU0sWUFBWSxDQUFDLGFBQWEsQ0FDaEQsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osVUFBVSxDQUFDLE1BQU0sQ0FDbEIsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJLEVBQUUsZUFBZSxDQUFDLElBQUk7WUFDMUIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBeUM7WUFDNUQsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFHO1lBQ2pCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBSTtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBMEI7UUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUVuRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELE1BQU0sTUFBTSxHQUFRO1lBQ2xCLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwRCxDQUFDO1FBRUYsSUFBSyxVQUFvQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBRSxVQUFvQyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FDekIsR0FBRyxFQUNILFVBQVUsQ0FBQyxVQUFXLEVBQ3RCLFVBQVUsQ0FBQyxNQUFNLEVBQ2pCLE1BQU0sRUFDTixVQUFVLENBQUMsUUFBUSxDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQy9CLFdBQXVCLEVBQ3ZCLFlBQXlCLEVBQ3pCLFVBQTBCO1FBRTFCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztZQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFbkUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBUTtZQUNsQixFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDcEQsQ0FBQztRQUVGLElBQUssVUFBb0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM5QyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUUsVUFBb0MsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNGLENBQUM7UUFFRCxNQUFNLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RixDQUFDO0NBQ0Y7QUFFRCxlQUFlLElBQUksQ0FBQyJ9
@@ -0,0 +1,6 @@
1
+ import { ECIESEncryption, Encryption } from '@super-protocol/dto-js';
2
+ declare class ECIES {
3
+ static encrypt(content: string, encryption: Encryption): Promise<ECIESEncryption>;
4
+ static decrypt(encryption: ECIESEncryption): Promise<string>;
5
+ }
6
+ export default ECIES;
@@ -0,0 +1,51 @@
1
+ import { CryptoAlgorithm } from '@super-protocol/dto-js';
2
+ import crypto from 'crypto';
3
+ class ECIES {
4
+ static async encrypt(content, encryption) {
5
+ if (!encryption.key)
6
+ throw Error('Encryption key is not provided');
7
+ const ecdh = crypto.createECDH('secp256k1');
8
+ ecdh.generateKeys();
9
+ const epk = ecdh.getPublicKey();
10
+ const pk = ecdh.computeSecret(Buffer.from(encryption.key, encryption.encoding));
11
+ const hash = crypto.createHash('sha512').update(pk).digest();
12
+ const cipherKey = hash.slice(0, 32), macKey = hash.slice(32);
13
+ const iv = crypto.randomBytes(16);
14
+ const cipher = crypto.createCipheriv('aes-256-cbc', cipherKey, iv);
15
+ let ct = cipher.update(content);
16
+ ct = Buffer.concat([ct, cipher.final()]);
17
+ const dataToMac = Buffer.concat([iv, epk, ct]);
18
+ const mac = crypto.createHmac('sha256', macKey).update(dataToMac).digest();
19
+ return {
20
+ iv: iv.toString(encryption.encoding),
21
+ ephemPublicKey: epk.toString(encryption.encoding),
22
+ mac: mac.toString(encryption.encoding),
23
+ encoding: encryption.encoding,
24
+ algo: CryptoAlgorithm.ECIES,
25
+ ciphertext: ct.toString(encryption.encoding),
26
+ };
27
+ }
28
+ static async decrypt(encryption) {
29
+ if (!encryption.key)
30
+ throw Error('Decryption key is not provided');
31
+ const iv = Buffer.from(encryption.iv, encryption.encoding), epk = Buffer.from(encryption.ephemPublicKey, encryption.encoding), ct = Buffer.from(encryption.ciphertext, encryption.encoding), mac = Buffer.from(encryption.mac, encryption.encoding);
32
+ const ecdh = crypto.createECDH('secp256k1');
33
+ ecdh.setPrivateKey(Buffer.from(encryption.key, encryption.encoding));
34
+ const pk = ecdh.computeSecret(epk);
35
+ const hash = crypto.createHash('sha512').update(pk).digest();
36
+ const cipherKey = hash.slice(0, 32), macKey = hash.slice(32);
37
+ const m = crypto
38
+ .createHmac('sha256', macKey)
39
+ .update(Buffer.concat([iv, epk, ct]))
40
+ .digest();
41
+ if (m.compare(mac) !== 0 || mac.compare(m) !== 0) {
42
+ throw new Error('Corrupted Ecies body: unmatched authentication code');
43
+ }
44
+ const decipher = crypto.createDecipheriv('aes-256-cbc', cipherKey, iv);
45
+ const pt = decipher.update(ct);
46
+ const result = Buffer.concat([pt, decipher.final()]);
47
+ return result.toString('binary');
48
+ }
49
+ }
50
+ export default ECIES;
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRUNJRVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL25vZGVqcy9FQ0lFUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUErQixNQUFNLHdCQUF3QixDQUFDO0FBQ3RGLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLEtBQUs7SUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUVuRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFaEYsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQ2pDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFF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
@@ -0,0 +1,58 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /// <reference types="node" />
5
+ import { ReadStream, WriteStream } from 'fs';
6
+ import { Cipher, Decipher } from 'crypto';
7
+ import { Readable } from 'stream';
8
+ import { Encoding, EncryptionWithMacIV, Hash, HashAlgorithm } from '@super-protocol/dto-js';
9
+ /**
10
+ *
11
+ */
12
+ declare class NativeCrypto {
13
+ /**
14
+ * Here would be better to check cipher type using
15
+ * ```
16
+ * getCipherInfo(cipher)!.mode === 'mode'
17
+ * ```
18
+ * but it doesn't work in browser
19
+ */
20
+ static readonly isCCM: (cipher: string) => boolean;
21
+ static readonly isGCM: (cipher: string) => boolean;
22
+ static readonly isOCB: (cipher: string) => boolean;
23
+ static readonly isECB: (cipher: string) => boolean;
24
+ static readonly isRC4: (cipher: string) => boolean;
25
+ /**
26
+ * Here would be better to check cipher type using
27
+ * ```
28
+ * getCipherInfo(cipher)!.keyLength
29
+ * ```
30
+ * but it doesn't work in browser
31
+ */
32
+ static getKeyLength(cipher: string): number;
33
+ /**
34
+ * Here would be better to check cipher type using
35
+ * ```
36
+ * getCipherInfo(cipher)!.ivLength
37
+ * ```
38
+ * but it doesn't work in browser
39
+ */
40
+ static getIVLength(cipher: string): number;
41
+ static createKey(cipher: string): Buffer;
42
+ static createIV(cipher: string): Buffer;
43
+ static createCipher(cipher: string, key: Buffer, iv: Buffer): Cipher;
44
+ static createDecipher(cipher: string, key: Buffer, iv: Buffer, mac?: Buffer): Decipher;
45
+ static encrypt(key: Buffer, content: string, cipherName: string, outputEncoding?: Encoding, inputEncoding?: BufferEncoding): Partial<EncryptionWithMacIV>;
46
+ static encryptStream(key: Buffer, inputStream: ReadStream, outputStream: WriteStream, cipherName: any, encoding?: Encoding): Promise<Partial<EncryptionWithMacIV>>;
47
+ static decrypt(key: Buffer, content: string, cipherName: string, params: {
48
+ iv: Buffer;
49
+ mac?: Buffer;
50
+ }, inputEncoding?: Encoding, outputEncoding?: BufferEncoding): string;
51
+ static decryptStream(key: Buffer, inputStream: ReadStream, outputStream: WriteStream, cipherName: string, params: {
52
+ iv: Buffer;
53
+ mac: Buffer;
54
+ }): Promise<void>;
55
+ static createHashFromBuffer(data: Buffer, algorithm: HashAlgorithm, encoding?: Encoding): Hash;
56
+ static createHashFromStream(inputStream: Readable, algorithm: HashAlgorithm, encoding?: Encoding): Promise<Hash>;
57
+ }
58
+ export default NativeCrypto;