@super-protocol/sdk-js 3.1.0-beta.4 → 3.1.0-beta.6
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/connectors/BaseConnector.d.ts +6 -0
- package/dist/cjs/connectors/BaseConnector.js +10 -1
- package/dist/cjs/connectors/BlockchainConnector.js +4 -2
- package/dist/cjs/connectors/BlockchainEventsListener.js +3 -2
- package/dist/cjs/constants.d.ts +1 -1
- package/dist/cjs/constants.js +116 -17
- package/dist/cjs/contracts/abi.d.ts +635 -168
- package/dist/cjs/contracts/abi.js +798 -196
- package/dist/cjs/crypto/types.d.ts +4 -0
- package/dist/cjs/crypto/utils.d.ts +3 -0
- package/dist/cjs/crypto/utils.js +50 -2
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/models/Offer.js +5 -3
- package/dist/cjs/models/Order.d.ts +3 -2
- package/dist/cjs/models/Order.js +21 -7
- package/dist/cjs/models/Provider.d.ts +1 -1
- package/dist/cjs/models/Provider.js +8 -3
- package/dist/cjs/proto/Hash.d.ts +37 -0
- package/dist/cjs/proto/Hash.js +104 -0
- package/dist/cjs/proto/OrderReport.d.ts +539 -0
- package/dist/cjs/proto/OrderReport.js +300 -0
- package/dist/cjs/proto/TRI.d.ts +1 -24
- package/dist/cjs/proto/TRI.js +13 -78
- package/dist/cjs/proto/TeeDeviceInfo.d.ts +292 -0
- package/dist/cjs/proto/TeeDeviceInfo.js +491 -0
- package/dist/cjs/staticModels/Consensus.d.ts +3 -3
- package/dist/cjs/staticModels/Consensus.js +4 -4
- package/dist/cjs/staticModels/Deposits.d.ts +10 -9
- package/dist/cjs/staticModels/Deposits.js +21 -18
- package/dist/cjs/staticModels/Offers.js +7 -2
- package/dist/cjs/staticModels/OffersStorageRequests.js +4 -1
- package/dist/cjs/staticModels/Orders.d.ts +2 -1
- package/dist/cjs/staticModels/Orders.js +14 -2
- package/dist/cjs/staticModels/ProviderRegistry.d.ts +15 -6
- package/dist/cjs/staticModels/ProviderRegistry.js +43 -11
- package/dist/cjs/staticModels/ProviderRewards.js +16 -1
- package/dist/cjs/staticModels/Superpro.d.ts +5 -7
- package/dist/cjs/staticModels/Superpro.js +13 -45
- package/dist/cjs/staticModels/TeeOffers.js +7 -2
- package/dist/cjs/tee/OrderReportService.d.ts +11 -0
- package/dist/cjs/tee/OrderReportService.js +97 -0
- package/dist/cjs/tee/TeeCertificateService.d.ts +1 -0
- package/dist/cjs/tee/TeeCertificateService.js +5 -1
- package/dist/cjs/types/DistributedSecretStorage.d.ts +1 -0
- package/dist/cjs/types/Offer.d.ts +5 -0
- package/dist/cjs/types/Order.d.ts +2 -0
- package/dist/cjs/types/Order.js +3 -1
- package/dist/cjs/types/TokenInfo.d.ts +6 -1
- package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +1 -2
- package/dist/cjs/utils/helpers/OrderArgsHelper.js +1 -25
- package/dist/cjs/utils/helpers/calculateObjectHash.d.ts +8 -0
- package/dist/cjs/utils/helpers/calculateObjectHash.js +25 -0
- package/dist/cjs/utils/helpers/index.d.ts +1 -0
- package/dist/cjs/utils/helpers/index.js +2 -1
- package/dist/cjs/utils/order/complete-order.js +4 -1
- package/dist/cjs/utils/order/validate-order.js +13 -3
- package/dist/mjs/connectors/BaseConnector.d.ts +6 -0
- package/dist/mjs/connectors/BaseConnector.js +10 -1
- package/dist/mjs/connectors/BlockchainConnector.js +4 -2
- package/dist/mjs/connectors/BlockchainEventsListener.js +3 -2
- package/dist/mjs/constants.d.ts +1 -1
- package/dist/mjs/constants.js +116 -17
- package/dist/mjs/contracts/abi.d.ts +635 -168
- package/dist/mjs/contracts/abi.js +796 -194
- package/dist/mjs/crypto/types.d.ts +4 -0
- package/dist/mjs/crypto/utils.d.ts +3 -0
- package/dist/mjs/crypto/utils.js +45 -1
- package/dist/mjs/index.d.ts +1 -0
- package/dist/mjs/index.js +2 -1
- package/dist/mjs/models/Offer.js +5 -3
- package/dist/mjs/models/Order.d.ts +3 -2
- package/dist/mjs/models/Order.js +21 -7
- package/dist/mjs/models/Provider.d.ts +1 -1
- package/dist/mjs/models/Provider.js +8 -3
- package/dist/mjs/proto/Hash.d.ts +37 -0
- package/dist/mjs/proto/Hash.js +98 -0
- package/dist/mjs/proto/OrderReport.d.ts +539 -0
- package/dist/mjs/proto/OrderReport.js +294 -0
- package/dist/mjs/proto/TRI.d.ts +1 -24
- package/dist/mjs/proto/TRI.js +2 -67
- package/dist/mjs/proto/TeeDeviceInfo.d.ts +292 -0
- package/dist/mjs/proto/TeeDeviceInfo.js +485 -0
- package/dist/mjs/staticModels/Consensus.d.ts +3 -3
- package/dist/mjs/staticModels/Consensus.js +4 -4
- package/dist/mjs/staticModels/Deposits.d.ts +10 -9
- package/dist/mjs/staticModels/Deposits.js +21 -18
- package/dist/mjs/staticModels/Offers.js +7 -2
- package/dist/mjs/staticModels/OffersStorageRequests.js +4 -1
- package/dist/mjs/staticModels/Orders.d.ts +2 -1
- package/dist/mjs/staticModels/Orders.js +14 -2
- package/dist/mjs/staticModels/ProviderRegistry.d.ts +15 -6
- package/dist/mjs/staticModels/ProviderRegistry.js +43 -11
- package/dist/mjs/staticModels/ProviderRewards.js +17 -2
- package/dist/mjs/staticModels/Superpro.d.ts +5 -7
- package/dist/mjs/staticModels/Superpro.js +13 -42
- package/dist/mjs/staticModels/TeeOffers.js +7 -2
- package/dist/mjs/tee/OrderReportService.d.ts +11 -0
- package/dist/mjs/tee/OrderReportService.js +90 -0
- package/dist/mjs/tee/TeeCertificateService.d.ts +1 -0
- package/dist/mjs/tee/TeeCertificateService.js +5 -1
- package/dist/mjs/types/DistributedSecretStorage.d.ts +1 -0
- package/dist/mjs/types/Offer.d.ts +5 -0
- package/dist/mjs/types/Order.d.ts +2 -0
- package/dist/mjs/types/Order.js +3 -1
- package/dist/mjs/types/TokenInfo.d.ts +6 -1
- package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +1 -2
- package/dist/mjs/utils/helpers/OrderArgsHelper.js +1 -25
- package/dist/mjs/utils/helpers/calculateObjectHash.d.ts +8 -0
- package/dist/mjs/utils/helpers/calculateObjectHash.js +18 -0
- package/dist/mjs/utils/helpers/index.d.ts +1 -0
- package/dist/mjs/utils/helpers/index.js +2 -1
- package/dist/mjs/utils/order/complete-order.js +4 -1
- package/dist/mjs/utils/order/validate-order.js +13 -3
- package/package.json +3 -1
- package/dist/cjs/proto/TeeProperties.d.ts +0 -453
- package/dist/cjs/proto/TeeProperties.js +0 -503
- package/dist/mjs/proto/TeeProperties.d.ts +0 -453
- package/dist/mjs/proto/TeeProperties.js +0 -497
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Encryption,
|
|
1
|
+
import { Encryption, StorageProviderResource, TeeOrderEncryptedArgs } from '@super-protocol/dto-js';
|
|
2
2
|
import StorageAccess from '../../types/storage/StorageAccess.js';
|
|
3
3
|
export declare class OrderArgsHelper {
|
|
4
4
|
static decryptOrderArgs<T>(encryptedArgs: string, ecdhPrivateKey: string): Promise<T | undefined>;
|
|
@@ -13,5 +13,4 @@ export declare class OrderArgsHelper {
|
|
|
13
13
|
};
|
|
14
14
|
encryption: Encryption;
|
|
15
15
|
}): Promise<StorageProviderResource>;
|
|
16
|
-
static calculateArgsHash(args: Record<string, unknown>): Promise<Hash>;
|
|
17
16
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import { Encoding, HashAlgorithm, } from '@super-protocol/dto-js';
|
|
3
2
|
import Crypto from '../../crypto/index.js';
|
|
4
3
|
import { uploadObjectToStorage } from './uploadObjectToStorage.js';
|
|
5
4
|
const isStringArray = (item) => Array.isArray(item) && item.every(_.isString);
|
|
@@ -20,16 +19,6 @@ const isEncryptedArgs = (arg) => Boolean(_.isPlainObject(arg) &&
|
|
|
20
19
|
isStringArray(arg.image) &&
|
|
21
20
|
isStringArray(arg.solution) &&
|
|
22
21
|
(!arg.configuration || isEncryptedData(arg.configuration)));
|
|
23
|
-
const sortArrayByHash = async (array) => {
|
|
24
|
-
const elementsWithHashes = await Promise.all(array.map(async (element) => {
|
|
25
|
-
const hashObj = await Crypto.createHash(Buffer.from(element), {
|
|
26
|
-
algo: HashAlgorithm.SHA256,
|
|
27
|
-
encoding: Encoding.hex,
|
|
28
|
-
});
|
|
29
|
-
return { element, hash: hashObj.hash };
|
|
30
|
-
}));
|
|
31
|
-
return _.chain(elementsWithHashes).sortBy(['hash']).map('element').value();
|
|
32
|
-
};
|
|
33
22
|
export class OrderArgsHelper {
|
|
34
23
|
static async decryptOrderArgs(encryptedArgs, ecdhPrivateKey) {
|
|
35
24
|
if (!encryptedArgs) {
|
|
@@ -63,18 +52,5 @@ export class OrderArgsHelper {
|
|
|
63
52
|
encryption,
|
|
64
53
|
});
|
|
65
54
|
}
|
|
66
|
-
static async calculateArgsHash(args) {
|
|
67
|
-
const entries = Object.entries(args);
|
|
68
|
-
const resultObject = {};
|
|
69
|
-
for (const [key, value] of _.sortBy(entries, [0])) {
|
|
70
|
-
if (isStringArray(value) && value.length > 1) {
|
|
71
|
-
resultObject[key] = await sortArrayByHash(value);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return Crypto.createHash(Buffer.from(JSON.stringify(resultObject)), {
|
|
75
|
-
algo: HashAlgorithm.SHA256,
|
|
76
|
-
encoding: Encoding.hex,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
55
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJBcmdzSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvT3JkZXJBcmdzSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUV2QixPQUFPLE1BQU0sTUFBTSx1QkFBdUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQWEsRUFBb0IsRUFBRSxDQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWhELE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBWSxFQUFXLEVBQUU7SUFDaEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRS9DLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBeUMsRUFBVyxFQUFFLENBQzdFLE9BQU8sQ0FDTCxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztJQUNsQixhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztJQUN2QixhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUN4QixhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUMzQixDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQzdELENBQUM7QUFFSixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUMzQixhQUFxQixFQUNyQixjQUFzQjtRQUV0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELFNBQVMsQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDO1FBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVwRCxPQUFPLGNBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBYSxFQUFFLFVBQXNCO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQTZCLEVBQUUsV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJO1FBQ2hGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTVDLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFRdEI7UUFDQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRWpELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELE9BQU8scUJBQXFCLENBQUM7WUFDM0IsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsR0FBRztZQUNiLE1BQU07WUFDTixVQUFVO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import hash from 'object-hash';
|
|
2
|
+
import { Hash } from '@super-protocol/dto-js';
|
|
3
|
+
/**
|
|
4
|
+
* Calculates a hash value for any JavaScript/TypeScript object
|
|
5
|
+
* @param obj - The object to hash
|
|
6
|
+
* @returns A string hash value
|
|
7
|
+
*/
|
|
8
|
+
export declare const calculateObjectHash: (obj: hash.NotUndefined) => Hash;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import hash from 'object-hash';
|
|
2
|
+
import { Encoding, HashAlgorithm } from '@super-protocol/dto-js';
|
|
3
|
+
/**
|
|
4
|
+
* Calculates a hash value for any JavaScript/TypeScript object
|
|
5
|
+
* @param obj - The object to hash
|
|
6
|
+
* @returns A string hash value
|
|
7
|
+
*/
|
|
8
|
+
export const calculateObjectHash = (obj) => {
|
|
9
|
+
const encoding = Encoding.hex;
|
|
10
|
+
const algo = HashAlgorithm.SHA256;
|
|
11
|
+
const result = hash(obj, {
|
|
12
|
+
encoding,
|
|
13
|
+
algorithm: algo,
|
|
14
|
+
unorderedArrays: true,
|
|
15
|
+
});
|
|
16
|
+
return { hash: result, encoding, algo };
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlT2JqZWN0SGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9oZWxwZXJzL2NhbGN1bGF0ZU9iamVjdEhhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQVEsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPdkU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBc0IsRUFBUSxFQUFFO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDOUIsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ3ZCLFFBQVE7UUFDUixTQUFTLEVBQUUsSUFBSTtRQUNmLGVBQWUsRUFBRSxJQUFJO0tBQ3RCLENBQUMsQ0FBQztJQUNILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUMxQyxDQUFDLENBQUMifQ==
|
|
@@ -2,4 +2,5 @@ export * from './tryWithInterval.js';
|
|
|
2
2
|
export * from './OrderArgsHelper.js';
|
|
3
3
|
export * from './uploadObjectToStorage.js';
|
|
4
4
|
export * from './promise.js';
|
|
5
|
-
|
|
5
|
+
export * from './calculateObjectHash.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDBCQUEwQixDQUFDIn0=
|
|
@@ -11,6 +11,9 @@ const supportedOrderStatusesToComplete = [
|
|
|
11
11
|
];
|
|
12
12
|
const getResultPublicKeyFromOrderInfo = (orderInfo) => {
|
|
13
13
|
const { publicKey } = orderInfo.resultInfo;
|
|
14
|
+
if (!publicKey.trim()) {
|
|
15
|
+
throw new Error('Public key cannot be empty');
|
|
16
|
+
}
|
|
14
17
|
try {
|
|
15
18
|
return JSON.parse(publicKey);
|
|
16
19
|
}
|
|
@@ -58,4 +61,4 @@ export const completeOrder = async (params, transactionOptions) => {
|
|
|
58
61
|
}
|
|
59
62
|
await order.complete(params.status, encryptedResult, transactionOptions);
|
|
60
63
|
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvY29tcGxldGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxZQUFZLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sdUJBQXVCLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUM7QUFDMUMsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUk5RCxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakUsTUFBTSxnQ0FBZ0MsR0FBRztJQUN2QyxXQUFXLENBQUMsR0FBRztJQUNmLFdBQVcsQ0FBQyxVQUFVO0lBQ3RCLFdBQVcsQ0FBQyxTQUFTO0NBQ3RCLENBQUM7QUFVRixNQUFNLCtCQUErQixHQUFHLENBQ3RDLFNBQXdDLEVBQ3pCLEVBQUU7SUFDakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBa0IsQ0FBQztJQUNoRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsTUFBd0IsRUFBbUIsRUFBRTtJQUMzRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3RixJQUFJLFdBQVcsRUFBRSxTQUFTLEtBQUssU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELE9BQU8sTUFBTSxZQUFZLENBQUMsUUFBUSxDQUNoQyxPQUFPLEVBQ1AsUUFBUSxFQUNSLFNBQVMsQ0FBQyxJQUFJLEVBQ2Qsa0JBQWtCLEVBQ2xCLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdELE1BQU0sT0FBTyxHQUFHO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLGtCQUFrQjtLQUMvQixDQUFDO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVsRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUNoQyxNQUEyQixFQUMzQixrQkFBdUMsRUFDeEIsRUFBRTtJQUNqQixNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBRXZELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN6RixNQUFNLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxNQUFNLGVBQWUsR0FDbkIsT0FBTyxNQUFNLENBQUMsV0FBVyxLQUFLLFFBQVE7UUFDcEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXO1FBQ3BCLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDO1lBQ3JCLE9BQU87WUFDUCxTQUFTO1lBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUTtZQUNyQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLGtCQUFrQjtZQUN6RCxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1NBQzlCLENBQUMsQ0FBQztJQUVULE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWpDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekMsTUFBTSxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDIn0=
|
|
@@ -10,6 +10,16 @@ const defaultOptions = {
|
|
|
10
10
|
return new Offer(offerId).isRestrictionsPermitThatOffer(otherOfferId);
|
|
11
11
|
},
|
|
12
12
|
};
|
|
13
|
+
const validatePort = (port) => {
|
|
14
|
+
const portNumber = Number(port);
|
|
15
|
+
if (!Number.isInteger(portNumber) || portNumber <= 0 || portNumber > 65535) {
|
|
16
|
+
throw new Error(`Invalid port number: ${port}`);
|
|
17
|
+
}
|
|
18
|
+
if (!ALLOWED_PORTS_FORWARDING.includes(portNumber)) {
|
|
19
|
+
throw new Error(`Port ${portNumber} is not allowed to be forwarded`);
|
|
20
|
+
}
|
|
21
|
+
return portNumber;
|
|
22
|
+
};
|
|
13
23
|
export const validateOrder = async (params, options = defaultOptions) => {
|
|
14
24
|
// Check if order/offer in input group
|
|
15
25
|
if (params.order.offerInfo.group !== OfferGroup.Input)
|
|
@@ -25,8 +35,8 @@ export const validateOrder = async (params, options = defaultOptions) => {
|
|
|
25
35
|
throw new Error('Invalid offer metadata JSON');
|
|
26
36
|
}
|
|
27
37
|
const { portForwarding, groupingOffers } = parsedMetadata;
|
|
28
|
-
if (portForwarding
|
|
29
|
-
|
|
38
|
+
if (portForwarding) {
|
|
39
|
+
validatePort(portForwarding);
|
|
30
40
|
}
|
|
31
41
|
if (groupingOffers && params.order.offerType !== OfferType.Solution) {
|
|
32
42
|
throw new Error('Only solution metadata can be grouped');
|
|
@@ -64,4 +74,4 @@ export const validateOrder = async (params, options = defaultOptions) => {
|
|
|
64
74
|
throw Error(`Offers with type ${type} not found in TEE input offers, but required by restrictions`);
|
|
65
75
|
});
|
|
66
76
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvb3JkZXIvdmFsaWRhdGUtb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxNQUFNLHVCQUF1QixDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHN0QsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sY0FBYyxHQUF5QjtJQUMzQyx1QkFBdUIsQ0FBQyxPQUFlLEVBQUUsSUFBZTtRQUN0RCxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxPQUFlLEVBQUUsWUFBb0I7UUFDakUsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBcUIsRUFBVSxFQUFFO0lBQ3JELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLElBQUksQ0FBQyxJQUFJLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUMzRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFR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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-protocol/sdk-js",
|
|
3
|
-
"version": "3.1.0-beta.
|
|
3
|
+
"version": "3.1.0-beta.6",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/mjs/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"@types/node": "^16.18.59",
|
|
46
46
|
"@types/node-forge": "^1.3.1",
|
|
47
47
|
"@types/node-gzip": "^1.1.0",
|
|
48
|
+
"@types/object-hash": "^3.0.6",
|
|
48
49
|
"@types/ua-parser-js": "^0.7.39",
|
|
49
50
|
"@types/uuid": "^9.0.7",
|
|
50
51
|
"jest": "^29.7.0",
|
|
@@ -73,6 +74,7 @@
|
|
|
73
74
|
"lru-cache": "^10.0.0",
|
|
74
75
|
"node-forge": "^1.3.1",
|
|
75
76
|
"node-gzip": "^1.1.2",
|
|
77
|
+
"object-hash": "^3.0.0",
|
|
76
78
|
"p-queue": "6.6.2",
|
|
77
79
|
"pino": "^7.2.0",
|
|
78
80
|
"pkijs": "^3.0.15",
|