@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
@@ -0,0 +1,2 @@
1
+ import { SignedTcbData } from '../types/Consensus.js';
2
+ export declare function getTcbDataHash(signableData: SignedTcbData): string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTcbDataHash = void 0;
4
+ const ethers_1 = require("ethers");
5
+ function getTcbDataHash(signableData) {
6
+ const sizes = 'uint64 cpuSize,uint64 ramSize,uint64 gpuSize,uint64 diskSize,uint64 networkSize,uint64 vramSize';
7
+ const marks = 'uint32 cpuMark,uint32 ramMark,uint32 gpuMark,uint32 diskMark,uint32 networkMark';
8
+ const cpuInfo = 'tuple(string vendorId, uint128 cpuFamily, uint128 model, string modelName, uint32 totalPhysicalCores, uint32 baseFreq, uint32 maxFreq) cpuInfo';
9
+ const userData = ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint256', `tuple(${sizes},${marks},${cpuInfo})`, 'string'], [signableData.teeOfferId, signableData.benchmark, signableData.pubKey]);
10
+ return ethers_1.ethers.sha256(userData).slice(2); // remove 0x
11
+ }
12
+ exports.getTcbDataHash = getTcbDataHash;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3RjYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBZ0M7QUFHaEMsU0FBZ0IsY0FBYyxDQUFDLFlBQTJCO0lBQ3hELE1BQU0sS0FBSyxHQUNULGlHQUFpRyxDQUFDO0lBQ3BHLE1BQU0sS0FBSyxHQUFHLGlGQUFpRixDQUFDO0lBQ2hHLE1BQU0sT0FBTyxHQUNYLGdKQUFnSixDQUFDO0lBRW5KLE1BQU0sUUFBUSxHQUFHLGVBQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsTUFBTSxDQUN2RCxDQUFDLFNBQVMsRUFBRSxTQUFTLEtBQUssSUFBSSxLQUFLLElBQUksT0FBTyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQzVELENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FDdkUsQ0FBQztJQUVGLE9BQU8sZUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZO0FBQ3ZELENBQUM7QUFiRCx3Q0FhQyJ9
@@ -12,8 +12,3 @@ export type ExecuteBatchOptions = {
12
12
  timeout?: number;
13
13
  throwOnError?: boolean;
14
14
  };
15
- export interface RegisterAdminParams {
16
- adminAccountAddress: string;
17
- certsPem: string;
18
- certPrivateKeyPem: string;
19
- }
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { EncryptionKey, Hash, Encryption, RuntimeInputInfo } from '@super-protocol/dto-js';
2
+ import { EncryptionKey, Hash, Encryption, RuntimeInputInfo, UploadStorageCredentials, type Serialized } from '@super-protocol/dto-js';
3
3
  import { OrderEncryptedInfo, OrderResultInfo } from './types/index.js';
4
4
  import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
5
5
  declare class RIGenerator extends TeeInputGeneratorBase {
@@ -7,10 +7,10 @@ declare class RIGenerator extends TeeInputGeneratorBase {
7
7
  static generate(params: {
8
8
  offerId: string;
9
9
  encryptionPrivateKey: EncryptionKey;
10
- pccsServiceApiUrl: string;
11
10
  runtimeInputInfos: RuntimeInputInfo[];
12
11
  argsHash?: Hash;
12
+ storage?: UploadStorageCredentials;
13
13
  }): Promise<OrderResultInfo>;
14
- static getResultInfo(encryptedResultInfo: Encryption, privateKey: Buffer): Promise<OrderEncryptedInfo>;
14
+ static getResultInfo(encryptedResultInfo: Encryption<Serialized<OrderEncryptedInfo>>, privateKey: Buffer): OrderEncryptedInfo;
15
15
  }
16
16
  export default RIGenerator;
@@ -1,4 +1,4 @@
1
- import { Encoding, CryptoAlgorithm, HashAlgorithm, } from '@super-protocol/dto-js';
1
+ import { Encoding, CryptoAlgorithm, HashAlgorithm, serialize, deserialize, } from '@super-protocol/dto-js';
2
2
  import { createECDH } from 'crypto';
3
3
  import Crypto from './crypto/index.js';
4
4
  import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
@@ -24,21 +24,22 @@ class RIGenerator extends TeeInputGeneratorBase {
24
24
  const orderInfoToEncrypt = {
25
25
  publicKey: resultEncryption,
26
26
  runtimeInputInfos: params.runtimeInputInfos,
27
+ storage: params.storage,
27
28
  ...(params.argsHash && { argsHash: params.argsHash }),
28
29
  };
29
- const encryptedInfo = await this.encryptByTeeBlock(params.offerId, JSON.stringify(orderInfoToEncrypt), params.pccsServiceApiUrl);
30
+ const encryptedInfo = await this.encryptByTeeBlock(params.offerId, serialize(orderInfoToEncrypt));
30
31
  return {
31
32
  publicKey: JSON.stringify(publicKey),
32
- encryptedInfo: JSON.stringify(encryptedInfo),
33
+ encryptedInfo: serialize(encryptedInfo),
33
34
  };
34
35
  }
35
- static async getResultInfo(encryptedResultInfo, privateKey) {
36
- const res = await Crypto.decrypt({
36
+ static getResultInfo(encryptedResultInfo, privateKey) {
37
+ const res = Crypto.decrypt({
37
38
  ...encryptedResultInfo,
38
39
  key: privateKey.toString(encryptedResultInfo.encoding),
39
40
  });
40
- return JSON.parse(res);
41
+ return deserialize(res);
41
42
  }
42
43
  }
43
44
  export default RIGenerator;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUklHZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUklHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFFBQVEsRUFDUixlQUFlLEVBRWYsYUFBYSxHQUVkLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVwQyxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLHFCQUFxQixNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE1BQU0sV0FBWSxTQUFRLHFCQUFxQjtJQUM3QyxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLG1CQUFrQztRQUNsRSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sTUFBTSxDQUFDLFVBQVUsQ0FDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFJLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQ25FLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FDMUQsQ0FBQztRQUVGLE9BQU87WUFDTCxHQUFHLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtZQUMzQixRQUFRLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtZQUNwQyxJQUFJLEVBQUUsZUFBZSxDQUFDLEtBQUs7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQU1yQjtRQUNDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUxRSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFNUUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFJLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNwRixNQUFNLFNBQVMsR0FBRztZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7WUFDbEQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1lBQ3pCLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSztTQUNkLENBQUM7UUFFaEIsTUFBTSxrQkFBa0IsR0FBdUI7WUFDN0MsU0FBUyxFQUFFLGdCQUFnQjtZQUMzQixpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCO1lBQzNDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN0RCxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQ2hELE1BQU0sQ0FBQyxPQUFPLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUNsQyxNQUFNLENBQUMsaUJBQWlCLENBQ3pCLENBQUM7UUFFRixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQ3BDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUN4QixtQkFBK0IsRUFDL0IsVUFBa0I7UUFFbEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQy9CLEdBQUcsbUJBQW1CO1lBQ3RCLEdBQUcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztTQUN2RCxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBRUQsZUFBZSxXQUFXLENBQUMifQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUklHZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUklHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFFBQVEsRUFDUixlQUFlLEVBRWYsYUFBYSxFQUdiLFNBQVMsRUFDVCxXQUFXLEdBRVosTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXBDLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8scUJBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsTUFBTSxXQUFZLFNBQVEscUJBQXFCO0lBQzdDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsbUJBQWtDO1FBQ2xFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUksRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFDbkUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUMxRCxDQUFDO1FBRUYsT0FBTztZQUNMLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1lBQzNCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO1lBQ3BDLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSztTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BTXJCO1FBQ0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTFFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU1RSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUksRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztZQUNsRCxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDekIsSUFBSSxFQUFFLGVBQWUsQ0FBQyxLQUFLO1NBQ2QsQ0FBQztRQUVoQixNQUFNLGtCQUFrQixHQUF1QjtZQUM3QyxTQUFTLEVBQUUsZ0JBQWdCO1lBQzNCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7WUFDM0MsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN0RCxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQ2hELE1BQU0sQ0FBQyxPQUFPLEVBQ2QsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQzlCLENBQUM7UUFFRixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQ3BDLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDO1NBQ3hDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FDbEIsbUJBQStELEVBQy9ELFVBQWtCO1FBRWxCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDekIsR0FBRyxtQkFBbUI7WUFDdEIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1NBQ3ZELENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQUVELGVBQWUsV0FBVyxDQUFDIn0=
@@ -1,11 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  import { BlockchainId } from './types/index.js';
3
- import { Encryption, Resource, RuntimeInputInfo, TeeInputInfo, TeeRunInfo } from '@super-protocol/dto-js';
3
+ import { Encryption, Resource, RuntimeInputInfo, TeeInputInfo, TeeRunInfo, Hash } from '@super-protocol/dto-js';
4
4
  import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
5
5
  declare class TIIGenerator extends TeeInputGeneratorBase {
6
- protected static buildTII(params: Pick<GenerateByOfferParams, 'offerId' | 'sgxApiUrl' | 'resource' | 'runtimeInputInfos' | 'encryption'>): Promise<TeeInputInfo>;
6
+ protected static buildTII(params: Pick<GenerateByOfferParams, 'offerId' | 'resource' | 'runtimeInputInfos' | 'encryption'>): Promise<TeeInputInfo>;
7
7
  static generateByOffer(params: GenerateByOfferParams): Promise<string>;
8
- static generate(orderId: BlockchainId, resource: Resource, args: unknown, encryption: Encryption, sgxApiUrl: string): Promise<string>;
8
+ static generate(orderId: BlockchainId, resource: Resource, args: unknown, encryption: Encryption, solutionHash?: Hash): Promise<string>;
9
9
  static getTRI(tii: string, decryptionKey: Buffer): Promise<TeeRunInfo>;
10
10
  static getUrl(tii: string, decryptionKey: Buffer): Promise<string>;
11
11
  static getResource<T>(tii: string, decryptionKey: Buffer): Promise<T>;
@@ -15,7 +15,6 @@ export type GenerateByOfferParams = {
15
15
  resource: Resource;
16
16
  args: unknown;
17
17
  encryption: Encryption;
18
- sgxApiUrl: string;
19
18
  runtimeInputInfos: RuntimeInputInfo[];
20
19
  };
21
20
  export default TIIGenerator;
@@ -1,9 +1,10 @@
1
1
  import Crypto from './crypto/index.js';
2
2
  import { Order, TeeOffer } from './models/index.js';
3
3
  import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
4
+ import { ZERO_HASH } from './constants.js';
4
5
  class TIIGenerator extends TeeInputGeneratorBase {
5
6
  static async buildTII(params) {
6
- const triEncryption = await this.getVerifiedBlockEncryption(params.offerId, params.sgxApiUrl);
7
+ const triEncryption = await this.getVerifiedBlockEncryption(params.offerId);
7
8
  const teeOffer = new TeeOffer(params.offerId);
8
9
  const teeOfferInfo = await teeOffer.getInfo();
9
10
  const resourceEncryption = JSON.parse(teeOfferInfo.argsPublicKey);
@@ -12,26 +13,52 @@ class TIIGenerator extends TeeInputGeneratorBase {
12
13
  encryption: params.encryption,
13
14
  };
14
15
  return {
15
- encryptedResource: await Crypto.encrypt(JSON.stringify(params.resource), resourceEncryption),
16
- encryptedTRI: await Crypto.encrypt(JSON.stringify(tri), triEncryption),
16
+ encryptedResource: Crypto.encrypt(JSON.stringify(params.resource), resourceEncryption),
17
+ encryptedTRI: Crypto.encrypt(JSON.stringify(tri), triEncryption),
17
18
  };
18
19
  }
19
20
  static async generateByOffer(params) {
20
21
  const tii = await this.buildTII(params);
21
22
  return JSON.stringify(tii);
22
23
  }
23
- static async generate(orderId, resource, args, encryption, sgxApiUrl) {
24
+ static async generate(orderId, resource, args, encryption, solutionHash) {
24
25
  const order = new Order(orderId);
25
26
  const parentOrderId = await order.getParentOrder();
26
27
  const parentOrder = new Order(parentOrderId);
27
28
  const parentOrderInfo = await parentOrder.getOrderInfo();
29
+ const runtimeInputInfos = await this.generateRiiByOfferIds(parentOrderInfo.args.inputOffersIds);
30
+ if (solutionHash) {
31
+ const solutionRii = {
32
+ args: undefined,
33
+ hash: solutionHash,
34
+ type: 'Image',
35
+ };
36
+ const matchingRiiIndices = runtimeInputInfos
37
+ .map((rii, index) => (rii.type === solutionRii.type ? index : -1))
38
+ .filter((index) => index !== -1);
39
+ if (matchingRiiIndices.length === 1) {
40
+ const matchingRiiIndex = matchingRiiIndices[0];
41
+ if (![ZERO_HASH.hash, solutionHash.hash].includes(runtimeInputInfos[matchingRiiIndex].hash.hash)) {
42
+ throw new Error('Workflow was created with a different solution');
43
+ }
44
+ runtimeInputInfos[matchingRiiIndex] = {
45
+ ...runtimeInputInfos[matchingRiiIndex],
46
+ hash: solutionHash,
47
+ };
48
+ }
49
+ else if (matchingRiiIndices.length === 0) {
50
+ runtimeInputInfos.push(solutionRii);
51
+ }
52
+ else {
53
+ throw new Error(`Multiple runtime input infos found with type '${solutionRii.type}'. Expected only one.`);
54
+ }
55
+ }
28
56
  return this.generateByOffer({
29
57
  offerId: parentOrderInfo.offerId,
30
58
  resource,
31
59
  args,
32
60
  encryption,
33
- sgxApiUrl,
34
- runtimeInputInfos: await this.generateRiiByOfferIds(parentOrderInfo.args.inputOffersIds),
61
+ runtimeInputInfos,
35
62
  });
36
63
  }
37
64
  static async getTRI(tii, decryptionKey) {
@@ -52,4 +79,4 @@ class TIIGenerator extends TeeInputGeneratorBase {
52
79
  }
53
80
  }
54
81
  export default TIIGenerator;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBVXBELE9BQU8scUJBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsTUFBTSxZQUFhLFNBQVEscUJBQXFCO0lBQ3BDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUM3QixNQUdDO1FBRUQsTUFBTSxhQUFhLEdBQWUsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQ3JFLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsTUFBTSxDQUFDLFNBQVMsQ0FDakIsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFhLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCxNQUFNLFlBQVksR0FBaUIsTUFBTSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUQsTUFBTSxrQkFBa0IsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RSxNQUFNLEdBQUcsR0FBZTtZQUN0QixpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCO1lBQzNDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUM5QixDQUFDO1FBQ0YsT0FBTztZQUNMLGlCQUFpQixFQUFFLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxrQkFBa0IsQ0FBQztZQUM1RixZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsYUFBYSxDQUFDO1NBQ3ZFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBNkI7UUFDeEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQzFCLE9BQXFCLEVBQ3JCLFFBQWtCLEVBQ2xCLElBQWEsRUFDYixVQUFzQixFQUN0QixTQUFpQjtRQUVqQixNQUFNLEtBQUssR0FBVSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxNQUFNLGFBQWEsR0FBRyxNQUFNLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuRCxNQUFNLFdBQVcsR0FBVSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxNQUFNLGVBQWUsR0FBYyxNQUFNLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDMUIsT0FBTyxFQUFFLGVBQWUsQ0FBQyxPQUFPO1lBQ2hDLFFBQVE7WUFDUixJQUFJO1lBQ0osVUFBVTtZQUNWLFNBQVM7WUFDVCxpQkFBaUIsRUFBRSxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN6RixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLGFBQXFCO1FBQzNELE1BQU0sTUFBTSxHQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxNQUFNLFNBQVMsR0FBVyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLGFBQXFCO1FBQ3BELE1BQU0sR0FBRyxHQUFHLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FBYyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFNUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBSSxHQUFXLEVBQUUsYUFBcUI7UUFDNUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGlCQUErQixDQUFDO1FBQzFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sUUFBUSxHQUFXLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWpFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQU0sQ0FBQztJQUNuQyxDQUFDO0NBQ0Y7QUFXRCxlQUFlLFlBQVksQ0FBQyJ9
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBV3BELE9BQU8scUJBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sWUFBYSxTQUFRLHFCQUFxQjtJQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDN0IsTUFHQztRQUVELE1BQU0sYUFBYSxHQUFlLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RixNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQWlCLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVELE1BQU0sa0JBQWtCLEdBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQWU7WUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtZQUMzQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDOUIsQ0FBQztRQUNGLE9BQU87WUFDTCxpQkFBaUIsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGtCQUFrQixDQUFDO1lBQ3RGLFlBQVksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsYUFBYSxDQUFDO1NBQ2pFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBNkI7UUFDeEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQzFCLE9BQXFCLEVBQ3JCLFFBQWtCLEVBQ2xCLElBQWEsRUFDYixVQUFzQixFQUN0QixZQUFtQjtRQUVuQixNQUFNLEtBQUssR0FBVSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxNQUFNLGFBQWEsR0FBRyxNQUFNLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuRCxNQUFNLFdBQVcsR0FBVSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxNQUFNLGVBQWUsR0FBYyxNQUFNLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwRSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFaEcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLFdBQVcsR0FBcUI7Z0JBQ3BDLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsT0FBTzthQUNkLENBQUM7WUFFRixNQUFNLGtCQUFrQixHQUFHLGlCQUFpQjtpQkFDekMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDakUsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVuQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsSUFDRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUMzQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQzlDLEVBQ0QsQ0FBQztvQkFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7Z0JBQ3BFLENBQUM7Z0JBQ0QsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsR0FBRztvQkFDcEMsR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDdEMsSUFBSSxFQUFFLFlBQVk7aUJBQ25CLENBQUM7WUFDSixDQUFDO2lCQUFNLElBQUksa0JBQWtCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsaURBQWlELFdBQVcsQ0FBQyxJQUFJLHVCQUF1QixDQUN6RixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDMUIsT0FBTyxFQUFFLGVBQWUsQ0FBQyxPQUFPO1lBQ2hDLFFBQVE7WUFDUixJQUFJO1lBQ0osVUFBVTtZQUNWLGlCQUFpQjtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLGFBQXFCO1FBQzNELE1BQU0sTUFBTSxHQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRSxNQUFNLFNBQVMsR0FBVyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLGFBQXFCO1FBQ3BELE1BQU0sR0FBRyxHQUFHLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FBYyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFNUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBSSxHQUFXLEVBQUUsYUFBcUI7UUFDNUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGlCQUErQixDQUFDO1FBQzFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sUUFBUSxHQUFXLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWpFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQU0sQ0FBQztJQUNuQyxDQUFDO0NBQ0Y7QUFVRCxlQUFlLFlBQVksQ0FBQyJ9
@@ -1,9 +1,9 @@
1
- import { Encryption, RuntimeInputInfo } from '@super-protocol/dto-js';
1
+ import { Encryption, RuntimeInputInfo, type Serialized } from '@super-protocol/dto-js';
2
2
  import { BlockchainId, VersionedOfferId } from './types/index.js';
3
3
  export default class TeeInputGeneratorBase {
4
4
  protected static generateRiiByOfferId(offerId: VersionedOfferId): Promise<RuntimeInputInfo | null>;
5
5
  static generateRiiByOfferIds(inputOffersIds: BlockchainId[]): Promise<RuntimeInputInfo[]>;
6
6
  static generateRiiByOfferIds(inputOffersIds: VersionedOfferId[]): Promise<RuntimeInputInfo[]>;
7
- static encryptByTeeBlock(offerId: string, data: string, sgxApiUrl: string): Promise<Encryption>;
8
- protected static getVerifiedBlockEncryption(offerId: string, sgxApiUrl: string): Promise<Encryption>;
7
+ static encryptByTeeBlock<T = unknown>(offerId: string, data: Serialized<T>): Promise<Encryption<Serialized<T>>>;
8
+ protected static getVerifiedBlockEncryption(offerId: string): Promise<Encryption>;
9
9
  }
@@ -62,11 +62,11 @@ export default class TeeInputGeneratorBase {
62
62
  const inputs = await Promise.all(versionedOfferIds.map(TeeInputGeneratorBase.generateRiiByOfferId));
63
63
  return inputs.filter(Boolean);
64
64
  }
65
- static async encryptByTeeBlock(offerId, data, sgxApiUrl) {
66
- const encryption = await TeeInputGeneratorBase.getVerifiedBlockEncryption(offerId, sgxApiUrl);
65
+ static async encryptByTeeBlock(offerId, data) {
66
+ const encryption = await TeeInputGeneratorBase.getVerifiedBlockEncryption(offerId);
67
67
  return Crypto.encrypt(data, encryption);
68
68
  }
69
- static async getVerifiedBlockEncryption(offerId, sgxApiUrl) {
69
+ static async getVerifiedBlockEncryption(offerId) {
70
70
  const teeOffer = new TeeOffer(offerId);
71
71
  const tcbId = await teeOffer.getActualTcbId();
72
72
  if (Number.parseInt(tcbId) === 0) {
@@ -74,7 +74,7 @@ export default class TeeInputGeneratorBase {
74
74
  }
75
75
  const tcb = new TCB(tcbId);
76
76
  const utilityData = await tcb.getUtilityData();
77
- await TeeBlockVerifier.verifyTcb(tcb, utilityData, sgxApiUrl);
77
+ await TeeBlockVerifier.verifyTcb(tcb, utilityData);
78
78
  // TODO: must be 'blockEncryption = JSON.parse(pubKey);'
79
79
  return {
80
80
  algo: CryptoAlgorithm.ECIES,
@@ -83,4 +83,4 @@ export default class TeeInputGeneratorBase {
83
83
  };
84
84
  }
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlSW5wdXRHZW5lcmF0b3JCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RlZUlucHV0R2VuZXJhdG9yQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFFBQVEsR0FJVCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBMkIsU0FBUyxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hGLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLEdBQTJDLEVBQ2xCLEVBQUU7SUFDM0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDbEQsT0FBTyxDQUNMLElBQUksSUFBSSxHQUFHLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQ2pHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsT0FBTyxPQUFPLHFCQUFxQjtJQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUN6QyxPQUF5QjtRQUV6QixNQUFNLEtBQUssR0FBVSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQWMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFNBQW9CLEVBQUUsS0FBWSxFQUFnQyxFQUFFO1lBQzFGLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ3hCLE1BQU0sV0FBVyxHQUFHLE1BQU0sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUM5QyxNQUFNLGFBQWEsR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUNqQixPQUFPLFVBQVUsQ0FBQztvQkFDcEIsQ0FBQzt5QkFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzFCLE9BQU8sT0FBTyxDQUFDO29CQUNqQixDQUFDO29CQUNELE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLFNBQVMsQ0FBQyxJQUFJO29CQUNqQixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE9BQU87WUFDTCxJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTO1lBQ3BDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJO2dCQUNuQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQjthQUNoRCxDQUFDO1lBQ0YsSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDO0lBTUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDaEMsY0FBbUQ7UUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFFLGNBQXFDO1lBQ3hDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUE2QixFQUFFO2dCQUM5RCxNQUFNLEVBQUUsR0FBRyxPQUFpQixDQUFDO2dCQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDNUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3hELENBQUM7Z0JBRUQsT0FBTztvQkFDTCxFQUFFO29CQUNGLE9BQU87aUJBQ1IsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUNsRSxDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBdUIsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsT0FBZSxFQUNmLElBQVksRUFDWixTQUFpQjtRQUVqQixNQUFNLFVBQVUsR0FBRyxNQUFNLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU5RixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFUyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUMvQyxPQUFlLEVBQ2YsU0FBaUI7UUFFakIsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFOUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0MsTUFBTSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU5RCx3REFBd0Q7UUFDeEQsT0FBTztZQUNMLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSztZQUMzQixHQUFHLEVBQUUsV0FBVyxDQUFDLE1BQU07WUFDdkIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1NBQzFCLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlSW5wdXRHZW5lcmF0b3JCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RlZUlucHV0R2VuZXJhdG9yQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFFBQVEsR0FLVCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBMkIsU0FBUyxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hGLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLEdBQTJDLEVBQ2xCLEVBQUU7SUFDM0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDbEQsT0FBTyxDQUNMLElBQUksSUFBSSxHQUFHLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQ2pHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsT0FBTyxPQUFPLHFCQUFxQjtJQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUN6QyxPQUF5QjtRQUV6QixNQUFNLEtBQUssR0FBVSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQWMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFNBQW9C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
@@ -1,11 +1,13 @@
1
- import { BlockchainCert } from './types.js';
1
+ import { BufferedChunkedX509Cert } from './types.js';
2
+ import { ChunkedX509Cert } from '@super-protocol/dto-js';
2
3
  export declare const BLOCKCHAIN_CERT_TBS_PARTS: string[];
3
4
  export declare class CertificateSerializer {
4
5
  static serializeCertChain(certChainPem: string): string;
5
6
  static deserializeCertChain(input: string): string;
6
7
  static isSerializedCertChain(certChainBase64: string): boolean;
7
- static serializeForBlockchain(certPem: string): BlockchainCert;
8
- static deserializeFromBlockchain(data: BlockchainCert): string;
8
+ static serializeForBlockchain(certPem: string): ChunkedX509Cert;
9
+ static deserializeFromBlockchain(blockchainCert: ChunkedX509Cert): string;
9
10
  private static removeLeadingZerosIfNeeded;
10
11
  private static getPart;
12
+ static chunkedToBufferedChunkedX509Cert(blockchainCert: ChunkedX509Cert): BufferedChunkedX509Cert;
11
13
  }
@@ -4,6 +4,7 @@ import { CertificateBinarySplitter, CertificateNonOidParts } from './binary-spli
4
4
  import { CertificatesHelper } from './helper.js';
5
5
  import { OID_CUSTOM_EXTENSION_USER_DATA } from '../constants.js';
6
6
  import { OID_CUSTOM_EXTENSION_CHALLENGE_COMMON_ID, OID_CUSTOM_EXTENSION_CHALLENGE_ID, } from '@super-protocol/pki-common';
7
+ import { fromBlockchainHex, fromBlockchainHexOptional, toBlockchainHex } from '../utils/helper.js';
7
8
  const CERTS_CHAIN_DELIMITER = ';';
8
9
  const CERTS_SERIALIZATION_PREFIX = 'certs:';
9
10
  export const BLOCKCHAIN_CERT_TBS_PARTS = [
@@ -63,18 +64,19 @@ export class CertificateSerializer {
63
64
  throw new Error(`Unexpected serialized parts found in certificate: ${serializedParts.map((part) => part.name || part.oid).join(', ')}`);
64
65
  }
65
66
  return {
66
- nonSerializedParts,
67
- expirationDate: expirationDate.value,
68
- ca: ca.value,
69
- userData: userData?.value,
70
- serialNumber: serial.value,
71
- signature: signature.value,
72
- publicKey: publicKey.value,
73
- mrEnclave: mrEnclave?.value,
74
- mrSigner: mrSigner?.value,
67
+ nonSerializedParts: nonSerializedParts.map(toBlockchainHex),
68
+ expirationDate: toBlockchainHex(expirationDate.value),
69
+ ca: toBlockchainHex(ca.value),
70
+ userData: toBlockchainHex(userData?.value),
71
+ serialNumber: toBlockchainHex(serial.value),
72
+ signature: toBlockchainHex(signature.value),
73
+ publicKey: toBlockchainHex(publicKey.value),
74
+ mrEnclave: toBlockchainHex(mrEnclave?.value),
75
+ mrSigner: toBlockchainHex(mrSigner?.value),
75
76
  };
76
77
  }
77
- static deserializeFromBlockchain(data) {
78
+ static deserializeFromBlockchain(blockchainCert) {
79
+ const data = CertificateSerializer.chunkedToBufferedChunkedX509Cert(blockchainCert);
78
80
  const bufferParts = [];
79
81
  bufferParts.push(Buffer.from(data.nonSerializedParts[0]));
80
82
  bufferParts.push(Buffer.from(data.nonSerializedParts[1]));
@@ -118,5 +120,18 @@ export class CertificateSerializer {
118
120
  }
119
121
  return part;
120
122
  }
123
+ static chunkedToBufferedChunkedX509Cert(blockchainCert) {
124
+ return {
125
+ nonSerializedParts: blockchainCert.nonSerializedParts.map((part) => fromBlockchainHex(part)),
126
+ expirationDate: fromBlockchainHex(blockchainCert.expirationDate),
127
+ ca: fromBlockchainHex(blockchainCert.ca),
128
+ userData: fromBlockchainHexOptional(blockchainCert.userData),
129
+ publicKey: fromBlockchainHex(blockchainCert.publicKey),
130
+ serialNumber: fromBlockchainHex(blockchainCert.serialNumber),
131
+ mrEnclave: fromBlockchainHexOptional(blockchainCert.mrEnclave),
132
+ mrSigner: fromBlockchainHexOptional(blockchainCert.mrSigner),
133
+ signature: fromBlockchainHex(blockchainCert.signature),
134
+ };
135
+ }
121
136
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jZXJ0aWZpY2F0ZXMvc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGlDQUFpQyxHQUNsQyxNQUFNLDRCQUE0QixDQUFDO0FBR3BDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBQ2xDLE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3ZDLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLElBQUk7SUFDSixVQUFVO0lBQ1YsV0FBVztJQUNYLFVBQVU7Q0FDWCxDQUFDO0FBRUYsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsWUFBb0I7UUFDNUMsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhFLE9BQU8sR0FBRywwQkFBMEIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7SUFDcEksQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQiwwQkFBMEIsWUFBWSxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEtBQUs7YUFDbkIsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1lBQzlCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sa0JBQWtCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsZUFBdUI7UUFDbEQsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxPQUFlO1FBQzNDLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVFLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksYUFBYSxDQUFDLFVBQVUsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzRSxNQUFNLElBQUksS0FBSyxDQUNiLHNDQUFzQyxhQUFhLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGlEQUFpRCxDQUNyTCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyRCxNQUFNLEtBQUssR0FBRyxJQUFJLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FDeEQ7WUFDRSxzQkFBc0IsQ0FBQyxhQUFhO1lBQ3BDLHNCQUFzQixDQUFDLFNBQVM7WUFDaEMsc0JBQXNCLENBQUMsU0FBUztZQUNoQyxzQkFBc0IsQ0FBQyx1QkFBdUI7U0FDL0MsRUFDRDtZQUNFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ2xDLDhCQUE4QjtZQUM5QixpQ0FBaUM7WUFDakMsd0NBQXdDO1NBQ3pDLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUN2RCxLQUFLLEVBQ0wsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSxVQUFVLENBQ0QsQ0FBQztRQUV0QyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUUsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5RSxNQUFNLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUM5RixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQzVDLGVBQWUsRUFDZiw4QkFBOEIsRUFDOUIsS0FBSyxDQUNOLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQzdDLGVBQWUsRUFDZixpQ0FBaUMsRUFDakMsS0FBSyxDQUNOLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQzVDLGVBQWUsRUFDZix3Q0FBd0MsRUFDeEMsS0FBSyxDQUNOLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTlFLElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLHFEQUFxRCxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdkgsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsa0JBQWtCO1lBQ2xCLGNBQWMsRUFBRSxjQUFjLENBQUMsS0FBSztZQUNwQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUs7WUFDWixRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUs7WUFDekIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQzFCLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSztZQUMxQixTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUs7WUFDMUIsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLO1lBQzNCLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSztTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxJQUFvQjtRQUNuRCxNQUFNLFdBQVcsR0FBYSxFQUFFLENBQUM7UUFFakMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLEtBQUssTUFBTSxLQUFLLElBQUkseUJBQXlCLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBNkIsQ0FBQyxDQUFDO1lBQ2xELElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQW1CLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQy9DLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELHdCQUF3QjtRQUN4Qix3RkFBd0Y7UUFDeEYsd0dBQXdHO1FBQ3hHLG1IQUFtSDtRQUNuSCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkQsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLFdBQVcsQ0FBQyxJQUFJLENBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQywwQkFBMEIsQ0FBQyxNQUFvQixDQUFDLENBQUMsQ0FDcEYsQ0FBQztRQUNGLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsV0FBVyxDQUFDLElBQUksQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDLE1BQW9CLENBQUMsQ0FBQyxDQUNwRixDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sTUFBTSxDQUFDLDBCQUEwQixDQUFDLEtBQWlCO1FBQ3pELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxNQUFNLENBQUMsT0FBTyxDQUNwQixLQUF1QixFQUN2QixTQUFpQixFQUNqQixTQUFTLEdBQUcsSUFBSTtRQUVoQixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsNEJBQTRCLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YifQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jZXJ0aWZpY2F0ZXMvc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGlDQUFpQyxHQUNsQyxNQUFNLDRCQUE0QixDQUFDO0FBR3BDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUNsQyxNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxJQUFJO0lBQ0osVUFBVTtJQUNWLFdBQVc7SUFDWCxVQUFVO0NBQ1gsQ0FBQztBQUVGLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFlBQW9CO1FBQzVDLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRSxPQUFPLEdBQUcsMEJBQTBCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO0lBQ3BJLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBYTtRQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsMEJBQTBCLFlBQVksQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLO2FBQ25CLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztZQUM5QixFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMvQyxPQUFPLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLGVBQXVCO1FBQ2xELE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBZTtRQUMzQyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RSxJQUFJLGFBQWEsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLGFBQWEsQ0FBQyxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDM0UsTUFBTSxJQUFJLEtBQUssQ0FDYixzQ0FBc0MsYUFBYSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxpREFBaUQsQ0FDckwsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFckQsTUFBTSxLQUFLLEdBQUcsSUFBSSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQ3hEO1lBQ0Usc0JBQXNCLENBQUMsYUFBYTtZQUNwQyxzQkFBc0IsQ0FBQyxTQUFTO1lBQ2hDLHNCQUFzQixDQUFDLFNBQVM7WUFDaEMsc0JBQXNCLENBQUMsdUJBQXVCO1NBQy9DLEVBQ0Q7WUFDRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUNsQyw4QkFBOEI7WUFDOUIsaUNBQWlDO1lBQ2pDLHdDQUF3QztTQUN6QyxDQUNGLENBQUM7UUFFRixNQUFNLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FDdkQsS0FBSyxFQUNMLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksVUFBVSxDQUNELENBQUM7UUFFdEMsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRixNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDOUUsTUFBTSxFQUFFLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDOUYsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUM1QyxlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLEtBQUssQ0FDTixDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUM3QyxlQUFlLEVBQ2YsaUNBQWlDLEVBQ2pDLEtBQUssQ0FDTixDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUM1QyxlQUFlLEVBQ2Ysd0NBQXdDLEVBQ3hDLEtBQUssQ0FDTixDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUU5RSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYixxREFBcUQsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3ZILENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDM0QsY0FBYyxFQUFFLGVBQWUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQ3JELEVBQUUsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM3QixRQUFRLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7WUFDMUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzNDLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUMzQyxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO1lBQzVDLFFBQVEsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztTQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxjQUErQjtRQUM5RCxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVwRixNQUFNLFdBQVcsR0FBYSxFQUFFLENBQUM7UUFFakMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLEtBQUssTUFBTSxLQUFLLElBQUkseUJBQXlCLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBMEIsQ0FBQyxDQUFDO1lBQy9DLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQW1CLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQy9DLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELHdCQUF3QjtRQUN4Qix3RkFBd0Y7UUFDeEYsd0dBQXdHO1FBQ3hHLG1IQUFtSDtRQUNuSCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkQsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLFdBQVcsQ0FBQyxJQUFJLENBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQywwQkFBMEIsQ0FBQyxNQUFvQixDQUFDLENBQUMsQ0FDcEYsQ0FBQztRQUNGLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsV0FBVyxDQUFDLElBQUksQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDLE1BQW9CLENBQUMsQ0FBQyxDQUNwRixDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sTUFBTSxDQUFDLDBCQUEwQixDQUFDLEtBQWlCO1FBQ3pELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxNQUFNLENBQUMsT0FBTyxDQUNwQixLQUF1QixFQUN2QixTQUFpQixFQUNqQixTQUFTLEdBQUcsSUFBSTtRQUVoQixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFNBQVMsNEJBQTRCLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdDQUFnQyxDQUNyQyxjQUErQjtRQUUvQixPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUYsY0FBYyxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUM7WUFDaEUsRUFBRSxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDeEMsUUFBUSxFQUFFLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDNUQsU0FBUyxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDdEQsWUFBWSxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUM7WUFDNUQsU0FBUyxFQUFFLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDOUQsUUFBUSxFQUFFLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDNUQsU0FBUyxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7U0FDdkQsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
@@ -70,7 +70,7 @@ export type ParsedCert = {
70
70
  authorityKeyIdentifier?: string;
71
71
  subjectKeyIdentifier?: string;
72
72
  };
73
- export type BlockchainCert = {
73
+ export type BufferedChunkedX509Cert = {
74
74
  nonSerializedParts: Uint8Array[];
75
75
  expirationDate: Uint8Array;
76
76
  ca: Uint8Array;
@@ -1,4 +1,5 @@
1
1
  import abi from '../contracts/abi.js';
2
+ import tokenAbi from '../contracts/tokenAbi.js';
2
3
  import { Contract } from 'web3';
3
4
  import { ReconnectOptions } from 'web3-utils';
4
5
  export type Config = {
@@ -7,7 +8,6 @@ export type Config = {
7
8
  gasPrice?: bigint;
8
9
  gasLimit?: bigint;
9
10
  gasLimitMultiplier?: number;
10
- gasPriceMultiplier?: number;
11
11
  txConcurrency?: number;
12
12
  txIntervalMs?: number;
13
13
  reconnect?: Partial<ReconnectOptions>;
@@ -20,7 +20,7 @@ export declare class BaseConnector {
20
20
  enabled: boolean;
21
21
  } & import("pino").default.ChildLoggerOptions>;
22
22
  protected contract?: Contract<typeof abi>;
23
- protected tokenContract?: Contract<typeof abi>;
23
+ protected tokenContract?: Contract<typeof tokenAbi>;
24
24
  protected tokenAddress?: string;
25
25
  isInitialized(): boolean;
26
26
  checkIfInitialized(): void;
@@ -33,7 +33,7 @@ export declare class BaseConnector {
33
33
  *
34
34
  * @returns initialized contract
35
35
  */
36
- getTokenContract(): Contract<typeof abi>;
36
+ getTokenContract(): Contract<typeof tokenAbi>;
37
37
  /**
38
38
  *
39
39
  * @returns default token address
@@ -49,4 +49,4 @@ export class BaseConnector {
49
49
  }
50
50
  }
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jhc2VDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBaUJ0QyxNQUFNLE9BQU8sYUFBYTtJQUNkLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkUsUUFBUSxDQUF3QjtJQUNoQyxhQUFhLENBQXdCO0lBQ3JDLFlBQVksQ0FBVTtJQUV6QixhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsc0NBQXNDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUN0SCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsUUFBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsYUFBYyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFlBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxJQUFrQixDQUFDO0lBRW5ELFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jhc2VDb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBZ0J0QyxNQUFNLE9BQU8sYUFBYTtJQUNkLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkUsUUFBUSxDQUF3QjtJQUNoQyxhQUFhLENBQTZCO0lBQzFDLFlBQVksQ0FBVTtJQUV6QixhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsc0NBQXNDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUN0SCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsUUFBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsT0FBTyxJQUFJLENBQUMsYUFBYyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFlBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZSxJQUFrQixDQUFDO0lBRW5ELFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -14,6 +14,7 @@ import { BLOCK_SIZE_TO_FETCH_TRANSACTION, POLYGON_MATIC_EVENT_PATH, defaultBlock
14
14
  import { checkIfActionAccountInitialized, cleanWeb3Data, incrementMethodCall, executeBatchAsync, preparePrivateKey, } from '../utils/helper.js';
15
15
  import TxManager from '../utils/TxManager.js';
16
16
  import { abi } from '../contracts/abi.js';
17
+ import tokenAbi from '../contracts/tokenAbi.js';
17
18
  import { Wallet } from 'ethers';
18
19
  // TODO: remove this dependencies
19
20
  import store from '../store.js';
@@ -52,8 +53,6 @@ class BlockchainConnector extends BaseConnector {
52
53
  store.gasLimit = config.gasLimit;
53
54
  if (config?.gasLimitMultiplier)
54
55
  store.gasLimitMultiplier = config.gasLimitMultiplier;
55
- if (config?.gasPriceMultiplier)
56
- store.gasPriceMultiplier = config.gasPriceMultiplier;
57
56
  if (config?.txConcurrency)
58
57
  store.txConcurrency = config.txConcurrency;
59
58
  if (config?.txIntervalMs)
@@ -64,6 +63,7 @@ class BlockchainConnector extends BaseConnector {
64
63
  const tokenAddress = await Superpro.getPrimaryTokenAddress(this.contract);
65
64
  SuperproToken.addressHttps = tokenAddress;
66
65
  this.tokenAddress = tokenAddress;
66
+ this.tokenContract = new Contract(tokenAbi, tokenAddress, web3Context);
67
67
  Monitoring.getInstance().initializeLogging();
68
68
  this.initialized = true;
69
69
  this.logger.trace('Initialized');
@@ -316,4 +316,4 @@ __decorate([
316
316
  __metadata("design:returntype", Promise)
317
317
  ], BlockchainConnector.prototype, "getTransactions", null);
318
318
  export default BlockchainConnector;
319
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jsb2NrY2hhaW5Db25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sSUFBSSxFQUFFLEVBR1gsUUFBUSxFQUlSLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUNMLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLGVBQWUsR0FDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBUzVCLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxRQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBELE1BQU0sbUJBQW9CLFNBQVEsYUFBYTtJQUNyQyxvQkFBb0IsQ0FBVTtJQUV0QyxZQUFZO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBc0I7SUFFN0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVztRQUN2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
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25uZWN0b3JzL0Jsb2NrY2hhaW5Db25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sSUFBSSxFQUFFLEVBR1gsUUFBUSxFQUlSLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUNMLCtCQUErQixFQUMvQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLGVBQWUsR0FDaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBUzVCLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxQyxPQUFPLFFBQVEsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxRQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXBELE1BQU0sbUJBQW9CLFNBQVEsYUFBYTtJQUNyQyxvQkFBb0IsQ0FBVTtJQUV0QyxZQUFZO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBc0I7SUFFN0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztJ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
@@ -2,7 +2,7 @@ import { BaseConnector, Config } from './BaseConnector.js';
2
2
  import { Contract } from 'web3';
3
3
  import { EventLog } from 'web3-types';
4
4
  import { abi } from '../contracts/abi.js';
5
- import { abi as campaignAbi } from '../contracts/Campaign.js';
5
+ import tokenAbi from '../contracts/tokenAbi.js';
6
6
  import { LogsSubscription } from 'web3-eth-contract';
7
7
  export type WssSubscriptionOnDataFn = (event: EventLog) => Promise<void> | void;
8
8
  export type WssSubscriptionOnErrorFn = (error: Error) => Promise<void> | void;
@@ -13,7 +13,7 @@ type SubscribeParams = {
13
13
  onError: WssSubscriptionOnErrorFn;
14
14
  subscription?: LogsSubscription;
15
15
  event: string;
16
- contract?: Contract<typeof abi> | Contract<typeof campaignAbi>;
16
+ contract?: Contract<typeof abi> | Contract<typeof tokenAbi>;
17
17
  };
18
18
  type SubscriptionEvent = Omit<SubscribeParams, 'unsubscribeAndRemove' | 'subscription'>;
19
19
  export default class BlockchainEventsListener extends BaseConnector {
@@ -2,6 +2,7 @@ import _ from 'lodash';
2
2
  import { BaseConnector } from './BaseConnector.js';
3
3
  import Web3, { Web3Context, WebSocketProvider } from 'web3';
4
4
  import { abi } from '../contracts/abi.js';
5
+ import tokenAbi from '../contracts/tokenAbi.js';
5
6
  // TODO: remove this dependencies
6
7
  import store from '../store.js';
7
8
  import Superpro from '../staticModels/Superpro.js';
@@ -195,7 +196,7 @@ export default class BlockchainEventsListener extends BaseConnector {
195
196
  this.contract = new store.web3Wss.eth.Contract(abi, config.contractAddress, web3Context);
196
197
  Superpro.address = config.contractAddress;
197
198
  const tokenAddress = await Superpro.getPrimaryTokenAddress(this.contract);
198
- this.tokenContract = new store.web3Wss.eth.Contract(abi, tokenAddress, web3Context);
199
+ this.tokenContract = new store.web3Wss.eth.Contract(tokenAbi, tokenAddress, web3Context);
199
200
  SuperproToken.addressWss = tokenAddress;
200
201
  this.tokenAddress = tokenAddress;
201
202
  this.initialized = true;
@@ -214,4 +215,4 @@ export default class BlockchainEventsListener extends BaseConnector {
214
215
  super.shutdown();
215
216
  }
216
217
  }
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQVksTUFBTSxNQUFNLENBQUM7QUFHdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFDLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxRQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFnQjdCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUNqRSxZQUFZO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBMkI7SUFDMUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLHdCQUF3QixDQUFDLFFBQVEsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFDckUsQ0FBQztRQUVELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFFZ0IsYUFBYSxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO0lBRXBFLGNBQWMsQ0FBQyxNQUF5QjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1B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
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQVksTUFBTSxNQUFNLENBQUM7QUFHdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFDLE9BQU8sUUFBUSxNQUFNLDBCQUEwQixDQUFDO0FBRWhELGlDQUFpQztBQUNqQyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxRQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFnQjdCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUNqRSxZQUFZO0lBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBMkI7SUFDMUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLHdCQUF3QixDQUFDLFFBQVEsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFDckUsQ0FBQztRQUVELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFFZ0IsYUFBYSxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO0lBRXBFLGNBQWMsQ0FBQyxNQUF5QjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sS0FBSyxDQUFDLEdBQUcsd0JBQXdCLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLE1BQU0sS0FBSyxDQUFDLEdBQUcsd0JBQXdCLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2RCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZjtZQUNFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixHQUFHO1NBQ0osRUFDRCxzQkFBc0IsQ0FDdkIsQ0FBQztRQUVGLE1BQU0sb0JBQW9CLEdBQWtCLEtBQUssSUFBbUIsRUFBRTtZQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsWUFBWSxDQUFDLEVBQUUsZUFBZSxNQUFNLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQztZQUNyRixZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQixNQUFNLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUM7UUFFRixJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmO29CQUNFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztvQkFDbkIsR0FBRztvQkFDSCxjQUFjO2lCQUNmLEVBQ0QsMEJBQTBCLGNBQWMsRUFBRSxDQUMzQyxDQUFDO2dCQUNGLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUNILFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxZQUFZLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDO2FBQ0MsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO2dCQUNyQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ3ZCLFlBQVk7Z0JBQ1osb0JBQW9CO2dCQUNwQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7YUFDcEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sS0FBSyxDQUFDLEdBQUcsd0JBQXdCLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBRXZDLEtBQUssTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQztnQkFDSCxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3BDLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLHNCQUFzQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDO2dCQUNILE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztnQkFFcEUsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUVqQyxNQUFNLFFBQVEsR0FJUixFQUFFLENBQUM7UUFFVCxJQUFJLENBQUM7WUFDSCxLQUFLLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUNaLFdBQVcsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7b0JBQ3hDLEVBQUU7b0JBQ0YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUNsQixDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO29CQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFLGlCQUFpQixJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDNUUsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsSUFBSSxDQUFDLEVBQUUsZUFBZSxJQUFJLENBQUMsS0FBSyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUMzRixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO1lBRXBFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFjO1FBQzdCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sZ0JBQWdCLEdBQXFCLE1BQU0sQ0FBQyxNQUFNLENBQ3REO1lBQ0UsYUFBYSxFQUFFLElBQUk7WUFDbkIsS0FBSyxFQUFFLEtBQUs7WUFDWixXQUFXLEVBQUUsSUFBSTtTQUNsQixFQUNELE1BQU0sQ0FBQyxTQUFTLENBQ2pCLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCx3REFBd0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQzNGLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLGlCQUFpQixDQUNwQyxNQUFNLENBQUMsYUFBYyxFQUNyQixFQUFFLENBQUMsbUJBQW1CLEVBQ3RCLGdCQUFnQixDQUNqQixDQUFDO1FBRUYsTUFBTSxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNoQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUM7WUFFbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUM1QixZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBeUIsRUFBRSxFQUFFO2dCQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztnQkFDcEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixrRkFBa0YsQ0FDbkYsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQVksRUFBRSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztvQkFDaEIsR0FBRyxFQUFFLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsR0FBa0IsRUFBRSxPQUFPO29CQUM5RCxHQUFHLEVBQUUsdUJBQXVCO2lCQUM3QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBa0MsRUFBRSxFQUFFO2dCQUMvRCxJQUFJLEdBQUcsRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7Z0JBQzdELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQzt3QkFDaEIsR0FBRyxFQUNELEdBQUcsWUFBWSxLQUFLOzRCQUNsQixDQUFDLENBQUMsR0FBRzs0QkFDTCxDQUFDLENBQUM7Z0NBQ0UsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNO2dDQUNuQixJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUk7Z0NBQ2YsUUFBUSxFQUFFLEdBQUcsRUFBRSxRQUFROzZCQUN4Qjt3QkFDUCxHQUFHLEVBQUUsNEJBQTRCO3FCQUNsQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQ2xDLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDdkMsTUFBTSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFO1NBQzFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFekYsUUFBUSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBRTFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDekYsYUFBYSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFFakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUE2QixDQUFDO1FBQzlELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUNBQXVDLENBQUMsQ0FBQztZQUM1RCxDQUFDO1lBRUQsTUFBTSxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUNELEtBQUssQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==