@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,169 @@
|
|
|
1
|
+
import rootLogger from '../logger.js';
|
|
2
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data } from '../utils/helper.js';
|
|
3
|
+
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
4
|
+
import TxManager from '../utils/TxManager.js';
|
|
5
|
+
class ProviderRegistry {
|
|
6
|
+
static logger = rootLogger.child({ className: 'ProviderRegistry' });
|
|
7
|
+
static providers;
|
|
8
|
+
/**
|
|
9
|
+
* Function for fetching list of all providers addresses
|
|
10
|
+
*/
|
|
11
|
+
static async getAllProviders() {
|
|
12
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
13
|
+
this.providers = await contract.methods.getProvidersAuths().call();
|
|
14
|
+
return this.providers;
|
|
15
|
+
}
|
|
16
|
+
static isProviderRegistered(providerAuthority) {
|
|
17
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
18
|
+
return contract.methods.isProviderRegistered(providerAuthority).call();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Refills security provider deposit
|
|
22
|
+
* Call this function with provider authority account (in transactionOptions)
|
|
23
|
+
* @param amount - amount of additional tokens
|
|
24
|
+
* @param recipient - target provider authority address
|
|
25
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
26
|
+
*/
|
|
27
|
+
static async refillSecurityDepositFor(amount, recipient, transactionOptions) {
|
|
28
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
29
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
30
|
+
await TxManager.execute(contract.methods.refillProviderSecurityDepoFor(recipient, amount), transactionOptions);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Reg new provider
|
|
34
|
+
* @param providerInfo - data of new provider
|
|
35
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
36
|
+
*/
|
|
37
|
+
static async registerProvider(providerInfo, transactionOptions) {
|
|
38
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
39
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
40
|
+
await TxManager.execute(contract.methods.registerProvider(providerInfo), transactionOptions);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Refills security deposit for provider
|
|
44
|
+
* Call this function with provider authority account (in transactionOptions)
|
|
45
|
+
* @param amount - amount of additional tokens
|
|
46
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
47
|
+
*/
|
|
48
|
+
static async refillSecurityDeposit(amount, transactionOptions) {
|
|
49
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
50
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
51
|
+
await TxManager.execute(contract.methods.refillProviderSecurityDepo(amount), transactionOptions);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Return security deposit for provider
|
|
55
|
+
* Call this function with provider authority account (in transactionOptions)
|
|
56
|
+
* @param amount - amount of tokens to return
|
|
57
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
58
|
+
*/
|
|
59
|
+
static async returnSecurityDeposit(amount, transactionOptions) {
|
|
60
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
61
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
62
|
+
await TxManager.execute(contract.methods.returnProviderSecurityDepo(amount), transactionOptions);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Function for adding event listeners on provider registered event in provider registry
|
|
66
|
+
* @param callback - function for processing new provider
|
|
67
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
68
|
+
*/
|
|
69
|
+
static onProviderRegistered(callback) {
|
|
70
|
+
const contract = BlockchainEventsListener.getInstance().getContract();
|
|
71
|
+
const logger = this.logger.child({ method: 'onProviderRegistered' });
|
|
72
|
+
const subscription = contract.events.ProviderRegistered();
|
|
73
|
+
subscription.on('data', (event) => {
|
|
74
|
+
callback(event.returnValues.auth, {
|
|
75
|
+
index: Number(event.blockNumber),
|
|
76
|
+
hash: event.blockHash,
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
subscription.on('error', (error) => {
|
|
80
|
+
logger.warn(error);
|
|
81
|
+
});
|
|
82
|
+
return () => subscription.unsubscribe();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Function for adding event listeners on provider modified event in provider registry
|
|
86
|
+
* @param callback - function for processing modified provider
|
|
87
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
88
|
+
*/
|
|
89
|
+
static onProviderModified(callback) {
|
|
90
|
+
const contract = BlockchainEventsListener.getInstance().getContract();
|
|
91
|
+
const logger = this.logger.child({ method: 'onProviderModified' });
|
|
92
|
+
const subscription = contract.events.ProviderModified();
|
|
93
|
+
subscription.on('data', (event) => {
|
|
94
|
+
callback(event.returnValues.auth, {
|
|
95
|
+
index: Number(event.blockNumber),
|
|
96
|
+
hash: event.blockHash,
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
subscription.on('error', (error) => {
|
|
100
|
+
logger.warn(error);
|
|
101
|
+
});
|
|
102
|
+
return () => subscription.unsubscribe();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Function for adding event listeners on provider violation rate incremented event in provider registry
|
|
106
|
+
* @param callback - function for processing new violation rate
|
|
107
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
108
|
+
*/
|
|
109
|
+
static onProviderViolationRateIncremented(callback) {
|
|
110
|
+
const contract = BlockchainEventsListener.getInstance().getContract();
|
|
111
|
+
const logger = this.logger.child({ method: 'onProviderViolationRateIncremented' });
|
|
112
|
+
const subscription = contract.events.ProviderViolationRateIncremented();
|
|
113
|
+
subscription.on('data', (event) => {
|
|
114
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
115
|
+
callback(parsedEvent.auth, parsedEvent.newViolationRate, {
|
|
116
|
+
index: Number(event.blockNumber),
|
|
117
|
+
hash: event.blockHash,
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
subscription.on('error', (error) => {
|
|
121
|
+
logger.warn(error);
|
|
122
|
+
});
|
|
123
|
+
return () => subscription.unsubscribe();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Function for adding event listeners on provider security deposit refilled event in provider registry
|
|
127
|
+
* @param callback - function for processing refilled security deposit
|
|
128
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
129
|
+
*/
|
|
130
|
+
static onProviderSecurityDepoRefilled(callback) {
|
|
131
|
+
const contract = BlockchainEventsListener.getInstance().getContract();
|
|
132
|
+
const logger = this.logger.child({ method: 'onProviderSecurityDepoRefilled' });
|
|
133
|
+
const subscription = contract.events.ProviderSecurityDepoRefilled();
|
|
134
|
+
subscription.on('data', (event) => {
|
|
135
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
136
|
+
callback(parsedEvent.auth, parsedEvent.amount, {
|
|
137
|
+
index: Number(event.blockNumber),
|
|
138
|
+
hash: event.blockHash,
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
subscription.on('error', (error) => {
|
|
142
|
+
logger.warn(error);
|
|
143
|
+
});
|
|
144
|
+
return () => subscription.unsubscribe();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Function for adding event listeners on provider security deposit unlocked event in provider registry
|
|
148
|
+
* @param callback - function for processing unlocked security deposit
|
|
149
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
150
|
+
*/
|
|
151
|
+
static onProviderSecurityDepoUnlocked(callback) {
|
|
152
|
+
const contract = BlockchainEventsListener.getInstance().getContract();
|
|
153
|
+
const logger = this.logger.child({ method: 'onProviderSecurityDepoUnlocked' });
|
|
154
|
+
const subscription = contract.events.ProviderSecurityDepoUnlocked();
|
|
155
|
+
subscription.on('data', (event) => {
|
|
156
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
157
|
+
callback(parsedEvent.auth, parsedEvent.amount, {
|
|
158
|
+
index: Number(event.blockNumber),
|
|
159
|
+
hash: parsedEvent.blockHash,
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
subscription.on('error', (error) => {
|
|
163
|
+
logger.warn(error);
|
|
164
|
+
});
|
|
165
|
+
return () => subscription.unsubscribe();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
export default ProviderRegistry;
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXJSZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWNNb2RlbHMvUHJvdmlkZXJSZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLCtCQUErQixFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBRTlDLE1BQU0sZ0JBQWdCO0lBQ1osTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUU5RSxNQUFNLENBQUMsU0FBUyxDQUFZO0lBRW5DOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFbkUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQUMsaUJBQXlCO1FBQzFELE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ContractEvents } from 'web3';
|
|
2
|
+
import { FilterWithExternalId } from '../types/index.js';
|
|
3
|
+
import abi from '../contracts/abi.js';
|
|
4
|
+
declare class StaticModel {
|
|
5
|
+
private static readonly logger;
|
|
6
|
+
static findItemsById(eventName: keyof ContractEvents<typeof abi>, filter: FilterWithExternalId, fromBlock?: number | string, toBlock?: number | string): Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
export default StaticModel;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { formatBytes32String, parseBytes32String } from 'ethers/lib/utils.js';
|
|
2
|
+
import BlockchainConnector from '../connectors/BlockchainConnector.js';
|
|
3
|
+
import rootLogger from '../logger.js';
|
|
4
|
+
import { cleanWeb3Data, isValidBytes32Hex } from '../utils/helper.js';
|
|
5
|
+
class StaticModel {
|
|
6
|
+
static logger = rootLogger.child({ className: 'Offers' });
|
|
7
|
+
static async findItemsById(eventName, filter, fromBlock, toBlock) {
|
|
8
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
9
|
+
const options = { filter };
|
|
10
|
+
if (!isValidBytes32Hex(filter.externalId)) {
|
|
11
|
+
options.filter.externalId = formatBytes32String(filter.externalId);
|
|
12
|
+
}
|
|
13
|
+
if (fromBlock)
|
|
14
|
+
options.fromBlock = fromBlock;
|
|
15
|
+
if (toBlock)
|
|
16
|
+
options.toBlock = toBlock;
|
|
17
|
+
const foundIds = await contract.getPastEvents(eventName, options);
|
|
18
|
+
if (!foundIds.length) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
if (foundIds.length > 1) {
|
|
22
|
+
StaticModel.logger.warn({ eventName, foundIds }, `More than one item found, please refine your filters!`);
|
|
23
|
+
}
|
|
24
|
+
const parsedEvent = cleanWeb3Data(foundIds[0].returnValues);
|
|
25
|
+
parsedEvent.externalId = parseBytes32String(parsedEvent.externalId);
|
|
26
|
+
return parsedEvent;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export default StaticModel;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGljTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL1N0YXRpY01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlFLE9BQU8sbUJBQW1CLE1BQU0sc0NBQXNDLENBQUM7QUFFdkUsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVF0RSxNQUFNLFdBQVc7SUFDUCxNQUFNLENBQVUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUVwRSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDL0IsU0FBMkMsRUFDM0MsTUFBNEIsRUFDNUIsU0FBMkIsRUFDM0IsT0FBeUI7UUFFekIsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsTUFBTSxPQUFPLEdBQWlCLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sQ0FBQyxNQUFPLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsSUFBSSxTQUFTO1lBQUUsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0MsSUFBSSxPQUFPO1lBQUUsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkMsTUFBTSxRQUFRLEdBQUcsTUFBTSxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDckIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQ3ZCLHVEQUF1RCxDQUN4RCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FDOUIsUUFBUSxDQUFDLENBQUMsQ0FBYyxDQUFDLFlBQTZCLENBQ3BCLENBQUM7UUFDdEMsV0FBVyxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEUsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7QUFHSCxlQUFlLFdBQVcsQ0FBQyJ9
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ParamName } from '../types/index.js';
|
|
2
|
+
import { Contract } from 'web3';
|
|
3
|
+
import abi from '../contracts/abi.js';
|
|
4
|
+
declare class Superpro {
|
|
5
|
+
static address: string;
|
|
6
|
+
/**
|
|
7
|
+
* Fetching address of contract by name
|
|
8
|
+
*/
|
|
9
|
+
static getContractAddress(): string;
|
|
10
|
+
static getTokenAddress(contractInstance?: Contract<typeof abi>): Promise<string>;
|
|
11
|
+
/**
|
|
12
|
+
* Fetching config parameter value by name
|
|
13
|
+
*/
|
|
14
|
+
static getParam(name: ParamName): Promise<string>;
|
|
15
|
+
}
|
|
16
|
+
export default Superpro;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BlockchainConnector } from '../connectors/index.js';
|
|
2
|
+
class Superpro {
|
|
3
|
+
static address;
|
|
4
|
+
/**
|
|
5
|
+
* Fetching address of contract by name
|
|
6
|
+
*/
|
|
7
|
+
static getContractAddress() {
|
|
8
|
+
return this.address;
|
|
9
|
+
}
|
|
10
|
+
static getTokenAddress(contractInstance) {
|
|
11
|
+
const contract = contractInstance || BlockchainConnector.getInstance().getContract();
|
|
12
|
+
return contract.methods.getToken().call();
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Fetching config parameter value by name
|
|
16
|
+
*/
|
|
17
|
+
static getParam(name) {
|
|
18
|
+
const contract = BlockchainConnector.getInstance().getContract();
|
|
19
|
+
return contract.methods.getConfigParam(name).call();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export default Superpro;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJwcm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL1N1cGVycHJvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTdELE1BQU0sUUFBUTtJQUNMLE1BQU0sQ0FBQyxPQUFPLENBQVM7SUFFOUI7O09BRUc7SUFDSSxNQUFNLENBQUMsa0JBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBdUM7UUFDbkUsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLElBQUksbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFckYsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBZTtRQUNwQyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqRSxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQUVELGVBQWUsUUFBUSxDQUFDIn0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Transaction } from 'web3';
|
|
2
|
+
import { TransactionOptions, BlockInfo, TokenAmount } from '../types/index.js';
|
|
3
|
+
declare class SuperproToken {
|
|
4
|
+
private static _addressHttps;
|
|
5
|
+
private static _addressWss;
|
|
6
|
+
private static contractHttps?;
|
|
7
|
+
private static contractWss?;
|
|
8
|
+
private static readonly logger;
|
|
9
|
+
static get addressHttps(): string;
|
|
10
|
+
static set addressHttps(newAddress: string);
|
|
11
|
+
static get addressWss(): string;
|
|
12
|
+
static set addressWss(newAddress: string);
|
|
13
|
+
/**
|
|
14
|
+
* Checks if contract has been initialized, if not - initialize contract
|
|
15
|
+
*/
|
|
16
|
+
private static checkInit;
|
|
17
|
+
/**
|
|
18
|
+
* Checks if contract has been initialized with socket support
|
|
19
|
+
*/
|
|
20
|
+
private static checkWssInit;
|
|
21
|
+
/**
|
|
22
|
+
* Fetching balance of SuperProtocol tokens on address
|
|
23
|
+
*/
|
|
24
|
+
static balanceOf(address: string): Promise<TokenAmount>;
|
|
25
|
+
/**
|
|
26
|
+
* Fetching allowance of SuperProtocol tokens on address
|
|
27
|
+
*/
|
|
28
|
+
static allowance(from: string, to: string): Promise<TokenAmount>;
|
|
29
|
+
/**
|
|
30
|
+
* Transfers specific amount of SP tokens to specific address
|
|
31
|
+
* @param to - address to revive tokens
|
|
32
|
+
* @param amount - amount of tokens to transfer
|
|
33
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
34
|
+
*/
|
|
35
|
+
static transfer(to: string, amount: TokenAmount, transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<Transaction>;
|
|
36
|
+
/**
|
|
37
|
+
* Approve tokens for specific address
|
|
38
|
+
* @param address - address for approval
|
|
39
|
+
* @param amount - number of tokens to be approved
|
|
40
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
41
|
+
*/
|
|
42
|
+
static approve(address: string, amount: TokenAmount, transactionOptions?: TransactionOptions, checkTxBeforeSend?: boolean): Promise<void>;
|
|
43
|
+
static onTokenApprove(callback: onTokenApproveCallback, owner?: string, spender?: string): () => void;
|
|
44
|
+
static onTokenTransfer(callback: onTokenTransferCallback, from?: string, to?: string): () => void;
|
|
45
|
+
}
|
|
46
|
+
export type onTokenApproveCallback = (owner: string, spender: string, value: TokenAmount, block?: BlockInfo) => void;
|
|
47
|
+
export type onTokenTransferCallback = (from: string, to: string, value: TokenAmount, block?: BlockInfo) => void;
|
|
48
|
+
export default SuperproToken;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import rootLogger from '../logger.js';
|
|
2
|
+
import { abi } from '../contracts/abi.js';
|
|
3
|
+
import store from '../store.js';
|
|
4
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data, convertBigIntToString, } from '../utils/helper.js';
|
|
5
|
+
import TxManager from '../utils/TxManager.js';
|
|
6
|
+
class SuperproToken {
|
|
7
|
+
static _addressHttps;
|
|
8
|
+
static _addressWss;
|
|
9
|
+
static contractHttps;
|
|
10
|
+
static contractWss;
|
|
11
|
+
static logger = rootLogger.child({ className: 'SuperproToken' });
|
|
12
|
+
static get addressHttps() {
|
|
13
|
+
return SuperproToken._addressHttps;
|
|
14
|
+
}
|
|
15
|
+
static set addressHttps(newAddress) {
|
|
16
|
+
SuperproToken._addressHttps = newAddress;
|
|
17
|
+
SuperproToken.contractHttps = new store.web3Https.eth.Contract(abi, newAddress, {
|
|
18
|
+
provider: store.web3Https.currentProvider,
|
|
19
|
+
config: { contractDataInputFill: 'data' },
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
static get addressWss() {
|
|
23
|
+
return SuperproToken._addressWss;
|
|
24
|
+
}
|
|
25
|
+
static set addressWss(newAddress) {
|
|
26
|
+
SuperproToken._addressWss = newAddress;
|
|
27
|
+
SuperproToken.contractWss = new store.web3Wss.eth.Contract(abi, newAddress, {
|
|
28
|
+
provider: store.web3Wss.currentProvider,
|
|
29
|
+
config: { contractDataInputFill: 'data' },
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Checks if contract has been initialized, if not - initialize contract
|
|
34
|
+
*/
|
|
35
|
+
static checkInit() {
|
|
36
|
+
if (!SuperproToken.contractHttps) {
|
|
37
|
+
throw Error(`SuperproToken must be initialized before it can be used`);
|
|
38
|
+
}
|
|
39
|
+
return SuperproToken.contractHttps;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Checks if contract has been initialized with socket support
|
|
43
|
+
*/
|
|
44
|
+
static checkWssInit() {
|
|
45
|
+
return SuperproToken.contractWss;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Fetching balance of SuperProtocol tokens on address
|
|
49
|
+
*/
|
|
50
|
+
static async balanceOf(address) {
|
|
51
|
+
this.checkInit();
|
|
52
|
+
return convertBigIntToString(await this.contractHttps.methods.balanceOf(address).call());
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Fetching allowance of SuperProtocol tokens on address
|
|
56
|
+
*/
|
|
57
|
+
static async allowance(from, to) {
|
|
58
|
+
this.checkInit();
|
|
59
|
+
return convertBigIntToString(await this.contractHttps.methods.allowance(from, to).call());
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Transfers specific amount of SP tokens to specific address
|
|
63
|
+
* @param to - address to revive tokens
|
|
64
|
+
* @param amount - amount of tokens to transfer
|
|
65
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
66
|
+
*/
|
|
67
|
+
static async transfer(to, amount, transactionOptions, checkTxBeforeSend = false) {
|
|
68
|
+
const contract = this.checkInit();
|
|
69
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
70
|
+
if (checkTxBeforeSend) {
|
|
71
|
+
await TxManager.dryRun(contract.methods.transfer(to, amount), transactionOptions);
|
|
72
|
+
}
|
|
73
|
+
const receipt = await TxManager.execute(contract.methods.transfer(to, amount), transactionOptions, SuperproToken.addressHttps);
|
|
74
|
+
return store.web3Https.eth.getTransaction(receipt.transactionHash);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Approve tokens for specific address
|
|
78
|
+
* @param address - address for approval
|
|
79
|
+
* @param amount - number of tokens to be approved
|
|
80
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
81
|
+
*/
|
|
82
|
+
static async approve(address, amount, transactionOptions, checkTxBeforeSend = false) {
|
|
83
|
+
const contract = this.checkInit();
|
|
84
|
+
checkIfActionAccountInitialized(transactionOptions);
|
|
85
|
+
if (checkTxBeforeSend) {
|
|
86
|
+
await TxManager.dryRun(contract.methods.approve(address, amount), transactionOptions);
|
|
87
|
+
}
|
|
88
|
+
await TxManager.execute(contract.methods.approve(address, amount), transactionOptions, SuperproToken.addressHttps);
|
|
89
|
+
}
|
|
90
|
+
static onTokenApprove(callback, owner, spender) {
|
|
91
|
+
const contract = this.checkWssInit();
|
|
92
|
+
const logger = this.logger.child({ method: 'onTokenApprove' });
|
|
93
|
+
const subscription = contract.events.Approval();
|
|
94
|
+
subscription.on('data', (event) => {
|
|
95
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
96
|
+
if (owner && parsedEvent.owner != owner) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
if (spender && parsedEvent.spender != spender) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
callback(parsedEvent.owner, parsedEvent.spender, parsedEvent.value, {
|
|
103
|
+
index: Number(event.blockNumber),
|
|
104
|
+
hash: event.blockHash,
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
subscription.on('error', (error) => {
|
|
108
|
+
logger.warn(error);
|
|
109
|
+
});
|
|
110
|
+
return () => subscription.unsubscribe();
|
|
111
|
+
}
|
|
112
|
+
static onTokenTransfer(callback, from, to) {
|
|
113
|
+
const contract = this.checkWssInit();
|
|
114
|
+
const logger = this.logger.child({ method: 'onTokenTransfer' });
|
|
115
|
+
const subscription = contract.events.Transfer();
|
|
116
|
+
subscription.on('data', (event) => {
|
|
117
|
+
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
118
|
+
if (from && parsedEvent.from != from) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (to && parsedEvent.to != to) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
callback(parsedEvent.from, parsedEvent.to, parsedEvent.value, {
|
|
125
|
+
index: Number(event.blockNumber),
|
|
126
|
+
hash: event.blockHash,
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
subscription.on('error', (error) => {
|
|
130
|
+
logger.warn(error);
|
|
131
|
+
});
|
|
132
|
+
return () => subscription.unsubscribe();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export default SuperproToken;
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJwcm9Ub2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWNNb2RlbHMvU3VwZXJwcm9Ub2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixxQkFBcUIsR0FDdEIsTUFBTSxvQkFBb0IsQ0FBQztBQUc1QixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUU5QyxNQUFNLGFBQWE7SUFDVCxNQUFNLENBQUMsYUFBYSxDQUFTO0lBQzdCLE1BQU0sQ0FBQyxXQUFXLENBQVM7SUFDM0IsTUFBTSxDQUFDLGFBQWEsQ0FBd0I7SUFDNUMsTUFBTSxDQUFDLFdBQVcsQ0FBd0I7SUFDMUMsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFFM0UsTUFBTSxLQUFLLFlBQVk7UUFDNUIsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxNQUFNLEtBQUssWUFBWSxDQUFDLFVBQWtCO1FBQy9DLGFBQWEsQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLGFBQWEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRTtZQUMvRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFNBQVUsQ0FBQyxlQUFlO1lBQzFDLE1BQU0sRUFBRSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRTtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxLQUFLLFVBQVU7UUFDMUIs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
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { BlockInfo, TransactionOptions, HardwareInfo, TeeOfferInfo, OfferCreatedEvent, OptionAddedEvent, TeeSlotAddedEvent, TeeOfferOption, BlockchainId } from '../types/index.js';
|
|
2
|
+
declare class TeeOffers {
|
|
3
|
+
private static coresDenominator?;
|
|
4
|
+
private static readonly logger;
|
|
5
|
+
static teeOffers: BlockchainId[];
|
|
6
|
+
static get address(): string;
|
|
7
|
+
static packHardwareInfo(hw: HardwareInfo): Promise<HardwareInfo>;
|
|
8
|
+
static unpackHardwareInfo(hw: HardwareInfo): Promise<HardwareInfo>;
|
|
9
|
+
static getDenominator(): Promise<number>;
|
|
10
|
+
/**
|
|
11
|
+
* Function for fetching list of all TEE offers addresses
|
|
12
|
+
*/
|
|
13
|
+
static getAll(): Promise<BlockchainId[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates new TEE offer
|
|
16
|
+
* @param providerAuthorityAccount - address of authority account of provider
|
|
17
|
+
* @param teeOfferInfo - data of new TEE offer
|
|
18
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
19
|
+
*/
|
|
20
|
+
static create(providerAuthorityAccount: string, teeOfferInfo: TeeOfferInfo, externalId?: string, enabled?: boolean, transactionOptions?: TransactionOptions): Promise<void>;
|
|
21
|
+
static getByExternalId(filter: {
|
|
22
|
+
externalId: string;
|
|
23
|
+
creator?: string;
|
|
24
|
+
}, fromBlock?: number | string, toBlock?: number | string): Promise<OfferCreatedEvent | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Function for fetching TEE offer id by TEE deviceId
|
|
27
|
+
* @param deviceId - unque TEE device id (unparsed, from blockchain)
|
|
28
|
+
* @returns TEE offer id
|
|
29
|
+
*/
|
|
30
|
+
static getByDeviceId(deviceId: string): Promise<BlockchainId>;
|
|
31
|
+
/**
|
|
32
|
+
* Function for fetching total count of tee offer slots
|
|
33
|
+
*/
|
|
34
|
+
static getSlotsCount(): Promise<number>;
|
|
35
|
+
/**
|
|
36
|
+
* Function for fetching whether tee offer option exists or not
|
|
37
|
+
* @param optionId - Option ID
|
|
38
|
+
*/
|
|
39
|
+
static isOptionExists(optionId: BlockchainId): Promise<boolean>;
|
|
40
|
+
/**
|
|
41
|
+
* Function for fetching total count of options
|
|
42
|
+
*/
|
|
43
|
+
static getOptionsCount(): Promise<number>;
|
|
44
|
+
/**
|
|
45
|
+
* Function for fetching tee offer option by id
|
|
46
|
+
* @param optionId - Option ID
|
|
47
|
+
*/
|
|
48
|
+
static getOptionById(optionId: BlockchainId): Promise<TeeOfferOption>;
|
|
49
|
+
static getSlotByExternalId(filter: {
|
|
50
|
+
externalId: string;
|
|
51
|
+
creator?: string;
|
|
52
|
+
offerId?: BlockchainId;
|
|
53
|
+
}, fromBlock?: number | string, toBlock?: number | string): Promise<TeeSlotAddedEvent | null>;
|
|
54
|
+
static getOptionByExternalId(filter: {
|
|
55
|
+
externalId: string;
|
|
56
|
+
creator?: string;
|
|
57
|
+
teeOfferId?: BlockchainId;
|
|
58
|
+
}, fromBlock?: number | string, toBlock?: number | string): Promise<OptionAddedEvent | null>;
|
|
59
|
+
/**
|
|
60
|
+
* Function for adding event listeners on onSlotAdded event in contract
|
|
61
|
+
* @param creator - creator address
|
|
62
|
+
* @param callback - function for processing created order
|
|
63
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
64
|
+
*/
|
|
65
|
+
static onSlotAdded(callback: onTeeSlotAddedCallback, creator?: string): () => void;
|
|
66
|
+
/**
|
|
67
|
+
* Function for adding event listeners on onSlotUpdated event in contract
|
|
68
|
+
* @param callback - function for processing created order
|
|
69
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
70
|
+
*/
|
|
71
|
+
static onSlotUpdated(callback: onTeeSlotUpdatedCallback): () => void;
|
|
72
|
+
/**
|
|
73
|
+
* Function for adding event listeners on onSlotDeleted event in contract
|
|
74
|
+
* @param callback - function for processing created order
|
|
75
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
76
|
+
*/
|
|
77
|
+
static onSlotDeleted(callback: onTeeSlotDeletedCallback): () => void;
|
|
78
|
+
/**
|
|
79
|
+
* Function for adding event listeners on OptionAdded event in contract
|
|
80
|
+
* @param creator - creator address
|
|
81
|
+
* @param callback - function for processing created order
|
|
82
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
83
|
+
*/
|
|
84
|
+
static onOptionAdded(callback: onTeeOptionAddedCallback, creator?: string): () => void;
|
|
85
|
+
/**
|
|
86
|
+
* Function for adding event listeners on OptionUpdated event in contract
|
|
87
|
+
* @param teeOfferId - tee offer id
|
|
88
|
+
* @param callback - function for processing created order
|
|
89
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
90
|
+
*/
|
|
91
|
+
static onOptionUpdated(callback: onTeeOptionUpdatedCallback, teeOfferId?: BlockchainId): () => void;
|
|
92
|
+
/**
|
|
93
|
+
* Function for adding event listeners on OptionDeleted event in contract
|
|
94
|
+
* @param teeOfferId - tee offer id
|
|
95
|
+
* @param callback - function for processing created order
|
|
96
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
97
|
+
*/
|
|
98
|
+
static onOptionDeleted(callback: onTeeOptionDeletedCallback, teeOfferId?: BlockchainId): () => void;
|
|
99
|
+
/**
|
|
100
|
+
* Function for adding event listeners on TEE offer created event in TEE offers factory contract
|
|
101
|
+
* @param callback - function for processing created TEE offer
|
|
102
|
+
* @returns unsubscribe - unsubscribe function from event
|
|
103
|
+
*/
|
|
104
|
+
static onCreated(callback: onTeeOfferCreatedCallback): () => void;
|
|
105
|
+
static onViolationRateChanged(callback: onTeeViolationRateChangedCallback): () => void;
|
|
106
|
+
}
|
|
107
|
+
export type onTeeOfferCreatedCallback = (offerId: BlockchainId, creator: string, externalId: string, block?: BlockInfo) => void;
|
|
108
|
+
export type onTeeViolationRateChangedCallback = (offerId: BlockchainId, providerAuth: string, violationRate: bigint | string, block?: BlockInfo) => void;
|
|
109
|
+
export type onTeeOptionAddedCallback = (creator: string, teeOfferId: BlockchainId, optionId: BlockchainId, externalId: string, block?: BlockInfo) => void;
|
|
110
|
+
export type onTeeOptionUpdatedCallback = (teeOfferId: BlockchainId, optionId: BlockchainId, block?: BlockInfo) => void;
|
|
111
|
+
export type onTeeOptionDeletedCallback = (teeOfferId: BlockchainId, optionId: BlockchainId, block?: BlockInfo) => void;
|
|
112
|
+
export type onTeeSlotAddedCallback = (creator: string, offerId: BlockchainId, slotId: BlockchainId, externalId: string, block?: BlockInfo) => void;
|
|
113
|
+
export type onTeeSlotUpdatedCallback = (offerId: BlockchainId, slotId: BlockchainId, block?: BlockInfo) => void;
|
|
114
|
+
export type onTeeSlotDeletedCallback = (offerId: BlockchainId, slotId: BlockchainId, block?: BlockInfo) => void;
|
|
115
|
+
export default TeeOffers;
|