@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.
- package/{build → dist/cjs}/TIIGenerator.d.ts +2 -2
- package/dist/cjs/TIIGenerator.js +230 -0
- package/{build → dist/cjs}/analytics/Analytics.d.ts +2 -2
- package/dist/cjs/analytics/Analytics.js +67 -0
- package/{build → dist/cjs}/analytics/AnalyticsError.js +2 -1
- package/{build → dist/cjs}/analytics/eventProviders/BrowserEventProvider.d.ts +1 -1
- package/dist/cjs/analytics/eventProviders/BrowserEventProvider.js +38 -0
- package/dist/cjs/analytics/eventProviders/EventProvider.js +25 -0
- package/{build → dist/cjs}/analytics/eventProviders/NodeEventProvider.d.ts +1 -1
- package/dist/cjs/analytics/eventProviders/NodeEventProvider.js +56 -0
- package/{build → dist/cjs}/analytics/transports/AxiosTransport.d.ts +1 -1
- package/dist/cjs/analytics/transports/AxiosTransport.js +60 -0
- package/{build → dist/cjs}/analytics/transports/FetchTransport.d.ts +1 -1
- package/dist/cjs/analytics/transports/FetchTransport.js +31 -0
- package/{build → dist/cjs}/analytics/types.d.ts +2 -2
- package/{build → dist/cjs}/analytics/types.js +1 -1
- package/{build → dist/cjs}/config.js +1 -1
- package/{build → dist/cjs}/connectors/BaseConnector.d.ts +1 -1
- package/dist/cjs/connectors/BaseConnector.js +41 -0
- package/{build → dist/cjs}/connectors/BlockchainConnector.d.ts +3 -3
- package/dist/cjs/connectors/BlockchainConnector.js +341 -0
- package/{build → dist/cjs}/connectors/BlockchainEventsListener.d.ts +1 -1
- package/dist/cjs/connectors/BlockchainEventsListener.js +103 -0
- package/{build → dist/cjs}/connectors/index.d.ts +2 -2
- package/{build → dist/cjs}/connectors/index.js +5 -5
- package/{build → dist/cjs}/constants.js +1 -1
- package/{build → dist/cjs}/contracts/abi.js +1 -1
- package/dist/cjs/crypto/Crypto.js +100 -0
- package/dist/cjs/crypto/index.d.ts +2 -0
- package/{build → dist/cjs}/crypto/index.js +3 -3
- package/dist/cjs/crypto/nodejs/AES.js +79 -0
- package/dist/cjs/crypto/nodejs/ARIA.js +78 -0
- package/dist/cjs/crypto/nodejs/ECIES.js +56 -0
- package/{build → dist/cjs}/crypto/nodejs/NativeCrypto.d.ts +3 -3
- package/dist/cjs/crypto/nodejs/NativeCrypto.js +165 -0
- package/dist/cjs/crypto/nodejs/RSA-Hybrid.js +94 -0
- package/dist/cjs/index.d.ts +80 -0
- package/dist/cjs/index.js +143 -0
- package/{build → dist/cjs}/logger.js +1 -1
- package/{build → dist/cjs}/models/EtlModel.d.ts +1 -1
- package/dist/cjs/models/EtlModel.js +126 -0
- package/{build → dist/cjs}/models/Offer.d.ts +1 -1
- package/dist/cjs/models/Offer.js +361 -0
- package/{build → dist/cjs}/models/Order.d.ts +1 -1
- package/dist/cjs/models/Order.js +543 -0
- package/{build → dist/cjs}/models/Provider.d.ts +1 -1
- package/dist/cjs/models/Provider.js +119 -0
- package/{build → dist/cjs}/models/TCB.d.ts +1 -1
- package/dist/cjs/models/TCB.js +112 -0
- package/{build → dist/cjs}/models/TeeOffer.d.ts +2 -2
- package/dist/cjs/models/TeeOffer.js +538 -0
- package/dist/cjs/models/index.d.ts +5 -0
- package/dist/cjs/models/index.js +17 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/polyfills.js +7 -0
- package/{build → dist/cjs}/proto/Compression.d.ts +1 -1
- package/dist/cjs/proto/Compression.js +131 -0
- package/{build → dist/cjs}/proto/TRI.d.ts +1 -1
- package/dist/cjs/proto/TRI.js +290 -0
- package/{build → dist/cjs}/proto/TeeProperties.d.ts +1 -1
- package/dist/cjs/proto/TeeProperties.js +397 -0
- package/{build → dist/cjs}/providers/storage/ChunksDownloadDecorator.d.ts +2 -2
- package/dist/cjs/providers/storage/ChunksDownloadDecorator.js +145 -0
- package/{build → dist/cjs}/providers/storage/IStorageProvider.d.ts +1 -1
- package/{build → dist/cjs}/providers/storage/IStorageProvider.js +1 -1
- package/{build → dist/cjs}/providers/storage/S3StorageProvider.d.ts +2 -2
- package/dist/cjs/providers/storage/S3StorageProvider.js +171 -0
- package/{build → dist/cjs}/providers/storage/StorageAdapter.d.ts +2 -2
- package/dist/cjs/providers/storage/StorageAdapter.js +301 -0
- package/{build → dist/cjs}/providers/storage/StorageContentWriter.d.ts +2 -2
- package/dist/cjs/providers/storage/StorageContentWriter.js +168 -0
- package/{build → dist/cjs}/providers/storage/StorageKeyValueAdapter.d.ts +2 -2
- package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +125 -0
- package/{build → dist/cjs}/providers/storage/StorageMetadataReader.d.ts +3 -3
- package/dist/cjs/providers/storage/StorageMetadataReader.js +57 -0
- package/{build → dist/cjs}/providers/storage/StorjAdapter.d.ts +2 -2
- package/dist/cjs/providers/storage/StorjAdapter.js +54 -0
- package/{build → dist/cjs}/providers/storage/StorjStorageProvider.d.ts +2 -3
- package/dist/cjs/providers/storage/StorjStorageProvider.js +145 -0
- package/dist/cjs/providers/storage/getStorageProvider.d.ts +4 -0
- package/dist/cjs/providers/storage/getStorageProvider.js +20 -0
- package/{build → dist/cjs}/providers/storage/types.js +1 -1
- package/{build → dist/cjs}/staticModels/ActiveOffers.d.ts +1 -1
- package/dist/cjs/staticModels/ActiveOffers.js +37 -0
- package/{build → dist/cjs}/staticModels/ActiveOrders.d.ts +1 -1
- package/dist/cjs/staticModels/ActiveOrders.js +76 -0
- package/{build → dist/cjs}/staticModels/Consensus.d.ts +1 -1
- package/dist/cjs/staticModels/Consensus.js +225 -0
- package/{build → dist/cjs}/staticModels/Deposits.d.ts +1 -1
- package/dist/cjs/staticModels/Deposits.js +195 -0
- package/{build → dist/cjs}/staticModels/Marks.d.ts +1 -1
- package/dist/cjs/staticModels/Marks.js +30 -0
- package/dist/cjs/staticModels/ModelPackager.js +49 -0
- package/{build → dist/cjs}/staticModels/Offers.d.ts +2 -2
- package/dist/cjs/staticModels/Offers.js +189 -0
- package/{build → dist/cjs}/staticModels/Orders.d.ts +1 -1
- package/dist/cjs/staticModels/Orders.js +504 -0
- package/{build → dist/cjs}/staticModels/ProviderRegistry.d.ts +1 -1
- package/dist/cjs/staticModels/ProviderRegistry.js +174 -0
- package/{build → dist/cjs}/staticModels/StaticModel.d.ts +2 -2
- package/dist/cjs/staticModels/StaticModel.js +35 -0
- package/{build → dist/cjs}/staticModels/Superpro.d.ts +2 -2
- package/dist/cjs/staticModels/Superpro.js +25 -0
- package/{build → dist/cjs}/staticModels/SuperproToken.d.ts +1 -1
- package/dist/cjs/staticModels/SuperproToken.js +141 -0
- package/{build → dist/cjs}/staticModels/TeeOffers.d.ts +1 -1
- package/dist/cjs/staticModels/TeeOffers.js +314 -0
- package/dist/cjs/store.js +17 -0
- package/{build → dist/cjs}/tee/QuoteParser.d.ts +1 -1
- package/dist/cjs/tee/QuoteParser.js +189 -0
- package/{build → dist/cjs}/tee/QuoteValidator.d.ts +1 -1
- package/dist/cjs/tee/QuoteValidator.js +391 -0
- package/{build → dist/cjs}/tee/errors.js +1 -1
- package/dist/cjs/tee/helpers.js +120 -0
- package/{build → dist/cjs}/tee/interface.d.ts +1 -1
- package/{build → dist/cjs}/tee/interface.js +1 -1
- package/{build → dist/cjs}/tee/statuses.js +4 -4
- package/{build → dist/cjs}/tee/types.d.ts +5 -0
- package/{build → dist/cjs}/tee/types.js +1 -1
- package/{build → dist/cjs}/types/Compressor.js +1 -1
- package/{build → dist/cjs}/types/Consensus.d.ts +1 -1
- package/{build → dist/cjs}/types/Consensus.js +2 -2
- package/{build → dist/cjs}/types/DepositInfo.d.ts +1 -1
- package/{build → dist/cjs}/types/DepositInfo.js +1 -1
- package/{build → dist/cjs}/types/EtlModel.js +1 -1
- package/{build → dist/cjs}/types/Events.d.ts +2 -2
- package/{build → dist/cjs}/types/Events.js +1 -1
- package/dist/cjs/types/HardwareInfo.d.ts +6 -0
- package/{build → dist/cjs}/types/HardwareInfo.js +1 -1
- package/{build → dist/cjs}/types/Marks.js +2 -2
- package/{build → dist/cjs}/types/Offer.d.ts +1 -1
- package/dist/cjs/types/Offer.js +17 -0
- package/{build → dist/cjs}/types/OptionInfo.js +1 -1
- package/{build → dist/cjs}/types/Order.d.ts +1 -1
- package/{build → dist/cjs}/types/Order.js +2 -2
- package/{build → dist/cjs}/types/OrderUsage.d.ts +4 -4
- package/{build → dist/cjs}/types/OrderUsage.js +1 -1
- package/{build → dist/cjs}/types/Origins.js +1 -1
- package/{build → dist/cjs}/types/Provider.js +1 -1
- package/{build → dist/cjs}/types/ResourceLoader.d.ts +1 -1
- package/{build → dist/cjs}/types/ResourceLoader.js +1 -1
- package/{build → dist/cjs}/types/SlotInfo.js +1 -1
- package/{build → dist/cjs}/types/SlotUsage.d.ts +1 -1
- package/{build → dist/cjs}/types/SlotUsage.js +2 -2
- package/{build → dist/cjs}/types/Superpro.js +2 -2
- package/{build → dist/cjs}/types/TeeOfferInfo.d.ts +1 -1
- package/{build → dist/cjs}/types/TeeOfferInfo.js +1 -1
- package/{build → dist/cjs}/types/TeeOfferOption.d.ts +3 -3
- package/{build → dist/cjs}/types/TeeOfferOption.js +1 -1
- package/dist/cjs/types/TeeOfferSlot.d.ts +8 -0
- package/{build → dist/cjs}/types/TeeOfferSlot.js +1 -1
- package/{build → dist/cjs}/types/ValueOfferSlot.d.ts +4 -4
- package/{build → dist/cjs}/types/ValueOfferSlot.js +1 -1
- package/{build → dist/cjs}/types/Web3.js +1 -1
- package/{build → dist/cjs}/types/blockchainConnector/StorageAccess.d.ts +1 -1
- package/{build → dist/cjs}/types/blockchainConnector/StorageAccess.js +1 -1
- package/dist/cjs/types/index.d.ts +22 -0
- package/dist/cjs/types/index.js +39 -0
- package/{build → dist/cjs}/types/storage/StorageAccess.js +1 -1
- package/{build → dist/cjs}/types/storage/StorageFileAccess.d.ts +1 -1
- package/{build → dist/cjs}/types/storage/StorageFileAccess.js +1 -1
- package/{build → dist/cjs}/types/storage/StorageObject.js +1 -1
- package/dist/cjs/utils/Monitoring.js +49 -0
- package/dist/cjs/utils/NonceTracker.js +78 -0
- package/dist/cjs/utils/PubSub.js +35 -0
- package/{build → dist/cjs}/utils/TxManager.d.ts +1 -1
- package/dist/cjs/utils/TxManager.js +169 -0
- package/{build → dist/cjs}/utils/compressors/GzipCompressor.d.ts +2 -2
- package/dist/cjs/utils/compressors/GzipCompressor.js +22 -0
- package/{build → dist/cjs}/utils/compressors/UncompressedCompressor.d.ts +2 -2
- package/dist/cjs/utils/compressors/UncompressedCompressor.js +17 -0
- package/dist/cjs/utils/compressors/index.d.ts +2 -0
- package/{build → dist/cjs}/utils/compressors/index.js +3 -3
- package/{build → dist/cjs}/utils/helper.d.ts +3 -3
- package/dist/cjs/utils/helper.js +289 -0
- package/dist/cjs/utils/helpers/getStreamChunks.js +35 -0
- package/dist/cjs/utils/helpers/index.d.ts +1 -0
- package/{build → dist/cjs}/utils/helpers/index.js +2 -2
- package/dist/cjs/utils/helpers/tryWithInterval.js +39 -0
- package/{build → dist/cjs}/utils/resourceLoaders/BaseResourceLoader.d.ts +1 -1
- package/dist/cjs/utils/resourceLoaders/BaseResourceLoader.js +14 -0
- package/{build → dist/cjs}/utils/resourceLoaders/StorageProviderLoader.d.ts +2 -2
- package/dist/cjs/utils/resourceLoaders/StorageProviderLoader.js +60 -0
- package/{build → dist/cjs}/utils/resourceLoaders/UrlResourceLoader.d.ts +1 -1
- package/dist/cjs/utils/resourceLoaders/UrlResourceLoader.js +51 -0
- package/{build → dist/cjs}/utils/resourceLoaders/getResourceLoader.d.ts +1 -1
- package/dist/cjs/utils/resourceLoaders/getResourceLoader.js +15 -0
- package/dist/cjs/utils/resourceLoaders/index.d.ts +1 -0
- package/{build → dist/cjs}/utils/resourceLoaders/index.js +2 -2
- package/dist/mjs/TIIGenerator.d.ts +22 -0
- package/dist/mjs/TIIGenerator.js +225 -0
- package/dist/mjs/analytics/Analytics.d.ts +15 -0
- package/dist/mjs/analytics/Analytics.js +61 -0
- package/dist/mjs/analytics/AnalyticsError.d.ts +7 -0
- package/dist/mjs/analytics/AnalyticsError.js +8 -0
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.d.ts +18 -0
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.js +32 -0
- package/dist/mjs/analytics/eventProviders/EventProvider.d.ts +24 -0
- package/dist/mjs/analytics/eventProviders/EventProvider.js +22 -0
- package/dist/mjs/analytics/eventProviders/NodeEventProvider.d.ts +22 -0
- package/dist/mjs/analytics/eventProviders/NodeEventProvider.js +50 -0
- package/dist/mjs/analytics/transports/AxiosTransport.d.ts +4 -0
- package/dist/mjs/analytics/transports/AxiosTransport.js +31 -0
- package/dist/mjs/analytics/transports/FetchTransport.d.ts +4 -0
- package/dist/mjs/analytics/transports/FetchTransport.js +28 -0
- package/dist/mjs/analytics/types.d.ts +22 -0
- package/dist/mjs/analytics/types.js +2 -0
- package/dist/mjs/config.d.ts +4 -0
- package/dist/mjs/config.js +5 -0
- package/dist/mjs/connectors/BaseConnector.d.ts +36 -0
- package/dist/mjs/connectors/BaseConnector.js +34 -0
- package/dist/mjs/connectors/BlockchainConnector.d.ts +81 -0
- package/dist/mjs/connectors/BlockchainConnector.js +313 -0
- package/dist/mjs/connectors/BlockchainEventsListener.d.ts +15 -0
- package/dist/mjs/connectors/BlockchainEventsListener.js +75 -0
- package/dist/mjs/connectors/index.d.ts +2 -0
- package/dist/mjs/connectors/index.js +3 -0
- package/dist/mjs/constants.d.ts +13 -0
- package/dist/mjs/constants.js +14 -0
- package/dist/mjs/contracts/abi.d.ts +9842 -0
- package/dist/mjs/contracts/abi.js +12844 -0
- package/dist/mjs/crypto/Crypto.d.ts +54 -0
- package/dist/mjs/crypto/Crypto.js +95 -0
- package/dist/mjs/crypto/index.d.ts +2 -0
- package/dist/mjs/crypto/index.js +3 -0
- package/dist/mjs/crypto/nodejs/AES.d.ts +24 -0
- package/dist/mjs/crypto/nodejs/AES.js +74 -0
- package/dist/mjs/crypto/nodejs/ARIA.d.ts +24 -0
- package/dist/mjs/crypto/nodejs/ARIA.js +73 -0
- package/dist/mjs/crypto/nodejs/ECIES.d.ts +6 -0
- package/dist/mjs/crypto/nodejs/ECIES.js +51 -0
- package/dist/mjs/crypto/nodejs/NativeCrypto.d.ts +58 -0
- package/dist/mjs/crypto/nodejs/NativeCrypto.js +163 -0
- package/dist/mjs/crypto/nodejs/RSA-Hybrid.d.ts +15 -0
- package/dist/mjs/crypto/nodejs/RSA-Hybrid.js +89 -0
- package/dist/mjs/index.d.ts +80 -0
- package/dist/mjs/index.js +76 -0
- package/dist/mjs/logger.d.ts +7 -0
- package/dist/mjs/logger.js +7 -0
- package/dist/mjs/models/EtlModel.d.ts +34 -0
- package/dist/mjs/models/EtlModel.js +96 -0
- package/dist/mjs/models/Offer.d.ts +130 -0
- package/dist/mjs/models/Offer.js +356 -0
- package/dist/mjs/models/Order.d.ts +148 -0
- package/dist/mjs/models/Order.js +538 -0
- package/dist/mjs/models/Provider.d.ts +51 -0
- package/dist/mjs/models/Provider.js +114 -0
- package/dist/mjs/models/TCB.d.ts +58 -0
- package/dist/mjs/models/TCB.js +107 -0
- package/dist/mjs/models/TeeOffer.d.ts +204 -0
- package/dist/mjs/models/TeeOffer.js +533 -0
- package/dist/mjs/models/index.d.ts +5 -0
- package/dist/mjs/models/index.js +6 -0
- package/dist/mjs/package.json +1 -0
- package/dist/mjs/polyfills.d.ts +0 -0
- package/dist/mjs/polyfills.js +7 -0
- package/dist/mjs/proto/Compression.d.ts +36 -0
- package/dist/mjs/proto/Compression.js +123 -0
- package/dist/mjs/proto/TRI.d.ts +124 -0
- package/dist/mjs/proto/TRI.js +284 -0
- package/dist/mjs/proto/TeeProperties.d.ts +263 -0
- package/dist/mjs/proto/TeeProperties.js +391 -0
- package/dist/mjs/providers/storage/ChunksDownloadDecorator.d.ts +36 -0
- package/dist/mjs/providers/storage/ChunksDownloadDecorator.js +139 -0
- package/dist/mjs/providers/storage/IStorageProvider.d.ts +15 -0
- package/dist/mjs/providers/storage/IStorageProvider.js +2 -0
- package/dist/mjs/providers/storage/S3StorageProvider.d.ts +25 -0
- package/dist/mjs/providers/storage/S3StorageProvider.js +167 -0
- package/dist/mjs/providers/storage/StorageAdapter.d.ts +60 -0
- package/dist/mjs/providers/storage/StorageAdapter.js +271 -0
- package/dist/mjs/providers/storage/StorageContentWriter.d.ts +46 -0
- package/dist/mjs/providers/storage/StorageContentWriter.js +161 -0
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +23 -0
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +119 -0
- package/dist/mjs/providers/storage/StorageMetadataReader.d.ts +20 -0
- package/dist/mjs/providers/storage/StorageMetadataReader.js +51 -0
- package/dist/mjs/providers/storage/StorjAdapter.d.ts +19 -0
- package/dist/mjs/providers/storage/StorjAdapter.js +48 -0
- package/dist/mjs/providers/storage/StorjStorageProvider.d.ts +24 -0
- package/dist/mjs/providers/storage/StorjStorageProvider.js +139 -0
- package/dist/mjs/providers/storage/getStorageProvider.d.ts +4 -0
- package/dist/mjs/providers/storage/getStorageProvider.js +15 -0
- package/dist/mjs/providers/storage/types.d.ts +7 -0
- package/dist/mjs/providers/storage/types.js +2 -0
- package/dist/mjs/staticModels/ActiveOffers.d.ts +15 -0
- package/dist/mjs/staticModels/ActiveOffers.js +32 -0
- package/dist/mjs/staticModels/ActiveOrders.d.ts +20 -0
- package/dist/mjs/staticModels/ActiveOrders.js +71 -0
- package/dist/mjs/staticModels/Consensus.d.ts +42 -0
- package/dist/mjs/staticModels/Consensus.js +220 -0
- package/dist/mjs/staticModels/Deposits.d.ts +70 -0
- package/dist/mjs/staticModels/Deposits.js +190 -0
- package/dist/mjs/staticModels/Marks.d.ts +8 -0
- package/dist/mjs/staticModels/Marks.js +25 -0
- package/dist/mjs/staticModels/ModelPackager.d.ts +18 -0
- package/dist/mjs/staticModels/ModelPackager.js +45 -0
- package/dist/mjs/staticModels/Offers.d.ts +65 -0
- package/dist/mjs/staticModels/Offers.js +184 -0
- package/dist/mjs/staticModels/Orders.d.ts +155 -0
- package/dist/mjs/staticModels/Orders.js +499 -0
- package/dist/mjs/staticModels/ProviderRegistry.d.ts +74 -0
- package/dist/mjs/staticModels/ProviderRegistry.js +169 -0
- package/dist/mjs/staticModels/StaticModel.d.ts +8 -0
- package/dist/mjs/staticModels/StaticModel.js +30 -0
- package/dist/mjs/staticModels/Superpro.d.ts +16 -0
- package/dist/mjs/staticModels/Superpro.js +23 -0
- package/dist/mjs/staticModels/SuperproToken.d.ts +48 -0
- package/dist/mjs/staticModels/SuperproToken.js +136 -0
- package/dist/mjs/staticModels/TeeOffers.d.ts +115 -0
- package/dist/mjs/staticModels/TeeOffers.js +309 -0
- package/dist/mjs/store.d.ts +15 -0
- package/dist/mjs/store.js +15 -0
- package/dist/mjs/tee/QuoteParser.d.ts +27 -0
- package/dist/mjs/tee/QuoteParser.js +162 -0
- package/dist/mjs/tee/QuoteValidator.d.ts +38 -0
- package/dist/mjs/tee/QuoteValidator.js +384 -0
- package/dist/mjs/tee/errors.d.ts +6 -0
- package/dist/mjs/tee/errors.js +7 -0
- package/dist/mjs/tee/helpers.d.ts +14 -0
- package/dist/mjs/tee/helpers.js +115 -0
- package/dist/mjs/tee/interface.d.ts +63 -0
- package/dist/mjs/tee/interface.js +2 -0
- package/dist/mjs/tee/statuses.d.ts +21 -0
- package/dist/mjs/tee/statuses.js +25 -0
- package/dist/mjs/tee/types.d.ts +80 -0
- package/dist/mjs/tee/types.js +2 -0
- package/dist/mjs/types/Compressor.d.ts +5 -0
- package/dist/mjs/types/Compressor.js +2 -0
- package/dist/mjs/types/Consensus.d.ts +60 -0
- package/dist/mjs/types/Consensus.js +16 -0
- package/dist/mjs/types/DepositInfo.d.ts +6 -0
- package/dist/mjs/types/DepositInfo.js +2 -0
- package/dist/mjs/types/EtlModel.d.ts +2 -0
- package/dist/mjs/types/EtlModel.js +2 -0
- package/dist/mjs/types/Events.d.ts +34 -0
- package/dist/mjs/types/Events.js +2 -0
- package/dist/mjs/types/HardwareInfo.d.ts +6 -0
- package/dist/mjs/types/HardwareInfo.js +2 -0
- package/dist/mjs/types/Marks.d.ts +9 -0
- package/dist/mjs/types/Marks.js +7 -0
- package/dist/mjs/types/Offer.d.ts +33 -0
- package/dist/mjs/types/Offer.js +14 -0
- package/dist/mjs/types/OptionInfo.d.ts +8 -0
- package/dist/mjs/types/OptionInfo.js +2 -0
- package/dist/mjs/types/Order.d.ts +44 -0
- package/dist/mjs/types/Order.js +12 -0
- package/dist/mjs/types/OrderUsage.d.ts +26 -0
- package/dist/mjs/types/OrderUsage.js +2 -0
- package/dist/mjs/types/Origins.d.ts +6 -0
- package/dist/mjs/types/Origins.js +2 -0
- package/dist/mjs/types/Provider.d.ts +7 -0
- package/dist/mjs/types/Provider.js +2 -0
- package/dist/mjs/types/ResourceLoader.d.ts +28 -0
- package/dist/mjs/types/ResourceLoader.js +2 -0
- package/dist/mjs/types/SlotInfo.d.ts +6 -0
- package/dist/mjs/types/SlotInfo.js +2 -0
- package/dist/mjs/types/SlotUsage.d.ts +11 -0
- package/dist/mjs/types/SlotUsage.js +6 -0
- package/dist/mjs/types/Superpro.d.ts +9 -0
- package/dist/mjs/types/Superpro.js +11 -0
- package/dist/mjs/types/TeeOfferInfo.d.ts +10 -0
- package/dist/mjs/types/TeeOfferInfo.js +2 -0
- package/dist/mjs/types/TeeOfferOption.d.ts +13 -0
- package/dist/mjs/types/TeeOfferOption.js +2 -0
- package/dist/mjs/types/TeeOfferSlot.d.ts +8 -0
- package/dist/mjs/types/TeeOfferSlot.js +2 -0
- package/dist/mjs/types/ValueOfferSlot.d.ts +16 -0
- package/dist/mjs/types/ValueOfferSlot.js +2 -0
- package/dist/mjs/types/Web3.d.ts +62 -0
- package/dist/mjs/types/Web3.js +2 -0
- package/dist/mjs/types/blockchainConnector/StorageAccess.d.ts +8 -0
- package/dist/mjs/types/blockchainConnector/StorageAccess.js +2 -0
- package/dist/mjs/types/index.d.ts +22 -0
- package/dist/mjs/types/index.js +23 -0
- package/dist/mjs/types/storage/StorageAccess.d.ts +7 -0
- package/dist/mjs/types/storage/StorageAccess.js +2 -0
- package/dist/mjs/types/storage/StorageFileAccess.d.ts +5 -0
- package/dist/mjs/types/storage/StorageFileAccess.js +2 -0
- package/dist/mjs/types/storage/StorageObject.d.ts +8 -0
- package/dist/mjs/types/storage/StorageObject.js +2 -0
- package/dist/mjs/utils/Monitoring.d.ts +11 -0
- package/dist/mjs/utils/Monitoring.js +42 -0
- package/dist/mjs/utils/NonceTracker.d.ts +19 -0
- package/dist/mjs/utils/NonceTracker.js +73 -0
- package/dist/mjs/utils/PubSub.d.ts +9 -0
- package/dist/mjs/utils/PubSub.js +32 -0
- package/dist/mjs/utils/TxManager.d.ts +25 -0
- package/dist/mjs/utils/TxManager.js +162 -0
- package/dist/mjs/utils/compressors/GzipCompressor.d.ts +8 -0
- package/dist/mjs/utils/compressors/GzipCompressor.js +15 -0
- package/dist/mjs/utils/compressors/UncompressedCompressor.d.ts +8 -0
- package/dist/mjs/utils/compressors/UncompressedCompressor.js +13 -0
- package/dist/mjs/utils/compressors/index.d.ts +2 -0
- package/dist/mjs/utils/compressors/index.js +3 -0
- package/dist/mjs/utils/helper.d.ts +44 -0
- package/dist/mjs/utils/helper.js +258 -0
- package/dist/mjs/utils/helpers/getStreamChunks.d.ts +9 -0
- package/dist/mjs/utils/helpers/getStreamChunks.js +31 -0
- package/dist/mjs/utils/helpers/index.d.ts +1 -0
- package/dist/mjs/utils/helpers/index.js +2 -0
- package/dist/mjs/utils/helpers/tryWithInterval.d.ts +13 -0
- package/dist/mjs/utils/helpers/tryWithInterval.js +35 -0
- package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.d.ts +10 -0
- package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.js +10 -0
- package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.d.ts +18 -0
- package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.js +53 -0
- package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.d.ts +9 -0
- package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.js +44 -0
- package/dist/mjs/utils/resourceLoaders/getResourceLoader.d.ts +5 -0
- package/dist/mjs/utils/resourceLoaders/getResourceLoader.js +11 -0
- package/dist/mjs/utils/resourceLoaders/index.d.ts +1 -0
- package/dist/mjs/utils/resourceLoaders/index.js +2 -0
- package/package.json +16 -18
- package/build/TIIGenerator.js +0 -246
- package/build/analytics/Analytics.js +0 -74
- package/build/analytics/eventProviders/BrowserEventProvider.js +0 -32
- package/build/analytics/eventProviders/EventProvider.js +0 -14
- package/build/analytics/eventProviders/NodeEventProvider.js +0 -48
- package/build/analytics/transports/AxiosTransport.js +0 -72
- package/build/analytics/transports/FetchTransport.js +0 -42
- package/build/connectors/BaseConnector.js +0 -53
- package/build/connectors/BlockchainConnector.js +0 -358
- package/build/connectors/BlockchainEventsListener.js +0 -114
- package/build/crypto/Crypto.js +0 -119
- package/build/crypto/index.d.ts +0 -2
- package/build/crypto/nodejs/AES.js +0 -94
- package/build/crypto/nodejs/ARIA.js +0 -93
- package/build/crypto/nodejs/ECIES.js +0 -69
- package/build/crypto/nodejs/NativeCrypto.js +0 -183
- package/build/crypto/nodejs/RSA-Hybrid.js +0 -95
- package/build/index.d.ts +0 -79
- package/build/index.js +0 -142
- package/build/models/EtlModel.js +0 -138
- package/build/models/Offer.js +0 -407
- package/build/models/Order.js +0 -577
- package/build/models/Provider.js +0 -137
- package/build/models/TCB.js +0 -135
- package/build/models/TeeOffer.js +0 -600
- package/build/models/index.d.ts +0 -5
- package/build/models/index.js +0 -17
- package/build/polyfills.js +0 -7
- package/build/proto/Compression.js +0 -132
- package/build/proto/TRI.js +0 -293
- package/build/proto/TeeProperties.js +0 -401
- package/build/providers/storage/ChunksDownloadDecorator.js +0 -177
- package/build/providers/storage/S3StorageProvider.js +0 -219
- package/build/providers/storage/StorageAdapter.js +0 -323
- package/build/providers/storage/StorageContentWriter.js +0 -183
- package/build/providers/storage/StorageKeyValueAdapter.js +0 -158
- package/build/providers/storage/StorageMetadataReader.js +0 -68
- package/build/providers/storage/StorjAdapter.js +0 -74
- package/build/providers/storage/StorjStorageProvider.js +0 -207
- package/build/providers/storage/getStorageProvider.d.ts +0 -4
- package/build/providers/storage/getStorageProvider.js +0 -20
- package/build/staticModels/ActiveOffers.js +0 -52
- package/build/staticModels/ActiveOrders.js +0 -91
- package/build/staticModels/Consensus.js +0 -247
- package/build/staticModels/Deposits.js +0 -214
- package/build/staticModels/Marks.js +0 -43
- package/build/staticModels/ModelPackager.js +0 -62
- package/build/staticModels/Offers.js +0 -207
- package/build/staticModels/Orders.js +0 -518
- package/build/staticModels/ProviderRegistry.js +0 -192
- package/build/staticModels/StaticModel.js +0 -46
- package/build/staticModels/Superpro.js +0 -24
- package/build/staticModels/SuperproToken.js +0 -154
- package/build/staticModels/TeeOffers.js +0 -344
- package/build/store.js +0 -17
- package/build/tee/QuoteParser.js +0 -189
- package/build/tee/QuoteValidator.js +0 -414
- package/build/tee/helpers.js +0 -119
- package/build/types/HardwareInfo.d.ts +0 -6
- package/build/types/Offer.js +0 -17
- package/build/types/TeeOfferSlot.d.ts +0 -8
- package/build/types/index.d.ts +0 -22
- package/build/types/index.js +0 -39
- package/build/utils/Monitoring.js +0 -48
- package/build/utils/NonceTracker.js +0 -90
- package/build/utils/PubSub.js +0 -37
- package/build/utils/TxManager.js +0 -179
- package/build/utils/compressors/GzipCompressor.js +0 -29
- package/build/utils/compressors/UncompressedCompressor.js +0 -17
- package/build/utils/compressors/index.d.ts +0 -2
- package/build/utils/helper.js +0 -286
- package/build/utils/helpers/getStreamChunks.js +0 -74
- package/build/utils/helpers/index.d.ts +0 -1
- package/build/utils/helpers/tryWithInterval.js +0 -48
- package/build/utils/resourceLoaders/BaseResourceLoader.js +0 -51
- package/build/utils/resourceLoaders/StorageProviderLoader.js +0 -69
- package/build/utils/resourceLoaders/UrlResourceLoader.js +0 -64
- package/build/utils/resourceLoaders/getResourceLoader.js +0 -15
- package/build/utils/resourceLoaders/index.d.ts +0 -1
- /package/{build → dist/cjs}/analytics/AnalyticsError.d.ts +0 -0
- /package/{build → dist/cjs}/analytics/eventProviders/EventProvider.d.ts +0 -0
- /package/{build → dist/cjs}/config.d.ts +0 -0
- /package/{build → dist/cjs}/constants.d.ts +0 -0
- /package/{build → dist/cjs}/contracts/abi.d.ts +0 -0
- /package/{build → dist/cjs}/crypto/Crypto.d.ts +0 -0
- /package/{build → dist/cjs}/crypto/nodejs/AES.d.ts +0 -0
- /package/{build → dist/cjs}/crypto/nodejs/ARIA.d.ts +0 -0
- /package/{build → dist/cjs}/crypto/nodejs/ECIES.d.ts +0 -0
- /package/{build → dist/cjs}/crypto/nodejs/RSA-Hybrid.d.ts +0 -0
- /package/{build → dist/cjs}/logger.d.ts +0 -0
- /package/{build → dist/cjs}/polyfills.d.ts +0 -0
- /package/{build → dist/cjs}/providers/storage/types.d.ts +0 -0
- /package/{build → dist/cjs}/staticModels/ModelPackager.d.ts +0 -0
- /package/{build → dist/cjs}/store.d.ts +0 -0
- /package/{build → dist/cjs}/tee/errors.d.ts +0 -0
- /package/{build → dist/cjs}/tee/helpers.d.ts +0 -0
- /package/{build → dist/cjs}/tee/statuses.d.ts +0 -0
- /package/{build → dist/cjs}/types/Compressor.d.ts +0 -0
- /package/{build → dist/cjs}/types/EtlModel.d.ts +0 -0
- /package/{build → dist/cjs}/types/Marks.d.ts +0 -0
- /package/{build → dist/cjs}/types/OptionInfo.d.ts +0 -0
- /package/{build → dist/cjs}/types/Origins.d.ts +0 -0
- /package/{build → dist/cjs}/types/Provider.d.ts +0 -0
- /package/{build → dist/cjs}/types/SlotInfo.d.ts +0 -0
- /package/{build → dist/cjs}/types/Superpro.d.ts +0 -0
- /package/{build → dist/cjs}/types/Web3.d.ts +0 -0
- /package/{build → dist/cjs}/types/storage/StorageAccess.d.ts +0 -0
- /package/{build → dist/cjs}/types/storage/StorageObject.d.ts +0 -0
- /package/{build → dist/cjs}/utils/Monitoring.d.ts +0 -0
- /package/{build → dist/cjs}/utils/NonceTracker.d.ts +0 -0
- /package/{build → dist/cjs}/utils/PubSub.d.ts +0 -0
- /package/{build → dist/cjs}/utils/helpers/getStreamChunks.d.ts +0 -0
- /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,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVJJQS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vbm9kZWpzL0FSSUEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFHZixNQUFNLEdBRVAsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxNQUFNLElBQUk7SUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFlLEVBQUUsVUFBc0I7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNuRSxVQUFVLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQztRQUU3RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUUsT0FBTztZQUNMLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSTtZQUMxQixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7WUFDN0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUF5QztZQUM1RCxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVU7WUFDaEMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFHO1lBQ2pCLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBSTtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDL0IsV0FBdUIsRUFDdkIsWUFBeUIsRUFDekIsVUFBc0I7UUFFdEIsSUFBSSxDQUFDLFVBQVUs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
|
|
@@ -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;
|