@super-protocol/sdk-js 2.1.9-beta.4 → 2.1.9-beta.6
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.
- package/dist/cjs/RIGenerator.d.ts +17 -0
- package/dist/cjs/RIGenerator.js +50 -0
- package/dist/cjs/TIIGenerator.d.ts +12 -15
- package/dist/cjs/TIIGenerator.js +14 -137
- package/dist/cjs/TeeInputGeneratorBase.d.ts +12 -0
- package/dist/cjs/TeeInputGeneratorBase.js +81 -0
- package/dist/cjs/connectors/BlockchainEventsListener.js +3 -3
- package/dist/cjs/constants.d.ts +2 -0
- package/dist/cjs/constants.js +8 -2
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/models/Offer.d.ts +4 -0
- package/dist/cjs/models/Offer.js +18 -1
- package/dist/cjs/providers/storage/StorageAdapter.js +3 -2
- package/dist/cjs/tee/TeeBlockVerifier.d.ts +10 -0
- package/dist/cjs/tee/TeeBlockVerifier.js +86 -0
- package/dist/cjs/types/Order.d.ts +8 -6
- package/dist/cjs/types/Order.js +1 -1
- package/dist/cjs/utils/helpers/index.d.ts +0 -1
- package/dist/cjs/utils/helpers/index.js +1 -2
- package/dist/mjs/RIGenerator.d.ts +17 -0
- package/dist/mjs/RIGenerator.js +45 -0
- package/dist/mjs/TIIGenerator.d.ts +12 -15
- package/dist/mjs/TIIGenerator.js +16 -139
- package/dist/mjs/TeeInputGeneratorBase.d.ts +12 -0
- package/dist/mjs/TeeInputGeneratorBase.js +75 -0
- package/dist/mjs/connectors/BlockchainEventsListener.js +3 -3
- package/dist/mjs/constants.d.ts +2 -0
- package/dist/mjs/constants.js +7 -1
- package/dist/mjs/index.d.ts +4 -0
- package/dist/mjs/index.js +5 -1
- package/dist/mjs/models/Offer.d.ts +4 -0
- package/dist/mjs/models/Offer.js +18 -1
- package/dist/mjs/providers/storage/StorageAdapter.js +4 -3
- package/dist/mjs/tee/TeeBlockVerifier.d.ts +10 -0
- package/dist/mjs/tee/TeeBlockVerifier.js +79 -0
- package/dist/mjs/types/Order.d.ts +8 -6
- package/dist/mjs/types/Order.js +1 -1
- package/dist/mjs/utils/helpers/index.d.ts +0 -1
- package/dist/mjs/utils/helpers/index.js +1 -2
- package/package.json +2 -2
- package/dist/cjs/utils/helpers/orderHelpers.d.ts +0 -12
- package/dist/cjs/utils/helpers/orderHelpers.js +0 -42
- package/dist/mjs/utils/helpers/orderHelpers.d.ts +0 -12
- package/dist/mjs/utils/helpers/orderHelpers.js +0 -34
package/dist/mjs/TIIGenerator.js
CHANGED
|
@@ -1,121 +1,13 @@
|
|
|
1
1
|
import nodeGzip from 'node-gzip';
|
|
2
|
-
import _ from 'lodash';
|
|
3
|
-
import { config } from './config.js';
|
|
4
2
|
import { Compression, Compression_TYPE } from './proto/Compression.js';
|
|
5
3
|
import { TRI } from './proto/TRI.js';
|
|
6
4
|
import Crypto from './crypto/index.js';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import { QuoteValidator } from './tee/QuoteValidator.js';
|
|
11
|
-
import { QuoteValidationStatuses } from './tee/statuses.js';
|
|
12
|
-
import { TeeSgxParser } from './tee/QuoteParser.js';
|
|
13
|
-
import logger from './logger.js';
|
|
5
|
+
import { Order, TeeOffer } from './models/index.js';
|
|
6
|
+
import { Encoding, } from '@super-protocol/dto-js';
|
|
7
|
+
import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
|
|
14
8
|
const { gzip, ungzip } = nodeGzip;
|
|
15
|
-
class TIIGenerator {
|
|
16
|
-
static
|
|
17
|
-
static verifiedTcbs = new Set();
|
|
18
|
-
static async checkQuote(quote, dataBlob, sgxApiUrl) {
|
|
19
|
-
const quoteBuffer = Buffer.from(quote);
|
|
20
|
-
const validator = new QuoteValidator(sgxApiUrl);
|
|
21
|
-
const quoteStatus = await validator.validate(quoteBuffer);
|
|
22
|
-
if (quoteStatus.quoteValidationStatus !== QuoteValidationStatuses.UpToDate) {
|
|
23
|
-
if (quoteStatus.quoteValidationStatus === QuoteValidationStatuses.Error) {
|
|
24
|
-
throw new Error('Quote is invalid');
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
logger.warn(quoteStatus, 'Quote validation status is not UpToDate');
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
const userDataCheckResult = await validator.isQuoteHasUserData(quoteBuffer, Buffer.from(dataBlob));
|
|
31
|
-
if (!userDataCheckResult) {
|
|
32
|
-
throw new Error('Quote has invalid user data');
|
|
33
|
-
}
|
|
34
|
-
const parser = new TeeSgxParser();
|
|
35
|
-
const parsedQuote = parser.parseQuote(quote);
|
|
36
|
-
const report = parser.parseReport(parsedQuote.report);
|
|
37
|
-
if (report.mrSigner.toString('hex') !== config.TEE_LOADER_TRUSTED_MRSIGNER) {
|
|
38
|
-
throw new Error('Quote has invalid MR signer');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
static async verifyTcb(tcb, quoteString, pubKey, sgxApiUrl) {
|
|
42
|
-
// check cache
|
|
43
|
-
if (this.verifiedTcbs.has(tcb.tcbId)) {
|
|
44
|
-
logger.trace(`Tcb id = ${tcb.tcbId}, already validated`);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const quote = Buffer.from(quoteString, 'base64');
|
|
48
|
-
const signedTcbData = {
|
|
49
|
-
checkingTcbId: tcb.tcbId.toString(),
|
|
50
|
-
pubKey,
|
|
51
|
-
...(await tcb.getPublicData()),
|
|
52
|
-
};
|
|
53
|
-
const serializer = new TLBlockSerializerV1();
|
|
54
|
-
const dataBlob = await serializer.serializeAnyData(signedTcbData);
|
|
55
|
-
await this.checkQuote(quote, dataBlob, sgxApiUrl);
|
|
56
|
-
// update cashe
|
|
57
|
-
this.verifiedTcbs.add(tcb.tcbId);
|
|
58
|
-
if (this.verifiedTcbs.size > config.TLB_CACHE_SIZE) {
|
|
59
|
-
const [value] = this.verifiedTcbs.entries().next().value;
|
|
60
|
-
this.verifiedTcbs.delete(value);
|
|
61
|
-
logger.trace(value, `TCB id = ${value} removed from the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
62
|
-
}
|
|
63
|
-
logger.trace(tcb.tcbId, `TCB id = ${tcb.tcbId} added to the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
64
|
-
}
|
|
65
|
-
static async verifyTlb(tlb, tlbString, offerId, sgxApiUrl) {
|
|
66
|
-
const tlbHash = await Crypto.createHash(Buffer.from(tlbString), {
|
|
67
|
-
algo: HashAlgorithm.SHA256,
|
|
68
|
-
encoding: Encoding.base64,
|
|
69
|
-
});
|
|
70
|
-
if (this.verifiedTlbHashes.has(tlbHash.hash)) {
|
|
71
|
-
logger.trace(tlbHash, `TLB hash of offer ${this.verifiedTlbHashes.get(tlbHash.hash)} loaded from the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const quoteBuffer = Buffer.from(tlb.quote);
|
|
75
|
-
await this.checkQuote(quoteBuffer, tlb.dataBlob, sgxApiUrl);
|
|
76
|
-
this.verifiedTlbHashes.set(tlbHash.hash, offerId);
|
|
77
|
-
if (this.verifiedTlbHashes.size > config.TLB_CACHE_SIZE) {
|
|
78
|
-
const [key, value] = this.verifiedTlbHashes.entries().next().value;
|
|
79
|
-
this.verifiedTlbHashes.delete(key);
|
|
80
|
-
logger.trace(key, `TLB hash of offer ${value} removed from the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
81
|
-
}
|
|
82
|
-
logger.trace(tlbHash.hash, `TLB hash of offer ${offerId} added to the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
83
|
-
}
|
|
84
|
-
static async getVerifiedBlockEncryption(offerId, sgxApiUrl) {
|
|
85
|
-
const teeOffer = new TeeOffer(offerId);
|
|
86
|
-
const teeOfferInfo = await teeOffer.getInfo();
|
|
87
|
-
const tcbId = await teeOffer.getActualTcbId();
|
|
88
|
-
const verifyByTcb = Number.parseInt(tcbId) != 0;
|
|
89
|
-
let encryption;
|
|
90
|
-
if (verifyByTcb) {
|
|
91
|
-
const tcb = new TCB(await teeOffer.getActualTcbId());
|
|
92
|
-
const { pubKey, quote } = await tcb.getUtilityData();
|
|
93
|
-
await this.verifyTcb(tcb, quote, pubKey, sgxApiUrl);
|
|
94
|
-
// TODO: must be 'blockEncryption = JSON.parse(pubKey);'
|
|
95
|
-
encryption = {
|
|
96
|
-
algo: CryptoAlgorithm.ECIES,
|
|
97
|
-
key: pubKey,
|
|
98
|
-
encoding: Encoding.base64,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
const serializer = new TLBlockSerializerV1();
|
|
103
|
-
const tlb = serializer.unserializeTlb(Buffer.from(teeOfferInfo.tlb, 'base64'));
|
|
104
|
-
await this.verifyTlb(tlb, teeOfferInfo.tlb, offerId, sgxApiUrl);
|
|
105
|
-
encryption = {
|
|
106
|
-
algo: CryptoAlgorithm.ECIES,
|
|
107
|
-
key: tlb.data.teePubKeyData.toString('base64'),
|
|
108
|
-
encoding: Encoding.base64,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
return encryption;
|
|
112
|
-
}
|
|
113
|
-
static async encryptByTeeBlock(offerId, data, sgxApiUrl) {
|
|
114
|
-
const encryption = await this.getVerifiedBlockEncryption(offerId, sgxApiUrl);
|
|
115
|
-
const encryptedInfo = await Crypto.encrypt(data, encryption);
|
|
116
|
-
return encryptedInfo;
|
|
117
|
-
}
|
|
118
|
-
static async generateByOffer(offerId, solutionHashes, linkageString, resource, args, encryption, sgxApiUrl) {
|
|
9
|
+
class TIIGenerator extends TeeInputGeneratorBase {
|
|
10
|
+
static async generateByOffer({ offerId, solutionHashes, linkageString, resource, args, encryption, sgxApiUrl, }) {
|
|
119
11
|
const teeOffer = new TeeOffer(offerId);
|
|
120
12
|
const teeOfferInfo = await teeOffer.getInfo();
|
|
121
13
|
const linkage = linkageString
|
|
@@ -163,31 +55,16 @@ class TIIGenerator {
|
|
|
163
55
|
const parentOrderId = await order.getParentOrder();
|
|
164
56
|
const parentOrder = new Order(parentOrderId);
|
|
165
57
|
const parentOrderInfo = await parentOrder.getOrderInfo();
|
|
166
|
-
const {
|
|
167
|
-
return this.generateByOffer(
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
if (offerInfo.hash) {
|
|
177
|
-
solutionHashes.push(JSON.parse(offerInfo.hash));
|
|
178
|
-
}
|
|
179
|
-
const restrictions = _.intersection(offerInfo.restrictions.offers, inputOffers).filter((restrictedOfferId) => restrictedOfferId !== offer.id);
|
|
180
|
-
if (restrictions.length) {
|
|
181
|
-
solutionLinkage = offerInfo.linkage;
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
anyLinkage = offerInfo.linkage;
|
|
185
|
-
}
|
|
186
|
-
}));
|
|
187
|
-
return {
|
|
188
|
-
hashes: solutionHashes,
|
|
189
|
-
linkage: solutionLinkage || anyLinkage,
|
|
190
|
-
};
|
|
58
|
+
const { solutionHashes, linkage } = await this.getOffersHashesAndLinkage(parentOrderInfo.args.inputOffers);
|
|
59
|
+
return this.generateByOffer({
|
|
60
|
+
offerId: parentOrderInfo.offerId,
|
|
61
|
+
solutionHashes,
|
|
62
|
+
linkageString: linkage,
|
|
63
|
+
resource,
|
|
64
|
+
args,
|
|
65
|
+
encryption,
|
|
66
|
+
sgxApiUrl,
|
|
67
|
+
});
|
|
191
68
|
}
|
|
192
69
|
static async getTRI(tii, decryptionKey) {
|
|
193
70
|
const tiiObj = JSON.parse(tii);
|
|
@@ -238,4 +115,4 @@ class TIIGenerator {
|
|
|
238
115
|
}
|
|
239
116
|
}
|
|
240
117
|
export default TIIGenerator;
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEUsT0FBTyxFQUVMLGVBQWUsRUFDZixRQUFRLEVBSVIsYUFBYSxHQUtkLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFnQyxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRWpDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDO0FBRWxDLE1BQU0sWUFBWTtJQUNoQixNQUFNLENBQUMsaUJBQWlCLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDMUQsTUFBTSxDQUFDLFlBQVksR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUUzQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FDN0IsS0FBaUIs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
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFHakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFHTCxRQUFRLEdBU1QsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLHFCQUFxQixNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDO0FBRWxDLE1BQU0sWUFBYSxTQUFRLHFCQUFxQjtJQUN2QyxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUNsQyxPQUFPLEVBQ1AsY0FBYyxFQUNkLGFBQWEsRUFDYixRQUFRLEVBQ1IsSUFBSSxFQUNKLFVBQVUsRUFDVixTQUFTLEdBQ2E7UUFDdEIsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxZQUFZLEdBQWlCLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFZLGFBQWE7WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQzNCLENBQUMsQ0FBQztnQkFDRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU07Z0JBQ3pCLFNBQVMsRUFBRSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxFQUFFO2FBQ2IsQ0FBQztRQUVOLE1BQU0sZUFBZSxHQUFHLE1BQU0s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
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
imageHashes: Hash[];
|
|
7
|
+
dataHashes: Hash[];
|
|
8
|
+
linkage?: string;
|
|
9
|
+
}>;
|
|
10
|
+
static encryptByTeeBlock(offerId: string, data: string, sgxApiUrl: string): Promise<Encryption>;
|
|
11
|
+
protected static getVerifiedBlockEncryption(offerId: string, sgxApiUrl: string): Promise<Encryption>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { CryptoAlgorithm, Encoding } from '@super-protocol/dto-js';
|
|
2
|
+
import { TLBlockSerializerV1 } from '@super-protocol/tee-lib';
|
|
3
|
+
import { TeeOffer, TCB, Offer } from './models/index.js';
|
|
4
|
+
import { OfferType } from './types/index.js';
|
|
5
|
+
import Crypto from './crypto/index.js';
|
|
6
|
+
import { TeeBlockVerifier } from './tee/TeeBlockVerifier.js';
|
|
7
|
+
import { ZERO_HASH } from './constants.js';
|
|
8
|
+
export default class TeeInputGeneratorBase {
|
|
9
|
+
static async getOffersHashesAndLinkage(inputOffers) {
|
|
10
|
+
const solutionHashes = [];
|
|
11
|
+
const dataHashes = [];
|
|
12
|
+
const imageHashes = [];
|
|
13
|
+
let solutionLinkage;
|
|
14
|
+
let anyLinkage;
|
|
15
|
+
await Promise.all(inputOffers.map(async (offerId) => {
|
|
16
|
+
const offer = new Offer(offerId);
|
|
17
|
+
const offerInfo = await offer.getInfo();
|
|
18
|
+
if (offerInfo.offerType === OfferType.Solution) {
|
|
19
|
+
const isBaseImage = await offer.isBaseImage();
|
|
20
|
+
if (isBaseImage) {
|
|
21
|
+
anyLinkage = offerInfo.linkage;
|
|
22
|
+
imageHashes.push(offerInfo.hash ? JSON.parse(offerInfo.hash) : ZERO_HASH);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
solutionLinkage = offerInfo.linkage;
|
|
26
|
+
solutionHashes.push(offerInfo.hash ? JSON.parse(offerInfo.hash) : ZERO_HASH);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (offerInfo.offerType === OfferType.Data) {
|
|
30
|
+
dataHashes.push(offerInfo.hash ? JSON.parse(offerInfo.hash) : ZERO_HASH);
|
|
31
|
+
}
|
|
32
|
+
}));
|
|
33
|
+
return {
|
|
34
|
+
solutionHashes,
|
|
35
|
+
dataHashes,
|
|
36
|
+
imageHashes,
|
|
37
|
+
linkage: solutionLinkage || anyLinkage,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
static async encryptByTeeBlock(offerId, data, sgxApiUrl) {
|
|
41
|
+
const encryption = await this.getVerifiedBlockEncryption(offerId, sgxApiUrl);
|
|
42
|
+
const encryptedInfo = await Crypto.encrypt(data, encryption);
|
|
43
|
+
return encryptedInfo;
|
|
44
|
+
}
|
|
45
|
+
static async getVerifiedBlockEncryption(offerId, sgxApiUrl) {
|
|
46
|
+
const teeOffer = new TeeOffer(offerId);
|
|
47
|
+
const teeOfferInfo = await teeOffer.getInfo();
|
|
48
|
+
const tcbId = await teeOffer.getActualTcbId();
|
|
49
|
+
const verifyByTcb = Number.parseInt(tcbId) != 0;
|
|
50
|
+
let encryption;
|
|
51
|
+
if (verifyByTcb) {
|
|
52
|
+
const tcb = new TCB(await teeOffer.getActualTcbId());
|
|
53
|
+
const { pubKey, quote } = await tcb.getUtilityData();
|
|
54
|
+
await TeeBlockVerifier.verifyTcb(tcb, quote, pubKey, sgxApiUrl);
|
|
55
|
+
// TODO: must be 'blockEncryption = JSON.parse(pubKey);'
|
|
56
|
+
encryption = {
|
|
57
|
+
algo: CryptoAlgorithm.ECIES,
|
|
58
|
+
key: pubKey,
|
|
59
|
+
encoding: Encoding.base64,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const serializer = new TLBlockSerializerV1();
|
|
64
|
+
const tlb = serializer.unserializeTlb(Buffer.from(teeOfferInfo.tlb, 'base64'));
|
|
65
|
+
await TeeBlockVerifier.verifyTlb(tlb, teeOfferInfo.tlb, offerId, sgxApiUrl);
|
|
66
|
+
encryption = {
|
|
67
|
+
algo: CryptoAlgorithm.ECIES,
|
|
68
|
+
key: tlb.data.teePubKeyData.toString('base64'),
|
|
69
|
+
encoding: Encoding.base64,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return encryption;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlSW5wdXRHZW5lcmF0b3JCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RlZUlucHV0R2VuZXJhdG9yQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsZUFBZSxFQUFFLFFBQVEsRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBZ0MsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQTJCLFNBQVMsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRixPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxDQUFDLE9BQU8sT0FBTyxxQkFBcUI7SUFDakMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxXQUEyQjtRQU12RSxNQUFNLGNBQWMsR0FBVyxFQUFFLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQVcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sV0FBVyxHQUFXLEVBQUUsQ0FBQztRQUMvQixJQUFJLGVBQW1DLENBQUM7UUFDeEMsSUFBSSxVQUE4QixDQUFDO1FBRW5DLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQWlCLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQVUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsTUFBTSxTQUFTLEdBQWMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFbkQsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFR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
|
|
@@ -6,7 +6,7 @@ import { abi } from '../contracts/abi.js';
|
|
|
6
6
|
import store from '../store.js';
|
|
7
7
|
import Superpro from '../staticModels/Superpro.js';
|
|
8
8
|
import SuperproToken from '../staticModels/SuperproToken.js';
|
|
9
|
-
import
|
|
9
|
+
import * as uuid from 'uuid';
|
|
10
10
|
export default class BlockchainEventsListener extends BaseConnector {
|
|
11
11
|
// Singleton
|
|
12
12
|
static instance;
|
|
@@ -30,7 +30,7 @@ export default class BlockchainEventsListener extends BaseConnector {
|
|
|
30
30
|
}
|
|
31
31
|
const contract = this.getContract();
|
|
32
32
|
const subscription = contract.events[params.event]();
|
|
33
|
-
const key =
|
|
33
|
+
const key = uuid.v4();
|
|
34
34
|
this.logger.trace({
|
|
35
35
|
event: params.event,
|
|
36
36
|
key,
|
|
@@ -210,4 +210,4 @@ export default class BlockchainEventsListener extends BaseConnector {
|
|
|
210
210
|
super.shutdown();
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFDLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFDaEMsT0FBTyxRQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxhQUFhLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFjN0IsTUFBTSxDQUFDLE9BQU8sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBQ2pFLFlBQVk7SUFDSixNQUFNLENBQUMsUUFBUSxDQUEyQjtJQUMxQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFFckM7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNoQixJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsd0JBQXdCLENBQUMsUUFBUSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUNyRSxDQUFDO1FBRUQsT0FBTyx3QkFBd0IsQ0FBQyxRQUFRLENBQUM7SUFDM0MsQ0FBQztJQUVnQixhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7SUFFcEUsY0FBYyxDQUFDLE1BQTZEO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFB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
|
package/dist/mjs/constants.d.ts
CHANGED
|
@@ -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;
|
package/dist/mjs/constants.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Encoding, HashAlgorithm } from '@super-protocol/dto-js';
|
|
1
2
|
export const defaultBlockchainUrl = 'http://127.0.0.1:8545';
|
|
2
3
|
export const defaultGasLimit = BigInt(7000000);
|
|
3
4
|
export const defaultGasPrice = BigInt(3000000000);
|
|
@@ -14,4 +15,9 @@ export const BLOCKCHAIN_BATCH_REQUEST_TIMEOUT = 10000;
|
|
|
14
15
|
export const POLYGON_MAIN_CHAIN_ID = 137;
|
|
15
16
|
export const POLYGON_AMOY_CHAIN_ID = 80002;
|
|
16
17
|
export const AMOY_TX_COST_LIMIT = BigInt('5000000000000000000');
|
|
17
|
-
|
|
18
|
+
export const ZERO_HASH = {
|
|
19
|
+
hash: '0000000000000000000000000000000000000000000000000000000000000000',
|
|
20
|
+
algo: HashAlgorithm.SHA256,
|
|
21
|
+
encoding: Encoding.base64,
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDcEMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEVBQUUsQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsS0FBSyxDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFTO0lBQzdCLElBQUksRUFBRSxrRUFBa0U7SUFDeEUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxNQUFNO0lBQzFCLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTTtDQUMxQixDQUFDIn0=
|
package/dist/mjs/index.d.ts
CHANGED
|
@@ -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/mjs/index.js
CHANGED
|
@@ -4,6 +4,8 @@ export { default as BlockchainEventsListener } from './connectors/BlockchainEven
|
|
|
4
4
|
export { default as Crypto } from './crypto/index.js';
|
|
5
5
|
export { default as TIIGenerator } from './TIIGenerator.js';
|
|
6
6
|
export * from './TIIGenerator.js';
|
|
7
|
+
export { default as RIGenerator } from './RIGenerator.js';
|
|
8
|
+
export * from './TIIGenerator.js';
|
|
7
9
|
export { default as Consensus } from './staticModels/Consensus.js';
|
|
8
10
|
export * from './staticModels/Consensus.js';
|
|
9
11
|
export { default as Orders } from './staticModels/Orders.js';
|
|
@@ -62,15 +64,17 @@ export { default as StorageAdapter, CacheEvents, } from './providers/storage/Sto
|
|
|
62
64
|
export { default as StorageContentWriter, ContentWriterType, } from './providers/storage/StorageContentWriter.js';
|
|
63
65
|
export { default as getStorageProvider } from './providers/storage/getStorageProvider.js';
|
|
64
66
|
export * as helpers from './utils/helpers/index.js';
|
|
67
|
+
export * as constants from './constants.js';
|
|
65
68
|
export { Web3TransactionRevertedByEvmError } from './utils/TxManager.js';
|
|
66
69
|
import './polyfills.js';
|
|
67
70
|
export { TeeSgxParser } from './tee/QuoteParser.js';
|
|
68
71
|
export { QuoteValidator } from './tee/QuoteValidator.js';
|
|
69
72
|
export * from './tee/statuses.js';
|
|
73
|
+
export { TeeBlockVerifier } from './tee/TeeBlockVerifier.js';
|
|
70
74
|
export * from './analytics/types.js';
|
|
71
75
|
export { default as Analytics } from './analytics/Analytics.js';
|
|
72
76
|
export { default as NodeEventProvider } from './analytics/eventProviders/NodeEventProvider.js';
|
|
73
77
|
export { default as BrowserEventProvider } from './analytics/eventProviders/BrowserEventProvider.js';
|
|
74
78
|
export { default as AxiosTransport } from './analytics/transports/AxiosTransport.js';
|
|
75
79
|
export { default as FetchTransport } from './analytics/transports/FetchTransport.js';
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLGNBQWMscUNBQXFDLENBQUM7QUFJcEQsT0FBTyxFQUFFLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxPQUFPLElBQUksTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsY0FBYyw2QkFBNkIsQ0FBQztBQUU1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
|
|
@@ -15,6 +15,10 @@ declare class Offer {
|
|
|
15
15
|
* Function for fetching offer status from blockchain
|
|
16
16
|
*/
|
|
17
17
|
isEnabled(): Promise<boolean>;
|
|
18
|
+
/**
|
|
19
|
+
* Function for fetching offer status from blockchain
|
|
20
|
+
*/
|
|
21
|
+
isBaseImage(): Promise<boolean>;
|
|
18
22
|
/**
|
|
19
23
|
* Updates name in offer info
|
|
20
24
|
* @param name - new name
|
package/dist/mjs/models/Offer.js
CHANGED
|
@@ -43,6 +43,17 @@ class Offer {
|
|
|
43
43
|
isEnabled() {
|
|
44
44
|
return Offer.contract.methods.isOfferEnabled(this.id).call();
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Function for fetching offer status from blockchain
|
|
48
|
+
*/
|
|
49
|
+
async isBaseImage() {
|
|
50
|
+
const info = this.offerInfo ?? (await this.getInfo());
|
|
51
|
+
if (info.offerType !== OfferType.Solution || !Boolean(info.resultResource)) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
const isRestrictedBySolution = await this.isRestrictedByOfferType(OfferType.Solution);
|
|
55
|
+
return !isRestrictedBySolution;
|
|
56
|
+
}
|
|
46
57
|
/**
|
|
47
58
|
* Updates name in offer info
|
|
48
59
|
* @param name - new name
|
|
@@ -274,6 +285,12 @@ __decorate([
|
|
|
274
285
|
__metadata("design:paramtypes", []),
|
|
275
286
|
__metadata("design:returntype", Promise)
|
|
276
287
|
], Offer.prototype, "isEnabled", null);
|
|
288
|
+
__decorate([
|
|
289
|
+
incrementMethodCall(),
|
|
290
|
+
__metadata("design:type", Function),
|
|
291
|
+
__metadata("design:paramtypes", []),
|
|
292
|
+
__metadata("design:returntype", Promise)
|
|
293
|
+
], Offer.prototype, "isBaseImage", null);
|
|
277
294
|
__decorate([
|
|
278
295
|
incrementMethodCall(),
|
|
279
296
|
__metadata("design:type", Function),
|
|
@@ -353,4 +370,4 @@ __decorate([
|
|
|
353
370
|
__metadata("design:returntype", Promise)
|
|
354
371
|
], Offer.prototype, "isRestrictedByOfferType", null);
|
|
355
372
|
export default Offer;
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixHQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFNTCxTQUFTLEdBT1YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLFNBQVMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMs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
|
|
373
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixHQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFNTCxTQUFTLEdBT1YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLFNBQVMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMs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
|