@super-protocol/sdk-js 3.16.6 → 3.17.1

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 (227) hide show
  1. package/dist/cjs/RIGenerator.d.ts +3 -3
  2. package/dist/cjs/RIGenerator.js +7 -6
  3. package/dist/cjs/TIIGenerator.d.ts +3 -4
  4. package/dist/cjs/TIIGenerator.js +34 -7
  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/process-order.js +3 -4
  85. package/dist/cjs/utils/order/types.d.ts +0 -1
  86. package/dist/cjs/utils/order/versify.js +1 -7
  87. package/dist/cjs/utils/rent-calculator/rent-calculator.js +2 -3
  88. package/dist/cjs/utils/rent-calculator/types.d.ts +0 -1
  89. package/dist/cjs/utils/tcb.d.ts +2 -0
  90. package/dist/cjs/utils/tcb.js +13 -0
  91. package/dist/cjs/utils/types.d.ts +0 -5
  92. package/dist/mjs/RIGenerator.d.ts +3 -3
  93. package/dist/mjs/RIGenerator.js +8 -7
  94. package/dist/mjs/TIIGenerator.d.ts +3 -4
  95. package/dist/mjs/TIIGenerator.js +34 -7
  96. package/dist/mjs/TeeInputGeneratorBase.d.ts +3 -3
  97. package/dist/mjs/TeeInputGeneratorBase.js +5 -5
  98. package/dist/mjs/certificates/serializer.d.ts +5 -3
  99. package/dist/mjs/certificates/serializer.js +26 -11
  100. package/dist/mjs/certificates/types.d.ts +1 -1
  101. package/dist/mjs/connectors/BaseConnector.d.ts +3 -3
  102. package/dist/mjs/connectors/BaseConnector.js +1 -1
  103. package/dist/mjs/connectors/BlockchainConnector.js +3 -3
  104. package/dist/mjs/connectors/BlockchainEventsListener.d.ts +2 -2
  105. package/dist/mjs/connectors/BlockchainEventsListener.js +3 -2
  106. package/dist/mjs/constants.d.ts +1 -3
  107. package/dist/mjs/constants.js +2 -6
  108. package/dist/mjs/contracts/abi.d.ts +1067 -1137
  109. package/dist/mjs/contracts/abi.js +1406 -1498
  110. package/dist/mjs/crypto/Crypto.d.ts +10 -13
  111. package/dist/mjs/crypto/Crypto.js +14 -17
  112. package/dist/mjs/crypto/nodejs/AES.d.ts +1 -1
  113. package/dist/mjs/crypto/nodejs/AES.js +2 -2
  114. package/dist/mjs/crypto/nodejs/ARIA.d.ts +1 -1
  115. package/dist/mjs/crypto/nodejs/ARIA.js +2 -2
  116. package/dist/mjs/errors/index.d.ts +1 -0
  117. package/dist/mjs/errors/index.js +2 -1
  118. package/dist/mjs/errors/insufficient-funds.error.d.ts +19 -0
  119. package/dist/mjs/errors/insufficient-funds.error.js +53 -0
  120. package/dist/mjs/index.d.ts +3 -6
  121. package/dist/mjs/index.js +4 -7
  122. package/dist/mjs/models/Offer.d.ts +16 -1
  123. package/dist/mjs/models/Offer.js +53 -3
  124. package/dist/mjs/models/Order.d.ts +1 -1
  125. package/dist/mjs/models/Order.js +11 -15
  126. package/dist/mjs/models/Provider.d.ts +0 -1
  127. package/dist/mjs/models/Provider.js +1 -7
  128. package/dist/mjs/models/TCB.d.ts +1 -28
  129. package/dist/mjs/models/TCB.js +2 -62
  130. package/dist/mjs/models/TeeOffer.d.ts +3 -18
  131. package/dist/mjs/models/TeeOffer.js +13 -99
  132. package/dist/mjs/providers/storage/S3StorageProvider.js +5 -5
  133. package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +1 -1
  134. package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +7 -7
  135. package/dist/mjs/providers/storage/fs-storage-provider.js +35 -15
  136. package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +1 -2
  137. package/dist/mjs/staticModels/Consensus.d.ts +5 -16
  138. package/dist/mjs/staticModels/Consensus.js +18 -87
  139. package/dist/mjs/staticModels/Offers.d.ts +4 -1
  140. package/dist/mjs/staticModels/Offers.js +9 -8
  141. package/dist/mjs/staticModels/OffersCommon.d.ts +3 -1
  142. package/dist/mjs/staticModels/OffersCommon.js +6 -2
  143. package/dist/mjs/staticModels/Orders.js +12 -11
  144. package/dist/mjs/staticModels/ProviderRewards.js +3 -3
  145. package/dist/mjs/staticModels/StaticModel.js +5 -5
  146. package/dist/mjs/staticModels/SuperproToken.d.ts +7 -7
  147. package/dist/mjs/staticModels/SuperproToken.js +3 -3
  148. package/dist/mjs/staticModels/TeeOffers.d.ts +1 -7
  149. package/dist/mjs/staticModels/TeeOffers.js +12 -21
  150. package/dist/mjs/store.d.ts +0 -1
  151. package/dist/mjs/store.js +2 -3
  152. package/dist/mjs/tee/TeeBlockVerifier.d.ts +1 -2
  153. package/dist/mjs/tee/TeeBlockVerifier.js +17 -24
  154. package/dist/mjs/tee/TeeCertificateService.d.ts +1 -1
  155. package/dist/mjs/tee/TeeCertificateService.js +7 -11
  156. package/dist/mjs/tee/statuses.d.ts +0 -7
  157. package/dist/mjs/tee/statuses.js +1 -9
  158. package/dist/mjs/types/Consensus.d.ts +10 -31
  159. package/dist/mjs/types/Consensus.js +1 -9
  160. package/dist/mjs/types/Offer.d.ts +5 -0
  161. package/dist/mjs/types/Order.d.ts +26 -21
  162. package/dist/mjs/types/Order.js +21 -17
  163. package/dist/mjs/types/index.d.ts +0 -1
  164. package/dist/mjs/types/index.js +1 -2
  165. package/dist/mjs/utils/CryptoKeysTransformer.js +5 -5
  166. package/dist/mjs/utils/TxManager.js +21 -5
  167. package/dist/mjs/utils/helper.d.ts +2 -8
  168. package/dist/mjs/utils/helper.js +5 -68
  169. package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +2 -2
  170. package/dist/mjs/utils/helpers/OrderArgsHelper.js +5 -5
  171. package/dist/mjs/utils/helpers/index.d.ts +1 -0
  172. package/dist/mjs/utils/helpers/index.js +2 -1
  173. package/dist/mjs/utils/helpers/streamToBuffer.d.ts +4 -0
  174. package/dist/mjs/utils/helpers/streamToBuffer.js +9 -0
  175. package/dist/mjs/utils/order/process-order.js +3 -4
  176. package/dist/mjs/utils/order/types.d.ts +0 -1
  177. package/dist/mjs/utils/order/versify.js +1 -7
  178. package/dist/mjs/utils/rent-calculator/rent-calculator.js +2 -3
  179. package/dist/mjs/utils/rent-calculator/types.d.ts +0 -1
  180. package/dist/mjs/utils/tcb.d.ts +2 -0
  181. package/dist/mjs/utils/tcb.js +9 -0
  182. package/dist/mjs/utils/types.d.ts +0 -5
  183. package/package.json +8 -9
  184. package/dist/cjs/contracts/Campaign.d.ts +0 -1198
  185. package/dist/cjs/contracts/Campaign.js +0 -1554
  186. package/dist/cjs/contracts/CampaignTxPart.d.ts +0 -454
  187. package/dist/cjs/contracts/CampaignTxPart.js +0 -592
  188. package/dist/cjs/contracts/adminCertificateHelperAbi.d.ts +0 -316
  189. package/dist/cjs/contracts/adminCertificateHelperAbi.js +0 -410
  190. package/dist/cjs/proto/TeeDeviceInfo.d.ts +0 -292
  191. package/dist/cjs/proto/TeeDeviceInfo.js +0 -491
  192. package/dist/cjs/staticModels/AdminCertificateHelper.d.ts +0 -24
  193. package/dist/cjs/staticModels/AdminCertificateHelper.js +0 -99
  194. package/dist/cjs/staticModels/Campaign.d.ts +0 -63
  195. package/dist/cjs/staticModels/Campaign.js +0 -318
  196. package/dist/cjs/staticModels/CampaignTxPart.d.ts +0 -19
  197. package/dist/cjs/staticModels/CampaignTxPart.js +0 -58
  198. package/dist/cjs/tee/QuoteValidator.d.ts +0 -46
  199. package/dist/cjs/tee/QuoteValidator.js +0 -456
  200. package/dist/cjs/tee/TcbSerializer.d.ts +0 -20
  201. package/dist/cjs/tee/TcbSerializer.js +0 -27
  202. package/dist/cjs/types/Campaign.d.ts +0 -55
  203. package/dist/cjs/types/Campaign.js +0 -17
  204. package/dist/cjs/utils/admin-service.d.ts +0 -13
  205. package/dist/cjs/utils/admin-service.js +0 -73
  206. package/dist/mjs/contracts/Campaign.d.ts +0 -1198
  207. package/dist/mjs/contracts/Campaign.js +0 -1551
  208. package/dist/mjs/contracts/CampaignTxPart.d.ts +0 -454
  209. package/dist/mjs/contracts/CampaignTxPart.js +0 -589
  210. package/dist/mjs/contracts/adminCertificateHelperAbi.d.ts +0 -316
  211. package/dist/mjs/contracts/adminCertificateHelperAbi.js +0 -407
  212. package/dist/mjs/proto/TeeDeviceInfo.d.ts +0 -292
  213. package/dist/mjs/proto/TeeDeviceInfo.js +0 -485
  214. package/dist/mjs/staticModels/AdminCertificateHelper.d.ts +0 -24
  215. package/dist/mjs/staticModels/AdminCertificateHelper.js +0 -92
  216. package/dist/mjs/staticModels/Campaign.d.ts +0 -63
  217. package/dist/mjs/staticModels/Campaign.js +0 -313
  218. package/dist/mjs/staticModels/CampaignTxPart.d.ts +0 -19
  219. package/dist/mjs/staticModels/CampaignTxPart.js +0 -51
  220. package/dist/mjs/tee/QuoteValidator.d.ts +0 -46
  221. package/dist/mjs/tee/QuoteValidator.js +0 -449
  222. package/dist/mjs/tee/TcbSerializer.d.ts +0 -20
  223. package/dist/mjs/tee/TcbSerializer.js +0 -23
  224. package/dist/mjs/types/Campaign.d.ts +0 -55
  225. package/dist/mjs/types/Campaign.js +0 -14
  226. package/dist/mjs/utils/admin-service.d.ts +0 -13
  227. package/dist/mjs/utils/admin-service.js +0 -66
@@ -62,7 +62,8 @@ class TeeCertificateService {
62
62
  await TeeCertificateService.validateChallengeId(cert, challengeType);
63
63
  break;
64
64
  case pki_common_1.ChallengeType.Certificate:
65
- await TeeCertificateService.validateCertificateChallenge(cert);
65
+ case pki_common_1.ChallengeType.Token:
66
+ await TeeCertificateService.validateCertificateWithSubtype(cert, challengeType);
66
67
  break;
67
68
  default:
68
69
  throw new errors_js_1.NotAllowedChallengeError(`Challenge type ${challengeType || `[none]`} is missing or not allowed!`);
@@ -123,15 +124,10 @@ class TeeCertificateService {
123
124
  }
124
125
  return gpusInfo.gpus;
125
126
  }
126
- static async validateCertificateChallenge(cert) {
127
- const solutionHash = index_js_1.CertificatesHelper.getExtensionValue(cert, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_CERTIFICATE_ID);
128
- if (!solutionHash) {
129
- throw new Error(`Challenge id is missing in certificate!`);
130
- }
131
- if (!constants_js_1.TRUSTED_PKI_SOLUTION_HASHES.includes(solutionHash.toString('hex'))) {
132
- throw new Error(`Solution hash is not in trusted list!`);
127
+ static async validateCertificateWithSubtype(cert, challengeType) {
128
+ if (challengeType === pki_common_1.ChallengeType.Certificate) {
129
+ await TeeCertificateService.validateChallengeId(cert, pki_common_1.ChallengeType.Certificate);
133
130
  }
134
- await TeeCertificateService.validateChallengeId(cert, pki_common_1.ChallengeType.Certificate);
135
131
  const subType = index_js_1.CertificatesHelper.getExtensionValue(cert, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_SUBTYPE)?.toString('binary');
136
132
  switch (subType) {
137
133
  case pki_common_1.ChallengeType.TDX:
@@ -144,4 +140,4 @@ class TeeCertificateService {
144
140
  }
145
141
  }
146
142
  exports.TeeCertificateService = TeeCertificateService;
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQ2VydGlmaWNhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlZS9UZWVDZXJ0aWZpY2F0ZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQWdGO0FBQ2hGLDJEQVFvQztBQUNwQyx1RUFBaUU7QUFDakUsMkNBQThFO0FBQzlFLHVEQUE4RDtBQUM5RCxvREFBcUU7QUFHckUsSUFBWSw2QkFJWDtBQUpELFdBQVksNkJBQTZCO0lBQ3ZDLGdGQUErQyxDQUFBO0lBQy9DLGdGQUErQyxDQUFBO0lBQy9DLDhFQUE2QyxDQUFBO0FBQy9DLENBQUMsRUFKVyw2QkFBNkIsNkNBQTdCLDZCQUE2QixRQUl4QztBQU9ELE1BQWEscUJBQXFCO0lBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsUUFBZ0I7UUFDdEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUNoRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sNkJBQWtCLENBQUMsaUJBQWlCLENBQzFFLFFBQVEsRUFDUiwrQkFBZ0IsQ0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsU0FBUyxFQUFFLDZCQUE2QixDQUFDLHFCQUFxQjtnQkFDOUQsWUFBWSxFQUFFLDJCQUEyQixZQUFZLEdBQUc7YUFDekQsQ0FBQztRQUNKLENBQUM7UUFFRCx3RkFBd0Y7UUFD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
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQ2VydGlmaWNhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlZS9UZWVDZXJ0aWZpY2F0ZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQW1EO0FBQ25ELDJEQVFvQztBQUNwQyx1RUFBaUU7QUFDakUsMkNBQThFO0FBQzlFLHVEQUE4RDtBQUM5RCxvREFBcUU7QUFHckUsSUFBWSw2QkFJWDtBQUpELFdBQVksNkJBQTZCO0lBQ3ZDLGdGQUErQyxDQUFBO0lBQy9DLGdGQUErQyxDQUFBO0lBQy9DLDhFQUE2QyxDQUFBO0FBQy9DLENBQUMsRUFKVyw2QkFBNkIsNkNBQTdCLDZCQUE2QixRQUl4QztBQU9ELE1BQWEscUJBQXFCO0lBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsUUFBZ0I7UUFDdEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUNoRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sNkJBQWtCLENBQUMsaUJBQWlCLENBQzFFLFFBQVEsRUFDUiwrQkFBZ0IsQ0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsU0FBUyxFQUFFLDZCQUE2QixDQUFDLHFCQUFxQjtnQkFDOUQsWUFBWSxFQUFFLDJCQUEyQixZQUFZLEdBQUc7YUFDekQsQ0FBQztRQUNKLENBQUM7UUFFRCx3RkFBd0Y7UUFD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
@@ -12,10 +12,3 @@ export declare enum TCBStatuses {
12
12
  SWHardeningNeeded = "SWHardeningNeeded",
13
13
  OutOfDateConfigurationNeeded = "OutOfDateConfigurationNeeded"
14
14
  }
15
- export declare enum QuoteValidationStatuses {
16
- UpToDate = "UpToDate",
17
- ConfigurationNeeded = "ConfigurationNeeded",
18
- SecurityPatchNeeded = "SecurityPatchNeeded",
19
- SoftwareUpdateNeeded = "SoftwareUpdateNeeded",
20
- Error = "Error"
21
- }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QuoteValidationStatuses = exports.TCBStatuses = exports.QEIdentityStatuses = void 0;
3
+ exports.TCBStatuses = exports.QEIdentityStatuses = void 0;
4
4
  var QEIdentityStatuses;
5
5
  (function (QEIdentityStatuses) {
6
6
  QEIdentityStatuses["UpToDate"] = "UpToDate";
@@ -17,12 +17,4 @@ var TCBStatuses;
17
17
  TCBStatuses["SWHardeningNeeded"] = "SWHardeningNeeded";
18
18
  TCBStatuses["OutOfDateConfigurationNeeded"] = "OutOfDateConfigurationNeeded";
19
19
  })(TCBStatuses || (exports.TCBStatuses = TCBStatuses = {}));
20
- var QuoteValidationStatuses;
21
- (function (QuoteValidationStatuses) {
22
- QuoteValidationStatuses["UpToDate"] = "UpToDate";
23
- QuoteValidationStatuses["ConfigurationNeeded"] = "ConfigurationNeeded";
24
- QuoteValidationStatuses["SecurityPatchNeeded"] = "SecurityPatchNeeded";
25
- QuoteValidationStatuses["SoftwareUpdateNeeded"] = "SoftwareUpdateNeeded";
26
- QuoteValidationStatuses["Error"] = "Error";
27
- })(QuoteValidationStatuses || (exports.QuoteValidationStatuses = QuoteValidationStatuses = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL3N0YXR1c2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFJN0I7QUFFRCxJQUFZLFdBUVg7QUFSRCxXQUFZLFdBQVc7SUFDckIsb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsa0NBQW1CLENBQUE7SUFDbkIsMERBQTJDLENBQUE7SUFDM0Msc0ZBQXVFLENBQUE7SUFDdkUsc0RBQXVDLENBQUE7SUFDdkMsNEVBQTZELENBQUE7QUFDL0QsQ0FBQyxFQVJXLFdBQVcsMkJBQVgsV0FBVyxRQVF0QjtBQUVELElBQVksdUJBTVg7QUFORCxXQUFZLHVCQUF1QjtJQUNqQyxnREFBcUIsQ0FBQTtJQUNyQixzRUFBMkMsQ0FBQTtJQUMzQyxzRUFBMkMsQ0FBQTtJQUMzQyx3RUFBNkMsQ0FBQTtJQUM3QywwQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQU1sQyJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL3N0YXR1c2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFJN0I7QUFFRCxJQUFZLFdBUVg7QUFSRCxXQUFZLFdBQVc7SUFDckIsb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsa0NBQW1CLENBQUE7SUFDbkIsMERBQTJDLENBQUE7SUFDM0Msc0ZBQXVFLENBQUE7SUFDdkUsc0RBQXVDLENBQUE7SUFDdkMsNEVBQTZELENBQUE7QUFDL0QsQ0FBQyxFQVJXLFdBQVcsMkJBQVgsV0FBVyxRQVF0QiJ9
@@ -1,16 +1,18 @@
1
+ import { ChunkedX509Cert, ConsensusBenchmark, CpuInfo } from '@super-protocol/dto-js';
1
2
  import { BlockchainId, TokenAmount } from './Web3.js';
2
- import { TcbVerifiedStatus } from '@super-protocol/dto-js';
3
3
  export type ConsensusBenchmarkStorage = {
4
4
  cpuSize: number;
5
5
  ramSize: number;
6
6
  gpuSize: number;
7
7
  diskSize: number;
8
8
  networkSize: number;
9
+ vramSize: number;
9
10
  cpuMark: number;
10
11
  ramMark: number;
11
12
  gpuMark: number;
12
13
  diskMark: number;
13
14
  networkMark: number;
15
+ cpuInfo: CpuInfo;
14
16
  };
15
17
  export type ConsensusBenchmarkPriceMultipliers = {
16
18
  cpuMultiplier: number;
@@ -19,29 +21,22 @@ export type ConsensusBenchmarkPriceMultipliers = {
19
21
  diskMultiplier: number;
20
22
  networkMultiplier: number;
21
23
  };
22
- export type TcbPublicData = {
23
- checkingTcbIds: BlockchainId[];
24
- checkingTcbMarks: TcbVerifiedStatus[];
25
- deviceId: string;
26
- properties: string;
27
- };
28
24
  export type TcbUtilityData = {
29
25
  teeOfferId: BlockchainId;
30
26
  pubKey: string;
31
- quote: string;
32
27
  };
33
28
  export type TcbData = {
34
29
  status: TcbStatus;
35
30
  previousTcb: BlockchainId;
36
31
  timeAdded: number;
37
- lastBlocksTakenAmount: number;
38
- suspiciousBlocksTakenAmount: number;
39
- negative: number;
40
- positive: number;
41
- lastBlocksTaken: boolean;
42
- suspiciousBlocksTaken: boolean;
43
- checked: boolean;
44
32
  epochIndex: number;
33
+ certsChain: ChunkedX509Cert[];
34
+ rootCertId: BlockchainId;
35
+ };
36
+ export type SignedTcbData = {
37
+ teeOfferId: BlockchainId;
38
+ pubKey: string;
39
+ benchmark: ConsensusBenchmark;
45
40
  };
46
41
  export declare enum TcbStatus {
47
42
  Inited = "0",
@@ -55,19 +50,3 @@ export type EpochInfo = {
55
50
  priceMultipliers: ConsensusBenchmarkPriceMultipliers;
56
51
  penaltyPriceMultipliers: ConsensusBenchmarkPriceMultipliers;
57
52
  };
58
- export type ConsensusConstants = {
59
- CONSENSUS_L1: number;
60
- CONSENSUS_L2: number;
61
- CONSENSUS_K: number;
62
- CONSENSUS_MAX_PENALTIES: number;
63
- MAX_BENCHMARK_OVERRUN_PERCENT: number;
64
- CONSENSUS_EPOCH_DURATION: number;
65
- };
66
- export declare const ConsensusConstantsStructure: {
67
- CONSENSUS_L1: NumberConstructor;
68
- CONSENSUS_L2: NumberConstructor;
69
- CONSENSUS_K: NumberConstructor;
70
- CONSENSUS_MAX_PENALTIES: NumberConstructor;
71
- MAX_BENCHMARK_OVERRUN_PERCENT: NumberConstructor;
72
- CONSENSUS_EPOCH_DURATION: NumberConstructor;
73
- };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConsensusConstantsStructure = exports.TcbStatus = void 0;
3
+ exports.TcbStatus = void 0;
4
4
  var TcbStatus;
5
5
  (function (TcbStatus) {
6
6
  TcbStatus["Inited"] = "0";
@@ -8,12 +8,4 @@ var TcbStatus;
8
8
  TcbStatus["Banned"] = "2";
9
9
  TcbStatus["BenchmarkChanged"] = "3";
10
10
  })(TcbStatus || (exports.TcbStatus = TcbStatus = {}));
11
- exports.ConsensusConstantsStructure = {
12
- CONSENSUS_L1: Number,
13
- CONSENSUS_L2: Number,
14
- CONSENSUS_K: Number,
15
- CONSENSUS_MAX_PENALTIES: Number,
16
- MAX_BENCHMARK_OVERRUN_PERCENT: Number,
17
- CONSENSUS_EPOCH_DURATION: Number,
18
- };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL0NvbnNlbnN1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvREEsSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLHlCQUFZLENBQUE7SUFDWiw0QkFBZSxDQUFBO0lBQ2YseUJBQVksQ0FBQTtJQUNaLG1DQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFMVyxTQUFTLHlCQUFULFNBQVMsUUFLcEI7QUFrQlksUUFBQSwyQkFBMkIsR0FBRztJQUN6QyxZQUFZLEVBQUUsTUFBTTtJQUNwQixZQUFZLEVBQUUsTUFBTTtJQUNwQixXQUFXLEVBQUUsTUFBTTtJQUNuQix1QkFBdUIsRUFBRSxNQUFNO0lBQy9CLDZCQUE2QixFQUFFLE1BQU07SUFDckMsd0JBQXdCLEVBQUUsTUFBTTtDQUNqQyxDQUFDIn0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL0NvbnNlbnN1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUErQ0EsSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLHlCQUFZLENBQUE7SUFDWiw0QkFBZSxDQUFBO0lBQ2YseUJBQVksQ0FBQTtJQUNaLG1DQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFMVyxTQUFTLHlCQUFULFNBQVMsUUFLcEIifQ==
@@ -46,6 +46,7 @@ export type GeneralOfferInfo = {
46
46
  offerType: OfferType;
47
47
  providerAuth: string;
48
48
  enabled: boolean;
49
+ offerActionAccount: string;
49
50
  };
50
51
  export type OfferInfoRaw = OfferInfoBase & {
51
52
  subtype: ValueOfferSubtype;
@@ -68,4 +69,8 @@ export type ValueOfferAggregatedInfo = {
68
69
  offerInfo: OfferInfo;
69
70
  offerSlots: ValueOfferSlot[];
70
71
  };
72
+ export type OfferVersionFilter = {
73
+ includeNew: boolean;
74
+ includeDeleted: boolean;
75
+ };
71
76
  export {};
@@ -1,6 +1,6 @@
1
- import { BytesLike } from 'ethers/lib/utils.js';
1
+ import { BytesLike } from 'ethers';
2
2
  import { TokenAmount, BlockchainId } from './Web3.js';
3
- import { EncryptionKey, RuntimeInputInfo, Hash, SlotInfo } from '@super-protocol/dto-js';
3
+ import { EncryptionKey, RuntimeInputInfo, Hash, SlotInfo, Encryption, type Serialized, UploadStorageCredentials } from '@super-protocol/dto-js';
4
4
  import { OrderUsage, OrderUsageRaw, Origins, SlotUsage } from '../types/index.js';
5
5
  export declare enum OrderStatus {
6
6
  New = "0",
@@ -12,26 +12,28 @@ export declare enum OrderStatus {
12
12
  Blocked = "6",
13
13
  Suspended = "7"
14
14
  }
15
- export type OrderArgs = {
15
+ export interface OrderArgs {
16
16
  inputOffersIds: BlockchainId[];
17
- outputOfferId: BlockchainId;
18
17
  inputOffersVersions: number[];
19
- outputOfferVersion: number;
20
- };
21
- export type OrderSlots = {
18
+ }
19
+ export interface OrderArgsRaw extends OrderArgs {
20
+ outputOfferId_DEPRECATED: BlockchainId;
21
+ outputOfferVersion_DEPRECATED: number;
22
+ }
23
+ export interface OrderSlots {
22
24
  slotId: BlockchainId;
23
25
  slotCount: number;
24
26
  optionsIds: BlockchainId[];
25
27
  optionsCount: number[];
26
- };
27
- export type OrderResultInfo = {
28
+ }
29
+ export interface OrderResultInfo {
28
30
  publicKey: string;
29
- encryptedInfo: string;
30
- };
31
- export type OrderInfo = {
31
+ encryptedInfo: Serialized<Encryption<Serialized<OrderEncryptedInfo>>>;
32
+ }
33
+ export interface OrderInfo {
32
34
  offerId: BlockchainId;
33
35
  resultInfo: OrderResultInfo;
34
- encryptedArgs: string;
36
+ encryptedArgs: Serialized<Encryption<string>>;
35
37
  status: OrderStatus;
36
38
  externalId: string;
37
39
  expectedPrice?: TokenAmount;
@@ -39,19 +41,23 @@ export type OrderInfo = {
39
41
  args: OrderArgs;
40
42
  offerVersion: number;
41
43
  tokenAddress?: string;
42
- };
43
- export type OrderInfoRaw = {
44
+ }
45
+ export interface OrderInfoRaw {
44
46
  offerId: BlockchainId;
45
- resultInfo: string;
47
+ resultInfo: Serialized<OrderResultInfoRaw>;
46
48
  status: OrderStatus;
47
49
  externalId: BytesLike;
48
50
  expectedPrice: TokenAmount;
49
51
  maxPriceSlippage: TokenAmount;
52
+ args: OrderArgsRaw;
50
53
  offerVersion: number;
51
54
  tokenAddress?: string;
52
- };
55
+ }
56
+ export interface OrderResultInfoRaw extends OrderResultInfo {
57
+ encryptedArgs: Serialized<Encryption<string>>;
58
+ }
53
59
  export declare const orderInfoToRaw: (orderInfo: OrderInfo) => OrderInfoRaw;
54
- export declare const orderInfoFromRaw: (orderInfoBch: OrderInfoRaw, args: OrderArgs) => OrderInfo;
60
+ export declare const orderInfoFromRaw: (orderInfoBch: OrderInfoRaw, args: OrderArgsRaw) => OrderInfo;
55
61
  export type ExtendedOrderInfo = OrderInfo & {
56
62
  blocking: boolean;
57
63
  deposit: TokenAmount;
@@ -64,14 +70,13 @@ export type AggregatedOrderInfoRaw = {
64
70
  parentOrderId: BlockchainId;
65
71
  awaitingPayment: boolean;
66
72
  currentCost: TokenAmount;
67
- orderOutputReserve: TokenAmount;
68
73
  totalDepositSpent: TokenAmount;
69
74
  totalDepositUnspent: TokenAmount;
70
75
  totalOrderDeposit: TokenAmount;
71
76
  consumer: string;
72
77
  deposit: TokenAmount;
73
78
  info: OrderInfoRaw;
74
- args: OrderArgs;
79
+ args: OrderArgsRaw;
75
80
  result: OrderResult;
76
81
  selectedSlotInfo: SlotInfo;
77
82
  selectedSlotUsage: SlotUsage;
@@ -84,7 +89,6 @@ export type OrderAggregatedInfo = {
84
89
  parentOrderId: BlockchainId;
85
90
  awaitingPayment: boolean;
86
91
  currentCost: TokenAmount;
87
- orderOutputReserve: TokenAmount;
88
92
  totalDepositSpent: TokenAmount;
89
93
  totalDepositUnspent: TokenAmount;
90
94
  totalOrderDeposit: TokenAmount;
@@ -111,6 +115,7 @@ export type OrderEncryptedInfo = {
111
115
  publicKey: EncryptionKey;
112
116
  runtimeInputInfos: RuntimeInputInfo[];
113
117
  argsHash?: Hash;
118
+ storage?: UploadStorageCredentials;
114
119
  };
115
120
  export type PriceTypeFilter = {
116
121
  includeFixed: boolean;
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.aggregatedOrderInfoFromRaw = exports.orderInfoFromRaw = exports.orderInfoToRaw = exports.OrderStatus = void 0;
4
- const utils_js_1 = require("ethers/lib/utils.js");
7
+ const ethers_1 = require("ethers");
8
+ const dto_js_1 = require("@super-protocol/dto-js");
5
9
  const helper_js_1 = require("../utils/helper.js");
10
+ const logger_js_1 = __importDefault(require("../logger.js"));
6
11
  var OrderStatus;
7
12
  (function (OrderStatus) {
8
13
  OrderStatus["New"] = "0";
@@ -14,6 +19,7 @@ var OrderStatus;
14
19
  OrderStatus["Blocked"] = "6";
15
20
  OrderStatus["Suspended"] = "7";
16
21
  })(OrderStatus || (exports.OrderStatus = OrderStatus = {}));
22
+ const logger = logger_js_1.default.child({ module: 'Order' });
17
23
  const orderInfoToRaw = (orderInfo) => {
18
24
  const resultInfo = JSON.stringify({
19
25
  publicKey: orderInfo.resultInfo.publicKey,
@@ -24,28 +30,30 @@ const orderInfoToRaw = (orderInfo) => {
24
30
  offerId: orderInfo.offerId,
25
31
  resultInfo: resultInfo,
26
32
  status: orderInfo.status,
27
- externalId: (0, utils_js_1.formatBytes32String)(orderInfo.externalId),
33
+ externalId: (0, ethers_1.encodeBytes32String)(orderInfo.externalId),
28
34
  expectedPrice: orderInfo.expectedPrice ?? '0',
29
35
  maxPriceSlippage: orderInfo.maxPriceSlippage ?? '0',
30
36
  offerVersion: orderInfo.offerVersion,
31
37
  tokenAddress: orderInfo.tokenAddress,
38
+ args: {
39
+ ...orderInfo.args,
40
+ outputOfferId_DEPRECATED: '0',
41
+ outputOfferVersion_DEPRECATED: 0,
42
+ },
32
43
  };
33
44
  };
34
45
  exports.orderInfoToRaw = orderInfoToRaw;
35
46
  const orderInfoFromRaw = (orderInfoBch, args) => {
36
- let publicKey = '';
37
- let encryptedInfo = '';
38
- let encryptedArgs = '';
47
+ let parsedFields;
39
48
  try {
40
- const parsedFields = JSON.parse(orderInfoBch.resultInfo);
41
- publicKey = parsedFields.publicKey ?? publicKey;
42
- encryptedInfo = parsedFields.encryptedInfo ?? encryptedInfo;
43
- encryptedArgs = parsedFields.encryptedArgs ?? encryptedArgs;
49
+ parsedFields = (0, dto_js_1.deserialize)(orderInfoBch.resultInfo);
50
+ }
51
+ catch (e) {
52
+ logger.warn('Failed to parse orderInfoBch.resultInfo, using empty object as fallback:', e);
44
53
  }
45
- catch (e) { }
46
54
  const parseExternalId = (externalId) => {
47
55
  try {
48
- return (0, utils_js_1.parseBytes32String)(externalId);
56
+ return (0, ethers_1.decodeBytes32String)(externalId);
49
57
  }
50
58
  catch (e) {
51
59
  return externalId.toString();
@@ -53,17 +61,17 @@ const orderInfoFromRaw = (orderInfoBch, args) => {
53
61
  };
54
62
  return {
55
63
  resultInfo: {
56
- publicKey,
57
- encryptedInfo,
64
+ publicKey: parsedFields?.publicKey ?? '',
65
+ encryptedInfo: parsedFields?.encryptedInfo ??
66
+ '',
58
67
  },
59
- encryptedArgs,
68
+ encryptedArgs: parsedFields?.encryptedArgs || '',
60
69
  offerId: orderInfoBch.offerId,
61
70
  status: orderInfoBch.status,
62
71
  externalId: parseExternalId(orderInfoBch.externalId),
63
72
  args: {
64
73
  ...args,
65
74
  inputOffersVersions: (args.inputOffersVersions ?? []).map(Number),
66
- outputOfferVersion: Number(args.outputOfferVersion),
67
75
  },
68
76
  offerVersion: Number(orderInfoBch.offerVersion),
69
77
  tokenAddress: orderInfoBch.tokenAddress,
@@ -76,7 +84,6 @@ function aggregatedOrderInfoFromRaw(aggregatedInfo, coresDenominator) {
76
84
  consumer: aggregatedInfo.consumer,
77
85
  parentOrderId: BigInt(aggregatedInfo.parentOrderId).toString(),
78
86
  currentCost: BigInt(aggregatedInfo.currentCost).toString(),
79
- orderOutputReserve: BigInt(aggregatedInfo.orderOutputReserve).toString(),
80
87
  totalDepositSpent: BigInt(aggregatedInfo.totalDepositSpent).toString(),
81
88
  totalDepositUnspent: BigInt(aggregatedInfo.totalDepositUnspent).toString(),
82
89
  totalOrderDeposit: BigInt(aggregatedInfo.totalOrderDeposit).toString(),
@@ -90,4 +97,4 @@ function aggregatedOrderInfoFromRaw(aggregatedInfo, coresDenominator) {
90
97
  };
91
98
  }
92
99
  exports.aggregatedOrderInfoFromRaw = aggregatedOrderInfoFromRaw;
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQXlGO0FBSXpGLGtEQUFvRztBQUVwRyxJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDckIsd0JBQVMsQ0FBQTtJQUNULCtCQUFnQixDQUFBO0lBQ2hCLDhCQUFlLENBQUE7SUFDZiw2QkFBYyxDQUFBO0lBQ2QseUJBQVUsQ0FBQTtJQUNWLDBCQUFXLENBQUE7SUFDWCw0QkFBYSxDQUFBO0lBQ2IsOEJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcsV0FBVywyQkFBWCxXQUFXLFFBU3RCO0FBNkNNLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBb0IsRUFBZ0IsRUFBRTtJQUNuRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVM7UUFDekMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUNqRCxhQUFhLEVBQUUsU0FBUyxDQUFDLGFBQWE7S0FDdkMsQ0FBQyxDQUFDO0lBQ0gsT0FBTztRQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztRQUMxQixVQUFVLEVBQUUsVUFBVTtRQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsVUFBVSxFQUFFLElBQUEsOEJBQW1CLEVBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxhQUFhLEVBQUUsU0FBUyxDQUFDLGFBQWEsSUFBSSxHQUFHO1FBQzdDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxHQUFHO1FBQ25ELFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtRQUNwQyxZQUFZLEVBQUUsU0FBUyxDQUFDLFlBQVk7S0FDckMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWhCVyxRQUFBLGNBQWMsa0JBZ0J6QjtBQUVL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
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBQTZFO0FBRTdFLG1EQVNnQztBQUVoQyxrREFBb0c7QUFDcEcsNkRBQXNDO0FBRXRDLElBQVksV0FTWDtBQVRELFdBQVksV0FBVztJQUNyQix3QkFBUyxDQUFBO0lBQ1QsK0JBQWdCLENBQUE7SUFDaEIsOEJBQWUsQ0FBQTtJQUNmLDZCQUFjLENBQUE7SUFDZCx5QkFBVSxDQUFBO0lBQ1YsMEJBQVcsQ0FBQTtJQUNYLDRCQUFhLENBQUE7SUFDYiw4QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFUVyxXQUFXLDJCQUFYLFdBQVcsUUFTdEI7QUFxREQsTUFBTSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUU5QyxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQW9CLEVBQWdCLEVBQUU7SUFDbkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTO1FBQ3pDLGFBQWEsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFDakQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhO0tBQ3ZDLENBQUMsQ0FBQztJQUNILE9BQU87UUFDTCxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87UUFDMUIsVUFBVSxFQUFFLFVBQVU7UUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3hCLFVBQVUsRUFBRSxJQUFBLDRCQUFtQixFQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDckQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLElBQUksR0FBRztRQUM3QyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsZ0JBQWdCLElBQUksR0FBRztRQUNuRCxZQUFZ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
@@ -24,4 +24,3 @@ export * from './ValueOfferSlot.js';
24
24
  export * from './Web3.js';
25
25
  export * from './DistributedSecretStorage.js';
26
26
  export * from './ProviderRewards.js';
27
- export * from './Campaign.js';
@@ -40,5 +40,4 @@ __exportStar(require("./ValueOfferSlot.js"), exports);
40
40
  __exportStar(require("./Web3.js"), exports);
41
41
  __exportStar(require("./DistributedSecretStorage.js"), exports);
42
42
  __exportStar(require("./ProviderRewards.js"), exports);
43
- __exportStar(require("./Campaign.js"), exports);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQyxpREFBK0I7QUFDL0IsbURBQWlDO0FBQ2pDLGdEQUE4QjtBQUM5Qiw4Q0FBNEI7QUFDNUIsb0RBQWtDO0FBQ2xDLDZDQUEyQjtBQUMzQiw2Q0FBMkI7QUFDM0Isb0RBQWtDO0FBQ2xDLGtEQUFnQztBQUNoQyw2Q0FBMkI7QUFDM0Isa0RBQWdDO0FBQ2hDLCtDQUE2QjtBQUM3QixnREFBOEI7QUFDOUIsc0RBQW9DO0FBQ3BDLGdEQUE4QjtBQUM5QixpREFBK0I7QUFDL0IsZ0RBQThCO0FBQzlCLG9EQUFrQztBQUNsQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBQ2xDLGlEQUErQjtBQUMvQixzREFBb0M7QUFDcEMsNENBQTBCO0FBQzFCLGdFQUE4QztBQUM5Qyx1REFBcUM7QUFDckMsZ0RBQThCIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQztBQUNoQyxpREFBK0I7QUFDL0IsbURBQWlDO0FBQ2pDLGdEQUE4QjtBQUM5Qiw4Q0FBNEI7QUFDNUIsb0RBQWtDO0FBQ2xDLDZDQUEyQjtBQUMzQiw2Q0FBMkI7QUFDM0Isb0RBQWtDO0FBQ2xDLGtEQUFnQztBQUNoQyw2Q0FBMkI7QUFDM0Isa0RBQWdDO0FBQ2hDLCtDQUE2QjtBQUM3QixnREFBOEI7QUFDOUIsc0RBQW9DO0FBQ3BDLGdEQUE4QjtBQUM5QixpREFBK0I7QUFDL0IsZ0RBQThCO0FBQzlCLG9EQUFrQztBQUNsQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBQ2xDLGlEQUErQjtBQUMvQixzREFBb0M7QUFDcEMsNENBQTBCO0FBQzFCLGdFQUE4QztBQUM5Qyx1REFBcUMifQ==
@@ -12,7 +12,7 @@ const crypto_1 = require("crypto");
12
12
  const setup_crypto_js_1 = require("../certificates/setup-crypto.js");
13
13
  class CryptoKeysTransformer {
14
14
  static padTo32Bytes(bytes) {
15
- const array = ethers_1.ethers.utils.arrayify('0x' + bytes);
15
+ const array = ethers_1.ethers.getBytes('0x' + bytes);
16
16
  if (array.length === 32) {
17
17
  return array;
18
18
  }
@@ -29,8 +29,8 @@ class CryptoKeysTransformer {
29
29
  return {
30
30
  kty: publicKeyJwk.kty,
31
31
  crv: publicKeyJwk.crv,
32
- pointX: ethers_1.ethers.utils.arrayify('0x' + Buffer.from(publicKeyJwk.x, 'base64url').toString('hex')),
33
- pointY: ethers_1.ethers.utils.arrayify('0x' + Buffer.from(publicKeyJwk.y, 'base64url').toString('hex')),
32
+ pointX: ethers_1.ethers.getBytes('0x' + Buffer.from(publicKeyJwk.x, 'base64url').toString('hex')),
33
+ pointY: ethers_1.ethers.getBytes('0x' + Buffer.from(publicKeyJwk.y, 'base64url').toString('hex')),
34
34
  };
35
35
  }
36
36
  static getBufferFromTransformedPublicKey(publicKey) {
@@ -59,7 +59,7 @@ class CryptoKeysTransformer {
59
59
  return Buffer.concat([data, signedTimeBuffer]);
60
60
  }
61
61
  static appendBigIntToBuffer(val, data) {
62
- const hexedOrderId = ethers_1.ethers.utils.hexZeroPad(ethers_1.ethers.utils.hexlify(val), 32).slice(2);
62
+ const hexedOrderId = ethers_1.ethers.zeroPadValue(ethers_1.ethers.toBeHex(val), 32).slice(2);
63
63
  return Buffer.concat([data, Buffer.from(hexedOrderId, dto_js_1.Encoding.hex)]);
64
64
  }
65
65
  static sign(privateKey, data) {
@@ -244,4 +244,4 @@ class CryptoKeysTransformer {
244
244
  }
245
245
  }
246
246
  exports.CryptoKeysTransformer = CryptoKeysTransformer;
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvS2V5c1RyYW5zZm9ybWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NyeXB0b0tleXNUcmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrRUFBd0M7QUFDeEMsbURBQWtEO0FBRWxELG9EQUE2RDtBQUM3RCxtQ0FBZ0M7QUFDaEMsbUNBQXNFO0FBQ3RFLHFFQUFpRTtBQU9qRSxNQUFhLHFCQUFxQjtJQUN4QixNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDdkMsTUFBTSxLQUFLLEdBQUcsZUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsaUNBQWlDLENBQUMsYUFBd0I7UUFDL0QsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLFlBQXVCO1FBQzdELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FB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
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvS2V5c1RyYW5zZm9ybWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NyeXB0b0tleXNUcmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxrRUFBd0M7QUFDeEMsbURBQWtEO0FBRWxELG9EQUE2RDtBQUM3RCxtQ0FBZ0M7QUFDaEMsbUNBQXNFO0FBQ3RFLHFFQUFpRTtBQU9qRSxNQUFhLHFCQUFxQjtJQUN4QixNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDdkMsTUFBTSxLQUFLLEdBQUcsZUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxhQUF3QjtRQUMvRCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsWUFBdUI7UUFDN0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9B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