@super-protocol/sdk-js 2.0.2-beta.0 → 2.0.2-beta.2

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.
@@ -1,4 +1,4 @@
1
- import { BlockchainId, TcbData, TcbPublicData, TransactionOptions } from '../types';
1
+ import { BlockchainId, TcbData, TcbPublicData, TcbVerifiedStatus, TransactionOptions } from '../types';
2
2
  declare class TCB {
3
3
  tcbId: BlockchainId;
4
4
  private static contract;
@@ -12,8 +12,7 @@ declare class TCB {
12
12
  * @param marks - list of marks
13
13
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
14
14
  */
15
- private addToSupply;
16
- apply(publicData: TcbPublicData, quote: string, publicKey: string, transactionOptions?: TransactionOptions): Promise<string[]>;
15
+ addToSupply(pb: TcbPublicData, quote: string, marks: TcbVerifiedStatus[], transactionOptions?: TransactionOptions): Promise<void>;
17
16
  /**
18
17
  * Assign TCB from SuspiciousBlocks table to check
19
18
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
@@ -42,9 +41,12 @@ declare class TCB {
42
41
  */
43
42
  get(): Promise<TcbData>;
44
43
  /**
45
- * Function for fetching Public Data from TCB
44
+ * Function for fetching the given marks for recruited TCBs from the Tables of Consensus
46
45
  */
47
- getPublicData(): Promise<TcbPublicData>;
46
+ getCheckingBlocksMarks(): Promise<{
47
+ blocksIds: BlockchainId[];
48
+ marks: TcbVerifiedStatus[];
49
+ }>;
48
50
  /**
49
51
  * Function for fetching TCB avaliable reward
50
52
  */
@@ -23,12 +23,16 @@ class TCB {
23
23
  }
24
24
  }
25
25
  applyTcbMarks(marks, transactionOptions) {
26
- return TxManager_1.default.execute(TCB.contract.methods.applyTcbMarks(marks, this.tcbId), transactionOptions);
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ yield TxManager_1.default.execute(TCB.contract.methods.applyTcbMarks(marks, this.tcbId), transactionOptions);
28
+ });
27
29
  }
28
- setTcbData(publicData, quote, publicKey, transactionOptions) {
29
- (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
30
- const fromattedDeviceId = (0, helper_1.packDeviceId)(publicData.deviceId);
31
- return TxManager_1.default.execute(TCB.contract.methods.setTcbData(this.tcbId, publicData.benchmark, publicData.properties, fromattedDeviceId, quote, publicKey), transactionOptions);
30
+ setTcbData(pb, quote, transactionOptions) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
33
+ const fromattedDeviceId = (0, helper_1.packDeviceId)(pb.deviceID);
34
+ yield TxManager_1.default.execute(TCB.contract.methods.setTcbData(this.tcbId, pb.benchmark, pb.properties, fromattedDeviceId, quote), transactionOptions);
35
+ });
32
36
  }
33
37
  /**
34
38
  * Add data to TeeConfirmationBlock and push it to Consensus
@@ -37,15 +41,12 @@ class TCB {
37
41
  * @param marks - list of marks
38
42
  * @param transactionOptions - object what contains alternative action account or gas limit (optional)
39
43
  */
40
- addToSupply(transactionOptions) {
41
- (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
42
- return TxManager_1.default.execute(TCB.contract.methods.addTcbToSupply(this.tcbId), transactionOptions);
43
- }
44
- apply(publicData, quote, publicKey, transactionOptions) {
44
+ addToSupply(pb, quote, marks, transactionOptions) {
45
45
  return __awaiter(this, void 0, void 0, function* () {
46
- const promises = [];
47
- promises.push(this.applyTcbMarks(publicData.checkingTcbMarks, transactionOptions), this.setTcbData(publicData, quote, publicKey, transactionOptions), this.addToSupply(transactionOptions));
48
- return (yield Promise.all(promises)).map((tx) => tx.transactionHash);
46
+ (0, helper_1.checkIfActionAccountInitialized)(transactionOptions);
47
+ yield this.setTcbData(pb, quote, transactionOptions);
48
+ yield this.applyTcbMarks(marks, transactionOptions);
49
+ yield TxManager_1.default.execute(TCB.contract.methods.addTcbToSupply(this.tcbId), transactionOptions);
49
50
  });
50
51
  }
51
52
  /**
@@ -95,22 +96,20 @@ class TCB {
95
96
  get() {
96
97
  return __awaiter(this, void 0, void 0, function* () {
97
98
  const tcb = yield TCB.contract.methods.getTcbById(this.tcbId).call();
99
+ tcb.publicData.deviceID = (0, helper_1.unpackDeviceId)(tcb.publicData.deviceID);
98
100
  return tcb;
99
101
  });
100
102
  }
101
103
  /**
102
- * Function for fetching Public Data from TCB
104
+ * Function for fetching the given marks for recruited TCBs from the Tables of Consensus
103
105
  */
104
- getPublicData() {
106
+ getCheckingBlocksMarks() {
105
107
  return __awaiter(this, void 0, void 0, function* () {
106
- const tcbsPublicData = yield TCB.contract.methods
107
- .getTcbsPublicData([this.tcbId])
108
- .call()
109
- .then((array) => array.map((item) => (0, helper_1.cleanWeb3Data)(item)));
110
- const publicData = tcbsPublicData[0];
111
- publicData.deviceId = (0, helper_1.unpackDeviceId)(publicData.deviceId);
112
- publicData.checkingTcbIds = publicData.checkingTcbIds.map((id) => id.toString());
113
- return publicData;
108
+ const tcb = yield TCB.contract.methods.getTcbById(this.tcbId).call();
109
+ return {
110
+ blocksIds: tcb.utilData.checkingBlocks,
111
+ marks: tcb.utilData.checkingBlockMarks,
112
+ };
114
113
  });
115
114
  }
116
115
  /**
@@ -121,4 +120,4 @@ class TCB {
121
120
  }
122
121
  }
123
122
  exports.default = TCB;
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVENCLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVscy9UQ0IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFQSxtRUFBMkM7QUFDM0MsOENBQW9EO0FBUXBELDRDQUt5QjtBQUV6QixNQUFNLEdBQUc7SUFJUCxZQUFZLEtBQW1CO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZ0NBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEU7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUNuQixLQUEwQixFQUMxQixrQkFBdUM7UUFFdkMsT0FBTyxtQkFBUyxDQUFDLE9BQU8sQ0FDdEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3JELGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FDaEIsVUFBeUIsRUFDekIsS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLGtCQUF1QztRQUV2QyxJQUFBLHdDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLHFCQUFZLEVBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELE9BQU8sbUJBQVMsQ0FBQyxPQUFPLENBQ3RCLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDN0IsSUFBSSxDQUFDLEtBQUssRUFDVixVQUFVLENBQUMsU0FBUyxFQUNwQixVQUFVLENBQUMsVUFBVSxFQUNyQixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFNBQVMsQ0FDVixFQUNELGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNL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
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVENCLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVscy9UQ0IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFFQSxtRUFBMkM7QUFDM0MsOENBQW9EO0FBUXBELDRDQUFnRztBQUVoRyxNQUFNLEdBQUc7SUFJUCxZQUFZLEtBQW1CO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEdBQUcsQ0FBQyxRQUFRLEdBQUcsZ0NBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEU7SUFDSCxDQUFDO0lBRWEsYUFBYSxDQUN6QixLQUEwQixFQUMxQixrQkFBdUM7O1lBRXZDLE1BQU0sbUJBQVMsQ0FBQyxPQUFPLENBQ3JCLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNyRCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUNKLENBQUM7S0FBQTtJQUVhLFVBQVUsQ0FDdEIsRUFBaUIsRUFDakIsS0FBYSxFQUNiLGtCQUF1Qzs7WUFFdkMsSUFBQSx3Q0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRXBELE1BQU0saUJBQWlCLEdBQUcsSUFBQSxxQkFBWSxFQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRCxNQUFNLG1CQUFTLENBQUMsT0FBTyxDQUNyQixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQzdCLElBQUksQ0FBQyxLQUFLLEVBQ1YsRUFBRSxDQUFDLFNBQVMsRUFDWixFQUFFLENBQUMsVUFBVSxFQUNiLGlCQUFpQixFQUNqQixLQUFLLENBQ04sRUFDRCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUNKLENBQUM7S0FBQTtJQUVEOzs7Ozs7T0FNRztJQUNVLFdBQVcsQ0FDdEIs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
@@ -27,7 +27,6 @@ const TxManager_1 = __importDefault(require("../utils/TxManager"));
27
27
  const utils_1 = require("ethers/lib/utils");
28
28
  const TeeOffers_1 = __importDefault(require("../staticModels/TeeOffers"));
29
29
  const models_1 = require("../models");
30
- const Consensus_1 = __importDefault(require("../staticModels/Consensus"));
31
30
  class TeeOffer {
32
31
  constructor(offerId) {
33
32
  this.id = offerId;
@@ -92,7 +91,7 @@ class TeeOffer {
92
91
  .then((response) => {
93
92
  return {
94
93
  slotInfo: (0, helper_1.cleanWeb3Data)(response[0]),
95
- optionInfo: (0, helper_1.convertOptionInfoFromRaw)((0, helper_1.cleanWeb3Data)(response[1])),
94
+ optionInfo: (0, helper_1.convertOptionInfoFromRaw)((0, helper_1.cleanWeb3Data)(response[1]))
96
95
  };
97
96
  });
98
97
  return TeeOffers_1.default.unpackHardwareInfo(hardwareInfo);
@@ -193,15 +192,20 @@ class TeeOffer {
193
192
  return __awaiter(this, void 0, void 0, function* () {
194
193
  (0, helper_1.checkIfActionAccountInitialized)();
195
194
  const tcb = yield this.initializeTcbAndAssignBlocks(transactionOptions);
196
- const { checkingTcbIds } = yield tcb.getPublicData();
197
- const tcbsPublicData = yield Consensus_1.default.getTcbsPublicData(checkingTcbIds);
198
- const tcbsUtilityData = yield Consensus_1.default.getTcbsUtilityData(checkingTcbIds);
195
+ const { blocksIds } = yield tcb.getCheckingBlocksMarks();
199
196
  const tcbsForVerification = [];
200
- for (const checkingTcbId of checkingTcbIds) {
201
- const publicData = tcbsPublicData[checkingTcbId];
202
- const { quote, pubKey } = tcbsUtilityData[checkingTcbId];
203
- tcbsForVerification.push(Object.assign(Object.assign({ checkingTcbId }, publicData), { pubKey,
204
- quote }));
197
+ for (let blockIndex = 0; blockIndex < blocksIds.length; blockIndex++) {
198
+ const tcb = new models_1.TCB(blocksIds[blockIndex]);
199
+ const tcbInfo = yield tcb.get();
200
+ tcbsForVerification.push({
201
+ tcbId: blocksIds[blockIndex].toString(),
202
+ deviceId: tcbInfo.publicData.deviceID,
203
+ properties: tcbInfo.publicData.properties,
204
+ benchmark: tcbInfo.publicData.benchmark,
205
+ quote: tcbInfo.quote,
206
+ marks: tcbInfo.utilData.checkingBlockMarks,
207
+ checkingBlocks: tcbInfo.utilData.checkingBlocks.map((x) => x.toString()),
208
+ });
205
209
  }
206
210
  return {
207
211
  tcbId: tcb.tcbId.toString(),
@@ -586,4 +590,4 @@ __decorate([
586
590
  __metadata("design:returntype", Promise)
587
591
  ], TeeOffer.prototype, "addTlb", null);
588
592
  exports.default = TeeOffer;
589
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWxzL1RlZU9mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNENBV3lCO0FBV3pCLDhDQUFvRDtBQUNwRCxtRUFBMkM7QUFTM0MsNENBQXVEO0FBQ3ZELDBFQUFrRDtBQUNsRCxzQ0FBZ0M7QUFFaEMsMEVBQWtEO0FBRWxELE1BQU0sUUFBUTtJQW9CWixZQUFZLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3RCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsZ0NBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFFSSxTQUFTO1FBQ2QsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUVVLGFBQWEsQ0FDeEIsTUFBb0IsRUFDcEIsU0FBaUIsRUFDakIsVUFBMEIsRUFDMUIsWUFBc0I7O1lBRXRCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU87aUJBQzlDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDO2lCQUN4RSxJQUFJLEVBQUU7aUJBQ04sSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUV6QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQztLQUFBO0lBRUQ7O09BRUc7SUFDVSxhQUFh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
593
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWxzL1RlZU9mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNENBV3lCO0FBV3pCLDhDQUFvRDtBQUNwRCxtRUFBMkM7QUFTM0MsNENBQXVEO0FBQ3ZELDBFQUFrRDtBQUNsRCxzQ0FBZ0M7QUFHaEMsTUFBTSxRQUFRO0lBb0JaLFlBQVksT0FBcUI7UUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDdEIsUUFBUSxDQUFDLFFBQVEsR0FBRyxnQ0FBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUVJLFNBQVM7UUFDZCxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBRVUsYUFBYSxDQUN4QixNQUFvQixFQUNwQixTQUFpQixFQUNqQixVQUEwQixFQUMxQixZQUFzQjs7WUFFdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTztpQkFDOUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUM7aUJBQ3hFLElBQUksRUFBRTtpQkFDTixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBRXpDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDO0tBQUE7SUFFRDs7T0FFRztJQUNVLGFBQWE7O1lBQ3hCLE9BQU8s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
@@ -7,6 +7,7 @@ export type S3ClientConfig = {
7
7
  secretAccessKey: string;
8
8
  endpoint: string;
9
9
  bucket: string;
10
+ region: string;
10
11
  };
11
12
  export declare class S3StorageProvider implements IStorageProvider {
12
13
  private readonly s3Client;
@@ -17,11 +17,13 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
17
17
  };
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.S3StorageProvider = void 0;
20
- const aws_sdk_1 = require("aws-sdk");
20
+ const client_s3_1 = require("@aws-sdk/client-s3");
21
+ const stream_1 = require("stream");
22
+ const lib_storage_1 = require("@aws-sdk/lib-storage");
21
23
  class S3StorageProvider {
22
24
  constructor(storageAccess) {
23
25
  this.multipartChunkSizeInBytes = 64 * 1024 * 1024; // 64MB
24
- const { accessKeyId, secretAccessKey, endpoint, bucket } = storageAccess;
26
+ const { accessKeyId, secretAccessKey, endpoint, bucket, region } = storageAccess;
25
27
  if (!accessKeyId)
26
28
  throw new Error('Access key id is undefined');
27
29
  if (!secretAccessKey)
@@ -30,16 +32,17 @@ class S3StorageProvider {
30
32
  throw new Error('Endpoint is undefined');
31
33
  if (!bucket)
32
34
  throw new Error('Bucket is undefined');
35
+ if (!region)
36
+ throw new Error('Region is undefined');
33
37
  this.bucket = bucket;
34
- this.s3Client = new aws_sdk_1.S3({
38
+ this.s3Client = new client_s3_1.S3Client({
35
39
  credentials: {
36
40
  accessKeyId,
37
41
  secretAccessKey,
38
42
  },
43
+ region,
39
44
  endpoint,
40
- s3ForcePathStyle: true,
41
- signatureVersion: 'v4',
42
- httpOptions: { timeout: 0 },
45
+ forcePathStyle: true,
43
46
  });
44
47
  }
45
48
  uploadFile(inputStream, remotePath, contentLength, progressListener) {
@@ -49,30 +52,32 @@ class S3StorageProvider {
49
52
  if (inputStream.readableHighWaterMark >= this.multipartChunkSizeInBytes) {
50
53
  return this.multipartUpload(inputStream, remotePath, contentLength, progressListener);
51
54
  }
52
- const result = yield this.s3Client
53
- .putObject({
54
- Body: inputStream,
55
- Bucket: this.bucket,
56
- Key: remotePath,
57
- ContentLength: contentLength,
58
- })
59
- .on('httpUploadProgress', ({ total, loaded }) => progressListener === null || progressListener === void 0 ? void 0 : progressListener(total, loaded))
60
- .promise();
61
- if (result.$response.error) {
62
- throw result.$response.error;
63
- }
55
+ const upload = new lib_storage_1.Upload({
56
+ client: this.s3Client,
57
+ params: {
58
+ Body: inputStream,
59
+ Bucket: this.bucket,
60
+ Key: remotePath,
61
+ ContentLength: contentLength,
62
+ },
63
+ });
64
+ upload.on('httpUploadProgress', ({ total, loaded }) => {
65
+ if (!!progressListener && total !== undefined && loaded !== undefined) {
66
+ progressListener(total, loaded);
67
+ }
68
+ });
69
+ yield upload.done();
64
70
  });
65
71
  }
66
72
  multipartUpload(inputStream, remotePath, contentLength, progressListener) {
67
73
  var _a, inputStream_1, inputStream_1_1;
68
74
  var _b, e_1, _c, _d;
69
75
  return __awaiter(this, void 0, void 0, function* () {
70
- const multipart = yield this.s3Client
71
- .createMultipartUpload({
76
+ const createMultipartUploadCommand = new client_s3_1.CreateMultipartUploadCommand({
72
77
  Bucket: this.bucket,
73
78
  Key: remotePath,
74
- })
75
- .promise();
79
+ });
80
+ const multipart = yield this.s3Client.send(createMultipartUploadCommand);
76
81
  if (!multipart.UploadId) {
77
82
  throw new Error('UploadId property is empty');
78
83
  }
@@ -88,15 +93,14 @@ class S3StorageProvider {
88
93
  try {
89
94
  const buffer = _d;
90
95
  partNumber++;
91
- const response = yield this.s3Client
92
- .uploadPart({
96
+ const uploadPartCommand = new client_s3_1.UploadPartCommand({
93
97
  Body: buffer,
94
98
  Bucket: this.bucket,
95
99
  Key: remotePath,
96
100
  UploadId: uploadId,
97
101
  PartNumber: partNumber,
98
- })
99
- .promise();
102
+ });
103
+ const response = yield this.s3Client.send(uploadPartCommand);
100
104
  parts.push({
101
105
  ETag: response.ETag,
102
106
  PartNumber: partNumber,
@@ -118,37 +122,32 @@ class S3StorageProvider {
118
122
  }
119
123
  finally { if (e_1) throw e_1.error; }
120
124
  }
121
- const doneParams = {
125
+ const completeMultipartUploadCommand = new client_s3_1.CompleteMultipartUploadCommand({
122
126
  Bucket: this.bucket,
123
127
  Key: remotePath,
124
128
  UploadId: multipart.UploadId,
125
129
  MultipartUpload: { Parts: parts },
126
- };
127
- yield this.s3Client.completeMultipartUpload(doneParams).promise();
130
+ });
131
+ yield this.s3Client.send(completeMultipartUploadCommand);
128
132
  }
129
133
  catch (uploadingError) {
130
- yield this.s3Client
131
- .abortMultipartUpload({
134
+ const abortMultipartUploadCommand = new client_s3_1.AbortMultipartUploadCommand({
132
135
  Bucket: this.bucket,
133
136
  Key: remotePath,
134
137
  UploadId: multipart.UploadId,
135
- })
136
- .promise();
138
+ });
139
+ yield this.s3Client.send(abortMultipartUploadCommand);
137
140
  throw uploadingError;
138
141
  }
139
142
  });
140
143
  }
141
144
  deleteObject(remotePath) {
142
145
  return __awaiter(this, void 0, void 0, function* () {
143
- const deleteResult = yield this.s3Client
144
- .deleteObject({
146
+ const command = new client_s3_1.DeleteObjectCommand({
145
147
  Bucket: this.bucket,
146
148
  Key: remotePath,
147
- })
148
- .promise();
149
- if (deleteResult.$response.error) {
150
- throw deleteResult.$response.error;
151
- }
149
+ });
150
+ yield this.s3Client.send(command);
152
151
  });
153
152
  }
154
153
  downloadFile(remotePath, config, progressListener) {
@@ -162,30 +161,30 @@ class S3StorageProvider {
162
161
  const end = start + (config.length || 0);
163
162
  getObjectParams.Range = `bytes=${start}-${end || ''}`;
164
163
  }
165
- const downloadStream = this.s3Client.getObject(getObjectParams).createReadStream();
164
+ const command = new client_s3_1.GetObjectCommand(getObjectParams);
165
+ const getObjectResult = yield this.s3Client.send(command);
166
+ if (!getObjectResult.Body || !(getObjectResult.Body instanceof stream_1.Readable)) {
167
+ throw new Error('download Body is undefined');
168
+ }
166
169
  let current = 0;
167
- if (progressListener) {
168
- const fileBytesSize = config.length || (yield this.getObjectSize(remotePath));
169
- downloadStream.on('data', (chunk) => {
170
+ if (progressListener && getObjectResult.Body) {
171
+ const fileBytesSize = getObjectResult.ContentLength || config.length || (yield this.getObjectSize(remotePath));
172
+ getObjectResult.Body.on('data', (chunk) => {
170
173
  current += chunk.length;
171
174
  progressListener(fileBytesSize, current);
172
175
  });
173
176
  }
174
- return downloadStream;
177
+ return getObjectResult.Body;
175
178
  });
176
179
  }
177
180
  listObjects(remotePath) {
178
181
  return __awaiter(this, void 0, void 0, function* () {
179
182
  const prefix = remotePath.endsWith('/') ? remotePath : `${remotePath}/`;
180
- const listObjects = yield this.s3Client
181
- .listObjectsV2({
183
+ const command = new client_s3_1.ListObjectsV2Command({
182
184
  Bucket: this.bucket,
183
185
  Prefix: prefix,
184
- })
185
- .promise();
186
- if (listObjects.$response.error) {
187
- throw listObjects.$response.error;
188
- }
186
+ });
187
+ const listObjects = yield this.s3Client.send(command);
189
188
  let result = [];
190
189
  if (listObjects.Contents) {
191
190
  result = listObjects.Contents.map((object) => ({
@@ -199,15 +198,11 @@ class S3StorageProvider {
199
198
  }
200
199
  getMetadata(remotePath) {
201
200
  return __awaiter(this, void 0, void 0, function* () {
202
- const getObjectParams = {
201
+ const command = new client_s3_1.HeadObjectCommand({
203
202
  Bucket: this.bucket,
204
203
  Key: remotePath,
205
- };
206
- const metadata = yield this.s3Client.headObject(getObjectParams).promise();
207
- if (metadata.$response.error) {
208
- throw metadata.$response.error;
209
- }
210
- return metadata;
204
+ });
205
+ return yield this.s3Client.send(command);
211
206
  });
212
207
  }
213
208
  getObjectSize(remotePath) {
@@ -230,4 +225,4 @@ class S3StorageProvider {
230
225
  }
231
226
  }
232
227
  exports.S3StorageProvider = S3StorageProvider;
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvUzNTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUE2QjtBQVk3QixNQUFhLGlCQUFpQjtJQUs1QixZQUFZLGFBQTZCO1FBRnhCLDhCQUF5QixHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTztRQUdwRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxlQUFlO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxZQUFFLENBQUM7WUFDckIsV0FBVyxFQUFFO2dCQUNYLFdBQVc7Z0JBQ1gsZUFBZTthQUNoQjtZQUNELFFBQVE7WUFDUixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUssVUFBVSxDQUNkLFdBQXFCLEVBQ3JCLFVBQWtCLEVBQ2xCLGFBQXFCLEVBQ3JCLGdCQUF5RTs7WUFFekUsc0NBQXNDO1lBQ3RDLHFHQUFxRztZQUNyRyxJQUFJLFdBQVcsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQ3ZFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3ZGO1lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUTtpQkFDL0IsU0FBUyxDQUFDO2dCQUNULElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLEdBQUcsRUFBRSxVQUFVO2dCQUNmLGFBQWEsRUFBRSxhQUFhO2FBQzdCLENBQUM7aUJBQ0QsRUFBRSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixhQUFoQixnQkFBZ0IsdUJBQWhCLGdCQUFnQixDQUFHLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDbEYsT0FBTyxFQUFFLENBQUM7WUFDYixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO2dCQUMxQixNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQztLQUFBO0lBRWEsZUFBZSxDQUMzQixXQUFxQixFQUNyQixVQUFrQixFQUNsQixhQUFxQixFQUNyQixnQkFBeUU7Ozs7WUFFekUsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUTtpQkFDbEMscUJBQXFCLENBQUM7Z0JBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsR0FBRyxFQUFFLFVBQVU7YUFDaEIsQ0FBQztpQkFDRCxPQUFPLEVBQUUsQ0FBQztZQUViLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO2dCQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7YUFDL0M7WUFDRCxJQUFJO2dCQUNGLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztnQkFDckIsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUNwQyxNQUFNLEtBQUssR0FBeUIsRUFBRSxDQUFDOztvQkFFdkMsZ0JBQTJCLGdCQUFBLGNBQUEsV0FBVyxDQUFBO3dCQUFYLDJCQUFXO3dCQUFYLFdBQVc7OzRCQUEzQixNQUFNLE1BQU0sS0FBQSxDQUFBOzRCQUNyQixVQUFVLEVBQUUsQ0FBQzs0QkFDYixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRO2lDQUNqQyxVQUFVLENBQUM7Z0NBQ1YsSUFBSSxFQUFFLE1BQU07Z0NBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dDQUNuQixHQUFHLEVBQUUsVUFBVTtnQ0FDZixRQUFRLEVBQUUsUUFBUTtnQ0FDbEIsVUFBVSxFQUFFLFVBQVU7NkJBQ3ZCLENBQUM7aUNBQ0QsT0FBTyxFQUFFLENBQUM7NEJBRWIsS0FBSyxDQUFDLElBQUksQ0FBQztnQ0FDVCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0NBQ25CLFVBQVUsRUFBRSxVQUFVOzZCQUN2QixDQUFDLENBQUM7NEJBRUgsWUFBWSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7NEJBQzlCLElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFO2dDQUN0QixnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7NkJBQy9DOzs7OztxQkFDRjs7Ozs7Ozs7O2dCQUNELE1BQU0sVUFBVSxHQUFzQztvQkFDcEQsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNuQixHQUFHLEVBQUUsVUFBVTtvQkFDZixRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7b0JBQzVCLGVBQWUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7aUJBQ2xDLENBQUM7Z0JBRUYsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ25FO1lBQUMsT0FBTyxjQUFjLEVBQUU7Z0JBQ3ZCLE1BQU0sSUFBSSxDQUFDLFFBQVE7cUJBQ2hCLG9CQUFvQixDQUFDO29CQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ25CLEdBQUcsRUFBRSxVQUFVO29CQUNmLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtpQkFDN0IsQ0FBQztxQkFDRCxPQUFPLEVBQUUsQ0FBQztnQkFFYixNQUFNLGNBQWMsQ0FBQzthQUN0Qjs7S0FDRjtJQUVLLFlBQVksQ0FBQyxVQUFrQjs7WUFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUTtpQkFDckMsWUFBWSxDQUFDO2dCQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsR0FBRyxFQUFFLFVBQVU7YUFDaEIsQ0FBQztpQkFDRCxPQUFPLEVBQUUsQ0FBQztZQUNiLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hDLE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDcEM7UUFDSCxDQUFDO0tBQUE7SUFFSyxZQUFZLENBQ2hCLFVBQWtCLEVBQ2xCLE1BQXNCLEVBQ3RCLGdCQUF5RTs7WUFFekUsTUFBTSxlQUFlLEdBQXdCO2dCQUMzQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLEdBQUcsRUFBRSxVQUFVO2FBQ2hCLENBQUM7WUFFRixJQUFJLE1BQU0sRUFBRTtnQkFDVixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDekMsZUFBZSxDQUFDLEtBQUssR0FBRyxTQUFTLEtBQUssSUFBSSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUM7YUFDdkQ7WUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRW5GLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLGdCQUFnQixFQUFFO2dCQUNwQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBRTlFLGNBQWMsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ2xDLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDO29CQUN4QixnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDO0tBQUE7SUFFSyxXQUFXLENBQUMsVUFBa0I7O1lBQ2xDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsQ0FBQztZQUV4RSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRO2lCQUNwQyxhQUFhLENBQUM7Z0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixNQUFNLEVBQUUsTUFBTTthQUNmLENBQUM7aUJBQ0QsT0FBTyxFQUFFLENBQUM7WUFFYixJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO2dCQUMvQixNQUFNLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ25DO1lBRUQsSUFBSSxNQUFNLEdBQW9CLEVBQUUsQ0FBQztZQUNqQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3hCLE1BQU0sR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRTtvQkFDdEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxZQUFZLElBQUksSUFBSSxJQUFJLEVBQUU7b0JBQzVDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUM7aUJBQ3ZCLENBQUMsQ0FBQyxDQUFDO2FBQ0w7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFYSxXQUFXLENBQUMsVUFBa0I7O1lBQzFDLE1BQU0sZUFBZSxHQUF5QjtnQkFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixHQUFHLEVBQUUsVUFBVTthQUNoQixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzRSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO2dCQUM1QixNQUFNLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2FBQ2hDO1lBRUQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztLQUFBO0lBRUssYUFBYSxDQUFDLFVBQWtCOztZQUNwQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEQsSUFBSSxRQUFRLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsT0FBTyxRQUFRLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO0tBQUE7SUFFSyxlQUFlLENBQUMsVUFBa0I7O1lBQ3RDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQy9CLENBQUM7S0FBQTtDQUNGO0FBeE5ELDhDQXdOQyJ9
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvUzNTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQWE0QjtBQUU1QixtQ0FBa0M7QUFFbEMsc0RBQThDO0FBVTlDLE1BQWEsaUJBQWlCO0lBSzVCLFlBQVksYUFBNkI7UUFGeEIsOEJBQXlCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPO1FBR3BFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxlQUFlO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDO1lBQzNCLFdBQVcsRUFBRTtnQkFDWCxXQUFXO2dCQUNYLGVBQWU7YUFDaEI7WUFDRCxNQUFNO1lBQ04sUUFBUTtZQUNSLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFSyxVQUFVLENBQ2QsV0FB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
@@ -1,4 +1,4 @@
1
- import { EpochInfo, ConsensusConstants, TransactionOptions, BlockInfo, BlockchainId, TokenAmount, TcbPublicData, TcbUtilityData } from '../types';
1
+ import { EpochInfo, ConsensusConstants, TransactionOptions, BlockInfo, BlockchainId, TokenAmount } from '../types';
2
2
  declare class Consensus {
3
3
  private static readonly logger;
4
4
  private static tcbIds?;
@@ -15,12 +15,6 @@ declare class Consensus {
15
15
  }>;
16
16
  static getEpoch(epochIndex: number): Promise<EpochInfo>;
17
17
  static getSuspiciousBlockTable(): Promise<string[]>;
18
- static getTcbsPublicData(tcbIds: BlockchainId[]): Promise<{
19
- [tcbId: BlockchainId]: TcbPublicData;
20
- }>;
21
- static getTcbsUtilityData(tcbIds: BlockchainId[]): Promise<{
22
- [tcbId: BlockchainId]: TcbUtilityData;
23
- }>;
24
18
  static unlockProfitByTcbList(tcbIds: BlockchainId[], transactionOptions?: TransactionOptions): Promise<void>;
25
19
  static getSuspiciousBlockTableSize(): Promise<string>;
26
20
  static getLastBlockTable(): Promise<BlockchainId[]>;
@@ -61,36 +61,6 @@ class Consensus {
61
61
  const contract = connectors_1.BlockchainConnector.getInstance().getContract();
62
62
  return contract.methods.getSuspiciousBlockTable().call();
63
63
  }
64
- static getTcbsPublicData(tcbIds) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
67
- const response = {};
68
- const tcbsPublicData = yield contract.methods
69
- .getTcbsPublicData(tcbIds)
70
- .call()
71
- .then((array) => array.map((item) => (0, helper_1.cleanWeb3Data)(item)));
72
- for (let tcbIndex = 0; tcbIndex < tcbsPublicData.length; tcbIndex++) {
73
- tcbsPublicData[tcbIndex].deviceId = (0, helper_1.unpackDeviceId)(tcbsPublicData[tcbIndex].deviceId);
74
- tcbsPublicData[tcbIndex].checkingTcbIds = tcbsPublicData[tcbIndex].checkingTcbIds.map((id) => id.toString());
75
- response[tcbIndex] = tcbsPublicData[tcbIndex];
76
- }
77
- return response;
78
- });
79
- }
80
- static getTcbsUtilityData(tcbIds) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const contract = connectors_1.BlockchainConnector.getInstance().getContract();
83
- const response = {};
84
- const tcbUtilityData = yield contract.methods
85
- .getTcbsUtilityData(tcbIds)
86
- .call()
87
- .then((array) => array.map((item) => (0, helper_1.cleanWeb3Data)(item)));
88
- for (let tcbIndex = 0; tcbIndex < tcbUtilityData.length; tcbIndex++) {
89
- response[tcbIndex] = tcbUtilityData[tcbIndex];
90
- }
91
- return response;
92
- });
93
- }
94
64
  static unlockProfitByTcbList(tcbIds, transactionOptions) {
95
65
  return __awaiter(this, void 0, void 0, function* () {
96
66
  const contract = connectors_1.BlockchainConnector.getInstance().getContract();
@@ -239,4 +209,4 @@ class Consensus {
239
209
  }
240
210
  Consensus.logger = logger_1.default.child({ className: 'Consensus' });
241
211
  exports.default = Consensus;
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRpY01vZGVscy9Db25zZW5zdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBbUM7QUFDbkMsd0RBQWdDO0FBQ2hDLDBEQUFrQztBQVdsQyw0Q0FBaUc7QUFDakcsbUVBQTJDO0FBQzNDLDhDQUE4RTtBQUc5RSxNQUFNLFNBQVM7SUFJTixNQUFNLEtBQUssT0FBTztRQUN2QixPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQU8sVUFBVTs7O1lBQzVCLE1BQU0sUUFBUSxHQUFHLGdDQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQUEsSUFBSSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLENBQUM7WUFFMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDN0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7O0tBQ3BCO0lBRU0sTUFBTSxDQUFPLFlBQVksQ0FDOUIsSUFBWTs7WUFFWixNQUFNLFFBQVEsR0FBRyxnQ0FBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUs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
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YXRpY01vZGVscy9Db25zZW5zdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBbUM7QUFDbkMsd0RBQWdDO0FBQ2hDLDBEQUFrQztBQVNsQyw0Q0FBaUY7QUFDakYsbUVBQTJDO0FBQzNDLDhDQUE4RTtBQUc5RSxNQUFNLFNBQVM7SUFJTixNQUFNLEtBQUssT0FBTztRQUN2QixPQUFPLGtCQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQU8sVUFBVTs7O1lBQzVCLE1BQU0sUUFBUSxHQUFHLGdDQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQUEsSUFBSSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLENBQUM7WUFFMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDN0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM5QjtZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7O0tBQ3BCO0lBRU0sTUFBTSxDQUFPLFlBQVksQ0FDOUIsSUFBWTs7WUFFWixNQUFNLFFBQVEsR0FBRyxnQ0FBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUs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