@super-protocol/sdk-js 2.2.0-beta.99 → 3.0.0-beta.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 (91) hide show
  1. package/dist/cjs/RIGenerator.d.ts +2 -5
  2. package/dist/cjs/RIGenerator.js +2 -5
  3. package/dist/cjs/TIIGenerator.d.ts +6 -7
  4. package/dist/cjs/TIIGenerator.js +20 -93
  5. package/dist/cjs/TeeInputGeneratorBase.d.ts +3 -7
  6. package/dist/cjs/TeeInputGeneratorBase.js +41 -33
  7. package/dist/cjs/contracts/abi.d.ts +173 -28
  8. package/dist/cjs/contracts/abi.js +218 -33
  9. package/dist/cjs/index.d.ts +3 -0
  10. package/dist/cjs/index.js +7 -3
  11. package/dist/cjs/models/Offer.d.ts +11 -1
  12. package/dist/cjs/models/Offer.js +56 -6
  13. package/dist/cjs/models/TeeOffer.js +9 -6
  14. package/dist/cjs/proto/Compression.d.ts +1 -1
  15. package/dist/cjs/proto/TRI.d.ts +3 -3
  16. package/dist/cjs/proto/TeeProperties.d.ts +5 -5
  17. package/dist/cjs/providers/storage/S3StorageProvider.js +5 -8
  18. package/dist/cjs/providers/storage/StorjCredentialsManager.js +25 -2
  19. package/dist/cjs/providers/storage/StorjStorageProvider.js +25 -2
  20. package/dist/cjs/staticModels/Consensus.d.ts +3 -2
  21. package/dist/cjs/staticModels/Consensus.js +22 -11
  22. package/dist/cjs/staticModels/OfferResources.d.ts +1 -0
  23. package/dist/cjs/staticModels/OfferResources.js +10 -1
  24. package/dist/cjs/staticModels/Offers.js +13 -4
  25. package/dist/cjs/staticModels/TeeOffers.js +2 -2
  26. package/dist/cjs/tee/QuoteParser.js +7 -5
  27. package/dist/cjs/tee/QuoteValidator.d.ts +2 -0
  28. package/dist/cjs/tee/QuoteValidator.js +24 -7
  29. package/dist/cjs/tee/TcbSerializer.d.ts +20 -0
  30. package/dist/cjs/tee/TcbSerializer.js +27 -0
  31. package/dist/cjs/tee/TeeBlockVerifier.d.ts +0 -4
  32. package/dist/cjs/tee/TeeBlockVerifier.js +5 -46
  33. package/dist/cjs/tee/TeeCertificateService.d.ts +13 -0
  34. package/dist/cjs/tee/TeeCertificateService.js +42 -0
  35. package/dist/cjs/tee/helpers.d.ts +1 -1
  36. package/dist/cjs/tee/helpers.js +2 -7
  37. package/dist/cjs/types/Offer.d.ts +18 -5
  38. package/dist/cjs/types/Offer.js +9 -2
  39. package/dist/cjs/types/Order.d.ts +2 -5
  40. package/dist/cjs/utils/schema-utils/index.d.ts +2 -0
  41. package/dist/cjs/utils/schema-utils/index.js +8 -0
  42. package/dist/cjs/utils/schema-utils/serializer.d.ts +3 -0
  43. package/dist/cjs/utils/schema-utils/serializer.js +31 -0
  44. package/dist/cjs/utils/schema-utils/validator.d.ts +7 -0
  45. package/dist/cjs/utils/schema-utils/validator.js +49 -0
  46. package/dist/mjs/RIGenerator.d.ts +2 -5
  47. package/dist/mjs/RIGenerator.js +2 -5
  48. package/dist/mjs/TIIGenerator.d.ts +6 -7
  49. package/dist/mjs/TIIGenerator.js +20 -93
  50. package/dist/mjs/TeeInputGeneratorBase.d.ts +3 -7
  51. package/dist/mjs/TeeInputGeneratorBase.js +43 -35
  52. package/dist/mjs/contracts/abi.d.ts +173 -28
  53. package/dist/mjs/contracts/abi.js +216 -31
  54. package/dist/mjs/index.d.ts +3 -0
  55. package/dist/mjs/index.js +4 -1
  56. package/dist/mjs/models/Offer.d.ts +11 -1
  57. package/dist/mjs/models/Offer.js +57 -7
  58. package/dist/mjs/models/TeeOffer.js +9 -6
  59. package/dist/mjs/proto/Compression.d.ts +1 -1
  60. package/dist/mjs/proto/TRI.d.ts +3 -3
  61. package/dist/mjs/proto/TeeProperties.d.ts +5 -5
  62. package/dist/mjs/providers/storage/S3StorageProvider.js +5 -8
  63. package/dist/mjs/providers/storage/StorjCredentialsManager.js +2 -2
  64. package/dist/mjs/providers/storage/StorjStorageProvider.js +2 -2
  65. package/dist/mjs/staticModels/Consensus.d.ts +3 -2
  66. package/dist/mjs/staticModels/Consensus.js +22 -11
  67. package/dist/mjs/staticModels/OfferResources.d.ts +1 -0
  68. package/dist/mjs/staticModels/OfferResources.js +10 -1
  69. package/dist/mjs/staticModels/Offers.js +13 -4
  70. package/dist/mjs/staticModels/TeeOffers.js +2 -2
  71. package/dist/mjs/tee/QuoteParser.js +7 -5
  72. package/dist/mjs/tee/QuoteValidator.d.ts +2 -0
  73. package/dist/mjs/tee/QuoteValidator.js +24 -7
  74. package/dist/mjs/tee/TcbSerializer.d.ts +20 -0
  75. package/dist/mjs/tee/TcbSerializer.js +23 -0
  76. package/dist/mjs/tee/TeeBlockVerifier.d.ts +0 -4
  77. package/dist/mjs/tee/TeeBlockVerifier.js +5 -46
  78. package/dist/mjs/tee/TeeCertificateService.d.ts +13 -0
  79. package/dist/mjs/tee/TeeCertificateService.js +35 -0
  80. package/dist/mjs/tee/helpers.d.ts +1 -1
  81. package/dist/mjs/tee/helpers.js +2 -7
  82. package/dist/mjs/types/Offer.d.ts +18 -5
  83. package/dist/mjs/types/Offer.js +8 -1
  84. package/dist/mjs/types/Order.d.ts +2 -5
  85. package/dist/mjs/utils/schema-utils/index.d.ts +2 -0
  86. package/dist/mjs/utils/schema-utils/index.js +3 -0
  87. package/dist/mjs/utils/schema-utils/serializer.d.ts +3 -0
  88. package/dist/mjs/utils/schema-utils/serializer.js +26 -0
  89. package/dist/mjs/utils/schema-utils/validator.d.ts +7 -0
  90. package/dist/mjs/utils/schema-utils/validator.js +45 -0
  91. package/package.json +5 -3
@@ -0,0 +1,45 @@
1
+ import { TypeCompiler } from '@sinclair/typebox/compiler';
2
+ import { createHash } from 'crypto';
3
+ import { Encoding, HashAlgorithm } from '@super-protocol/dto-js';
4
+ const schemaCache = new Map();
5
+ const compileSchema = (schema) => {
6
+ const schemaHash = createHash(HashAlgorithm.SHA256)
7
+ .update(JSON.stringify(schema))
8
+ .digest(Encoding.hex);
9
+ if (!schemaCache.has(schemaHash)) {
10
+ const compiledSchema = TypeCompiler.Compile(schema);
11
+ schemaCache.set(schemaHash, compiledSchema);
12
+ }
13
+ return schemaCache.get(schemaHash);
14
+ };
15
+ const enhanceErrorMessage = (error) => {
16
+ const { path, value, schema } = error;
17
+ const descriptions = (schema.anyOf || [])
18
+ .map((subSchema) => subSchema.description)
19
+ .filter(Boolean);
20
+ const specificError = descriptions.length > 0
21
+ ? descriptions.join('; ')
22
+ : schema.errorMessage?.type ?? 'Invalid value';
23
+ return `Validation error at ${path}: ${error.message}\nvalue: ${JSON.stringify(value)}\ndetailed info: ${specificError}`;
24
+ };
25
+ export const validateBySchema = (data, schema, options) => {
26
+ const validator = compileSchema(schema);
27
+ const isValid = validator.Check(data);
28
+ const allErrors = options?.allErrors ?? false;
29
+ let errors;
30
+ if (!isValid) {
31
+ const errorsIterator = validator.Errors(data);
32
+ if (allErrors) {
33
+ errors = [...errorsIterator].map(enhanceErrorMessage);
34
+ }
35
+ else {
36
+ const firstError = errorsIterator.First();
37
+ errors = firstError ? [enhanceErrorMessage(firstError)] : undefined;
38
+ }
39
+ }
40
+ return {
41
+ isValid,
42
+ ...(errors && { errors }),
43
+ };
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3NjaGVtYS11dGlscy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFlBQVksRUFBYyxNQUFNLDRCQUE0QixDQUFDO0FBRWpGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztBQUUxRCxNQUFNLGFBQWEsR0FBRyxDQUFvQixNQUFTLEVBQWdCLEVBQUU7SUFDbkUsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7U0FDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQWlCLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWlCLEVBQVUsRUFBRTtJQUN4RCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDdEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztTQUN0QyxHQUFHLENBQUMsQ0FBQyxTQUFrQixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1NBQ2xELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixNQUFNLGFBQWEsR0FDakIsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN6QixDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksZUFBZSxDQUFDO0lBRW5ELE9BQU8sdUJBQXVCLElBQUksS0FBSyxLQUFLLENBQUMsT0FBTyxZQUFZLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLG9CQUFvQixhQUFhLEVBQUUsQ0FBQztBQUMzSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUM5QixJQUE2QixFQUM3QixNQUFTLEVBQ1QsT0FBZ0MsRUFJaEMsRUFBRTtJQUNGLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBSSxNQUFNLENBQUMsQ0FBQztJQUMzQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLElBQUksS0FBSyxDQUFDO0lBQzlDLElBQUksTUFBNEIsQ0FBQztJQUVqQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFDLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU87UUFDUCxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7S0FDMUIsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/sdk-js",
3
- "version": "2.2.0-beta.99",
3
+ "version": "3.0.0-beta.1",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/mjs/index.js",
6
6
  "exports": {
@@ -37,7 +37,7 @@
37
37
  "dto:generate": "cd ./dto/src && protoc --plugin=../../node_modules/.bin/protoc-gen-ts_proto --ts_proto_opt=esModuleInterop=true --ts_proto_opt=importSuffix=.js --ts_proto_opt=unrecognizedEnum=false --ts_proto_out=../../src/proto ./*"
38
38
  },
39
39
  "devDependencies": {
40
- "@super-protocol/eslint-config-typescript": "2.0.0",
40
+ "@super-protocol/eslint-config-typescript": "2.0.1",
41
41
  "@types/elliptic": "^6.4.18",
42
42
  "@types/jest": "^27.0.3",
43
43
  "@types/lodash": "^4.14.176",
@@ -58,7 +58,9 @@
58
58
  "dependencies": {
59
59
  "@aws-sdk/client-s3": "^3.470.0",
60
60
  "@fidm/x509": "^1.2.1",
61
- "@super-protocol/dto-js": "0.1.2",
61
+ "@msgpack/msgpack": "^2.8.0",
62
+ "@sinclair/typebox": "0.33.17",
63
+ "@super-protocol/dto-js": "1.0.0-beta.4",
62
64
  "@super-protocol/tee-lib": "^0.1.2",
63
65
  "@super-protocol/uplink-nodejs": "^1.2.20",
64
66
  "asn1js": "^3.0.5",