@super-protocol/sdk-js 3.15.2 → 3.15.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/RIGenerator.js +2 -2
- package/dist/cjs/TIIGenerator.js +4 -4
- package/dist/cjs/TeeInputGeneratorBase.d.ts +2 -2
- package/dist/cjs/TeeInputGeneratorBase.js +5 -5
- package/dist/cjs/certificates/serializer.d.ts +5 -3
- package/dist/cjs/certificates/serializer.js +26 -11
- package/dist/cjs/certificates/types.d.ts +1 -1
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.js +3 -2
- package/dist/cjs/contracts/abi.d.ts +799 -708
- package/dist/cjs/contracts/abi.js +966 -854
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +3 -5
- package/dist/cjs/models/Provider.d.ts +0 -1
- package/dist/cjs/models/Provider.js +1 -7
- package/dist/cjs/models/TCB.d.ts +1 -28
- package/dist/cjs/models/TCB.js +1 -61
- package/dist/cjs/models/TeeOffer.d.ts +3 -18
- package/dist/cjs/models/TeeOffer.js +14 -100
- package/dist/cjs/staticModels/Consensus.d.ts +5 -16
- package/dist/cjs/staticModels/Consensus.js +16 -86
- package/dist/cjs/staticModels/TeeOffers.d.ts +0 -6
- package/dist/cjs/staticModels/TeeOffers.js +3 -14
- package/dist/cjs/tee/TeeBlockVerifier.d.ts +7 -2
- package/dist/cjs/tee/TeeBlockVerifier.js +6 -18
- package/dist/cjs/tee/statuses.d.ts +0 -7
- package/dist/cjs/tee/statuses.js +2 -10
- package/dist/cjs/types/Consensus.d.ts +5 -31
- package/dist/cjs/types/Consensus.js +2 -10
- package/dist/cjs/utils/helper.d.ts +4 -4
- package/dist/cjs/utils/helper.js +24 -34
- package/dist/mjs/RIGenerator.js +2 -2
- package/dist/mjs/TIIGenerator.js +4 -4
- package/dist/mjs/TeeInputGeneratorBase.d.ts +2 -2
- package/dist/mjs/TeeInputGeneratorBase.js +5 -5
- package/dist/mjs/certificates/serializer.d.ts +5 -3
- package/dist/mjs/certificates/serializer.js +26 -11
- package/dist/mjs/certificates/types.d.ts +1 -1
- package/dist/mjs/constants.d.ts +1 -0
- package/dist/mjs/constants.js +2 -1
- package/dist/mjs/contracts/abi.d.ts +799 -708
- package/dist/mjs/contracts/abi.js +964 -852
- package/dist/mjs/index.d.ts +0 -1
- package/dist/mjs/index.js +1 -2
- package/dist/mjs/models/Provider.d.ts +0 -1
- package/dist/mjs/models/Provider.js +1 -7
- package/dist/mjs/models/TCB.d.ts +1 -28
- package/dist/mjs/models/TCB.js +2 -62
- package/dist/mjs/models/TeeOffer.d.ts +3 -18
- package/dist/mjs/models/TeeOffer.js +9 -95
- package/dist/mjs/staticModels/Consensus.d.ts +5 -16
- package/dist/mjs/staticModels/Consensus.js +17 -87
- package/dist/mjs/staticModels/TeeOffers.d.ts +0 -6
- package/dist/mjs/staticModels/TeeOffers.js +4 -15
- package/dist/mjs/tee/TeeBlockVerifier.d.ts +7 -2
- package/dist/mjs/tee/TeeBlockVerifier.js +6 -18
- package/dist/mjs/tee/statuses.d.ts +0 -7
- package/dist/mjs/tee/statuses.js +1 -9
- package/dist/mjs/types/Consensus.d.ts +5 -31
- package/dist/mjs/types/Consensus.js +1 -9
- package/dist/mjs/utils/helper.d.ts +4 -4
- package/dist/mjs/utils/helper.js +21 -31
- package/package.json +2 -2
- package/dist/cjs/tee/QuoteValidator.d.ts +0 -46
- package/dist/cjs/tee/QuoteValidator.js +0 -456
- package/dist/cjs/tee/TcbSerializer.d.ts +0 -20
- package/dist/cjs/tee/TcbSerializer.js +0 -27
- package/dist/mjs/tee/QuoteValidator.d.ts +0 -46
- package/dist/mjs/tee/QuoteValidator.js +0 -449
- package/dist/mjs/tee/TcbSerializer.d.ts +0 -20
- package/dist/mjs/tee/TcbSerializer.js +0 -23
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConsensusBenchmark } from '@super-protocol/dto-js';
|
|
1
|
+
import { TransactionOptions, BlockInfo, BlockchainId, TokenAmount, TcbUtilityData } from '../types/index.js';
|
|
2
|
+
import { ConsensusBenchmark, TeeConfirmationBlock } from '@super-protocol/dto-js';
|
|
3
3
|
declare class Consensus {
|
|
4
4
|
private static readonly logger;
|
|
5
5
|
private static tcbIds?;
|
|
@@ -11,10 +11,7 @@ declare class Consensus {
|
|
|
11
11
|
*/
|
|
12
12
|
static getAllTcbs(): Promise<BlockchainId[]>;
|
|
13
13
|
static getTcbsCount(): Promise<number>;
|
|
14
|
-
static
|
|
15
|
-
static getTcbsPublicData(tcbIds: BlockchainId[], batchSize?: number): Promise<{
|
|
16
|
-
[tcbId: BlockchainId]: TcbPublicData;
|
|
17
|
-
}>;
|
|
14
|
+
static addTcb(tcb: TeeConfirmationBlock, transactionOptions?: TransactionOptions): Promise<void>;
|
|
18
15
|
static getTcbsEpochIndex(tcbIds: BlockchainId[], batchSize?: number): Promise<{
|
|
19
16
|
[tcbId: BlockchainId]: number;
|
|
20
17
|
}>;
|
|
@@ -25,20 +22,12 @@ declare class Consensus {
|
|
|
25
22
|
[tcbId: BlockchainId]: TcbUtilityData;
|
|
26
23
|
}>;
|
|
27
24
|
static unlockProfitByTcbList(tcbIds: BlockchainId[], transactionOptions?: TransactionOptions): Promise<void>;
|
|
28
|
-
static getSuspiciousBlockTableSize(): Promise<string>;
|
|
29
|
-
static getLastBlockTable(): Promise<BlockchainId[]>;
|
|
30
|
-
static getLastBlockTableSize(): Promise<string>;
|
|
31
|
-
static getConstants(): Promise<ConsensusConstants>;
|
|
32
25
|
static onTcbBanned(callback: onTcbBannedCallback): () => void;
|
|
33
|
-
static
|
|
34
|
-
static onTcbInitialized(callback: onTcbInitializedCallback): () => void;
|
|
35
|
-
static onTcbBenchmarkChanged(callback: onTcbBenchmarkChangedCallback): () => void;
|
|
26
|
+
static onTcbAdded(callback: onTcbAddedCallback): () => void;
|
|
36
27
|
static onTcbRewardUnlocked(callback: onTcbRewardUnlockedCallback): () => void;
|
|
37
28
|
}
|
|
38
29
|
export type onRewardsClaimedCallback = (tcbId: BlockchainId, amount: TokenAmount, claimer: string, block?: BlockInfo) => void;
|
|
39
30
|
export type onTcbRewardUnlockedCallback = (tcbId: BlockchainId, rewards: TokenAmount, block?: BlockInfo) => void;
|
|
40
|
-
export type
|
|
41
|
-
export type onTcbInitializedCallback = (tcbId: BlockchainId, action: string, block?: BlockInfo) => void;
|
|
42
|
-
export type onTcbCompletedCallback = (tcbId: BlockchainId, action: string, block?: BlockInfo) => void;
|
|
31
|
+
export type onTcbAddedCallback = (tcbId: BlockchainId, action: string, block?: BlockInfo) => void;
|
|
43
32
|
export type onTcbBannedCallback = (tcbId: BlockchainId, provider: string, block?: BlockInfo) => void;
|
|
44
33
|
export default Consensus;
|
|
@@ -44,26 +44,20 @@ class Consensus {
|
|
|
44
44
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
45
45
|
return Number(await contract.methods.getTcbsCount().call());
|
|
46
46
|
}
|
|
47
|
-
static
|
|
47
|
+
static async addTcb(tcb, transactionOptions) {
|
|
48
48
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
tcbsPublicData[tcbIndex].checkingTcbIds =
|
|
61
|
-
tcbsPublicData[tcbIndex].checkingTcbIds?.map((id) => id.toString()) || [];
|
|
62
|
-
tcbsPublicData[tcbIndex].checkingTcbMarks =
|
|
63
|
-
tcbsPublicData[tcbIndex].checkingTcbMarks?.map((mark) => Number(mark)) || [];
|
|
64
|
-
response[tcbIds[tcbIndex]] = tcbsPublicData[tcbIndex];
|
|
49
|
+
const logger = Consensus.logger.child({
|
|
50
|
+
publicKey: tcb.pubKey,
|
|
51
|
+
method: 'addTcb',
|
|
52
|
+
});
|
|
53
|
+
try {
|
|
54
|
+
logger.debug('add tcb');
|
|
55
|
+
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
56
|
+
await TxManager_js_1.default.execute(contract.methods.addTcb(tcb.certsChain, tcb.rootCertId, tcb.teeOfferId, (0, helper_js_1.formatBenchmarkTo)(tcb.benchmark), tcb.pubKey), transactionOptions);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
logger.error({ err }, 'Failed to add TCB to blockchain');
|
|
65
60
|
}
|
|
66
|
-
return response;
|
|
67
61
|
}
|
|
68
62
|
static async getTcbsEpochIndex(tcbIds, batchSize = EPOCH_INDEXES_REQUEST_BATCH_SIZE) {
|
|
69
63
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
@@ -128,32 +122,6 @@ class Consensus {
|
|
|
128
122
|
}
|
|
129
123
|
}
|
|
130
124
|
}
|
|
131
|
-
static getSuspiciousBlockTableSize() {
|
|
132
|
-
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
133
|
-
return contract.methods
|
|
134
|
-
.getSuspiciousBlockTableSize()
|
|
135
|
-
.call()
|
|
136
|
-
.then((size) => size.toString());
|
|
137
|
-
}
|
|
138
|
-
static getLastBlockTable() {
|
|
139
|
-
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
140
|
-
return contract.methods
|
|
141
|
-
.getLastBlockTable()
|
|
142
|
-
.call()
|
|
143
|
-
.then((ids) => ids.map((id) => id.toString()));
|
|
144
|
-
}
|
|
145
|
-
static getLastBlockTableSize() {
|
|
146
|
-
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
147
|
-
return contract.methods
|
|
148
|
-
.getLastBlockTableSize()
|
|
149
|
-
.call()
|
|
150
|
-
.then((size) => size.toString());
|
|
151
|
-
}
|
|
152
|
-
static async getConstants() {
|
|
153
|
-
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
154
|
-
const response = await contract.methods.getConsensusConstants().call();
|
|
155
|
-
return response;
|
|
156
|
-
}
|
|
157
125
|
static onTcbBanned(callback) {
|
|
158
126
|
const listener = index_js_1.BlockchainEventsListener.getInstance();
|
|
159
127
|
const logger = this.logger.child({ method: 'onTcbBanned' });
|
|
@@ -173,47 +141,9 @@ class Consensus {
|
|
|
173
141
|
event: 'TcbBanned',
|
|
174
142
|
});
|
|
175
143
|
}
|
|
176
|
-
static
|
|
177
|
-
const listener = index_js_1.BlockchainEventsListener.getInstance();
|
|
178
|
-
const logger = this.logger.child({ method: 'onTcbCompleted' });
|
|
179
|
-
const onData = (event) => {
|
|
180
|
-
const parsedEvent = (0, helper_js_1.cleanWeb3Data)(event.returnValues);
|
|
181
|
-
callback(parsedEvent.tcbId, parsedEvent.action, {
|
|
182
|
-
index: Number(event.blockNumber),
|
|
183
|
-
hash: event.blockHash,
|
|
184
|
-
});
|
|
185
|
-
};
|
|
186
|
-
const onError = (error) => {
|
|
187
|
-
logger.warn(error);
|
|
188
|
-
};
|
|
189
|
-
return listener.subscribeEvent({
|
|
190
|
-
onError,
|
|
191
|
-
onData,
|
|
192
|
-
event: 'TcbCompleted',
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
static onTcbInitialized(callback) {
|
|
196
|
-
const listener = index_js_1.BlockchainEventsListener.getInstance();
|
|
197
|
-
const logger = this.logger.child({ method: 'onTcbInitialized' });
|
|
198
|
-
const onData = (event) => {
|
|
199
|
-
const parsedEvent = (0, helper_js_1.cleanWeb3Data)(event.returnValues);
|
|
200
|
-
callback(parsedEvent.tcbId, parsedEvent.action, {
|
|
201
|
-
index: Number(event.blockNumber),
|
|
202
|
-
hash: event.blockHash,
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
|
-
const onError = (error) => {
|
|
206
|
-
logger.warn(error);
|
|
207
|
-
};
|
|
208
|
-
return listener.subscribeEvent({
|
|
209
|
-
onError,
|
|
210
|
-
onData,
|
|
211
|
-
event: 'TcbInitialized',
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
static onTcbBenchmarkChanged(callback) {
|
|
144
|
+
static onTcbAdded(callback) {
|
|
215
145
|
const listener = index_js_1.BlockchainEventsListener.getInstance();
|
|
216
|
-
const logger = this.logger.child({ method: '
|
|
146
|
+
const logger = this.logger.child({ method: 'onTcbAdded' });
|
|
217
147
|
const onData = (event) => {
|
|
218
148
|
const parsedEvent = (0, helper_js_1.cleanWeb3Data)(event.returnValues);
|
|
219
149
|
callback(parsedEvent.tcbId, parsedEvent.action, {
|
|
@@ -227,7 +157,7 @@ class Consensus {
|
|
|
227
157
|
return listener.subscribeEvent({
|
|
228
158
|
onError,
|
|
229
159
|
onData,
|
|
230
|
-
event: '
|
|
160
|
+
event: 'TcbAdded',
|
|
231
161
|
});
|
|
232
162
|
}
|
|
233
163
|
static onTcbRewardUnlocked(callback) {
|
|
@@ -251,4 +181,4 @@ class Consensus {
|
|
|
251
181
|
}
|
|
252
182
|
}
|
|
253
183
|
exports.default = Consensus;
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9Db25zZW5zdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsOERBQW1DO0FBQ25DLGdFQUFxQztBQVVyQyxrREFPNEI7QUFDNUIseUVBQThDO0FBQzlDLHFEQUF1RjtBQU92Riw4RUFBbUQ7QUFFbkQsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7QUFDNUUsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLENBQUM7QUFHOUMsTUFBTSxTQUFTO0lBQ0wsTUFBTSxDQUFVLE1BQU0sR0FBRyxtQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sQ0FBQyxNQUFNLENBQWtCO0lBRWhDLE1BQU0sS0FBSyxPQUFPO1FBQ3ZCLE9BQU8scUJBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM1QixNQUF5QixFQUN6QixHQUFhLEVBQ2IsU0FBaUIsRUFDakIsUUFBNEI7UUFFNUIsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLE9BQU8s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
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9Db25zZW5zdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsOERBQW1DO0FBQ25DLGdFQUFxQztBQVFyQyxrREFNNEI7QUFDNUIseUVBQThDO0FBQzlDLHFEQUF1RjtBQU92Riw4RUFBbUQ7QUFFbkQsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7QUFDNUUsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLENBQUM7QUFHOUMsTUFBTSxTQUFTO0lBQ0wsTUFBTSxDQUFVLE1BQU0sR0FBRyxtQkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sQ0FBQyxNQUFNLENBQWtCO0lBRWhDLE1BQU0sS0FBSyxPQUFPO1FBQ3ZCLE9BQU8scUJBQVEsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM1QixNQUF5QixFQUN6QixHQUFhLEVBQ2IsU0FBaUIsRUFDakIsUUFBNEI7UUFFNUIsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMvQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLE9BQU8s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
|
|
@@ -22,12 +22,6 @@ declare class TeeOffers {
|
|
|
22
22
|
externalId: string;
|
|
23
23
|
creator?: string;
|
|
24
24
|
}, fromBlock: number | string, toBlock?: number | string): Promise<OfferCreatedEvent | null>;
|
|
25
|
-
/**
|
|
26
|
-
* Function for fetching TEE offer id by TEE deviceId
|
|
27
|
-
* @param deviceId - unique TEE device id (unparsed, from blockchain)
|
|
28
|
-
* @returns TEE offer id
|
|
29
|
-
*/
|
|
30
|
-
static getByDeviceId(deviceId: string): Promise<BlockchainId>;
|
|
31
25
|
/**
|
|
32
26
|
* Function for fetching total count of tee offer slots
|
|
33
27
|
*/
|
|
@@ -56,9 +56,8 @@ class TeeOffers {
|
|
|
56
56
|
static async create(providerAuthorityAccount, teeOfferInfo, externalId = 'default', enabled = true, transactionOptions, offerActionAccount) {
|
|
57
57
|
const contract = index_js_2.BlockchainConnector.getInstance().getContract();
|
|
58
58
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
59
|
-
const { hardwareInfo, subType, ...offerInfo } = teeOfferInfo;
|
|
59
|
+
const { hardwareInfo: { optionInfo }, subType, ...offerInfo } = teeOfferInfo;
|
|
60
60
|
// Converts offer info to array of arrays (used in blockchain)
|
|
61
|
-
const packedHardwareInfo = await TeeOffers.packHardwareInfo(hardwareInfo);
|
|
62
61
|
const formattedExternalId = (0, utils_js_1.formatBytes32String)(externalId);
|
|
63
62
|
const offer = {
|
|
64
63
|
offerType: index_js_1.OfferType.TeeOffer,
|
|
@@ -68,7 +67,7 @@ class TeeOffers {
|
|
|
68
67
|
};
|
|
69
68
|
const newTeeOfferId = await StaticModel_js_1.default.createEntity({
|
|
70
69
|
txExecutorCallback: async () => {
|
|
71
|
-
await TxManager_js_1.default.execute(contract.methods.createTeeOffer(offer, { ...offerInfo, subtype: subType },
|
|
70
|
+
await TxManager_js_1.default.execute(contract.methods.createTeeOffer(offer, { ...offerInfo, subtype: subType }, (0, helper_js_1.convertOptionInfoToRaw)(optionInfo), formattedExternalId), transactionOptions);
|
|
72
71
|
},
|
|
73
72
|
filters: [{ externalId }],
|
|
74
73
|
eventName: 'TeeOfferCreated',
|
|
@@ -81,16 +80,6 @@ class TeeOffers {
|
|
|
81
80
|
return null;
|
|
82
81
|
return founded;
|
|
83
82
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Function for fetching TEE offer id by TEE deviceId
|
|
86
|
-
* @param deviceId - unique TEE device id (unparsed, from blockchain)
|
|
87
|
-
* @returns TEE offer id
|
|
88
|
-
*/
|
|
89
|
-
static getByDeviceId(deviceId) {
|
|
90
|
-
const contract = index_js_2.BlockchainConnector.getInstance().getContract();
|
|
91
|
-
const formattedDeviceId = (0, helper_js_1.packDeviceId)(deviceId);
|
|
92
|
-
return contract.methods.getTeeOfferByDeviceId(formattedDeviceId).call();
|
|
93
|
-
}
|
|
94
83
|
/**
|
|
95
84
|
* Function for fetching total count of tee offer slots
|
|
96
85
|
*/
|
|
@@ -341,4 +330,4 @@ class TeeOffers {
|
|
|
341
330
|
}
|
|
342
331
|
}
|
|
343
332
|
exports.default = TeeOffers;
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9UZWVPZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsa0RBUTRCO0FBQzVCLGtEQUF5RjtBQUN6RixnREFhMkI7QUFDM0IscURBQXVGO0FBQ3ZGLGdFQUFxQztBQUNyQyx5RUFBOEM7QUFFOUMsc0VBQTJDO0FBSzNDLHdFQUE2QztBQUM3QyxtQ0FBZ0M7QUFFaEMsTUFBTSxTQUFTO0lBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFVO0lBRWpDLE1BQU0sQ0FBVSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUU5RSxNQUFNLENBQUMsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFFdEMsTUFBTSxLQUFLLE9BQU87UUFDaEIsT0FBTyxxQkFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFnQjtRQUM1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyRCxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUM7UUFDcEMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDO1FBRXBDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBZ0I7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxRCxFQUFFLENBQUMsUUFBUSxHQUFHLElBQUEsMEJBQWMsRUFBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLENBQUM7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
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9UZWVPZmZlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2REFBc0M7QUFDdEMsa0RBTzRCO0FBQzVCLGtEQUF5RjtBQUN6RixnREFhMkI7QUFDM0IscURBQXVGO0FBQ3ZGLGdFQUFxQztBQUNyQyx5RUFBOEM7QUFFOUMsc0VBQTJDO0FBSzNDLHdFQUE2QztBQUM3QyxtQ0FBZ0M7QUFFaEMsTUFBTSxTQUFTO0lBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFVO0lBRWpDLE1BQU0sQ0FBVSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUU5RSxNQUFNLENBQUMsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFFdEMsTUFBTSxLQUFLLE9BQU87UUFDaEIsT0FBTyxxQkFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFnQjtRQUM1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyRCxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUM7UUFDcEMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDO1FBRXBDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBZ0I7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxRCxFQUFFLENBQUMsUUFBUSxHQUFHLElBQUEsMEJBQWMsRUFBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDNUQsT0FBTyxFQUFFLENBQUM7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
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { TCB } from '../models/index.js';
|
|
2
2
|
import { TcbUtilityData } from '../types/index.js';
|
|
3
|
+
import { ConsensusBenchmark } from '@super-protocol/dto-js';
|
|
4
|
+
export type TcbData = {
|
|
5
|
+
teeOfferId: string;
|
|
6
|
+
pubKey: string;
|
|
7
|
+
benchmark: ConsensusBenchmark;
|
|
8
|
+
};
|
|
3
9
|
export declare class TeeBlockVerifier {
|
|
4
10
|
private static readonly verifiedTcbs;
|
|
5
|
-
static verifyTcb(tcb: TCB, utilityData: TcbUtilityData
|
|
6
|
-
private static verifyWithQuote;
|
|
11
|
+
static verifyTcb(tcb: TCB, utilityData: TcbUtilityData): Promise<void>;
|
|
7
12
|
private static verifyWithCertificates;
|
|
8
13
|
}
|
|
@@ -4,11 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.TeeBlockVerifier = void 0;
|
|
7
|
-
const dto_js_1 = require("@super-protocol/dto-js");
|
|
8
7
|
const logger_js_1 = __importDefault(require("../logger.js"));
|
|
9
8
|
const config_js_1 = require("../config.js");
|
|
10
|
-
const QuoteValidator_js_1 = require("./QuoteValidator.js");
|
|
11
|
-
const TcbSerializer_js_1 = require("./TcbSerializer.js");
|
|
12
9
|
const Consensus_js_1 = __importDefault(require("../staticModels/Consensus.js"));
|
|
13
10
|
const index_js_1 = require("../certificates/index.js");
|
|
14
11
|
const TeeCertificateService_js_1 = require("./TeeCertificateService.js");
|
|
@@ -16,23 +13,20 @@ const index_js_2 = require("../utils/helpers/index.js");
|
|
|
16
13
|
const constants_js_1 = require("../constants.js");
|
|
17
14
|
class TeeBlockVerifier {
|
|
18
15
|
static verifiedTcbs = new Set();
|
|
19
|
-
static async verifyTcb(tcb, utilityData
|
|
16
|
+
static async verifyTcb(tcb, utilityData) {
|
|
20
17
|
// check cache
|
|
21
18
|
if (this.verifiedTcbs.has(tcb.tcbId)) {
|
|
22
19
|
logger_js_1.default.trace(`Tcb id = ${tcb.tcbId}, already validated`);
|
|
23
20
|
return;
|
|
24
21
|
}
|
|
25
22
|
const signedTcbData = {
|
|
26
|
-
|
|
23
|
+
teeOfferId: utilityData.teeOfferId.toString(),
|
|
27
24
|
pubKey: utilityData.pubKey,
|
|
28
|
-
...(await tcb.getPublicData()),
|
|
29
25
|
benchmark: (await Consensus_js_1.default.getBenchmarksByTcbIds([tcb.tcbId], [utilityData.teeOfferId]))[tcb.tcbId],
|
|
30
26
|
};
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
? await TeeBlockVerifier.verifyWithCertificates(utilityData.quote, signedTcbData)
|
|
35
|
-
: await TeeBlockVerifier.verifyWithQuote(utilityData.quote, signedTcbData, sgxApiUrl);
|
|
27
|
+
const { certsChain } = await tcb.get();
|
|
28
|
+
const certChainPem = certsChain.map(index_js_1.CertificateSerializer.deserializeFromBlockchain).join('\n');
|
|
29
|
+
await TeeBlockVerifier.verifyWithCertificates(certChainPem, signedTcbData);
|
|
36
30
|
// update cache
|
|
37
31
|
this.verifiedTcbs.add(tcb.tcbId);
|
|
38
32
|
if (this.verifiedTcbs.size > config_js_1.config.TLB_CACHE_SIZE) {
|
|
@@ -42,12 +36,6 @@ class TeeBlockVerifier {
|
|
|
42
36
|
}
|
|
43
37
|
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}`);
|
|
44
38
|
}
|
|
45
|
-
static async verifyWithQuote(quoteBase64, signedTcbData, sgxApiUrl) {
|
|
46
|
-
const quote = Buffer.from(quoteBase64, dto_js_1.Encoding.base64);
|
|
47
|
-
const validator = new QuoteValidator_js_1.QuoteValidator(sgxApiUrl);
|
|
48
|
-
await validator.checkQuote(quote, TcbSerializer_js_1.TcbDataSerializer.serialize(signedTcbData));
|
|
49
|
-
await validator.checkSignature(quote);
|
|
50
|
-
}
|
|
51
39
|
static async verifyWithCertificates(certs, signedTcbData) {
|
|
52
40
|
const certChain = index_js_1.CertificateSerializer.deserializeCertChain(certs);
|
|
53
41
|
await TeeCertificateService_js_1.TeeCertificateService.validateTeeCertChainOrFail(certChain);
|
|
@@ -63,4 +51,4 @@ class TeeBlockVerifier {
|
|
|
63
51
|
}
|
|
64
52
|
}
|
|
65
53
|
exports.TeeBlockVerifier = TeeBlockVerifier;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlQmxvY2tWZXJpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZWUvVGVlQmxvY2tWZXJpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2REFBa0M7QUFDbEMsNENBQXNDO0FBR3RDLGdGQUFxRDtBQUNyRCx1REFBcUY7QUFDckYseUVBQW1FO0FBQ25FLHdEQUFnRTtBQUNoRSxrREFBaUU7QUFTakUsTUFBYSxnQkFBZ0I7SUFDbkIsTUFBTSxDQUFVLFlBQVksR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVwRSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFRLEVBQUUsV0FBMkI7UUFDMUQsY0FBYztRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsbUJBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsS0FBSyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3pELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUc7WUFDcEIsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQzdDLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUUsQ0FBQyxNQUFNLHNCQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUN2RixHQUFHLENBQUMsS0FBSyxDQUNWO1NBQ0YsQ0FBQztRQUVGLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLGdDQUFxQixDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTNFLGVBQWU7UUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxrQkFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQXlCLENBQUM7WUFDN0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsbUJBQU0sQ0FBQyxLQUFLLENBQ1YsS0FBSyxFQUNMLFlBQVksS0FBSyx3Q0FBd0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLGtCQUFrQixrQkFBTSxDQUFDLGNBQWMsRUFBRSxDQUN6SCxDQUFDO1FBQ0osQ0FBQztRQUNELG1CQUFNLENBQUMsS0FBSyxDQUNWLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsWUFBWSxHQUFHLENBQUMsS0FBSyxvQ0FBb0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLGtCQUFrQixrQkFBTSxDQUFDLGNBQWMsRUFBRSxDQUN6SCxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQ3pDLEtBQWEsRUFDYixhQUFzQjtRQUV0QixNQUFNLFNBQVMsR0FBRyxnQ0FBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxNQUFNLGdEQUFxQixDQUFDLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sb0JBQW9CLEdBQUcsNkJBQWtCLENBQUMsaUJBQWlCLENBQy9ELFNBQVMsRUFDVCw2Q0FBOEIsQ0FDL0IsQ0FBQztRQUNGLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFtQixFQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVELE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0YsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7SUFDSCxDQUFDOztBQTFESCw0Q0EyREMifQ==
|
|
@@ -12,10 +12,3 @@ export declare enum TCBStatuses {
|
|
|
12
12
|
SWHardeningNeeded = "SWHardeningNeeded",
|
|
13
13
|
OutOfDateConfigurationNeeded = "OutOfDateConfigurationNeeded"
|
|
14
14
|
}
|
|
15
|
-
export declare enum QuoteValidationStatuses {
|
|
16
|
-
UpToDate = "UpToDate",
|
|
17
|
-
ConfigurationNeeded = "ConfigurationNeeded",
|
|
18
|
-
SecurityPatchNeeded = "SecurityPatchNeeded",
|
|
19
|
-
SoftwareUpdateNeeded = "SoftwareUpdateNeeded",
|
|
20
|
-
Error = "Error"
|
|
21
|
-
}
|
package/dist/cjs/tee/statuses.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TCBStatuses = exports.QEIdentityStatuses = void 0;
|
|
4
4
|
var QEIdentityStatuses;
|
|
5
5
|
(function (QEIdentityStatuses) {
|
|
6
6
|
QEIdentityStatuses["UpToDate"] = "UpToDate";
|
|
@@ -17,12 +17,4 @@ var TCBStatuses;
|
|
|
17
17
|
TCBStatuses["SWHardeningNeeded"] = "SWHardeningNeeded";
|
|
18
18
|
TCBStatuses["OutOfDateConfigurationNeeded"] = "OutOfDateConfigurationNeeded";
|
|
19
19
|
})(TCBStatuses || (exports.TCBStatuses = TCBStatuses = {}));
|
|
20
|
-
|
|
21
|
-
(function (QuoteValidationStatuses) {
|
|
22
|
-
QuoteValidationStatuses["UpToDate"] = "UpToDate";
|
|
23
|
-
QuoteValidationStatuses["ConfigurationNeeded"] = "ConfigurationNeeded";
|
|
24
|
-
QuoteValidationStatuses["SecurityPatchNeeded"] = "SecurityPatchNeeded";
|
|
25
|
-
QuoteValidationStatuses["SoftwareUpdateNeeded"] = "SoftwareUpdateNeeded";
|
|
26
|
-
QuoteValidationStatuses["Error"] = "Error";
|
|
27
|
-
})(QuoteValidationStatuses || (exports.QuoteValidationStatuses = QuoteValidationStatuses = {}));
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL3N0YXR1c2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFJN0I7QUFFRCxJQUFZLFdBUVg7QUFSRCxXQUFZLFdBQVc7SUFDckIsb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsa0NBQW1CLENBQUE7SUFDbkIsMERBQTJDLENBQUE7SUFDM0Msc0ZBQXVFLENBQUE7SUFDdkUsc0RBQXVDLENBQUE7SUFDdkMsNEVBQTZELENBQUE7QUFDL0QsQ0FBQyxFQVJXLFdBQVcsMkJBQVgsV0FBVyxRQVF0QjtBQUVELElBQVksdUJBTVg7QUFORCxXQUFZLHVCQUF1QjtJQUNqQyxnREFBcUIsQ0FBQTtJQUNyQixzRUFBMkMsQ0FBQTtJQUMzQyxzRUFBMkMsQ0FBQTtJQUMzQyx3RUFBNkMsQ0FBQTtJQUM3QywwQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQU1sQyJ9
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL3N0YXR1c2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQiw2Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFJN0I7QUFFRCxJQUFZLFdBUVg7QUFSRCxXQUFZLFdBQVc7SUFDckIsb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsa0NBQW1CLENBQUE7SUFDbkIsMERBQTJDLENBQUE7SUFDM0Msc0ZBQXVFLENBQUE7SUFDdkUsc0RBQXVDLENBQUE7SUFDdkMsNEVBQTZELENBQUE7QUFDL0QsQ0FBQyxFQVJXLFdBQVcsMkJBQVgsV0FBVyxRQVF0QiJ9
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
+
import { ChunkedX509Cert, CpuInfo } from '@super-protocol/dto-js';
|
|
1
2
|
import { BlockchainId, TokenAmount } from './Web3.js';
|
|
2
|
-
import { TcbVerifiedStatus } from '@super-protocol/dto-js';
|
|
3
3
|
export type ConsensusBenchmarkStorage = {
|
|
4
4
|
cpuSize: number;
|
|
5
5
|
ramSize: number;
|
|
6
6
|
gpuSize: number;
|
|
7
7
|
diskSize: number;
|
|
8
8
|
networkSize: number;
|
|
9
|
+
vramSize: number;
|
|
9
10
|
cpuMark: number;
|
|
10
11
|
ramMark: number;
|
|
11
12
|
gpuMark: number;
|
|
12
13
|
diskMark: number;
|
|
13
14
|
networkMark: number;
|
|
15
|
+
cpuInfo: CpuInfo;
|
|
14
16
|
};
|
|
15
17
|
export type ConsensusBenchmarkPriceMultipliers = {
|
|
16
18
|
cpuMultiplier: number;
|
|
@@ -19,29 +21,17 @@ export type ConsensusBenchmarkPriceMultipliers = {
|
|
|
19
21
|
diskMultiplier: number;
|
|
20
22
|
networkMultiplier: number;
|
|
21
23
|
};
|
|
22
|
-
export type TcbPublicData = {
|
|
23
|
-
checkingTcbIds: BlockchainId[];
|
|
24
|
-
checkingTcbMarks: TcbVerifiedStatus[];
|
|
25
|
-
deviceId: string;
|
|
26
|
-
properties: string;
|
|
27
|
-
};
|
|
28
24
|
export type TcbUtilityData = {
|
|
29
25
|
teeOfferId: BlockchainId;
|
|
30
26
|
pubKey: string;
|
|
31
|
-
quote: string;
|
|
32
27
|
};
|
|
33
28
|
export type TcbData = {
|
|
34
29
|
status: TcbStatus;
|
|
35
30
|
previousTcb: BlockchainId;
|
|
36
31
|
timeAdded: number;
|
|
37
|
-
lastBlocksTakenAmount: number;
|
|
38
|
-
suspiciousBlocksTakenAmount: number;
|
|
39
|
-
negative: number;
|
|
40
|
-
positive: number;
|
|
41
|
-
lastBlocksTaken: boolean;
|
|
42
|
-
suspiciousBlocksTaken: boolean;
|
|
43
|
-
checked: boolean;
|
|
44
32
|
epochIndex: number;
|
|
33
|
+
certsChain: ChunkedX509Cert[];
|
|
34
|
+
rootCertId: BlockchainId;
|
|
45
35
|
};
|
|
46
36
|
export declare enum TcbStatus {
|
|
47
37
|
Inited = "0",
|
|
@@ -55,19 +45,3 @@ export type EpochInfo = {
|
|
|
55
45
|
priceMultipliers: ConsensusBenchmarkPriceMultipliers;
|
|
56
46
|
penaltyPriceMultipliers: ConsensusBenchmarkPriceMultipliers;
|
|
57
47
|
};
|
|
58
|
-
export type ConsensusConstants = {
|
|
59
|
-
CONSENSUS_L1: number;
|
|
60
|
-
CONSENSUS_L2: number;
|
|
61
|
-
CONSENSUS_K: number;
|
|
62
|
-
CONSENSUS_MAX_PENALTIES: number;
|
|
63
|
-
MAX_BENCHMARK_OVERRUN_PERCENT: number;
|
|
64
|
-
CONSENSUS_EPOCH_DURATION: number;
|
|
65
|
-
};
|
|
66
|
-
export declare const ConsensusConstantsStructure: {
|
|
67
|
-
CONSENSUS_L1: NumberConstructor;
|
|
68
|
-
CONSENSUS_L2: NumberConstructor;
|
|
69
|
-
CONSENSUS_K: NumberConstructor;
|
|
70
|
-
CONSENSUS_MAX_PENALTIES: NumberConstructor;
|
|
71
|
-
MAX_BENCHMARK_OVERRUN_PERCENT: NumberConstructor;
|
|
72
|
-
CONSENSUS_EPOCH_DURATION: NumberConstructor;
|
|
73
|
-
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TcbStatus = void 0;
|
|
4
4
|
var TcbStatus;
|
|
5
5
|
(function (TcbStatus) {
|
|
6
6
|
TcbStatus["Inited"] = "0";
|
|
@@ -8,12 +8,4 @@ var TcbStatus;
|
|
|
8
8
|
TcbStatus["Banned"] = "2";
|
|
9
9
|
TcbStatus["BenchmarkChanged"] = "3";
|
|
10
10
|
})(TcbStatus || (exports.TcbStatus = TcbStatus = {}));
|
|
11
|
-
|
|
12
|
-
CONSENSUS_L1: Number,
|
|
13
|
-
CONSENSUS_L2: Number,
|
|
14
|
-
CONSENSUS_K: Number,
|
|
15
|
-
CONSENSUS_MAX_PENALTIES: Number,
|
|
16
|
-
MAX_BENCHMARK_OVERRUN_PERCENT: Number,
|
|
17
|
-
CONSENSUS_EPOCH_DURATION: Number,
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL0NvbnNlbnN1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvREEsSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLHlCQUFZLENBQUE7SUFDWiw0QkFBZSxDQUFBO0lBQ2YseUJBQVksQ0FBQTtJQUNaLG1DQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFMVyxTQUFTLHlCQUFULFNBQVMsUUFLcEI7QUFrQlksUUFBQSwyQkFBMkIsR0FBRztJQUN6QyxZQUFZLEVBQUUsTUFBTTtJQUNwQixZQUFZLEVBQUUsTUFBTTtJQUNwQixXQUFXLEVBQUUsTUFBTTtJQUNuQix1QkFBdUIsRUFBRSxNQUFNO0lBQy9CLDZCQUE2QixFQUFFLE1BQU07SUFDckMsd0JBQXdCLEVBQUUsTUFBTTtDQUNqQyxDQUFDIn0=
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL0NvbnNlbnN1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5Q0EsSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLHlCQUFZLENBQUE7SUFDWiw0QkFBZSxDQUFBO0lBQ2YseUJBQVksQ0FBQTtJQUNaLG1DQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFMVyxTQUFTLHlCQUFULFNBQVMsUUFLcEIifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TransactionOptions } from '../types/Web3.js';
|
|
2
2
|
import Web3, { JsonRpcOptionalRequest } from 'web3';
|
|
3
3
|
import { SlotInfo } from '../types/SlotInfo.js';
|
|
4
|
-
import { ConsensusBenchmarkStorage, LoaderSecretAccessPublicKey, LoaderSession, OfferResource, OfferStorageAllocated, OfferStorageRequest, OptionInfo, OptionInfoRaw, OrderUsage, OrderUsageRaw, SecretRequest, SlotUsage,
|
|
4
|
+
import { ConsensusBenchmarkStorage, LoaderSecretAccessPublicKey, LoaderSession, OfferResource, OfferStorageAllocated, OfferStorageRequest, OptionInfo, OptionInfoRaw, OrderUsage, OrderUsageRaw, SecretRequest, SlotUsage, TeeOfferOption, TeeOfferOptionRaw, TeeOfferSlot, ValueOfferSlot, ValueOfferSlotRaw, ConsensusBenchmarkPriceMultipliers, OfferVersion, OfferVersionInfo, OfferVersionInfoRaw, OfferVersionRaw, TeeOfferInfo, TeeOfferInfoRaw, HardwareInfoRaw, HardwareInfo, OfferInfoRaw, OfferInfo, ValueOfferRestrictionsSpecification, OfferType, OfferGroup, Origins } from '../types/index.js';
|
|
5
5
|
import { BenchmarkInfo, ConsensusBenchmark } from '@super-protocol/dto-js';
|
|
6
6
|
import { BatchResponse, BatchResponseSuccess, ExecuteBatchOptions } from './types.js';
|
|
7
7
|
/**
|
|
@@ -27,8 +27,6 @@ export declare const getGasLimitForNetwork: () => bigint;
|
|
|
27
27
|
export declare const createTransactionOptions: (externalTransactionSigner: boolean, options?: TransactionOptions) => Promise<TransactionOptions>;
|
|
28
28
|
export declare const isNodeJS: () => boolean;
|
|
29
29
|
export declare function incrementMethodCall(): (_target: unknown, propertyName: string, propertyDescriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
30
|
-
export declare function packDeviceId(hexedDeviceId: string): string;
|
|
31
|
-
export declare function unpackDeviceId(bytes32: string): string;
|
|
32
30
|
export declare function convertBigIntToString(obj: any): any;
|
|
33
31
|
export declare function convertTeeOfferOptionFromRaw(option: TeeOfferOptionRaw): TeeOfferOption;
|
|
34
32
|
export declare function convertLoaderSecretAccessPublicKeyFromRaw(loaderSecretAccessPublicKeyRaw: LoaderSecretAccessPublicKey): LoaderSecretAccessPublicKey;
|
|
@@ -52,7 +50,6 @@ export declare function convertValueOfferInfo(params: {
|
|
|
52
50
|
offerGroup: OfferGroup;
|
|
53
51
|
restrictions: ValueOfferRestrictionsSpecification;
|
|
54
52
|
}): OfferInfo;
|
|
55
|
-
export declare function formatTcbPublicData(unparsedPublicData: any[]): TcbPublicData[];
|
|
56
53
|
export declare function formatEpochIndexes(epochIndexes: string[]): number[];
|
|
57
54
|
export declare function formatTeeOfferSlot(slot: TeeOfferSlot, coresDenominator: number): TeeOfferSlot;
|
|
58
55
|
export declare function formatOfferSlot(slot: ValueOfferSlotRaw, coresDenominator: number): ValueOfferSlot;
|
|
@@ -76,3 +73,6 @@ export declare function executeBatchAsync<T>(requests: JsonRpcOptionalRequest[],
|
|
|
76
73
|
export declare function executeBatchAsync<T>(requests: JsonRpcOptionalRequest[], options?: ExecuteBatchOptions): Promise<BatchResponse<T>[]>;
|
|
77
74
|
export declare const preparePrivateKey: (pk: string) => string;
|
|
78
75
|
export declare const isIpAddress: (host: string) => boolean;
|
|
76
|
+
export declare const fromBlockchainHexOptional: (hex?: string) => Uint8Array | undefined;
|
|
77
|
+
export declare const fromBlockchainHex: (hex: string) => Uint8Array;
|
|
78
|
+
export declare const toBlockchainHex: (u?: Uint8Array) => string;
|