@super-protocol/sdk-js 3.15.3-beta.0 → 3.15.4-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/cjs/RIGenerator.js +2 -2
  2. package/dist/cjs/TIIGenerator.js +4 -4
  3. package/dist/cjs/TeeInputGeneratorBase.d.ts +2 -2
  4. package/dist/cjs/TeeInputGeneratorBase.js +5 -5
  5. package/dist/cjs/contracts/abi.d.ts +686 -777
  6. package/dist/cjs/contracts/abi.js +893 -1005
  7. package/dist/cjs/index.d.ts +1 -0
  8. package/dist/cjs/index.js +5 -3
  9. package/dist/cjs/models/Provider.d.ts +1 -0
  10. package/dist/cjs/models/Provider.js +7 -1
  11. package/dist/cjs/models/TCB.d.ts +28 -1
  12. package/dist/cjs/models/TCB.js +61 -1
  13. package/dist/cjs/models/TeeOffer.d.ts +18 -3
  14. package/dist/cjs/models/TeeOffer.js +100 -14
  15. package/dist/cjs/staticModels/Consensus.d.ts +16 -5
  16. package/dist/cjs/staticModels/Consensus.js +86 -16
  17. package/dist/cjs/staticModels/TeeOffers.d.ts +6 -0
  18. package/dist/cjs/staticModels/TeeOffers.js +14 -3
  19. package/dist/cjs/tee/QuoteValidator.d.ts +46 -0
  20. package/dist/cjs/tee/QuoteValidator.js +456 -0
  21. package/dist/cjs/tee/TcbSerializer.d.ts +20 -0
  22. package/dist/cjs/tee/TcbSerializer.js +27 -0
  23. package/dist/cjs/tee/TeeBlockVerifier.d.ts +2 -7
  24. package/dist/cjs/tee/TeeBlockVerifier.js +18 -6
  25. package/dist/cjs/tee/TeeCertificateService.d.ts +1 -1
  26. package/dist/cjs/tee/TeeCertificateService.js +7 -4
  27. package/dist/cjs/tee/statuses.d.ts +7 -0
  28. package/dist/cjs/tee/statuses.js +10 -2
  29. package/dist/cjs/types/Consensus.d.ts +31 -5
  30. package/dist/cjs/types/Consensus.js +10 -2
  31. package/dist/cjs/utils/helper.d.ts +5 -3
  32. package/dist/cjs/utils/helper.js +34 -94
  33. package/dist/mjs/RIGenerator.js +2 -2
  34. package/dist/mjs/TIIGenerator.js +4 -4
  35. package/dist/mjs/TeeInputGeneratorBase.d.ts +2 -2
  36. package/dist/mjs/TeeInputGeneratorBase.js +5 -5
  37. package/dist/mjs/contracts/abi.d.ts +686 -777
  38. package/dist/mjs/contracts/abi.js +891 -1003
  39. package/dist/mjs/index.d.ts +1 -0
  40. package/dist/mjs/index.js +2 -1
  41. package/dist/mjs/models/Provider.d.ts +1 -0
  42. package/dist/mjs/models/Provider.js +7 -1
  43. package/dist/mjs/models/TCB.d.ts +28 -1
  44. package/dist/mjs/models/TCB.js +62 -2
  45. package/dist/mjs/models/TeeOffer.d.ts +18 -3
  46. package/dist/mjs/models/TeeOffer.js +95 -9
  47. package/dist/mjs/staticModels/Consensus.d.ts +16 -5
  48. package/dist/mjs/staticModels/Consensus.js +87 -17
  49. package/dist/mjs/staticModels/TeeOffers.d.ts +6 -0
  50. package/dist/mjs/staticModels/TeeOffers.js +15 -4
  51. package/dist/mjs/tee/QuoteValidator.d.ts +46 -0
  52. package/dist/mjs/tee/QuoteValidator.js +449 -0
  53. package/dist/mjs/tee/TcbSerializer.d.ts +20 -0
  54. package/dist/mjs/tee/TcbSerializer.js +23 -0
  55. package/dist/mjs/tee/TeeBlockVerifier.d.ts +2 -7
  56. package/dist/mjs/tee/TeeBlockVerifier.js +18 -6
  57. package/dist/mjs/tee/TeeCertificateService.d.ts +1 -1
  58. package/dist/mjs/tee/TeeCertificateService.js +7 -4
  59. package/dist/mjs/tee/statuses.d.ts +7 -0
  60. package/dist/mjs/tee/statuses.js +9 -1
  61. package/dist/mjs/types/Consensus.d.ts +31 -5
  62. package/dist/mjs/types/Consensus.js +9 -1
  63. package/dist/mjs/utils/helper.d.ts +5 -3
  64. package/dist/mjs/utils/helper.js +31 -93
  65. package/package.json +3 -3
@@ -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) {
66
- const encryption = await TeeInputGeneratorBase.getVerifiedBlockEncryption(offerId);
65
+ static async encryptByTeeBlock(offerId, data, sgxApiUrl) {
66
+ const encryption = await TeeInputGeneratorBase.getVerifiedBlockEncryption(offerId, sgxApiUrl);
67
67
  return Crypto.encrypt(data, encryption);
68
68
  }
69
- static async getVerifiedBlockEncryption(offerId) {
69
+ static async getVerifiedBlockEncryption(offerId, sgxApiUrl) {
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);
77
+ await TeeBlockVerifier.verifyTcb(tcb, utilityData, sgxApiUrl);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlSW5wdXRHZW5lcmF0b3JCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RlZUlucHV0R2VuZXJhdG9yQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFFBQVEsR0FLVCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBMkIsU0FBUyxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hGLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLEdBQTJDLEVBQ2xCLEVBQUU7SUFDM0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDbEQsT0FBTyxDQUNMLElBQUksSUFBSSxHQUFHLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQ2pHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsT0FBTyxPQUFPLHFCQUFxQjtJQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUN6QyxPQUF5QjtRQUV6QixNQUFNLEtBQUssR0FBVSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQWMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFNBQW9C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
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlSW5wdXRHZW5lcmF0b3JCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RlZUlucHV0R2VuZXJhdG9yQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFFBQVEsR0FLVCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBMkIsU0FBUyxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hGLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLGtCQUFrQixHQUFHLENBQ3pCLEdBQTJDLEVBQ2xCLEVBQUU7SUFDM0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDbEQsT0FBTyxDQUNMLElBQUksSUFBSSxHQUFHLElBQUksU0FBUyxJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQ2pHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsT0FBTyxPQUFPLHFCQUFxQjtJQUM5QixNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUN6QyxPQUF5QjtRQUV6QixNQUFNLEtBQUssR0FBVSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQWMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFNBQW9CLEVBQUUsS0FBWSxFQUFnQyxFQUFFO1lBQzFGLFFBQVEsU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ3hCLE1BQU0sV0FBVyxHQUFHLE1BQU0sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUM5QyxNQUFNLGFBQWEsR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUNqQixPQUFPLFVBQVUsQ0FBQztvQkFDcEIsQ0FBQzt5QkFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzFCLE9BQU8sT0FBTyxDQUFDO29CQUNqQixDQUFDO29CQUNELE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxLQUFLLFNBQVMsQ0FBQyxJQUFJO29CQUNqQixPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE9BQU87WUFDTCxJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTO1lBQ3BDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJO2dCQUNuQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQjthQUNoRCxDQUFDO1lBQ0YsSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDO0lBTUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDaEMsY0FBbUQ7UUFFbkQsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFFLGNBQXFDO1lBQ3hDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUE2QixFQUFFO2dCQUM5RCxNQUFNLEVBQUUsR0FBRyxPQUFpQixDQUFDO2dCQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDNUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3hELENBQUM7Z0JBRUQsT0FBTztvQkFDTCxFQUFFO29CQUNGLE9BQU87aUJBQ1IsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUNsRSxDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBdUIsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsT0FBZSxFQUNmLElBQW1CLEVBQ25CLFNBQWlCO1FBRWpCLE1BQU0sVUFBVSxHQUFHLE1BQU0scUJBQXFCLENBQUMsMEJBQTBCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTlGLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQy9DLE9BQWUsRUFDZixTQUFpQjtRQUVqQixNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUU5QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQyxNQUFNLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTlELHdEQUF3RDtRQUN4RCxPQUFPO1lBQ0wsSUFBSSxFQUFFLGVBQWUsQ0FBQyxLQUFLO1lBQzNCLEdBQUcsRUFBRSxXQUFXLENBQUMsTUFBTTtZQUN2QixRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU07U0FDMUIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9