@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,100 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dto_js_1 = require("@super-protocol/dto-js");
7
+ const AES_js_1 = __importDefault(require("./nodejs/AES.js"));
8
+ const ARIA_js_1 = __importDefault(require("./nodejs/ARIA.js"));
9
+ const ECIES_js_1 = __importDefault(require("./nodejs/ECIES.js"));
10
+ const RSA_Hybrid_js_1 = __importDefault(require("./nodejs/RSA-Hybrid.js"));
11
+ const NativeCrypto_js_1 = __importDefault(require("./nodejs/NativeCrypto.js"));
12
+ class Crypto {
13
+ /**
14
+ * Used to encrypt data before sending it to blockchain
15
+ * @param algorithm - encryption algorithm
16
+ * @param content - string data to encrypt
17
+ * @param key - key in string format (default encoding base64)
18
+ * @param encoding - encoding of key and output data
19
+ * @returns {Promise<Encryption>} - object what contains encrypted data, key and spec to decryption
20
+ */
21
+ static async encrypt(content, encryption) {
22
+ switch (encryption.algo) {
23
+ case dto_js_1.CryptoAlgorithm.AES:
24
+ return await AES_js_1.default.encrypt(content, encryption);
25
+ case dto_js_1.CryptoAlgorithm.ARIA:
26
+ return await ARIA_js_1.default.encrypt(content, encryption);
27
+ case dto_js_1.CryptoAlgorithm.ECIES:
28
+ return await ECIES_js_1.default.encrypt(content, encryption);
29
+ case dto_js_1.CryptoAlgorithm.RSAHybrid:
30
+ return await RSA_Hybrid_js_1.default.encrypt(content, encryption);
31
+ default:
32
+ throw Error(`${encryption.algo} algorithm not supported`);
33
+ }
34
+ }
35
+ /**
36
+ * Encrypts data stream
37
+ * @param inputStream - path to file that will be encrypted
38
+ * @param outputStream - place where it will be saved
39
+ * @param algorithm - file encryption algorithm
40
+ * @param key – key that will be used to encrypt data
41
+ * @returns {Promise<Encryption>} - encryption info
42
+ */
43
+ static async encryptStream(inputStream, outputStream, encryption) {
44
+ switch (encryption.algo) {
45
+ case dto_js_1.CryptoAlgorithm.AES:
46
+ return await AES_js_1.default.encryptStream(inputStream, outputStream, encryption);
47
+ case dto_js_1.CryptoAlgorithm.ARIA:
48
+ return await ARIA_js_1.default.encryptStream(inputStream, outputStream, encryption);
49
+ case dto_js_1.CryptoAlgorithm.RSAHybrid:
50
+ return await RSA_Hybrid_js_1.default.encryptStream(inputStream, outputStream, encryption);
51
+ default:
52
+ throw Error(`${encryption.algo} algorithm not supported`);
53
+ }
54
+ }
55
+ /**
56
+ * Used to decrypt data from blockchain
57
+ * @param encryption - object what contains encrypted data, key and spec to decryption
58
+ * @returns {Promise<string>} - decrypted string
59
+ */
60
+ static async decrypt(encryption) {
61
+ switch (encryption.algo) {
62
+ case dto_js_1.CryptoAlgorithm.AES:
63
+ return AES_js_1.default.decrypt(encryption);
64
+ case dto_js_1.CryptoAlgorithm.ARIA:
65
+ return ARIA_js_1.default.decrypt(encryption);
66
+ case dto_js_1.CryptoAlgorithm.ECIES:
67
+ return await ECIES_js_1.default.decrypt(encryption);
68
+ case dto_js_1.CryptoAlgorithm.RSAHybrid:
69
+ return RSA_Hybrid_js_1.default.decrypt(encryption);
70
+ default:
71
+ throw Error(`${encryption.algo} algorithm not supported`);
72
+ }
73
+ }
74
+ /**
75
+ * Decrypts data stream
76
+ * @param inputStream - stream with data to decrypt
77
+ * @param outputStream - stream where the decrypted data will be written
78
+ * @param encryption – encryption info
79
+ */
80
+ static async decryptStream(inputStream, outputStream, encryption) {
81
+ switch (encryption.algo) {
82
+ case dto_js_1.CryptoAlgorithm.AES:
83
+ return await AES_js_1.default.decryptStream(inputStream, outputStream, encryption);
84
+ case dto_js_1.CryptoAlgorithm.ARIA:
85
+ return await ARIA_js_1.default.decryptStream(inputStream, outputStream, encryption);
86
+ case dto_js_1.CryptoAlgorithm.RSAHybrid:
87
+ return await RSA_Hybrid_js_1.default.decryptStream(inputStream, outputStream, encryption);
88
+ default:
89
+ throw Error(`${encryption.algo} algorithm not supported`);
90
+ }
91
+ }
92
+ static async createHash(param1, hashInfo) {
93
+ const { algo, encoding } = hashInfo;
94
+ return Buffer.isBuffer(param1)
95
+ ? NativeCrypto_js_1.default.createHashFromBuffer(param1, algo, encoding)
96
+ : await NativeCrypto_js_1.default.createHashFromStream(param1, algo, encoding);
97
+ }
98
+ }
99
+ exports.default = Crypto;
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9DcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFRZ0M7QUFFaEMsNkRBQWtDO0FBQ2xDLCtEQUFvQztBQUNwQyxpRUFBc0M7QUFDdEMsMkVBQStDO0FBQy9DLCtFQUFvRDtBQUdwRCxNQUFNLE1BQU07SUFDVjs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQzFELFFBQVEsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLEtBQUssd0JBQWUsQ0FBQyxHQUFHO2dCQUN0QixPQUFPLE1BQU0sZ0JBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWhELEtBQUssd0JBQWUsQ0FBQyxJQUFJO2dCQUN2QixPQUFPLE1BQU0saUJBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWpELEtBQUssd0JBQWUsQ0FBQyxLQUFLO2dCQUN4QixPQUFPLE1BQU0sa0JBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRWxELEtBQUssd0JBQWUsQ0FBQyxTQUFTO2dCQUM1QixPQUFPLE1BQU0sdUJBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXREO2dCQUNFLE1BQU0sS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksMEJBQTBCLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDL0IsV0FBMEIsRUFDMUIsWUFBNEIsRUFDNUIsVUFBc0I7UUFFdEIsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsS0FBSyx3QkFBZSxDQUFD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
@@ -0,0 +1,2 @@
1
+ import Crypto from './Crypto.js';
2
+ export default Crypto;
@@ -3,6 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const Crypto_1 = __importDefault(require("./Crypto"));
7
- exports.default = Crypto_1.default;
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQThCO0FBQzlCLGtCQUFlLGdCQUFNLENBQUMifQ==
6
+ const Crypto_js_1 = __importDefault(require("./Crypto.js"));
7
+ exports.default = Crypto_js_1.default;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNERBQWlDO0FBQ2pDLGtCQUFlLG1CQUFNLENBQUMifQ==
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dto_js_1 = require("@super-protocol/dto-js");
7
+ const NativeCrypto_js_1 = __importDefault(require("./NativeCrypto.js"));
8
+ class AES {
9
+ static async encrypt(content, encryption) {
10
+ if (!encryption.key)
11
+ throw Error('Encryption key is not provided');
12
+ encryption.cipher = encryption.cipher || dto_js_1.Cipher.AES_256_GCM;
13
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
14
+ const encrypted = NativeCrypto_js_1.default.encrypt(keyBuffer, content, encryption.cipher);
15
+ return {
16
+ algo: dto_js_1.CryptoAlgorithm.AES,
17
+ encoding: encryption.encoding,
18
+ cipher: encryption.cipher,
19
+ ciphertext: encrypted.ciphertext,
20
+ iv: encrypted.iv,
21
+ mac: encrypted.mac,
22
+ };
23
+ }
24
+ /**
25
+ * Encrypts data stream
26
+ * @param inputStream - path to file that will be encrypted
27
+ * @param outputStream - place where it will be saved
28
+ * @param algorithm - file encryption algorithm
29
+ * @param key – key that will be used to encrypt data
30
+ * @returns {Promise<Encryption>} - encryption info
31
+ */
32
+ static async encryptStream(inputStream, outputStream, encryption) {
33
+ if (!encryption.key)
34
+ throw Error('Encryption key is not provided');
35
+ encryption.cipher = encryption.cipher || dto_js_1.Cipher.AES_256_GCM;
36
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
37
+ const encrypted = await NativeCrypto_js_1.default.encryptStream(keyBuffer, inputStream, outputStream, encryption.cipher);
38
+ return {
39
+ algo: encryption.algo,
40
+ encoding: encryption.encoding,
41
+ cipher: encryption.cipher,
42
+ ciphertext: encrypted.ciphertext,
43
+ iv: encrypted.iv,
44
+ mac: encrypted.mac,
45
+ };
46
+ }
47
+ static decrypt(encryption) {
48
+ if (!encryption.key)
49
+ throw Error('Decryption key is not provided');
50
+ const key = Buffer.from(encryption.key, encryption.encoding);
51
+ const params = {
52
+ iv: Buffer.from(encryption.iv, encryption.encoding),
53
+ };
54
+ if (encryption.mac) {
55
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
56
+ }
57
+ return NativeCrypto_js_1.default.decrypt(key, encryption.ciphertext, encryption.cipher, params, encryption.encoding);
58
+ }
59
+ /**
60
+ * Decrypts data stream
61
+ * @param inputStream - stream with data to decrypt
62
+ * @param outputStream - stream where the decrypted data will be written
63
+ * @param encryption – encryption info
64
+ */
65
+ static async decryptStream(inputStream, outputStream, encryption) {
66
+ if (!encryption.key)
67
+ throw Error('Decryption key is not provided');
68
+ const key = Buffer.from(encryption.key, encryption.encoding);
69
+ const params = {
70
+ iv: Buffer.from(encryption.iv, encryption.encoding),
71
+ };
72
+ if (encryption.mac) {
73
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
74
+ }
75
+ await NativeCrypto_js_1.default.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
76
+ }
77
+ }
78
+ exports.default = AES;
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQUVTLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NyeXB0by9ub2RlanMvQUVTLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBTWdDO0FBR2hDLHdFQUE2QztBQUU3QyxNQUFNLEdBQUc7SUFDQSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNuRSxVQUFVLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksZUFBTSxDQUFDLFdBQVcsQ0FBQztRQUU1RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sU0FBUyxHQUFHLHlCQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlFLE9BQU87WUFDTCxJQUFJLEVBQUUsd0JBQWUsQ0FBQyxHQUFHO1lBQ3pCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtZQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQXdDO1lBQzNELFVBQVUsRUFBRSxTQUFTLENBQUMsVUFBVTtZQUNoQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUc7WUFDakIsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFJO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUMvQixXQUF1QixFQUN2QixZQUF5QixFQUN6QixVQUFzQjtRQUV0QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ25FLFVB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
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dto_js_1 = require("@super-protocol/dto-js");
7
+ const NativeCrypto_js_1 = __importDefault(require("./NativeCrypto.js"));
8
+ class ARIA {
9
+ static async encrypt(content, encryption) {
10
+ if (!encryption.key)
11
+ throw Error('Encryption key is not provided');
12
+ encryption.cipher = encryption.cipher || dto_js_1.Cipher.ARIA_256_GCM;
13
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
14
+ const encrypted = NativeCrypto_js_1.default.encrypt(keyBuffer, content, encryption.cipher);
15
+ return {
16
+ algo: dto_js_1.CryptoAlgorithm.ARIA,
17
+ encoding: encryption.encoding,
18
+ cipher: encryption.cipher,
19
+ ciphertext: encrypted.ciphertext,
20
+ iv: encrypted.iv,
21
+ mac: encrypted.mac,
22
+ };
23
+ }
24
+ /**
25
+ * Encrypts data stream
26
+ * @param inputStream - path to file that will be encrypted
27
+ * @param outputStream - place where it will be saved
28
+ * @param algorithm - file encryption algorithm
29
+ * @param key – key that will be used to encrypt data
30
+ * @returns {Promise<Encryption>} - encryption info
31
+ */
32
+ static async encryptStream(inputStream, outputStream, encryption) {
33
+ if (!encryption.key)
34
+ throw Error('Encryption key is not provided');
35
+ encryption.cipher = encryption.cipher || dto_js_1.Cipher.ARIA_256_GCM;
36
+ const keyBuffer = Buffer.from(encryption.key, encryption.encoding);
37
+ const encrypted = await NativeCrypto_js_1.default.encryptStream(keyBuffer, inputStream, outputStream, encryption.cipher);
38
+ return {
39
+ algo: dto_js_1.CryptoAlgorithm.ARIA,
40
+ encoding: encryption.encoding,
41
+ cipher: encryption.cipher,
42
+ iv: encrypted.iv,
43
+ mac: encrypted.mac,
44
+ };
45
+ }
46
+ static decrypt(encryption) {
47
+ if (!encryption.key)
48
+ throw Error('Decryption key is not provided');
49
+ const key = Buffer.from(encryption.key, encryption.encoding);
50
+ const params = {
51
+ iv: Buffer.from(encryption.iv, encryption.encoding),
52
+ };
53
+ if (encryption.mac) {
54
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
55
+ }
56
+ return NativeCrypto_js_1.default.decrypt(key, encryption.ciphertext, encryption.cipher, params, encryption.encoding);
57
+ }
58
+ /**
59
+ * Decrypts data stream
60
+ * @param inputStream - stream with data to decrypt
61
+ * @param outputStream - stream where the decrypted data will be written
62
+ * @param encryption – encryption info
63
+ */
64
+ static async decryptStream(inputStream, outputStream, encryption) {
65
+ if (!encryption.key)
66
+ throw Error('Decryption key is not provided');
67
+ const key = Buffer.from(encryption.key, encryption.encoding);
68
+ const params = {
69
+ iv: Buffer.from(encryption.iv, encryption.encoding),
70
+ };
71
+ if (encryption.mac) {
72
+ params.mac = Buffer.from(encryption.mac, encryption.encoding);
73
+ }
74
+ await NativeCrypto_js_1.default.decryptStream(key, inputStream, outputStream, encryption.cipher, params);
75
+ }
76
+ }
77
+ exports.default = ARIA;
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVJJQS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vbm9kZWpzL0FSSUEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFNZ0M7QUFHaEMsd0VBQTZDO0FBRTdDLE1BQU0sSUFBSTtJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWUsRUFBRSxVQUFzQjtRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ25FLFVBQVUsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxlQUFNLENBQUMsWUFBWSxDQUFDO1FBRTdELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFbkUsTUFBTSxTQUFTLEdBQUcseUJBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsT0FBTztZQUNMLElBQUksRUFBRSx3QkFBZSxDQUFDLElBQUk7WUFDMUIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBeUM7WUFDNUQsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQ2hDLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRztZQUNqQixHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUk7U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQy9CLFdBQXVCLEVBQ3ZCLFlBQXlCLEVBQ3pCLFVBQXNCO1FBRXRCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztZQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDbkUs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
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dto_js_1 = require("@super-protocol/dto-js");
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ class ECIES {
9
+ static async encrypt(content, encryption) {
10
+ if (!encryption.key)
11
+ throw Error('Encryption key is not provided');
12
+ const ecdh = crypto_1.default.createECDH('secp256k1');
13
+ ecdh.generateKeys();
14
+ const epk = ecdh.getPublicKey();
15
+ const pk = ecdh.computeSecret(Buffer.from(encryption.key, encryption.encoding));
16
+ const hash = crypto_1.default.createHash('sha512').update(pk).digest();
17
+ const cipherKey = hash.slice(0, 32), macKey = hash.slice(32);
18
+ const iv = crypto_1.default.randomBytes(16);
19
+ const cipher = crypto_1.default.createCipheriv('aes-256-cbc', cipherKey, iv);
20
+ let ct = cipher.update(content);
21
+ ct = Buffer.concat([ct, cipher.final()]);
22
+ const dataToMac = Buffer.concat([iv, epk, ct]);
23
+ const mac = crypto_1.default.createHmac('sha256', macKey).update(dataToMac).digest();
24
+ return {
25
+ iv: iv.toString(encryption.encoding),
26
+ ephemPublicKey: epk.toString(encryption.encoding),
27
+ mac: mac.toString(encryption.encoding),
28
+ encoding: encryption.encoding,
29
+ algo: dto_js_1.CryptoAlgorithm.ECIES,
30
+ ciphertext: ct.toString(encryption.encoding),
31
+ };
32
+ }
33
+ static async decrypt(encryption) {
34
+ if (!encryption.key)
35
+ throw Error('Decryption key is not provided');
36
+ 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);
37
+ const ecdh = crypto_1.default.createECDH('secp256k1');
38
+ ecdh.setPrivateKey(Buffer.from(encryption.key, encryption.encoding));
39
+ const pk = ecdh.computeSecret(epk);
40
+ const hash = crypto_1.default.createHash('sha512').update(pk).digest();
41
+ const cipherKey = hash.slice(0, 32), macKey = hash.slice(32);
42
+ const m = crypto_1.default
43
+ .createHmac('sha256', macKey)
44
+ .update(Buffer.concat([iv, epk, ct]))
45
+ .digest();
46
+ if (m.compare(mac) !== 0 || mac.compare(m) !== 0) {
47
+ throw new Error('Corrupted Ecies body: unmatched authentication code');
48
+ }
49
+ const decipher = crypto_1.default.createDecipheriv('aes-256-cbc', cipherKey, iv);
50
+ const pt = decipher.update(ct);
51
+ const result = Buffer.concat([pt, decipher.final()]);
52
+ return result.toString('binary');
53
+ }
54
+ }
55
+ exports.default = ECIES;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRUNJRVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3J5cHRvL25vZGVqcy9FQ0lFUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1EQUFzRjtBQUN0RixvREFBNEI7QUFFNUIsTUFBTSxLQUFLO0lBQ0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQXNCO1FBQ2pFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRztZQUFFLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFbkUsTUFBTSxJQUFJLEdBQUcsZ0JBQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVoRixNQUFNLElBQUksR0FBRyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQ2pDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sRUFBRSxHQUFHLGdCQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sTUFBTSxHQUFHLGdCQUFNLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxFQUFFLEdBQUcsTUFB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
@@ -41,14 +41,14 @@ declare class NativeCrypto {
41
41
  static createKey(cipher: string): Buffer;
42
42
  static createIV(cipher: string): Buffer;
43
43
  static createCipher(cipher: string, key: Buffer, iv: Buffer): Cipher;
44
- static createDecipher(cipher: string, key: Buffer, iv?: Buffer, mac?: Buffer): Decipher;
44
+ static createDecipher(cipher: string, key: Buffer, iv: Buffer, mac?: Buffer): Decipher;
45
45
  static encrypt(key: Buffer, content: string, cipherName: string, outputEncoding?: Encoding, inputEncoding?: BufferEncoding): Partial<EncryptionWithMacIV>;
46
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?: {
47
+ static decrypt(key: Buffer, content: string, cipherName: string, params: {
48
48
  iv: Buffer;
49
49
  mac?: Buffer;
50
50
  }, inputEncoding?: Encoding, outputEncoding?: BufferEncoding): string;
51
- static decryptStream(key: Buffer, inputStream: ReadStream, outputStream: WriteStream, cipherName: string, params?: {
51
+ static decryptStream(key: Buffer, inputStream: ReadStream, outputStream: WriteStream, cipherName: string, params: {
52
52
  iv: Buffer;
53
53
  mac: Buffer;
54
54
  }): Promise<void>;
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const crypto_1 = require("crypto");
4
+ const events_1 = require("events");
5
+ const dto_js_1 = require("@super-protocol/dto-js");
6
+ /**
7
+ *
8
+ */
9
+ class NativeCrypto {
10
+ /**
11
+ * Here would be better to check cipher type using
12
+ * ```
13
+ * getCipherInfo(cipher)!.mode === 'mode'
14
+ * ```
15
+ * but it doesn't work in browser
16
+ */
17
+ static isCCM = (cipher) => /ccm/i.test(cipher) || cipher === 'chacha20-poly1305';
18
+ static isGCM = (cipher) => /gcm/i.test(cipher);
19
+ static isOCB = (cipher) => /ocb/i.test(cipher);
20
+ static isECB = (cipher) => /ecb/i.test(cipher) || cipher === 'des-ede' || cipher === 'des-ede3';
21
+ static isRC4 = (cipher) => /^rc4/i.test(cipher);
22
+ /**
23
+ * Here would be better to check cipher type using
24
+ * ```
25
+ * getCipherInfo(cipher)!.keyLength
26
+ * ```
27
+ * but it doesn't work in browser
28
+ */
29
+ static getKeyLength(cipher) {
30
+ if (/256\-xts/.test(cipher)) {
31
+ return 64;
32
+ }
33
+ if (/256|128\-xts|chacha20/.test(cipher) && cipher !== 'aes-128-cbc-hmac-sha256') {
34
+ return 32;
35
+ }
36
+ if (/192|des\-ede3|desx|des3$/.test(cipher) || cipher === 'id-smime-alg-cms3deswrap') {
37
+ return 24;
38
+ }
39
+ if (/128|des\-ede/.test(cipher)) {
40
+ return 16;
41
+ }
42
+ if (/64|des/.test(cipher)) {
43
+ return 8;
44
+ }
45
+ if (/40/.test(cipher)) {
46
+ return 5;
47
+ }
48
+ return 16;
49
+ }
50
+ /**
51
+ * Here would be better to check cipher type using
52
+ * ```
53
+ * getCipherInfo(cipher)!.ivLength
54
+ * ```
55
+ * but it doesn't work in browser
56
+ */
57
+ static getIVLength(cipher) {
58
+ if (this.isCCM(cipher) || this.isGCM(cipher) || this.isOCB(cipher)) {
59
+ return 12;
60
+ }
61
+ if (/wrap\-pad/.test(cipher)) {
62
+ return 4;
63
+ }
64
+ if (/wrap|cast|des|bf|blowfish|idea|rc2/.test(cipher)) {
65
+ return 8;
66
+ }
67
+ return 16;
68
+ }
69
+ static createKey(cipher) {
70
+ const length = this.getKeyLength(cipher);
71
+ return (0, crypto_1.randomBytes)(length);
72
+ }
73
+ static createIV(cipher) {
74
+ const length = this.getIVLength(cipher);
75
+ return (0, crypto_1.randomBytes)(length);
76
+ }
77
+ static createCipher(cipher, key, iv) {
78
+ if (this.isECB(cipher) || this.isRC4(cipher)) {
79
+ throw new Error(`Cipher "${cipher}" is not supported`);
80
+ }
81
+ if (this.isCCM(cipher) || this.isOCB(cipher)) {
82
+ const options = {
83
+ authTagLength: 16,
84
+ };
85
+ return (0, crypto_1.createCipheriv)(cipher, key, iv, options);
86
+ }
87
+ return (0, crypto_1.createCipheriv)(cipher, key, iv);
88
+ }
89
+ static createDecipher(cipher, key, iv, mac) {
90
+ const options = {};
91
+ if (this.isCCM(cipher) || this.isOCB(cipher)) {
92
+ options.authTagLength = 16;
93
+ }
94
+ const decipher = (0, crypto_1.createDecipheriv)(cipher, key, iv, options);
95
+ if (mac) {
96
+ decipher.setAuthTag(mac);
97
+ }
98
+ return decipher;
99
+ }
100
+ static encrypt(key, content, cipherName, outputEncoding = dto_js_1.Encoding.base64,
101
+ // TODO: replace BufferEncoding with Encoding
102
+ inputEncoding = 'binary') {
103
+ const iv = this.createIV(cipherName);
104
+ const result = {};
105
+ const cipher = this.createCipher(cipherName, key, iv);
106
+ result.ciphertext = cipher.update(content, inputEncoding, outputEncoding);
107
+ result.ciphertext += cipher.final(outputEncoding);
108
+ if (!this.isECB(cipherName) && !this.isRC4(cipherName)) {
109
+ result.iv = iv.toString(outputEncoding);
110
+ }
111
+ if (this.isCCM(cipherName) || this.isGCM(cipherName) || this.isOCB(cipherName)) {
112
+ result.mac = cipher.getAuthTag().toString(outputEncoding);
113
+ }
114
+ return result;
115
+ }
116
+ static async encryptStream(key, inputStream, outputStream, cipherName, encoding = dto_js_1.Encoding.base64) {
117
+ const iv = this.createIV(cipherName);
118
+ const result = {};
119
+ const cipher = this.createCipher(cipherName, key, iv);
120
+ inputStream.pipe(cipher).pipe(outputStream);
121
+ await (0, events_1.once)(outputStream, 'finish');
122
+ result.iv = iv.toString(encoding);
123
+ if (this.isCCM(cipherName) || this.isGCM(cipherName)) {
124
+ result.mac = cipher.getAuthTag().toString(encoding);
125
+ }
126
+ return result;
127
+ }
128
+ static decrypt(key, content, cipherName, params, inputEncoding = dto_js_1.Encoding.base64,
129
+ // TODO: replace BufferEncoding with Encoding
130
+ outputEncoding = 'binary') {
131
+ const decipher = this.createDecipher(cipherName, key, params.iv, params?.mac);
132
+ let decrypted = decipher.update(content, inputEncoding, outputEncoding);
133
+ decrypted += decipher.final(outputEncoding);
134
+ return decrypted;
135
+ }
136
+ static async decryptStream(key, inputStream, outputStream, cipherName, params) {
137
+ const decipher = this.createDecipher(cipherName, key, params.iv, params.mac);
138
+ inputStream.pipe(decipher).pipe(outputStream);
139
+ await (0, events_1.once)(outputStream, 'finish');
140
+ }
141
+ static createHashFromBuffer(data, algorithm, encoding = dto_js_1.Encoding.base64) {
142
+ const hash = (0, crypto_1.createHash)(algorithm);
143
+ hash.update(data);
144
+ return {
145
+ algo: algorithm,
146
+ encoding,
147
+ hash: hash.digest(encoding),
148
+ };
149
+ }
150
+ static createHashFromStream(inputStream, algorithm, encoding = dto_js_1.Encoding.base64) {
151
+ const hash = (0, crypto_1.createHash)(algorithm);
152
+ return new Promise((resolve) => {
153
+ hash.on('finish', () => {
154
+ resolve({
155
+ algo: algorithm,
156
+ encoding,
157
+ hash: hash.digest(encoding),
158
+ });
159
+ });
160
+ inputStream.pipe(hash);
161
+ });
162
+ }
163
+ }
164
+ exports.default = NativeCrypto;
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF0aXZlQ3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NyeXB0by9ub2RlanMvTmF0aXZlQ3J5cHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsbUNBVWdCO0FBRWhCLG1DQUE4QjtBQUU5QixtREFBNEY7QUFFNUY7O0dBRUc7QUFDSCxNQUFNLFlBQVk7SUFDaEI7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFVLEtBQUssR0FBRyxDQUFDLE1BQWMsRUFBVyxFQUFFLENBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxLQUFLLG1CQUFtQixDQUFDO0lBQ2pELE1BQU0sQ0FBVSxLQUFLLEdBQUcsQ0FBQyxNQUFjLEVBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsTUFBTSxDQUFVLEtBQUssR0FBRyxDQUFDLE1BQWMsRUFBVyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RSxNQUFNLENBQVUsS0FBSyxHQUFHLENBQUMsTUFBYyxFQUFXLEVBQUUsQ0FDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sS0FBSyxVQUFVLENBQUM7SUFDaEUsTUFBTSxDQUFVLEtBQUssR0FBRyxDQUFDLE1BQWMsRUFBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVqRjs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDdkMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxLQUFLLHlC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
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dto_js_1 = require("@super-protocol/dto-js");
7
+ const crypto_1 = require("crypto");
8
+ const NativeCrypto_js_1 = __importDefault(require("./NativeCrypto.js"));
9
+ class RSAHybrid {
10
+ static getKeyFingerprint(key) {
11
+ const jsonKey = key.export({ format: 'jwk' });
12
+ const buffer = Buffer.concat([
13
+ Buffer.from('ssh-rsa'),
14
+ Buffer.from(jsonKey.e || ''),
15
+ Buffer.from(jsonKey.n || ''),
16
+ ]);
17
+ const hex = (0, crypto_1.createHash)('md5').update(buffer).digest('hex');
18
+ return hex.match(/.{2}/g).join(':');
19
+ }
20
+ static publicEncrypt(rsaKey, aesKey) {
21
+ const publicKey = (0, crypto_1.createPublicKey)({
22
+ key: rsaKey,
23
+ format: 'pem',
24
+ });
25
+ const encryptedKey = (0, crypto_1.publicEncrypt)({
26
+ key: publicKey,
27
+ padding: crypto_1.constants.RSA_PKCS1_OAEP_PADDING,
28
+ oaepHash: 'sha256',
29
+ }, Buffer.from(aesKey));
30
+ const keyFingerprint = this.getKeyFingerprint(publicKey);
31
+ return {
32
+ [keyFingerprint]: encryptedKey.toString('base64'),
33
+ };
34
+ }
35
+ static privateDecrypt(rsaKey, keys) {
36
+ const privateKey = (0, crypto_1.createPrivateKey)({
37
+ key: rsaKey,
38
+ format: 'pem',
39
+ });
40
+ const keyFingerprint = this.getKeyFingerprint(privateKey);
41
+ const encryptedKey = keys[keyFingerprint];
42
+ const aesKey = (0, crypto_1.privateDecrypt)({
43
+ key: privateKey,
44
+ padding: crypto_1.constants.RSA_PKCS1_OAEP_PADDING,
45
+ oaepHash: 'sha256',
46
+ }, Buffer.from(encryptedKey, 'base64'));
47
+ return aesKey;
48
+ }
49
+ static encrypt(content, encryption) {
50
+ const aesKey = (0, crypto_1.randomBytes)(32);
51
+ const keys = this.publicEncrypt(encryption.key, aesKey);
52
+ const encrypted = NativeCrypto_js_1.default.encrypt(aesKey, content, dto_js_1.Cipher.AES_256_GCM, encryption.encoding);
53
+ return {
54
+ ...encrypted,
55
+ encoding: encryption.encoding,
56
+ algo: dto_js_1.CryptoAlgorithm.RSAHybrid,
57
+ cipher: dto_js_1.Cipher.RSA_OAEP_AES_GCM,
58
+ keys: JSON.stringify(keys),
59
+ };
60
+ }
61
+ static async encryptStream(inputStream, outputStream, encryption) {
62
+ const aesKey = (0, crypto_1.randomBytes)(32);
63
+ const keys = this.publicEncrypt(encryption.key, aesKey);
64
+ const encrypted = (await NativeCrypto_js_1.default.encryptStream(aesKey, inputStream, outputStream, dto_js_1.Cipher.AES_256_GCM, encryption.encoding));
65
+ return {
66
+ ...encrypted,
67
+ encoding: encryption.encoding,
68
+ algo: dto_js_1.CryptoAlgorithm.RSAHybrid,
69
+ cipher: dto_js_1.Cipher.RSA_OAEP_AES_GCM,
70
+ keys: JSON.stringify(keys),
71
+ };
72
+ }
73
+ static decrypt(encryption) {
74
+ const iv = Buffer.from(encryption.iv, encryption.encoding);
75
+ const mac = Buffer.from(encryption.mac, encryption.encoding);
76
+ const aesKey = this.privateDecrypt(encryption.key, JSON.parse(encryption.keys));
77
+ const decrypted = NativeCrypto_js_1.default.decrypt(aesKey, encryption.ciphertext, dto_js_1.Cipher.AES_256_GCM, {
78
+ iv,
79
+ mac,
80
+ }, encryption.encoding);
81
+ return decrypted;
82
+ }
83
+ static async decryptStream(inputStream, outputStream, encryption) {
84
+ const iv = Buffer.from(encryption.iv, encryption.encoding);
85
+ const mac = Buffer.from(encryption.mac, encryption.encoding);
86
+ const aesKey = this.privateDecrypt(encryption.key, JSON.parse(encryption.keys));
87
+ await NativeCrypto_js_1.default.decryptStream(aesKey, inputStream, outputStream, dto_js_1.Cipher.AES_256_GCM, {
88
+ iv,
89
+ mac,
90
+ });
91
+ }
92
+ }
93
+ exports.default = RSAHybrid;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUlNBLUh5YnJpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vbm9kZWpzL1JTQS1IeWJyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxtREFNZ0M7QUFDaEMsbUNBVWdCO0FBQ2hCLHdFQUE2QztBQUk3QyxNQUFNLFNBQVM7SUFDTixNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBYztRQUM1QyxNQUFNLE9BQU8sR0FBZSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDN0IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBQSxtQkFBVSxFQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUN6RCxNQUFNLFNBQVMsR0FBRyxJQUFBLHdCQUFlLEVBQUM7WUFDaEMsR0FBRyxFQUFFLE1BQU07WUFDWCxNQUFNLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLElBQUEsc0JBQWEsRUFDaEM7WUFDRSxHQUFHLEVBQUUsU0FBUztZQUNkLE9BQU8sRUFBRSxrQkFBZSxD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