@super-protocol/sdk-js 2.2.0-beta.87 → 2.2.0-beta.89
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/constants.d.ts +1 -0
- package/dist/cjs/constants.js +3 -2
- package/dist/cjs/models/Offer.d.ts +1 -1
- package/dist/cjs/models/Offer.js +6 -4
- package/dist/cjs/utils/helpers/OrderArgsHelper.js +8 -38
- package/dist/cjs/utils/helpers/index.d.ts +1 -0
- package/dist/cjs/utils/helpers/index.js +2 -1
- package/dist/cjs/utils/helpers/uploadObjectToStorage.d.ts +13 -0
- package/dist/cjs/utils/helpers/uploadObjectToStorage.js +55 -0
- package/dist/mjs/constants.d.ts +1 -0
- package/dist/mjs/constants.js +2 -1
- package/dist/mjs/models/Offer.d.ts +1 -1
- package/dist/mjs/models/Offer.js +7 -5
- package/dist/mjs/utils/helpers/OrderArgsHelper.js +8 -38
- package/dist/mjs/utils/helpers/index.d.ts +1 -0
- package/dist/mjs/utils/helpers/index.js +2 -1
- package/dist/mjs/utils/helpers/uploadObjectToStorage.d.ts +13 -0
- package/dist/mjs/utils/helpers/uploadObjectToStorage.js +48 -0
- package/package.json +1 -1
package/dist/cjs/constants.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const POLYGON_MAIN_CHAIN_ID = 137;
|
|
|
17
17
|
export declare const POLYGON_AMOY_CHAIN_ID = 80002;
|
|
18
18
|
export declare const AMOY_TX_COST_LIMIT: bigint;
|
|
19
19
|
export declare const AMOY_TX_GAS_LIMIT: bigint;
|
|
20
|
+
export declare const DEFAULT_OFFER_VERSION = 0;
|
|
20
21
|
export declare const ZERO_HASH: Hash;
|
|
21
22
|
export declare const TEE_LOADER_TRUSTED_MRSIGNER: Buffer;
|
|
22
23
|
export declare const TEE_LOADER_TRUSTED_CERTIFICATE = "-----BEGIN CERTIFICATE-----\nMIIEJTCCAo2gAwIBAgIUGvcNLMGAOGK/UWfDl1PDc8v6qTYwDQYJKoZIhvcNAQEL\nBQAwMDEWMBQGA1UEAwwNU3VwZXJQcm90b2NvbDEWMBQGA1UECgwNU3VwZXJQcm90\nb2NvbDAeFw0yNDA5MDQwOTA4MDZaFw0zNDA5MDIwOTA4MDZaMDAxFjAUBgNVBAMM\nDVN1cGVyUHJvdG9jb2wxFjAUBgNVBAoMDVN1cGVyUHJvdG9jb2wwggGgMA0GCSqG\nSIb3DQEBAQUAA4IBjQAwggGIAoIBgQDL326V3vj04Plbjyuhngxu4qTUGju0Yh8Q\n6i3X7GVZAoMMFpFAOD4s4aE+lGYZsX+zi32tQa/EGePKX4+2kvImTH54FPq5tMRv\n/hJt2CKo+O1ddXR5RVigFkdKZP1gWSVwnVhYPBjE6bSySH/CbkgGlKcYy4unaZzw\nXKr6/FbMQ94XNssfpBZ0b/1OzmYkcndRpYbV9biVIx/d5Vz0FHClru2lelREuPZO\nxfzCAJtBVDX5BgugJ1Lodlznu+wgZHpPEd6qZolakNpcFXx3PD1p6RMZp2T38h62\nMjVtpf0EnyzsinH19id/2rCZZ7ME7VyY6jCb0x3pMw8SRXG/Np3L6szItZsasmho\nnodbkQ9igVBbZwEU53VDNLhqMve39JdCkHdOcFLJ4jP7w6jAf5oB3v/28IjlGjyP\nRGycNT9PeY2RvmkDg7BjqrGiudHf1GYdPPcZpFl6Yr76l89HfcBUyUl2ynKb6pBU\njhO1qrNwj7I4d0ZMPa8xO6JFDv7WLz0CAQOjOTA3MAkGA1UdEwQCMAAwCwYDVR0P\nBAQDAgeAMB0GA1UdDgQWBBQiTjvWXxnyck2wUpWfEC7UTab/hjANBgkqhkiG9w0B\nAQsFAAOCAYEAt3/TnuC2ieDLBFx/QEme9OsiqX4wdfU1zBNnL6ECG5J9WXqS08p7\nqkBXV9mbPGwHy1nGhLy3BKgGHZj6+Wv19CKRwGNFkcweqJexzFxbYHyikBTL5n9o\nvL+A3M0PU2iZAyayKpY62TXTxwIDHDOTETTCtubqwnNHkoFYKRz7P075mYg1SJFe\n+cfssv0/IBvdZ8p34JB5hibAkKkZn9SSa6CAFmFG5L5ps9kXumJEti+HPU8fbBdA\nogoTFEQGzYIFNgu7IZ5/PQgNeSPxQFJqRMJYWkBSD/+uOCh3G5cJ2Oe+rwtR5BL3\nuqR6T7QVrRzzDWy0mzo2GYACilBYoGMiXXqxuZB5XHsNobAvZLVbn5wpPyOChvT+\nR5GssD2vxtyGKL++xi9z1x+Yu48RAd9wSNgF8ZOzoGnvDZAyOQlCV5CgwJvHKvI/\n2ONVNHPSXgVgj5ZBi+MXoDVKumEfABtovfwAgU2sXF3m7c7++1Zav5h+tNjmjJ3/\n1kFRhndoOxr4\n-----END CERTIFICATE-----";
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TEE_LOADER_TRUSTED_CERTIFICATE = exports.TEE_LOADER_TRUSTED_MRSIGNER = exports.ZERO_HASH = exports.AMOY_TX_GAS_LIMIT = exports.AMOY_TX_COST_LIMIT = exports.POLYGON_AMOY_CHAIN_ID = exports.POLYGON_MAIN_CHAIN_ID = exports.BLOCKCHAIN_BATCH_REQUEST_TIMEOUT = exports.BLOCKCHAIN_CALL_RETRY_INTERVAL = exports.BLOCKCHAIN_CALL_RETRY_ATTEMPTS = exports.POLYGON_MATIC_EVENT_PATH = exports.BLOCK_SIZE_TO_FETCH_TRANSACTION = exports.ONE_DAY = exports.txIntervalMs = exports.txConcurrency = exports.defaultGasLimitMultiplier = exports.defaultGasPriceMultiplier = exports.defaultGasPrice = exports.defaultGasLimit = exports.defaultBlockchainUrl = void 0;
|
|
3
|
+
exports.TEE_LOADER_TRUSTED_CERTIFICATE = exports.TEE_LOADER_TRUSTED_MRSIGNER = exports.ZERO_HASH = exports.DEFAULT_OFFER_VERSION = exports.AMOY_TX_GAS_LIMIT = exports.AMOY_TX_COST_LIMIT = exports.POLYGON_AMOY_CHAIN_ID = exports.POLYGON_MAIN_CHAIN_ID = exports.BLOCKCHAIN_BATCH_REQUEST_TIMEOUT = exports.BLOCKCHAIN_CALL_RETRY_INTERVAL = exports.BLOCKCHAIN_CALL_RETRY_ATTEMPTS = exports.POLYGON_MATIC_EVENT_PATH = exports.BLOCK_SIZE_TO_FETCH_TRANSACTION = exports.ONE_DAY = exports.txIntervalMs = exports.txConcurrency = exports.defaultGasLimitMultiplier = exports.defaultGasPriceMultiplier = exports.defaultGasPrice = exports.defaultGasLimit = exports.defaultBlockchainUrl = void 0;
|
|
4
4
|
const dto_js_1 = require("@super-protocol/dto-js");
|
|
5
5
|
exports.defaultBlockchainUrl = 'http://127.0.0.1:8545';
|
|
6
6
|
exports.defaultGasLimit = BigInt(7000000);
|
|
@@ -19,6 +19,7 @@ exports.POLYGON_MAIN_CHAIN_ID = 137;
|
|
|
19
19
|
exports.POLYGON_AMOY_CHAIN_ID = 80002;
|
|
20
20
|
exports.AMOY_TX_COST_LIMIT = BigInt('500000000000000000');
|
|
21
21
|
exports.AMOY_TX_GAS_LIMIT = BigInt('5000000');
|
|
22
|
+
exports.DEFAULT_OFFER_VERSION = 0;
|
|
22
23
|
exports.ZERO_HASH = {
|
|
23
24
|
hash: '0000000000000000000000000000000000000000000000000000000000000000',
|
|
24
25
|
algo: dto_js_1.HashAlgorithm.SHA256,
|
|
@@ -50,4 +51,4 @@ R5GssD2vxtyGKL++xi9z1x+Yu48RAd9wSNgF8ZOzoGnvDZAyOQlCV5CgwJvHKvI/
|
|
|
50
51
|
2ONVNHPSXgVgj5ZBi+MXoDVKumEfABtovfwAgU2sXF3m7c7++1Zav5h+tNjmjJ3/
|
|
51
52
|
1kFRhndoOxr4
|
|
52
53
|
-----END CERTIFICATE-----`;
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBdUU7QUFFMUQsUUFBQSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQztBQUMvQyxRQUFBLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEMsUUFBQSxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3JDLFFBQUEseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLFFBQUEseUJBQXlCLEdBQUcsR0FBRyxDQUFDO0FBQ2hDLFFBQUEsYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUNuQixRQUFBLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDbEIsUUFBQSxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDdkIsUUFBQSwrQkFBK0IsR0FBRyxHQUFHLENBQUM7QUFDdEMsUUFBQSx3QkFBd0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUN4RSxRQUFBLDhCQUE4QixHQUFHLEVBQUUsQ0FBQztBQUNwQyxRQUFBLDhCQUE4QixHQUFHLElBQUksQ0FBQztBQUN0QyxRQUFBLGdDQUFnQyxHQUFHLEtBQUssQ0FBQztBQUN6QyxRQUFBLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUM1QixRQUFBLHFCQUFxQixHQUFHLEtBQUssQ0FBQztBQUM5QixRQUFBLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xELFFBQUEsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3RDLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO0FBQzFCLFFBQUEsU0FBUyxHQUFTO0lBQzdCLElBQUksRUFBRSxrRUFBa0U7SUFDeEUsSUFBSSxFQUFFLHNCQUFhLENBQUMsTUFBTTtJQUMxQixRQUFRLEVBQUUsaUJBQVEsQ0FBQyxNQUFNO0NBQzFCLENBQUM7QUFDVyxRQUFBLDJCQUEyQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ3BELGtFQUFrRSxFQUNsRSxLQUFLLENBQ04sQ0FBQztBQUNXLFFBQUEsOEJBQThCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkF3QnBCLENBQUMifQ==
|
|
@@ -150,7 +150,7 @@ declare class Offer {
|
|
|
150
150
|
* Checks if passed offer match restrictions in this offer
|
|
151
151
|
* @param offerId - id of offer what needs to be checked
|
|
152
152
|
*/
|
|
153
|
-
isRestrictionsPermitThatOffer(offerId: BlockchainId): Promise<boolean>;
|
|
153
|
+
isRestrictionsPermitThatOffer(offerId: BlockchainId, offerVersion?: number): Promise<boolean>;
|
|
154
154
|
/**
|
|
155
155
|
* Checks if this offer contains restrictions of a certain type
|
|
156
156
|
* @param type - type of offer which needs to be checked
|
package/dist/cjs/models/Offer.js
CHANGED
|
@@ -322,8 +322,10 @@ class Offer {
|
|
|
322
322
|
* Checks if passed offer match restrictions in this offer
|
|
323
323
|
* @param offerId - id of offer what needs to be checked
|
|
324
324
|
*/
|
|
325
|
-
isRestrictionsPermitThatOffer(offerId) {
|
|
326
|
-
return Offer.contract.methods
|
|
325
|
+
isRestrictionsPermitThatOffer(offerId, offerVersion = constants_js_1.DEFAULT_OFFER_VERSION) {
|
|
326
|
+
return Offer.contract.methods
|
|
327
|
+
.isOfferRestrictionsPermitOtherOffer(this.id, offerId, offerVersion)
|
|
328
|
+
.call();
|
|
327
329
|
}
|
|
328
330
|
/**
|
|
329
331
|
* Checks if this offer contains restrictions of a certain type
|
|
@@ -444,7 +446,7 @@ __decorate([
|
|
|
444
446
|
__decorate([
|
|
445
447
|
(0, helper_js_1.incrementMethodCall)(),
|
|
446
448
|
__metadata("design:type", Function),
|
|
447
|
-
__metadata("design:paramtypes", [String]),
|
|
449
|
+
__metadata("design:paramtypes", [String, Number]),
|
|
448
450
|
__metadata("design:returntype", Promise)
|
|
449
451
|
], Offer.prototype, "isRestrictionsPermitThatOffer", null);
|
|
450
452
|
__decorate([
|
|
@@ -454,4 +456,4 @@ __decorate([
|
|
|
454
456
|
__metadata("design:returntype", Promise)
|
|
455
457
|
], Offer.prototype, "isRestrictedByOfferType", null);
|
|
456
458
|
exports.default = Offer;
|
|
457
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQXNDO0FBQ3RDLGtEQVM0QjtBQUM1QixxREFBNkQ7QUFDN0QsZ0RBZTJCO0FBQzNCLGtEQUEwRDtBQUMxRCxnRkFBcUQ7QUFDckQseUVBQThDO0FBQzlDLHdEQUE0RDtBQUM1RCxrREFBaUc7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsU0FBUyxFQUFFLE9BQU87WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVJLFNBQVM7UUFDZCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLElB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
|
|
459
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQXNDO0FBQ3RDLGtEQVM0QjtBQUM1QixxREFBNkQ7QUFDN0QsZ0RBZTJCO0FBQzNCLGtEQUEwRDtBQUMxRCxnRkFBcUQ7QUFDckQseUVBQThDO0FBQzlDLHdEQUE0RDtBQUM1RCxrREFBd0g7QUFFeEgsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsU0FBUyxFQUFFLE9BQU87WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVJLFNBQVM7UUFDZCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBRVUsQUFBTixLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLElB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
|
|
@@ -5,11 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.OrderArgsHelper = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const stream_1 = require("stream");
|
|
9
|
-
const dto_js_1 = require("@super-protocol/dto-js");
|
|
10
8
|
const index_js_1 = __importDefault(require("../../crypto/index.js"));
|
|
11
|
-
const
|
|
12
|
-
const helper_js_1 = require("../helper.js");
|
|
9
|
+
const uploadObjectToStorage_js_1 = require("./uploadObjectToStorage.js");
|
|
13
10
|
const isStringArray = (item) => Array.isArray(item) && item.every(lodash_1.default.isString);
|
|
14
11
|
const isEncryptedArgsConfiguration = (arg) => Boolean(lodash_1.default.isPlainObject(arg) && isStringArray(arg.data) && lodash_1.default.isPlainObject(arg.solution));
|
|
15
12
|
const isEncryptedArgs = (arg) => Boolean(lodash_1.default.isPlainObject(arg) &&
|
|
@@ -45,45 +42,18 @@ class OrderArgsHelper {
|
|
|
45
42
|
totalElements += args.configuration?.solution ? 1 : 0;
|
|
46
43
|
return totalElements > elementsCount;
|
|
47
44
|
}
|
|
48
|
-
static
|
|
45
|
+
static uploadToStorage(params) {
|
|
49
46
|
const { access, args, key, encryption } = params;
|
|
50
|
-
if (access.read.storageType !== access.write.storageType ||
|
|
51
|
-
access.read.credentials.bucket !== access.write.credentials.bucket ||
|
|
52
|
-
access.read.credentials.prefix !== access.write.credentials.prefix) {
|
|
53
|
-
throw new Error('Invalid storage access configuration');
|
|
54
|
-
}
|
|
55
47
|
if (!isEncryptedArgs(args)) {
|
|
56
48
|
throw new Error('Invalid args for uploading');
|
|
57
49
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if ((0, helper_js_1.isNodeJS)()) {
|
|
61
|
-
const stream = new stream_1.Readable();
|
|
62
|
-
stream.push(buffer);
|
|
63
|
-
stream.push(null);
|
|
64
|
-
return {
|
|
65
|
-
stream,
|
|
66
|
-
size: buffer.length,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
const blob = new Blob([buffer]);
|
|
71
|
-
return {
|
|
72
|
-
stream: blob,
|
|
73
|
-
size: blob.size,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const encryptedData = await OrderArgsHelper.encryptOrderArgs(args, encryption);
|
|
78
|
-
const dataForUpload = string2Stream(encryptedData);
|
|
79
|
-
const storageProvider = (0, getStorageProvider_js_1.default)(params.access.write);
|
|
80
|
-
await storageProvider.uploadFile(dataForUpload.stream, key, dataForUpload.size);
|
|
81
|
-
return {
|
|
82
|
-
...access.read,
|
|
83
|
-
type: dto_js_1.ResourceType.StorageProvider,
|
|
50
|
+
return (0, uploadObjectToStorage_js_1.uploadObjectToStorage)({
|
|
51
|
+
data: args,
|
|
84
52
|
filepath: key,
|
|
85
|
-
|
|
53
|
+
access,
|
|
54
|
+
encryption,
|
|
55
|
+
});
|
|
86
56
|
}
|
|
87
57
|
}
|
|
88
58
|
exports.OrderArgsHelper = OrderArgsHelper;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJBcmdzSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvT3JkZXJBcmdzSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUF1QjtBQU92QixxRUFBMkM7QUFFM0MseUVBQW1FO0FBRW5FLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBYSxFQUFvQixFQUFFLENBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWhELE1BQU0sNEJBQTRCLEdBQUcsQ0FDbkMsR0FBNEIsRUFDZSxFQUFFLENBQzdDLE9BQU8sQ0FBQyxnQkFBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBRTVGLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBeUMsRUFBZ0MsRUFBRSxDQUNsRyxPQUFPLENBQ0wsZ0JBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQ2xCLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3hCLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUNqQiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsYUFBd0MsQ0FBQyxDQUFDLENBQ2hGLENBQUM7QUFFSixNQUFhLGVBQWU7SUFDMUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDM0IsYUFBcUIsRUFDckIsY0FBc0I7UUFFdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxTQUFTLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQztRQUUvQixNQUFNLGdCQUFnQixHQUFHLE1BQU0sa0JBQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBELE9BQU8sY0FBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsVUFBc0I7UUFDakUsTUFBTSxhQUFhLEdBQUcsTUFBTSxrQkFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUM3QixJQUFvQyxFQUNwQyxhQUFhLEdBQUcsQ0FBQztRQUVqQixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFnQyxFQUFRLEVBQUU7WUFDckQsYUFBYSxJQUFJLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQztRQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RCxPQUFPLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFRdEI7UUFDQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRWpELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELE9BQU8sSUFBQSxnREFBcUIsRUFBQztZQUMzQixJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxHQUFHO1lBQ2IsTUFBTTtZQUNOLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFoRUQsMENBZ0VDIn0=
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./tryWithInterval.js"), exports);
|
|
18
18
|
__exportStar(require("./OrderArgsHelper.js"), exports);
|
|
19
|
-
|
|
19
|
+
__exportStar(require("./uploadObjectToStorage.js"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXFDO0FBQ3JDLHVEQUFxQztBQUNyQyw2REFBMkMifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Encryption, StorageProviderResource } from '@super-protocol/dto-js';
|
|
2
|
+
import { StorageAccess } from '../../index.js';
|
|
3
|
+
export type ReadWriteStorageAccess = {
|
|
4
|
+
read: StorageAccess;
|
|
5
|
+
write: StorageAccess;
|
|
6
|
+
};
|
|
7
|
+
export type UploadObjectToStoragePrams = {
|
|
8
|
+
data: Record<string, unknown>;
|
|
9
|
+
filepath: string;
|
|
10
|
+
access: ReadWriteStorageAccess;
|
|
11
|
+
encryption?: Encryption;
|
|
12
|
+
};
|
|
13
|
+
export declare const uploadObjectToStorage: (params: UploadObjectToStoragePrams) => Promise<StorageProviderResource>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.uploadObjectToStorage = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const stream_1 = require("stream");
|
|
9
|
+
const dto_js_1 = require("@super-protocol/dto-js");
|
|
10
|
+
const index_js_1 = require("../../index.js");
|
|
11
|
+
const helper_js_1 = require("../helper.js");
|
|
12
|
+
const OrderArgsHelper_js_1 = require("./OrderArgsHelper.js");
|
|
13
|
+
const string2Stream = (data) => {
|
|
14
|
+
const buffer = Buffer.from(data);
|
|
15
|
+
if ((0, helper_js_1.isNodeJS)()) {
|
|
16
|
+
const stream = new stream_1.Readable();
|
|
17
|
+
stream.push(buffer);
|
|
18
|
+
stream.push(null);
|
|
19
|
+
return {
|
|
20
|
+
stream,
|
|
21
|
+
size: buffer.length,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const blob = new Blob([buffer]);
|
|
26
|
+
return {
|
|
27
|
+
stream: blob,
|
|
28
|
+
size: blob.size,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const uploadObjectToStorage = async (params) => {
|
|
33
|
+
const { data, access, filepath, encryption } = params;
|
|
34
|
+
if (access.read.storageType !== access.write.storageType ||
|
|
35
|
+
access.read.credentials.bucket !== access.write.credentials.bucket ||
|
|
36
|
+
access.read.credentials.prefix !== access.write.credentials.prefix) {
|
|
37
|
+
throw new Error('Invalid storage access configuration');
|
|
38
|
+
}
|
|
39
|
+
if (!lodash_1.default.isPlainObject(params.data)) {
|
|
40
|
+
throw new Error('Invalid input data to upload to storage');
|
|
41
|
+
}
|
|
42
|
+
const dataToUpload = encryption
|
|
43
|
+
? await OrderArgsHelper_js_1.OrderArgsHelper.encryptOrderArgs(data, encryption)
|
|
44
|
+
: JSON.stringify(data);
|
|
45
|
+
const dataForUpload = string2Stream(dataToUpload);
|
|
46
|
+
const storageProvider = (0, index_js_1.getStorageProvider)(access.write);
|
|
47
|
+
await storageProvider.uploadFile(dataForUpload.stream, filepath, dataForUpload.size);
|
|
48
|
+
return {
|
|
49
|
+
...access.read,
|
|
50
|
+
type: dto_js_1.ResourceType.StorageProvider,
|
|
51
|
+
filepath,
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
exports.uploadObjectToStorage = uploadObjectToStorage;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkT2JqZWN0VG9TdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvdXBsb2FkT2JqZWN0VG9TdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUF1QjtBQUN2QixtQ0FBa0M7QUFDbEMsbURBQTJGO0FBQzNGLDZDQUFtRTtBQUNuRSw0Q0FBd0M7QUFDeEMsNkRBQXVEO0FBY3ZELE1BQU0sYUFBYSxHQUFHLENBQ3BCLElBQVksRUFJWixFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQyxJQUFJLElBQUEsb0JBQVEsR0FBRSxFQUFFLENBQUM7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEIsT0FBTztZQUNMLE1BQU07WUFDTixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRWhDLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQztBQUVLLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUN4QyxNQUFrQyxFQUNBLEVBQUU7SUFDcEMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUN0RCxJQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVztRQUNwRCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUNsRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUNsRSxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLENBQUMsZ0JBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxVQUFVO1FBQzdCLENBQUMsQ0FBQyxNQUFNLG9DQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQztRQUMxRCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQUcsSUFBQSw2QkFBa0IsRUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsTUFBTSxlQUFlLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyRixPQUFPO1FBQ0wsR0FBRyxNQUFNLENBQUMsSUFBSTtRQUNkLElBQUksRUFBRSxxQkFBWSxDQUFDLGVBQWU7UUFDbEMsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDLENBQUM7QUE1QlcsUUFBQSxxQkFBcUIseUJBNEJoQyJ9
|
package/dist/mjs/constants.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const POLYGON_MAIN_CHAIN_ID = 137;
|
|
|
17
17
|
export declare const POLYGON_AMOY_CHAIN_ID = 80002;
|
|
18
18
|
export declare const AMOY_TX_COST_LIMIT: bigint;
|
|
19
19
|
export declare const AMOY_TX_GAS_LIMIT: bigint;
|
|
20
|
+
export declare const DEFAULT_OFFER_VERSION = 0;
|
|
20
21
|
export declare const ZERO_HASH: Hash;
|
|
21
22
|
export declare const TEE_LOADER_TRUSTED_MRSIGNER: Buffer;
|
|
22
23
|
export declare const TEE_LOADER_TRUSTED_CERTIFICATE = "-----BEGIN CERTIFICATE-----\nMIIEJTCCAo2gAwIBAgIUGvcNLMGAOGK/UWfDl1PDc8v6qTYwDQYJKoZIhvcNAQEL\nBQAwMDEWMBQGA1UEAwwNU3VwZXJQcm90b2NvbDEWMBQGA1UECgwNU3VwZXJQcm90\nb2NvbDAeFw0yNDA5MDQwOTA4MDZaFw0zNDA5MDIwOTA4MDZaMDAxFjAUBgNVBAMM\nDVN1cGVyUHJvdG9jb2wxFjAUBgNVBAoMDVN1cGVyUHJvdG9jb2wwggGgMA0GCSqG\nSIb3DQEBAQUAA4IBjQAwggGIAoIBgQDL326V3vj04Plbjyuhngxu4qTUGju0Yh8Q\n6i3X7GVZAoMMFpFAOD4s4aE+lGYZsX+zi32tQa/EGePKX4+2kvImTH54FPq5tMRv\n/hJt2CKo+O1ddXR5RVigFkdKZP1gWSVwnVhYPBjE6bSySH/CbkgGlKcYy4unaZzw\nXKr6/FbMQ94XNssfpBZ0b/1OzmYkcndRpYbV9biVIx/d5Vz0FHClru2lelREuPZO\nxfzCAJtBVDX5BgugJ1Lodlznu+wgZHpPEd6qZolakNpcFXx3PD1p6RMZp2T38h62\nMjVtpf0EnyzsinH19id/2rCZZ7ME7VyY6jCb0x3pMw8SRXG/Np3L6szItZsasmho\nnodbkQ9igVBbZwEU53VDNLhqMve39JdCkHdOcFLJ4jP7w6jAf5oB3v/28IjlGjyP\nRGycNT9PeY2RvmkDg7BjqrGiudHf1GYdPPcZpFl6Yr76l89HfcBUyUl2ynKb6pBU\njhO1qrNwj7I4d0ZMPa8xO6JFDv7WLz0CAQOjOTA3MAkGA1UdEwQCMAAwCwYDVR0P\nBAQDAgeAMB0GA1UdDgQWBBQiTjvWXxnyck2wUpWfEC7UTab/hjANBgkqhkiG9w0B\nAQsFAAOCAYEAt3/TnuC2ieDLBFx/QEme9OsiqX4wdfU1zBNnL6ECG5J9WXqS08p7\nqkBXV9mbPGwHy1nGhLy3BKgGHZj6+Wv19CKRwGNFkcweqJexzFxbYHyikBTL5n9o\nvL+A3M0PU2iZAyayKpY62TXTxwIDHDOTETTCtubqwnNHkoFYKRz7P075mYg1SJFe\n+cfssv0/IBvdZ8p34JB5hibAkKkZn9SSa6CAFmFG5L5ps9kXumJEti+HPU8fbBdA\nogoTFEQGzYIFNgu7IZ5/PQgNeSPxQFJqRMJYWkBSD/+uOCh3G5cJ2Oe+rwtR5BL3\nuqR6T7QVrRzzDWy0mzo2GYACilBYoGMiXXqxuZB5XHsNobAvZLVbn5wpPyOChvT+\nR5GssD2vxtyGKL++xi9z1x+Yu48RAd9wSNgF8ZOzoGnvDZAyOQlCV5CgwJvHKvI/\n2ONVNHPSXgVgj5ZBi+MXoDVKumEfABtovfwAgU2sXF3m7c7++1Zav5h+tNjmjJ3/\n1kFRhndoOxr4\n-----END CERTIFICATE-----";
|
package/dist/mjs/constants.js
CHANGED
|
@@ -16,6 +16,7 @@ export const POLYGON_MAIN_CHAIN_ID = 137;
|
|
|
16
16
|
export const POLYGON_AMOY_CHAIN_ID = 80002;
|
|
17
17
|
export const AMOY_TX_COST_LIMIT = BigInt('500000000000000000');
|
|
18
18
|
export const AMOY_TX_GAS_LIMIT = BigInt('5000000');
|
|
19
|
+
export const DEFAULT_OFFER_VERSION = 0;
|
|
19
20
|
export const ZERO_HASH = {
|
|
20
21
|
hash: '0000000000000000000000000000000000000000000000000000000000000000',
|
|
21
22
|
algo: HashAlgorithm.SHA256,
|
|
@@ -47,4 +48,4 @@ R5GssD2vxtyGKL++xi9z1x+Yu48RAd9wSNgF8ZOzoGnvDZAyOQlCV5CgwJvHKvI/
|
|
|
47
48
|
2ONVNHPSXgVgj5ZBi+MXoDVKumEfABtovfwAgU2sXF3m7c7++1Zav5h+tNjmjJ3/
|
|
48
49
|
1kFRhndoOxr4
|
|
49
50
|
-----END CERTIFICATE-----`;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDcEMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEVBQUUsQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsS0FBSyxDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVM7SUFDN0IsSUFBSSxFQUFFLGtFQUFrRTtJQUN4RSxJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU07SUFDMUIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0NBQzFCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNwRCxrRUFBa0UsRUFDbEUsS0FBSyxDQUNOLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzBCQXdCcEIsQ0FBQyJ9
|
|
@@ -150,7 +150,7 @@ declare class Offer {
|
|
|
150
150
|
* Checks if passed offer match restrictions in this offer
|
|
151
151
|
* @param offerId - id of offer what needs to be checked
|
|
152
152
|
*/
|
|
153
|
-
isRestrictionsPermitThatOffer(offerId: BlockchainId): Promise<boolean>;
|
|
153
|
+
isRestrictionsPermitThatOffer(offerId: BlockchainId, offerVersion?: number): Promise<boolean>;
|
|
154
154
|
/**
|
|
155
155
|
* Checks if this offer contains restrictions of a certain type
|
|
156
156
|
* @param type - type of offer which needs to be checked
|
package/dist/mjs/models/Offer.js
CHANGED
|
@@ -15,7 +15,7 @@ import { formatBytes32String } from 'ethers/lib/utils.js';
|
|
|
15
15
|
import TeeOffers from '../staticModels/TeeOffers.js';
|
|
16
16
|
import TxManager from '../utils/TxManager.js';
|
|
17
17
|
import { tryWithInterval } from '../utils/helpers/index.js';
|
|
18
|
-
import { BLOCKCHAIN_CALL_RETRY_INTERVAL, BLOCKCHAIN_CALL_RETRY_ATTEMPTS } from '../constants.js';
|
|
18
|
+
import { BLOCKCHAIN_CALL_RETRY_INTERVAL, BLOCKCHAIN_CALL_RETRY_ATTEMPTS, DEFAULT_OFFER_VERSION } from '../constants.js';
|
|
19
19
|
class Offer {
|
|
20
20
|
static contract;
|
|
21
21
|
logger;
|
|
@@ -317,8 +317,10 @@ class Offer {
|
|
|
317
317
|
* Checks if passed offer match restrictions in this offer
|
|
318
318
|
* @param offerId - id of offer what needs to be checked
|
|
319
319
|
*/
|
|
320
|
-
isRestrictionsPermitThatOffer(offerId) {
|
|
321
|
-
return Offer.contract.methods
|
|
320
|
+
isRestrictionsPermitThatOffer(offerId, offerVersion = DEFAULT_OFFER_VERSION) {
|
|
321
|
+
return Offer.contract.methods
|
|
322
|
+
.isOfferRestrictionsPermitOtherOffer(this.id, offerId, offerVersion)
|
|
323
|
+
.call();
|
|
322
324
|
}
|
|
323
325
|
/**
|
|
324
326
|
* Checks if this offer contains restrictions of a certain type
|
|
@@ -439,7 +441,7 @@ __decorate([
|
|
|
439
441
|
__decorate([
|
|
440
442
|
incrementMethodCall(),
|
|
441
443
|
__metadata("design:type", Function),
|
|
442
|
-
__metadata("design:paramtypes", [String]),
|
|
444
|
+
__metadata("design:paramtypes", [String, Number]),
|
|
443
445
|
__metadata("design:returntype", Promise)
|
|
444
446
|
], Offer.prototype, "isRestrictionsPermitThatOffer", null);
|
|
445
447
|
__decorate([
|
|
@@ -449,4 +451,4 @@ __decorate([
|
|
|
449
451
|
__metadata("design:returntype", Promise)
|
|
450
452
|
], Offer.prototype, "isRestrictedByOfferType", null);
|
|
451
453
|
export default Offer;
|
|
452
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixHQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFNTCxTQUFTLEdBU1YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLFNBQVMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakcsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMs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
|
|
454
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHNCQUFzQixHQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFNTCxTQUFTLEdBU1YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLFNBQVMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDhCQUE4QixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEgsTUFBTSxLQUFLO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBdUI7SUFDdEMsTUFBTSxDQUFvQjtJQUUzQixTQUFTLENBQWE7SUFDdEIsUUFBUSxDQUFVO0lBQ2xCLElBQUksQ0FBYTtJQUNqQixpQkFBaUIsQ0FBVTtJQUMzQixPQUFPLENBQVc7SUFDbEIsRUFBRSxDQUFlO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixVQUFVLENBQWU7SUFFaEMsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcs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
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import { Readable } from 'stream';
|
|
3
|
-
import { ResourceType, } from '@super-protocol/dto-js';
|
|
4
2
|
import Crypto from '../../crypto/index.js';
|
|
5
|
-
import
|
|
6
|
-
import { isNodeJS } from '../helper.js';
|
|
3
|
+
import { uploadObjectToStorage } from './uploadObjectToStorage.js';
|
|
7
4
|
const isStringArray = (item) => Array.isArray(item) && item.every(_.isString);
|
|
8
5
|
const isEncryptedArgsConfiguration = (arg) => Boolean(_.isPlainObject(arg) && isStringArray(arg.data) && _.isPlainObject(arg.solution));
|
|
9
6
|
const isEncryptedArgs = (arg) => Boolean(_.isPlainObject(arg) &&
|
|
@@ -39,44 +36,17 @@ export class OrderArgsHelper {
|
|
|
39
36
|
totalElements += args.configuration?.solution ? 1 : 0;
|
|
40
37
|
return totalElements > elementsCount;
|
|
41
38
|
}
|
|
42
|
-
static
|
|
39
|
+
static uploadToStorage(params) {
|
|
43
40
|
const { access, args, key, encryption } = params;
|
|
44
|
-
if (access.read.storageType !== access.write.storageType ||
|
|
45
|
-
access.read.credentials.bucket !== access.write.credentials.bucket ||
|
|
46
|
-
access.read.credentials.prefix !== access.write.credentials.prefix) {
|
|
47
|
-
throw new Error('Invalid storage access configuration');
|
|
48
|
-
}
|
|
49
41
|
if (!isEncryptedArgs(args)) {
|
|
50
42
|
throw new Error('Invalid args for uploading');
|
|
51
43
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (isNodeJS()) {
|
|
55
|
-
const stream = new Readable();
|
|
56
|
-
stream.push(buffer);
|
|
57
|
-
stream.push(null);
|
|
58
|
-
return {
|
|
59
|
-
stream,
|
|
60
|
-
size: buffer.length,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
const blob = new Blob([buffer]);
|
|
65
|
-
return {
|
|
66
|
-
stream: blob,
|
|
67
|
-
size: blob.size,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
const encryptedData = await OrderArgsHelper.encryptOrderArgs(args, encryption);
|
|
72
|
-
const dataForUpload = string2Stream(encryptedData);
|
|
73
|
-
const storageProvider = getStorageProvider(params.access.write);
|
|
74
|
-
await storageProvider.uploadFile(dataForUpload.stream, key, dataForUpload.size);
|
|
75
|
-
return {
|
|
76
|
-
...access.read,
|
|
77
|
-
type: ResourceType.StorageProvider,
|
|
44
|
+
return uploadObjectToStorage({
|
|
45
|
+
data: args,
|
|
78
46
|
filepath: key,
|
|
79
|
-
|
|
47
|
+
access,
|
|
48
|
+
encryption,
|
|
49
|
+
});
|
|
80
50
|
}
|
|
81
51
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJBcmdzSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvT3JkZXJBcmdzSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQU92QixPQUFPLE1BQU0sTUFBTSx1QkFBdUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQWEsRUFBb0IsRUFBRSxDQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWhELE1BQU0sNEJBQTRCLEdBQUcsQ0FDbkMsR0FBNEIsRUFDZSxFQUFFLENBQzdDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUU1RixNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQXlDLEVBQWdDLEVBQUUsQ0FDbEcsT0FBTyxDQUNMLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQ2xCLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3hCLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUNqQiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsYUFBd0MsQ0FBQyxDQUFDLENBQ2hGLENBQUM7QUFFSixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUMzQixhQUFxQixFQUNyQixjQUFzQjtRQUV0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELFNBQVMsQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDO1FBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVwRCxPQUFPLGNBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBYSxFQUFFLFVBQXNCO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUM3QixJQUFvQyxFQUNwQyxhQUFhLEdBQUcsQ0FBQztRQUVqQixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFnQyxFQUFRLEVBQUU7WUFDckQsYUFBYSxJQUFJLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQztRQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RCxPQUFPLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFRdEI7UUFDQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRWpELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELE9BQU8scUJBQXFCLENBQUM7WUFDM0IsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsR0FBRztZQUNiLE1BQU07WUFDTixVQUFVO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './tryWithInterval.js';
|
|
2
2
|
export * from './OrderArgsHelper.js';
|
|
3
|
-
|
|
3
|
+
export * from './uploadObjectToStorage.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Encryption, StorageProviderResource } from '@super-protocol/dto-js';
|
|
2
|
+
import { StorageAccess } from '../../index.js';
|
|
3
|
+
export type ReadWriteStorageAccess = {
|
|
4
|
+
read: StorageAccess;
|
|
5
|
+
write: StorageAccess;
|
|
6
|
+
};
|
|
7
|
+
export type UploadObjectToStoragePrams = {
|
|
8
|
+
data: Record<string, unknown>;
|
|
9
|
+
filepath: string;
|
|
10
|
+
access: ReadWriteStorageAccess;
|
|
11
|
+
encryption?: Encryption;
|
|
12
|
+
};
|
|
13
|
+
export declare const uploadObjectToStorage: (params: UploadObjectToStoragePrams) => Promise<StorageProviderResource>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import { Readable } from 'stream';
|
|
3
|
+
import { ResourceType } from '@super-protocol/dto-js';
|
|
4
|
+
import { getStorageProvider } from '../../index.js';
|
|
5
|
+
import { isNodeJS } from '../helper.js';
|
|
6
|
+
import { OrderArgsHelper } from './OrderArgsHelper.js';
|
|
7
|
+
const string2Stream = (data) => {
|
|
8
|
+
const buffer = Buffer.from(data);
|
|
9
|
+
if (isNodeJS()) {
|
|
10
|
+
const stream = new Readable();
|
|
11
|
+
stream.push(buffer);
|
|
12
|
+
stream.push(null);
|
|
13
|
+
return {
|
|
14
|
+
stream,
|
|
15
|
+
size: buffer.length,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const blob = new Blob([buffer]);
|
|
20
|
+
return {
|
|
21
|
+
stream: blob,
|
|
22
|
+
size: blob.size,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export const uploadObjectToStorage = async (params) => {
|
|
27
|
+
const { data, access, filepath, encryption } = params;
|
|
28
|
+
if (access.read.storageType !== access.write.storageType ||
|
|
29
|
+
access.read.credentials.bucket !== access.write.credentials.bucket ||
|
|
30
|
+
access.read.credentials.prefix !== access.write.credentials.prefix) {
|
|
31
|
+
throw new Error('Invalid storage access configuration');
|
|
32
|
+
}
|
|
33
|
+
if (!_.isPlainObject(params.data)) {
|
|
34
|
+
throw new Error('Invalid input data to upload to storage');
|
|
35
|
+
}
|
|
36
|
+
const dataToUpload = encryption
|
|
37
|
+
? await OrderArgsHelper.encryptOrderArgs(data, encryption)
|
|
38
|
+
: JSON.stringify(data);
|
|
39
|
+
const dataForUpload = string2Stream(dataToUpload);
|
|
40
|
+
const storageProvider = getStorageProvider(access.write);
|
|
41
|
+
await storageProvider.uploadFile(dataForUpload.stream, filepath, dataForUpload.size);
|
|
42
|
+
return {
|
|
43
|
+
...access.read,
|
|
44
|
+
type: ResourceType.StorageProvider,
|
|
45
|
+
filepath,
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkT2JqZWN0VG9TdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvdXBsb2FkT2JqZWN0VG9TdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBYyxZQUFZLEVBQTJCLE1BQU0sd0JBQXdCLENBQUM7QUFDM0YsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBY3ZELE1BQU0sYUFBYSxHQUFHLENBQ3BCLElBQVksRUFJWixFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQyxJQUFJLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsQixPQUFPO1lBQ0wsTUFBTTtZQUNOLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtTQUNwQixDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFaEMsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxFQUN4QyxNQUFrQyxFQUNBLEVBQUU7SUFDcEMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUN0RCxJQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVztRQUNwRCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUNsRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUNsRSxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLFVBQVU7UUFDN0IsQ0FBQyxDQUFDLE1BQU0sZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUM7UUFDMUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxNQUFNLGVBQWUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJGLE9BQU87UUFDTCxHQUFHLE1BQU0sQ0FBQyxJQUFJO1FBQ2QsSUFBSSxFQUFFLFlBQVksQ0FBQyxlQUFlO1FBQ2xDLFFBQVE7S0FDVCxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|