@super-protocol/sdk-js 2.1.9-beta.1 → 2.1.9-beta.3

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 (43) hide show
  1. package/dist/cjs/RIGenerator.d.ts +17 -0
  2. package/dist/cjs/RIGenerator.js +50 -0
  3. package/dist/cjs/TIIGenerator.d.ts +12 -15
  4. package/dist/cjs/TIIGenerator.js +14 -137
  5. package/dist/cjs/TeeInputGeneratorBase.d.ts +11 -0
  6. package/dist/cjs/TeeInputGeneratorBase.js +79 -0
  7. package/dist/cjs/constants.d.ts +2 -0
  8. package/dist/cjs/constants.js +8 -2
  9. package/dist/cjs/index.d.ts +4 -0
  10. package/dist/cjs/index.js +8 -2
  11. package/dist/cjs/proto/Compression.d.ts +1 -1
  12. package/dist/cjs/proto/TRI.d.ts +3 -3
  13. package/dist/cjs/proto/TeeProperties.d.ts +5 -5
  14. package/dist/cjs/tee/TeeBlockVerifier.d.ts +10 -0
  15. package/dist/cjs/tee/TeeBlockVerifier.js +86 -0
  16. package/dist/cjs/types/Order.d.ts +8 -6
  17. package/dist/cjs/types/Order.js +1 -1
  18. package/dist/cjs/utils/helpers/index.d.ts +0 -1
  19. package/dist/cjs/utils/helpers/index.js +1 -2
  20. package/dist/mjs/RIGenerator.d.ts +17 -0
  21. package/dist/mjs/RIGenerator.js +45 -0
  22. package/dist/mjs/TIIGenerator.d.ts +12 -15
  23. package/dist/mjs/TIIGenerator.js +16 -139
  24. package/dist/mjs/TeeInputGeneratorBase.d.ts +11 -0
  25. package/dist/mjs/TeeInputGeneratorBase.js +73 -0
  26. package/dist/mjs/constants.d.ts +2 -0
  27. package/dist/mjs/constants.js +7 -1
  28. package/dist/mjs/index.d.ts +4 -0
  29. package/dist/mjs/index.js +5 -1
  30. package/dist/mjs/proto/Compression.d.ts +1 -1
  31. package/dist/mjs/proto/TRI.d.ts +3 -3
  32. package/dist/mjs/proto/TeeProperties.d.ts +5 -5
  33. package/dist/mjs/tee/TeeBlockVerifier.d.ts +10 -0
  34. package/dist/mjs/tee/TeeBlockVerifier.js +79 -0
  35. package/dist/mjs/types/Order.d.ts +8 -6
  36. package/dist/mjs/types/Order.js +1 -1
  37. package/dist/mjs/utils/helpers/index.d.ts +0 -1
  38. package/dist/mjs/utils/helpers/index.js +1 -2
  39. package/package.json +2 -3
  40. package/dist/cjs/utils/helpers/orderHelpers.d.ts +0 -12
  41. package/dist/cjs/utils/helpers/orderHelpers.js +0 -42
  42. package/dist/mjs/utils/helpers/orderHelpers.d.ts +0 -12
  43. package/dist/mjs/utils/helpers/orderHelpers.js +0 -34
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import { EncryptionKey, Hash, Encryption } from '@super-protocol/dto-js';
3
+ import { OrderEncryptedInfo, OrderResultInfo } from './types/index.js';
4
+ import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
5
+ declare class RIGenerator extends TeeInputGeneratorBase {
6
+ static getDerivedPrivateKey(publicKeyEncryption: EncryptionKey): Promise<EncryptionKey>;
7
+ static generate(params: {
8
+ offerId: string;
9
+ encryptionPrivateKey: EncryptionKey;
10
+ pccsServiceApiUrl: string;
11
+ solutionHashes: Hash[];
12
+ dataHashes: Hash[];
13
+ linkage: string;
14
+ }): Promise<OrderResultInfo>;
15
+ static getResultInfo(encryptedResultInfo: Encryption, privateKey: Buffer): Promise<OrderEncryptedInfo>;
16
+ }
17
+ export default RIGenerator;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dto_js_1 = require("@super-protocol/dto-js");
7
+ const crypto_1 = require("crypto");
8
+ const index_js_1 = __importDefault(require("./crypto/index.js"));
9
+ const TeeInputGeneratorBase_js_1 = __importDefault(require("./TeeInputGeneratorBase.js"));
10
+ class RIGenerator extends TeeInputGeneratorBase_js_1.default {
11
+ static async getDerivedPrivateKey(publicKeyEncryption) {
12
+ const derivedPrivateKey = await index_js_1.default.createHash(Buffer.from(publicKeyEncryption.key, publicKeyEncryption.encoding), { encoding: dto_js_1.Encoding.base64, algo: dto_js_1.HashAlgorithm.SHA256 });
13
+ return {
14
+ key: derivedPrivateKey.hash,
15
+ encoding: derivedPrivateKey.encoding,
16
+ algo: dto_js_1.CryptoAlgorithm.ECIES,
17
+ };
18
+ }
19
+ static async generate(params) {
20
+ const resultEncryption = index_js_1.default.getPublicKey(params.encryptionPrivateKey);
21
+ const derivedPrivateKey = await this.getDerivedPrivateKey(resultEncryption);
22
+ const ecdh = (0, crypto_1.createECDH)('secp256k1');
23
+ ecdh.setPrivateKey(Buffer.from(derivedPrivateKey.key, derivedPrivateKey.encoding));
24
+ const publicKey = {
25
+ key: ecdh.getPublicKey(derivedPrivateKey.encoding),
26
+ encoding: dto_js_1.Encoding.base64,
27
+ algo: dto_js_1.CryptoAlgorithm.ECIES,
28
+ };
29
+ const orderInfoToEncrypt = {
30
+ publicKey: resultEncryption,
31
+ solutionHashes: params.solutionHashes || [],
32
+ dataHashes: params.dataHashes || [],
33
+ linkage: params.linkage || '',
34
+ };
35
+ const encryptedInfo = await this.encryptByTeeBlock(params.offerId, JSON.stringify(orderInfoToEncrypt), params.pccsServiceApiUrl);
36
+ return {
37
+ publicKey: JSON.stringify(publicKey),
38
+ encryptedInfo: JSON.stringify(encryptedInfo),
39
+ };
40
+ }
41
+ static async getResultInfo(encryptedResultInfo, privateKey) {
42
+ const resultInfo = await index_js_1.default.decrypt({
43
+ ...encryptedResultInfo,
44
+ key: privateKey.toString(encryptedResultInfo.encoding),
45
+ }).then((res) => JSON.parse(res));
46
+ return resultInfo;
47
+ }
48
+ }
49
+ exports.default = RIGenerator;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUklHZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUklHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFPZ0M7QUFDaEMsbUNBQW9DO0FBRXBDLGlFQUF1QztBQUN2QywwRkFBK0Q7QUFFL0QsTUFBTSxXQUFZLFNBQVEsa0NBQXFCO0lBQzdDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsbUJBQWtDO1FBQ2xFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxrQkFBTSxDQUFDLFVBQVUsQ0FDL0MsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFJLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQ25FLEVBQUUsUUFBUSxFQUFFLGlCQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxzQkFBYSxDQUFDLE1BQU0sRUFBRSxDQUMxRCxDQUFDO1FBRUYsT0FBTztZQUNMLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1lBQzNCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO1lBQ3BDLElBQUksRUFBRSx3QkFBZSxDQUFDLEtBQUs7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQU9yQjtRQUNDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFMUUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTVFLE1BQU0sSUFBSSxHQUFHLElBQUEsbUJBQVUsRUFBQyxXQUFXLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBSSxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEYsTUFBTSxTQUFTLEdBQUc7WUFDaEIsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDO1lBQ2xELFFBQVEsRUFBRSxpQkFBUSxDQUFDLE1BQU07WUFDekIsSUFBSSxFQUFFLHdCQUFlLENBQUMsS0FBSztTQUNkLENBQUM7UUFFaEIsTUFBTSxrQkFBa0IsR0FBdUI7WUFDN0MsU0FBUyxFQUFFLGdCQUFnQjtZQUMzQixjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWMsSUFBSSxFQUFFO1lBQzNDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUU7WUFDbkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRTtTQUM5QixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQ2hELE1BQU0sQ0FBQyxPQUFPLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUNsQyxNQUFNLENBQUMsaUJBQWlCLENBQ3pCLENBQUM7UUFFRixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQ3BDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUN4QixtQkFBK0IsRUFDL0IsVUFBa0I7UUFFbEIsTUFBTSxVQUFVLEdBQXVCLE1BQU0sa0JBQU0sQ0FBQyxPQUFPLENBQUM7WUFDMUQsR0FBRyxtQkFBbUI7WUFDdEIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1NBQ3ZELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVsQyxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUFFRCxrQkFBZSxXQUFXLENBQUMifQ==
@@ -1,24 +1,21 @@
1
1
  /// <reference types="node" />
2
- import { TCB } from './models/index.js';
3
2
  import { BlockchainId } from './types/index.js';
4
3
  import { Encryption, Hash, Resource, TeeRunInfo } from '@super-protocol/dto-js';
5
- import { TLBlockUnserializeResultType } from '@super-protocol/tee-lib';
6
- declare class TIIGenerator {
7
- static verifiedTlbHashes: Map<string, string>;
8
- static verifiedTcbs: Set<BlockchainId>;
9
- private static checkQuote;
10
- static verifyTcb(tcb: TCB, quoteString: string, pubKey: string, sgxApiUrl: string): Promise<void>;
11
- static verifyTlb(tlb: TLBlockUnserializeResultType, tlbString: string, offerId: string, sgxApiUrl: string): Promise<void>;
12
- private static getVerifiedBlockEncryption;
13
- static encryptByTeeBlock(offerId: string, data: string, sgxApiUrl: string): Promise<Encryption>;
14
- static generateByOffer(offerId: BlockchainId, solutionHashes: Hash[], linkageString: string | undefined, resource: Resource, args: any, encryption: Encryption, sgxApiUrl: string): Promise<string>;
4
+ import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
5
+ declare class TIIGenerator extends TeeInputGeneratorBase {
6
+ static generateByOffer({ offerId, solutionHashes, linkageString, resource, args, encryption, sgxApiUrl, }: GenerateByOfferParams): Promise<string>;
15
7
  static generate(orderId: BlockchainId, resource: Resource, args: any, encryption: Encryption, sgxApiUrl: string): Promise<string>;
16
- static getSolutionHashesAndLinkage(inputOffers: BlockchainId[]): Promise<{
17
- hashes: Hash[];
18
- linkage?: string;
19
- }>;
20
8
  static getTRI(tii: string, decryptionKey: Buffer): Promise<TeeRunInfo>;
21
9
  static getUrl(tii: string, decryptionKey: Buffer): Promise<string>;
22
10
  static getResource<T>(tii: string, decryptionKey: Buffer): Promise<T>;
23
11
  }
12
+ export type GenerateByOfferParams = {
13
+ offerId: BlockchainId;
14
+ solutionHashes: Hash[];
15
+ linkageString: string | undefined;
16
+ resource: Resource;
17
+ args: any;
18
+ encryption: Encryption;
19
+ sgxApiUrl: string;
20
+ };
24
21
  export default TIIGenerator;
@@ -4,123 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const node_gzip_1 = __importDefault(require("node-gzip"));
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const config_js_1 = require("./config.js");
9
7
  const Compression_js_1 = require("./proto/Compression.js");
10
8
  const TRI_js_1 = require("./proto/TRI.js");
11
9
  const index_js_1 = __importDefault(require("./crypto/index.js"));
12
10
  const index_js_2 = require("./models/index.js");
13
11
  const dto_js_1 = require("@super-protocol/dto-js");
14
- const tee_lib_1 = require("@super-protocol/tee-lib");
15
- const QuoteValidator_js_1 = require("./tee/QuoteValidator.js");
16
- const statuses_js_1 = require("./tee/statuses.js");
17
- const QuoteParser_js_1 = require("./tee/QuoteParser.js");
18
- const logger_js_1 = __importDefault(require("./logger.js"));
12
+ const TeeInputGeneratorBase_js_1 = __importDefault(require("./TeeInputGeneratorBase.js"));
19
13
  const { gzip, ungzip } = node_gzip_1.default;
20
- class TIIGenerator {
21
- static verifiedTlbHashes = new Map();
22
- static verifiedTcbs = new Set();
23
- static async checkQuote(quote, dataBlob, sgxApiUrl) {
24
- const quoteBuffer = Buffer.from(quote);
25
- const validator = new QuoteValidator_js_1.QuoteValidator(sgxApiUrl);
26
- const quoteStatus = await validator.validate(quoteBuffer);
27
- if (quoteStatus.quoteValidationStatus !== statuses_js_1.QuoteValidationStatuses.UpToDate) {
28
- if (quoteStatus.quoteValidationStatus === statuses_js_1.QuoteValidationStatuses.Error) {
29
- throw new Error('Quote is invalid');
30
- }
31
- else {
32
- logger_js_1.default.warn(quoteStatus, 'Quote validation status is not UpToDate');
33
- }
34
- }
35
- const userDataCheckResult = await validator.isQuoteHasUserData(quoteBuffer, Buffer.from(dataBlob));
36
- if (!userDataCheckResult) {
37
- throw new Error('Quote has invalid user data');
38
- }
39
- const parser = new QuoteParser_js_1.TeeSgxParser();
40
- const parsedQuote = parser.parseQuote(quote);
41
- const report = parser.parseReport(parsedQuote.report);
42
- if (report.mrSigner.toString('hex') !== config_js_1.config.TEE_LOADER_TRUSTED_MRSIGNER) {
43
- throw new Error('Quote has invalid MR signer');
44
- }
45
- }
46
- static async verifyTcb(tcb, quoteString, pubKey, sgxApiUrl) {
47
- // check cache
48
- if (this.verifiedTcbs.has(tcb.tcbId)) {
49
- logger_js_1.default.trace(`Tcb id = ${tcb.tcbId}, already validated`);
50
- return;
51
- }
52
- const quote = Buffer.from(quoteString, 'base64');
53
- const signedTcbData = {
54
- checkingTcbId: tcb.tcbId.toString(),
55
- pubKey,
56
- ...(await tcb.getPublicData()),
57
- };
58
- const serializer = new tee_lib_1.TLBlockSerializerV1();
59
- const dataBlob = await serializer.serializeAnyData(signedTcbData);
60
- await this.checkQuote(quote, dataBlob, sgxApiUrl);
61
- // update cashe
62
- this.verifiedTcbs.add(tcb.tcbId);
63
- if (this.verifiedTcbs.size > config_js_1.config.TLB_CACHE_SIZE) {
64
- const [value] = this.verifiedTcbs.entries().next().value;
65
- this.verifiedTcbs.delete(value);
66
- logger_js_1.default.trace(value, `TCB id = ${value} removed from the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config_js_1.config.TLB_CACHE_SIZE}`);
67
- }
68
- logger_js_1.default.trace(tcb.tcbId, `TCB id = ${tcb.tcbId} added to the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config_js_1.config.TLB_CACHE_SIZE}`);
69
- }
70
- static async verifyTlb(tlb, tlbString, offerId, sgxApiUrl) {
71
- const tlbHash = await index_js_1.default.createHash(Buffer.from(tlbString), {
72
- algo: dto_js_1.HashAlgorithm.SHA256,
73
- encoding: dto_js_1.Encoding.base64,
74
- });
75
- if (this.verifiedTlbHashes.has(tlbHash.hash)) {
76
- logger_js_1.default.trace(tlbHash, `TLB hash of offer ${this.verifiedTlbHashes.get(tlbHash.hash)} loaded from the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config_js_1.config.TLB_CACHE_SIZE}`);
77
- return;
78
- }
79
- const quoteBuffer = Buffer.from(tlb.quote);
80
- await this.checkQuote(quoteBuffer, tlb.dataBlob, sgxApiUrl);
81
- this.verifiedTlbHashes.set(tlbHash.hash, offerId);
82
- if (this.verifiedTlbHashes.size > config_js_1.config.TLB_CACHE_SIZE) {
83
- const [key, value] = this.verifiedTlbHashes.entries().next().value;
84
- this.verifiedTlbHashes.delete(key);
85
- logger_js_1.default.trace(key, `TLB hash of offer ${value} removed from the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config_js_1.config.TLB_CACHE_SIZE}`);
86
- }
87
- logger_js_1.default.trace(tlbHash.hash, `TLB hash of offer ${offerId} added to the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config_js_1.config.TLB_CACHE_SIZE}`);
88
- }
89
- static async getVerifiedBlockEncryption(offerId, sgxApiUrl) {
90
- const teeOffer = new index_js_2.TeeOffer(offerId);
91
- const teeOfferInfo = await teeOffer.getInfo();
92
- const tcbId = await teeOffer.getActualTcbId();
93
- const verifyByTcb = Number.parseInt(tcbId) != 0;
94
- let encryption;
95
- if (verifyByTcb) {
96
- const tcb = new index_js_2.TCB(await teeOffer.getActualTcbId());
97
- const { pubKey, quote } = await tcb.getUtilityData();
98
- await this.verifyTcb(tcb, quote, pubKey, sgxApiUrl);
99
- // TODO: must be 'blockEncryption = JSON.parse(pubKey);'
100
- encryption = {
101
- algo: dto_js_1.CryptoAlgorithm.ECIES,
102
- key: pubKey,
103
- encoding: dto_js_1.Encoding.base64,
104
- };
105
- }
106
- else {
107
- const serializer = new tee_lib_1.TLBlockSerializerV1();
108
- const tlb = serializer.unserializeTlb(Buffer.from(teeOfferInfo.tlb, 'base64'));
109
- await this.verifyTlb(tlb, teeOfferInfo.tlb, offerId, sgxApiUrl);
110
- encryption = {
111
- algo: dto_js_1.CryptoAlgorithm.ECIES,
112
- key: tlb.data.teePubKeyData.toString('base64'),
113
- encoding: dto_js_1.Encoding.base64,
114
- };
115
- }
116
- return encryption;
117
- }
118
- static async encryptByTeeBlock(offerId, data, sgxApiUrl) {
119
- const encryption = await this.getVerifiedBlockEncryption(offerId, sgxApiUrl);
120
- const encryptedInfo = await index_js_1.default.encrypt(data, encryption);
121
- return encryptedInfo;
122
- }
123
- static async generateByOffer(offerId, solutionHashes, linkageString, resource, args, encryption, sgxApiUrl) {
14
+ class TIIGenerator extends TeeInputGeneratorBase_js_1.default {
15
+ static async generateByOffer({ offerId, solutionHashes, linkageString, resource, args, encryption, sgxApiUrl, }) {
124
16
  const teeOffer = new index_js_2.TeeOffer(offerId);
125
17
  const teeOfferInfo = await teeOffer.getInfo();
126
18
  const linkage = linkageString
@@ -168,31 +60,16 @@ class TIIGenerator {
168
60
  const parentOrderId = await order.getParentOrder();
169
61
  const parentOrder = new index_js_2.Order(parentOrderId);
170
62
  const parentOrderInfo = await parentOrder.getOrderInfo();
171
- const { hashes, linkage } = await this.getSolutionHashesAndLinkage(parentOrderInfo.args.inputOffers);
172
- return this.generateByOffer(parentOrderInfo.offerId, hashes, linkage, resource, args, encryption, sgxApiUrl);
173
- }
174
- static async getSolutionHashesAndLinkage(inputOffers) {
175
- const solutionHashes = [];
176
- let solutionLinkage;
177
- let anyLinkage;
178
- await Promise.all(inputOffers.map(async (offerId) => {
179
- const offer = new index_js_2.Offer(offerId);
180
- const offerInfo = await offer.getInfo();
181
- if (offerInfo.hash) {
182
- solutionHashes.push(JSON.parse(offerInfo.hash));
183
- }
184
- const restrictions = lodash_1.default.intersection(offerInfo.restrictions.offers, inputOffers).filter((restrictedOfferId) => restrictedOfferId !== offer.id);
185
- if (restrictions.length) {
186
- solutionLinkage = offerInfo.linkage;
187
- }
188
- else {
189
- anyLinkage = offerInfo.linkage;
190
- }
191
- }));
192
- return {
193
- hashes: solutionHashes,
194
- linkage: solutionLinkage || anyLinkage,
195
- };
63
+ const { solutionHashes, linkage } = await this.getOffersHashesAndLinkage(parentOrderInfo.args.inputOffers);
64
+ return this.generateByOffer({
65
+ offerId: parentOrderInfo.offerId,
66
+ solutionHashes,
67
+ linkageString: linkage,
68
+ resource,
69
+ args,
70
+ encryption,
71
+ sgxApiUrl,
72
+ });
196
73
  }
197
74
  static async getTRI(tii, decryptionKey) {
198
75
  const tiiObj = JSON.parse(tii);
@@ -243,4 +120,4 @@ class TIIGenerator {
243
120
  }
244
121
  }
245
122
  exports.default = TIIGenerator;
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBEQUFpQztBQUNqQyxvREFBdUI7QUFFdkIsMkNBQXFDO0FBQ3JDLDJEQUF1RTtBQUN2RSwyQ0FBcUM7QUFDckMsaUVBQXVDO0FBQ3ZDLGdEQUFnRTtBQUVoRSxtREFZZ0M7QUFDaEMscURBQTRGO0FBQzVGLCtEQUF5RDtBQUN6RCxtREFBNEQ7QUFDNUQseURBQW9EO0FBQ3BELDREQUFpQztBQUVqQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLG1CQUFRLENBQUM7QUFFbEMsTUFBTSxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxRCxNQUFNLENBQUMsWUFBWSxHQUFzQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUM3QixLQUFpQixFQUNqQixRQUFvQixFQUNwQixTQUFpQjtRQUVqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksa0NBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsSUFBSSxXQUFXLENBQUMscUJBQXFCLEtBQUsscUNBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0UsSUFBSSxXQUFXLENBQUMscUJBQXFCLEtBQUsscUNBQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3hFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN0QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUJBQU0sQ0FBQyxJQUFJLENB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
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBEQUFpQztBQUdqQywyREFBdUU7QUFDdkUsMkNBQXFDO0FBQ3JDLGlFQUF1QztBQUN2QyxnREFBb0Q7QUFFcEQsbURBWWdDO0FBQ2hDLDBGQUErRDtBQUUvRCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLG1CQUFRLENBQUM7QUFFbEMsTUFBTSxZQUFhLFNBQVEsa0NBQXFCO0lBQ3ZDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQ2xDLE9BQU8sRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiLFFBQVEsRUFDUixJQUFJLEVBQ0osVUFBVSxFQUNWLFNBQVMsR0FDYTtRQUN0QixNQUFNLFFBQVEsR0FBYSxJQUFJLG1CQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQWlCLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFZLGFBQWE7WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQzNCLENBQUMsQ0FBQztnQkFDRSxRQUFRLEVBQUUsaUJBQVEsQ0FBQyxNQUFNO2dCQUN6QixTQUFTLEVBQUUsRUFBRTtnQkFDYixRQUFRLEVBQUUsRUFBRTthQUNiLENBQUM7UUFFTixNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbEYsOEJBQThCO1FBQzlCLE1BQU0sR0FBRyxHQUFJLFVBQWtCLENBQUMsT0FBTyxJQUFLLFVBQWtDLENBQUMsR0FBRyxDQUFDO1FBQ25GLE1BQU0sTUFBTSxHQUFHO1lBQ2IsY0FBYyxFQUFFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUs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
@@ -0,0 +1,11 @@
1
+ import { Encryption, Hash } from '@super-protocol/dto-js';
2
+ import { BlockchainId } from './types/index.js';
3
+ export default class TeeInputGeneratorBase {
4
+ static getOffersHashesAndLinkage(inputOffers: BlockchainId[]): Promise<{
5
+ solutionHashes: Hash[];
6
+ dataHashes: Hash[];
7
+ linkage?: string;
8
+ }>;
9
+ static encryptByTeeBlock(offerId: string, data: string, sgxApiUrl: string): Promise<Encryption>;
10
+ protected static getVerifiedBlockEncryption(offerId: string, sgxApiUrl: string): Promise<Encryption>;
11
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dto_js_1 = require("@super-protocol/dto-js");
7
+ const tee_lib_1 = require("@super-protocol/tee-lib");
8
+ const index_js_1 = require("./models/index.js");
9
+ const index_js_2 = require("./types/index.js");
10
+ const index_js_3 = __importDefault(require("./crypto/index.js"));
11
+ const TeeBlockVerifier_js_1 = require("./tee/TeeBlockVerifier.js");
12
+ const lodash_1 = __importDefault(require("lodash"));
13
+ const constants_js_1 = require("./constants.js");
14
+ class TeeInputGeneratorBase {
15
+ static async getOffersHashesAndLinkage(inputOffers) {
16
+ const solutionHashes = [];
17
+ const dataHashes = [];
18
+ let solutionLinkage;
19
+ let anyLinkage;
20
+ await Promise.all(inputOffers.map(async (offerId) => {
21
+ const offer = new index_js_1.Offer(offerId);
22
+ const offerInfo = await offer.getInfo();
23
+ if (offerInfo.offerType === index_js_2.OfferType.Solution) {
24
+ solutionHashes.push(offerInfo.hash ? JSON.parse(offerInfo.hash) : constants_js_1.ZERO_HASH);
25
+ const restrictions = lodash_1.default.intersection(offerInfo.restrictions.offers, inputOffers).filter((restrictedOfferId) => restrictedOfferId !== offer.id);
26
+ if (restrictions.length) {
27
+ solutionLinkage = offerInfo.linkage;
28
+ }
29
+ else {
30
+ anyLinkage = offerInfo.linkage;
31
+ }
32
+ }
33
+ if (offerInfo.offerType === index_js_2.OfferType.Data) {
34
+ dataHashes.push(offerInfo.hash ? JSON.parse(offerInfo.hash) : constants_js_1.ZERO_HASH);
35
+ }
36
+ }));
37
+ return {
38
+ solutionHashes,
39
+ dataHashes,
40
+ linkage: solutionLinkage || anyLinkage,
41
+ };
42
+ }
43
+ static async encryptByTeeBlock(offerId, data, sgxApiUrl) {
44
+ const encryption = await this.getVerifiedBlockEncryption(offerId, sgxApiUrl);
45
+ const encryptedInfo = await index_js_3.default.encrypt(data, encryption);
46
+ return encryptedInfo;
47
+ }
48
+ static async getVerifiedBlockEncryption(offerId, sgxApiUrl) {
49
+ const teeOffer = new index_js_1.TeeOffer(offerId);
50
+ const teeOfferInfo = await teeOffer.getInfo();
51
+ const tcbId = await teeOffer.getActualTcbId();
52
+ const verifyByTcb = Number.parseInt(tcbId) != 0;
53
+ let encryption;
54
+ if (verifyByTcb) {
55
+ const tcb = new index_js_1.TCB(await teeOffer.getActualTcbId());
56
+ const { pubKey, quote } = await tcb.getUtilityData();
57
+ await TeeBlockVerifier_js_1.TeeBlockVerifier.verifyTcb(tcb, quote, pubKey, sgxApiUrl);
58
+ // TODO: must be 'blockEncryption = JSON.parse(pubKey);'
59
+ encryption = {
60
+ algo: dto_js_1.CryptoAlgorithm.ECIES,
61
+ key: pubKey,
62
+ encoding: dto_js_1.Encoding.base64,
63
+ };
64
+ }
65
+ else {
66
+ const serializer = new tee_lib_1.TLBlockSerializerV1();
67
+ const tlb = serializer.unserializeTlb(Buffer.from(teeOfferInfo.tlb, 'base64'));
68
+ await TeeBlockVerifier_js_1.TeeBlockVerifier.verifyTlb(tlb, teeOfferInfo.tlb, offerId, sgxApiUrl);
69
+ encryption = {
70
+ algo: dto_js_1.CryptoAlgorithm.ECIES,
71
+ key: tlb.data.teePubKeyData.toString('base64'),
72
+ encoding: dto_js_1.Encoding.base64,
73
+ };
74
+ }
75
+ return encryption;
76
+ }
77
+ }
78
+ exports.default = TeeInputGeneratorBase;
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlSW5wdXRHZW5lcmF0b3JCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RlZUlucHV0R2VuZXJhdG9yQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1EQUFxRjtBQUNyRixxREFBNEY7QUFDNUYsZ0RBQXlEO0FBQ3pELCtDQUFvRjtBQUNwRixpRUFBdUM7QUFDdkMsbUVBQTZEO0FBQzdELG9EQUF1QjtBQUN2QixpREFBMkM7QUFFM0MsTUFBcUIscUJBQXFCO0lBQ2pDLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQzNDLFdBQTJCO1FBRTNCLE1BQU0sY0FBYyxHQUFXLEVBQUUsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxlQUFtQyxDQUFDO1FBQ3hDLElBQUksVUFBOEIsQ0FBQztRQUNuQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFpQixFQUFFO1lBQy9DLE1BQU0sS0FBSyxHQUFVLElBQUksZ0JBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QyxNQUFNLFNBQVMsR0FBYyxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUVuRCxJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUssb0JBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDL0MsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQVMsQ0FBQyxDQUFDO2dCQUU3RSxNQUFNLFlBQVksR0FBRyxnQkFBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQ3BGLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxD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
@@ -1,3 +1,4 @@
1
+ import { Hash } from '@super-protocol/dto-js';
1
2
  export declare const defaultBlockchainUrl = "http://127.0.0.1:8545";
2
3
  export declare const defaultGasLimit: bigint;
3
4
  export declare const defaultGasPrice: bigint;
@@ -14,3 +15,4 @@ export declare const BLOCKCHAIN_BATCH_REQUEST_TIMEOUT = 10000;
14
15
  export declare const POLYGON_MAIN_CHAIN_ID = 137;
15
16
  export declare const POLYGON_AMOY_CHAIN_ID = 80002;
16
17
  export declare const AMOY_TX_COST_LIMIT: bigint;
18
+ export declare const ZERO_HASH: Hash;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AMOY_TX_COST_LIMIT = exports.POLYGON_AMOY_CHAIN_ID = exports.POLYGON_MAIN_CHAIN_ID = exports.BLOCKCHAIN_BATCH_REQUEST_TIMEOUT = exports.BLOCKCHAIN_CALL_RETRY_INTERVAL = exports.BLOCKCHAIN_CALL_RETRY_ATTEMPTS = exports.POLYGON_MATIC_EVENT_PATH = exports.BLOCK_SIZE_TO_FETCH_TRANSACTION = exports.ONE_DAY = exports.txIntervalMs = exports.txConcurrency = exports.defaultGasLimitMultiplier = exports.defaultGasPriceMultiplier = exports.defaultGasPrice = exports.defaultGasLimit = exports.defaultBlockchainUrl = void 0;
3
+ exports.ZERO_HASH = exports.AMOY_TX_COST_LIMIT = exports.POLYGON_AMOY_CHAIN_ID = exports.POLYGON_MAIN_CHAIN_ID = exports.BLOCKCHAIN_BATCH_REQUEST_TIMEOUT = exports.BLOCKCHAIN_CALL_RETRY_INTERVAL = exports.BLOCKCHAIN_CALL_RETRY_ATTEMPTS = exports.POLYGON_MATIC_EVENT_PATH = exports.BLOCK_SIZE_TO_FETCH_TRANSACTION = exports.ONE_DAY = exports.txIntervalMs = exports.txConcurrency = exports.defaultGasLimitMultiplier = exports.defaultGasPriceMultiplier = exports.defaultGasPrice = exports.defaultGasLimit = exports.defaultBlockchainUrl = void 0;
4
+ const dto_js_1 = require("@super-protocol/dto-js");
4
5
  exports.defaultBlockchainUrl = 'http://127.0.0.1:8545';
5
6
  exports.defaultGasLimit = BigInt(7000000);
6
7
  exports.defaultGasPrice = BigInt(3000000000);
@@ -17,4 +18,9 @@ exports.BLOCKCHAIN_BATCH_REQUEST_TIMEOUT = 10000;
17
18
  exports.POLYGON_MAIN_CHAIN_ID = 137;
18
19
  exports.POLYGON_AMOY_CHAIN_ID = 80002;
19
20
  exports.AMOY_TX_COST_LIMIT = BigInt('5000000000000000000');
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDO0FBQy9DLFFBQUEsZUFBZSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNsQyxRQUFBLGVBQWUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDckMsUUFBQSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFDOUIsUUFBQSx5QkFBeUIsR0FBRyxHQUFHLENBQUM7QUFDaEMsUUFBQSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ25CLFFBQUEsWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUNsQixRQUFBLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUN2QixRQUFBLCtCQUErQixHQUFHLEdBQUcsQ0FBQztBQUN0QyxRQUFBLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBQ3hFLFFBQUEsOEJBQThCLEdBQUcsRUFBRSxDQUFDO0FBQ3BDLFFBQUEsOEJBQThCLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLFFBQUEsZ0NBQWdDLEdBQUcsS0FBSyxDQUFDO0FBQ3pDLFFBQUEscUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBQzVCLFFBQUEscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0FBQzlCLFFBQUEsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMifQ==
21
+ exports.ZERO_HASH = {
22
+ hash: '0000000000000000000000000000000000000000000000000000000000000000',
23
+ algo: dto_js_1.HashAlgorithm.SHA256,
24
+ encoding: dto_js_1.Encoding.base64,
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBdUU7QUFFMUQsUUFBQSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQztBQUMvQyxRQUFBLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEMsUUFBQSxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3JDLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLFFBQUEseUJBQXlCLEdBQUcsR0FBRyxDQUFDO0FBQ2hDLFFBQUEsYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUNuQixRQUFBLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDbEIsUUFBQSxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdkIsUUFBQSwrQkFBK0IsR0FBRyxHQUFHLENBQUM7QUFDdEMsUUFBQSx3QkFBd0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUN4RSxRQUFBLDhCQUE4QixHQUFHLEVBQUUsQ0FBQztBQUNwQyxRQUFBLDhCQUE4QixHQUFHLElBQUksQ0FBQztBQUN0QyxRQUFBLGdDQUFnQyxHQUFHLEtBQUssQ0FBQztBQUN6QyxRQUFBLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUM1QixRQUFBLHFCQUFxQixHQUFHLEtBQUssQ0FBQztBQUM5QixRQUFBLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ25ELFFBQUEsU0FBUyxHQUFTO0lBQzdCLElBQUksRUFBRSxrRUFBa0U7SUFDeEUsSUFBSSxFQUFFLHNCQUFhLENBQUMsTUFBTTtJQUMxQixRQUFRLEVBQUUsaUJBQVEsQ0FBQyxNQUFNO0NBQzFCLENBQUMifQ==
@@ -5,6 +5,8 @@ export { default as BlockchainEventsListener } from './connectors/BlockchainEven
5
5
  export { default as Crypto } from './crypto/index.js';
6
6
  export { default as TIIGenerator } from './TIIGenerator.js';
7
7
  export * from './TIIGenerator.js';
8
+ export { default as RIGenerator } from './RIGenerator.js';
9
+ export * from './TIIGenerator.js';
8
10
  export { default as Consensus } from './staticModels/Consensus.js';
9
11
  export * from './staticModels/Consensus.js';
10
12
  export { default as Orders } from './staticModels/Orders.js';
@@ -67,11 +69,13 @@ export { default as StorageAccess } from './types/storage/StorageAccess.js';
67
69
  export { default as getStorageProvider } from './providers/storage/getStorageProvider.js';
68
70
  export { default as IStorageProvider } from './providers/storage/IStorageProvider.js';
69
71
  export * as helpers from './utils/helpers/index.js';
72
+ export * as constants from './constants.js';
70
73
  export { Web3TransactionRevertedByEvmError } from './utils/TxManager.js';
71
74
  import './polyfills.js';
72
75
  export { TeeSgxParser } from './tee/QuoteParser.js';
73
76
  export { QuoteValidator } from './tee/QuoteValidator.js';
74
77
  export * from './tee/statuses.js';
78
+ export { TeeBlockVerifier } from './tee/TeeBlockVerifier.js';
75
79
  export * from './analytics/types.js';
76
80
  export { default as Analytics } from './analytics/Analytics.js';
77
81
  export { default as NodeEventProvider } from './analytics/eventProviders/NodeEventProvider.js';
package/dist/cjs/index.js CHANGED
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.FetchTransport = exports.AxiosTransport = exports.BrowserEventProvider = exports.NodeEventProvider = exports.Analytics = exports.QuoteValidator = exports.TeeSgxParser = exports.Web3TransactionRevertedByEvmError = exports.helpers = exports.getStorageProvider = exports.ContentWriterType = exports.StorageContentWriter = exports.CacheEvents = exports.StorageAdapter = exports.StorageKeyValueAdapter = exports.StorageMetadataReader = exports.StorjAdapter = exports.ChunkedStorageProvider = exports.TCB = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.Deposits = exports.Marks = exports.Superpro = exports.SuperproToken = exports.ProviderRegistry = exports.TeeOffers = exports.Offers = exports.ActiveOffers = exports.ActiveOrders = exports.Orders = exports.Consensus = exports.TIIGenerator = exports.Crypto = exports.BlockchainEventsListener = exports.BlockchainConnector = void 0;
32
+ exports.FetchTransport = exports.AxiosTransport = exports.BrowserEventProvider = exports.NodeEventProvider = exports.Analytics = exports.TeeBlockVerifier = exports.QuoteValidator = exports.TeeSgxParser = exports.Web3TransactionRevertedByEvmError = exports.constants = exports.helpers = exports.getStorageProvider = exports.ContentWriterType = exports.StorageContentWriter = exports.CacheEvents = exports.StorageAdapter = exports.StorageKeyValueAdapter = exports.StorageMetadataReader = exports.StorjAdapter = exports.ChunkedStorageProvider = exports.TCB = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.Deposits = exports.Marks = exports.Superpro = exports.SuperproToken = exports.ProviderRegistry = exports.TeeOffers = exports.Offers = exports.ActiveOffers = exports.ActiveOrders = exports.Orders = exports.Consensus = exports.RIGenerator = exports.TIIGenerator = exports.Crypto = exports.BlockchainEventsListener = exports.BlockchainConnector = void 0;
33
33
  var BlockchainConnector_js_1 = require("./connectors/BlockchainConnector.js");
34
34
  Object.defineProperty(exports, "BlockchainConnector", { enumerable: true, get: function () { return __importDefault(BlockchainConnector_js_1).default; } });
35
35
  __exportStar(require("./connectors/BlockchainConnector.js"), exports);
@@ -40,6 +40,9 @@ Object.defineProperty(exports, "Crypto", { enumerable: true, get: function () {
40
40
  var TIIGenerator_js_1 = require("./TIIGenerator.js");
41
41
  Object.defineProperty(exports, "TIIGenerator", { enumerable: true, get: function () { return __importDefault(TIIGenerator_js_1).default; } });
42
42
  __exportStar(require("./TIIGenerator.js"), exports);
43
+ var RIGenerator_js_1 = require("./RIGenerator.js");
44
+ Object.defineProperty(exports, "RIGenerator", { enumerable: true, get: function () { return __importDefault(RIGenerator_js_1).default; } });
45
+ __exportStar(require("./TIIGenerator.js"), exports);
43
46
  var Consensus_js_1 = require("./staticModels/Consensus.js");
44
47
  Object.defineProperty(exports, "Consensus", { enumerable: true, get: function () { return __importDefault(Consensus_js_1).default; } });
45
48
  __exportStar(require("./staticModels/Consensus.js"), exports);
@@ -122,6 +125,7 @@ Object.defineProperty(exports, "ContentWriterType", { enumerable: true, get: fun
122
125
  var getStorageProvider_js_1 = require("./providers/storage/getStorageProvider.js");
123
126
  Object.defineProperty(exports, "getStorageProvider", { enumerable: true, get: function () { return __importDefault(getStorageProvider_js_1).default; } });
124
127
  exports.helpers = __importStar(require("./utils/helpers/index.js"));
128
+ exports.constants = __importStar(require("./constants.js"));
125
129
  var TxManager_js_1 = require("./utils/TxManager.js");
126
130
  Object.defineProperty(exports, "Web3TransactionRevertedByEvmError", { enumerable: true, get: function () { return TxManager_js_1.Web3TransactionRevertedByEvmError; } });
127
131
  require("./polyfills.js");
@@ -130,6 +134,8 @@ Object.defineProperty(exports, "TeeSgxParser", { enumerable: true, get: function
130
134
  var QuoteValidator_js_1 = require("./tee/QuoteValidator.js");
131
135
  Object.defineProperty(exports, "QuoteValidator", { enumerable: true, get: function () { return QuoteValidator_js_1.QuoteValidator; } });
132
136
  __exportStar(require("./tee/statuses.js"), exports);
137
+ var TeeBlockVerifier_js_1 = require("./tee/TeeBlockVerifier.js");
138
+ Object.defineProperty(exports, "TeeBlockVerifier", { enumerable: true, get: function () { return TeeBlockVerifier_js_1.TeeBlockVerifier; } });
133
139
  __exportStar(require("./analytics/types.js"), exports);
134
140
  var Analytics_js_1 = require("./analytics/Analytics.js");
135
141
  Object.defineProperty(exports, "Analytics", { enumerable: true, get: function () { return __importDefault(Analytics_js_1).default; } });
@@ -141,4 +147,4 @@ var AxiosTransport_js_1 = require("./analytics/transports/AxiosTransport.js");
141
147
  Object.defineProperty(exports, "AxiosTransport", { enumerable: true, get: function () { return __importDefault(AxiosTransport_js_1).default; } });
142
148
  var FetchTransport_js_1 = require("./analytics/transports/FetchTransport.js");
143
149
  Object.defineProperty(exports, "FetchTransport", { enumerable: true, get: function () { return __importDefault(FetchTransport_js_1).default; } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4RUFBcUY7QUFBNUUsOElBQUEsT0FBTyxPQUF1QjtBQUV2QyxzRUFBb0Q7QUFJcEQsd0ZBQStGO0FBQXRGLHdKQUFBLE9BQU8sT0FBNEI7QUFFNUMsOENBQXNEO0FBQTdDLG1IQUFBLE9BQU8sT0FBVTtBQUUxQixxREFBNEQ7QUFBbkQsZ0lBQUEsT0FBTyxPQUFnQjtBQUNoQyxvREFBa0M7QUFFbEMsNERBQW1FO0FBQTFELDBIQUFBLE9BQU8sT0FBYTtBQUM3Qiw4REFBNEM7QUFFNUMsc0RBQTZEO0FBQXBELG9IQUFBLE9BQU8sT0FBVTtBQUMxQiwyREFBeUM7QUFFekMsa0VBQXlFO0FBQWhFLGdJQUFBLE9BQU8sT0FBZ0I7QUFDaEMsaUVBQStDO0FBRS9DLGtFQUF5RTtBQUFoRSxnSUFBQSxPQUFPLE9BQWdCO0FBQ2hDLGlFQUErQztBQUUvQyxzREFBNkQ7QUFBcEQsb0hBQUEsT0FBTyxPQUFVO0FBQzFCLDJEQUF5QztBQUV6Qyw0REFBbUU7QUFBMUQsMEhBQUEsT0FBTyxPQUFhO0FBQzdCLDhEQUE0QztBQUU1QywwRUFBaUY7QUFBeEUsd0lBQUEsT0FBTyxPQUFvQjtBQUNwQyxxRUFBbUQ7QUFFbkQsb0VBQTJFO0FBQWxFLGtJQUFBLE9BQU8sT0FBaUI7QUFDakMsa0VBQWdEO0FBRWhELDBEQUFpRTtBQUF4RCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsNkRBQTJDO0FBRTNDLG9EQUEyRDtBQUFsRCxrSEFBQSxPQUFPLE9BQVM7QUFDekIsMERBQXdDO0FBRXhDLDBEQUFpRTtBQUF4RCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsNkRBQTJDO0FBRTNDLDhDQUFxRDtBQUE1QyxrSEFBQSxPQUFPLE9BQVM7QUFDekIsb0RBQWtDO0FBRWxDLG9EQUEyRDtBQUFsRCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsdURBQXFDO0FBRXJDLG9EQUEyRDtBQUFsRCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsdURBQXFDO0FBRXJDLDhDQUFxRDtBQUE1QyxrSEFBQSxPQUFPLE9BQVM7QUFDekIsb0RBQWtDO0FBRWxDLDBDQUFpRDtBQUF4Qyw4R0FBQSxPQUFPLE9BQU87QUFDdkIsa0RBQWdDO0FBRWhDLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLDBEQUF3QztBQUN4QywwREFBd0M7QUFDeEMsc0RBQW9DO0FBQ3BDLHVEQUFxQztBQUNyQyx3REFBc0M7QUFDdEMsd0RBQXNDO0FBQ3RDLDBEQUF3QztBQUN4Qyw0REFBMEM7QUFDMUMsMERBQXdDO0FBQ3hDLDREQUEwQztBQUMxQyxzREFBb0M7QUFDcEMsc0RBQW9DO0FBQ3BDLHVEQUFxQztBQUNyQyxxREFBbUM7QUFDbkMsa0RBQWdDO0FBRWhDLHlHQUF5RjtBQUN6Rix1RUFBMkY7QUFBbEYsZ0lBQUEsT0FBTyxPQUFnQjtBQUNoQyx5RkFHc0Q7QUFGcEQsa0pBQUEsT0FBTyxPQUF5QjtBQUdsQywyRkFBa0c7QUFBekYsb0pBQUEsT0FBTyxPQUEwQjtBQUMxQywyRUFJK0M7QUFIN0Msb0lBQUEsT0FBTyxPQUFrQjtBQUN6QixnSEFBQSxXQUFXLE9BQUE7QUFHYix1RkFJcUQ7QUFIbkQsZ0pBQUEsT0FBTyxPQUF3QjtBQUUvQiw0SEFBQSxpQkFBaUIsT0FBQTtBQU1uQixtRkFBMEY7QUFBakYsNElBQUEsT0FBTyxPQUFzQjtBQUd0QyxvRUFBb0Q7QUFFcEQscURBQXlFO0FBQWhFLGlJQUFBLGlDQUFpQyxPQUFBO0FBRTFDLDBCQUF3QjtBQUV4Qix1REFBb0Q7QUFBM0MsOEdBQUEsWUFBWSxPQUFBO0FBQ3JCLDZEQUF5RDtBQUFoRCxtSEFBQSxjQUFjLE9BQUE7QUFDdkIsb0RBQWtDO0FBRWxDLHVEQUFxQztBQUNyQyx5REFBZ0U7QUFBdkQsMEhBQUEsT0FBTyxPQUFhO0FBQzdCLHdGQUErRjtBQUF0RiwwSUFBQSxPQUFPLE9BQXFCO0FBQ3JDLDhGQUFxRztBQUE1RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLDhFQUFxRjtBQUE1RSxvSUFBQSxPQUFPLE9BQWtCO0FBQ2xDLDhFQUFxRjtBQUE1RSxvSUFBQSxPQUFPLE9BQWtCIn0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4RUFBcUY7QUFBNUUsOElBQUEsT0FBTyxPQUF1QjtBQUV2QyxzRUFBb0Q7QUFJcEQsd0ZBQStGO0FBQXRGLHdKQUFBLE9BQU8sT0FBNEI7QUFFNUMsOENBQXNEO0FBQTdDLG1IQUFBLE9BQU8sT0FBVTtBQUUxQixxREFBNEQ7QUFBbkQsZ0lBQUEsT0FBTyxPQUFnQjtBQUNoQyxvREFBa0M7QUFFbEMsbURBQTBEO0FBQWpELDhIQUFBLE9BQU8sT0FBZTtBQUMvQixvREFBa0M7QUFFbEMsNERBQW1FO0FBQTFELDBIQUFBLE9BQU8sT0FBYTtBQUM3Qiw4REFBNEM7QUFFNUMsc0RBQTZEO0FBQXBELG9IQUFBLE9BQU8sT0FBVTtBQUMxQiwyREFBeUM7QUFFekMsa0VBQXlFO0FBQWhFLGdJQUFBLE9BQU8sT0FBZ0I7QUFDaEMsaUVBQStDO0FBRS9DLGtFQUF5RTtBQUFoRSxnSUFBQSxPQUFPLE9BQWdCO0FBQ2hDLGlFQUErQztBQUUvQyxzREFBNkQ7QUFBcEQsb0hBQUEsT0FBTyxPQUFVO0FBQzFCLDJEQUF5QztBQUV6Qyw0REFBbUU7QUFBMUQsMEhBQUEsT0FBTyxPQUFhO0FBQzdCLDhEQUE0QztBQUU1QywwRUFBaUY7QUFBeEUsd0lBQUEsT0FBTyxPQUFvQjtBQUNwQyxxRUFBbUQ7QUFFbkQsb0VBQTJFO0FBQWxFLGtJQUFBLE9BQU8sT0FBaUI7QUFDakMsa0VBQWdEO0FBRWhELDBEQUFpRTtBQUF4RCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsNkRBQTJDO0FBRTNDLG9EQUEyRDtBQUFsRCxrSEFBQSxPQUFPLE9BQVM7QUFDekIsMERBQXdDO0FBRXhDLDBEQUFpRTtBQUF4RCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsNkRBQTJDO0FBRTNDLDhDQUFxRDtBQUE1QyxrSEFBQSxPQUFPLE9BQVM7QUFDekIsb0RBQWtDO0FBRWxDLG9EQUEyRDtBQUFsRCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsdURBQXFDO0FBRXJDLG9EQUEyRDtBQUFsRCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsdURBQXFDO0FBRXJDLDhDQUFxRDtBQUE1QyxrSEFBQSxPQUFPLE9BQVM7QUFDekIsb0RBQWtDO0FBRWxDLDBDQUFpRDtBQUF4Qyw4R0FBQSxPQUFPLE9BQU87QUFDdkIsa0RBQWdDO0FBRWhDLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLDBEQUF3QztBQUN4QywwREFBd0M7QUFDeEMsc0RBQW9DO0FBQ3BDLHVEQUFxQztBQUNyQyx3REFBc0M7QUFDdEMsd0RBQXNDO0FBQ3RDLDBEQUF3QztBQUN4Qyw0REFBMEM7QUFDMUMsMERBQXdDO0FBQ3hDLDREQUEwQztBQUMxQyxzREFBb0M7QUFDcEMsc0RBQW9DO0FBQ3BDLHVEQUFxQztBQUNyQyxxREFBbUM7QUFDbkMsa0RBQWdDO0FBRWhDLHlHQUF5RjtBQUN6Rix1RUFBMkY7QUFBbEYsZ0lBQUEsT0FBTyxPQUFnQjtBQUNoQyx5RkFHc0Q7QUFGcEQsa0pBQUEsT0FBTyxPQUF5QjtBQUdsQywyRkFBa0c7QUFBekYsb0pBQUEsT0FBTyxPQUEwQjtBQUMxQywyRUFJK0M7QUFIN0Msb0lBQUEsT0FBTyxPQUFrQjtBQUN6QixnSEFBQSxXQUFXLE9BQUE7QUFHYix1RkFJcUQ7QUFIbkQsZ0pBQUEsT0FBTyxPQUF3QjtBQUUvQiw0SEFBQSxpQkFBaUIsT0FBQTtBQU1uQixtRkFBMEY7QUFBakYsNElBQUEsT0FBTyxPQUFzQjtBQUd0QyxvRUFBb0Q7QUFDcEQsNERBQTRDO0FBRTVDLHFEQUF5RTtBQUFoRSxpSUFBQSxpQ0FBaUMsT0FBQTtBQUUxQywwQkFBd0I7QUFFeEIsdURBQW9EO0FBQTNDLDhHQUFBLFlBQVksT0FBQTtBQUNyQiw2REFBeUQ7QUFBaEQsbUhBQUEsY0FBYyxPQUFBO0FBQ3ZCLG9EQUFrQztBQUNsQyxpRUFBNkQ7QUFBcEQsdUhBQUEsZ0JBQWdCLE9BQUE7QUFFekIsdURBQXFDO0FBQ3JDLHlEQUFnRTtBQUF2RCwwSEFBQSxPQUFPLE9BQWE7QUFDN0Isd0ZBQStGO0FBQXRGLDBJQUFBLE9BQU8sT0FBcUI7QUFDckMsOEZBQXFHO0FBQTVGLGdKQUFBLE9BQU8sT0FBd0I7QUFDeEMsOEVBQXFGO0FBQTVFLG9JQUFBLE9BQU8sT0FBa0I7QUFDbEMsOEVBQXFGO0FBQTVFLG9JQUFBLE9BQU8sT0FBa0IifQ==
@@ -21,7 +21,7 @@ export declare const Compression: {
21
21
  } & {
22
22
  type?: Compression_TYPE | undefined;
23
23
  data?: Uint8Array | undefined;
24
- } & { [K in Exclude<keyof I, keyof Compression>]: never; }>(base?: I | undefined): Compression;
24
+ } & { [K in Exclude<keyof I, keyof Compression>]: never; }>(base?: I): Compression;
25
25
  fromPartial<I_1 extends {
26
26
  type?: Compression_TYPE | undefined;
27
27
  data?: Uint8Array | undefined;
@@ -41,7 +41,7 @@ export declare const Encryption: {
41
41
  iv?: Uint8Array | undefined;
42
42
  mac?: Uint8Array | undefined;
43
43
  encoding?: string | undefined;
44
- } & { [K in Exclude<keyof I, keyof Encryption>]: never; }>(base?: I | undefined): Encryption;
44
+ } & { [K in Exclude<keyof I, keyof Encryption>]: never; }>(base?: I): Encryption;
45
45
  fromPartial<I_1 extends {
46
46
  algo?: string | undefined;
47
47
  key?: Uint8Array | undefined;
@@ -71,7 +71,7 @@ export declare const Hash: {
71
71
  } & {
72
72
  algo?: string | undefined;
73
73
  hash?: Uint8Array | undefined;
74
- } & { [K in Exclude<keyof I, keyof Hash>]: never; }>(base?: I | undefined): Hash;
74
+ } & { [K in Exclude<keyof I, keyof Hash>]: never; }>(base?: I): Hash;
75
75
  fromPartial<I_1 extends {
76
76
  algo?: string | undefined;
77
77
  hash?: Uint8Array | undefined;
@@ -136,7 +136,7 @@ export declare const TRI: {
136
136
  encoding?: string | undefined;
137
137
  } & { [K_2 in Exclude<keyof I["encryption"], keyof Encryption>]: never; }) | undefined;
138
138
  mrsigner?: Uint8Array | undefined;
139
- } & { [K_3 in Exclude<keyof I, keyof TRI>]: never; }>(base?: I | undefined): TRI;
139
+ } & { [K_3 in Exclude<keyof I, keyof TRI>]: never; }>(base?: I): TRI;
140
140
  fromPartial<I_1 extends {
141
141
  solutionHashes?: {
142
142
  algo?: string | undefined;
@@ -133,7 +133,7 @@ export declare const TeeProperties: {
133
133
  memBandwidth?: number | undefined;
134
134
  memConfirmedSize?: number | undefined;
135
135
  } & { [K_4 in Exclude<keyof I["teeRunMemoryBenchmark"], keyof TeeRunMemoryBenchmark>]: never; }) | undefined;
136
- } & { [K_5 in Exclude<keyof I, keyof TeeProperties>]: never; }>(base?: I | undefined): TeeProperties;
136
+ } & { [K_5 in Exclude<keyof I, keyof TeeProperties>]: never; }>(base?: I): TeeProperties;
137
137
  fromPartial<I_1 extends {
138
138
  teeDeviceInfo?: {
139
139
  cpus?: {
@@ -294,7 +294,7 @@ export declare const TeeDeviceInfo: {
294
294
  memSize?: number | undefined;
295
295
  totalPhysicalCores?: number | undefined;
296
296
  totalLogicalCores?: number | undefined;
297
- } & { [K_2 in Exclude<keyof I, keyof TeeDeviceInfo>]: never; }>(base?: I | undefined): TeeDeviceInfo;
297
+ } & { [K_2 in Exclude<keyof I, keyof TeeDeviceInfo>]: never; }>(base?: I): TeeDeviceInfo;
298
298
  fromPartial<I_1 extends {
299
299
  cpus?: {
300
300
  vendorId?: string | undefined;
@@ -375,7 +375,7 @@ export declare const Cpus: {
375
375
  logicalCores?: number | undefined;
376
376
  baseFreq?: number | undefined;
377
377
  maxFreq?: number | undefined;
378
- } & { [K in Exclude<keyof I, keyof Cpus>]: never; }>(base?: I | undefined): Cpus;
378
+ } & { [K in Exclude<keyof I, keyof Cpus>]: never; }>(base?: I): Cpus;
379
379
  fromPartial<I_1 extends {
380
380
  vendorId?: string | undefined;
381
381
  cpuFamily?: number | undefined;
@@ -409,7 +409,7 @@ export declare const TeeRunCpuBenchmark: {
409
409
  cpuScore?: number | undefined;
410
410
  cpuBenchmark?: string | undefined;
411
411
  cpuCoresCount?: number | undefined;
412
- } & { [K in Exclude<keyof I, keyof TeeRunCpuBenchmark>]: never; }>(base?: I | undefined): TeeRunCpuBenchmark;
412
+ } & { [K in Exclude<keyof I, keyof TeeRunCpuBenchmark>]: never; }>(base?: I): TeeRunCpuBenchmark;
413
413
  fromPartial<I_1 extends {
414
414
  cpuScore?: number | undefined;
415
415
  cpuBenchmark?: string | undefined;
@@ -431,7 +431,7 @@ export declare const TeeRunMemoryBenchmark: {
431
431
  } & {
432
432
  memBandwidth?: number | undefined;
433
433
  memConfirmedSize?: number | undefined;
434
- } & { [K in Exclude<keyof I, keyof TeeRunMemoryBenchmark>]: never; }>(base?: I | undefined): TeeRunMemoryBenchmark;
434
+ } & { [K in Exclude<keyof I, keyof TeeRunMemoryBenchmark>]: never; }>(base?: I): TeeRunMemoryBenchmark;
435
435
  fromPartial<I_1 extends {
436
436
  memBandwidth?: number | undefined;
437
437
  memConfirmedSize?: number | undefined;