@super-protocol/sdk-js 2.2.0-beta.81 → 2.2.0-beta.83
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/TIIGenerator.js +2 -2
- package/dist/cjs/TeeInputGeneratorBase.d.ts +1 -1
- package/dist/cjs/TeeInputGeneratorBase.js +5 -5
- package/dist/cjs/contracts/abi.d.ts +365 -136
- package/dist/cjs/contracts/abi.js +6714 -6418
- package/dist/cjs/models/Offer.d.ts +23 -1
- package/dist/cjs/models/Offer.js +68 -4
- package/dist/cjs/models/TeeOffer.d.ts +23 -1
- package/dist/cjs/models/TeeOffer.js +68 -5
- package/dist/cjs/providers/storage/IStorageProvider.d.ts +1 -1
- package/dist/cjs/providers/storage/S3StorageProvider.d.ts +1 -1
- package/dist/cjs/providers/storage/S3StorageProvider.js +47 -21
- package/dist/cjs/types/Offer.d.ts +4 -3
- package/dist/cjs/types/OfferVersion.d.ts +13 -0
- package/dist/cjs/types/OfferVersion.js +9 -0
- package/dist/cjs/types/Order.d.ts +6 -2
- package/dist/cjs/types/Order.js +3 -1
- package/dist/cjs/types/TeeOfferInfo.d.ts +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +2 -1
- package/dist/cjs/utils/helpers/OrderArgsHelper.js +18 -8
- package/dist/mjs/TIIGenerator.js +2 -2
- package/dist/mjs/TeeInputGeneratorBase.d.ts +1 -1
- package/dist/mjs/TeeInputGeneratorBase.js +5 -5
- package/dist/mjs/contracts/abi.d.ts +365 -136
- package/dist/mjs/contracts/abi.js +6714 -6418
- package/dist/mjs/models/Offer.d.ts +23 -1
- package/dist/mjs/models/Offer.js +68 -4
- package/dist/mjs/models/TeeOffer.d.ts +23 -1
- package/dist/mjs/models/TeeOffer.js +68 -5
- package/dist/mjs/providers/storage/IStorageProvider.d.ts +1 -1
- package/dist/mjs/providers/storage/S3StorageProvider.d.ts +1 -1
- package/dist/mjs/providers/storage/S3StorageProvider.js +47 -21
- package/dist/mjs/types/Offer.d.ts +4 -3
- package/dist/mjs/types/OfferVersion.d.ts +13 -0
- package/dist/mjs/types/OfferVersion.js +6 -0
- package/dist/mjs/types/Order.d.ts +6 -2
- package/dist/mjs/types/Order.js +3 -1
- package/dist/mjs/types/TeeOfferInfo.d.ts +1 -1
- package/dist/mjs/types/index.d.ts +1 -0
- package/dist/mjs/types/index.js +2 -1
- package/dist/mjs/utils/helpers/OrderArgsHelper.js +18 -8
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SlotInfo, OptionInfo, SlotUsage, Origins, OfferInfo, OfferType, ValueOfferSlot, TransactionOptions, BlockchainId, TokenAmount } from '../types/index.js';
|
|
1
|
+
import { SlotInfo, OptionInfo, SlotUsage, Origins, OfferInfo, OfferType, ValueOfferSlot, TransactionOptions, BlockchainId, TokenAmount, OfferVersionInfo, OfferVersion } from '../types/index.js';
|
|
2
2
|
declare class Offer {
|
|
3
3
|
private static contract;
|
|
4
4
|
private logger;
|
|
@@ -69,6 +69,14 @@ declare class Offer {
|
|
|
69
69
|
* Function for fetching cheapest value offer from blockchain
|
|
70
70
|
*/
|
|
71
71
|
getCheapestPrice(): Promise<TokenAmount>;
|
|
72
|
+
/**
|
|
73
|
+
* Returns the offer version info.
|
|
74
|
+
*/
|
|
75
|
+
getVersion(version: number): Promise<OfferVersion>;
|
|
76
|
+
/**
|
|
77
|
+
* Returns the offer version info.
|
|
78
|
+
*/
|
|
79
|
+
getVersionCount(): Promise<number>;
|
|
72
80
|
isOfferExists(): Promise<boolean>;
|
|
73
81
|
private checkIfOfferExistsWithInterval;
|
|
74
82
|
/**
|
|
@@ -114,6 +122,20 @@ declare class Offer {
|
|
|
114
122
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
115
123
|
*/
|
|
116
124
|
deleteSlot(slotId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Function for add a new version to the value offer.
|
|
127
|
+
* @param newVersion - Version number
|
|
128
|
+
* @param versionInfo - Version info
|
|
129
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
130
|
+
*/
|
|
131
|
+
setNewVersion(newVersion: number, versionInfo: OfferVersionInfo, transactionOptions?: TransactionOptions): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Functcion for deletion the version from the value offer.
|
|
134
|
+
* @param newVersion - Version number
|
|
135
|
+
* @param versionInfo - Version info
|
|
136
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
137
|
+
*/
|
|
138
|
+
deleteVersion(version: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
117
139
|
/**
|
|
118
140
|
* Function for disabling offer
|
|
119
141
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
package/dist/cjs/models/Offer.js
CHANGED
|
@@ -96,7 +96,8 @@ class Offer {
|
|
|
96
96
|
async setInfo(newInfo, transactionOptions) {
|
|
97
97
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
98
98
|
const { restrictions, ...restInfo } = newInfo;
|
|
99
|
-
await TxManager_js_1.default.execute(Offer.contract.methods.setValueOfferInfo(this.id, restInfo
|
|
99
|
+
await TxManager_js_1.default.execute(Offer.contract.methods.setValueOfferInfo(this.id, restInfo), transactionOptions);
|
|
100
|
+
await TxManager_js_1.default.execute(Offer.contract.methods.setValueOfferRestrictionsSpecification(this.id, restrictions), transactionOptions);
|
|
100
101
|
if (this.offerInfo)
|
|
101
102
|
this.offerInfo = newInfo;
|
|
102
103
|
}
|
|
@@ -110,7 +111,7 @@ class Offer {
|
|
|
110
111
|
const { info } = await Offer.contract.methods.getValueOffer(this.id).call();
|
|
111
112
|
this.offerInfo = (0, helper_js_1.cleanWeb3Data)(info);
|
|
112
113
|
const offerRestrictions = await Offer.contract.methods
|
|
113
|
-
.
|
|
114
|
+
.getOfferRestrictionsSpecification(this.id)
|
|
114
115
|
.call();
|
|
115
116
|
this.offerInfo.restrictions = (0, helper_js_1.cleanWeb3Data)(offerRestrictions);
|
|
116
117
|
return this.offerInfo;
|
|
@@ -168,6 +169,21 @@ class Offer {
|
|
|
168
169
|
.call()
|
|
169
170
|
.then((price) => (0, helper_js_1.convertBigIntToString)(price));
|
|
170
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Returns the offer version info.
|
|
174
|
+
*/
|
|
175
|
+
async getVersion(version) {
|
|
176
|
+
return await Offer.contract.methods
|
|
177
|
+
.getOfferVersion(this.id, version)
|
|
178
|
+
.call()
|
|
179
|
+
.then((offerVersion) => (0, helper_js_1.cleanWeb3Data)(offerVersion));
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Returns the offer version info.
|
|
183
|
+
*/
|
|
184
|
+
async getVersionCount() {
|
|
185
|
+
return await Offer.contract.methods.getOfferVersionsCount(this.id).call();
|
|
186
|
+
}
|
|
171
187
|
isOfferExists() {
|
|
172
188
|
return Offer.contract.methods.isOfferExists(this.id).call();
|
|
173
189
|
}
|
|
@@ -251,7 +267,9 @@ class Offer {
|
|
|
251
267
|
async updateSlot(slotId, newSlotInfo, newOptionInfo, newUsage, transactionOptions) {
|
|
252
268
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
253
269
|
newSlotInfo = (0, helper_js_1.packSlotInfo)(newSlotInfo, await TeeOffers_js_1.default.getDenominator());
|
|
254
|
-
await TxManager_js_1.default.execute(Offer.contract.methods.
|
|
270
|
+
await TxManager_js_1.default.execute(Offer.contract.methods.updateValueOfferSlotInfo(this.id, slotId, newSlotInfo), transactionOptions);
|
|
271
|
+
await TxManager_js_1.default.execute(Offer.contract.methods.updateValueOfferSlotOption(this.id, slotId, (0, helper_js_1.convertOptionInfoToRaw)(newOptionInfo)), transactionOptions);
|
|
272
|
+
await TxManager_js_1.default.execute(Offer.contract.methods.updateValueOfferSlotUsage(this.id, slotId, newUsage), transactionOptions);
|
|
255
273
|
}
|
|
256
274
|
/**
|
|
257
275
|
* Function for delete slot usage from offer
|
|
@@ -262,6 +280,28 @@ class Offer {
|
|
|
262
280
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
263
281
|
await TxManager_js_1.default.execute(Offer.contract.methods.deleteValueOfferSlot(this.id, slotId), transactionOptions);
|
|
264
282
|
}
|
|
283
|
+
/**
|
|
284
|
+
* Function for add a new version to the value offer.
|
|
285
|
+
* @param newVersion - Version number
|
|
286
|
+
* @param versionInfo - Version info
|
|
287
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
288
|
+
*/
|
|
289
|
+
async setNewVersion(newVersion, versionInfo, transactionOptions) {
|
|
290
|
+
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
291
|
+
const transactionCall = Offer.contract.methods.setOfferNewVersion(this.id, newVersion, versionInfo);
|
|
292
|
+
await TxManager_js_1.default.execute(transactionCall, transactionOptions);
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Functcion for deletion the version from the value offer.
|
|
296
|
+
* @param newVersion - Version number
|
|
297
|
+
* @param versionInfo - Version info
|
|
298
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
299
|
+
*/
|
|
300
|
+
async deleteVersion(version, transactionOptions) {
|
|
301
|
+
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
302
|
+
const transactionCall = Offer.contract.methods.deleteOfferVersion(this.id, version);
|
|
303
|
+
await TxManager_js_1.default.execute(transactionCall, transactionOptions);
|
|
304
|
+
}
|
|
265
305
|
/**
|
|
266
306
|
* Function for disabling offer
|
|
267
307
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
@@ -353,6 +393,18 @@ __decorate([
|
|
|
353
393
|
__metadata("design:paramtypes", []),
|
|
354
394
|
__metadata("design:returntype", Promise)
|
|
355
395
|
], Offer.prototype, "getCheapestPrice", null);
|
|
396
|
+
__decorate([
|
|
397
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
398
|
+
__metadata("design:type", Function),
|
|
399
|
+
__metadata("design:paramtypes", [Number]),
|
|
400
|
+
__metadata("design:returntype", Promise)
|
|
401
|
+
], Offer.prototype, "getVersion", null);
|
|
402
|
+
__decorate([
|
|
403
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
404
|
+
__metadata("design:type", Function),
|
|
405
|
+
__metadata("design:paramtypes", []),
|
|
406
|
+
__metadata("design:returntype", Promise)
|
|
407
|
+
], Offer.prototype, "getVersionCount", null);
|
|
356
408
|
__decorate([
|
|
357
409
|
(0, helper_js_1.incrementMethodCall)(),
|
|
358
410
|
__metadata("design:type", Function),
|
|
@@ -377,6 +429,18 @@ __decorate([
|
|
|
377
429
|
__metadata("design:paramtypes", [String, Object]),
|
|
378
430
|
__metadata("design:returntype", Promise)
|
|
379
431
|
], Offer.prototype, "deleteSlot", null);
|
|
432
|
+
__decorate([
|
|
433
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
434
|
+
__metadata("design:type", Function),
|
|
435
|
+
__metadata("design:paramtypes", [Number, Object, Object]),
|
|
436
|
+
__metadata("design:returntype", Promise)
|
|
437
|
+
], Offer.prototype, "setNewVersion", null);
|
|
438
|
+
__decorate([
|
|
439
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
440
|
+
__metadata("design:type", Function),
|
|
441
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
442
|
+
__metadata("design:returntype", Promise)
|
|
443
|
+
], Offer.prototype, "deleteVersion", null);
|
|
380
444
|
__decorate([
|
|
381
445
|
(0, helper_js_1.incrementMethodCall)(),
|
|
382
446
|
__metadata("design:type", Function),
|
|
@@ -390,4 +454,4 @@ __decorate([
|
|
|
390
454
|
__metadata("design:returntype", Promise)
|
|
391
455
|
], Offer.prototype, "isRestrictedByOfferType", null);
|
|
392
456
|
exports.default = Offer;
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQXNDO0FBQ3RDLGtEQVM0QjtBQUM1QixxREFBNkQ7QUFDN0QsZ0RBYTJCO0FBQzNCLGtEQUEwRDtBQUMxRCxnRkFBcUQ7QUFDckQseUVBQThDO0FBQzlDLHdEQUE0RDtBQUM1RCxrREFBaUc7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsU0FBUyxFQUFFLE9BQU87WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVJLFNBQVM7UUFDZCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLElB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
|
|
457
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQXNDO0FBQ3RDLGtEQVM0QjtBQUM1QixxREFBNkQ7QUFDN0QsZ0RBZTJCO0FBQzNCLGtEQUEwRDtBQUMxRCxnRkFBcUQ7QUFDckQseUVBQThDO0FBQzlDLHdEQUE0RDtBQUM1RCxrREFBaUc7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsU0FBUyxFQUFFLE9BQU87WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVJLFNBQVM7UUFDZCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLElB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TeeOfferInfo, TransactionOptions, OfferType, Origins, BlockchainId, TokenAmount } from '../types/index.js';
|
|
1
|
+
import { TeeOfferInfo, TransactionOptions, OfferType, Origins, BlockchainId, TokenAmount, OfferVersionInfo, OfferVersion } from '../types/index.js';
|
|
2
2
|
import { HardwareInfo, TeeOfferOption, TeeOfferSlot, OptionInfo, SlotUsage, SlotInfo } from '../types/index.js';
|
|
3
3
|
import { GetTcbRequest } from '@super-protocol/dto-js';
|
|
4
4
|
declare class TeeOffer {
|
|
@@ -84,6 +84,14 @@ declare class TeeOffer {
|
|
|
84
84
|
* @returns tcbId and lists of anothers' TCB for their checking
|
|
85
85
|
*/
|
|
86
86
|
getListsForVerification(deviceId: string, transactionOptions?: TransactionOptions): Promise<GetTcbRequest>;
|
|
87
|
+
/**
|
|
88
|
+
* Returns the offer version info.
|
|
89
|
+
*/
|
|
90
|
+
getVersion(version: number): Promise<OfferVersion>;
|
|
91
|
+
/**
|
|
92
|
+
* Returns the offer version info.
|
|
93
|
+
*/
|
|
94
|
+
getVersionCount(): Promise<number>;
|
|
87
95
|
/**
|
|
88
96
|
* Function for fetching whether tee offer slot exists or not
|
|
89
97
|
* @param slotId - Slot ID
|
|
@@ -122,6 +130,20 @@ declare class TeeOffer {
|
|
|
122
130
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
123
131
|
*/
|
|
124
132
|
deleteSlot(slotId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Function for add a new version to the value offer.
|
|
135
|
+
* @param newVersion - Version number
|
|
136
|
+
* @param versionInfo - Version info
|
|
137
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
138
|
+
*/
|
|
139
|
+
setNewVersion(newVersion: number, versionInfo: OfferVersionInfo, transactionOptions?: TransactionOptions): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* Functcion for deletion the version from the value offer.
|
|
142
|
+
* @param newVersion - Version number
|
|
143
|
+
* @param versionInfo - Version info
|
|
144
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
145
|
+
*/
|
|
146
|
+
deleteVersion(version: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
125
147
|
/**
|
|
126
148
|
* @param teeOfferId - TEE offer ID
|
|
127
149
|
* @returns {Promise<string>} - Actual TCB ID
|
|
@@ -144,7 +144,8 @@ class TeeOffer {
|
|
|
144
144
|
*/
|
|
145
145
|
async updateOption(optionId, newInfo, newUsage, transactionOptions) {
|
|
146
146
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
147
|
-
await TxManager_js_1.default.execute(TeeOffer.contract.methods.
|
|
147
|
+
await TxManager_js_1.default.execute(TeeOffer.contract.methods.updateOptionInfo(this.id, optionId, (0, helper_js_1.convertOptionInfoToRaw)(newInfo)), transactionOptions);
|
|
148
|
+
await TxManager_js_1.default.execute(TeeOffer.contract.methods.updateOptionUsage(this.id, optionId, newUsage), transactionOptions);
|
|
148
149
|
}
|
|
149
150
|
/**
|
|
150
151
|
* Function for delete option
|
|
@@ -197,6 +198,21 @@ class TeeOffer {
|
|
|
197
198
|
tcbsForVerification,
|
|
198
199
|
};
|
|
199
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Returns the offer version info.
|
|
203
|
+
*/
|
|
204
|
+
async getVersion(version) {
|
|
205
|
+
return await TeeOffer.contract.methods
|
|
206
|
+
.getOfferVersion(this.id, version)
|
|
207
|
+
.call()
|
|
208
|
+
.then((offerVersion) => (0, helper_js_1.cleanWeb3Data)(offerVersion));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Returns the offer version info.
|
|
212
|
+
*/
|
|
213
|
+
async getVersionCount() {
|
|
214
|
+
return await TeeOffer.contract.methods.getOfferVersionsCount(this.id).call();
|
|
215
|
+
}
|
|
200
216
|
/**
|
|
201
217
|
* Function for fetching whether tee offer slot exists or not
|
|
202
218
|
* @param slotId - Slot ID
|
|
@@ -256,7 +272,8 @@ class TeeOffer {
|
|
|
256
272
|
async updateSlot(slotId, newInfo, newUsage, transactionOptions) {
|
|
257
273
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
258
274
|
newInfo = (0, helper_js_1.packSlotInfo)(newInfo, await TeeOffers_js_1.default.getDenominator());
|
|
259
|
-
await TxManager_js_1.default.execute(TeeOffer.contract.methods.
|
|
275
|
+
await TxManager_js_1.default.execute(TeeOffer.contract.methods.updateTeeOfferSlotInfo(this.id, slotId, newInfo, newUsage), transactionOptions);
|
|
276
|
+
await TxManager_js_1.default.execute(TeeOffer.contract.methods.updateTeeOfferSlotUsage(this.id, slotId, newUsage), transactionOptions);
|
|
260
277
|
}
|
|
261
278
|
/**
|
|
262
279
|
* Function for delete slot usage to the tee offer
|
|
@@ -267,6 +284,28 @@ class TeeOffer {
|
|
|
267
284
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
268
285
|
await TxManager_js_1.default.execute(TeeOffer.contract.methods.deleteTeeOfferSlot(this.id, slotId), transactionOptions);
|
|
269
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Function for add a new version to the value offer.
|
|
289
|
+
* @param newVersion - Version number
|
|
290
|
+
* @param versionInfo - Version info
|
|
291
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
292
|
+
*/
|
|
293
|
+
async setNewVersion(newVersion, versionInfo, transactionOptions) {
|
|
294
|
+
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
295
|
+
const transactionCall = TeeOffer.contract.methods.setOfferNewVersion(this.id, newVersion, versionInfo);
|
|
296
|
+
await TxManager_js_1.default.execute(transactionCall, transactionOptions);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Functcion for deletion the version from the value offer.
|
|
300
|
+
* @param newVersion - Version number
|
|
301
|
+
* @param versionInfo - Version info
|
|
302
|
+
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
303
|
+
*/
|
|
304
|
+
async deleteVersion(version, transactionOptions) {
|
|
305
|
+
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
306
|
+
const transactionCall = TeeOffer.contract.methods.deleteOfferVersion(this.id, version);
|
|
307
|
+
await TxManager_js_1.default.execute(transactionCall, transactionOptions);
|
|
308
|
+
}
|
|
270
309
|
/**
|
|
271
310
|
* @param teeOfferId - TEE offer ID
|
|
272
311
|
* @returns {Promise<string>} - Actual TCB ID
|
|
@@ -311,7 +350,7 @@ class TeeOffer {
|
|
|
311
350
|
*/
|
|
312
351
|
async getTlb() {
|
|
313
352
|
const offerInfo = await this.getInfo();
|
|
314
|
-
return offerInfo.
|
|
353
|
+
return offerInfo.tlb_DEPRECATED;
|
|
315
354
|
}
|
|
316
355
|
/**
|
|
317
356
|
* Function for fetching violationRate for this TEE offer
|
|
@@ -342,7 +381,7 @@ class TeeOffer {
|
|
|
342
381
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
343
382
|
await TxManager_js_1.default.execute(TeeOffer.contract.methods.setTeeOfferTlb(this.id, tlb), transactionOptions);
|
|
344
383
|
if (this.offerInfo)
|
|
345
|
-
this.offerInfo.
|
|
384
|
+
this.offerInfo.tlb_DEPRECATED = tlb;
|
|
346
385
|
}
|
|
347
386
|
/**
|
|
348
387
|
* Updates name in offer info
|
|
@@ -483,6 +522,18 @@ __decorate([
|
|
|
483
522
|
__metadata("design:paramtypes", [String, Object]),
|
|
484
523
|
__metadata("design:returntype", Promise)
|
|
485
524
|
], TeeOffer.prototype, "getListsForVerification", null);
|
|
525
|
+
__decorate([
|
|
526
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
527
|
+
__metadata("design:type", Function),
|
|
528
|
+
__metadata("design:paramtypes", [Number]),
|
|
529
|
+
__metadata("design:returntype", Promise)
|
|
530
|
+
], TeeOffer.prototype, "getVersion", null);
|
|
531
|
+
__decorate([
|
|
532
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
533
|
+
__metadata("design:type", Function),
|
|
534
|
+
__metadata("design:paramtypes", []),
|
|
535
|
+
__metadata("design:returntype", Promise)
|
|
536
|
+
], TeeOffer.prototype, "getVersionCount", null);
|
|
486
537
|
__decorate([
|
|
487
538
|
(0, helper_js_1.incrementMethodCall)(),
|
|
488
539
|
__metadata("design:type", Function),
|
|
@@ -501,6 +552,18 @@ __decorate([
|
|
|
501
552
|
__metadata("design:paramtypes", [String, Object]),
|
|
502
553
|
__metadata("design:returntype", Promise)
|
|
503
554
|
], TeeOffer.prototype, "deleteSlot", null);
|
|
555
|
+
__decorate([
|
|
556
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
557
|
+
__metadata("design:type", Function),
|
|
558
|
+
__metadata("design:paramtypes", [Number, Object, Object]),
|
|
559
|
+
__metadata("design:returntype", Promise)
|
|
560
|
+
], TeeOffer.prototype, "setNewVersion", null);
|
|
561
|
+
__decorate([
|
|
562
|
+
(0, helper_js_1.incrementMethodCall)(),
|
|
563
|
+
__metadata("design:type", Function),
|
|
564
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
565
|
+
__metadata("design:returntype", Promise)
|
|
566
|
+
], TeeOffer.prototype, "deleteVersion", null);
|
|
504
567
|
__decorate([
|
|
505
568
|
(0, helper_js_1.incrementMethodCall)(),
|
|
506
569
|
__metadata("design:type", Function),
|
|
@@ -538,4 +601,4 @@ __decorate([
|
|
|
538
601
|
__metadata("design:returntype", Promise)
|
|
539
602
|
], TeeOffer.prototype, "addTlb", null);
|
|
540
603
|
exports.default = TeeOffer;
|
|
541
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL1RlZU9mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsa0RBWTRCO0FBVzVCLHFEQUE2RDtBQUM3RCx5RUFBOEM7QUFTOUMsa0RBQTBEO0FBQzFELGdGQUFxRDtBQUNyRCxpREFBeUM7QUFFekMsZ0ZBQXFEO0FBRXJELE1BQU0sUUFBUTtJQUNKLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRXZDLEVBQUUsQ0FBZTtJQUVqQixhQUFhLENBQW1CO0lBQ2hDLFdBQVcsQ0FBZTtJQUMxQixTQUFTLENBQWdCO0lBRXpCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixRQUFRLENBQVU7SUFDbEIsT0FBTyxDQUFXO0lBQ2xCLEdBQUcsQ0FBVTtJQUNiLFlBQVksQ0FBVTtJQUN0QixZQUFZLENBQVU7SUFDdEIsT0FBTyxDQUFXO0lBQ2xCLFlBQVksQ0FBVztJQUN2QixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUVJLFNBQVM7UUFDZCxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsYUFBYSxDQUN4QixNQUFvQixFQUNwQixTQUFpQixFQUNqQixVQUEwQixFQUMxQixZQUFzQjtRQUV0QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQzlDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDO2FBQ3hFLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsaUJBQWlCO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdEYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUVVLEFBQU4sS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU3RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEseUJBQWEsRUFBQyxJQUFJLENBQWlCLENBQUM7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBQSx5QkFBYSxFQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFpQixDQUFDO1FBRTFGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFFVSxBQUFOLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0sWUFBWSxHQUFpQixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTzthQUMvRCx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ2hDLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pCLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLElBQUEseUJBQWEsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQWE7Z0JBQ2hELFVBQVUsRUFBRSxJQUFBLG9DQUF3QixFQUFDLElBQUEseUJBQWEsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQWtCLENBQUM7YUFDbEUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sc0JBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYSxDQUFDLFFBQXNCO1FBQ3pDLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQzdCLGFBQWEsQ0FBQyxRQUFRLENBQUM7YUFDdkIsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHdDQUE0QixFQUFDLE1BQTJCLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE1BQU07UUFDN0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUN6QixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDeEUsQ0FBQztRQUNGLElBQUksWUFBWSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sY0FBYyxHQUF3QixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTzthQUN4RSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7YUFDdkMsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFBLGtDQUFzQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RSxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUEsd0NBQTRCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYyxDQUFDLFFBQXNCO1FBQzFDLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBRVUsQUFBTixLQUFLLENBQUMsU0FBUyxDQUNwQixJQUFnQixFQUNoQixLQUFnQixFQUNoQixVQUFVLEdBQUcsU0FBUyxFQUN0QixrQkFBdUM7UUFFdkMsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsSUFBQSwyQ0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELE1BQU0sbUJBQW1CLEdBQUcsSUFBQSw4QkFBbUIsRUFBQyxVQUFVLENBQUMsQ0FBQztRQUM1RCxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLG1CQUFtQixFQUFFLElBQUEsa0NBQXNCLEVBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQzdGLGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUVVLEFBQU4sS0FBSyxDQUFDLFlBQVksQ0FDdkIsUUFBc0IsRUFDdEIsT0FBbUIsRUFDbkIsUUFBbUIsRUFDbkIsa0JBQXVDO1FBRXZDLElBQUEsMkNBQStCLEVBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVwRCxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3BDLElBQUksQ0FBQyxFQUFFLEVBQ1AsUUFBUSxFQUNSLElBQUEsa0NBQXNCLEVBQUMsT0FBTyxDQUFDLEVBQy9CLFFBQVEsQ0FDVCxFQUNELGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFFVSxBQUFOLEtBQUssQ0FBQyxZQUFZLENBQ3ZCLFFBQXNCLEVBQ3RCLGtCQUF1QztRQUV2QyxJQUFBLDJDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQ3pELGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUdhLEFBQU4sS0FBSyxDQUFDLGFBQWEsQ0FDekIsUUFBZ0IsRUFDaEIsa0JBQXVDO1FBRXZDLElBQUEsMkNBQStCLEdBQUUsQ0FBQztRQUVsQyxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFDMUQsa0JBQWtCLENBQ25CLENBQUM7SUFDSixDQUFDO0lBR2EsQUFBTixLQUFLLENBQUMsNEJBQTRCLENBQ3hDLFFBQWdCLEVBQ2hCLGtCQUF1QztRQUV2QyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLGNBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQixNQUFNLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxDQUFDLDZCQUE2QixDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFNUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFFVSxBQUFOLEtBQUssQ0FBQyx1QkFBdUIsQ0FDbEMsUUFBZ0IsRUFDaEIsa0JBQXVDO1FBRXZDLElBQUEsMkNBQStCLEdBQUUsQ0FBQztRQUVsQyxRQUFRLEdBQUcsSUFBQSx3QkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyRCxNQUFNLGNBQWMsR0FBRyxNQUFNLHNCQUFTLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekUsTUFBTSxlQUFlLEdBQUcsTUFBTSxzQkFBUyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTNFLE1BQU0sbUJBQW1CLEdBQTJCLEVBQUUsQ0FBQztRQUN2RCxLQUFLLE1BQU0sYUFBYSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLGVBQWUsRUFBRSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RCxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLEdBQUcsZUFBZTtnQkFDbEIsYUFBYTtnQkFDYixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQXlCLENBQUM7Z0JBQzNFLE1BQU07Z0JBQ04sS0FBSzthQUNOLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPO1lBQ0wsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzNCLG1CQUFtQjtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FBQyxNQUFvQjtRQUN0QyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBb0I7UUFDM0MsTUFBTSxJQUFJLEdBQWlCLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQ3ZELG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDO2FBQ3BDLElBQUksRUFBRSxDQUFDO1FBRVYsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLHNCQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFMUQsT0FBTyxJQUFBLDhCQUFrQixFQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsTUFBTTtRQUMzQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FDL0IsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQ3RFLENBQUM7UUFDRixJQUFJLGtCQUFrQixLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFtQixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTzthQUMxRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUM7YUFDckMsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFBLGtDQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sc0JBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUxRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDckMsSUFBQSw4QkFBa0IsRUFBQyxJQUFvQixFQUFFLGdCQUFnQixDQUFDLENBQzNELENBQUM7UUFFRixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFFVSxBQUFOLEtBQUssQ0FBQyxPQUFPLENBQ2xCLElBQWMsRUFDZCxLQUFnQixFQUNoQixVQUFVLEdBQUcsU0FBUyxFQUN0QixrQkFBdUM7UUFFdkMsSUFBQSwyQ0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELElBQUksR0FBRyxJQUFBLHdCQUFZLEVBQUMsSUFBSSxFQUFFLE1BQU0sc0JBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sbUJBQW1CLEdBQUcsSUFBQSw4QkFBbUIsRUFBQyxVQUFVLENBQUMsQ0FBQztRQUM1RCxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQ3BGLGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUVVLEFBQU4sS0FBSyxDQUFDLFVBQVUsQ0FDckIsTUFBb0IsRUFDcEIsT0FBaUIsRUFDakIsUUFBbUIsRUFDbkIsa0JBQXVDO1FBRXZDLElBQUEsMkNBQStCLEVBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVwRCxPQUFPLEdBQUcsSUFBQSx3QkFBWSxFQUFDLE9BQU8sRUFBRSxNQUFNLHNCQUFTLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNsRSxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQ2hGLGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFFVSxBQUFOLEtBQUssQ0FBQyxVQUFVLENBQ3JCLE1BQW9CLEVBQ3BCLGtCQUF1QztRQUV2QyxJQUFBLDJDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFDN0Qsa0JBQWtCLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYztRQUNuQixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7U0FHSztJQUNFLG1CQUFtQjtRQUN4QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLFFBQWdCO1FBQ2xELE1BQU0sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUEseUJBQWEsRUFDNUYsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDNUIsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFBLHdCQUFZLEVBQUMsUUFBUSxDQUFDLENBQUM7YUFDdkQsSUFBSSxFQUFFLENBQ1YsQ0FBQztRQUVGLE9BQU8sZUFBZSxJQUFJLGVBQWUsSUFBSSxlQUFlLElBQUksaUJBQWlCLENBQUM7SUFDcEYsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsb0JBQW9CO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTzthQUNyRCx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ2xDLElBQUksRUFBRSxDQUFDO1FBRVYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsWUFBWTtRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV6RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFlLENBQUM7SUFDM0MsQ0FBQztJQUdNLG1CQUFtQjtRQUN4QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFFVSxBQUFOLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXZDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSxpQ0FBcUIsRUFDeEMsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQ3pFLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxhQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLE9BQU8sR0FBWSxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTzthQUNyRCxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUN4QixJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUEseUJBQWEsRUFBQyxPQUFPLENBQVksQ0FBQyxDQUFDO1FBRXhELDBEQUEwRDtRQUMxRCxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFFVSxBQUFOLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLGtCQUF1QztRQUN0RSxJQUFBLDJDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQ3RELGtCQUFrQixDQUNuQixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLGtCQUF1QztRQUN4RSxJQUFBLDJDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQ3JELGtCQUFrQixDQUNuQixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQ2xCLE9BQXFCLEVBQ3JCLGtCQUF1QztRQUV2QyxJQUFBLDJDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUVyRSxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFDM0Qsa0JBQWtCLENBQ25CLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsZUFBZSxDQUMxQixlQUE2QixFQUM3QixrQkFBdUM7UUFFdkMsSUFBQSwyQ0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELGVBQWUsR0FBRyxNQUFNLHNCQUFTLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEUsTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQy9DLElBQUksQ0FBQyxFQUFFLEVBQ1AsZUFBZSxDQUFDLFFBQVEsRUFDeEIsSUFBQSxrQ0FBc0IsRUFBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQ25ELEVBQ0Qsa0JBQWtCLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxjQUFjLENBQ3pCLFdBQW1CLEVBQ25CLGtCQUF1QztRQUV2QyxJQUFBLDJDQUErQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFcEQsTUFBTSxzQkFBUyxDQUFDLE9BQU8sQ0FDckIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFDbkUsa0JBQWtCLENBQ25CLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FDbEIsYUFBcUIsRUFDckIsa0JBQXVDO1FBRXZDLElBQUEsMkNBQStCLEVBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVwRCxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxFQUNuRSxrQkFBa0IsQ0FDbkIsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQXVDO1FBQzFELElBQUEsMkNBQStCLEVBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVwRCxNQUFNLHNCQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBdUM7UUFDekQsSUFBQSwyQ0FBK0IsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBELE1BQU0sc0JBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlGLENBQUM7Q0FDRjtBQS9qQlE7SUFETixJQUFBLCtCQUFtQixHQUFFOzs7O3lDQUdyQjtBQU1ZO0lBRFosSUFBQSwrQkFBbUIsR0FBRTs7Ozs2Q0FhckI7QUFhWTtJQURaLElBQUEsK0JBQW1CLEdBQUU7Ozs7aURBS3JCO0FBTVk7SUFEWixJQUFBLCtCQUFtQixHQUFFOzs7O3VDQVFyQjtBQU1ZO0lBRFosSUFBQSwrQkFBbUIsR0FBRTs7OzsrQ0FhckI7QUE2Q1k7SUFEWixJQUFBLCtCQUFtQixHQUFFOzs7O3lDQWVyQjtBQVVZO0lBRFosSUFBQSwrQkFBbUIsR0FBRTs7Ozs0Q0FrQnJCO0FBUVk7SUFEWixJQUFBLCtCQUFtQixHQUFFOzs7OzRDQVdyQjtBQUdhO0lBRGIsSUFBQSwrQkFBbUIsR0FBRTs7Ozs2Q0FXckI7QUFHYTtJQURiLElBQUEsK0JBQW1CLEdBQUU7Ozs7NERBYXJCO0FBU1k7SUFEWixJQUFBLCtCQUFtQixHQUFFOzs7O3VEQThCckI7QUEwRFk7SUFEWixJQUFBLCtCQUFtQixHQUFFOzs7O3VDQWVyQjtBQVVZO0lBRFosSUFBQSwrQkFBbUIsR0FBRTs7OzswQ0FjckI7QUFRWTtJQURaLElBQUEsK0JBQW1CLEdBQUU7Ozs7MENBV3JCO0FBZ0NZO0lBRFosSUFBQSwrQkFBbUIsR0FBRTs7OztvREFPckI7QUFNWTtJQURaLElBQUEsK0JBQW1CLEdBQUU7Ozs7NENBS3JCO0FBR007SUFETixJQUFBLCtCQUFtQixHQUFFOzs7O21EQUdyQjtBQU1ZO0lBRFosSUFBQSwrQkFBbUIsR0FBRTs7OztzQ0FLckI7QUFpQlk7SUFEWixJQUFBLCtCQUFtQixHQUFFOzs7OzBDQVlyQjtBQVFZO0lBRFosSUFBQSwrQkFBbUIsR0FBRTs7OztzQ0FTckI7QUF1SEgsa0JBQWUsUUFBUSxDQUFDIn0=
|
|
604
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL1RlZU9mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsa0RBWTRCO0FBYTVCLHFEQUE2RDtBQUM3RCx5RUFBOEM7QUFTOUMsa0RBQTBEO0FBQzFELGdGQUFxRDtBQUNyRCxpREFBeUM7QUFFekMsZ0ZBQXFEO0FBRXJELE1BQU0sUUFBUTtJQUNKLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRXZDLEVBQUUsQ0FBZTtJQUVqQixhQUFhLENBQW1CO0lBQ2hDLFdBQVcsQ0FBZTtJQUMxQixTQUFTLENBQWdCO0lBRXpCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixRQUFRLENBQVU7SUFDbEIsT0FBTyxDQUFXO0lBQ2xCLEdBQUcsQ0FBVTtJQUNiLFlBQVksQ0FBVTtJQUN0QixZQUFZLENBQVU7SUFDdEIsT0FBTyxDQUFXO0lBQ2xCLFlBQVksQ0FBVztJQUN2QixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUVJLFNBQVM7UUFDZCxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsYUFBYSxDQUN4QixNQUFvQixFQUNwQixTQUFpQixFQUNqQixVQUEwQixFQUMxQixZQUFzQjtRQUV0QixJQUFJLENBQUMsVUFB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
|
|
@@ -6,7 +6,7 @@ export type DownloadConfig = {
|
|
|
6
6
|
length?: number;
|
|
7
7
|
};
|
|
8
8
|
export default interface IStorageProvider {
|
|
9
|
-
uploadFile(inputStream: stream.Readable, remotePath: string, contentLength: number, progressListener?: (total: number, current: number) => void): Promise<void>;
|
|
9
|
+
uploadFile(inputStream: stream.Readable | Blob, remotePath: string, contentLength: number, progressListener?: (total: number, current: number) => void): Promise<void>;
|
|
10
10
|
downloadFile(remotePath: string, config: DownloadConfig, progressListener?: (total: number, current: number) => void): Promise<stream.Readable>;
|
|
11
11
|
deleteObject(remotePath: string): Promise<void>;
|
|
12
12
|
listObjects(remotePath: string): Promise<StorageObject[]>;
|
|
@@ -15,7 +15,7 @@ export declare class S3StorageProvider implements IStorageProvider {
|
|
|
15
15
|
private readonly defaultRegion;
|
|
16
16
|
constructor(storageAccess: S3ClientConfig);
|
|
17
17
|
private applyPrefix;
|
|
18
|
-
uploadFile(inputStream: Readable, remotePath: string, contentLength: number, progressListener?: ((total: number, current: number) => void) | undefined): Promise<void>;
|
|
18
|
+
uploadFile(inputStream: Readable | Blob, remotePath: string, contentLength: number, progressListener?: ((total: number, current: number) => void) | undefined): Promise<void>;
|
|
19
19
|
private multipartUpload;
|
|
20
20
|
deleteObject(remotePath: string): Promise<void>;
|
|
21
21
|
downloadFile(remotePath: string, config: DownloadConfig, progressListener?: ((total: number, current: number) => void) | undefined): Promise<Readable>;
|
|
@@ -46,11 +46,18 @@ class S3StorageProvider {
|
|
|
46
46
|
// For performance & cost optimization
|
|
47
47
|
// https://docs.storj.io/dcs/api-reference/s3-compatible-gateway/multipart-upload/multipart-part-size
|
|
48
48
|
const key = this.applyPrefix(remotePath);
|
|
49
|
+
let body;
|
|
50
|
+
if (inputStream instanceof Blob) {
|
|
51
|
+
body = new Uint8Array(await inputStream.arrayBuffer());
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
body = inputStream;
|
|
55
|
+
}
|
|
49
56
|
if (contentLength >= this.multipartChunkSizeInBytes) {
|
|
50
57
|
return this.multipartUpload(inputStream, key, contentLength, progressListener);
|
|
51
58
|
}
|
|
52
59
|
const putObjectCommand = new client_s3_1.PutObjectCommand({
|
|
53
|
-
Body:
|
|
60
|
+
Body: body,
|
|
54
61
|
Bucket: this.bucket,
|
|
55
62
|
Key: key,
|
|
56
63
|
ContentLength: contentLength,
|
|
@@ -61,6 +68,13 @@ class S3StorageProvider {
|
|
|
61
68
|
}
|
|
62
69
|
async multipartUpload(inputStream, remotePath, contentLength, progressListener) {
|
|
63
70
|
const key = this.applyPrefix(remotePath);
|
|
71
|
+
let transformedStream;
|
|
72
|
+
if (inputStream instanceof Blob) {
|
|
73
|
+
transformedStream = new Uint8Array(await inputStream.arrayBuffer());
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
transformedStream = inputStream;
|
|
77
|
+
}
|
|
64
78
|
const createMultipartUploadCommand = new client_s3_1.CreateMultipartUploadCommand({
|
|
65
79
|
Bucket: this.bucket,
|
|
66
80
|
Key: key,
|
|
@@ -69,26 +83,38 @@ class S3StorageProvider {
|
|
|
69
83
|
if (!multipart.UploadId) {
|
|
70
84
|
throw new Error('UploadId property is empty');
|
|
71
85
|
}
|
|
86
|
+
let totalWritten = 0;
|
|
87
|
+
const uploadId = multipart.UploadId;
|
|
88
|
+
const parts = [];
|
|
89
|
+
const uploadPart = async (chunk, partNumber) => {
|
|
90
|
+
const uploadPartCommand = new client_s3_1.UploadPartCommand({
|
|
91
|
+
Body: chunk,
|
|
92
|
+
Bucket: this.bucket,
|
|
93
|
+
Key: key,
|
|
94
|
+
UploadId: uploadId,
|
|
95
|
+
PartNumber: partNumber,
|
|
96
|
+
});
|
|
97
|
+
const response = await this.s3Client.send(uploadPartCommand);
|
|
98
|
+
parts.push({
|
|
99
|
+
ETag: response.ETag,
|
|
100
|
+
PartNumber: partNumber,
|
|
101
|
+
});
|
|
102
|
+
totalWritten += chunk.length;
|
|
103
|
+
progressListener?.(contentLength, totalWritten);
|
|
104
|
+
};
|
|
72
105
|
try {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
parts.push({
|
|
86
|
-
ETag: response.ETag,
|
|
87
|
-
PartNumber: streamChunk.partNumber,
|
|
88
|
-
});
|
|
89
|
-
totalWritten += streamChunk.data.length;
|
|
90
|
-
if (!!progressListener) {
|
|
91
|
-
progressListener(contentLength, totalWritten);
|
|
106
|
+
if (transformedStream instanceof stream_1.Readable) {
|
|
107
|
+
for await (const streamChunk of (0, getStreamChunks_js_1.getStreamChunks)(transformedStream, this.multipartChunkSizeInBytes)) {
|
|
108
|
+
await uploadPart(streamChunk.data, streamChunk.partNumber);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
const chunkSize = this.multipartChunkSizeInBytes;
|
|
113
|
+
let partNumber = 1;
|
|
114
|
+
for (let offset = 0; offset < transformedStream.length; offset += chunkSize) {
|
|
115
|
+
const chunk = transformedStream.slice(offset, offset + chunkSize);
|
|
116
|
+
await uploadPart(chunk, partNumber);
|
|
117
|
+
partNumber++;
|
|
92
118
|
}
|
|
93
119
|
}
|
|
94
120
|
const completeMultipartUploadCommand = new client_s3_1.CompleteMultipartUploadCommand({
|
|
@@ -184,4 +210,4 @@ class S3StorageProvider {
|
|
|
184
210
|
}
|
|
185
211
|
}
|
|
186
212
|
exports.S3StorageProvider = S3StorageProvider;
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvUzNTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBYzRCO0FBRTVCLG1DQUFrQztBQUVsQywrRUFBeUU7QUFFekUsZ0RBQXdCO0FBT3hCLE1BQWEsaUJBQWlCO0lBQ1gsUUFBUSxDQUFXO0lBQ25CLE1BQU0sQ0FBUztJQUNmLE1BQU0sQ0FBUztJQUNmLHlCQUF5QixHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTztJQUNyRCxhQUFhLEdBQUcsV0FBVyxDQUFDO0lBRTdDLFlBQVksYUFBNkI7UUFDdkMsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQ25GLElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxTQUFTO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BELElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLE1BQU0sR0FBRyxDQUN6RixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUks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
|