@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,538 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { OrderStatus, } from '../types/index.js';
|
|
11
|
+
import rootLogger from '../logger.js';
|
|
12
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data, convertOrderUsage, formatUsage, incrementMethodCall, unpackSlotInfo, } from '../utils/helper.js';
|
|
13
|
+
import { formatBytes32String } from 'ethers/lib/utils.js';
|
|
14
|
+
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
15
|
+
import TeeOffers from '../staticModels/TeeOffers.js';
|
|
16
|
+
import TxManager from '../utils/TxManager.js';
|
|
17
|
+
import { tryWithInterval } from '../utils/helpers/index.js';
|
|
18
|
+
import { BLOCKCHAIN_CALL_RETRY_INTERVAL, BLOCKCHAIN_CALL_RETRY_ATTEMPTS } from '../constants.js';
|
|
19
|
+
class Order {
|
|
20
|
+
static contract;
|
|
21
|
+
logger;
|
|
22
|
+
selectedUsage;
|
|
23
|
+
orderInfo;
|
|
24
|
+
orderResult;
|
|
25
|
+
subOrders;
|
|
26
|
+
parentOrder;
|
|
27
|
+
consumer;
|
|
28
|
+
origins;
|
|
29
|
+
startDate;
|
|
30
|
+
id;
|
|
31
|
+
constructor(orderId) {
|
|
32
|
+
this.id = orderId;
|
|
33
|
+
if (!Order.contract) {
|
|
34
|
+
Order.contract = BlockchainConnector.getInstance().getContract();
|
|
35
|
+
}
|
|
36
|
+
this.logger = rootLogger.child({ className: 'Order', orderId: this.id });
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if order exist
|
|
40
|
+
*/
|
|
41
|
+
isExist() {
|
|
42
|
+
return Order.contract.methods.isOrderValid(this.id).call();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if order is in `processing` state
|
|
46
|
+
*/
|
|
47
|
+
isOrderProcessing() {
|
|
48
|
+
return Order.contract.methods.isOrderProcessing(this.id).call();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Function for fetching avaliable for unlock order profit.
|
|
52
|
+
*/
|
|
53
|
+
async isOrderProfitAvailable() {
|
|
54
|
+
const parsedResponse = await Order.contract.methods
|
|
55
|
+
.isOrderProfitAvailable(this.id)
|
|
56
|
+
.call()
|
|
57
|
+
.then((response) => cleanWeb3Data(response));
|
|
58
|
+
return parsedResponse.profit;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Function for fetching order price
|
|
62
|
+
*/
|
|
63
|
+
calculateCurrentPrice() {
|
|
64
|
+
return Order.contract.methods
|
|
65
|
+
.calculateOrderCurrentPrice(this.id)
|
|
66
|
+
.call()
|
|
67
|
+
.then((price) => price.toString());
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Function for fetching order info from blockchain
|
|
71
|
+
*/
|
|
72
|
+
async getOrderInfo() {
|
|
73
|
+
if (!(await this.checkIfOrderExistsWithInterval())) {
|
|
74
|
+
throw Error(`Order ${this.id} does not exist`);
|
|
75
|
+
}
|
|
76
|
+
const orderInfoParams = await Order.contract.methods.getOrder(this.id).call();
|
|
77
|
+
const orderArgs = await Order.contract.methods.getOrderArgs(this.id).call();
|
|
78
|
+
const orderInfo = {
|
|
79
|
+
...cleanWeb3Data(orderInfoParams[1]),
|
|
80
|
+
args: cleanWeb3Data(orderArgs),
|
|
81
|
+
status: orderInfoParams[1].status.toString(),
|
|
82
|
+
};
|
|
83
|
+
return (this.orderInfo = orderInfo);
|
|
84
|
+
}
|
|
85
|
+
async checkIfOrderExistsWithInterval() {
|
|
86
|
+
const offerExists = await tryWithInterval({
|
|
87
|
+
handler: () => this.isExist(),
|
|
88
|
+
checkResult: (exists) => {
|
|
89
|
+
if (!exists)
|
|
90
|
+
this.logger.debug(`Order ${this.id} exists: ${exists}`);
|
|
91
|
+
return { isResultOk: exists };
|
|
92
|
+
},
|
|
93
|
+
retryInterval: BLOCKCHAIN_CALL_RETRY_INTERVAL,
|
|
94
|
+
retryMax: BLOCKCHAIN_CALL_RETRY_ATTEMPTS,
|
|
95
|
+
});
|
|
96
|
+
return offerExists;
|
|
97
|
+
}
|
|
98
|
+
async getConsumer() {
|
|
99
|
+
const consumer = await Order.contract.methods.getOrder(this.id).call();
|
|
100
|
+
this.consumer = consumer[0];
|
|
101
|
+
return this.consumer;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Function for fetching order result from blockchain
|
|
105
|
+
*/
|
|
106
|
+
async getOrderResult() {
|
|
107
|
+
const orderResults = await Order.contract.methods.getOrder(this.id).call();
|
|
108
|
+
return (this.orderResult = cleanWeb3Data(orderResults[2]));
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Function for fetching sub orders from blockchain
|
|
112
|
+
*/
|
|
113
|
+
async getSubOrders() {
|
|
114
|
+
this.subOrders = await Order.contract.methods
|
|
115
|
+
.getOrderSubOrders(this.id)
|
|
116
|
+
.call()
|
|
117
|
+
.then((ids) => ids.map((id) => id.toString()));
|
|
118
|
+
return this.subOrders;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Function for fetching parent order from blockchain
|
|
122
|
+
*/
|
|
123
|
+
async getParentOrder() {
|
|
124
|
+
this.parentOrder = await Order.contract.methods
|
|
125
|
+
.getOrderParentOrder(this.id)
|
|
126
|
+
.call()
|
|
127
|
+
.then((id) => id.toString());
|
|
128
|
+
return this.parentOrder;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Function for fetching order options deposit spent from blockchain
|
|
132
|
+
*/
|
|
133
|
+
getOptionsDepositSpent() {
|
|
134
|
+
return Order.contract.methods
|
|
135
|
+
.getOptionsDepositSpent(this.id)
|
|
136
|
+
.call()
|
|
137
|
+
.then((price) => price.toString());
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Function for fetching order deposit spent from blockchain
|
|
141
|
+
*/
|
|
142
|
+
async getSelectedUsage() {
|
|
143
|
+
const coresDenominator = await TeeOffers.getDenominator();
|
|
144
|
+
const selectedUsageSlotInfo = await Order.contract.methods
|
|
145
|
+
.getOrderSelectedUsageSlotInfo(this.id)
|
|
146
|
+
.call()
|
|
147
|
+
.then((slotInfo) => cleanWeb3Data(slotInfo));
|
|
148
|
+
const selectedUsageSlotUsage = await Order.contract.methods
|
|
149
|
+
.getOrderSelectedUsageSlotUsage(this.id)
|
|
150
|
+
.call()
|
|
151
|
+
.then((slotUsage) => cleanWeb3Data(slotUsage));
|
|
152
|
+
this.selectedUsage = await Order.contract.methods
|
|
153
|
+
.getOrderSelectedUsage(this.id)
|
|
154
|
+
.call()
|
|
155
|
+
.then((selectedUsage) => convertOrderUsage(cleanWeb3Data(selectedUsage), unpackSlotInfo(selectedUsageSlotInfo, coresDenominator), formatUsage(selectedUsageSlotUsage)));
|
|
156
|
+
this.selectedUsage.optionsCount = this.selectedUsage.optionsCount.map((item) => Number(item));
|
|
157
|
+
this.selectedUsage.optionUsage = this.selectedUsage.optionUsage.map((usage) => formatUsage(usage));
|
|
158
|
+
return this.selectedUsage;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Function for fetching hold deposits sum of the order and its suborders
|
|
162
|
+
*/
|
|
163
|
+
calculateTotalOrderDeposit() {
|
|
164
|
+
return Order.contract.methods
|
|
165
|
+
.calculateTotalOrderDeposit(this.id)
|
|
166
|
+
.call()
|
|
167
|
+
.then((price) => price.toString());
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Function for fetching reserve for output order
|
|
171
|
+
*/
|
|
172
|
+
calculateOrderOutputReserve() {
|
|
173
|
+
return Order.contract.methods
|
|
174
|
+
.calculateOrderOutputReserve(this.id)
|
|
175
|
+
.call()
|
|
176
|
+
.then((price) => price.toString());
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Function for fetching spent deposits sum of the order and its suborders
|
|
180
|
+
*/
|
|
181
|
+
calculateTotalDepositSpent() {
|
|
182
|
+
return Order.contract.methods
|
|
183
|
+
.calculateTotalDepositSpent(this.id)
|
|
184
|
+
.call()
|
|
185
|
+
.then((price) => price.toString());
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Function for fetching unspent deposits sum of the order and its suborders
|
|
189
|
+
*/
|
|
190
|
+
calculateTotalDepositUnspent() {
|
|
191
|
+
return Order.contract.methods
|
|
192
|
+
.calculateTotalDepositUnspent(this.id)
|
|
193
|
+
.call()
|
|
194
|
+
.then((price) => price.toString());
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Fetch new Origins (createdDate, createdBy, modifiedDate and modifiedBy)
|
|
198
|
+
*/
|
|
199
|
+
async getOrigins() {
|
|
200
|
+
const origins = await Order.contract.methods
|
|
201
|
+
.getOrderOrigins(this.id)
|
|
202
|
+
.call()
|
|
203
|
+
.then((origins) => cleanWeb3Data(origins));
|
|
204
|
+
// Convert blockchain time seconds to js time milliseconds
|
|
205
|
+
origins.createdDate = Number(origins.createdDate) * 1000;
|
|
206
|
+
origins.modifiedDate = Number(origins.modifiedDate) * 1000;
|
|
207
|
+
return (this.origins = origins);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Function for fetching parent order from blockchain
|
|
211
|
+
*/
|
|
212
|
+
getAwaitingPayment() {
|
|
213
|
+
return Order.contract.methods.getAwaitingPayment(this.id).call();
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Function for fetching deposit of order from blockchain
|
|
217
|
+
*/
|
|
218
|
+
getDeposit() {
|
|
219
|
+
return Order.contract.methods
|
|
220
|
+
.getOrderDeposit(this.id)
|
|
221
|
+
.call()
|
|
222
|
+
.then((price) => price.toString());
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Function for fetching start of processing date
|
|
226
|
+
*/
|
|
227
|
+
async getStartDate() {
|
|
228
|
+
return Number(await Order.contract.methods.getStartDate(this.id).call());
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Function for fetching start of processing date
|
|
232
|
+
*/
|
|
233
|
+
async calculateOrderTime() {
|
|
234
|
+
return Number(await Order.contract.methods.calculateOrderTime(this.id).call());
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Function for fetching parent order from blockchain
|
|
238
|
+
*/
|
|
239
|
+
async setAwaitingPayment(value, transactionOptions) {
|
|
240
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
241
|
+
await TxManager.execute(Order.contract.methods.setAwaitingPayment(this.id, value), transactionOptions);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Sets options deposit spent
|
|
245
|
+
*/
|
|
246
|
+
async setOptionsDepositSpent(value, transactionOptions) {
|
|
247
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
248
|
+
await TxManager.execute(Order.contract.methods.setOptionsDepositSpent(this.id, value), transactionOptions);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Function for updating status of contract
|
|
252
|
+
*/
|
|
253
|
+
async updateStatus(status, transactionOptions) {
|
|
254
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
255
|
+
if (status === OrderStatus.Processing) {
|
|
256
|
+
await TxManager.execute(Order.contract.methods.processOrder(this.id), transactionOptions);
|
|
257
|
+
}
|
|
258
|
+
if (this.orderInfo)
|
|
259
|
+
this.orderInfo.status = status;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Function for updating status of contract
|
|
263
|
+
*/
|
|
264
|
+
async cancelOrder(transactionOptions) {
|
|
265
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
266
|
+
await TxManager.execute(Order.contract.methods.cancelOrder(this.id), transactionOptions);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Starts suspended order
|
|
270
|
+
*/
|
|
271
|
+
async start(transactionOptions) {
|
|
272
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
273
|
+
await TxManager.execute(Order.contract.methods.startOrder(this.id), transactionOptions);
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Updates order result
|
|
277
|
+
*/
|
|
278
|
+
async updateOrderResult(encryptedResult = '', transactionOptions) {
|
|
279
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
280
|
+
await TxManager.execute(Order.contract.methods.updateOrderResult(this.id, encryptedResult), transactionOptions);
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Completes order
|
|
284
|
+
*/
|
|
285
|
+
async complete(status, encryptedResult = '', transactionOptions) {
|
|
286
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
287
|
+
await TxManager.execute(Order.contract.methods.completeOrder(this.id, status, encryptedResult), transactionOptions);
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Unlocks profit
|
|
291
|
+
*/
|
|
292
|
+
async unlockProfit(transactionOptions) {
|
|
293
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
294
|
+
await TxManager.execute(Order.contract.methods.unlockProfit(this.id), transactionOptions);
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Function for creating sub orders for current order
|
|
298
|
+
* @param subOrderInfo - order info for new subOrder
|
|
299
|
+
* @param blockParentOrder - is sub order blocking
|
|
300
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
301
|
+
* @returns Promise<void> - Does not return id of created sub order!
|
|
302
|
+
*/
|
|
303
|
+
async createSubOrder(subOrderInfo, slots, blockParentOrder, deposit, transactionOptions, checkTxBeforeSend = false) {
|
|
304
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
305
|
+
deposit = deposit ?? '0';
|
|
306
|
+
const preparedInfo = {
|
|
307
|
+
...subOrderInfo,
|
|
308
|
+
externalId: formatBytes32String(subOrderInfo.externalId),
|
|
309
|
+
};
|
|
310
|
+
const params = {
|
|
311
|
+
blockParentOrder,
|
|
312
|
+
deposit,
|
|
313
|
+
};
|
|
314
|
+
const { args, ...restPreparedInfo } = preparedInfo;
|
|
315
|
+
if (checkTxBeforeSend) {
|
|
316
|
+
await TxManager.dryRun(Order.contract.methods.createSubOrder(this.id, {
|
|
317
|
+
...restPreparedInfo,
|
|
318
|
+
expectedPrice: restPreparedInfo.expectedPrice ?? '0',
|
|
319
|
+
maxPriceSlippage: restPreparedInfo.maxPriceSlippage ?? '0',
|
|
320
|
+
}, slots, args, params), transactionOptions);
|
|
321
|
+
}
|
|
322
|
+
await TxManager.execute(Order.contract.methods.createSubOrder(this.id, {
|
|
323
|
+
...restPreparedInfo,
|
|
324
|
+
expectedPrice: restPreparedInfo.expectedPrice ?? '0',
|
|
325
|
+
maxPriceSlippage: restPreparedInfo.maxPriceSlippage ?? '0',
|
|
326
|
+
}, slots, args, params), transactionOptions);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Function for creating pack of sub orders (wokflow) for current order
|
|
330
|
+
* @param subOrdersInfo - orders info for new subOrders
|
|
331
|
+
* @param transactionOptions - object what contains action account and web3 instance
|
|
332
|
+
* @returns {Promise<string[]>} - tx hashes
|
|
333
|
+
*/
|
|
334
|
+
async createSubOrders(subOrdersInfo, subOrdersSlots, transactionOptions) {
|
|
335
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
336
|
+
if (subOrdersInfo.length !== subOrdersSlots.length) {
|
|
337
|
+
throw Error('SDK: Invalid arguments, subOrdersSlots should be the same size as subOrdersInfo.');
|
|
338
|
+
}
|
|
339
|
+
const promises = [];
|
|
340
|
+
for (let orderInfoIndex = 0; orderInfoIndex < subOrdersInfo.length; orderInfoIndex++) {
|
|
341
|
+
const preparedInfo = {
|
|
342
|
+
...subOrdersInfo[orderInfoIndex],
|
|
343
|
+
externalId: formatBytes32String(subOrdersInfo[orderInfoIndex].externalId),
|
|
344
|
+
expectedPrice: subOrdersInfo[orderInfoIndex].expectedPrice ?? '0',
|
|
345
|
+
maxPriceSlippage: subOrdersInfo[orderInfoIndex].maxPriceSlippage ?? '0',
|
|
346
|
+
};
|
|
347
|
+
const params = {
|
|
348
|
+
blockParentOrder: subOrdersInfo[orderInfoIndex].blocking,
|
|
349
|
+
deposit: subOrdersInfo[orderInfoIndex].deposit,
|
|
350
|
+
};
|
|
351
|
+
const transactionCall = Order.contract.methods.createSubOrder(this.id, preparedInfo, subOrdersSlots[orderInfoIndex], preparedInfo.args, params);
|
|
352
|
+
promises.push(TxManager.execute(transactionCall, transactionOptions));
|
|
353
|
+
}
|
|
354
|
+
return (await Promise.all(promises)).map((tx) => tx.transactionHash);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Function for adding event listeners to contract events
|
|
358
|
+
* @param callback - function for processing each order related with event
|
|
359
|
+
* @returns unsubscribe - function unsubscribing from event
|
|
360
|
+
*/
|
|
361
|
+
onStatusUpdated(callback) {
|
|
362
|
+
const logger = this.logger.child({ method: 'onOrderStatusUpdated' });
|
|
363
|
+
// TODO: add ability to use this event without https provider initialization
|
|
364
|
+
const contractWss = BlockchainEventsListener.getInstance().getContract();
|
|
365
|
+
const subscription = contractWss.events.OrderStatusUpdated();
|
|
366
|
+
subscription.on('data', (event) => {
|
|
367
|
+
if (event.returnValues.orderId != this.id) {
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
const newStatus = event.returnValues.status?.toString();
|
|
371
|
+
if (this.orderInfo)
|
|
372
|
+
this.orderInfo.status = newStatus;
|
|
373
|
+
callback(newStatus);
|
|
374
|
+
});
|
|
375
|
+
subscription.on('error', (error) => {
|
|
376
|
+
logger.warn(error);
|
|
377
|
+
});
|
|
378
|
+
return () => subscription.unsubscribe();
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
__decorate([
|
|
382
|
+
incrementMethodCall(),
|
|
383
|
+
__metadata("design:type", Function),
|
|
384
|
+
__metadata("design:paramtypes", []),
|
|
385
|
+
__metadata("design:returntype", Promise)
|
|
386
|
+
], Order.prototype, "getOrderInfo", null);
|
|
387
|
+
__decorate([
|
|
388
|
+
incrementMethodCall(),
|
|
389
|
+
__metadata("design:type", Function),
|
|
390
|
+
__metadata("design:paramtypes", []),
|
|
391
|
+
__metadata("design:returntype", Promise)
|
|
392
|
+
], Order.prototype, "getConsumer", null);
|
|
393
|
+
__decorate([
|
|
394
|
+
incrementMethodCall(),
|
|
395
|
+
__metadata("design:type", Function),
|
|
396
|
+
__metadata("design:paramtypes", []),
|
|
397
|
+
__metadata("design:returntype", Promise)
|
|
398
|
+
], Order.prototype, "getOrderResult", null);
|
|
399
|
+
__decorate([
|
|
400
|
+
incrementMethodCall(),
|
|
401
|
+
__metadata("design:type", Function),
|
|
402
|
+
__metadata("design:paramtypes", []),
|
|
403
|
+
__metadata("design:returntype", Promise)
|
|
404
|
+
], Order.prototype, "getSubOrders", null);
|
|
405
|
+
__decorate([
|
|
406
|
+
incrementMethodCall(),
|
|
407
|
+
__metadata("design:type", Function),
|
|
408
|
+
__metadata("design:paramtypes", []),
|
|
409
|
+
__metadata("design:returntype", Promise)
|
|
410
|
+
], Order.prototype, "getParentOrder", null);
|
|
411
|
+
__decorate([
|
|
412
|
+
incrementMethodCall(),
|
|
413
|
+
__metadata("design:type", Function),
|
|
414
|
+
__metadata("design:paramtypes", []),
|
|
415
|
+
__metadata("design:returntype", Promise)
|
|
416
|
+
], Order.prototype, "getOptionsDepositSpent", null);
|
|
417
|
+
__decorate([
|
|
418
|
+
incrementMethodCall(),
|
|
419
|
+
__metadata("design:type", Function),
|
|
420
|
+
__metadata("design:paramtypes", []),
|
|
421
|
+
__metadata("design:returntype", Promise)
|
|
422
|
+
], Order.prototype, "getSelectedUsage", null);
|
|
423
|
+
__decorate([
|
|
424
|
+
incrementMethodCall(),
|
|
425
|
+
__metadata("design:type", Function),
|
|
426
|
+
__metadata("design:paramtypes", []),
|
|
427
|
+
__metadata("design:returntype", Promise)
|
|
428
|
+
], Order.prototype, "calculateTotalOrderDeposit", null);
|
|
429
|
+
__decorate([
|
|
430
|
+
incrementMethodCall(),
|
|
431
|
+
__metadata("design:type", Function),
|
|
432
|
+
__metadata("design:paramtypes", []),
|
|
433
|
+
__metadata("design:returntype", Promise)
|
|
434
|
+
], Order.prototype, "calculateOrderOutputReserve", null);
|
|
435
|
+
__decorate([
|
|
436
|
+
incrementMethodCall(),
|
|
437
|
+
__metadata("design:type", Function),
|
|
438
|
+
__metadata("design:paramtypes", []),
|
|
439
|
+
__metadata("design:returntype", Promise)
|
|
440
|
+
], Order.prototype, "calculateTotalDepositSpent", null);
|
|
441
|
+
__decorate([
|
|
442
|
+
incrementMethodCall(),
|
|
443
|
+
__metadata("design:type", Function),
|
|
444
|
+
__metadata("design:paramtypes", []),
|
|
445
|
+
__metadata("design:returntype", Promise)
|
|
446
|
+
], Order.prototype, "calculateTotalDepositUnspent", null);
|
|
447
|
+
__decorate([
|
|
448
|
+
incrementMethodCall(),
|
|
449
|
+
__metadata("design:type", Function),
|
|
450
|
+
__metadata("design:paramtypes", []),
|
|
451
|
+
__metadata("design:returntype", Promise)
|
|
452
|
+
], Order.prototype, "getOrigins", null);
|
|
453
|
+
__decorate([
|
|
454
|
+
incrementMethodCall(),
|
|
455
|
+
__metadata("design:type", Function),
|
|
456
|
+
__metadata("design:paramtypes", []),
|
|
457
|
+
__metadata("design:returntype", Promise)
|
|
458
|
+
], Order.prototype, "getAwaitingPayment", null);
|
|
459
|
+
__decorate([
|
|
460
|
+
incrementMethodCall(),
|
|
461
|
+
__metadata("design:type", Function),
|
|
462
|
+
__metadata("design:paramtypes", []),
|
|
463
|
+
__metadata("design:returntype", Promise)
|
|
464
|
+
], Order.prototype, "getDeposit", null);
|
|
465
|
+
__decorate([
|
|
466
|
+
incrementMethodCall(),
|
|
467
|
+
__metadata("design:type", Function),
|
|
468
|
+
__metadata("design:paramtypes", []),
|
|
469
|
+
__metadata("design:returntype", Promise)
|
|
470
|
+
], Order.prototype, "getStartDate", null);
|
|
471
|
+
__decorate([
|
|
472
|
+
incrementMethodCall(),
|
|
473
|
+
__metadata("design:type", Function),
|
|
474
|
+
__metadata("design:paramtypes", []),
|
|
475
|
+
__metadata("design:returntype", Promise)
|
|
476
|
+
], Order.prototype, "calculateOrderTime", null);
|
|
477
|
+
__decorate([
|
|
478
|
+
incrementMethodCall(),
|
|
479
|
+
__metadata("design:type", Function),
|
|
480
|
+
__metadata("design:paramtypes", [Boolean, Object]),
|
|
481
|
+
__metadata("design:returntype", Promise)
|
|
482
|
+
], Order.prototype, "setAwaitingPayment", null);
|
|
483
|
+
__decorate([
|
|
484
|
+
incrementMethodCall(),
|
|
485
|
+
__metadata("design:type", Function),
|
|
486
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
487
|
+
__metadata("design:returntype", Promise)
|
|
488
|
+
], Order.prototype, "setOptionsDepositSpent", null);
|
|
489
|
+
__decorate([
|
|
490
|
+
incrementMethodCall(),
|
|
491
|
+
__metadata("design:type", Function),
|
|
492
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
493
|
+
__metadata("design:returntype", Promise)
|
|
494
|
+
], Order.prototype, "updateStatus", null);
|
|
495
|
+
__decorate([
|
|
496
|
+
incrementMethodCall(),
|
|
497
|
+
__metadata("design:type", Function),
|
|
498
|
+
__metadata("design:paramtypes", [Object]),
|
|
499
|
+
__metadata("design:returntype", Promise)
|
|
500
|
+
], Order.prototype, "cancelOrder", null);
|
|
501
|
+
__decorate([
|
|
502
|
+
incrementMethodCall(),
|
|
503
|
+
__metadata("design:type", Function),
|
|
504
|
+
__metadata("design:paramtypes", [Object]),
|
|
505
|
+
__metadata("design:returntype", Promise)
|
|
506
|
+
], Order.prototype, "start", null);
|
|
507
|
+
__decorate([
|
|
508
|
+
incrementMethodCall(),
|
|
509
|
+
__metadata("design:type", Function),
|
|
510
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
511
|
+
__metadata("design:returntype", Promise)
|
|
512
|
+
], Order.prototype, "updateOrderResult", null);
|
|
513
|
+
__decorate([
|
|
514
|
+
incrementMethodCall(),
|
|
515
|
+
__metadata("design:type", Function),
|
|
516
|
+
__metadata("design:paramtypes", [String, Object, Object]),
|
|
517
|
+
__metadata("design:returntype", Promise)
|
|
518
|
+
], Order.prototype, "complete", null);
|
|
519
|
+
__decorate([
|
|
520
|
+
incrementMethodCall(),
|
|
521
|
+
__metadata("design:type", Function),
|
|
522
|
+
__metadata("design:paramtypes", [Object]),
|
|
523
|
+
__metadata("design:returntype", Promise)
|
|
524
|
+
], Order.prototype, "unlockProfit", null);
|
|
525
|
+
__decorate([
|
|
526
|
+
incrementMethodCall(),
|
|
527
|
+
__metadata("design:type", Function),
|
|
528
|
+
__metadata("design:paramtypes", [Object, Object, Boolean, String, Object, Object]),
|
|
529
|
+
__metadata("design:returntype", Promise)
|
|
530
|
+
], Order.prototype, "createSubOrder", null);
|
|
531
|
+
__decorate([
|
|
532
|
+
incrementMethodCall(),
|
|
533
|
+
__metadata("design:type", Function),
|
|
534
|
+
__metadata("design:paramtypes", [Array, Array, Object]),
|
|
535
|
+
__metadata("design:returntype", Promise)
|
|
536
|
+
], Order.prototype, "createSubOrders", null);
|
|
537
|
+
export default Order;
|
|
538
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFJTCxXQUFXLEdBWVosTUFBTSxtQkFBbUIsQ0FBQztBQUczQixPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFFdEMsT0FBTyxFQUNMLCtCQUErQixFQUMvQixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpHLE1BQU0sS0FBSztJQUNELE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBQ3RDLE1BQU0sQ0FBb0I7SUFFM0IsYUFBYSxDQUFjO0lBQzNCLFNBQVMsQ0FBYTtJQUN0QixXQUFXLENBQWU7SUFDMUIsU0FBUyxDQUFrQjtJQUMzQixXQUFXLENBQWdCO0lBQzNCLFFBQVEsQ0FBVTtJQUNsQixPQUFPLENBQVc7SUFDbEIsU0FBUyxDQUFVO0lBQ25CLEVBQUUsQ0FBZTtJQUV4QixZQUFZLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FB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
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ProviderInfo, Origins, TransactionOptions, BlockchainId, TokenAmount } from '../types/index.js';
|
|
2
|
+
declare class Provider {
|
|
3
|
+
private static contract;
|
|
4
|
+
providerInfo?: ProviderInfo;
|
|
5
|
+
violationRate?: bigint | string;
|
|
6
|
+
valueOffers?: BlockchainId[];
|
|
7
|
+
teeOffers?: BlockchainId[];
|
|
8
|
+
origins?: Origins;
|
|
9
|
+
providerId: string;
|
|
10
|
+
constructor(providerId: string);
|
|
11
|
+
modify(providerInfo: ProviderInfo, transactionOptions?: TransactionOptions): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Function for fetching provider info from blockchain
|
|
14
|
+
*/
|
|
15
|
+
getInfo(): Promise<ProviderInfo>;
|
|
16
|
+
/**
|
|
17
|
+
* Function for fetching provider authority address from blockchain
|
|
18
|
+
*/
|
|
19
|
+
getAuthority(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Function for fetching all value offers for this provider
|
|
22
|
+
*/
|
|
23
|
+
getValueOffers(): Promise<BlockchainId[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Function for fetching all TEE offers for this provider
|
|
26
|
+
*/
|
|
27
|
+
getTeeOffers(): Promise<BlockchainId[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Function for fetching violationRate for this provider
|
|
30
|
+
*/
|
|
31
|
+
getViolationRate(): Promise<bigint | string>;
|
|
32
|
+
/**
|
|
33
|
+
* Fetch new Origins (createdDate, createdBy, modifiedDate and modifiedBy)
|
|
34
|
+
*/
|
|
35
|
+
getOrigins(): Promise<Origins>;
|
|
36
|
+
/**
|
|
37
|
+
* Fetch calculation of required providers security deposit for offers,
|
|
38
|
+
* if additionalAmount is equal zero then deposit will be calculated for existing offers
|
|
39
|
+
* @param additionalAmount - number of tokens planned to be added and frozen as security deposit
|
|
40
|
+
* @returns required deposit
|
|
41
|
+
*/
|
|
42
|
+
getRequiredSecurityDeposit(additionalAmount?: TokenAmount): Promise<TokenAmount>;
|
|
43
|
+
/**
|
|
44
|
+
* Fetch provider security deposit by provider authority account
|
|
45
|
+
*/
|
|
46
|
+
getSecurityDeposit(): Promise<TokenAmount>;
|
|
47
|
+
isProviderBanned(): Promise<boolean>;
|
|
48
|
+
getOrdersLockedProfitList(): Promise<BlockchainId[]>;
|
|
49
|
+
getTcbLockedProfitList(): Promise<BlockchainId[]>;
|
|
50
|
+
}
|
|
51
|
+
export default Provider;
|