@super-protocol/sdk-js 2.1.9-beta.2 → 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.
- 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 +11 -0
- package/dist/cjs/TeeInputGeneratorBase.js +79 -0
- 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/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 +11 -0
- package/dist/mjs/TeeInputGeneratorBase.js +73 -0
- 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/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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLGNBQWMscUNBQXFDLENBQUM7QUFJcEQsT0FBTyxFQUFFLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxPQUFPLElBQUksTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxJQUFJLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxPQUFPLEVBQUUsT0FBTyxJQUFJLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLElBQUksS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxPQUFPLElBQUksUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELGNBQWMsc0JBQXNCLENBQUM7QUFFckMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxPQUFPLElBQUksR0FBRyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxPQUFPLEtBQUssc0JBQXNCLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQWUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRixPQUFPLEVBQ0wsT0FBTyxJQUFJLHFCQUFxQixHQUVqQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLElBQUksc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRyxPQUFPLEVBQ0wsT0FBTyxJQUFJLGNBQWMsRUFDekIsV0FBVyxHQUVaLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUNMLE9BQU8sSUFBSSxvQkFBb0IsRUFFL0IsaUJBQWlCLEdBQ2xCLE1BQU0sNkNBQTZDLENBQUM7QUFLckQsT0FBTyxFQUFFLE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRzFGLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxLQUFLLFNBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RSxPQUFPLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxPQUFPLElBQUksb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxJQUFJLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUMifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TLBlockUnserializeResultType } from '@super-protocol/tee-lib';
|
|
2
|
+
import { TCB } from '../models/index.js';
|
|
3
|
+
import { BlockchainId } from '../types/index.js';
|
|
4
|
+
export declare class TeeBlockVerifier {
|
|
5
|
+
static verifiedTlbHashes: Map<string, string>;
|
|
6
|
+
static verifiedTcbs: Set<BlockchainId>;
|
|
7
|
+
private static checkQuote;
|
|
8
|
+
static verifyTcb(tcb: TCB, quoteString: string, pubKey: string, sgxApiUrl: string): Promise<void>;
|
|
9
|
+
static verifyTlb(tlb: TLBlockUnserializeResultType, tlbString: string, offerId: string, sgxApiUrl: string): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { HashAlgorithm, Encoding } from '@super-protocol/dto-js';
|
|
2
|
+
import { TLBlockSerializerV1 } from '@super-protocol/tee-lib';
|
|
3
|
+
import logger from '../logger.js';
|
|
4
|
+
import { config } from '../config.js';
|
|
5
|
+
import { TeeSgxParser } from './QuoteParser.js';
|
|
6
|
+
import { QuoteValidator } from './QuoteValidator.js';
|
|
7
|
+
import { QuoteValidationStatuses } from './statuses.js';
|
|
8
|
+
import Crypto from '../crypto/index.js';
|
|
9
|
+
export class TeeBlockVerifier {
|
|
10
|
+
static verifiedTlbHashes = new Map();
|
|
11
|
+
static verifiedTcbs = new Set();
|
|
12
|
+
static async checkQuote(quote, dataBlob, sgxApiUrl) {
|
|
13
|
+
const quoteBuffer = Buffer.from(quote);
|
|
14
|
+
const validator = new QuoteValidator(sgxApiUrl);
|
|
15
|
+
const quoteStatus = await validator.validate(quoteBuffer);
|
|
16
|
+
if (quoteStatus.quoteValidationStatus !== QuoteValidationStatuses.UpToDate) {
|
|
17
|
+
if (quoteStatus.quoteValidationStatus === QuoteValidationStatuses.Error) {
|
|
18
|
+
throw new Error('Quote is invalid');
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
logger.warn(quoteStatus, 'Quote validation status is not UpToDate');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const userDataCheckResult = await validator.isQuoteHasUserData(quoteBuffer, Buffer.from(dataBlob));
|
|
25
|
+
if (!userDataCheckResult) {
|
|
26
|
+
throw new Error('Quote has invalid user data');
|
|
27
|
+
}
|
|
28
|
+
const parser = new TeeSgxParser();
|
|
29
|
+
const parsedQuote = parser.parseQuote(quote);
|
|
30
|
+
const report = parser.parseReport(parsedQuote.report);
|
|
31
|
+
if (report.mrSigner.toString('hex') !== config.TEE_LOADER_TRUSTED_MRSIGNER) {
|
|
32
|
+
throw new Error('Quote has invalid MR signer');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static async verifyTcb(tcb, quoteString, pubKey, sgxApiUrl) {
|
|
36
|
+
// check cache
|
|
37
|
+
if (this.verifiedTcbs.has(tcb.tcbId)) {
|
|
38
|
+
logger.trace(`Tcb id = ${tcb.tcbId}, already validated`);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const quote = Buffer.from(quoteString, 'base64');
|
|
42
|
+
const signedTcbData = {
|
|
43
|
+
checkingTcbId: tcb.tcbId.toString(),
|
|
44
|
+
pubKey,
|
|
45
|
+
...(await tcb.getPublicData()),
|
|
46
|
+
};
|
|
47
|
+
const serializer = new TLBlockSerializerV1();
|
|
48
|
+
const dataBlob = await serializer.serializeAnyData(signedTcbData);
|
|
49
|
+
await this.checkQuote(quote, dataBlob, sgxApiUrl);
|
|
50
|
+
// update cache
|
|
51
|
+
this.verifiedTcbs.add(tcb.tcbId);
|
|
52
|
+
if (this.verifiedTcbs.size > config.TLB_CACHE_SIZE) {
|
|
53
|
+
const [value] = this.verifiedTcbs.entries().next().value;
|
|
54
|
+
this.verifiedTcbs.delete(value);
|
|
55
|
+
logger.trace(value, `TCB id = ${value} removed from the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
56
|
+
}
|
|
57
|
+
logger.trace(tcb.tcbId, `TCB id = ${tcb.tcbId} added to the cache. Cache size: ${this.verifiedTcbs.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
58
|
+
}
|
|
59
|
+
static async verifyTlb(tlb, tlbString, offerId, sgxApiUrl) {
|
|
60
|
+
const tlbHash = await Crypto.createHash(Buffer.from(tlbString), {
|
|
61
|
+
algo: HashAlgorithm.SHA256,
|
|
62
|
+
encoding: Encoding.base64,
|
|
63
|
+
});
|
|
64
|
+
if (this.verifiedTlbHashes.has(tlbHash.hash)) {
|
|
65
|
+
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}`);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const quoteBuffer = Buffer.from(tlb.quote);
|
|
69
|
+
await this.checkQuote(quoteBuffer, tlb.dataBlob, sgxApiUrl);
|
|
70
|
+
this.verifiedTlbHashes.set(tlbHash.hash, offerId);
|
|
71
|
+
if (this.verifiedTlbHashes.size > config.TLB_CACHE_SIZE) {
|
|
72
|
+
const [key, value] = this.verifiedTlbHashes.entries().next().value;
|
|
73
|
+
this.verifiedTlbHashes.delete(key);
|
|
74
|
+
logger.trace(key, `TLB hash of offer ${value} removed from the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
75
|
+
}
|
|
76
|
+
logger.trace(tlbHash.hash, `TLB hash of offer ${offerId} added to the cache. Cache size: ${this.verifiedTlbHashes.size}, cache limit: ${config.TLB_CACHE_SIZE}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQmxvY2tWZXJpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZWUvVGVlQmxvY2tWZXJpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBZ0MsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RixPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxRCxNQUFNLENBQUMsWUFBWSxHQUFzQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUM3QixLQUFpQixFQUNqQixRQUFvQixFQUNwQixTQUFpQjtRQUVqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sV0FBVyxHQUFHLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxJQUFJLFdBQVcsQ0FBQyxxQkFBcUIsS0FBSyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzRSxJQUFJLFdBQVcsQ0FBQyxx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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TokenAmount, BlockchainId } from './Web3.js';
|
|
2
|
-
import { EncryptionKey } from '@super-protocol/dto-js';
|
|
2
|
+
import { EncryptionKey, Hash } from '@super-protocol/dto-js';
|
|
3
3
|
export declare enum OrderStatus {
|
|
4
4
|
New = "0",
|
|
5
5
|
Processing = "1",
|
|
@@ -20,12 +20,13 @@ export type OrderSlots = {
|
|
|
20
20
|
optionsIds: BlockchainId[];
|
|
21
21
|
optionsCount: number[];
|
|
22
22
|
};
|
|
23
|
+
export type OrderResultInfo = {
|
|
24
|
+
publicKey: string;
|
|
25
|
+
encryptedInfo: string;
|
|
26
|
+
};
|
|
23
27
|
export type OrderInfo = {
|
|
24
28
|
offerId: BlockchainId;
|
|
25
|
-
resultInfo:
|
|
26
|
-
publicKey: string;
|
|
27
|
-
encryptedInfo: string;
|
|
28
|
-
};
|
|
29
|
+
resultInfo: OrderResultInfo;
|
|
29
30
|
encryptedArgs: string;
|
|
30
31
|
status: OrderStatus;
|
|
31
32
|
externalId: string;
|
|
@@ -59,6 +60,7 @@ export type SubOrderParams = {
|
|
|
59
60
|
};
|
|
60
61
|
export type OrderEncryptedInfo = {
|
|
61
62
|
publicKey: EncryptionKey;
|
|
62
|
-
|
|
63
|
+
solutionHashes: Hash[];
|
|
64
|
+
dataHashes: Hash[];
|
|
63
65
|
linkage: string;
|
|
64
66
|
};
|
package/dist/mjs/types/Order.js
CHANGED
|
@@ -50,4 +50,4 @@ export const orderInfoFromRaw = (orderInfoBch, args) => {
|
|
|
50
50
|
args,
|
|
51
51
|
};
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJOUUsTUFBTSxDQUFOLElBQVksV0FTWDtBQVRELFdBQVksV0FBVztJQUNyQix3QkFBUyxDQUFBO0lBQ1QsK0JBQWdCLENBQUE7SUFDaEIsOEJBQWUsQ0FBQTtJQUNmLDZCQUFjLENBQUE7SUFDZCx5QkFBVSxDQUFBO0lBQ1YsMEJBQVcsQ0FBQTtJQUNYLDRCQUFhLENBQUE7SUFDYiw4QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFUVyxXQUFXLEtBQVgsV0FBVyxRQVN0QjtBQXlDRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFvQixFQUFnQixFQUFFO0lBQ25FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUztRQUN6QyxhQUFhLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhO1FBQ2pELGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtLQUN2QyxDQUFDLENBQUM7SUFDSCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLGdDQUFnQyxFQUFFLEVBQUU7UUFDcEMsd0JBQXdCLEVBQUUsRUFBRTtRQUM1QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsVUFBVSxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDckQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLElBQUksR0FBRztRQUM3QyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsZ0JBQWdCLElBQUksR0FBRztLQUNwRCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxZQUEwQixFQUFFLElBQWUsRUFBYSxFQUFFO0lBQ3pGLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNuQixJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxhQUFhLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDO0lBQzFELElBQUksQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQztRQUNoRCxhQUFhLEdBQUcsWUFBWSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUM7UUFDNUQsYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDO0lBQzlELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUVkLE9BQU87UUFDTCxVQUFVLEVBQUU7WUFDVixTQUFTO1lBQ1QsYUFBYTtTQUNkO1FBQ0QsYUFBYTtRQUNiLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTztRQUM3QixNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU07UUFDM0IsVUFBVSxFQUFFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDdkQsSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export * from './tryWithInterval.js';
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUMifQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-protocol/sdk-js",
|
|
3
|
-
"version": "2.1.9-beta.
|
|
3
|
+
"version": "2.1.9-beta.3",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/mjs/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -58,7 +58,7 @@
|
|
|
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.0.36
|
|
61
|
+
"@super-protocol/dto-js": "0.0.36",
|
|
62
62
|
"@super-protocol/tee-lib": "^0.1.2",
|
|
63
63
|
"@super-protocol/uplink-nodejs": "1.2.19",
|
|
64
64
|
"asn1js": "^3.0.5",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { EncryptionKey } from '@super-protocol/dto-js';
|
|
2
|
-
export declare function getDerivedPrivateKey(publicKeyEncryption: EncryptionKey): Promise<EncryptionKey>;
|
|
3
|
-
export declare function getEncryptionKeysForOrder(params: {
|
|
4
|
-
offerId: string;
|
|
5
|
-
encryptionPrivateKey: EncryptionKey;
|
|
6
|
-
pccsServiceApiUrl: string;
|
|
7
|
-
hashes?: string[];
|
|
8
|
-
linkage?: string;
|
|
9
|
-
}): Promise<{
|
|
10
|
-
publicKey: string;
|
|
11
|
-
encryptedInfo: string;
|
|
12
|
-
}>;
|
|
@@ -1,42 +0,0 @@
|
|
|
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
|
-
exports.getEncryptionKeysForOrder = exports.getDerivedPrivateKey = void 0;
|
|
7
|
-
const dto_js_1 = require("@super-protocol/dto-js");
|
|
8
|
-
const crypto_1 = require("crypto");
|
|
9
|
-
const TIIGenerator_js_1 = __importDefault(require("../../TIIGenerator.js"));
|
|
10
|
-
const index_js_1 = __importDefault(require("../../crypto/index.js"));
|
|
11
|
-
async function 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
|
-
exports.getDerivedPrivateKey = getDerivedPrivateKey;
|
|
20
|
-
async function getEncryptionKeysForOrder(params) {
|
|
21
|
-
const resultEncryption = index_js_1.default.getPublicKey(params.encryptionPrivateKey);
|
|
22
|
-
const derivedPrivateKey = await getDerivedPrivateKey(resultEncryption);
|
|
23
|
-
const ecdh = (0, crypto_1.createECDH)('secp256k1');
|
|
24
|
-
ecdh.setPrivateKey(Buffer.from(derivedPrivateKey.key, derivedPrivateKey.encoding));
|
|
25
|
-
const publicKey = {
|
|
26
|
-
key: ecdh.getPublicKey(derivedPrivateKey.encoding),
|
|
27
|
-
encoding: dto_js_1.Encoding.base64,
|
|
28
|
-
algo: dto_js_1.CryptoAlgorithm.ECIES,
|
|
29
|
-
};
|
|
30
|
-
const orderInfoToEncrypt = {
|
|
31
|
-
publicKey: resultEncryption,
|
|
32
|
-
hashes: params.hashes || [],
|
|
33
|
-
linkage: params.linkage || '',
|
|
34
|
-
};
|
|
35
|
-
const encryptedInfo = await TIIGenerator_js_1.default.encryptByTeeBlock(params.offerId, JSON.stringify(orderInfoToEncrypt), params.pccsServiceApiUrl);
|
|
36
|
-
return {
|
|
37
|
-
publicKey: JSON.stringify(publicKey),
|
|
38
|
-
encryptedInfo: JSON.stringify(encryptedInfo),
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
exports.getEncryptionKeysForOrder = getEncryptionKeysForOrder;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJIZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvb3JkZXJIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU1nQztBQUNoQyxtQ0FBb0M7QUFDcEMsNEVBQWlEO0FBQ2pELHFFQUEyQztBQUdwQyxLQUFLLFVBQVUsb0JBQW9CLENBQ3hDLG1CQUFrQztJQUVsQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sa0JBQU0sQ0FBQyxVQUFVLENBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBSSxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUNuRSxFQUFFLFFBQVEsRUFBRSxpQkFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsc0JBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FDMUQsQ0FBQztJQUVGLE9BQU87UUFDTCxHQUFHLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtRQUMzQixRQUFRLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtRQUNwQyxJQUFJLEVBQUUsd0JBQWUsQ0FBQyxLQUFLO0tBQzVCLENBQUM7QUFDSixDQUFDO0FBYkQsb0RBYUM7QUFFTSxLQUFLLFVBQVUseUJBQXlCLENBQUMsTUFNL0M7SUFDQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTFFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXZFLE1BQU0sSUFBSSxHQUFHLElBQUEsbUJBQVUsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBSSxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDcEYsTUFBTSxTQUFTLEdBQUc7UUFDaEIsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDO1FBQ2xELFFBQVEsRUFBRSxpQkFBUSxDQUFDLE1BQU07UUFDekIsSUFBSSxFQUFFLHdCQUFlLENBQUMsS0FBSztLQUNkLENBQUM7SUFFaEIsTUFBTSxrQkFBa0IsR0FBdUI7UUFDN0MsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFO1FBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7S0FDOUIsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLE1BQU0seUJBQVksQ0FBQyxpQkFBaUIsQ0FDeEQsTUFBTSxDQUFDLE9BQU8sRUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDekIsQ0FBQztJQUVGLE9BQU87UUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDcEMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0tBQzdDLENBQUM7QUFDSixDQUFDO0FBbkNELDhEQW1DQyJ9
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { EncryptionKey } from '@super-protocol/dto-js';
|
|
2
|
-
export declare function getDerivedPrivateKey(publicKeyEncryption: EncryptionKey): Promise<EncryptionKey>;
|
|
3
|
-
export declare function getEncryptionKeysForOrder(params: {
|
|
4
|
-
offerId: string;
|
|
5
|
-
encryptionPrivateKey: EncryptionKey;
|
|
6
|
-
pccsServiceApiUrl: string;
|
|
7
|
-
hashes?: string[];
|
|
8
|
-
linkage?: string;
|
|
9
|
-
}): Promise<{
|
|
10
|
-
publicKey: string;
|
|
11
|
-
encryptedInfo: string;
|
|
12
|
-
}>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { CryptoAlgorithm, Encoding, HashAlgorithm, } from '@super-protocol/dto-js';
|
|
2
|
-
import { createECDH } from 'crypto';
|
|
3
|
-
import TIIGenerator from '../../TIIGenerator.js';
|
|
4
|
-
import Crypto from '../../crypto/index.js';
|
|
5
|
-
export async function getDerivedPrivateKey(publicKeyEncryption) {
|
|
6
|
-
const derivedPrivateKey = await Crypto.createHash(Buffer.from(publicKeyEncryption.key, publicKeyEncryption.encoding), { encoding: Encoding.base64, algo: HashAlgorithm.SHA256 });
|
|
7
|
-
return {
|
|
8
|
-
key: derivedPrivateKey.hash,
|
|
9
|
-
encoding: derivedPrivateKey.encoding,
|
|
10
|
-
algo: CryptoAlgorithm.ECIES,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
export async function getEncryptionKeysForOrder(params) {
|
|
14
|
-
const resultEncryption = Crypto.getPublicKey(params.encryptionPrivateKey);
|
|
15
|
-
const derivedPrivateKey = await getDerivedPrivateKey(resultEncryption);
|
|
16
|
-
const ecdh = createECDH('secp256k1');
|
|
17
|
-
ecdh.setPrivateKey(Buffer.from(derivedPrivateKey.key, derivedPrivateKey.encoding));
|
|
18
|
-
const publicKey = {
|
|
19
|
-
key: ecdh.getPublicKey(derivedPrivateKey.encoding),
|
|
20
|
-
encoding: Encoding.base64,
|
|
21
|
-
algo: CryptoAlgorithm.ECIES,
|
|
22
|
-
};
|
|
23
|
-
const orderInfoToEncrypt = {
|
|
24
|
-
publicKey: resultEncryption,
|
|
25
|
-
hashes: params.hashes || [],
|
|
26
|
-
linkage: params.linkage || '',
|
|
27
|
-
};
|
|
28
|
-
const encryptedInfo = await TIIGenerator.encryptByTeeBlock(params.offerId, JSON.stringify(orderInfoToEncrypt), params.pccsServiceApiUrl);
|
|
29
|
-
return {
|
|
30
|
-
publicKey: JSON.stringify(publicKey),
|
|
31
|
-
encryptedInfo: JSON.stringify(encryptedInfo),
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJIZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvb3JkZXJIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUdSLGFBQWEsR0FDZCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxZQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sdUJBQXVCLENBQUM7QUFHM0MsTUFBTSxDQUFDLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsbUJBQWtDO0lBRWxDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUksRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFDbkUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUMxRCxDQUFDO0lBRUYsT0FBTztRQUNMLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1FBQzNCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO1FBQ3BDLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSztLQUM1QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUseUJBQXlCLENBQUMsTUFNL0M7SUFDQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFMUUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFdkUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFJLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNwRixNQUFNLFNBQVMsR0FBRztRQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7UUFDbEQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1FBQ3pCLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSztLQUNkLENBQUM7SUFFaEIsTUFBTSxrQkFBa0IsR0FBdUI7UUFDN0MsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFO1FBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7S0FDOUIsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLE1BQU0sWUFBWSxDQUFDLGlCQUFpQixDQUN4RCxNQUFNLENBQUMsT0FBTyxFQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFDbEMsTUFBTSxDQUFDLGlCQUFpQixDQUN6QixDQUFDO0lBRUYsT0FBTztRQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUNwQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7S0FDN0MsQ0FBQztBQUNKLENBQUMifQ==
|