@super-protocol/sdk-js 2.1.4-beta.9 → 2.1.6-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. package/{build → dist/cjs}/TIIGenerator.d.ts +4 -6
  2. package/dist/cjs/TIIGenerator.js +232 -0
  3. package/{build → dist/cjs}/analytics/Analytics.d.ts +2 -2
  4. package/dist/cjs/analytics/Analytics.js +67 -0
  5. package/{build → dist/cjs}/analytics/AnalyticsError.js +2 -1
  6. package/{build → dist/cjs}/analytics/eventProviders/BrowserEventProvider.d.ts +1 -1
  7. package/dist/cjs/analytics/eventProviders/BrowserEventProvider.js +38 -0
  8. package/dist/cjs/analytics/eventProviders/EventProvider.js +25 -0
  9. package/{build → dist/cjs}/analytics/eventProviders/NodeEventProvider.d.ts +1 -1
  10. package/dist/cjs/analytics/eventProviders/NodeEventProvider.js +56 -0
  11. package/{build → dist/cjs}/analytics/transports/AxiosTransport.d.ts +1 -1
  12. package/dist/cjs/analytics/transports/AxiosTransport.js +60 -0
  13. package/{build → dist/cjs}/analytics/transports/FetchTransport.d.ts +1 -1
  14. package/dist/cjs/analytics/transports/FetchTransport.js +31 -0
  15. package/{build → dist/cjs}/analytics/types.d.ts +2 -2
  16. package/{build → dist/cjs}/analytics/types.js +1 -1
  17. package/{build → dist/cjs}/config.js +1 -1
  18. package/{build → dist/cjs}/connectors/BaseConnector.d.ts +1 -1
  19. package/dist/cjs/connectors/BaseConnector.js +41 -0
  20. package/{build → dist/cjs}/connectors/BlockchainConnector.d.ts +3 -3
  21. package/dist/cjs/connectors/BlockchainConnector.js +341 -0
  22. package/{build → dist/cjs}/connectors/BlockchainEventsListener.d.ts +1 -1
  23. package/dist/cjs/connectors/BlockchainEventsListener.js +103 -0
  24. package/{build → dist/cjs}/connectors/index.d.ts +2 -2
  25. package/{build → dist/cjs}/connectors/index.js +5 -5
  26. package/{build → dist/cjs}/constants.js +1 -1
  27. package/{build → dist/cjs}/contracts/abi.d.ts +33 -107
  28. package/{build → dist/cjs}/contracts/abi.js +34 -131
  29. package/dist/cjs/crypto/Crypto.js +100 -0
  30. package/dist/cjs/crypto/index.d.ts +2 -0
  31. package/{build → dist/cjs}/crypto/index.js +3 -3
  32. package/dist/cjs/crypto/nodejs/AES.js +79 -0
  33. package/dist/cjs/crypto/nodejs/ARIA.js +78 -0
  34. package/dist/cjs/crypto/nodejs/ECIES.js +56 -0
  35. package/{build → dist/cjs}/crypto/nodejs/NativeCrypto.d.ts +3 -3
  36. package/dist/cjs/crypto/nodejs/NativeCrypto.js +165 -0
  37. package/dist/cjs/crypto/nodejs/RSA-Hybrid.js +94 -0
  38. package/dist/cjs/index.d.ts +80 -0
  39. package/dist/cjs/index.js +143 -0
  40. package/{build → dist/cjs}/logger.js +1 -1
  41. package/{build → dist/cjs}/models/EtlModel.d.ts +1 -1
  42. package/dist/cjs/models/EtlModel.js +126 -0
  43. package/{build → dist/cjs}/models/Offer.d.ts +1 -1
  44. package/dist/cjs/models/Offer.js +361 -0
  45. package/{build → dist/cjs}/models/Order.d.ts +1 -1
  46. package/dist/cjs/models/Order.js +543 -0
  47. package/{build → dist/cjs}/models/Provider.d.ts +1 -1
  48. package/dist/cjs/models/Provider.js +119 -0
  49. package/{build → dist/cjs}/models/TCB.d.ts +1 -1
  50. package/dist/cjs/models/TCB.js +112 -0
  51. package/{build → dist/cjs}/models/TeeOffer.d.ts +2 -2
  52. package/dist/cjs/models/TeeOffer.js +538 -0
  53. package/dist/cjs/models/index.d.ts +5 -0
  54. package/dist/cjs/models/index.js +17 -0
  55. package/dist/cjs/package.json +1 -0
  56. package/dist/cjs/polyfills.js +7 -0
  57. package/{build → dist/cjs}/proto/Compression.d.ts +1 -1
  58. package/dist/cjs/proto/Compression.js +131 -0
  59. package/{build → dist/cjs}/proto/TRI.d.ts +1 -1
  60. package/dist/cjs/proto/TRI.js +290 -0
  61. package/{build → dist/cjs}/proto/TeeProperties.d.ts +1 -1
  62. package/dist/cjs/proto/TeeProperties.js +397 -0
  63. package/{build → dist/cjs}/providers/storage/ChunksDownloadDecorator.d.ts +2 -2
  64. package/dist/cjs/providers/storage/ChunksDownloadDecorator.js +145 -0
  65. package/{build → dist/cjs}/providers/storage/IStorageProvider.d.ts +1 -1
  66. package/{build → dist/cjs}/providers/storage/IStorageProvider.js +1 -1
  67. package/{build → dist/cjs}/providers/storage/S3StorageProvider.d.ts +2 -2
  68. package/dist/cjs/providers/storage/S3StorageProvider.js +171 -0
  69. package/{build → dist/cjs}/providers/storage/StorageAdapter.d.ts +2 -2
  70. package/dist/cjs/providers/storage/StorageAdapter.js +301 -0
  71. package/{build → dist/cjs}/providers/storage/StorageContentWriter.d.ts +2 -2
  72. package/dist/cjs/providers/storage/StorageContentWriter.js +168 -0
  73. package/{build → dist/cjs}/providers/storage/StorageKeyValueAdapter.d.ts +2 -2
  74. package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +125 -0
  75. package/{build → dist/cjs}/providers/storage/StorageMetadataReader.d.ts +3 -3
  76. package/dist/cjs/providers/storage/StorageMetadataReader.js +57 -0
  77. package/{build → dist/cjs}/providers/storage/StorjAdapter.d.ts +2 -2
  78. package/dist/cjs/providers/storage/StorjAdapter.js +54 -0
  79. package/{build → dist/cjs}/providers/storage/StorjStorageProvider.d.ts +2 -3
  80. package/dist/cjs/providers/storage/StorjStorageProvider.js +145 -0
  81. package/dist/cjs/providers/storage/getStorageProvider.d.ts +4 -0
  82. package/dist/cjs/providers/storage/getStorageProvider.js +20 -0
  83. package/{build → dist/cjs}/providers/storage/types.js +1 -1
  84. package/{build → dist/cjs}/staticModels/ActiveOffers.d.ts +1 -1
  85. package/dist/cjs/staticModels/ActiveOffers.js +37 -0
  86. package/{build → dist/cjs}/staticModels/ActiveOrders.d.ts +1 -1
  87. package/dist/cjs/staticModels/ActiveOrders.js +76 -0
  88. package/{build → dist/cjs}/staticModels/Consensus.d.ts +1 -1
  89. package/dist/cjs/staticModels/Consensus.js +225 -0
  90. package/{build → dist/cjs}/staticModels/Deposits.d.ts +1 -1
  91. package/dist/cjs/staticModels/Deposits.js +195 -0
  92. package/{build → dist/cjs}/staticModels/Marks.d.ts +1 -1
  93. package/dist/cjs/staticModels/Marks.js +30 -0
  94. package/dist/cjs/staticModels/ModelPackager.js +49 -0
  95. package/{build → dist/cjs}/staticModels/Offers.d.ts +2 -2
  96. package/dist/cjs/staticModels/Offers.js +189 -0
  97. package/{build → dist/cjs}/staticModels/Orders.d.ts +2 -2
  98. package/dist/cjs/staticModels/Orders.js +504 -0
  99. package/{build → dist/cjs}/staticModels/ProviderRegistry.d.ts +1 -1
  100. package/dist/cjs/staticModels/ProviderRegistry.js +174 -0
  101. package/{build → dist/cjs}/staticModels/StaticModel.d.ts +2 -2
  102. package/dist/cjs/staticModels/StaticModel.js +35 -0
  103. package/{build → dist/cjs}/staticModels/Superpro.d.ts +2 -2
  104. package/dist/cjs/staticModels/Superpro.js +25 -0
  105. package/{build → dist/cjs}/staticModels/SuperproToken.d.ts +1 -1
  106. package/dist/cjs/staticModels/SuperproToken.js +141 -0
  107. package/{build → dist/cjs}/staticModels/TeeOffers.d.ts +1 -1
  108. package/dist/cjs/staticModels/TeeOffers.js +314 -0
  109. package/dist/cjs/store.js +17 -0
  110. package/{build → dist/cjs}/tee/QuoteParser.d.ts +1 -1
  111. package/dist/cjs/tee/QuoteParser.js +189 -0
  112. package/{build → dist/cjs}/tee/QuoteValidator.d.ts +1 -1
  113. package/dist/cjs/tee/QuoteValidator.js +391 -0
  114. package/{build → dist/cjs}/tee/errors.js +1 -1
  115. package/dist/cjs/tee/helpers.js +120 -0
  116. package/{build → dist/cjs}/tee/interface.d.ts +1 -1
  117. package/{build → dist/cjs}/tee/interface.js +1 -1
  118. package/{build → dist/cjs}/tee/statuses.js +4 -4
  119. package/{build → dist/cjs}/tee/types.d.ts +5 -0
  120. package/{build → dist/cjs}/tee/types.js +1 -1
  121. package/{build → dist/cjs}/types/Compressor.js +1 -1
  122. package/{build → dist/cjs}/types/Consensus.d.ts +1 -1
  123. package/{build → dist/cjs}/types/Consensus.js +2 -2
  124. package/{build → dist/cjs}/types/DepositInfo.d.ts +1 -1
  125. package/{build → dist/cjs}/types/DepositInfo.js +1 -1
  126. package/{build → dist/cjs}/types/EtlModel.js +1 -1
  127. package/{build → dist/cjs}/types/Events.d.ts +2 -2
  128. package/{build → dist/cjs}/types/Events.js +1 -1
  129. package/dist/cjs/types/HardwareInfo.d.ts +6 -0
  130. package/{build → dist/cjs}/types/HardwareInfo.js +1 -1
  131. package/{build → dist/cjs}/types/Marks.js +2 -2
  132. package/{build → dist/cjs}/types/Offer.d.ts +1 -1
  133. package/dist/cjs/types/Offer.js +17 -0
  134. package/{build → dist/cjs}/types/OptionInfo.js +1 -1
  135. package/{build → dist/cjs}/types/Order.d.ts +3 -17
  136. package/dist/cjs/types/Order.js +15 -0
  137. package/{build → dist/cjs}/types/OrderUsage.d.ts +4 -4
  138. package/{build → dist/cjs}/types/OrderUsage.js +1 -1
  139. package/{build → dist/cjs}/types/Origins.js +1 -1
  140. package/{build → dist/cjs}/types/Provider.js +1 -1
  141. package/{build → dist/cjs}/types/ResourceLoader.d.ts +1 -1
  142. package/{build → dist/cjs}/types/ResourceLoader.js +1 -1
  143. package/{build → dist/cjs}/types/SlotInfo.js +1 -1
  144. package/{build → dist/cjs}/types/SlotUsage.d.ts +1 -1
  145. package/{build → dist/cjs}/types/SlotUsage.js +2 -2
  146. package/{build → dist/cjs}/types/Superpro.js +2 -2
  147. package/{build → dist/cjs}/types/TeeOfferInfo.d.ts +1 -1
  148. package/{build → dist/cjs}/types/TeeOfferInfo.js +1 -1
  149. package/{build → dist/cjs}/types/TeeOfferOption.d.ts +3 -3
  150. package/{build → dist/cjs}/types/TeeOfferOption.js +1 -1
  151. package/dist/cjs/types/TeeOfferSlot.d.ts +8 -0
  152. package/{build → dist/cjs}/types/TeeOfferSlot.js +1 -1
  153. package/{build → dist/cjs}/types/ValueOfferSlot.d.ts +4 -4
  154. package/{build → dist/cjs}/types/ValueOfferSlot.js +1 -1
  155. package/{build → dist/cjs}/types/Web3.js +1 -1
  156. package/{build → dist/cjs}/types/blockchainConnector/StorageAccess.d.ts +1 -1
  157. package/{build → dist/cjs}/types/blockchainConnector/StorageAccess.js +1 -1
  158. package/dist/cjs/types/index.d.ts +22 -0
  159. package/dist/cjs/types/index.js +39 -0
  160. package/{build → dist/cjs}/types/storage/StorageAccess.js +1 -1
  161. package/{build → dist/cjs}/types/storage/StorageFileAccess.d.ts +1 -1
  162. package/{build → dist/cjs}/types/storage/StorageFileAccess.js +1 -1
  163. package/{build → dist/cjs}/types/storage/StorageObject.js +1 -1
  164. package/dist/cjs/utils/Monitoring.js +49 -0
  165. package/dist/cjs/utils/NonceTracker.js +78 -0
  166. package/dist/cjs/utils/PubSub.js +35 -0
  167. package/{build → dist/cjs}/utils/TxManager.d.ts +1 -1
  168. package/dist/cjs/utils/TxManager.js +169 -0
  169. package/{build → dist/cjs}/utils/compressors/GzipCompressor.d.ts +2 -2
  170. package/dist/cjs/utils/compressors/GzipCompressor.js +22 -0
  171. package/{build → dist/cjs}/utils/compressors/UncompressedCompressor.d.ts +2 -2
  172. package/dist/cjs/utils/compressors/UncompressedCompressor.js +17 -0
  173. package/dist/cjs/utils/compressors/index.d.ts +2 -0
  174. package/{build → dist/cjs}/utils/compressors/index.js +3 -3
  175. package/{build → dist/cjs}/utils/helper.d.ts +3 -3
  176. package/dist/cjs/utils/helper.js +289 -0
  177. package/dist/cjs/utils/helpers/getStreamChunks.js +35 -0
  178. package/dist/cjs/utils/helpers/index.d.ts +1 -0
  179. package/{build → dist/cjs}/utils/helpers/index.js +2 -2
  180. package/dist/cjs/utils/helpers/tryWithInterval.js +39 -0
  181. package/{build → dist/cjs}/utils/resourceLoaders/BaseResourceLoader.d.ts +1 -1
  182. package/dist/cjs/utils/resourceLoaders/BaseResourceLoader.js +14 -0
  183. package/{build → dist/cjs}/utils/resourceLoaders/StorageProviderLoader.d.ts +2 -2
  184. package/dist/cjs/utils/resourceLoaders/StorageProviderLoader.js +60 -0
  185. package/{build → dist/cjs}/utils/resourceLoaders/UrlResourceLoader.d.ts +1 -1
  186. package/dist/cjs/utils/resourceLoaders/UrlResourceLoader.js +51 -0
  187. package/{build → dist/cjs}/utils/resourceLoaders/getResourceLoader.d.ts +1 -1
  188. package/dist/cjs/utils/resourceLoaders/getResourceLoader.js +15 -0
  189. package/dist/cjs/utils/resourceLoaders/index.d.ts +1 -0
  190. package/{build → dist/cjs}/utils/resourceLoaders/index.js +2 -2
  191. package/dist/mjs/TIIGenerator.d.ts +22 -0
  192. package/dist/mjs/TIIGenerator.js +227 -0
  193. package/dist/mjs/analytics/Analytics.d.ts +15 -0
  194. package/dist/mjs/analytics/Analytics.js +61 -0
  195. package/dist/mjs/analytics/AnalyticsError.d.ts +7 -0
  196. package/dist/mjs/analytics/AnalyticsError.js +8 -0
  197. package/dist/mjs/analytics/eventProviders/BrowserEventProvider.d.ts +18 -0
  198. package/dist/mjs/analytics/eventProviders/BrowserEventProvider.js +32 -0
  199. package/dist/mjs/analytics/eventProviders/EventProvider.d.ts +24 -0
  200. package/dist/mjs/analytics/eventProviders/EventProvider.js +22 -0
  201. package/dist/mjs/analytics/eventProviders/NodeEventProvider.d.ts +22 -0
  202. package/dist/mjs/analytics/eventProviders/NodeEventProvider.js +50 -0
  203. package/dist/mjs/analytics/transports/AxiosTransport.d.ts +4 -0
  204. package/dist/mjs/analytics/transports/AxiosTransport.js +31 -0
  205. package/dist/mjs/analytics/transports/FetchTransport.d.ts +4 -0
  206. package/dist/mjs/analytics/transports/FetchTransport.js +28 -0
  207. package/dist/mjs/analytics/types.d.ts +22 -0
  208. package/dist/mjs/analytics/types.js +2 -0
  209. package/dist/mjs/config.d.ts +4 -0
  210. package/dist/mjs/config.js +5 -0
  211. package/dist/mjs/connectors/BaseConnector.d.ts +36 -0
  212. package/dist/mjs/connectors/BaseConnector.js +34 -0
  213. package/dist/mjs/connectors/BlockchainConnector.d.ts +81 -0
  214. package/dist/mjs/connectors/BlockchainConnector.js +313 -0
  215. package/dist/mjs/connectors/BlockchainEventsListener.d.ts +15 -0
  216. package/dist/mjs/connectors/BlockchainEventsListener.js +75 -0
  217. package/dist/mjs/connectors/index.d.ts +2 -0
  218. package/dist/mjs/connectors/index.js +3 -0
  219. package/dist/mjs/constants.d.ts +13 -0
  220. package/dist/mjs/constants.js +14 -0
  221. package/dist/mjs/contracts/abi.d.ts +9842 -0
  222. package/dist/mjs/contracts/abi.js +12844 -0
  223. package/dist/mjs/crypto/Crypto.d.ts +54 -0
  224. package/dist/mjs/crypto/Crypto.js +95 -0
  225. package/dist/mjs/crypto/index.d.ts +2 -0
  226. package/dist/mjs/crypto/index.js +3 -0
  227. package/dist/mjs/crypto/nodejs/AES.d.ts +24 -0
  228. package/dist/mjs/crypto/nodejs/AES.js +74 -0
  229. package/dist/mjs/crypto/nodejs/ARIA.d.ts +24 -0
  230. package/dist/mjs/crypto/nodejs/ARIA.js +73 -0
  231. package/dist/mjs/crypto/nodejs/ECIES.d.ts +6 -0
  232. package/dist/mjs/crypto/nodejs/ECIES.js +51 -0
  233. package/dist/mjs/crypto/nodejs/NativeCrypto.d.ts +58 -0
  234. package/dist/mjs/crypto/nodejs/NativeCrypto.js +163 -0
  235. package/dist/mjs/crypto/nodejs/RSA-Hybrid.d.ts +15 -0
  236. package/dist/mjs/crypto/nodejs/RSA-Hybrid.js +89 -0
  237. package/dist/mjs/index.d.ts +80 -0
  238. package/dist/mjs/index.js +76 -0
  239. package/dist/mjs/logger.d.ts +7 -0
  240. package/dist/mjs/logger.js +7 -0
  241. package/dist/mjs/models/EtlModel.d.ts +34 -0
  242. package/dist/mjs/models/EtlModel.js +96 -0
  243. package/dist/mjs/models/Offer.d.ts +130 -0
  244. package/dist/mjs/models/Offer.js +356 -0
  245. package/dist/mjs/models/Order.d.ts +148 -0
  246. package/dist/mjs/models/Order.js +538 -0
  247. package/dist/mjs/models/Provider.d.ts +51 -0
  248. package/dist/mjs/models/Provider.js +114 -0
  249. package/dist/mjs/models/TCB.d.ts +58 -0
  250. package/dist/mjs/models/TCB.js +107 -0
  251. package/dist/mjs/models/TeeOffer.d.ts +204 -0
  252. package/dist/mjs/models/TeeOffer.js +533 -0
  253. package/dist/mjs/models/index.d.ts +5 -0
  254. package/dist/mjs/models/index.js +6 -0
  255. package/dist/mjs/package.json +1 -0
  256. package/dist/mjs/polyfills.d.ts +0 -0
  257. package/dist/mjs/polyfills.js +7 -0
  258. package/dist/mjs/proto/Compression.d.ts +36 -0
  259. package/dist/mjs/proto/Compression.js +123 -0
  260. package/dist/mjs/proto/TRI.d.ts +124 -0
  261. package/dist/mjs/proto/TRI.js +284 -0
  262. package/dist/mjs/proto/TeeProperties.d.ts +263 -0
  263. package/dist/mjs/proto/TeeProperties.js +391 -0
  264. package/dist/mjs/providers/storage/ChunksDownloadDecorator.d.ts +36 -0
  265. package/dist/mjs/providers/storage/ChunksDownloadDecorator.js +139 -0
  266. package/dist/mjs/providers/storage/IStorageProvider.d.ts +15 -0
  267. package/dist/mjs/providers/storage/IStorageProvider.js +2 -0
  268. package/dist/mjs/providers/storage/S3StorageProvider.d.ts +25 -0
  269. package/dist/mjs/providers/storage/S3StorageProvider.js +167 -0
  270. package/dist/mjs/providers/storage/StorageAdapter.d.ts +60 -0
  271. package/dist/mjs/providers/storage/StorageAdapter.js +271 -0
  272. package/dist/mjs/providers/storage/StorageContentWriter.d.ts +46 -0
  273. package/dist/mjs/providers/storage/StorageContentWriter.js +161 -0
  274. package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +23 -0
  275. package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +119 -0
  276. package/dist/mjs/providers/storage/StorageMetadataReader.d.ts +20 -0
  277. package/dist/mjs/providers/storage/StorageMetadataReader.js +51 -0
  278. package/dist/mjs/providers/storage/StorjAdapter.d.ts +19 -0
  279. package/dist/mjs/providers/storage/StorjAdapter.js +48 -0
  280. package/dist/mjs/providers/storage/StorjStorageProvider.d.ts +24 -0
  281. package/dist/mjs/providers/storage/StorjStorageProvider.js +139 -0
  282. package/dist/mjs/providers/storage/getStorageProvider.d.ts +4 -0
  283. package/dist/mjs/providers/storage/getStorageProvider.js +15 -0
  284. package/dist/mjs/providers/storage/types.d.ts +7 -0
  285. package/dist/mjs/providers/storage/types.js +2 -0
  286. package/dist/mjs/staticModels/ActiveOffers.d.ts +15 -0
  287. package/dist/mjs/staticModels/ActiveOffers.js +32 -0
  288. package/dist/mjs/staticModels/ActiveOrders.d.ts +20 -0
  289. package/dist/mjs/staticModels/ActiveOrders.js +71 -0
  290. package/dist/mjs/staticModels/Consensus.d.ts +42 -0
  291. package/dist/mjs/staticModels/Consensus.js +220 -0
  292. package/dist/mjs/staticModels/Deposits.d.ts +70 -0
  293. package/dist/mjs/staticModels/Deposits.js +190 -0
  294. package/dist/mjs/staticModels/Marks.d.ts +8 -0
  295. package/dist/mjs/staticModels/Marks.js +25 -0
  296. package/dist/mjs/staticModels/ModelPackager.d.ts +18 -0
  297. package/dist/mjs/staticModels/ModelPackager.js +45 -0
  298. package/dist/mjs/staticModels/Offers.d.ts +65 -0
  299. package/dist/mjs/staticModels/Offers.js +184 -0
  300. package/dist/mjs/staticModels/Orders.d.ts +155 -0
  301. package/dist/mjs/staticModels/Orders.js +499 -0
  302. package/dist/mjs/staticModels/ProviderRegistry.d.ts +74 -0
  303. package/dist/mjs/staticModels/ProviderRegistry.js +169 -0
  304. package/dist/mjs/staticModels/StaticModel.d.ts +8 -0
  305. package/dist/mjs/staticModels/StaticModel.js +30 -0
  306. package/dist/mjs/staticModels/Superpro.d.ts +16 -0
  307. package/dist/mjs/staticModels/Superpro.js +23 -0
  308. package/dist/mjs/staticModels/SuperproToken.d.ts +48 -0
  309. package/dist/mjs/staticModels/SuperproToken.js +136 -0
  310. package/dist/mjs/staticModels/TeeOffers.d.ts +115 -0
  311. package/dist/mjs/staticModels/TeeOffers.js +309 -0
  312. package/dist/mjs/store.d.ts +15 -0
  313. package/dist/mjs/store.js +15 -0
  314. package/dist/mjs/tee/QuoteParser.d.ts +27 -0
  315. package/dist/mjs/tee/QuoteParser.js +162 -0
  316. package/dist/mjs/tee/QuoteValidator.d.ts +38 -0
  317. package/dist/mjs/tee/QuoteValidator.js +384 -0
  318. package/dist/mjs/tee/errors.d.ts +6 -0
  319. package/dist/mjs/tee/errors.js +7 -0
  320. package/dist/mjs/tee/helpers.d.ts +14 -0
  321. package/dist/mjs/tee/helpers.js +115 -0
  322. package/dist/mjs/tee/interface.d.ts +63 -0
  323. package/dist/mjs/tee/interface.js +2 -0
  324. package/dist/mjs/tee/statuses.d.ts +21 -0
  325. package/dist/mjs/tee/statuses.js +25 -0
  326. package/dist/mjs/tee/types.d.ts +80 -0
  327. package/dist/mjs/tee/types.js +2 -0
  328. package/dist/mjs/types/Compressor.d.ts +5 -0
  329. package/dist/mjs/types/Compressor.js +2 -0
  330. package/dist/mjs/types/Consensus.d.ts +60 -0
  331. package/dist/mjs/types/Consensus.js +16 -0
  332. package/dist/mjs/types/DepositInfo.d.ts +6 -0
  333. package/dist/mjs/types/DepositInfo.js +2 -0
  334. package/dist/mjs/types/EtlModel.d.ts +2 -0
  335. package/dist/mjs/types/EtlModel.js +2 -0
  336. package/dist/mjs/types/Events.d.ts +34 -0
  337. package/dist/mjs/types/Events.js +2 -0
  338. package/dist/mjs/types/HardwareInfo.d.ts +6 -0
  339. package/dist/mjs/types/HardwareInfo.js +2 -0
  340. package/dist/mjs/types/Marks.d.ts +9 -0
  341. package/dist/mjs/types/Marks.js +7 -0
  342. package/dist/mjs/types/Offer.d.ts +33 -0
  343. package/dist/mjs/types/Offer.js +14 -0
  344. package/dist/mjs/types/OptionInfo.d.ts +8 -0
  345. package/dist/mjs/types/OptionInfo.js +2 -0
  346. package/dist/mjs/types/Order.d.ts +44 -0
  347. package/dist/mjs/types/Order.js +12 -0
  348. package/dist/mjs/types/OrderUsage.d.ts +26 -0
  349. package/dist/mjs/types/OrderUsage.js +2 -0
  350. package/dist/mjs/types/Origins.d.ts +6 -0
  351. package/dist/mjs/types/Origins.js +2 -0
  352. package/dist/mjs/types/Provider.d.ts +7 -0
  353. package/dist/mjs/types/Provider.js +2 -0
  354. package/dist/mjs/types/ResourceLoader.d.ts +28 -0
  355. package/dist/mjs/types/ResourceLoader.js +2 -0
  356. package/dist/mjs/types/SlotInfo.d.ts +6 -0
  357. package/dist/mjs/types/SlotInfo.js +2 -0
  358. package/dist/mjs/types/SlotUsage.d.ts +11 -0
  359. package/dist/mjs/types/SlotUsage.js +6 -0
  360. package/dist/mjs/types/Superpro.d.ts +9 -0
  361. package/dist/mjs/types/Superpro.js +11 -0
  362. package/dist/mjs/types/TeeOfferInfo.d.ts +10 -0
  363. package/dist/mjs/types/TeeOfferInfo.js +2 -0
  364. package/dist/mjs/types/TeeOfferOption.d.ts +13 -0
  365. package/dist/mjs/types/TeeOfferOption.js +2 -0
  366. package/dist/mjs/types/TeeOfferSlot.d.ts +8 -0
  367. package/dist/mjs/types/TeeOfferSlot.js +2 -0
  368. package/dist/mjs/types/ValueOfferSlot.d.ts +16 -0
  369. package/dist/mjs/types/ValueOfferSlot.js +2 -0
  370. package/dist/mjs/types/Web3.d.ts +62 -0
  371. package/dist/mjs/types/Web3.js +2 -0
  372. package/dist/mjs/types/blockchainConnector/StorageAccess.d.ts +8 -0
  373. package/dist/mjs/types/blockchainConnector/StorageAccess.js +2 -0
  374. package/dist/mjs/types/index.d.ts +22 -0
  375. package/dist/mjs/types/index.js +23 -0
  376. package/dist/mjs/types/storage/StorageAccess.d.ts +7 -0
  377. package/dist/mjs/types/storage/StorageAccess.js +2 -0
  378. package/dist/mjs/types/storage/StorageFileAccess.d.ts +5 -0
  379. package/dist/mjs/types/storage/StorageFileAccess.js +2 -0
  380. package/dist/mjs/types/storage/StorageObject.d.ts +8 -0
  381. package/dist/mjs/types/storage/StorageObject.js +2 -0
  382. package/dist/mjs/utils/Monitoring.d.ts +11 -0
  383. package/dist/mjs/utils/Monitoring.js +42 -0
  384. package/dist/mjs/utils/NonceTracker.d.ts +19 -0
  385. package/dist/mjs/utils/NonceTracker.js +73 -0
  386. package/dist/mjs/utils/PubSub.d.ts +9 -0
  387. package/dist/mjs/utils/PubSub.js +32 -0
  388. package/dist/mjs/utils/TxManager.d.ts +25 -0
  389. package/dist/mjs/utils/TxManager.js +162 -0
  390. package/dist/mjs/utils/compressors/GzipCompressor.d.ts +8 -0
  391. package/dist/mjs/utils/compressors/GzipCompressor.js +15 -0
  392. package/dist/mjs/utils/compressors/UncompressedCompressor.d.ts +8 -0
  393. package/dist/mjs/utils/compressors/UncompressedCompressor.js +13 -0
  394. package/dist/mjs/utils/compressors/index.d.ts +2 -0
  395. package/dist/mjs/utils/compressors/index.js +3 -0
  396. package/dist/mjs/utils/helper.d.ts +44 -0
  397. package/dist/mjs/utils/helper.js +258 -0
  398. package/dist/mjs/utils/helpers/getStreamChunks.d.ts +9 -0
  399. package/dist/mjs/utils/helpers/getStreamChunks.js +31 -0
  400. package/dist/mjs/utils/helpers/index.d.ts +1 -0
  401. package/dist/mjs/utils/helpers/index.js +2 -0
  402. package/dist/mjs/utils/helpers/tryWithInterval.d.ts +13 -0
  403. package/dist/mjs/utils/helpers/tryWithInterval.js +35 -0
  404. package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.d.ts +10 -0
  405. package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.js +10 -0
  406. package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.d.ts +18 -0
  407. package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.js +53 -0
  408. package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.d.ts +9 -0
  409. package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.js +44 -0
  410. package/dist/mjs/utils/resourceLoaders/getResourceLoader.d.ts +5 -0
  411. package/dist/mjs/utils/resourceLoaders/getResourceLoader.js +11 -0
  412. package/dist/mjs/utils/resourceLoaders/index.d.ts +1 -0
  413. package/dist/mjs/utils/resourceLoaders/index.js +2 -0
  414. package/package.json +16 -18
  415. package/build/TIIGenerator.js +0 -261
  416. package/build/analytics/Analytics.js +0 -74
  417. package/build/analytics/eventProviders/BrowserEventProvider.js +0 -32
  418. package/build/analytics/eventProviders/EventProvider.js +0 -14
  419. package/build/analytics/eventProviders/NodeEventProvider.js +0 -48
  420. package/build/analytics/transports/AxiosTransport.js +0 -72
  421. package/build/analytics/transports/FetchTransport.js +0 -42
  422. package/build/connectors/BaseConnector.js +0 -53
  423. package/build/connectors/BlockchainConnector.js +0 -358
  424. package/build/connectors/BlockchainEventsListener.js +0 -114
  425. package/build/crypto/Crypto.js +0 -119
  426. package/build/crypto/index.d.ts +0 -2
  427. package/build/crypto/nodejs/AES.js +0 -94
  428. package/build/crypto/nodejs/ARIA.js +0 -93
  429. package/build/crypto/nodejs/ECIES.js +0 -69
  430. package/build/crypto/nodejs/NativeCrypto.js +0 -183
  431. package/build/crypto/nodejs/RSA-Hybrid.js +0 -95
  432. package/build/index.d.ts +0 -79
  433. package/build/index.js +0 -142
  434. package/build/models/EtlModel.js +0 -138
  435. package/build/models/Offer.js +0 -407
  436. package/build/models/Order.js +0 -577
  437. package/build/models/Provider.js +0 -137
  438. package/build/models/TCB.js +0 -135
  439. package/build/models/TeeOffer.js +0 -600
  440. package/build/models/index.d.ts +0 -5
  441. package/build/models/index.js +0 -17
  442. package/build/polyfills.js +0 -7
  443. package/build/proto/Compression.js +0 -132
  444. package/build/proto/TRI.js +0 -293
  445. package/build/proto/TeeProperties.js +0 -401
  446. package/build/providers/storage/ChunksDownloadDecorator.js +0 -177
  447. package/build/providers/storage/S3StorageProvider.js +0 -219
  448. package/build/providers/storage/StorageAdapter.js +0 -323
  449. package/build/providers/storage/StorageContentWriter.js +0 -183
  450. package/build/providers/storage/StorageKeyValueAdapter.js +0 -158
  451. package/build/providers/storage/StorageMetadataReader.js +0 -68
  452. package/build/providers/storage/StorjAdapter.js +0 -74
  453. package/build/providers/storage/StorjStorageProvider.js +0 -207
  454. package/build/providers/storage/getStorageProvider.d.ts +0 -4
  455. package/build/providers/storage/getStorageProvider.js +0 -20
  456. package/build/staticModels/ActiveOffers.js +0 -52
  457. package/build/staticModels/ActiveOrders.js +0 -91
  458. package/build/staticModels/Consensus.js +0 -247
  459. package/build/staticModels/Deposits.js +0 -214
  460. package/build/staticModels/Marks.js +0 -43
  461. package/build/staticModels/ModelPackager.js +0 -62
  462. package/build/staticModels/Offers.js +0 -207
  463. package/build/staticModels/Orders.js +0 -502
  464. package/build/staticModels/ProviderRegistry.js +0 -192
  465. package/build/staticModels/StaticModel.js +0 -46
  466. package/build/staticModels/Superpro.js +0 -24
  467. package/build/staticModels/SuperproToken.js +0 -154
  468. package/build/staticModels/TeeOffers.js +0 -344
  469. package/build/store.js +0 -17
  470. package/build/tee/QuoteParser.js +0 -189
  471. package/build/tee/QuoteValidator.js +0 -414
  472. package/build/tee/helpers.js +0 -119
  473. package/build/types/HardwareInfo.d.ts +0 -6
  474. package/build/types/Offer.js +0 -17
  475. package/build/types/Order.js +0 -60
  476. package/build/types/TeeOfferSlot.d.ts +0 -8
  477. package/build/types/index.d.ts +0 -22
  478. package/build/types/index.js +0 -39
  479. package/build/utils/Monitoring.js +0 -48
  480. package/build/utils/NonceTracker.js +0 -90
  481. package/build/utils/PubSub.js +0 -37
  482. package/build/utils/TxManager.js +0 -179
  483. package/build/utils/compressors/GzipCompressor.js +0 -29
  484. package/build/utils/compressors/UncompressedCompressor.js +0 -17
  485. package/build/utils/compressors/index.d.ts +0 -2
  486. package/build/utils/helper.js +0 -286
  487. package/build/utils/helpers/getStreamChunks.js +0 -74
  488. package/build/utils/helpers/index.d.ts +0 -1
  489. package/build/utils/helpers/tryWithInterval.js +0 -48
  490. package/build/utils/resourceLoaders/BaseResourceLoader.js +0 -51
  491. package/build/utils/resourceLoaders/StorageProviderLoader.js +0 -69
  492. package/build/utils/resourceLoaders/UrlResourceLoader.js +0 -64
  493. package/build/utils/resourceLoaders/getResourceLoader.js +0 -15
  494. package/build/utils/resourceLoaders/index.d.ts +0 -1
  495. /package/{build → dist/cjs}/analytics/AnalyticsError.d.ts +0 -0
  496. /package/{build → dist/cjs}/analytics/eventProviders/EventProvider.d.ts +0 -0
  497. /package/{build → dist/cjs}/config.d.ts +0 -0
  498. /package/{build → dist/cjs}/constants.d.ts +0 -0
  499. /package/{build → dist/cjs}/crypto/Crypto.d.ts +0 -0
  500. /package/{build → dist/cjs}/crypto/nodejs/AES.d.ts +0 -0
  501. /package/{build → dist/cjs}/crypto/nodejs/ARIA.d.ts +0 -0
  502. /package/{build → dist/cjs}/crypto/nodejs/ECIES.d.ts +0 -0
  503. /package/{build → dist/cjs}/crypto/nodejs/RSA-Hybrid.d.ts +0 -0
  504. /package/{build → dist/cjs}/logger.d.ts +0 -0
  505. /package/{build → dist/cjs}/polyfills.d.ts +0 -0
  506. /package/{build → dist/cjs}/providers/storage/types.d.ts +0 -0
  507. /package/{build → dist/cjs}/staticModels/ModelPackager.d.ts +0 -0
  508. /package/{build → dist/cjs}/store.d.ts +0 -0
  509. /package/{build → dist/cjs}/tee/errors.d.ts +0 -0
  510. /package/{build → dist/cjs}/tee/helpers.d.ts +0 -0
  511. /package/{build → dist/cjs}/tee/statuses.d.ts +0 -0
  512. /package/{build → dist/cjs}/types/Compressor.d.ts +0 -0
  513. /package/{build → dist/cjs}/types/EtlModel.d.ts +0 -0
  514. /package/{build → dist/cjs}/types/Marks.d.ts +0 -0
  515. /package/{build → dist/cjs}/types/OptionInfo.d.ts +0 -0
  516. /package/{build → dist/cjs}/types/Origins.d.ts +0 -0
  517. /package/{build → dist/cjs}/types/Provider.d.ts +0 -0
  518. /package/{build → dist/cjs}/types/SlotInfo.d.ts +0 -0
  519. /package/{build → dist/cjs}/types/Superpro.d.ts +0 -0
  520. /package/{build → dist/cjs}/types/Web3.d.ts +0 -0
  521. /package/{build → dist/cjs}/types/storage/StorageAccess.d.ts +0 -0
  522. /package/{build → dist/cjs}/types/storage/StorageObject.d.ts +0 -0
  523. /package/{build → dist/cjs}/utils/Monitoring.d.ts +0 -0
  524. /package/{build → dist/cjs}/utils/NonceTracker.d.ts +0 -0
  525. /package/{build → dist/cjs}/utils/PubSub.d.ts +0 -0
  526. /package/{build → dist/cjs}/utils/helpers/getStreamChunks.d.ts +0 -0
  527. /package/{build → dist/cjs}/utils/helpers/tryWithInterval.d.ts +0 -0
@@ -0,0 +1,114 @@
1
+ import { checkIfActionAccountInitialized, cleanWeb3Data, convertBigIntToString, } from '../utils/helper.js';
2
+ import { BlockchainConnector } from '../connectors/index.js';
3
+ import TxManager from '../utils/TxManager.js';
4
+ import Consensus from '../staticModels/Consensus.js';
5
+ class Provider {
6
+ static contract;
7
+ providerInfo;
8
+ violationRate;
9
+ valueOffers;
10
+ teeOffers;
11
+ origins;
12
+ providerId;
13
+ constructor(providerId) {
14
+ this.providerId = providerId;
15
+ if (!Provider.contract) {
16
+ Provider.contract = BlockchainConnector.getInstance().getContract();
17
+ }
18
+ }
19
+ async modify(providerInfo, transactionOptions) {
20
+ checkIfActionAccountInitialized(transactionOptions);
21
+ await TxManager.execute(Provider.contract.methods.modifyProvider(providerInfo), transactionOptions);
22
+ }
23
+ /**
24
+ * Function for fetching provider info from blockchain
25
+ */
26
+ async getInfo() {
27
+ const providerInfoParams = await Provider.contract.methods
28
+ .getProviderInfo(this.providerId)
29
+ .call()
30
+ .then((providerInfo) => cleanWeb3Data(providerInfo));
31
+ return (this.providerInfo = providerInfoParams);
32
+ }
33
+ /**
34
+ * Function for fetching provider authority address from blockchain
35
+ */
36
+ getAuthority() {
37
+ return this.providerId.toString();
38
+ }
39
+ /**
40
+ * Function for fetching all value offers for this provider
41
+ */
42
+ async getValueOffers() {
43
+ this.valueOffers = await Provider.contract.methods
44
+ .getProviderValueOffers(this.providerId)
45
+ .call()
46
+ .then((offers) => offers.map((offer) => offer.toString()));
47
+ return this.valueOffers;
48
+ }
49
+ /**
50
+ * Function for fetching all TEE offers for this provider
51
+ */
52
+ async getTeeOffers() {
53
+ this.teeOffers = await Provider.contract.methods
54
+ .getProviderTeeOffers(this.providerId)
55
+ .call()
56
+ .then((offers) => offers.map((offer) => offer.toString()));
57
+ return this.teeOffers;
58
+ }
59
+ /**
60
+ * Function for fetching violationRate for this provider
61
+ */
62
+ async getViolationRate() {
63
+ return convertBigIntToString(await Provider.contract.methods.getProviderViolationRate(this.providerId).call());
64
+ }
65
+ /**
66
+ * Fetch new Origins (createdDate, createdBy, modifiedDate and modifiedBy)
67
+ */
68
+ async getOrigins() {
69
+ const origins = await Provider.contract.methods
70
+ .getProviderOrigins(this.providerId)
71
+ .call()
72
+ .then((origins) => cleanWeb3Data(origins));
73
+ // Convert blockchain time seconds to js time milliseconds
74
+ origins.createdDate = Number(origins.createdDate) * 1000;
75
+ origins.modifiedDate = Number(origins.modifiedDate) * 1000;
76
+ return (this.origins = origins);
77
+ }
78
+ /**
79
+ * Fetch calculation of required providers security deposit for offers,
80
+ * if additionalAmount is equal zero then deposit will be calculated for existing offers
81
+ * @param additionalAmount - number of tokens planned to be added and frozen as security deposit
82
+ * @returns required deposit
83
+ */
84
+ getRequiredSecurityDeposit(additionalAmount = '0') {
85
+ const contract = BlockchainConnector.getInstance().getContract();
86
+ return contract.methods.getProviderRequiredSecDepo(this.providerId, additionalAmount).call();
87
+ }
88
+ /**
89
+ * Fetch provider security deposit by provider authority account
90
+ */
91
+ async getSecurityDeposit() {
92
+ const contract = BlockchainConnector.getInstance().getContract();
93
+ return convertBigIntToString(await contract.methods.getProviderSecurityDeposit(this.providerId).call());
94
+ }
95
+ async isProviderBanned() {
96
+ const violationRate = await this.getViolationRate();
97
+ const { CONSENSUS_MAX_PENALTIES } = await Consensus.getConstants();
98
+ return Number(violationRate) >= Number(CONSENSUS_MAX_PENALTIES);
99
+ }
100
+ getOrdersLockedProfitList() {
101
+ return Provider.contract.methods
102
+ .getOrdersLockedProfitList(this.providerId)
103
+ .call()
104
+ .then((orders) => orders.map((order) => order.toString()));
105
+ }
106
+ getTcbLockedProfitList() {
107
+ return Provider.contract.methods
108
+ .getTcbLockedProfitList(this.providerId)
109
+ .call()
110
+ .then((tcbIds) => tcbIds.map((tcbId) => tcbId.toString()));
111
+ }
112
+ }
113
+ export default Provider;
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL1Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsYUFBYSxFQUNiLHFCQUFxQixHQUN0QixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBRXJELE1BQU0sUUFBUTtJQUNKLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRXZDLFlBQVksQ0FBZ0I7SUFDNUIsYUFBYSxDQUFtQjtJQUNoQyxXQUFXLENBQWtCO0lBQzdCLFNBQVMsQ0FBa0I7SUFDM0IsT0FBTyxDQUFXO0lBQ2xCLFVBQVUsQ0FBUztJQUUxQixZQUFZLFVBQWtCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFNLENBQ2pCLFlBQTBCLEVBQzFCLGtCQUF1QztRQUV2QywrQkFBK0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUN0RCxrQkFBa0IsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9B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
@@ -0,0 +1,58 @@
1
+ import { BlockchainId, TcbData, TcbPublicData, TcbUtilityData, TransactionOptions } from '../types/index.js';
2
+ declare class TCB {
3
+ private static readonly logger;
4
+ tcbId: BlockchainId;
5
+ private static contract;
6
+ constructor(tcbId: BlockchainId);
7
+ private applyTcbMarks;
8
+ private setTcbData;
9
+ /**
10
+ * Add data to TeeConfirmationBlock and push it to Consensus
11
+ * @param pb - struct of 'processed' data
12
+ * @param quote - data generated from Enclave
13
+ * @param marks - list of marks
14
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
15
+ */
16
+ private addToSupply;
17
+ apply(publicData: TcbPublicData, quote: string, publicKey: string, transactionOptions?: TransactionOptions): Promise<void>;
18
+ /**
19
+ * Assign TCB from SuspiciousBlocks table to check
20
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
21
+ */
22
+ assignSuspiciousBlocksToCheck(transactionOptions?: TransactionOptions): Promise<void>;
23
+ /**
24
+ * Assign TCB from LastBlocks table to check
25
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
26
+ */
27
+ assignLastBlocksToCheck(transactionOptions?: TransactionOptions): Promise<void>;
28
+ /**
29
+ * Function stake and lock TCB's reward
30
+ * @param tcbId - TEE Offer's completed and valid TCB contract
31
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
32
+ */
33
+ claimRewards(transactionOptions?: TransactionOptions): Promise<void>;
34
+ /**
35
+ * Function unlock previously locked TCB rewards (by claimRewards)
36
+ * @param tcbId - TCB contract address
37
+ * @param unlockAmount - amount of tokens to unlock, max available amount = TeeOffer.getLockInfo(tcbAddress)
38
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
39
+ */
40
+ unlockRewards(transactionOptions?: TransactionOptions): Promise<void>;
41
+ /**
42
+ * Function for fetching all TCB data
43
+ */
44
+ get(): Promise<TcbData>;
45
+ /**
46
+ * Function for fetching Public Data from TCB
47
+ */
48
+ getPublicData(): Promise<TcbPublicData>;
49
+ /**
50
+ * Function for fetching Public Data from TCB
51
+ */
52
+ getUtilityData(): Promise<TcbUtilityData>;
53
+ /**
54
+ * Function for fetching TCB avaliable reward
55
+ */
56
+ getRewardAmount(): Promise<bigint>;
57
+ }
58
+ export default TCB;
@@ -0,0 +1,107 @@
1
+ import TxManager from '../utils/TxManager.js';
2
+ import { BlockchainConnector } from '../connectors/index.js';
3
+ import { checkIfActionAccountInitialized, cleanWeb3Data, packDeviceId } from '../utils/helper.js';
4
+ import Consensus from '../staticModels/Consensus.js';
5
+ import rootLogger from '../logger.js';
6
+ class TCB {
7
+ static logger = rootLogger.child({ className: 'TCB' });
8
+ tcbId;
9
+ static contract;
10
+ constructor(tcbId) {
11
+ this.tcbId = tcbId;
12
+ if (!TCB.contract) {
13
+ TCB.contract = BlockchainConnector.getInstance().getContract();
14
+ }
15
+ }
16
+ applyTcbMarks(marks, transactionOptions) {
17
+ return TxManager.execute(TCB.contract.methods.applyTcbMarks(marks, this.tcbId), transactionOptions);
18
+ }
19
+ setTcbData(publicData, quote, publicKey, transactionOptions) {
20
+ checkIfActionAccountInitialized(transactionOptions);
21
+ const fromattedDeviceId = packDeviceId(publicData.deviceId);
22
+ return TxManager.execute(TCB.contract.methods.setTcbData(this.tcbId, publicData.benchmark, publicData.properties, fromattedDeviceId, quote, publicKey), transactionOptions);
23
+ }
24
+ /**
25
+ * Add data to TeeConfirmationBlock and push it to Consensus
26
+ * @param pb - struct of 'processed' data
27
+ * @param quote - data generated from Enclave
28
+ * @param marks - list of marks
29
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
30
+ */
31
+ addToSupply(transactionOptions) {
32
+ checkIfActionAccountInitialized(transactionOptions);
33
+ return TxManager.execute(TCB.contract.methods.addTcbToSupply(this.tcbId), transactionOptions);
34
+ }
35
+ async apply(publicData, quote, publicKey, transactionOptions) {
36
+ try {
37
+ await this.applyTcbMarks(publicData.checkingTcbMarks, transactionOptions);
38
+ await this.setTcbData(publicData, quote, publicKey, transactionOptions);
39
+ await this.addToSupply(transactionOptions);
40
+ }
41
+ catch (error) {
42
+ TCB.logger.debug({ error }, 'Adding TCB to blockchain failed');
43
+ }
44
+ }
45
+ /**
46
+ * Assign TCB from SuspiciousBlocks table to check
47
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
48
+ */
49
+ async assignSuspiciousBlocksToCheck(transactionOptions) {
50
+ await TxManager.execute(TCB.contract.methods.assignSuspiciousBlocksToCheck(this.tcbId), transactionOptions);
51
+ }
52
+ /**
53
+ * Assign TCB from LastBlocks table to check
54
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
55
+ */
56
+ async assignLastBlocksToCheck(transactionOptions) {
57
+ await TxManager.execute(TCB.contract.methods.assignLastBlocksToCheck(this.tcbId), transactionOptions);
58
+ }
59
+ /**
60
+ * Function stake and lock TCB's reward
61
+ * @param tcbId - TEE Offer's completed and valid TCB contract
62
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
63
+ */
64
+ async claimRewards(transactionOptions) {
65
+ checkIfActionAccountInitialized();
66
+ await TxManager.execute(TCB.contract.methods.claimRewards(this.tcbId), transactionOptions);
67
+ }
68
+ /**
69
+ * Function unlock previously locked TCB rewards (by claimRewards)
70
+ * @param tcbId - TCB contract address
71
+ * @param unlockAmount - amount of tokens to unlock, max available amount = TeeOffer.getLockInfo(tcbAddress)
72
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
73
+ */
74
+ async unlockRewards(transactionOptions) {
75
+ checkIfActionAccountInitialized();
76
+ await TxManager.execute(TCB.contract.methods.unlockTcbReward(this.tcbId), transactionOptions);
77
+ }
78
+ /**
79
+ * Function for fetching all TCB data
80
+ */
81
+ async get() {
82
+ const tcb = cleanWeb3Data(await TCB.contract.methods.getTcbById(this.tcbId).call());
83
+ return tcb;
84
+ }
85
+ /**
86
+ * Function for fetching Public Data from TCB
87
+ */
88
+ async getPublicData() {
89
+ const publicData = await Consensus.getTcbsPublicData([this.tcbId]);
90
+ return publicData[this.tcbId];
91
+ }
92
+ /**
93
+ * Function for fetching Public Data from TCB
94
+ */
95
+ async getUtilityData() {
96
+ const utilityData = await Consensus.getTcbsUtilityData([this.tcbId]);
97
+ return utilityData[this.tcbId];
98
+ }
99
+ /**
100
+ * Function for fetching TCB avaliable reward
101
+ */
102
+ getRewardAmount() {
103
+ return TCB.contract.methods.getTcbReward(this.tcbId).call();
104
+ }
105
+ }
106
+ export default TCB;
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVENCLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVscy9UQ0IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRyxPQUFPLFNBQVMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFFdEMsTUFBTSxHQUFHO0lBQ0MsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakUsS0FBSyxDQUFlO0lBQ25CLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRTlDLFlBQVksS0FBbUI7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixHQUFHLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUNuQixLQUEwQixFQUMxQixrQkFBdUM7UUFFdkMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUN0QixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDckQsa0JBQWtCLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUNoQixVQUF5QixFQUN6QixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsa0JBQXVDO1FBRXZDLCtCQUErQixDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FDdEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUM3QixJQUFJLENBQUMsS0FBSyxFQUNWLFVBQVUsQ0FBQyxTQUFTLEVBQ3BCLFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsU0FBUyxDQUNWLEVBQ0Qsa0JBQWtCLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssV0FBVyxDQUFDLGtCQUF1QztRQUN6RCwrQkFBK0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQ2hCLFVBQXlCLEVBQ3pCLEtBQWEsRUFDYixTQUFpQixFQUNqQixrQkFBdUM7UUFFdkMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLDZCQUE2QixDQUN4QyxrQkFBdUM7UUFFdkMsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUNyQixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzlELGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBdUM7UUFDMUUsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUNyQixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3hELGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsWUFBWSxDQUFDLGtCQUF1QztRQUMvRCwrQkFBK0IsRUFBRSxDQUFDO1FBRWxDLE1BQU0sU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FBQyxrQkFBdUM7UUFDaEUsK0JBQStCLEVBQUUsQ0FBQztRQUVsQyxNQUFNLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxHQUFHO1FBQ2QsTUFBTSxHQUFHLEdBQVksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGFBQWE7UUFDeEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGNBQWM7UUFDekIsTUFBTSxXQUFXLEdBQUcsTUFBTSxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVyRSxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNwQixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUQsQ0FBQzs7QUFHSCxlQUFlLEdBQUcsQ0FBQyJ9
@@ -0,0 +1,204 @@
1
+ import { TeeOfferInfo, TransactionOptions, OfferType, Origins, BlockchainId, TokenAmount } from '../types/index.js';
2
+ import { HardwareInfo, TeeOfferOption, TeeOfferSlot, OptionInfo, SlotUsage, SlotInfo } from '../types/index.js';
3
+ import { GetTcbRequest } from '@super-protocol/dto-js';
4
+ declare class TeeOffer {
5
+ private static contract;
6
+ id: BlockchainId;
7
+ violationRate?: bigint | string;
8
+ totalLocked?: TokenAmount;
9
+ offerInfo?: TeeOfferInfo;
10
+ type?: OfferType;
11
+ providerAuthority?: string;
12
+ provider?: string;
13
+ enabled?: boolean;
14
+ tcb?: string;
15
+ tlbAddedTime?: number;
16
+ tcbAddedTime?: number;
17
+ origins?: Origins;
18
+ isCancelable?: boolean;
19
+ minDeposit?: TokenAmount;
20
+ constructor(offerId: BlockchainId);
21
+ /**
22
+ * Function for fetching offer status from the blockchain
23
+ */
24
+ isEnabled(): Promise<boolean>;
25
+ /**
26
+ * Function for fetching offer hold deposit
27
+ */
28
+ getMinDeposit(slotId: BlockchainId, slotCount: number, optionsIds: BlockchainId[], optionsCount: number[]): Promise<TokenAmount>;
29
+ /**
30
+ * @returns this TEE offer slots count
31
+ */
32
+ getSlotsCount(): Promise<number>;
33
+ /**
34
+ * @returns True if offer is cancelable.
35
+ */
36
+ isOfferCancelable(): Promise<boolean>;
37
+ /**
38
+ * Function for fetching TEE offer info from blockchain
39
+ */
40
+ getInfo(): Promise<TeeOfferInfo>;
41
+ /**
42
+ * Function for fetching TEE offer hardware info from blockchain
43
+ */
44
+ getHardwareInfo(): Promise<HardwareInfo>;
45
+ /**
46
+ * Function for fetching tee offer slot by id
47
+ * @param optionId - Slot ID
48
+ */
49
+ getOptionById(optionId: BlockchainId): Promise<TeeOfferOption>;
50
+ getOptions(begin?: number, end?: number): Promise<TeeOfferOption[]>;
51
+ /**
52
+ * Function for fetching whether tee offer slot exists or not
53
+ * @param optionId - Option ID
54
+ */
55
+ isOptionExists(optionId: BlockchainId): Promise<boolean>;
56
+ /**
57
+ * Function for add option usage to the tee offer
58
+ * @param optionId - Option ID
59
+ * @param info - New option info
60
+ * @param usage - New slot usage info
61
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
62
+ */
63
+ addOption(info: OptionInfo, usage: SlotUsage, externalId?: string, transactionOptions?: TransactionOptions): Promise<void>;
64
+ /**
65
+ * Function for update option info and usage
66
+ * @param optionId - Option ID
67
+ * @param newInfo - New option info
68
+ * @param newUsage - New slot usage info
69
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
70
+ */
71
+ updateOption(optionId: BlockchainId, newInfo: OptionInfo, newUsage: SlotUsage, transactionOptions?: TransactionOptions): Promise<void>;
72
+ /**
73
+ * Function for delete option
74
+ * @param optionId - Option ID
75
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
76
+ */
77
+ deleteOption(optionId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
78
+ initializeTcb(transactionOptions?: TransactionOptions): Promise<void>;
79
+ private initializeTcbAndAssignBlocks;
80
+ /**
81
+ * Function initialize TCB and returns list of anothers' TCB for their checking
82
+ * @param teeOfferId - id of TEE offer
83
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
84
+ * @returns tcbId and lists of anothers' TCB for their checking
85
+ */
86
+ getListsForVerification(transactionOptions?: TransactionOptions): Promise<GetTcbRequest>;
87
+ /**
88
+ * Function for fetching whether tee offer slot exists or not
89
+ * @param slotId - Slot ID
90
+ */
91
+ isSlotExists(slotId: BlockchainId): Promise<boolean>;
92
+ /**
93
+ * Function for fetching tee offer slot by id
94
+ * @param slotId - Slot ID
95
+ */
96
+ getSlotById(slotId: BlockchainId): Promise<TeeOfferSlot>;
97
+ /**
98
+ * Function for fetching TEE offer slots info from blockchain
99
+ * @param begin - The first element of range.
100
+ * @param end - One past the final element in the range.
101
+ * @returns {Promise<TeeOfferSlot[]>}
102
+ */
103
+ getSlots(begin?: number, end?: number): Promise<TeeOfferSlot[]>;
104
+ /**
105
+ * Function for add slot usage to the tee offer
106
+ * @param info - New option info
107
+ * @param usage - New slot usage info
108
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
109
+ */
110
+ addSlot(info: SlotInfo, usage: SlotUsage, externalId?: string, transactionOptions?: TransactionOptions): Promise<void>;
111
+ /**
112
+ * Function for update slot usage to the tee offer
113
+ * @param slotId - Slot ID
114
+ * @param newInfo - New slot info
115
+ * @param newUsage - New slot usage info
116
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
117
+ */
118
+ updateSlot(slotId: BlockchainId, newInfo: SlotInfo, newUsage: SlotUsage, transactionOptions?: TransactionOptions): Promise<void>;
119
+ /**
120
+ * Function for delete slot usage to the tee offer
121
+ * @param slotId - Slot ID
122
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
123
+ */
124
+ deleteSlot(slotId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
125
+ /**
126
+ * @param teeOfferId - TEE offer ID
127
+ * @returns {Promise<string>} - Actual TCB ID
128
+ */
129
+ getActualTcbId(): Promise<BlockchainId>;
130
+ /**
131
+ * Function return last inited TCB of TEE offer
132
+ * @param teeOfferId - id of TEE offer
133
+ * */
134
+ getInitializedTcbId(): Promise<BlockchainId>;
135
+ isTcbCreationAvailable(): Promise<boolean>;
136
+ /**
137
+ * Function for fetching TEE offer provider authority account from blockchain
138
+ */
139
+ getProviderAuthority(): Promise<string>;
140
+ /**
141
+ * Fetch offer type from blockchain (works for TEE and Value offers)
142
+ */
143
+ getOfferType(): Promise<OfferType>;
144
+ isTeeOfferVerifying(): Promise<boolean>;
145
+ /**
146
+ * Function for fetching TLB provider from blockchain
147
+ */
148
+ getTlb(): Promise<string>;
149
+ /**
150
+ * Function for fetching violationRate for this TEE offer
151
+ */
152
+ getViolationRate(): Promise<bigint | string>;
153
+ /**
154
+ * Fetch new Origins (createdDate, createdBy, modifiedDate and modifiedBy)
155
+ */
156
+ getOrigins(): Promise<Origins>;
157
+ /**
158
+ * Updates TLB in offer info
159
+ * @param tlb - new TLB
160
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
161
+ */
162
+ addTlb(tlb: string, transactionOptions?: TransactionOptions): Promise<void>;
163
+ /**
164
+ * Updates name in offer info
165
+ * @param name - new name
166
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
167
+ */
168
+ setName(name: string, transactionOptions?: TransactionOptions): Promise<void>;
169
+ /**
170
+ * Updates offer info
171
+ * @param newInfo - new offer info
172
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
173
+ */
174
+ setInfo(newInfo: TeeOfferInfo, transactionOptions?: TransactionOptions): Promise<void>;
175
+ /**
176
+ * Updates offer hardware info
177
+ * @param newHardwareInfo - new offer hardware info
178
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
179
+ */
180
+ setHardwareInfo(newHardwareInfo: HardwareInfo, transactionOptions?: TransactionOptions): Promise<void>;
181
+ /**
182
+ * Updates description in offer info
183
+ * @param description - new description
184
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
185
+ */
186
+ setDescription(description: string, transactionOptions?: TransactionOptions): Promise<void>;
187
+ /**
188
+ * Updates argsPublicKey and argsPublicKeyAlgo in order info
189
+ * @param argsPublicKey - new argsPublicKey
190
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
191
+ */
192
+ setKeys(argsPublicKey: string, transactionOptions?: TransactionOptions): Promise<void>;
193
+ /**
194
+ * Function for disabling TEE offer
195
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
196
+ */
197
+ disable(transactionOptions?: TransactionOptions): Promise<void>;
198
+ /**
199
+ * Function for enabling TEE offer
200
+ * @param transactionOptions - object what contains alternative action account or gas limit (optional)
201
+ */
202
+ enable(transactionOptions?: TransactionOptions): Promise<void>;
203
+ }
204
+ export default TeeOffer;