@super-protocol/sdk-js 0.8.1-beta.2 → 0.8.1-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/build/BlockchainConnector.d.ts +1 -0
- package/build/BlockchainConnector.js +16 -0
- package/build/models/TCB.js +1 -1
- package/build/staticModels/Consensus.d.ts +6 -2
- package/build/staticModels/Consensus.js +65 -25
- package/build/staticModels/TeeOffersFactory.js +1 -1
- package/build/types/Consensus.d.ts +7 -0
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ declare class BlockchainConnector {
|
|
|
20
20
|
* Returns balance of blockchain platform tokens in wei
|
|
21
21
|
*/
|
|
22
22
|
static getBalance(address: string): Promise<string>;
|
|
23
|
+
static getTimestamp(): Promise<number | string>;
|
|
23
24
|
/**
|
|
24
25
|
* Returns transactions events info
|
|
25
26
|
* @param txHash - transaction hash
|
|
@@ -150,6 +150,22 @@ var BlockchainConnector = /** @class */ (function () {
|
|
|
150
150
|
});
|
|
151
151
|
});
|
|
152
152
|
};
|
|
153
|
+
BlockchainConnector.getTimestamp = function () {
|
|
154
|
+
var _a;
|
|
155
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
156
|
+
var block;
|
|
157
|
+
return __generator(this, function (_b) {
|
|
158
|
+
switch (_b.label) {
|
|
159
|
+
case 0:
|
|
160
|
+
(0, utils_1.checkIfInitialized)();
|
|
161
|
+
return [4 /*yield*/, ((_a = store_1.default.web3) === null || _a === void 0 ? void 0 : _a.eth.getBlock("latest"))];
|
|
162
|
+
case 1:
|
|
163
|
+
block = _b.sent();
|
|
164
|
+
return [2 /*return*/, block.timestamp];
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
};
|
|
153
169
|
/**
|
|
154
170
|
* Returns transactions events info
|
|
155
171
|
* @param txHash - transaction hash
|
package/build/models/TCB.js
CHANGED
|
@@ -83,7 +83,7 @@ var TCB = /** @class */ (function () {
|
|
|
83
83
|
switch (_a.label) {
|
|
84
84
|
case 0:
|
|
85
85
|
(0, utils_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
86
|
-
fromattedDeviceId = (0, utils_2.formatBytes32String)(Buffer.from(pb.deviceID
|
|
86
|
+
fromattedDeviceId = (0, utils_2.formatBytes32String)(Buffer.from(pb.deviceID).toString("base64"));
|
|
87
87
|
return [4 /*yield*/, TxManager_1.default.execute(this.contract.methods.setTcbData, [this.tcbId, pb.benchmark, pb.properties, fromattedDeviceId, quote], transactionOptions)];
|
|
88
88
|
case 1:
|
|
89
89
|
_a.sent();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CheckingTcbData } from "../types/Consensus";
|
|
1
|
+
import { CheckingTcbData, EpochInfo } from "../types/Consensus";
|
|
2
2
|
import { TransactionOptions } from "../types/Web3";
|
|
3
3
|
declare class Consensus {
|
|
4
4
|
static address: string;
|
|
@@ -8,7 +8,8 @@ declare class Consensus {
|
|
|
8
8
|
* Checks if contract has been initialized, if not - initialize contract
|
|
9
9
|
*/
|
|
10
10
|
private static checkInit;
|
|
11
|
-
private static
|
|
11
|
+
private static initializeTcbAndAssignBlocks;
|
|
12
|
+
static initializeTcb(teeOfferId: string, transactionOptions?: TransactionOptions): Promise<void>;
|
|
12
13
|
/**
|
|
13
14
|
* Function initialize TCB and returns list of anothers' TCB for their checking
|
|
14
15
|
* @param teeOfferId - id of TEE offer
|
|
@@ -25,8 +26,11 @@ declare class Consensus {
|
|
|
25
26
|
* */
|
|
26
27
|
static getInitializedTcbId(teeOfferId: string): Promise<string>;
|
|
27
28
|
static getEpochIndex(): Promise<number>;
|
|
29
|
+
static getEpoch(epochIndex: number): Promise<EpochInfo>;
|
|
28
30
|
static getActualTcbId(teeOfferId: string): Promise<string>;
|
|
29
31
|
static getSuspiciousBlockTable(): Promise<string[]>;
|
|
32
|
+
static getSuspiciousBlockTableSize(): Promise<string[]>;
|
|
30
33
|
static getLastBlockTable(): Promise<string[]>;
|
|
34
|
+
static getLastBlockTableSize(): Promise<string[]>;
|
|
31
35
|
}
|
|
32
36
|
export default Consensus;
|
|
@@ -64,42 +64,54 @@ var Consensus = /** @class */ (function () {
|
|
|
64
64
|
this.logger = logger_1.default.child({ className: "Consensus" });
|
|
65
65
|
return (this.contract = new store_1.default.web3.eth.Contract(app_json_1.default.abi, Superpro_1.default.address));
|
|
66
66
|
};
|
|
67
|
-
Consensus.
|
|
67
|
+
Consensus.initializeTcbAndAssignBlocks = function (teeOfferId, transactionOptions) {
|
|
68
68
|
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
-
var tcbId, tcb, timeInitialized,
|
|
70
|
-
return __generator(this, function (
|
|
71
|
-
switch (
|
|
69
|
+
var tcbId, tcb, timeInitialized, isFirstOffersTcb, isCreatedMoreThenOneDayAgo, _a;
|
|
70
|
+
return __generator(this, function (_b) {
|
|
71
|
+
switch (_b.label) {
|
|
72
72
|
case 0: return [4 /*yield*/, this.getInitializedTcbId(teeOfferId)];
|
|
73
73
|
case 1:
|
|
74
|
-
tcbId =
|
|
74
|
+
tcbId = _b.sent();
|
|
75
75
|
tcb = new TCB_1.default(tcbId);
|
|
76
76
|
return [4 /*yield*/, tcb.get()];
|
|
77
77
|
case 2:
|
|
78
|
-
timeInitialized = (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
_b = timeInitialized;
|
|
78
|
+
timeInitialized = +(_b.sent()).timeInitialized;
|
|
79
|
+
isFirstOffersTcb = timeInitialized == 0;
|
|
80
|
+
_a = timeInitialized + constants_1.ONE_DAY;
|
|
82
81
|
return [4 /*yield*/, (0, utils_1.getTimestamp)()];
|
|
83
82
|
case 3:
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
isCreatedMoreThenOneDayAgo = _a < +(_b.sent());
|
|
84
|
+
if (!(isFirstOffersTcb || isCreatedMoreThenOneDayAgo)) return [3 /*break*/, 8];
|
|
85
|
+
return [4 /*yield*/, this.initializeTcb(teeOfferId, transactionOptions)];
|
|
86
86
|
case 4:
|
|
87
|
-
|
|
88
|
-
return [4 /*yield*/, TxManager_1.default.execute(this.contract.methods.initializeTcb, [teeOfferId], transactionOptions)];
|
|
89
|
-
case 5:
|
|
90
|
-
_c.sent();
|
|
87
|
+
_b.sent();
|
|
91
88
|
return [4 /*yield*/, this.getInitializedTcbId(teeOfferId)];
|
|
92
|
-
case
|
|
93
|
-
tcbId =
|
|
89
|
+
case 5:
|
|
90
|
+
tcbId = _b.sent();
|
|
94
91
|
tcb = new TCB_1.default(tcbId);
|
|
95
92
|
return [4 /*yield*/, tcb.assignLastBlocksToCheck(transactionOptions)];
|
|
96
|
-
case
|
|
97
|
-
|
|
93
|
+
case 6:
|
|
94
|
+
_b.sent();
|
|
98
95
|
return [4 /*yield*/, tcb.assignSuspiciousBlocksToCheck(transactionOptions)];
|
|
99
|
-
case
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
case
|
|
96
|
+
case 7:
|
|
97
|
+
_b.sent();
|
|
98
|
+
_b.label = 8;
|
|
99
|
+
case 8: return [2 /*return*/, tcb];
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
Consensus.initializeTcb = function (teeOfferId, transactionOptions) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
106
|
+
return __generator(this, function (_a) {
|
|
107
|
+
switch (_a.label) {
|
|
108
|
+
case 0:
|
|
109
|
+
this.checkInit();
|
|
110
|
+
(0, utils_1.checkIfActionAccountInitialized)();
|
|
111
|
+
return [4 /*yield*/, TxManager_1.default.execute(this.contract.methods.initializeTcb, [teeOfferId], transactionOptions)];
|
|
112
|
+
case 1:
|
|
113
|
+
_a.sent();
|
|
114
|
+
return [2 /*return*/];
|
|
103
115
|
}
|
|
104
116
|
});
|
|
105
117
|
});
|
|
@@ -118,7 +130,7 @@ var Consensus = /** @class */ (function () {
|
|
|
118
130
|
case 0:
|
|
119
131
|
this.checkInit();
|
|
120
132
|
(0, utils_1.checkIfActionAccountInitialized)();
|
|
121
|
-
return [4 /*yield*/, this.
|
|
133
|
+
return [4 /*yield*/, this.initializeTcbAndAssignBlocks(teeOfferId, transactionOptions)];
|
|
122
134
|
case 1:
|
|
123
135
|
tcb = _a.sent();
|
|
124
136
|
return [4 /*yield*/, tcb.getCheckingBlocksMarks()];
|
|
@@ -134,7 +146,7 @@ var Consensus = /** @class */ (function () {
|
|
|
134
146
|
case 4:
|
|
135
147
|
tcbInfo = _a.sent();
|
|
136
148
|
checkingTcbData.push({
|
|
137
|
-
deviceID: tcbInfo.publicData.
|
|
149
|
+
deviceID: tcbInfo.publicData.deviceID,
|
|
138
150
|
properties: tcbInfo.publicData.properties,
|
|
139
151
|
benchmark: tcbInfo.publicData.benchmark,
|
|
140
152
|
tcbQuote: tcbInfo.quote,
|
|
@@ -176,6 +188,18 @@ var Consensus = /** @class */ (function () {
|
|
|
176
188
|
});
|
|
177
189
|
});
|
|
178
190
|
};
|
|
191
|
+
Consensus.getEpoch = function (epochIndex) {
|
|
192
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
193
|
+
return __generator(this, function (_a) {
|
|
194
|
+
switch (_a.label) {
|
|
195
|
+
case 0:
|
|
196
|
+
this.checkInit();
|
|
197
|
+
return [4 /*yield*/, this.contract.methods.getEpoch(epochIndex).call()];
|
|
198
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
};
|
|
179
203
|
Consensus.getActualTcbId = function (teeOfferId) {
|
|
180
204
|
return __awaiter(this, void 0, void 0, function () {
|
|
181
205
|
return __generator(this, function (_a) {
|
|
@@ -192,6 +216,14 @@ var Consensus = /** @class */ (function () {
|
|
|
192
216
|
});
|
|
193
217
|
});
|
|
194
218
|
};
|
|
219
|
+
Consensus.getSuspiciousBlockTableSize = function () {
|
|
220
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
221
|
+
return __generator(this, function (_a) {
|
|
222
|
+
this.checkInit();
|
|
223
|
+
return [2 /*return*/, this.contract.methods.getSuspiciousBlockTableSize().call()];
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
};
|
|
195
227
|
Consensus.getLastBlockTable = function () {
|
|
196
228
|
return __awaiter(this, void 0, void 0, function () {
|
|
197
229
|
return __generator(this, function (_a) {
|
|
@@ -200,6 +232,14 @@ var Consensus = /** @class */ (function () {
|
|
|
200
232
|
});
|
|
201
233
|
});
|
|
202
234
|
};
|
|
235
|
+
Consensus.getLastBlockTableSize = function () {
|
|
236
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
237
|
+
return __generator(this, function (_a) {
|
|
238
|
+
this.checkInit();
|
|
239
|
+
return [2 /*return*/, this.contract.methods.getLastBlockTableSize().call()];
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
};
|
|
203
243
|
return Consensus;
|
|
204
244
|
}());
|
|
205
245
|
exports.default = Consensus;
|
|
@@ -165,7 +165,7 @@ var TeeOffersFactory = /** @class */ (function () {
|
|
|
165
165
|
*/
|
|
166
166
|
TeeOffersFactory.getByDeviceId = function (deviceId) {
|
|
167
167
|
var contract = this.checkInit();
|
|
168
|
-
return contract.methods.getTeeOfferByDeviceId(deviceId);
|
|
168
|
+
return contract.methods.getTeeOfferByDeviceId(deviceId).call();
|
|
169
169
|
};
|
|
170
170
|
/**
|
|
171
171
|
* Function for adding event listeners on TEE offer created event in TEE offers factory contract
|
|
@@ -46,6 +46,13 @@ export declare type TcbEpochInfo = {
|
|
|
46
46
|
index: number;
|
|
47
47
|
valid: boolean;
|
|
48
48
|
};
|
|
49
|
+
export declare type EpochInfo = {
|
|
50
|
+
startDate: number;
|
|
51
|
+
endDate: number;
|
|
52
|
+
reward: number;
|
|
53
|
+
benchmark: number;
|
|
54
|
+
penaltyBenchmark: number;
|
|
55
|
+
};
|
|
49
56
|
export declare type CheckingTcbData = {
|
|
50
57
|
deviceID: string;
|
|
51
58
|
properties: string;
|