@super-protocol/sdk-js 3.16.4 → 3.17.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 (215) hide show
  1. package/dist/cjs/RIGenerator.d.ts +3 -2
  2. package/dist/cjs/RIGenerator.js +7 -6
  3. package/dist/cjs/TIIGenerator.d.ts +2 -2
  4. package/dist/cjs/TIIGenerator.js +32 -4
  5. package/dist/cjs/TeeInputGeneratorBase.d.ts +3 -3
  6. package/dist/cjs/TeeInputGeneratorBase.js +5 -5
  7. package/dist/cjs/certificates/serializer.d.ts +5 -3
  8. package/dist/cjs/certificates/serializer.js +26 -11
  9. package/dist/cjs/certificates/types.d.ts +1 -1
  10. package/dist/cjs/connectors/BaseConnector.d.ts +3 -3
  11. package/dist/cjs/connectors/BaseConnector.js +1 -1
  12. package/dist/cjs/connectors/BlockchainConnector.js +3 -3
  13. package/dist/cjs/connectors/BlockchainEventsListener.d.ts +2 -2
  14. package/dist/cjs/connectors/BlockchainEventsListener.js +3 -2
  15. package/dist/cjs/constants.d.ts +1 -3
  16. package/dist/cjs/constants.js +3 -7
  17. package/dist/cjs/contracts/abi.d.ts +1067 -1137
  18. package/dist/cjs/contracts/abi.js +1408 -1500
  19. package/dist/cjs/crypto/Crypto.d.ts +10 -13
  20. package/dist/cjs/crypto/Crypto.js +14 -17
  21. package/dist/cjs/crypto/nodejs/AES.d.ts +1 -1
  22. package/dist/cjs/crypto/nodejs/AES.js +2 -2
  23. package/dist/cjs/crypto/nodejs/ARIA.d.ts +1 -1
  24. package/dist/cjs/crypto/nodejs/ARIA.js +2 -2
  25. package/dist/cjs/errors/index.d.ts +1 -0
  26. package/dist/cjs/errors/index.js +4 -2
  27. package/dist/cjs/errors/insufficient-funds.error.d.ts +19 -0
  28. package/dist/cjs/errors/insufficient-funds.error.js +57 -0
  29. package/dist/cjs/index.d.ts +3 -6
  30. package/dist/cjs/index.js +6 -9
  31. package/dist/cjs/models/Offer.d.ts +16 -1
  32. package/dist/cjs/models/Offer.js +59 -9
  33. package/dist/cjs/models/Order.d.ts +1 -1
  34. package/dist/cjs/models/Order.js +11 -15
  35. package/dist/cjs/models/Provider.d.ts +0 -1
  36. package/dist/cjs/models/Provider.js +1 -7
  37. package/dist/cjs/models/TCB.d.ts +1 -28
  38. package/dist/cjs/models/TCB.js +1 -61
  39. package/dist/cjs/models/TeeOffer.d.ts +3 -18
  40. package/dist/cjs/models/TeeOffer.js +20 -106
  41. package/dist/cjs/providers/storage/S3StorageProvider.js +5 -5
  42. package/dist/cjs/providers/storage/StorageKeyValueAdapter.d.ts +1 -1
  43. package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +7 -7
  44. package/dist/cjs/providers/storage/fs-storage-provider.js +35 -15
  45. package/dist/cjs/providers/storage/parseStorageCredentials.d.ts +1 -2
  46. package/dist/cjs/staticModels/Consensus.d.ts +5 -16
  47. package/dist/cjs/staticModels/Consensus.js +17 -86
  48. package/dist/cjs/staticModels/Offers.d.ts +4 -1
  49. package/dist/cjs/staticModels/Offers.js +9 -8
  50. package/dist/cjs/staticModels/OffersCommon.d.ts +3 -1
  51. package/dist/cjs/staticModels/OffersCommon.js +6 -2
  52. package/dist/cjs/staticModels/Orders.js +12 -11
  53. package/dist/cjs/staticModels/ProviderRewards.js +2 -2
  54. package/dist/cjs/staticModels/StaticModel.js +5 -5
  55. package/dist/cjs/staticModels/SuperproToken.d.ts +7 -7
  56. package/dist/cjs/staticModels/SuperproToken.js +3 -3
  57. package/dist/cjs/staticModels/TeeOffers.d.ts +1 -7
  58. package/dist/cjs/staticModels/TeeOffers.js +11 -20
  59. package/dist/cjs/store.d.ts +0 -1
  60. package/dist/cjs/store.js +1 -2
  61. package/dist/cjs/tee/TeeBlockVerifier.d.ts +1 -2
  62. package/dist/cjs/tee/TeeBlockVerifier.js +17 -24
  63. package/dist/cjs/tee/TeeCertificateService.d.ts +1 -1
  64. package/dist/cjs/tee/TeeCertificateService.js +6 -10
  65. package/dist/cjs/tee/statuses.d.ts +0 -7
  66. package/dist/cjs/tee/statuses.js +2 -10
  67. package/dist/cjs/types/Consensus.d.ts +10 -31
  68. package/dist/cjs/types/Consensus.js +2 -10
  69. package/dist/cjs/types/Offer.d.ts +5 -0
  70. package/dist/cjs/types/Order.d.ts +26 -21
  71. package/dist/cjs/types/Order.js +24 -17
  72. package/dist/cjs/types/index.d.ts +0 -1
  73. package/dist/cjs/types/index.js +1 -2
  74. package/dist/cjs/utils/CryptoKeysTransformer.js +5 -5
  75. package/dist/cjs/utils/TxManager.js +21 -5
  76. package/dist/cjs/utils/helper.d.ts +2 -8
  77. package/dist/cjs/utils/helper.js +6 -75
  78. package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +2 -2
  79. package/dist/cjs/utils/helpers/OrderArgsHelper.js +5 -5
  80. package/dist/cjs/utils/helpers/index.d.ts +1 -0
  81. package/dist/cjs/utils/helpers/index.js +2 -1
  82. package/dist/cjs/utils/helpers/streamToBuffer.d.ts +4 -0
  83. package/dist/cjs/utils/helpers/streamToBuffer.js +13 -0
  84. package/dist/cjs/utils/order/versify.js +1 -7
  85. package/dist/cjs/utils/rent-calculator/rent-calculator.js +2 -3
  86. package/dist/cjs/utils/rent-calculator/types.d.ts +0 -1
  87. package/dist/cjs/utils/tcb.d.ts +2 -0
  88. package/dist/cjs/utils/tcb.js +13 -0
  89. package/dist/cjs/utils/types.d.ts +0 -5
  90. package/dist/mjs/RIGenerator.d.ts +3 -2
  91. package/dist/mjs/RIGenerator.js +8 -7
  92. package/dist/mjs/TIIGenerator.d.ts +2 -2
  93. package/dist/mjs/TIIGenerator.js +32 -4
  94. package/dist/mjs/TeeInputGeneratorBase.d.ts +3 -3
  95. package/dist/mjs/TeeInputGeneratorBase.js +5 -5
  96. package/dist/mjs/certificates/serializer.d.ts +5 -3
  97. package/dist/mjs/certificates/serializer.js +26 -11
  98. package/dist/mjs/certificates/types.d.ts +1 -1
  99. package/dist/mjs/connectors/BaseConnector.d.ts +3 -3
  100. package/dist/mjs/connectors/BaseConnector.js +1 -1
  101. package/dist/mjs/connectors/BlockchainConnector.js +3 -3
  102. package/dist/mjs/connectors/BlockchainEventsListener.d.ts +2 -2
  103. package/dist/mjs/connectors/BlockchainEventsListener.js +3 -2
  104. package/dist/mjs/constants.d.ts +1 -3
  105. package/dist/mjs/constants.js +2 -6
  106. package/dist/mjs/contracts/abi.d.ts +1067 -1137
  107. package/dist/mjs/contracts/abi.js +1406 -1498
  108. package/dist/mjs/crypto/Crypto.d.ts +10 -13
  109. package/dist/mjs/crypto/Crypto.js +14 -17
  110. package/dist/mjs/crypto/nodejs/AES.d.ts +1 -1
  111. package/dist/mjs/crypto/nodejs/AES.js +2 -2
  112. package/dist/mjs/crypto/nodejs/ARIA.d.ts +1 -1
  113. package/dist/mjs/crypto/nodejs/ARIA.js +2 -2
  114. package/dist/mjs/errors/index.d.ts +1 -0
  115. package/dist/mjs/errors/index.js +2 -1
  116. package/dist/mjs/errors/insufficient-funds.error.d.ts +19 -0
  117. package/dist/mjs/errors/insufficient-funds.error.js +53 -0
  118. package/dist/mjs/index.d.ts +3 -6
  119. package/dist/mjs/index.js +4 -7
  120. package/dist/mjs/models/Offer.d.ts +16 -1
  121. package/dist/mjs/models/Offer.js +53 -3
  122. package/dist/mjs/models/Order.d.ts +1 -1
  123. package/dist/mjs/models/Order.js +11 -15
  124. package/dist/mjs/models/Provider.d.ts +0 -1
  125. package/dist/mjs/models/Provider.js +1 -7
  126. package/dist/mjs/models/TCB.d.ts +1 -28
  127. package/dist/mjs/models/TCB.js +2 -62
  128. package/dist/mjs/models/TeeOffer.d.ts +3 -18
  129. package/dist/mjs/models/TeeOffer.js +13 -99
  130. package/dist/mjs/providers/storage/S3StorageProvider.js +5 -5
  131. package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +1 -1
  132. package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +7 -7
  133. package/dist/mjs/providers/storage/fs-storage-provider.js +35 -15
  134. package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +1 -2
  135. package/dist/mjs/staticModels/Consensus.d.ts +5 -16
  136. package/dist/mjs/staticModels/Consensus.js +18 -87
  137. package/dist/mjs/staticModels/Offers.d.ts +4 -1
  138. package/dist/mjs/staticModels/Offers.js +9 -8
  139. package/dist/mjs/staticModels/OffersCommon.d.ts +3 -1
  140. package/dist/mjs/staticModels/OffersCommon.js +6 -2
  141. package/dist/mjs/staticModels/Orders.js +12 -11
  142. package/dist/mjs/staticModels/ProviderRewards.js +3 -3
  143. package/dist/mjs/staticModels/StaticModel.js +5 -5
  144. package/dist/mjs/staticModels/SuperproToken.d.ts +7 -7
  145. package/dist/mjs/staticModels/SuperproToken.js +3 -3
  146. package/dist/mjs/staticModels/TeeOffers.d.ts +1 -7
  147. package/dist/mjs/staticModels/TeeOffers.js +12 -21
  148. package/dist/mjs/store.d.ts +0 -1
  149. package/dist/mjs/store.js +2 -3
  150. package/dist/mjs/tee/TeeBlockVerifier.d.ts +1 -2
  151. package/dist/mjs/tee/TeeBlockVerifier.js +17 -24
  152. package/dist/mjs/tee/TeeCertificateService.d.ts +1 -1
  153. package/dist/mjs/tee/TeeCertificateService.js +7 -11
  154. package/dist/mjs/tee/statuses.d.ts +0 -7
  155. package/dist/mjs/tee/statuses.js +1 -9
  156. package/dist/mjs/types/Consensus.d.ts +10 -31
  157. package/dist/mjs/types/Consensus.js +1 -9
  158. package/dist/mjs/types/Offer.d.ts +5 -0
  159. package/dist/mjs/types/Order.d.ts +26 -21
  160. package/dist/mjs/types/Order.js +21 -17
  161. package/dist/mjs/types/index.d.ts +0 -1
  162. package/dist/mjs/types/index.js +1 -2
  163. package/dist/mjs/utils/CryptoKeysTransformer.js +5 -5
  164. package/dist/mjs/utils/TxManager.js +21 -5
  165. package/dist/mjs/utils/helper.d.ts +2 -8
  166. package/dist/mjs/utils/helper.js +5 -68
  167. package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +2 -2
  168. package/dist/mjs/utils/helpers/OrderArgsHelper.js +5 -5
  169. package/dist/mjs/utils/helpers/index.d.ts +1 -0
  170. package/dist/mjs/utils/helpers/index.js +2 -1
  171. package/dist/mjs/utils/helpers/streamToBuffer.d.ts +4 -0
  172. package/dist/mjs/utils/helpers/streamToBuffer.js +9 -0
  173. package/dist/mjs/utils/order/versify.js +1 -7
  174. package/dist/mjs/utils/rent-calculator/rent-calculator.js +2 -3
  175. package/dist/mjs/utils/rent-calculator/types.d.ts +0 -1
  176. package/dist/mjs/utils/tcb.d.ts +2 -0
  177. package/dist/mjs/utils/tcb.js +9 -0
  178. package/dist/mjs/utils/types.d.ts +0 -5
  179. package/package.json +8 -9
  180. package/dist/cjs/contracts/Campaign.d.ts +0 -1198
  181. package/dist/cjs/contracts/Campaign.js +0 -1554
  182. package/dist/cjs/contracts/adminCertificateHelperAbi.d.ts +0 -316
  183. package/dist/cjs/contracts/adminCertificateHelperAbi.js +0 -410
  184. package/dist/cjs/proto/TeeDeviceInfo.d.ts +0 -292
  185. package/dist/cjs/proto/TeeDeviceInfo.js +0 -491
  186. package/dist/cjs/staticModels/AdminCertificateHelper.d.ts +0 -24
  187. package/dist/cjs/staticModels/AdminCertificateHelper.js +0 -99
  188. package/dist/cjs/staticModels/Campaign.d.ts +0 -62
  189. package/dist/cjs/staticModels/Campaign.js +0 -318
  190. package/dist/cjs/tee/QuoteValidator.d.ts +0 -46
  191. package/dist/cjs/tee/QuoteValidator.js +0 -456
  192. package/dist/cjs/tee/TcbSerializer.d.ts +0 -20
  193. package/dist/cjs/tee/TcbSerializer.js +0 -27
  194. package/dist/cjs/types/Campaign.d.ts +0 -55
  195. package/dist/cjs/types/Campaign.js +0 -17
  196. package/dist/cjs/utils/admin-service.d.ts +0 -13
  197. package/dist/cjs/utils/admin-service.js +0 -73
  198. package/dist/mjs/contracts/Campaign.d.ts +0 -1198
  199. package/dist/mjs/contracts/Campaign.js +0 -1551
  200. package/dist/mjs/contracts/adminCertificateHelperAbi.d.ts +0 -316
  201. package/dist/mjs/contracts/adminCertificateHelperAbi.js +0 -407
  202. package/dist/mjs/proto/TeeDeviceInfo.d.ts +0 -292
  203. package/dist/mjs/proto/TeeDeviceInfo.js +0 -485
  204. package/dist/mjs/staticModels/AdminCertificateHelper.d.ts +0 -24
  205. package/dist/mjs/staticModels/AdminCertificateHelper.js +0 -92
  206. package/dist/mjs/staticModels/Campaign.d.ts +0 -62
  207. package/dist/mjs/staticModels/Campaign.js +0 -313
  208. package/dist/mjs/tee/QuoteValidator.d.ts +0 -46
  209. package/dist/mjs/tee/QuoteValidator.js +0 -449
  210. package/dist/mjs/tee/TcbSerializer.d.ts +0 -20
  211. package/dist/mjs/tee/TcbSerializer.js +0 -23
  212. package/dist/mjs/types/Campaign.d.ts +0 -55
  213. package/dist/mjs/types/Campaign.js +0 -14
  214. package/dist/mjs/utils/admin-service.d.ts +0 -13
  215. package/dist/mjs/utils/admin-service.js +0 -66
@@ -7,15 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { checkIfActionAccountInitialized, incrementMethodCall, packSlotInfo, convertTeeOfferOptionFromRaw, formatTeeOfferSlot, cleanWeb3Data, convertBigIntToString, transformComplexObject, convertOptionInfoToRaw, packDeviceId, convertOfferVersion, convertTeeOfferInfo, convertOrigins, } from '../utils/helper.js';
10
+ import { checkIfActionAccountInitialized, incrementMethodCall, packSlotInfo, convertTeeOfferOptionFromRaw, formatTeeOfferSlot, cleanWeb3Data, convertBigIntToString, transformComplexObject, convertOptionInfoToRaw, convertOfferVersion, convertTeeOfferInfo, convertOrigins, } from '../utils/helper.js';
11
11
  import { TeeOfferSubtype, } from '../types/index.js';
12
12
  import { BlockchainConnector } from '../connectors/index.js';
13
13
  import TxManager from '../utils/TxManager.js';
14
- import { formatBytes32String } from 'ethers/lib/utils.js';
14
+ import { encodeBytes32String } from 'ethers';
15
15
  import TeeOffers from '../staticModels/TeeOffers.js';
16
- import { TCB } from '../models/index.js';
17
- import { HashSchema, } from '@super-protocol/dto-js';
18
- import Consensus from '../staticModels/Consensus.js';
16
+ import { HashSchema } from '@super-protocol/dto-js';
19
17
  import { deserializeBySchema, serializeBySchema } from '../utils/schema-utils/index.js';
20
18
  import { getBcErrorMessage } from '../errors/utils.js';
21
19
  import { NotFoundError } from '../errors/index.js';
@@ -150,7 +148,7 @@ class TeeOffer {
150
148
  async addOption(info, usage, externalId = 'default', transactionOptions) {
151
149
  const contract = BlockchainConnector.getInstance().getContract();
152
150
  checkIfActionAccountInitialized(transactionOptions);
153
- const formattedExternalId = formatBytes32String(externalId);
151
+ const formattedExternalId = encodeBytes32String(externalId);
154
152
  const newTeeOptionId = await StaticModel.createEntity({
155
153
  txExecutorCallback: async () => {
156
154
  await TxManager.execute(contract.methods.addOption(this.id, formattedExternalId, convertOptionInfoToRaw(info), usage), transactionOptions);
@@ -181,54 +179,6 @@ class TeeOffer {
181
179
  checkIfActionAccountInitialized(transactionOptions);
182
180
  await TxManager.execute(TeeOffer.contract.methods.deleteOption(this.id, optionId), transactionOptions);
183
181
  }
184
- async initializeTcb(deviceId, transactionOptions) {
185
- checkIfActionAccountInitialized();
186
- await TxManager.execute(TeeOffer.contract.methods.initializeTcb(this.id, deviceId), transactionOptions);
187
- }
188
- async initializeTcbAndAssignBlocks(deviceId, transactionOptions) {
189
- await this.initializeTcb(deviceId, transactionOptions);
190
- const tcbId = await this.getInitializedTcbId();
191
- const tcb = new TCB(tcbId);
192
- await tcb.assignLastBlocksToCheck(transactionOptions);
193
- await tcb.assignSuspiciousBlocksToCheck(transactionOptions);
194
- return tcb;
195
- }
196
- /**
197
- * Function initialize TCB and returns list of anothers' TCB for their checking
198
- * @param deviceId - id of TEE offer
199
- * @param transactionOptions - object what contains alternative action account or gas limit (optional)
200
- * @returns tcbId and lists of anothers' TCB for their checking
201
- */
202
- async getListsForVerification(deviceId, transactionOptions) {
203
- checkIfActionAccountInitialized();
204
- deviceId = packDeviceId(deviceId);
205
- const tcb = await this.initializeTcbAndAssignBlocks(deviceId, transactionOptions);
206
- const { checkingTcbIds } = await tcb.getPublicData();
207
- const tcbsPublicData = await Consensus.getTcbsPublicData(checkingTcbIds);
208
- const tcbsUtilityData = await Consensus.getTcbsUtilityData(checkingTcbIds);
209
- const teeOfferIds = [];
210
- for (const tcbId of checkingTcbIds) {
211
- teeOfferIds.push(tcbsUtilityData[tcbId].teeOfferId);
212
- }
213
- const benchmarks = await Consensus.getBenchmarksByTcbIds(checkingTcbIds, teeOfferIds);
214
- const tcbsForVerification = [];
215
- for (const checkingTcbId of checkingTcbIds) {
216
- const { checkingTcbMarks, ...otherPublicData } = tcbsPublicData[checkingTcbId];
217
- const { quote, pubKey } = tcbsUtilityData[checkingTcbId];
218
- tcbsForVerification.push({
219
- ...otherPublicData,
220
- benchmark: benchmarks[checkingTcbId],
221
- checkingTcbId,
222
- checkingTcbMarks: checkingTcbMarks.map((mark) => mark),
223
- pubKey,
224
- quote,
225
- });
226
- }
227
- return {
228
- tcbId: tcb.tcbId.toString(),
229
- tcbsForVerification,
230
- };
231
- }
232
182
  /**
233
183
  * Returns the offer version info.
234
184
  */
@@ -304,7 +254,7 @@ class TeeOffer {
304
254
  async addSlot(info, usage, externalId = 'default', transactionOptions) {
305
255
  checkIfActionAccountInitialized(transactionOptions);
306
256
  info = packSlotInfo(info, await TeeOffers.getDenominator());
307
- const formattedExternalId = formatBytes32String(externalId);
257
+ const formattedExternalId = encodeBytes32String(externalId);
308
258
  const newTeeSlotId = await StaticModel.createEntity({
309
259
  txExecutorCallback: async () => {
310
260
  await TxManager.execute(TeeOffer.contract.methods.addTeeOfferSlot(this.id, formattedExternalId, info, usage), transactionOptions);
@@ -370,17 +320,9 @@ class TeeOffer {
370
320
  getActualTcbId() {
371
321
  return TeeOffer.contract.methods.getActualTcbId(this.id).call();
372
322
  }
373
- /**
374
- * Function return last initialized TCB of TEE offer
375
- */
376
- getInitializedTcbId() {
377
- return TeeOffer.contract.methods.getInitializedTcbId(this.id).call();
378
- }
379
- async isTcbCreationAvailable(deviceId) {
380
- const { offerNotBlocked, newEpochStarted, halfEpochPassed, benchmarkVerified } = cleanWeb3Data(await TeeOffer.contract.methods
381
- .isTcbCreationAvailable(this.id, packDeviceId(deviceId))
382
- .call());
383
- return offerNotBlocked && newEpochStarted && halfEpochPassed && benchmarkVerified;
323
+ async isTcbCreationAvailable(pubKey) {
324
+ const { offerNotBlocked, newEpochStarted, halfEpochPassed } = cleanWeb3Data(await TeeOffer.contract.methods.isTcbCreationAvailable(this.id, pubKey).call());
325
+ return offerNotBlocked && newEpochStarted && halfEpochPassed;
384
326
  }
385
327
  /**
386
328
  * Function for fetching TEE offer provider authority account from blockchain
@@ -405,9 +347,6 @@ class TeeOffer {
405
347
  this.type = await TeeOffer.contract.methods.getTeeOfferSubtype(this.id).call();
406
348
  return this.type.toString();
407
349
  }
408
- isTeeOfferVerifying() {
409
- return TeeOffer.contract.methods.isTeeOfferVerified(this.id).call();
410
- }
411
350
  /**
412
351
  * Function for fetching violationRate for this TEE offer
413
352
  */
@@ -446,8 +385,8 @@ class TeeOffer {
446
385
  */
447
386
  async setInfo(newInfo, transactionOptions) {
448
387
  checkIfActionAccountInitialized(transactionOptions);
449
- const { hardwareInfo, subType, ...offerInfo } = newInfo;
450
- await this.setHardwareInfo(hardwareInfo, transactionOptions);
388
+ const { hardwareInfo: { optionInfo }, subType, ...offerInfo } = newInfo;
389
+ await this.setTeeOfferHardwareOptionInfo(optionInfo, transactionOptions);
451
390
  await TxManager.execute(TeeOffer.contract.methods.setTeeOfferInfo(this.id, {
452
391
  ...offerInfo,
453
392
  subtype: subType,
@@ -460,10 +399,9 @@ class TeeOffer {
460
399
  * @param newHardwareInfo - new offer hardware info
461
400
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
462
401
  */
463
- async setHardwareInfo(newHardwareInfo, transactionOptions) {
402
+ async setTeeOfferHardwareOptionInfo(optionInfo, transactionOptions) {
464
403
  checkIfActionAccountInitialized(transactionOptions);
465
- newHardwareInfo = await TeeOffers.packHardwareInfo(newHardwareInfo);
466
- await TxManager.execute(TeeOffer.contract.methods.setTeeOfferHardwareInfo(this.id, newHardwareInfo.slotInfo, convertOptionInfoToRaw(newHardwareInfo.optionInfo)), transactionOptions);
404
+ await TxManager.execute(TeeOffer.contract.methods.setTeeOfferHardwareOptionInfo(this.id, convertOptionInfoToRaw(optionInfo)), transactionOptions);
467
405
  }
468
406
  /**
469
407
  * Updates description in offer info
@@ -575,24 +513,6 @@ __decorate([
575
513
  __metadata("design:paramtypes", [String, Object]),
576
514
  __metadata("design:returntype", Promise)
577
515
  ], TeeOffer.prototype, "deleteOption", null);
578
- __decorate([
579
- incrementMethodCall(),
580
- __metadata("design:type", Function),
581
- __metadata("design:paramtypes", [String, Object]),
582
- __metadata("design:returntype", Promise)
583
- ], TeeOffer.prototype, "initializeTcb", null);
584
- __decorate([
585
- incrementMethodCall(),
586
- __metadata("design:type", Function),
587
- __metadata("design:paramtypes", [String, Object]),
588
- __metadata("design:returntype", Promise)
589
- ], TeeOffer.prototype, "initializeTcbAndAssignBlocks", null);
590
- __decorate([
591
- incrementMethodCall(),
592
- __metadata("design:type", Function),
593
- __metadata("design:paramtypes", [String, Object]),
594
- __metadata("design:returntype", Promise)
595
- ], TeeOffer.prototype, "getListsForVerification", null);
596
516
  __decorate([
597
517
  incrementMethodCall(),
598
518
  __metadata("design:type", Function),
@@ -653,12 +573,6 @@ __decorate([
653
573
  __metadata("design:paramtypes", []),
654
574
  __metadata("design:returntype", Promise)
655
575
  ], TeeOffer.prototype, "getSubtype", null);
656
- __decorate([
657
- incrementMethodCall(),
658
- __metadata("design:type", Function),
659
- __metadata("design:paramtypes", []),
660
- __metadata("design:returntype", Promise)
661
- ], TeeOffer.prototype, "isTeeOfferVerifying", null);
662
576
  __decorate([
663
577
  incrementMethodCall(),
664
578
  __metadata("design:type", Function),
@@ -672,4 +586,4 @@ __decorate([
672
586
  __metadata("design:returntype", Promise)
673
587
  ], TeeOffer.prototype, "setSubtype", null);
674
588
  export default TeeOffer;
675
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL1RlZU9mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLFlBQVksRUFDWiw0QkFBNEIsRUFDNUIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBVUwsZUFBZSxHQU1oQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBUzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6QyxPQUFPLEVBSUwsVUFBVSxHQUNYLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sV0FBVyxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE1BQU0sUUFBUTtJQUNKLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRXZDLEVBQUUsQ0FBZTtJQUVqQixhQUFhLENBQW1CO0lBQ2hDLFdBQVcs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
589
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL1RlZU9mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLFlBQVksRUFDWiw0QkFBNEIsRUFDNUIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFVTCxlQUFlLEdBTWhCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdDLE9BQU8sU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxXQUFXLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQsTUFBTSxRQUFRO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFFdkMsRUFBRSxDQUFlO0lBRWpCLGFBQWEsQ0FBbUI7SUFDaEMsV0FBVyxDQUFlO0lBQzFCLFNBQVMsQ0FBZ0I7SUFFekIsSUFBSSxDQUFhO0lBQ2pCLGlCQUFpQixDQUFVO0lBQzNCLFFBQVEsQ0FBVTtJQUNsQixPQUFPLENBQVc7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
@@ -1,6 +1,7 @@
1
1
  import { AbortMultipartUploadCommand, CompleteMultipartUploadCommand, CreateMultipartUploadCommand, PutObjectCommand, DeleteObjectCommand, GetObjectCommand, HeadObjectCommand, ListObjectsV2Command, S3Client, UploadPartCommand, } from '@aws-sdk/client-s3';
2
2
  import { Readable } from 'stream';
3
3
  import { getStreamChunks } from '../../utils/helpers/getStreamChunks.js';
4
+ import { streamToBuffer } from '../../utils/helpers/streamToBuffer.js';
4
5
  import path from 'path';
5
6
  import { isNodeJS } from '../../utils/helper.js';
6
7
  export class S3StorageProvider {
@@ -41,17 +42,16 @@ export class S3StorageProvider {
41
42
  // For performance & cost optimization
42
43
  // https://docs.storj.io/dcs/api-reference/s3-compatible-gateway/multipart-upload/multipart-part-size
43
44
  const key = this.applyPrefix(remotePath);
44
- const body = isNodeJS()
45
- ? inputStream
46
- : new Uint8Array(await inputStream.arrayBuffer());
47
45
  if (contentLength >= this.multipartChunkSizeInBytes) {
48
46
  return this.multipartUpload(inputStream, key, contentLength, progressListener);
49
47
  }
48
+ const body = isNodeJS()
49
+ ? await streamToBuffer(inputStream)
50
+ : new Uint8Array(await inputStream.arrayBuffer());
50
51
  const putObjectCommand = new PutObjectCommand({
51
52
  Body: body,
52
53
  Bucket: this.bucket,
53
54
  Key: key,
54
- ContentLength: contentLength,
55
55
  });
56
56
  progressListener?.(contentLength, 0);
57
57
  await this.s3Client.send(putObjectCommand);
@@ -200,4 +200,4 @@ export class S3StorageProvider {
200
200
  return metadata.LastModified;
201
201
  }
202
202
  }
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvUzNTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUUzQiw4QkFBOEIsRUFDOUIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBRWhCLGlCQUFpQixFQUVqQixvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLGlCQUFpQixHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPakQsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLFFBQVEsQ0FBVztJQUNuQixNQUFNLENBQVM7SUFDZixNQUFNLENBQVM7SUFDZix5QkFBeUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU87SUFDckQsYUFBYSxHQUFHLFdBQVcsQ0FBQztJQUU3QyxZQUFZLGFBQTZCO1FBQ3ZDLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUNuRixJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMs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
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvUzNTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUUzQiw4QkFBOEIsRUFDOUIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBRWhCLGlCQUFpQixFQUVqQixvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLGlCQUFpQixHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV2RSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT2pELE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxRQUFRLENBQVc7SUFDbkIsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBQ2YseUJBQXlCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPO0lBQ3JELGFBQWEsR0FBRyxXQUFXLENBQUM7SUFFN0MsWUFBWSxhQUE2QjtRQUN2QyxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUM7UUFDbkYsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFD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
@@ -12,7 +12,7 @@ export default class StorageKeyValueAdapter<V extends object> implements IStorag
12
12
  private readonly logger?;
13
13
  constructor(storageAccess: StorageAccess, config?: StorageKeyValueAdapterConfig);
14
14
  protected decrypt(encryption: Encryption, key: string): Promise<V | null>;
15
- protected encrypt(data: V | null, key: string): Promise<Encryption>;
15
+ protected encrypt(data: V | null, key: string): Encryption;
16
16
  private downloadFromStorage;
17
17
  private streamToString;
18
18
  private storageUpload;
@@ -62,7 +62,7 @@ export default class StorageKeyValueAdapter {
62
62
  const encryptedValue = this.hasEncryption && privateKey ? await this.encrypt(value, privateKey) : value;
63
63
  const buffer = Buffer.from(JSON.stringify(encryptedValue));
64
64
  await this.storageProvider.uploadFile(Readable.from(buffer), key, buffer.byteLength);
65
- this.logger?.info({ data: key }, 'Success uploading to storage');
65
+ this.logger?.trace({ data: key }, 'Success uploading to storage');
66
66
  }
67
67
  catch (err) {
68
68
  this.logger?.error({ err }, 'Error uploading to storage');
@@ -72,10 +72,10 @@ export default class StorageKeyValueAdapter {
72
72
  async storageDelete(key) {
73
73
  try {
74
74
  await this.storageProvider.deleteObject(key);
75
- this.logger?.info({ data: key }, 'Success deleting from storage');
75
+ this.logger?.trace({ data: key }, 'Success deleting from storage');
76
76
  }
77
77
  catch (err) {
78
- this.logger?.info({ err }, 'Error deleting from storage');
78
+ this.logger?.trace({ err }, 'Error deleting from storage');
79
79
  throw err;
80
80
  }
81
81
  }
@@ -85,7 +85,7 @@ export default class StorageKeyValueAdapter {
85
85
  }
86
86
  try {
87
87
  const downloaded = await this.downloadFromStorage(key);
88
- this.logger?.info({ key }, 'Success download data from storage');
88
+ this.logger?.trace({ key }, 'Success download data from storage');
89
89
  if (!downloaded) {
90
90
  return null;
91
91
  }
@@ -93,7 +93,7 @@ export default class StorageKeyValueAdapter {
93
93
  return this.hasEncryption && privateKey ? await this.decrypt(value, privateKey) : value;
94
94
  }
95
95
  catch (err) {
96
- this.logger?.info({
96
+ this.logger?.trace({
97
97
  err,
98
98
  key,
99
99
  }, 'Error download data from storage');
@@ -110,7 +110,7 @@ export default class StorageKeyValueAdapter {
110
110
  return listObjects.filter((obj) => !obj.isFolder);
111
111
  }
112
112
  catch (err) {
113
- this.logger?.info({
113
+ this.logger?.trace({
114
114
  err,
115
115
  key,
116
116
  }, 'Error list objects from storage');
@@ -130,4 +130,4 @@ export default class StorageKeyValueAdapter {
130
130
  return this.storageListFiles(key);
131
131
  }
132
132
  }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUtleVZhbHVlQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc3RvcmFnZS9TdG9yYWdlS2V5VmFsdWVBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFjLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdkYsT0FBTyxrQkFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLE1BQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sd0JBQXdCLENBQUM7QUFRNUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxzQkFBc0I7SUFHeEIsYUFBYSxDQUFVO0lBQ3ZCLGVBQWUsQ0FBbUI7SUFDbEMsTUFBTSxDQUFpQjtJQUV4QyxZQUFZLGFBQTRCLEVBQUUsTUFBcUM7UUFDN0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE1BQU0sRUFBRSxRQUFRLEdBQUcsSUFBSSxFQUFFLGFBQWEsR0FBRyxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRixJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxLQUFLLENBQUMs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
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUtleVZhbHVlQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc3RvcmFnZS9TdG9yYWdlS2V5VmFsdWVBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFjLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdkYsT0FBTyxrQkFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLE1BQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sd0JBQXdCLENBQUM7QUFRNUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxzQkFBc0I7SUFHeEIsYUFBYSxDQUFVO0lBQ3ZCLGVBQWUsQ0FBbUI7SUFDbEMsTUFBTSxDQUFpQjtJQUV4QyxZQUFZLGFBQTRCLEVBQUUsTUFBcUM7UUFDN0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE1BQU0sRUFBRSxRQUFRLEdBQUcsSUFBSSxFQUFFLGFBQWEsR0FBRyxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRixJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxLQUFLLENBQUMs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
@@ -13,24 +13,44 @@ export class FSStorageProvider {
13
13
  }
14
14
  writeWithProgress(inputStream, outputStream, contentLength, progressListener) {
15
15
  let bytesWritten = 0;
16
+ let failed = false;
16
17
  return new Promise((resolve, reject) => {
17
- outputStream.on('close', resolve).on('error', reject);
18
- inputStream
19
- .once('data', (chunk) => {
20
- const canContinue = outputStream.write(chunk);
21
- if (!canContinue) {
22
- inputStream.pause();
23
- outputStream.once('drain', inputStream.resume.bind(inputStream));
24
- bytesWritten += chunk.length;
25
- if (!!progressListener) {
26
- progressListener(contentLength, bytesWritten);
27
- }
18
+ outputStream.once('finish', resolve).once('error', (err) => {
19
+ failed = true;
20
+ if (!inputStream.destroyed)
21
+ inputStream.destroy(err);
22
+ reject(err);
23
+ });
24
+ outputStream.on('drain', () => {
25
+ if (!inputStream.destroyed && inputStream.isPaused && inputStream.isPaused()) {
26
+ inputStream.resume();
28
27
  }
29
- })
30
- .on('end', () => {
28
+ });
29
+ inputStream.on('data', (chunk) => {
30
+ if (failed || outputStream.destroyed || outputStream.writableEnded)
31
+ return;
32
+ let canContinue = true;
33
+ try {
34
+ canContinue = outputStream.write(chunk);
35
+ }
36
+ catch (err) {
37
+ failed = true;
38
+ if (!inputStream.destroyed)
39
+ inputStream.destroy(err);
40
+ return;
41
+ }
42
+ bytesWritten += chunk.length;
43
+ if (progressListener) {
44
+ progressListener(contentLength, bytesWritten);
45
+ }
46
+ if (!canContinue && !inputStream.destroyed)
47
+ inputStream.pause();
48
+ });
49
+ inputStream
50
+ .once('end', () => {
31
51
  outputStream.end();
32
52
  })
33
- .on('error', reject);
53
+ .once('error', (err) => outputStream.destroy(err));
34
54
  });
35
55
  }
36
56
  async uploadFile(inputStream, remotePath, contentLength, progressListener) {
@@ -109,4 +129,4 @@ export class FSStorageProvider {
109
129
  return fileStat.mtime;
110
130
  }
111
131
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtc3RvcmFnZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc3RvcmFnZS9mcy1zdG9yYWdlLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUk3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLE1BQU0sQ0FBUztJQUNmLE1BQU0sQ0FBUztJQUVoQyxZQUFZLFdBQTBCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFrQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsV0FBNEIsRUFDNUIsWUFBNkIsRUFDN0IsYUFBcUIsRUFDckIsZ0JBQTJEO1FBRTNELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztRQUVyQixPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLFlBQVksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEQsV0FBVztpQkFDUixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RCLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENB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
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtc3RvcmFnZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc3RvcmFnZS9mcy1zdG9yYWdlLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUk3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLE1BQU0sQ0FBUztJQUNmLE1BQU0sQ0FBUztJQUVoQyxZQUFZLFdBQTBCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFrQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsV0FBNEIsRUFDNUIsWUFBNkIsRUFDN0IsYUFBcUIsRUFDckIsZ0JBQTJEO1FBRTNELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFbkIsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMzQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBVSxFQUFFLEVBQUU7Z0JBQ2hFLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTO29CQUFFLFdBQVcsQ0FBQyxP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
@@ -1,5 +1,4 @@
1
1
  import { StorageAccessCredentials } from '@super-protocol/dto-js';
2
2
  import { S3Credentials, StorageCredentials, StorageType, StorjCredentials } from '@super-protocol/dto-js';
3
- type StorageCredentialsType<T extends StorageType | unknown> = T extends StorageType.StorJ ? StorageCredentials<StorjCredentials> : T extends StorageType.S3 ? StorageCredentials<S3Credentials> : StorageCredentials<StorageAccessCredentials>;
3
+ export type StorageCredentialsType<T extends StorageType | unknown> = T extends StorageType.StorJ ? StorageCredentials<StorjCredentials> : T extends StorageType.S3 ? StorageCredentials<S3Credentials> : StorageCredentials<StorageAccessCredentials>;
4
4
  export declare const parseStorageCredentials: <T extends unknown = unknown>(decryptedCredentials: string) => StorageCredentialsType<T>;
5
- export {};
@@ -1,5 +1,5 @@
1
- import { ConsensusConstants, TransactionOptions, BlockInfo, BlockchainId, TokenAmount, TcbPublicData, TcbUtilityData } from '../types/index.js';
2
- import { ConsensusBenchmark } from '@super-protocol/dto-js';
1
+ import { TransactionOptions, BlockInfo, BlockchainId, TokenAmount, TcbUtilityData } from '../types/index.js';
2
+ import { ConsensusBenchmark, TeeConfirmationBlock } from '@super-protocol/dto-js';
3
3
  declare class Consensus {
4
4
  private static readonly logger;
5
5
  private static tcbIds?;
@@ -11,10 +11,7 @@ declare class Consensus {
11
11
  */
12
12
  static getAllTcbs(): Promise<BlockchainId[]>;
13
13
  static getTcbsCount(): Promise<number>;
14
- static getSuspiciousBlockTable(): Promise<string[]>;
15
- static getTcbsPublicData(tcbIds: BlockchainId[], batchSize?: number): Promise<{
16
- [tcbId: BlockchainId]: TcbPublicData;
17
- }>;
14
+ static addTcb(tcb: TeeConfirmationBlock, transactionOptions?: TransactionOptions): Promise<void>;
18
15
  static getTcbsEpochIndex(tcbIds: BlockchainId[], batchSize?: number): Promise<{
19
16
  [tcbId: BlockchainId]: number;
20
17
  }>;
@@ -25,20 +22,12 @@ declare class Consensus {
25
22
  [tcbId: BlockchainId]: TcbUtilityData;
26
23
  }>;
27
24
  static unlockProfitByTcbList(tcbIds: BlockchainId[], transactionOptions?: TransactionOptions): Promise<void>;
28
- static getSuspiciousBlockTableSize(): Promise<string>;
29
- static getLastBlockTable(): Promise<BlockchainId[]>;
30
- static getLastBlockTableSize(): Promise<string>;
31
- static getConstants(): Promise<ConsensusConstants>;
32
25
  static onTcbBanned(callback: onTcbBannedCallback): () => void;
33
- static onTcbCompleted(callback: onTcbCompletedCallback): () => void;
34
- static onTcbInitialized(callback: onTcbInitializedCallback): () => void;
35
- static onTcbBenchmarkChanged(callback: onTcbBenchmarkChangedCallback): () => void;
26
+ static onTcbAdded(callback: onTcbAddedCallback): () => void;
36
27
  static onTcbRewardUnlocked(callback: onTcbRewardUnlockedCallback): () => void;
37
28
  }
38
29
  export type onRewardsClaimedCallback = (tcbId: BlockchainId, amount: TokenAmount, claimer: string, block?: BlockInfo) => void;
39
30
  export type onTcbRewardUnlockedCallback = (tcbId: BlockchainId, rewards: TokenAmount, block?: BlockInfo) => void;
40
- export type onTcbBenchmarkChangedCallback = (tcbId: BlockchainId, action: string, block?: BlockInfo) => void;
41
- export type onTcbInitializedCallback = (tcbId: BlockchainId, action: string, block?: BlockInfo) => void;
42
- export type onTcbCompletedCallback = (tcbId: BlockchainId, action: string, block?: BlockInfo) => void;
31
+ export type onTcbAddedCallback = (tcbId: BlockchainId, action: string, block?: BlockInfo) => void;
43
32
  export type onTcbBannedCallback = (tcbId: BlockchainId, provider: string, block?: BlockInfo) => void;
44
33
  export default Consensus;