@super-protocol/sdk-js 3.4.0-beta.9 → 3.5.0-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 (101) hide show
  1. package/dist/cjs/certificates/crl.d.ts +6 -0
  2. package/dist/cjs/certificates/crl.js +66 -0
  3. package/dist/cjs/certificates/helper.d.ts +23 -0
  4. package/dist/cjs/certificates/helper.js +176 -0
  5. package/dist/cjs/certificates/index.d.ts +2 -0
  6. package/dist/cjs/certificates/index.js +19 -0
  7. package/dist/cjs/certificates/ocsp.d.ts +9 -0
  8. package/dist/cjs/certificates/ocsp.js +124 -0
  9. package/dist/cjs/certificates/types.d.ts +4 -0
  10. package/dist/cjs/certificates/types.js +3 -0
  11. package/dist/cjs/connectors/BaseConnector.d.ts +1 -0
  12. package/dist/cjs/connectors/BaseConnector.js +1 -1
  13. package/dist/cjs/connectors/BlockchainConnector.js +2 -2
  14. package/dist/cjs/constants.d.ts +8 -1
  15. package/dist/cjs/constants.js +10 -3
  16. package/dist/cjs/contracts/abi.d.ts +90 -30
  17. package/dist/cjs/contracts/abi.js +114 -36
  18. package/dist/cjs/crypto/types.d.ts +0 -4
  19. package/dist/cjs/crypto/utils.d.ts +2 -3
  20. package/dist/cjs/crypto/utils.js +46 -26
  21. package/dist/cjs/crypto/utils.spec.d.ts +1 -0
  22. package/dist/cjs/crypto/utils.spec.js +176 -0
  23. package/dist/cjs/index.d.ts +4 -2
  24. package/dist/cjs/index.js +9 -6
  25. package/dist/cjs/models/Offer.d.ts +7 -5
  26. package/dist/cjs/models/Offer.js +20 -13
  27. package/dist/cjs/providers/storage/fs-storage-provider.js +3 -4
  28. package/dist/cjs/staticModels/LoaderSecretsAccessPublicKeys.d.ts +9 -0
  29. package/dist/cjs/staticModels/LoaderSecretsAccessPublicKeys.js +48 -0
  30. package/dist/cjs/staticModels/OfferResources.js +3 -3
  31. package/dist/cjs/staticModels/OffersStorageRequests.js +3 -3
  32. package/dist/cjs/staticModels/SecretRequests.js +2 -2
  33. package/dist/cjs/store.d.ts +2 -0
  34. package/dist/cjs/store.js +3 -1
  35. package/dist/cjs/tee/OrderReportService.d.ts +0 -3
  36. package/dist/cjs/tee/OrderReportService.js +11 -28
  37. package/dist/cjs/tee/QuoteValidator.js +2 -2
  38. package/dist/cjs/tee/TeeCertificateService.d.ts +14 -17
  39. package/dist/cjs/tee/TeeCertificateService.js +60 -73
  40. package/dist/cjs/tee/TeeSignatureVerifier.d.ts +2 -2
  41. package/dist/cjs/tee/TeeSignatureVerifier.js +3 -3
  42. package/dist/cjs/types/DistributedSecretStorage.d.ts +1 -1
  43. package/dist/cjs/types/OrderUsage.d.ts +2 -0
  44. package/dist/cjs/types/ValueOfferSlot.d.ts +1 -0
  45. package/dist/cjs/utils/TxManager.d.ts +3 -1
  46. package/dist/cjs/utils/TxManager.js +56 -30
  47. package/dist/cjs/utils/helper.d.ts +3 -3
  48. package/dist/cjs/utils/helper.js +12 -11
  49. package/dist/mjs/certificates/crl.d.ts +6 -0
  50. package/dist/mjs/certificates/crl.js +39 -0
  51. package/dist/mjs/certificates/helper.d.ts +23 -0
  52. package/dist/mjs/certificates/helper.js +146 -0
  53. package/dist/mjs/certificates/index.d.ts +2 -0
  54. package/dist/mjs/certificates/index.js +3 -0
  55. package/dist/mjs/certificates/ocsp.d.ts +9 -0
  56. package/dist/mjs/certificates/ocsp.js +94 -0
  57. package/dist/mjs/certificates/types.d.ts +4 -0
  58. package/dist/mjs/certificates/types.js +2 -0
  59. package/dist/mjs/connectors/BaseConnector.d.ts +1 -0
  60. package/dist/mjs/connectors/BaseConnector.js +1 -1
  61. package/dist/mjs/connectors/BlockchainConnector.js +2 -2
  62. package/dist/mjs/constants.d.ts +8 -1
  63. package/dist/mjs/constants.js +9 -2
  64. package/dist/mjs/contracts/abi.d.ts +90 -30
  65. package/dist/mjs/contracts/abi.js +113 -35
  66. package/dist/mjs/crypto/types.d.ts +0 -4
  67. package/dist/mjs/crypto/utils.d.ts +2 -3
  68. package/dist/mjs/crypto/utils.js +46 -26
  69. package/dist/mjs/crypto/utils.spec.d.ts +1 -0
  70. package/dist/mjs/crypto/utils.spec.js +174 -0
  71. package/dist/mjs/index.d.ts +4 -2
  72. package/dist/mjs/index.js +5 -3
  73. package/dist/mjs/models/Offer.d.ts +7 -5
  74. package/dist/mjs/models/Offer.js +20 -13
  75. package/dist/mjs/providers/storage/fs-storage-provider.js +3 -4
  76. package/dist/mjs/staticModels/LoaderSecretsAccessPublicKeys.d.ts +9 -0
  77. package/dist/mjs/staticModels/LoaderSecretsAccessPublicKeys.js +43 -0
  78. package/dist/mjs/staticModels/OfferResources.js +3 -3
  79. package/dist/mjs/staticModels/OffersStorageRequests.js +3 -3
  80. package/dist/mjs/staticModels/SecretRequests.js +2 -2
  81. package/dist/mjs/store.d.ts +2 -0
  82. package/dist/mjs/store.js +4 -2
  83. package/dist/mjs/tee/OrderReportService.d.ts +0 -3
  84. package/dist/mjs/tee/OrderReportService.js +12 -29
  85. package/dist/mjs/tee/QuoteValidator.js +2 -2
  86. package/dist/mjs/tee/TeeCertificateService.d.ts +14 -17
  87. package/dist/mjs/tee/TeeCertificateService.js +59 -69
  88. package/dist/mjs/tee/TeeSignatureVerifier.d.ts +2 -2
  89. package/dist/mjs/tee/TeeSignatureVerifier.js +3 -3
  90. package/dist/mjs/types/DistributedSecretStorage.d.ts +1 -1
  91. package/dist/mjs/types/OrderUsage.d.ts +2 -0
  92. package/dist/mjs/types/ValueOfferSlot.d.ts +1 -0
  93. package/dist/mjs/utils/TxManager.d.ts +3 -1
  94. package/dist/mjs/utils/TxManager.js +57 -31
  95. package/dist/mjs/utils/helper.d.ts +3 -3
  96. package/dist/mjs/utils/helper.js +10 -9
  97. package/package.json +4 -4
  98. package/dist/cjs/staticModels/LoaderSecretsPublicKeys.d.ts +0 -9
  99. package/dist/cjs/staticModels/LoaderSecretsPublicKeys.js +0 -48
  100. package/dist/mjs/staticModels/LoaderSecretsPublicKeys.d.ts +0 -9
  101. package/dist/mjs/staticModels/LoaderSecretsPublicKeys.js +0 -43
@@ -1,101 +1,88 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TeeCertificateService = void 0;
7
- const node_forge_1 = __importDefault(require("node-forge"));
8
- const QuoteParser_js_1 = require("./QuoteParser.js");
9
- const QuoteValidator_js_1 = require("./QuoteValidator.js");
3
+ exports.TeeCertificateService = exports.ValidateTeeCertChainErrorCode = void 0;
10
4
  const constants_js_1 = require("../constants.js");
11
5
  const pki_common_1 = require("@super-protocol/pki-common");
12
6
  const TeeSignatureVerifier_js_1 = require("./TeeSignatureVerifier.js");
13
7
  const errors_js_1 = require("./errors.js");
8
+ const index_js_1 = require("../certificates/index.js");
9
+ var ValidateTeeCertChainErrorCode;
10
+ (function (ValidateTeeCertChainErrorCode) {
11
+ ValidateTeeCertChainErrorCode["CERT_CHAIN_IS_INVALID"] = "CERT_CHAIN_IS_INVALID";
12
+ ValidateTeeCertChainErrorCode["NOT_ALLOWED_CHALLENGE"] = "NOT_ALLOWED_CHALLENGE";
13
+ ValidateTeeCertChainErrorCode["CHALLENGE_IS_INVALID"] = "CHALLENGE_IS_INVALID";
14
+ })(ValidateTeeCertChainErrorCode || (exports.ValidateTeeCertChainErrorCode = ValidateTeeCertChainErrorCode = {}));
14
15
  class TeeCertificateService {
15
- certOidQuote = '0.6.9.42.840.113741.1337.6';
16
- getCertificatePublicKey(certificate) {
17
- const publicKeyDer = node_forge_1.default.asn1
18
- .toDer(node_forge_1.default.pki.publicKeyToAsn1(certificate.publicKey))
19
- .getBytes();
20
- return Buffer.from(publicKeyDer, 'binary');
21
- }
22
- async parseAndValidateCertificate(certificatePem, sgxApiUrl) {
23
- const pem = Buffer.isBuffer(certificatePem) ? certificatePem.toString() : certificatePem;
24
- const certificate = node_forge_1.default.pki.certificateFromPem(pem);
25
- const extensions = certificate.extensions;
26
- const quote = extensions.find((ext) => ext.id === this.certOidQuote);
27
- const quoteBuffer = Buffer.from(quote.value, 'binary');
28
- const validator = new QuoteValidator_js_1.QuoteValidator(sgxApiUrl);
29
- await validator.checkQuote(quoteBuffer, this.getCertificatePublicKey(certificate));
30
- const parser = new QuoteParser_js_1.TeeSgxParser();
31
- const parsedQuote = parser.parseQuote(quoteBuffer);
32
- const report = parser.parseReport(parsedQuote.report);
33
- return {
34
- userData: Buffer.from(parsedQuote.header.userData),
35
- mrEnclave: Buffer.from(report.mrEnclave),
36
- mrSigner: Buffer.from(report.mrSigner),
37
- dataHash: Buffer.from(report.dataHash),
38
- };
39
- }
40
- fromRawToPem(data) {
41
- const base64 = Buffer.from(data).toString('base64');
42
- return `-----BEGIN CERTIFICATE-----\n${base64.match(/.{1,64}/g).join('\n')}\n-----END CERTIFICATE-----`;
43
- }
44
- splitPemCerts(certs) {
45
- const pemRegex = /(-----BEGIN CERTIFICATE-----[\s\S]*?-----END CERTIFICATE-----)/g;
46
- return certs.match(pemRegex) || [];
16
+ static async validateTeeCertChainOrFail(certsPem) {
17
+ const result = await TeeCertificateService.validateTeeCertChain(certsPem);
18
+ if (!result.isValid) {
19
+ throw new Error(result.errorMessage);
20
+ }
47
21
  }
48
- validateCertChain(certsPem, caPem) {
49
- const certs = this.splitPemCerts(certsPem).map((cert) => node_forge_1.default.pki.certificateFromPem(cert));
50
- const ca = node_forge_1.default.pki.certificateFromPem(caPem);
51
- try {
52
- return node_forge_1.default.pki.verifyCertificateChain(node_forge_1.default.pki.createCaStore([ca]), certs);
22
+ static async validateTeeCertChain(certsPem) {
23
+ const { isValid, errorMessage } = await index_js_1.CertificatesHelper.validateCertChain(certsPem, constants_js_1.SUPERPROTOCOL_CA);
24
+ if (!isValid) {
25
+ return {
26
+ isValid: false,
27
+ errorCode: ValidateTeeCertChainErrorCode.CERT_CHAIN_IS_INVALID,
28
+ errorMessage: `Cert chain is invalid! (${errorMessage})`,
29
+ };
53
30
  }
54
- catch (err) {
55
- return false;
31
+ const sortedCerts = index_js_1.CertificatesHelper.sortCertsFromLeafToRoot(certsPem);
32
+ const challenges = sortedCerts.map((cert) => index_js_1.CertificatesHelper.getExtensionValue(cert, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_TYPE)?.toString('binary'));
33
+ if (challenges.some((challenge) => !challenge || challenge === pki_common_1.ChallengeType.Untrusted)) {
34
+ return {
35
+ isValid: false,
36
+ errorCode: ValidateTeeCertChainErrorCode.NOT_ALLOWED_CHALLENGE,
37
+ errorMessage: `Cert chain has cert without or Untrusted challenge`,
38
+ };
56
39
  }
57
- }
58
- getExtensionValue(certPem, oid) {
59
- const cert = node_forge_1.default.pki.certificateFromPem(certPem);
60
- const extension = cert.extensions.find((ext) => ext.id === oid);
61
- return extension?.value;
62
- }
63
- async validateTeeReportCertChain(certsPem) {
64
- const isCertChainValid = this.validateCertChain(certsPem, constants_js_1.SUPERPROTOCOL_CA);
65
- if (!isCertChainValid) {
66
- throw new Error(`Cert chain is invalid!`);
40
+ const leafCertChallengeType = challenges[0];
41
+ try {
42
+ switch (leafCertChallengeType) {
43
+ case pki_common_1.ChallengeType.SGXDCAP:
44
+ TeeCertificateService.validateChallengeSgx(certsPem);
45
+ break;
46
+ case pki_common_1.ChallengeType.TDX:
47
+ case pki_common_1.ChallengeType.AMDSEV:
48
+ await TeeCertificateService.validateChallengeTdxAndSnp(certsPem);
49
+ break;
50
+ default:
51
+ return {
52
+ isValid: false,
53
+ errorCode: ValidateTeeCertChainErrorCode.NOT_ALLOWED_CHALLENGE,
54
+ errorMessage: `Challenge type ${leafCertChallengeType || `[none]`} is missing or not allowed!`,
55
+ };
56
+ }
67
57
  }
68
- const challengeType = this.getExtensionValue(certsPem, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_TYPE);
69
- switch (challengeType) {
70
- case pki_common_1.ChallengeType.SGXDCAP:
71
- this.validateChallengeSgx(certsPem);
72
- break;
73
- case pki_common_1.ChallengeType.TDX:
74
- await this.validateChallengeTdx(certsPem);
75
- break;
76
- default:
77
- throw new Error(`Challenge type ${challengeType || `[none]`} is missing or not allowed!`);
58
+ catch (err) {
59
+ return {
60
+ isValid: false,
61
+ errorCode: ValidateTeeCertChainErrorCode.CHALLENGE_IS_INVALID,
62
+ errorMessage: `Challenge is not valid! (${err.message})`,
63
+ };
78
64
  }
65
+ return { isValid: true };
79
66
  }
80
- validateChallengeSgx(certPem) {
81
- const mrSignerBinaryString = this.getExtensionValue(certPem, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_COMMON_ID);
67
+ static validateChallengeSgx(certPem) {
68
+ const mrSignerBinaryString = index_js_1.CertificatesHelper.getExtensionValue(certPem, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_COMMON_ID);
82
69
  if (!mrSignerBinaryString) {
83
70
  throw new Error(`SGX challenge signature is wrong!`);
84
71
  }
85
72
  try {
86
- TeeSignatureVerifier_js_1.TeeSignatureVerifier.validateSignatureSgx(Buffer.from(mrSignerBinaryString, 'binary'));
73
+ TeeSignatureVerifier_js_1.TeeSignatureVerifier.validateSignatureSgx(mrSignerBinaryString);
87
74
  }
88
75
  catch (err) {
89
76
  throw new Error(`SGX challenge signature is wrong!`);
90
77
  }
91
78
  }
92
- async validateChallengeTdx(certPem) {
93
- const mrEnclaveBinaryString = this.getExtensionValue(certPem, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_ID);
79
+ static async validateChallengeTdxAndSnp(certPem) {
80
+ const mrEnclaveBinaryString = index_js_1.CertificatesHelper.getExtensionValue(certPem, pki_common_1.OID_CUSTOM_EXTENSION_CHALLENGE_ID);
94
81
  if (!mrEnclaveBinaryString) {
95
82
  throw new Error(`Challenge id is missing in certificate!`);
96
83
  }
97
84
  try {
98
- await TeeSignatureVerifier_js_1.TeeSignatureVerifier.validateSignatureTdx(Buffer.from(mrEnclaveBinaryString, 'binary'));
85
+ await TeeSignatureVerifier_js_1.TeeSignatureVerifier.validateSignatureTdxAndSnp(mrEnclaveBinaryString);
99
86
  }
100
87
  catch (err) {
101
88
  const message = `Tdx signature is invalid!`;
@@ -107,4 +94,4 @@ class TeeCertificateService {
107
94
  }
108
95
  }
109
96
  exports.TeeCertificateService = TeeCertificateService;
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQ2VydGlmaWNhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlZS9UZWVDZXJ0aWZpY2F0ZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNERBQStCO0FBQy9CLHFEQUFnRDtBQUNoRCwyREFBcUQ7QUFDckQsa0RBQW1EO0FBQ25ELDJEQUtvQztBQUNwQyx1RUFBaUU7QUFDakUsMkNBQW9EO0FBU3BELE1BQWEscUJBQXFCO0lBQ2YsWUFBWSxHQUFHLDRCQUE0QixDQUFDO0lBRXJELHVCQUF1QixDQUFDLFdBQWtDO1FBQ2hFLE1BQU0sWUFBWSxHQUFHLG9CQUFLLENBQUMsSUFBSTthQUM1QixLQUFLLENBQUMsb0JBQUssQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN2RCxRQUFRLEVBQUUsQ0FBQztRQUVkLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FDL0IsY0FBK0IsRUFDL0IsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDekYsTUFBTSxXQUFXLEdBQUcsb0JBQUssQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUUxQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRSxNQUFNLFdBQVcsR0FB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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQ2VydGlmaWNhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlZS9UZWVDZXJ0aWZpY2F0ZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQW1EO0FBQ25ELDJEQUtvQztBQUNwQyx1RUFBaUU7QUFDakUsMkNBQW9EO0FBQ3BELHVEQUE4RDtBQUU5RCxJQUFZLDZCQUlYO0FBSkQsV0FBWSw2QkFBNkI7SUFDdkMsZ0ZBQStDLENBQUE7SUFDL0MsZ0ZBQStDLENBQUE7SUFDL0MsOEVBQTZDLENBQUE7QUFDL0MsQ0FBQyxFQUpXLDZCQUE2Qiw2Q0FBN0IsNkJBQTZCLFFBSXhDO0FBT0QsTUFBYSxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxRQUFnQjtRQUN0RCxNQUFNLE1BQU0sR0FBRyxNQUFNLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFFBQWdCO1FBQ2hELE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSw2QkFBa0IsQ0FBQyxpQkFBaUIsQ0FDMUUsUUFBUSxFQUNSLCtCQUFnQixDQUNqQixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxTQUFTLEVBQUUsNkJBQTZCLENBQUMscUJBQXFCO2dCQUM5RCxZQUFZLEVBQUUsMkJBQTJCLFlBQVksR0FBRzthQUN6RCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLDZCQUFrQixD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
@@ -12,12 +12,12 @@ export declare class TeeSignatureVerifier {
12
12
  */
13
13
  static validateSignatureSgx(mrSigner: BinaryType): void;
14
14
  /**
15
- * Validates TDX TEE signature by verifying the MRENCLAVE
15
+ * Validates TDX and SEV-SNP TEE signature by verifying the MRENCLAVE
16
16
  * @param mrEnclave - Binary measurement of the TEE environment to verify
17
17
  * @param options - Configuration for signature validation
18
18
  * @param options.getMrEnclaveSignature - Function to retrieve signature for verification (defaults to TeeSignatureVerifier.getSignature)
19
19
  * @throws Error If signature validation fails or signature cannot be retrieved
20
20
  */
21
- static validateSignatureTdx(mrEnclave: BinaryType, options?: CheckSignatureOptions): Promise<void>;
21
+ static validateSignatureTdxAndSnp(mrEnclave: BinaryType, options?: CheckSignatureOptions): Promise<void>;
22
22
  static getSignature(mrEnclave: Buffer, options?: GetTdxSignatureOptions): Promise<Buffer>;
23
23
  }
@@ -21,13 +21,13 @@ class TeeSignatureVerifier {
21
21
  }
22
22
  }
23
23
  /**
24
- * Validates TDX TEE signature by verifying the MRENCLAVE
24
+ * Validates TDX and SEV-SNP TEE signature by verifying the MRENCLAVE
25
25
  * @param mrEnclave - Binary measurement of the TEE environment to verify
26
26
  * @param options - Configuration for signature validation
27
27
  * @param options.getMrEnclaveSignature - Function to retrieve signature for verification (defaults to TeeSignatureVerifier.getSignature)
28
28
  * @throws Error If signature validation fails or signature cannot be retrieved
29
29
  */
30
- static async validateSignatureTdx(mrEnclave, options = { getMrEnclaveSignature: TeeSignatureVerifier.getSignature }) {
30
+ static async validateSignatureTdxAndSnp(mrEnclave, options = { getMrEnclaveSignature: TeeSignatureVerifier.getSignature }) {
31
31
  const { getMrEnclaveSignature } = options;
32
32
  const cert = node_forge_1.default.pki.certificateFromPem(constants_js_1.TEE_LOADER_TRUSTED_CERTIFICATE);
33
33
  const isCertValid = node_forge_1.default.pki.verifyCertificateChain(node_forge_1.default.pki.createCaStore([cert]), [cert]);
@@ -88,4 +88,4 @@ class TeeSignatureVerifier {
88
88
  }
89
89
  }
90
90
  exports.TeeSignatureVerifier = TeeSignatureVerifier;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlU2lnbmF0dXJlVmVyaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL1RlZVNpZ25hdHVyZVZlcmlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUE2QztBQUM3Qyw0REFBK0I7QUFDL0Isa0RBQThGO0FBQzlGLDBDQUFvRDtBQUVwRCx3REFBNEQ7QUFPNUQsTUFBYSxvQkFBb0I7SUFDL0I7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFvQjtRQUM5QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssMENBQTJCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0UsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUMvQixTQUFxQixFQUNyQixVQUFpQyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixDQUFDLFlBQVksRUFBRTtRQUU3RixNQUFNLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsb0JBQUssQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsNkNBQThCLENBQUMsQ0FBQztRQUMxRSxNQUFNLFdBQVcsR0FBRyxvQkFBSyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENB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
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlU2lnbmF0dXJlVmVyaWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL1RlZVNpZ25hdHVyZVZlcmlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUE2QztBQUM3Qyw0REFBK0I7QUFDL0Isa0RBQThGO0FBQzlGLDBDQUFvRDtBQUVwRCx3REFBNEQ7QUFPNUQsTUFBYSxvQkFBb0I7SUFDL0I7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFvQjtRQUM5QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssMENBQTJCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0UsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUNyQyxTQUFxQixFQUNyQixVQUFpQyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixDQUFDLFlBQVksRUFBRTtRQUU3RixNQUFNLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsb0JBQUssQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsNkNBQThCLENBQUMsQ0FBQztRQUMxRSxNQUFNLFdBQVcsR0FBRyxvQkFBSyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENB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
@@ -12,7 +12,7 @@ export type Signature = {
12
12
  s: Uint8Array;
13
13
  v: number;
14
14
  };
15
- export type LoaderSecretPublicKey = {
15
+ export type LoaderSecretAccessPublicKey = {
16
16
  secretPublicKey: PublicKey;
17
17
  signature: Signature;
18
18
  signedTime: number;
@@ -16,6 +16,7 @@ export type OrderUsage = OrderUsageBase & {
16
16
  optionsCount: number[];
17
17
  slotInfo: SlotInfo;
18
18
  slotUsage: SlotUsage;
19
+ slotId: BlockchainId;
19
20
  };
20
21
  export type OrderUsageRaw = OrderUsageBase & {
21
22
  slotCount: number;
@@ -23,4 +24,5 @@ export type OrderUsageRaw = OrderUsageBase & {
23
24
  optionUsage: SlotUsage[];
24
25
  optionIds: BlockchainId[];
25
26
  optionsCount: number[];
27
+ slotId: BlockchainId;
26
28
  };
@@ -6,6 +6,7 @@ type ValueOfferSlotBase = {
6
6
  id: BlockchainId;
7
7
  info: SlotInfo;
8
8
  usage: SlotUsage;
9
+ metadata: string;
9
10
  };
10
11
  export type ValueOfferSlot = ValueOfferSlotBase & {
11
12
  option: OptionInfo;
@@ -11,14 +11,16 @@ export declare class Web3TransactionRevertedByEvmError extends Web3TransactionEr
11
11
  }
12
12
  declare class TxManager {
13
13
  private static web3;
14
+ private static externalTransactionSigner;
14
15
  private static logger;
15
16
  private static nonceTrackers;
16
17
  private static queues;
17
- static init(web3: Web3): void;
18
+ static init(web3: Web3, externalTransactionSigner?: boolean): void;
18
19
  private static checkIfInitialized;
19
20
  static initAccount(address: string): Promise<void>;
20
21
  static execute(transaction: NonPayableMethodObject, transactionOptions?: TransactionOptions, to?: string): Promise<TransactionReceipt>;
21
22
  static publishTransaction(txData: TransactionDataOptions, transactionOptions?: TransactionOptions, transactionCall?: NonPayableMethodObject): Promise<TransactionReceipt>;
23
+ private static _requestUnsignedTransaction;
22
24
  static dryRun<SpecialOutput = unknown>(transaction: NonPayableMethodObject, transactionOptions?: TransactionOptions): Promise<SpecialOutput>;
23
25
  private static _publishTransaction;
24
26
  }
@@ -12,6 +12,7 @@ const Superpro_js_1 = __importDefault(require("../staticModels/Superpro.js"));
12
12
  const constants_js_1 = require("../constants.js");
13
13
  const lodash_1 = __importDefault(require("lodash"));
14
14
  const bottleneck_1 = __importDefault(require("bottleneck"));
15
+ const tryWithInterval_js_1 = require("./helpers/tryWithInterval.js");
15
16
  class Web3TransactionError extends Error {
16
17
  originalError;
17
18
  constructor(originalError, message) {
@@ -29,11 +30,13 @@ class Web3TransactionRevertedByEvmError extends Web3TransactionError {
29
30
  exports.Web3TransactionRevertedByEvmError = Web3TransactionRevertedByEvmError;
30
31
  class TxManager {
31
32
  static web3;
33
+ static externalTransactionSigner;
32
34
  static logger = logger_js_1.default.child({ className: 'TxManager' });
33
35
  static nonceTrackers = {};
34
36
  static queues = {};
35
- static init(web3) {
37
+ static init(web3, externalTransactionSigner = false) {
36
38
  this.web3 = web3;
39
+ this.externalTransactionSigner = externalTransactionSigner;
37
40
  }
38
41
  static checkIfInitialized() {
39
42
  if (!this.web3) {
@@ -56,7 +59,9 @@ class TxManager {
56
59
  static async publishTransaction(txData, transactionOptions, transactionCall) {
57
60
  this.checkIfInitialized();
58
61
  (0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
59
- const txOptions = await (0, helper_js_1.createTransactionOptions)({ ...transactionOptions });
62
+ const txOptions = await (0, helper_js_1.createTransactionOptions)(this.externalTransactionSigner, {
63
+ ...transactionOptions,
64
+ });
60
65
  if (!txOptions.from) {
61
66
  throw Error('From account is undefined. You should pass it to transactionOptions or init action account.');
62
67
  }
@@ -71,7 +76,39 @@ class TxManager {
71
76
  minTime: store_js_1.default.txIntervalMs,
72
77
  });
73
78
  }
74
- return this.queues[publishTxOptions.from].schedule(() => TxManager._publishTransaction(txData, publishTxOptions, transactionCall));
79
+ let transactionResultData;
80
+ if (this.externalTransactionSigner) {
81
+ transactionResultData = this.queues[publishTxOptions.from].schedule(() => TxManager._requestUnsignedTransaction(txData, publishTxOptions));
82
+ }
83
+ else {
84
+ transactionResultData = this.queues[publishTxOptions.from].schedule(() => TxManager._publishTransaction(txData, publishTxOptions, transactionCall));
85
+ }
86
+ return transactionResultData;
87
+ }
88
+ static async _requestUnsignedTransaction(txData, transactionOptions) {
89
+ const { from, web3 } = transactionOptions;
90
+ const txDataForUnsignedTx = {
91
+ from: from,
92
+ to: txData.to,
93
+ data: txData.data,
94
+ value: txData.value,
95
+ };
96
+ TxManager.logger.debug({
97
+ txData: lodash_1.default.omit(txDataForUnsignedTx, ['data']),
98
+ }, 'Publishing unsigned transaction');
99
+ const txHash = (await web3.provider.request({
100
+ method: 'eth_sendTransaction',
101
+ params: [txDataForUnsignedTx],
102
+ }));
103
+ const transactionResultData = await (0, tryWithInterval_js_1.tryWithInterval)({
104
+ handler: async () => await web3.eth.getTransactionReceipt(txHash),
105
+ checkResult: (txHash) => {
106
+ return { isResultOk: txHash !== null };
107
+ },
108
+ retryInterval: constants_js_1.BLOCKCHAIN_CALL_RETRY_INTERVAL,
109
+ retryMax: constants_js_1.BLOCKCHAIN_CALL_RETRY_ATTEMPTS,
110
+ });
111
+ return transactionResultData;
75
112
  }
76
113
  static async dryRun(transaction, transactionOptions) {
77
114
  const from = transactionOptions?.from ?? store_js_1.default.actionAccount;
@@ -92,36 +129,25 @@ class TxManager {
92
129
  maxPriorityFeePerGas,
93
130
  maxFeePerGas,
94
131
  };
95
- let estimatedGas;
96
- if (transactionCall) {
97
- try {
98
- estimatedGas = await transactionCall.estimateGas(txData);
99
- }
100
- catch (e) {
101
- TxManager.logger.debug({ error: e }, 'Fail to calculate estimated gas');
102
- estimatedGas = constants_js_1.defaultGasLimit;
103
- }
132
+ if (transactionOptions.gas) {
133
+ TxManager.logger.warn({
134
+ specifiedGas: transactionOptions.gas,
135
+ }, 'Gas overriding');
136
+ txData.gas = transactionOptions.gas;
104
137
  }
105
138
  else {
106
- try {
107
- estimatedGas = await store_js_1.default.web3Https.eth.estimateGas(txData);
139
+ let estimatedGas;
140
+ const txDataForEstimate = {
141
+ ...txData,
142
+ gas: undefined,
143
+ };
144
+ if (transactionCall) {
145
+ estimatedGas = await transactionCall.estimateGas(txDataForEstimate);
108
146
  }
109
- catch (e) {
110
- TxManager.logger.debug({ error: e }, 'Fail to calculate estimated gas');
111
- estimatedGas = constants_js_1.defaultGasLimit;
112
- }
113
- }
114
- txData.gas = (0, helper_js_1.multiplyBigIntByNumber)(estimatedGas, store_js_1.default.gasLimitMultiplier);
115
- // defaultGasLimit is max gas limit
116
- txData.gas = txData.gas < constants_js_1.defaultGasLimit ? txData.gas : constants_js_1.defaultGasLimit;
117
- if (transactionOptions.gas) {
118
- if (transactionOptions.gas < estimatedGas) {
119
- TxManager.logger.warn({
120
- estimated: estimatedGas,
121
- specified: transactionOptions.gas,
122
- }, 'Overriding gas is lower than estimated');
147
+ else {
148
+ estimatedGas = await store_js_1.default.web3Https.eth.estimateGas(txDataForEstimate);
123
149
  }
124
- txData.gas = transactionOptions.gas;
150
+ txData.gas = (0, helper_js_1.multiplyBigIntByNumber)(estimatedGas, store_js_1.default.gasLimitMultiplier);
125
151
  }
126
152
  let nonceTracker;
127
153
  // TODO: Consider a better way to organize different strategies for publishing transactions.
@@ -174,4 +200,4 @@ class TxManager {
174
200
  }
175
201
  }
176
202
  exports.default = TxManager;
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHhNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL1R4TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx3RUFBNkM7QUFDN0MsNkRBQXNDO0FBQ3RDLDJEQUFnQztBQVFoQywyQ0FLcUI7QUFDckIsOEVBQW1EO0FBQ25ELGtEQUFrRDtBQUNsRCxvREFBNEI7QUFFNUIsNERBQW9DO0FBU3BDLE1BQU0sb0JBQXFCLFNBQVEsS0FBSztJQUN0QixhQUFhLENBQVU7SUFDdkMsWUFBWSxhQUFzQixFQUFFLE9BQWU7UUFDakQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFFRCxNQUFhLGlDQUFrQyxTQUFRLG9CQUFvQjtJQUN6RSxZQUFZLGFBQXNCLEVBQUUsT0FBZTtRQUNqRCxLQUFLLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsbUNBQW1DLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBTEQsOEVBS0M7QUFJRCxNQUFNLFNBQVM7SUFDTCxNQUFNLENBQUMsSUFBSSxDQUFPO0lBQ2xCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLENBQUMsYUFBYSxHQUF3QyxFQUFFLENBQUM7SUFDL0QsTUFBTSxDQUFDLE1BQU0sR0FBc0MsRUFBRSxDQUFDO0lBQ3ZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBVTtRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU8sTUFBTSxDQUFDLGtCQUFrQjtRQUMvQixJQUFJLENBQUMsSUFBSSxD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
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHhNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL1R4TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx3RUFBNkM7QUFDN0MsNkRBQXNDO0FBQ3RDLDJEQUFnQztBQVFoQywyQ0FLcUI7QUFDckIsOEVBQW1EO0FBQ25ELGtEQUFpRztBQUNqRyxvREFBNEI7QUFFNUIsNERBQW9DO0FBRXBDLHFFQUErRDtBQVEvRCxNQUFNLG9CQUFxQixTQUFRLEtBQUs7SUFDdEIsYUFBYSxDQUFVO0lBQ3ZDLFlBQVksYUFBc0IsRUFBRSxPQUFlO1FBQ2pELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsc0JBQXNCLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBRUQsTUFBYSxpQ0FBa0MsU0FBUSxvQkFBb0I7SUFDekUsWUFBWSxhQUFzQixFQUFFLE9BQWU7UUFDakQsS0FBSyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLG1DQUFtQyxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQUxELDhFQUtDO0FBSUQsTUFBTSxTQUFTO0lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBTztJQUNsQixNQUFNLENBQUMseUJBQXlCLENBQVU7SUFDMUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxtQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sQ0FBQyxhQUFhLEdBQXdDLEVBQUUsQ0FBQztJQUMvRCxNQUFNLENBQUMsTUFBTSxHQUFzQyxFQUFFLENBQUM7SUFDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFVLEVBQUUsNEJBQXFDLEtBQUs7UUFDdkUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENB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
@@ -2,7 +2,7 @@ import { TransactionOptions } from '../types/Web3.js';
2
2
  import Web3 from 'web3';
3
3
  import { Web3BatchRequest } from 'web3-core';
4
4
  import { SlotInfo } from '../types/SlotInfo.js';
5
- import { ConsensusBenchmarkStorage, LoaderSecretPublicKey, LoaderSession, OfferResource, OfferStorageAllocated, OfferStorageRequest, OptionInfo, OptionInfoRaw, OrderUsage, OrderUsageRaw, SecretRequest, SlotUsage, TcbPublicData, TeeOfferOption, TeeOfferOptionRaw, TeeOfferSlot, ValueOfferSlot, ValueOfferSlotRaw, ConsensusBenchmarkPriceMultipliers } from '../types/index.js';
5
+ import { ConsensusBenchmarkStorage, LoaderSecretAccessPublicKey, LoaderSession, OfferResource, OfferStorageAllocated, OfferStorageRequest, OptionInfo, OptionInfoRaw, OrderUsage, OrderUsageRaw, SecretRequest, SlotUsage, TcbPublicData, TeeOfferOption, TeeOfferOptionRaw, TeeOfferSlot, ValueOfferSlot, ValueOfferSlotRaw, ConsensusBenchmarkPriceMultipliers } from '../types/index.js';
6
6
  import { BenchmarkInfo, ConsensusBenchmark } from '@super-protocol/dto-js';
7
7
  /**
8
8
  * Function for checking if provider action account initialized (required for set methods)
@@ -20,14 +20,14 @@ export declare const multiplyBigIntByNumber: (big: bigint, num: number) => bigin
20
20
  * Merge transaction options from arguments and from store
21
21
  * Used in all set methods
22
22
  */
23
- export declare const createTransactionOptions: (options?: TransactionOptions) => Promise<TransactionOptions>;
23
+ export declare const createTransactionOptions: (externalTransactionSigner: boolean, options?: TransactionOptions) => Promise<TransactionOptions>;
24
24
  export declare const isNodeJS: () => boolean;
25
25
  export declare function incrementMethodCall(): (_target: unknown, propertyName: string, propertyDescriptor: PropertyDescriptor) => PropertyDescriptor;
26
26
  export declare function packDeviceId(hexedDeviceId: string): string;
27
27
  export declare function unpackDeviceId(bytes32: string): string;
28
28
  export declare function convertBigIntToString(obj: any): any;
29
29
  export declare function convertTeeOfferOptionFromRaw(option: TeeOfferOptionRaw): TeeOfferOption;
30
- export declare function convertLoaderSecretPublicKeyFromRaw(loaderSecretPublicKeyRaw: LoaderSecretPublicKey): LoaderSecretPublicKey;
30
+ export declare function convertLoaderSecretAccessPublicKeyFromRaw(loaderSecretAccessPublicKeyRaw: LoaderSecretAccessPublicKey): LoaderSecretAccessPublicKey;
31
31
  export declare function convertLoaderSessionFromRaw(loaderSessionRaw: LoaderSession): LoaderSession;
32
32
  export declare function convertOfferResourceFromRaw(offerResourceRaw: OfferResource): OfferResource;
33
33
  export declare function convertSecretRequestFromRaw(secretRequestRaw: SecretRequest): SecretRequest;