@super-protocol/sdk-js 2.2.0-beta.5 → 2.2.0-beta.51

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 (73) hide show
  1. package/dist/cjs/constants.d.ts +1 -4
  2. package/dist/cjs/constants.js +3 -6
  3. package/dist/cjs/contracts/abi.d.ts +135 -26
  4. package/dist/cjs/contracts/abi.js +172 -33
  5. package/dist/cjs/crypto/index.d.ts +1 -0
  6. package/dist/cjs/crypto/index.js +16 -1
  7. package/dist/cjs/index.d.ts +2 -0
  8. package/dist/cjs/index.js +5 -2
  9. package/dist/cjs/models/TCB.js +2 -2
  10. package/dist/cjs/models/TeeOffer.d.ts +3 -3
  11. package/dist/cjs/models/TeeOffer.js +15 -12
  12. package/dist/cjs/providers/storage/parseStorageCredentials.d.ts +5 -0
  13. package/dist/cjs/providers/storage/parseStorageCredentials.js +13 -0
  14. package/dist/cjs/staticModels/LoaderSecretsPublicKeys.d.ts +1 -1
  15. package/dist/cjs/staticModels/LoaderSecretsPublicKeys.js +9 -5
  16. package/dist/cjs/staticModels/LoaderSessions.d.ts +3 -3
  17. package/dist/cjs/staticModels/LoaderSessions.js +11 -7
  18. package/dist/cjs/staticModels/OfferResources.d.ts +2 -2
  19. package/dist/cjs/staticModels/OfferResources.js +20 -10
  20. package/dist/cjs/staticModels/OffersStorageAllocated.d.ts +2 -3
  21. package/dist/cjs/staticModels/OffersStorageAllocated.js +15 -11
  22. package/dist/cjs/staticModels/OffersStorageRequests.d.ts +1 -1
  23. package/dist/cjs/staticModels/OffersStorageRequests.js +10 -5
  24. package/dist/cjs/staticModels/SecretRequests.d.ts +2 -2
  25. package/dist/cjs/staticModels/SecretRequests.js +19 -10
  26. package/dist/cjs/staticModels/TeeOffers.d.ts +0 -2
  27. package/dist/cjs/staticModels/TeeOffers.js +1 -32
  28. package/dist/cjs/tee/TeeBlockVerifier.d.ts +3 -4
  29. package/dist/cjs/tee/TeeBlockVerifier.js +1 -1
  30. package/dist/cjs/types/DistributedSecretStorage.d.ts +5 -0
  31. package/dist/cjs/types/Superpro.d.ts +2 -1
  32. package/dist/cjs/types/Superpro.js +2 -1
  33. package/dist/cjs/utils/CryptoKeysTransformer.d.ts +9 -1
  34. package/dist/cjs/utils/CryptoKeysTransformer.js +79 -15
  35. package/dist/cjs/utils/helper.d.ts +7 -1
  36. package/dist/cjs/utils/helper.js +85 -2
  37. package/dist/mjs/constants.d.ts +1 -4
  38. package/dist/mjs/constants.js +2 -5
  39. package/dist/mjs/contracts/abi.d.ts +135 -26
  40. package/dist/mjs/contracts/abi.js +172 -33
  41. package/dist/mjs/crypto/index.d.ts +1 -0
  42. package/dist/mjs/crypto/index.js +2 -1
  43. package/dist/mjs/index.d.ts +2 -0
  44. package/dist/mjs/index.js +3 -1
  45. package/dist/mjs/models/TCB.js +2 -2
  46. package/dist/mjs/models/TeeOffer.d.ts +3 -3
  47. package/dist/mjs/models/TeeOffer.js +16 -13
  48. package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +5 -0
  49. package/dist/mjs/providers/storage/parseStorageCredentials.js +9 -0
  50. package/dist/mjs/staticModels/LoaderSecretsPublicKeys.d.ts +1 -1
  51. package/dist/mjs/staticModels/LoaderSecretsPublicKeys.js +10 -6
  52. package/dist/mjs/staticModels/LoaderSessions.d.ts +3 -3
  53. package/dist/mjs/staticModels/LoaderSessions.js +12 -8
  54. package/dist/mjs/staticModels/OfferResources.d.ts +2 -2
  55. package/dist/mjs/staticModels/OfferResources.js +21 -11
  56. package/dist/mjs/staticModels/OffersStorageAllocated.d.ts +2 -3
  57. package/dist/mjs/staticModels/OffersStorageAllocated.js +16 -12
  58. package/dist/mjs/staticModels/OffersStorageRequests.d.ts +1 -1
  59. package/dist/mjs/staticModels/OffersStorageRequests.js +11 -6
  60. package/dist/mjs/staticModels/SecretRequests.d.ts +2 -2
  61. package/dist/mjs/staticModels/SecretRequests.js +20 -11
  62. package/dist/mjs/staticModels/TeeOffers.d.ts +0 -2
  63. package/dist/mjs/staticModels/TeeOffers.js +1 -32
  64. package/dist/mjs/tee/TeeBlockVerifier.d.ts +3 -4
  65. package/dist/mjs/tee/TeeBlockVerifier.js +1 -1
  66. package/dist/mjs/types/DistributedSecretStorage.d.ts +5 -0
  67. package/dist/mjs/types/Superpro.d.ts +2 -1
  68. package/dist/mjs/types/Superpro.js +2 -1
  69. package/dist/mjs/utils/CryptoKeysTransformer.d.ts +9 -1
  70. package/dist/mjs/utils/CryptoKeysTransformer.js +79 -15
  71. package/dist/mjs/utils/helper.d.ts +7 -1
  72. package/dist/mjs/utils/helper.js +78 -1
  73. package/package.json +3 -3
@@ -3,21 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_js_1 = require("../connectors/index.js");
4
4
  const helper_js_1 = require("../utils/helper.js");
5
5
  class OffersStorageAllocated {
6
- getNewStorageOrders() {
6
+ static async getByOfferVersion(offerId, offerVersion = 0) {
7
7
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
8
- return contract.methods.getNewStorageOrders().call();
9
- }
10
- static getUsedStorageOrders() {
11
- const contract = index_js_1.BlockchainConnector.getInstance().getContract();
12
- return contract.methods.getUsedStorageOrders().call();
8
+ const allocated = await contract.methods
9
+ .getStorageOrdersAllocated(offerId, offerVersion)
10
+ .call()
11
+ .then((allocated) => (0, helper_js_1.convertOfferStorageAllocatedFromRaw)(allocated));
12
+ if (Number(allocated.timestamp) === 0) {
13
+ return undefined;
14
+ }
15
+ return allocated;
13
16
  }
14
- static getByOfferVersion(offerId, offerVersion = 0) {
17
+ static async getByIssuerId(teeOfferIssuerId) {
15
18
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
16
- return contract.methods
17
- .getStorageOrdersAllocated(offerId, offerVersion)
19
+ const allocated = await contract.methods
20
+ .getStorageOrdersAllocatedByIssuer(teeOfferIssuerId)
18
21
  .call()
19
- .then((allocated) => (0, helper_js_1.cleanWeb3Data)(allocated));
22
+ .then((allocatedOffers) => allocatedOffers.map((allocated) => (0, helper_js_1.convertOfferStorageAllocatedFromRaw)(allocated)));
23
+ return allocated;
20
24
  }
21
25
  }
22
26
  exports.default = OffersStorageAllocated;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzU3RvcmFnZUFsbG9jYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWNNb2RlbHMvT2ZmZXJzU3RvcmFnZUFsbG9jYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUE2RDtBQUU3RCxrREFBbUQ7QUFFbkQsTUFBTSxzQkFBc0I7SUFDbkIsbUJBQW1CO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQzdCLE9BQXFCLEVBQ3JCLGVBQXVCLENBQUM7UUFFeEIsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTzthQUNwQix5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO2FBQ2hELElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBQSx5QkFBYSxFQUFDLFNBQVMsQ0FBMEIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDRjtBQUVELGtCQUFlLHNCQUFzQixDQUFDIn0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzU3RvcmFnZUFsbG9jYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWNNb2RlbHMvT2ZmZXJzU3RvcmFnZUFsbG9jYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUE2RDtBQUU3RCxrREFBeUU7QUFFekUsTUFBTSxzQkFBc0I7SUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FDbkMsT0FBcUIsRUFDckIsZUFBdUIsQ0FBQztRQUV4QixNQUFNLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRSxNQUFNLFNBQVMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPO2FBQ3JDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUM7YUFDaEQsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFBLCtDQUFtQyxFQUFDLFNBQWtDLENBQUMsQ0FBQyxDQUFDO1FBRWhHLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUMvQixnQkFBOEI7UUFFOUIsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsTUFBTSxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsT0FBTzthQUNyQyxpQ0FBaUMsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNuRCxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxlQUFpQyxFQUFFLEVBQUUsQ0FDMUMsZUFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNqQyxJQUFBLCtDQUFtQyxFQUFDLFNBQWtDLENBQUMsQ0FDeEUsQ0FDRixDQUFDO1FBRUosT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBRUQsa0JBQWUsc0JBQXNCLENBQUMifQ==
@@ -3,7 +3,7 @@ declare class OffersStorageRequests {
3
3
  private static readonly logger;
4
4
  static getCountByIssuerId(): Promise<number>;
5
5
  static getByIssuerId(teeOfferIssuerId: BlockchainId): Promise<OfferStorageRequest[]>;
6
- static getByOfferVersion(offerId: BlockchainId, offerVersion?: number): Promise<OfferStorageRequest>;
6
+ static getByOfferVersion(offerId: BlockchainId, offerVersion?: number): Promise<OfferStorageRequest | undefined>;
7
7
  static set(request: Omit<OfferStorageRequest, 'orderId' | 'timestamp'>, transactionOptions?: TransactionOptions): Promise<void>;
8
8
  static cancel(offerId: BlockchainId, offerVersion?: number, transactionOptions?: TransactionOptions): Promise<void>;
9
9
  static onOfferStorageRequestCreated(callback: onOfferStorageRequestCreatedCallback): () => void;
@@ -18,14 +18,18 @@ class OffersStorageRequests {
18
18
  return contract.methods
19
19
  .getOffersStorageRequestsByIssuerId(teeOfferIssuerId)
20
20
  .call()
21
- .then((allocatedList) => allocatedList.map((allocated) => (0, helper_js_1.cleanWeb3Data)(allocated)));
21
+ .then((storageRequestList) => storageRequestList.map((storageRequest) => (0, helper_js_1.convertOfferStorageRequestFromRaw)(storageRequest)));
22
22
  }
23
- static getByOfferVersion(offerId, offerVersion = 0) {
23
+ static async getByOfferVersion(offerId, offerVersion = 0) {
24
24
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
25
- return contract.methods
25
+ const storageRequest = await contract.methods
26
26
  .getOffersStorageRequestsByOfferVersion(offerId, offerVersion)
27
27
  .call()
28
- .then((allocated) => (0, helper_js_1.cleanWeb3Data)(allocated));
28
+ .then((sRequest) => (0, helper_js_1.convertOfferStorageRequestFromRaw)(sRequest));
29
+ if (Number(storageRequest.timestamp) === 0) {
30
+ return undefined;
31
+ }
32
+ return storageRequest;
29
33
  }
30
34
  static async set(request, transactionOptions) {
31
35
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
@@ -33,6 +37,7 @@ class OffersStorageRequests {
33
37
  await TxManager_js_1.default.execute(contract.methods.setOffersStorageRequest({
34
38
  ...request,
35
39
  offerVersion: request.offerVersion ?? 0,
40
+ orderId: 0,
36
41
  timestamp: 0,
37
42
  }), transactionOptions);
38
43
  }
@@ -81,4 +86,4 @@ class OffersStorageRequests {
81
86
  }
82
87
  }
83
88
  exports.default = OffersStorageRequests;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzU3RvcmFnZVJlcXVlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnNTdG9yYWdlUmVxdWVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBdUY7QUFPdkYsa0RBQW9GO0FBQ3BGLHlFQUE4QztBQUU5Qyw2REFBc0M7QUFNdEMsTUFBTSxxQkFBcUI7SUFDakIsTUFBTSxDQUFVLE1BQU0sR0FBRyxtQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFFbkYsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0I7UUFDcEMsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxNQUFNLENBQUMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBOEI7UUFDeEQsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTzthQUNwQixrQ0FBa0MsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNwRCxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxhQUErQixFQUFFLEVBQUUsQ0FDeEMsYUFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBQSx5QkFBYSxFQUFDLFNBQVMsQ0FBd0IsQ0FBQyxDQUNuRixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDN0IsT0FBcUIsRUFDckIsZUFBdUIsQ0FBQztRQUV4QixNQUFNLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUs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
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzU3RvcmFnZVJlcXVlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnNTdG9yYWdlUmVxdWVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBdUY7QUFPdkYsa0RBSTRCO0FBQzVCLHlFQUE4QztBQUU5Qyw2REFBc0M7QUFNdEMsTUFBTSxxQkFBcUI7SUFDakIsTUFBTSxDQUFVLE1BQU0sR0FBRyxtQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFFbkYsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0I7UUFDcEMsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxNQUFNLENBQUMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBOEI7UUFDeEQsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTzthQUNwQixrQ0FBa0MsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNwRCxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxrQkFBb0MsRUFBRSxFQUFFLENBQzdDLGtCQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pDLElBQUEsNkNBQWlDLEVBQUMsY0FBcUMsQ0FBQyxDQUN6RSxDQUNGLENBQUM7SUFDTixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FDbkMsT0FBcUIsRUFDckIsZUFBdUIsQ0FBQztRQUV4QixNQUFNLFFBQVEsR0FBRyw4QkFBbUIs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
@@ -4,9 +4,9 @@ declare class SecretRequests {
4
4
  static getCountByKeeperId(teeOfferKeeperId: BlockchainId): Promise<number>;
5
5
  static getByKeeperId(teeOfferIssuerId: BlockchainId): Promise<SecretRequest[]>;
6
6
  static getByRequestorId(teeOfferRequestorId: BlockchainId): Promise<SecretRequest[]>;
7
- static set(request: SecretRequest, transactionOptions?: TransactionOptions): Promise<void>;
7
+ static set(request: Omit<SecretRequest, 'timestamp'>, transactionOptions?: TransactionOptions): Promise<void>;
8
8
  static clear(teeOfferKeeperId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
9
- static cancel(request: SecretRequest, transactionOptions?: TransactionOptions): Promise<void>;
9
+ static cancel(request: Omit<SecretRequest, 'timestamp'>, transactionOptions?: TransactionOptions): Promise<void>;
10
10
  static onSecretRequestCreated(callback: onSecretRequestCreatedCallback): () => void;
11
11
  }
12
12
  export type onSecretRequestCreatedCallback = (secretRequestorId: BlockchainId, secretKeeperId: BlockchainId, offerId: BlockchainId, offerVersion: number, block?: BlockInfo) => void;
@@ -7,6 +7,7 @@ const index_js_1 = require("../connectors/index.js");
7
7
  const helper_js_1 = require("../utils/helper.js");
8
8
  const TxManager_js_1 = __importDefault(require("../utils/TxManager.js"));
9
9
  const logger_js_1 = __importDefault(require("../logger.js"));
10
+ const constants_js_1 = require("../constants.js");
10
11
  class SecretRequests {
11
12
  static logger = logger_js_1.default.child({ className: 'SecretRequests' });
12
13
  static async getCountByKeeperId(teeOfferKeeperId) {
@@ -18,33 +19,41 @@ class SecretRequests {
18
19
  return contract.methods
19
20
  .getSecretRequestsByKeeperId(teeOfferIssuerId)
20
21
  .call()
21
- .then((requests) => requests.map((request) => (0, helper_js_1.cleanWeb3Data)(request)));
22
+ .then((requests) => requests.map((request) => (0, helper_js_1.convertSecretRequestFromRaw)(request)));
22
23
  }
23
24
  static getByRequestorId(teeOfferRequestorId) {
24
25
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
25
26
  return contract.methods
26
27
  .getSecretRequestsByRequestorId(teeOfferRequestorId)
27
28
  .call()
28
- .then((requests) => requests.map((request) => (0, helper_js_1.cleanWeb3Data)(request)));
29
+ .then((requests) => requests.map((request) => (0, helper_js_1.convertSecretRequestFromRaw)(request)));
29
30
  }
30
31
  static async set(request, transactionOptions) {
31
32
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
32
33
  (0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
33
- request.offerVersion = request.offerVersion ?? 0;
34
- request.timestamp = 0;
35
- await TxManager_js_1.default.execute(contract.methods.setSecretRequest(request), transactionOptions);
34
+ await TxManager_js_1.default.execute(contract.methods.setSecretRequest({
35
+ ...request,
36
+ offerVersion: request.offerVersion ?? 0,
37
+ timestamp: 0,
38
+ }), transactionOptions);
36
39
  }
37
40
  static async clear(teeOfferKeeperId, transactionOptions) {
38
41
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
39
42
  (0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
40
- await TxManager_js_1.default.execute(contract.methods.clearSecretRequests(teeOfferKeeperId), transactionOptions);
43
+ const options = {
44
+ gas: constants_js_1.AMOY_TX_GAS_LIMIT,
45
+ ...transactionOptions,
46
+ };
47
+ await TxManager_js_1.default.execute(contract.methods.clearSecretRequests(teeOfferKeeperId), options);
41
48
  }
42
49
  static async cancel(request, transactionOptions) {
43
50
  const contract = index_js_1.BlockchainConnector.getInstance().getContract();
44
51
  (0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
45
- request.offerVersion ?? 0;
46
- request.timestamp ?? 0;
47
- await TxManager_js_1.default.execute(contract.methods.cancelSecretRequest(request), transactionOptions);
52
+ await TxManager_js_1.default.execute(contract.methods.cancelSecretRequest({
53
+ ...request,
54
+ offerVersion: request.offerVersion ?? 0,
55
+ timestamp: 0,
56
+ }), transactionOptions);
48
57
  }
49
58
  static onSecretRequestCreated(callback) {
50
59
  const listener = index_js_1.BlockchainEventsListener.getInstance();
@@ -67,4 +76,4 @@ class SecretRequests {
67
76
  }
68
77
  }
69
78
  exports.default = SecretRequests;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0UmVxdWVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL1NlY3JldFJlcXVlc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQXVGO0FBRXZGLGtEQUFvRjtBQUNwRix5RUFBOEM7QUFFOUMsNkRBQXNDO0FBTXRDLE1BQU0sY0FBYztJQUNWLE1BQU0sQ0FBVSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsZ0JBQThCO1FBQ25FLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sTUFBTSxDQUFDLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQThCO1FBQ3hELE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU87YUFDcEIsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUM7YUFDN0MsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsUUFBMEIsRUFBRSxFQUFFLENBQ25DLFFBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUEseUJBQWEsRUFBQyxPQUFPLENBQWtCLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsbUJBQWlDO1FBQzlELE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcs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
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0UmVxdWVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL1NlY3JldFJlcXVlc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQXVGO0FBRXZGLGtEQUk0QjtBQUM1Qix5RUFBOEM7QUFFOUMsNkRBQXNDO0FBS3RDLGtEQUFvRDtBQUVwRCxNQUFNLGNBQWM7SUFDVixNQUFNLENBQVUsTUFBTSxHQUFHLG1CQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUU1RSxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLGdCQUE4QjtRQUNuRSxNQUFNLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLGdCQUE4QjtRQUN4RCxNQUFNLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqRSxPQUFPLFFBQVEsQ0FBQyxPQUFPO2FBQ3BCLDJCQUEyQixDQUFDLGdCQUFnQixDQUFDO2FBQzdDLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLFFBQTBCLEVBQUUsRUFBRSxDQUNuQyxRQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHVDQUEyQixFQUFDLE9BQXdCLENBQUMsQ0FBQyxDQUNsRixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBaUM7UUFDOUQsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTzthQUNwQiw4QkFBOEIsQ0FBQyxtQkFBbUIsQ0FBQzthQUNuRCxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxRQUEwQixFQUFFLEVBQUUsQ0FDbkMsUUFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBQSx1Q0FBMkIsRUFBQyxPQUF3QixDQUFDLENBQUMsQ0FDbEYsQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDckIsT0FBeUMsRUFDekMsa0JBQXVDO1FBRXZDLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLElBQUEsMkNBQStCLEVBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVwRCxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ2hDLEdBQUcsT0FBTztZQUNWLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUM7WUFDdkMsU0FBUyxFQUFFLENBQUM7U0FDYixDQUFDLEVBQ0Ysa0JBQWtCLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ3ZCLGdCQUE4QixFQUM5QixrQkFBdUM7UUFFdkMsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsSUFBQSwyQ0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELE1BQU0sT0FBTyxHQUF1QjtZQUNsQyxHQUFHLEVBQUUsZ0NBQWlCO1lBQ3RCLEdBQUcsa0JBQWtCO1NBQ3RCLENBQUM7UUFFRixNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3hCLE9BQXlDLEVBQ3pDLGtCQUF1QztRQUV2QyxNQUFNLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRSxJQUFBLDJDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUNuQyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxDQUFDO1NBQ2IsQ0FBQyxFQUNGLGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxRQUF3QztRQUMzRSxNQUFNLFFBQVEsR0FBRyxtQ0FBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxNQUFNLEdBQTRCLENBQUMsS0FBZSxFQUFRLEVBQUU7WUFDaEUsTUFBTSxXQUFXLEdBQUcsSUFBQSx5QkFBYSxFQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RCxRQUFRLENBQ1EsV0FBVyxDQUFDLGlCQUFpQixFQUM3QixXQUFXLENBQUMsY0FBYyxFQUMxQixXQUFXLENBQUMsT0FBTyxFQUN6QixXQUFXLENBQUMsWUFBWSxFQUNyQjtnQkFDVCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7Z0JBQ2hDLElBQUksRUFBVSxLQUFLLENBQUMsU0FBUzthQUM5QixDQUNGLENBQUM7UUFDSixDQUFDLENBQUM7UUFDRixNQUFNLE9BQU8sR0FBNkIsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUN6RCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQztZQUM3QixPQUFPO1lBQ1AsTUFBTTtZQUNOLEtBQUssRUFBRSxzQkFBc0I7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFXSCxrQkFBZSxjQUFjLENBQUMifQ==
@@ -1,6 +1,5 @@
1
1
  import { BlockInfo, TransactionOptions, HardwareInfo, TeeOfferInfo, OfferCreatedEvent, OptionAddedEvent, TeeSlotAddedEvent, TeeOfferOption, BlockchainId } from '../types/index.js';
2
2
  declare class TeeOffers {
3
- private static cache;
4
3
  private static coresDenominator?;
5
4
  private static readonly logger;
6
5
  static teeOffers: BlockchainId[];
@@ -104,7 +103,6 @@ declare class TeeOffers {
104
103
  */
105
104
  static onCreated(callback: onTeeOfferCreatedCallback): () => void;
106
105
  static onViolationRateChanged(callback: onTeeViolationRateChangedCallback): () => void;
107
- static getMostRecentlyActive(size?: number, force?: boolean): Promise<BlockchainId[]>;
108
106
  }
109
107
  export type onTeeOfferCreatedCallback = (offerId: BlockchainId, creator: string, externalId: string, block?: BlockInfo) => void;
110
108
  export type onTeeViolationRateChangedCallback = (offerId: BlockchainId, providerAuth: string, violationRate: bigint | string, block?: BlockInfo) => void;
@@ -11,15 +11,7 @@ const index_js_2 = require("../connectors/index.js");
11
11
  const Superpro_js_1 = __importDefault(require("./Superpro.js"));
12
12
  const TxManager_js_1 = __importDefault(require("../utils/TxManager.js"));
13
13
  const StaticModel_js_1 = __importDefault(require("./StaticModel.js"));
14
- const TCB_js_1 = __importDefault(require("../models/TCB.js"));
15
- const constants_js_1 = require("../constants.js");
16
- const index_js_3 = require("../utils/cache/index.js");
17
- const Consensus_js_1 = __importDefault(require("./Consensus.js"));
18
- const TeeOffer_js_1 = __importDefault(require("../models/TeeOffer.js"));
19
- const inactivePeriod = (timeInMs) => Date.now() - new Date(timeInMs).valueOf();
20
- const inactivePredicate = (timeInMs) => inactivePeriod(timeInMs) > constants_js_1.INACTIVE_TCB_PERIOD;
21
14
  class TeeOffers {
22
- static cache = (0, index_js_3.createMemoryCache)();
23
15
  static coresDenominator;
24
16
  static logger = logger_js_1.default.child({ className: 'TeeOffers' });
25
17
  static teeOffers = [];
@@ -341,29 +333,6 @@ class TeeOffers {
341
333
  event: 'TeeOfferViolationRateChanged',
342
334
  });
343
335
  }
344
- static getMostRecentlyActive(size = constants_js_1.TEE_OFFER_SELECT_FRESH_SIZE, force = false) {
345
- const key = `${this.getMostRecentlyActive.name}:${size}`;
346
- const ttl = 5 * 60;
347
- return this.cache.wrap(key, async () => {
348
- const tcbsCount = await Consensus_js_1.default.getTcbsCount();
349
- const result = new Set();
350
- for (let tcbId = tcbsCount; tcbId > Math.max(0, tcbsCount - size); tcbId--) {
351
- const tcb = await new TCB_js_1.default(tcbId.toString()).get();
352
- if (!tcb || !tcb.timeAdded) {
353
- continue;
354
- }
355
- if (inactivePredicate(tcb.timeAdded * 1000)) {
356
- break; // there is no need to continue search, timeAdded of next tcbs will be older
357
- }
358
- const offerId = (await new TCB_js_1.default(tcbId.toString()).getUtilityData()).teeOfferId;
359
- const isVerified = await new TeeOffer_js_1.default(offerId).isTeeOfferVerifying();
360
- if (isVerified) {
361
- result.add(offerId);
362
- }
363
- }
364
- return [...result];
365
- }, { ttl, force });
366
- }
367
336
  }
368
337
  exports.default = TeeOffers;
369
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9UZWVPZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsa0RBUTRCO0FBQzVCLGtEQUF5RjtBQUN6RixnREFZMkI7QUFDM0IscURBQXVGO0FBQ3ZGLGdFQUFxQztBQUNyQyx5RUFBOEM7QUFFOUMsc0VBQTJDO0FBSzNDLDhEQUFtQztBQUNuQyxrREFBbUY7QUFDbkYsc0RBQTREO0FBQzVELGtFQUF1QztBQUN2Qyx3RUFBNkM7QUFFN0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFnQixFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDL0YsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQWdCLEVBQVcsRUFBRSxDQUN0RCxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsa0NBQW1CLENBQUM7QUFFakQsTUFBTSxTQUFTO0lBQ0wsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFBLDRCQUFpQixHQUFFLENBQUM7SUFDbkMsTUFBTSxDQUFDLGdCQUFnQixDQUFVO0lBRWpDLE1BQU0sQ0FBVSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUU5RSxNQUFNLENBQUMsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFFdEMsTUFBTSxLQUFLLE9BQU87UUFDaEIsT0FBTyxxQkFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFnQjtRQUM1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyRCxFQUFFLENBQUMsUUFBUSxDQUFDLFFB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
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9UZWVPZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsa0RBUTRCO0FBQzVCLGtEQUF5RjtBQUN6RixnREFZMkI7QUFDM0IscURBQXVGO0FBQ3ZGLGdFQUFxQztBQUNyQyx5RUFBOEM7QUFFOUMsc0VBQTJDO0FBTTNDLE1BQU0sU0FBUztJQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBVTtJQUVqQyxNQUFNLENBQVUsTUFBTSxHQUFHLG1CQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFOUUsTUFBTSxDQUFDLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBRXRDLE1BQU0sS0FBSyxPQUFPO1FBQ2hCLE9BQU8scUJBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBZ0I7UUFDNUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckQsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDO1FBQ3BDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQztRQUVwQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQWdCO1FBQzlDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUQsRUFBRSxDQUFDLFFBQVEsR0FBRyxJQUFBLDBCQUFjLEVBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxL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
@@ -1,10 +1,9 @@
1
1
  import { TLBlockUnserializeResultType } from '@super-protocol/tee-lib';
2
2
  import { TCB } from '../models/index.js';
3
- import { BlockchainId } from '../types/index.js';
4
3
  export declare class TeeBlockVerifier {
5
- static verifiedTlbHashes: Map<string, string>;
6
- static verifiedTcbs: Set<BlockchainId>;
7
- private static checkQuote;
4
+ private static readonly verifiedTlbHashes;
5
+ private static readonly verifiedTcbs;
6
+ static checkQuote(quote: Uint8Array, dataBlob: Uint8Array, sgxApiUrl: string): Promise<void>;
8
7
  static verifyTcb(tcb: TCB, quoteString: string, pubKey: string, sgxApiUrl: string): Promise<void>;
9
8
  static verifyTlb(tlb: TLBlockUnserializeResultType, tlbString: string, offerId: string, sgxApiUrl: string): Promise<void>;
10
9
  }
@@ -83,4 +83,4 @@ class TeeBlockVerifier {
83
83
  }
84
84
  }
85
85
  exports.TeeBlockVerifier = TeeBlockVerifier;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQmxvY2tWZXJpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZWUvVGVlQmxvY2tWZXJpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBaUU7QUFDakUscURBQTRGO0FBQzVGLDZEQUFrQztBQUNsQyw0Q0FBc0M7QUFFdEMscURBQWdEO0FBQ2hELDJEQUFxRDtBQUNyRCwrQ0FBd0Q7QUFFeEQsa0VBQXdDO0FBRXhDLE1BQWEsZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxRCxNQUFNLENBQUMsWUFBWSxHQUFzQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUM3QixLQUFpQixFQUNqQixRQUFvQixFQUNwQixTQUFpQjtRQUVqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksa0NBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsSUFBSSxXQUFXLENBQUMscUJBQXFCLEtBQUsscUNBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0UsSUFBSSxXQUFXLENBQUMscUJBQXFCLEtBQUsscUNBQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3hFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN0QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUJBQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLHlDQUF5QyxDQUFDLENBQUM7WUFDdEUsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sU0FBUyxDQUFDLGtCQUFrQixDQUM1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
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQmxvY2tWZXJpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZWUvVGVlQmxvY2tWZXJpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBaUU7QUFDakUscURBQTRGO0FBQzVGLDZEQUFrQztBQUNsQyw0Q0FBc0M7QUFFdEMscURBQWdEO0FBQ2hELDJEQUFxRDtBQUNyRCwrQ0FBd0Q7QUFFeEQsa0VBQXdDO0FBRXhDLE1BQWEsZ0JBQWdCO0lBQ25CLE1BQU0sQ0FBVSxpQkFBaUIsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNuRSxNQUFNLENBQVUsWUFBWSxHQUFzQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXBFLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUNyQixLQUFpQixFQUNqQixRQUFvQixFQUNwQixTQUFpQjtRQUVqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksa0NBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsSUFBSSxXQUFXLENBQUMscUJBQXFCLEtBQUsscUNBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0UsSUFBSSxXQUFXLENBQUMscUJBQXFCLEtBQUsscUNBQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3hFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN0QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUJBQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLHlDQUF5QyxDQUFDLENBQUM7WUFDdEUsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sU0FBUyxDQUFDLGtCQUFrQixDQUM1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
@@ -1,3 +1,4 @@
1
+ import { OfferType } from './Offer.js';
1
2
  import { BlockchainId, TokenAmount } from './Web3.js';
2
3
  export type PublicKey = {
3
4
  kty: string;
@@ -40,12 +41,16 @@ export type OfferResource = {
40
41
  timestamp: number;
41
42
  signature: Signature;
42
43
  signedEncryptedData: string;
44
+ offerType: OfferType;
45
+ solutionHash?: string;
43
46
  };
44
47
  export type OfferStorageAllocated = {
45
48
  teeOfferIssuerId: BlockchainId;
46
49
  storageOrderId: BlockchainId;
47
50
  distributionReplicationFactor: number;
48
51
  timestamp: number;
52
+ offerVersion: number;
53
+ offerId: BlockchainId;
49
54
  };
50
55
  export type OfferStorageRequest = {
51
56
  offerId: BlockchainId;
@@ -5,5 +5,6 @@ export declare enum ParamName {
5
5
  StopDelaySeconds = "3",
6
6
  TeeOfferSecDeposit = "4",
7
7
  OfferSecDeposit = "5",
8
- TeeRewardPerEpoch = "6"
8
+ TeeRewardPerEpoch = "6",
9
+ StorageRequestFee = "7"
9
10
  }
@@ -10,5 +10,6 @@ var ParamName;
10
10
  ParamName["TeeOfferSecDeposit"] = "4";
11
11
  ParamName["OfferSecDeposit"] = "5";
12
12
  ParamName["TeeRewardPerEpoch"] = "6";
13
+ ParamName["StorageRequestFee"] = "7";
13
14
  })(ParamName || (exports.ParamName = ParamName = {}));
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJwcm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvU3VwZXJwcm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxTQVFYO0FBUkQsV0FBWSxTQUFTO0lBQ25CLHNDQUF5QixDQUFBO0lBQ3pCLDZDQUFnQyxDQUFBO0lBQ2hDLGdDQUFtQixDQUFBO0lBQ25CLG1DQUFzQixDQUFBO0lBQ3RCLHFDQUF3QixDQUFBO0lBQ3hCLGtDQUFxQixDQUFBO0lBQ3JCLG9DQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFSVyxTQUFTLHlCQUFULFNBQVMsUUFRcEIifQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJwcm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvU3VwZXJwcm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxTQVNYO0FBVEQsV0FBWSxTQUFTO0lBQ25CLHNDQUF5QixDQUFBO0lBQ3pCLDZDQUFnQyxDQUFBO0lBQ2hDLGdDQUFtQixDQUFBO0lBQ25CLG1DQUFzQixDQUFBO0lBQ3RCLHFDQUF3QixDQUFBO0lBQ3hCLGtDQUFxQixDQUFBO0lBQ3JCLG9DQUF1QixDQUFBO0lBQ3ZCLG9DQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFUVyxTQUFTLHlCQUFULFNBQVMsUUFTcEIifQ==
@@ -1,16 +1,19 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { PublicKey, Signature } from './../types/index.js';
3
+ import { PublicKey, Signature } from '../types/index.js';
4
4
  import { KeyObject } from 'crypto';
5
5
  type SignedData = {
6
6
  signedTime: number;
7
7
  signature: Signature;
8
8
  };
9
9
  export declare class CryptoKeysTransformer {
10
+ private static padTo32Bytes;
10
11
  static getStructuredPrivateKeyFromKeyObj(privateKeyObj: KeyObject): string;
11
12
  static getStructuredPublicKeyFromKeyObj(publicKeyObj: KeyObject): PublicKey;
12
13
  static getBufferFromTransformedPublicKey(publicKey: PublicKey): Buffer;
13
14
  static parseDerSignature(derSignature: string): Signature;
15
+ static appendNumberToBuffer(val: number, data: Buffer): Buffer;
16
+ static appendBigIntToBuffer(val: bigint, data: Buffer): Buffer;
14
17
  static sign(privateKey: KeyObject, data: Buffer): SignedData;
15
18
  static verify(publicKey: KeyObject, data: Buffer, signature: string, signedTime: number): boolean;
16
19
  static privateKeyObjToDer(key: KeyObject): Buffer;
@@ -25,5 +28,10 @@ export declare class CryptoKeysTransformer {
25
28
  static privateDerToKeyObj(key: Buffer): KeyObject;
26
29
  static publicDerToKeyObj(key: Buffer): KeyObject;
27
30
  static getKeyObjFromStructuredPublicKey(key: PublicKey): KeyObject;
31
+ static preparePublicKeyToSign(publicKey: Buffer | KeyObject): Buffer;
32
+ static keyObjToEcdhPrivateKey(key: KeyObject): Buffer;
33
+ static ecdhPublicKeyToKeyObj(key: Buffer): KeyObject;
34
+ static ecdhPrivateKeyToKeyObj(key: Buffer, publicKey: Buffer): KeyObject;
35
+ static keyObjToEcdhPublicKey(keyObj: KeyObject): Buffer;
28
36
  }
29
37
  export {};
@@ -10,6 +10,15 @@ const helpers_js_1 = require("./../tee/helpers.js");
10
10
  const ethers_1 = require("ethers");
11
11
  const crypto_1 = require("crypto");
12
12
  class CryptoKeysTransformer {
13
+ static padTo32Bytes(bytes) {
14
+ const array = ethers_1.ethers.utils.arrayify('0x' + bytes);
15
+ if (array.length === 32) {
16
+ return array;
17
+ }
18
+ const padded = new Uint8Array(32);
19
+ padded.set(array, 32 - array.length);
20
+ return padded;
21
+ }
13
22
  static getStructuredPrivateKeyFromKeyObj(privateKeyObj) {
14
23
  const privateKeyJwk = privateKeyObj.export({ format: 'jwk' });
15
24
  return Buffer.from(privateKeyJwk.d, 'base64url').toString('hex');
@@ -34,21 +43,30 @@ class CryptoKeysTransformer {
34
43
  }
35
44
  static parseDerSignature(derSignature) {
36
45
  const { r, s } = helpers_js_1.Signature.importFromDER(derSignature);
46
+ const rBytes32 = this.padTo32Bytes(r);
47
+ const sBytes32 = this.padTo32Bytes(s);
37
48
  return {
38
- r: ethers_1.ethers.utils.arrayify('0x' + r),
39
- s: ethers_1.ethers.utils.arrayify('0x' + s),
49
+ r: rBytes32,
50
+ s: sBytes32,
40
51
  der: derSignature,
41
52
  v: 27,
42
53
  };
43
54
  }
55
+ static appendNumberToBuffer(val, data) {
56
+ const signedTimeBuffer = Buffer.alloc(4);
57
+ signedTimeBuffer.writeUInt32BE(val, 0);
58
+ return Buffer.concat([data, signedTimeBuffer]);
59
+ }
60
+ static appendBigIntToBuffer(val, data) {
61
+ const hexedOrderId = ethers_1.ethers.utils.hexZeroPad(ethers_1.ethers.utils.hexlify(val), 32).slice(2);
62
+ return Buffer.concat([data, Buffer.from(hexedOrderId, dto_js_1.Encoding.hex)]);
63
+ }
44
64
  static sign(privateKey, data) {
45
65
  const signedTime = Math.floor(Date.now() / 1000);
46
- const signedTimeBuffer = Buffer.alloc(4);
47
- signedTimeBuffer.writeUInt32BE(signedTime, 0);
48
- const msg = Buffer.concat([data, signedTimeBuffer]);
49
66
  const signatureOrigin = index_js_1.default.sign({
50
- data: msg,
67
+ data: CryptoKeysTransformer.appendNumberToBuffer(signedTime, data),
51
68
  privateKey,
69
+ outputFormat: dto_js_1.Encoding.hex,
52
70
  });
53
71
  const signature = CryptoKeysTransformer.parseDerSignature(signatureOrigin);
54
72
  return {
@@ -57,13 +75,11 @@ class CryptoKeysTransformer {
57
75
  };
58
76
  }
59
77
  static verify(publicKey, data, signature, signedTime) {
60
- const signedTimeBuffer = Buffer.alloc(4);
61
- signedTimeBuffer.writeUInt32BE(signedTime, 0);
62
- const msg = Buffer.concat([data, signedTimeBuffer]);
63
78
  return index_js_1.default.verify({
64
- data: msg,
79
+ data: CryptoKeysTransformer.appendNumberToBuffer(signedTime, data),
65
80
  publicKey,
66
81
  signature,
82
+ signatureFormat: dto_js_1.Encoding.hex,
67
83
  });
68
84
  }
69
85
  static privateKeyObjToDer(key) {
@@ -93,19 +109,67 @@ class CryptoKeysTransformer {
93
109
  });
94
110
  }
95
111
  static getKeyObjFromStructuredPublicKey(key) {
96
- const replace = (data) => data.replace(/=/g, '');
97
- const transform = (data) => replace(Buffer.from(data).toString(dto_js_1.Encoding.base64));
112
+ const hexToBase64Url = (data) => {
113
+ const hex = Buffer.from(data).toString(dto_js_1.Encoding.hex);
114
+ const buffer = Buffer.from(hex.replace(/^0x/, ''), 'hex');
115
+ return buffer.toString('base64url');
116
+ };
98
117
  const jwk = {
99
118
  crv: key.crv,
100
119
  kty: key.kty,
101
- x: transform(key.pointX),
102
- y: transform(key.pointY),
120
+ x: hexToBase64Url(key.pointX),
121
+ y: hexToBase64Url(key.pointY),
103
122
  };
104
123
  return (0, crypto_1.createPublicKey)({
105
124
  key: jwk,
106
125
  format: 'jwk',
107
126
  });
108
127
  }
128
+ static preparePublicKeyToSign(publicKey) {
129
+ const toKeyObj = (publicKey) => {
130
+ if (publicKey instanceof Buffer) {
131
+ return CryptoKeysTransformer.publicDerToKeyObj(publicKey);
132
+ }
133
+ return publicKey;
134
+ };
135
+ const keyObj = toKeyObj(publicKey);
136
+ const structuredPublicKey = CryptoKeysTransformer.getStructuredPublicKeyFromKeyObj(keyObj);
137
+ return CryptoKeysTransformer.getBufferFromTransformedPublicKey(structuredPublicKey);
138
+ }
139
+ static keyObjToEcdhPrivateKey(key) {
140
+ const jwk = key.export({ format: 'jwk' });
141
+ return Buffer.from(jwk.d, dto_js_1.Encoding.base64);
142
+ }
143
+ static ecdhPublicKeyToKeyObj(key) {
144
+ const xBuffer = key.subarray(1, 33); // X coordinate (skip the first byte, which is the 0x04 prefix)
145
+ const yBuffer = key.subarray(33); // Y coordinate
146
+ const jwk = {
147
+ kty: 'EC',
148
+ crv: 'secp256k1',
149
+ x: xBuffer.toString(dto_js_1.Encoding.base64),
150
+ y: yBuffer.toString(dto_js_1.Encoding.base64),
151
+ };
152
+ return (0, crypto_1.createPublicKey)({ key: jwk, format: 'jwk' });
153
+ }
154
+ static ecdhPrivateKeyToKeyObj(key, publicKey) {
155
+ const dBuffer = key;
156
+ const xBuffer = publicKey.subarray(1, 33);
157
+ const yBuffer = publicKey.subarray(33);
158
+ const jwk = {
159
+ kty: 'EC',
160
+ crv: 'secp256k1',
161
+ x: xBuffer.toString('base64'),
162
+ y: yBuffer.toString('base64'),
163
+ d: dBuffer.toString('base64'),
164
+ };
165
+ return (0, crypto_1.createPrivateKey)({ key: jwk, format: 'jwk' });
166
+ }
167
+ static keyObjToEcdhPublicKey(keyObj) {
168
+ const jwk = keyObj.export({ format: 'jwk' });
169
+ const xBuffer = Buffer.from(jwk.x, 'base64');
170
+ const yBuffer = Buffer.from(jwk.y, 'base64');
171
+ return Buffer.concat([Buffer.from([0x04]), xBuffer, yBuffer]);
172
+ }
109
173
  }
110
174
  exports.CryptoKeysTransformer = CryptoKeysTransformer;
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvS2V5c1RyYW5zZm9ybWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NyeXB0b0tleXNUcmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrRUFBd0M7QUFDeEMsbURBQWtEO0FBRWxELG9EQUE2RDtBQUM3RCxtQ0FBZ0M7QUFDaEMsbUNBQXNFO0FBT3RFLE1BQWEscUJBQXFCO0lBQ2hDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxhQUF3QjtRQUMvRCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsWUFBdUI7UUFDN0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU87WUFDTCxHQUFHLEVBQUUsWUFBWSxDQUFDLEdBQUk7WUFDdEIsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFJO1lBQ3RCLE1BQU0sRUFBRSxlQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDM0IsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQ2pFO1lBQ0QsTUFBTSxFQUFFLGVBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUMzQixJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDakU7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
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvS2V5c1RyYW5zZm9ybWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL0NyeXB0b0tleXNUcmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxrRUFBd0M7QUFDeEMsbURBQWtEO0FBRWxELG9EQUE2RDtBQUM3RCxtQ0FBZ0M7QUFDaEMsbUNBQXNFO0FBT3RFLE1BQWEscUJBQXFCO0lBQ3hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBYTtRQUN2QyxNQUFNLEtBQUssR0FBRyxlQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxhQUF3QjtRQUMvRCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsWUFBdUI7UUFDN0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU87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