@super-protocol/sdk-js 2.2.0-beta.9 → 2.2.0-beta.90
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/RIGenerator.d.ts +1 -0
- package/dist/cjs/RIGenerator.js +2 -1
- package/dist/cjs/TIIGenerator.d.ts +2 -1
- package/dist/cjs/TIIGenerator.js +13 -3
- package/dist/cjs/TeeInputGeneratorBase.d.ts +1 -1
- package/dist/cjs/TeeInputGeneratorBase.js +20 -32
- package/dist/cjs/analytics/eventProviders/BrowserEventProvider.d.ts +1 -0
- package/dist/cjs/analytics/eventProviders/BrowserEventProvider.js +3 -3
- package/dist/cjs/analytics/transports/AxiosTransport.js +1 -1
- package/dist/cjs/config.d.ts +0 -1
- package/dist/cjs/config.js +1 -2
- package/dist/cjs/constants.d.ts +5 -4
- package/dist/cjs/constants.js +31 -7
- package/dist/cjs/contracts/abi.d.ts +698 -120
- package/dist/cjs/contracts/abi.js +890 -150
- package/dist/cjs/crypto/index.d.ts +1 -0
- package/dist/cjs/crypto/index.js +16 -1
- package/dist/cjs/errors/base.error.d.ts +3 -0
- package/dist/cjs/errors/base.error.js +19 -0
- package/dist/cjs/errors/index.d.ts +2 -0
- package/dist/cjs/errors/index.js +8 -0
- package/dist/cjs/errors/not-found.error.d.ts +3 -0
- package/dist/cjs/errors/not-found.error.js +8 -0
- package/dist/cjs/errors/utils.d.ts +1 -0
- package/dist/cjs/errors/utils.js +25 -0
- package/dist/cjs/index.d.ts +8 -1
- package/dist/cjs/index.js +15 -2
- package/dist/cjs/models/Offer.d.ts +40 -4
- package/dist/cjs/models/Offer.js +115 -11
- package/dist/cjs/models/Provider.js +1 -1
- package/dist/cjs/models/TCB.js +13 -5
- package/dist/cjs/models/TeeOffer.d.ts +26 -14
- package/dist/cjs/models/TeeOffer.js +79 -42
- package/dist/cjs/proto/TRI.d.ts +39 -4
- package/dist/cjs/proto/TRI.js +18 -1
- package/dist/cjs/providers/storage/IStorageProvider.d.ts +1 -1
- package/dist/cjs/providers/storage/S3StorageProvider.d.ts +8 -7
- package/dist/cjs/providers/storage/S3StorageProvider.js +80 -38
- package/dist/cjs/providers/storage/StorageAdapter.d.ts +9 -7
- package/dist/cjs/providers/storage/StorageAdapter.js +27 -29
- package/dist/cjs/providers/storage/StorageContentWriter.d.ts +2 -2
- package/dist/cjs/providers/storage/StorageContentWriter.js +5 -5
- package/dist/cjs/providers/storage/StorageKeyValueAdapter.d.ts +8 -5
- package/dist/cjs/providers/storage/StorageKeyValueAdapter.js +30 -16
- package/dist/cjs/providers/storage/StorjAdapter.d.ts +5 -4
- package/dist/cjs/providers/storage/StorjAdapter.js +15 -9
- package/dist/cjs/providers/storage/StorjCredentialsManager.d.ts +24 -0
- package/dist/cjs/providers/storage/StorjCredentialsManager.js +86 -0
- package/dist/cjs/providers/storage/StorjStorageProvider.js +2 -2
- package/dist/cjs/providers/storage/fs-storage-provider.d.ts +19 -0
- package/dist/cjs/providers/storage/fs-storage-provider.js +143 -0
- package/dist/cjs/providers/storage/getStorageProvider.js +4 -1
- package/dist/cjs/providers/storage/parseStorageCredentials.d.ts +5 -0
- package/dist/cjs/providers/storage/parseStorageCredentials.js +21 -0
- package/dist/cjs/providers/storage/types.d.ts +22 -0
- package/dist/cjs/staticModels/LoaderSecretsPublicKeys.js +3 -3
- package/dist/cjs/staticModels/LoaderSessions.d.ts +2 -2
- package/dist/cjs/staticModels/LoaderSessions.js +5 -5
- package/dist/cjs/staticModels/OfferResources.d.ts +2 -1
- package/dist/cjs/staticModels/OfferResources.js +24 -8
- package/dist/cjs/staticModels/OffersStorageAllocated.d.ts +1 -2
- package/dist/cjs/staticModels/OffersStorageAllocated.js +10 -10
- package/dist/cjs/staticModels/OffersStorageRequests.js +4 -3
- package/dist/cjs/staticModels/Orders.js +3 -2
- package/dist/cjs/staticModels/SecretRequests.d.ts +2 -2
- package/dist/cjs/staticModels/SecretRequests.js +19 -10
- package/dist/cjs/staticModels/TeeOffers.d.ts +0 -2
- package/dist/cjs/staticModels/TeeOffers.js +2 -33
- package/dist/cjs/tee/QuoteParser.d.ts +61 -6
- package/dist/cjs/tee/QuoteParser.js +248 -29
- package/dist/cjs/tee/QuoteValidator.d.ts +11 -0
- package/dist/cjs/tee/QuoteValidator.js +119 -30
- package/dist/cjs/tee/TeeBlockVerifier.d.ts +3 -4
- package/dist/cjs/tee/TeeBlockVerifier.js +2 -8
- package/dist/cjs/tee/errors.d.ts +6 -3
- package/dist/cjs/tee/errors.js +9 -5
- package/dist/cjs/tee/types.d.ts +50 -9
- package/dist/cjs/tee/types.js +32 -1
- package/dist/cjs/types/DistributedSecretStorage.d.ts +7 -0
- 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 +7 -2
- package/dist/cjs/types/Order.js +3 -1
- package/dist/cjs/types/SlotInfo.d.ts +1 -0
- package/dist/cjs/types/Superpro.d.ts +2 -1
- package/dist/cjs/types/Superpro.js +2 -1
- package/dist/cjs/types/TeeOfferInfo.d.ts +0 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +2 -1
- package/dist/cjs/types/storage/StorageAccess.d.ts +3 -3
- package/dist/cjs/utils/CryptoKeysTransformer.d.ts +7 -1
- package/dist/cjs/utils/CryptoKeysTransformer.js +66 -7
- package/dist/cjs/utils/NonceTracker.js +1 -1
- package/dist/cjs/utils/helper.d.ts +7 -1
- package/dist/cjs/utils/helper.js +87 -2
- package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +16 -0
- package/dist/cjs/utils/helpers/OrderArgsHelper.js +59 -0
- package/dist/cjs/utils/helpers/index.d.ts +2 -0
- package/dist/cjs/utils/helpers/index.js +3 -1
- package/dist/cjs/utils/helpers/uploadObjectToStorage.d.ts +13 -0
- package/dist/cjs/utils/helpers/uploadObjectToStorage.js +55 -0
- package/dist/mjs/RIGenerator.d.ts +1 -0
- package/dist/mjs/RIGenerator.js +2 -1
- package/dist/mjs/TIIGenerator.d.ts +2 -1
- package/dist/mjs/TIIGenerator.js +13 -3
- package/dist/mjs/TeeInputGeneratorBase.d.ts +1 -1
- package/dist/mjs/TeeInputGeneratorBase.js +20 -32
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.d.ts +1 -0
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.js +3 -3
- package/dist/mjs/analytics/transports/AxiosTransport.js +1 -1
- package/dist/mjs/config.d.ts +0 -1
- package/dist/mjs/config.js +1 -2
- package/dist/mjs/constants.d.ts +5 -4
- package/dist/mjs/constants.js +30 -6
- package/dist/mjs/contracts/abi.d.ts +698 -120
- package/dist/mjs/contracts/abi.js +890 -150
- package/dist/mjs/crypto/index.d.ts +1 -0
- package/dist/mjs/crypto/index.js +2 -1
- package/dist/mjs/errors/base.error.d.ts +3 -0
- package/dist/mjs/errors/base.error.js +15 -0
- package/dist/mjs/errors/index.d.ts +2 -0
- package/dist/mjs/errors/index.js +3 -0
- package/dist/mjs/errors/not-found.error.d.ts +3 -0
- package/dist/mjs/errors/not-found.error.js +4 -0
- package/dist/mjs/errors/utils.d.ts +1 -0
- package/dist/mjs/errors/utils.js +18 -0
- package/dist/mjs/index.d.ts +8 -1
- package/dist/mjs/index.js +8 -2
- package/dist/mjs/models/Offer.d.ts +40 -4
- package/dist/mjs/models/Offer.js +116 -12
- package/dist/mjs/models/Provider.js +1 -1
- package/dist/mjs/models/TCB.js +13 -5
- package/dist/mjs/models/TeeOffer.d.ts +26 -14
- package/dist/mjs/models/TeeOffer.js +80 -43
- package/dist/mjs/proto/TRI.d.ts +39 -4
- package/dist/mjs/proto/TRI.js +18 -1
- package/dist/mjs/providers/storage/IStorageProvider.d.ts +1 -1
- package/dist/mjs/providers/storage/S3StorageProvider.d.ts +8 -7
- package/dist/mjs/providers/storage/S3StorageProvider.js +77 -38
- package/dist/mjs/providers/storage/StorageAdapter.d.ts +9 -7
- package/dist/mjs/providers/storage/StorageAdapter.js +27 -29
- package/dist/mjs/providers/storage/StorageContentWriter.d.ts +2 -2
- package/dist/mjs/providers/storage/StorageContentWriter.js +5 -5
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +8 -5
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +30 -16
- package/dist/mjs/providers/storage/StorjAdapter.d.ts +5 -4
- package/dist/mjs/providers/storage/StorjAdapter.js +15 -9
- package/dist/mjs/providers/storage/StorjCredentialsManager.d.ts +24 -0
- package/dist/mjs/providers/storage/StorjCredentialsManager.js +82 -0
- package/dist/mjs/providers/storage/StorjStorageProvider.js +2 -2
- package/dist/mjs/providers/storage/fs-storage-provider.d.ts +19 -0
- package/dist/mjs/providers/storage/fs-storage-provider.js +113 -0
- package/dist/mjs/providers/storage/getStorageProvider.js +4 -1
- package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +5 -0
- package/dist/mjs/providers/storage/parseStorageCredentials.js +17 -0
- package/dist/mjs/providers/storage/types.d.ts +22 -0
- package/dist/mjs/staticModels/LoaderSecretsPublicKeys.js +4 -4
- package/dist/mjs/staticModels/LoaderSessions.d.ts +2 -2
- package/dist/mjs/staticModels/LoaderSessions.js +6 -6
- package/dist/mjs/staticModels/OfferResources.d.ts +2 -1
- package/dist/mjs/staticModels/OfferResources.js +25 -9
- package/dist/mjs/staticModels/OffersStorageAllocated.d.ts +1 -2
- package/dist/mjs/staticModels/OffersStorageAllocated.js +11 -11
- package/dist/mjs/staticModels/OffersStorageRequests.js +5 -4
- package/dist/mjs/staticModels/Orders.js +3 -2
- package/dist/mjs/staticModels/SecretRequests.d.ts +2 -2
- package/dist/mjs/staticModels/SecretRequests.js +20 -11
- package/dist/mjs/staticModels/TeeOffers.d.ts +0 -2
- package/dist/mjs/staticModels/TeeOffers.js +2 -33
- package/dist/mjs/store.js +2 -2
- package/dist/mjs/tee/QuoteParser.d.ts +61 -6
- package/dist/mjs/tee/QuoteParser.js +245 -28
- package/dist/mjs/tee/QuoteValidator.d.ts +11 -0
- package/dist/mjs/tee/QuoteValidator.js +119 -30
- package/dist/mjs/tee/TeeBlockVerifier.d.ts +3 -4
- package/dist/mjs/tee/TeeBlockVerifier.js +2 -8
- package/dist/mjs/tee/errors.d.ts +6 -3
- package/dist/mjs/tee/errors.js +7 -4
- package/dist/mjs/tee/types.d.ts +50 -9
- package/dist/mjs/tee/types.js +28 -2
- package/dist/mjs/types/DistributedSecretStorage.d.ts +7 -0
- 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 +7 -2
- package/dist/mjs/types/Order.js +3 -1
- package/dist/mjs/types/SlotInfo.d.ts +1 -0
- package/dist/mjs/types/Superpro.d.ts +2 -1
- package/dist/mjs/types/Superpro.js +2 -1
- package/dist/mjs/types/TeeOfferInfo.d.ts +0 -1
- package/dist/mjs/types/index.d.ts +1 -0
- package/dist/mjs/types/index.js +2 -1
- package/dist/mjs/types/storage/StorageAccess.d.ts +3 -3
- package/dist/mjs/utils/CryptoKeysTransformer.d.ts +7 -1
- package/dist/mjs/utils/CryptoKeysTransformer.js +66 -7
- package/dist/mjs/utils/NonceTracker.js +1 -1
- package/dist/mjs/utils/helper.d.ts +7 -1
- package/dist/mjs/utils/helper.js +80 -1
- package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +16 -0
- package/dist/mjs/utils/helpers/OrderArgsHelper.js +52 -0
- package/dist/mjs/utils/helpers/index.d.ts +2 -0
- package/dist/mjs/utils/helpers/index.js +3 -1
- package/dist/mjs/utils/helpers/uploadObjectToStorage.d.ts +13 -0
- package/dist/mjs/utils/helpers/uploadObjectToStorage.js +48 -0
- package/package.json +4 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StorjCredentialsManager = exports.CredentialsPermissions = void 0;
|
|
4
|
+
var CredentialsPermissions;
|
|
5
|
+
(function (CredentialsPermissions) {
|
|
6
|
+
CredentialsPermissions[CredentialsPermissions["read"] = 0] = "read";
|
|
7
|
+
CredentialsPermissions[CredentialsPermissions["write"] = 1] = "write";
|
|
8
|
+
CredentialsPermissions[CredentialsPermissions["list"] = 2] = "list";
|
|
9
|
+
CredentialsPermissions[CredentialsPermissions["delete"] = 3] = "delete";
|
|
10
|
+
})(CredentialsPermissions || (exports.CredentialsPermissions = CredentialsPermissions = {}));
|
|
11
|
+
class StorjCredentialsManager {
|
|
12
|
+
accessToken;
|
|
13
|
+
bucket;
|
|
14
|
+
access;
|
|
15
|
+
project;
|
|
16
|
+
constructor(storageConfig) {
|
|
17
|
+
this.accessToken = storageConfig.token;
|
|
18
|
+
this.bucket = storageConfig.bucket;
|
|
19
|
+
}
|
|
20
|
+
getStorageId(entity, entityId) {
|
|
21
|
+
return `${entity}_${entityId}`;
|
|
22
|
+
}
|
|
23
|
+
async create() {
|
|
24
|
+
const project = await this.lazyProject();
|
|
25
|
+
await project.ensureBucket(this.bucket);
|
|
26
|
+
}
|
|
27
|
+
async acquireCredentials(permissions, prefix) {
|
|
28
|
+
const readPerm = permissions.includes(CredentialsPermissions.read), writePerm = permissions.includes(CredentialsPermissions.write), listPerm = permissions.includes(CredentialsPermissions.list), deletePerm = permissions.includes(CredentialsPermissions.delete);
|
|
29
|
+
const storj = await this.lazyStorj();
|
|
30
|
+
const perm = new storj.Permission(readPerm, writePerm, deletePerm, listPerm, 0, 0);
|
|
31
|
+
const sharePrefix = new storj.SharePrefix(this.bucket, prefix + '/');
|
|
32
|
+
const access = await this.lazyAccess();
|
|
33
|
+
const share = await access.share(perm, [sharePrefix], 1);
|
|
34
|
+
return JSON.stringify({
|
|
35
|
+
bucket: this.bucket,
|
|
36
|
+
prefix: prefix + '/',
|
|
37
|
+
token: await share.serialize(),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async acquireS3Credentials(permissions, prefix) {
|
|
41
|
+
const storjCreds = await this.acquireCredentials(permissions, prefix);
|
|
42
|
+
return this.getS3Credentials(storjCreds);
|
|
43
|
+
}
|
|
44
|
+
async getS3Credentials(creds) {
|
|
45
|
+
const storjCredentials = typeof creds === 'string' ? JSON.parse(creds) : creds;
|
|
46
|
+
const access = await this.lazyAccess();
|
|
47
|
+
const s3Credentials = await access.registerS3Credentials(storjCredentials.token);
|
|
48
|
+
return {
|
|
49
|
+
accessKeyId: s3Credentials.accessKeyId,
|
|
50
|
+
secretKey: s3Credentials.secretKey,
|
|
51
|
+
endpoint: s3Credentials.endpoint,
|
|
52
|
+
bucket: storjCredentials.bucket,
|
|
53
|
+
prefix: storjCredentials.prefix,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async revokeCredentials(credentialString) {
|
|
57
|
+
const credentials = JSON.parse(credentialString);
|
|
58
|
+
const storj = await this.lazyStorj();
|
|
59
|
+
const uplink = new storj.Uplink();
|
|
60
|
+
const access = await uplink.parseAccess(credentials.token);
|
|
61
|
+
const project = await this.lazyProject();
|
|
62
|
+
await project.revokeAccess(access);
|
|
63
|
+
}
|
|
64
|
+
async lazyStorj() {
|
|
65
|
+
return await require('@super-protocol/uplink-nodejs');
|
|
66
|
+
}
|
|
67
|
+
async lazyAccess() {
|
|
68
|
+
if (this.access) {
|
|
69
|
+
return this.access;
|
|
70
|
+
}
|
|
71
|
+
const storj = await this.lazyStorj();
|
|
72
|
+
const uplink = new storj.Uplink();
|
|
73
|
+
this.access = await uplink.parseAccess(this.accessToken);
|
|
74
|
+
return this.access;
|
|
75
|
+
}
|
|
76
|
+
async lazyProject() {
|
|
77
|
+
if (this.project) {
|
|
78
|
+
return this.project;
|
|
79
|
+
}
|
|
80
|
+
const access = await this.lazyAccess();
|
|
81
|
+
this.project = await access.openProject();
|
|
82
|
+
return this.project;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.StorjCredentialsManager = StorjCredentialsManager;
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmpDcmVkZW50aWFsc01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvU3RvcmpDcmVkZW50aWFsc01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBU0EsSUFBWSxzQkFLWDtBQUxELFdBQVksc0JBQXNCO0lBQ2hDLG1FQUFJLENBQUE7SUFDSixxRUFBSyxDQUFBO0lBQ0wsbUVBQUksQ0FBQTtJQUNKLHVFQUFNLENBQUE7QUFDUixDQUFDLEVBTFcsc0JBQXNCLHNDQUF0QixzQkFBc0IsUUFLakM7QUFFRCxNQUFhLHVCQUF1QjtJQUMxQixXQUFXLENBQVM7SUFDcEIsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFVO0lBQ2hCLE9BQU8sQ0FBVztJQUUxQixZQUFZLGFBQXlEO1FBQ25FLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7UUFDM0MsT0FBTyxHQUFHLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQ3RCLFdBQXFDLEVBQ3JDLE1BQWM7UUFFZCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUNoRSxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsRUFDOUQsUUFB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
|
|
@@ -100,7 +100,7 @@ class StorJStorageProvider {
|
|
|
100
100
|
for (const key in Object.keys(objects)) {
|
|
101
101
|
const value = objects[key];
|
|
102
102
|
result.push({
|
|
103
|
-
name: value.key,
|
|
103
|
+
name: value.key.substring(this.prefix.length),
|
|
104
104
|
size: value.system.content_length,
|
|
105
105
|
isFolder: value.is_prefix == 1,
|
|
106
106
|
childrenCount: value.custom.count,
|
|
@@ -142,4 +142,4 @@ class StorJStorageProvider {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
exports.default = StorJStorageProvider;
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmpTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvU3RvcmpTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFPQSxtQ0FBZ0M7QUFFaEMscURBQWlEO0FBRWpELG9EQUE0QjtBQUM1QixnRUFBcUM7QUFFckMsTUFBcUIsb0JBQW9CO0lBQ3ZDLE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxNQUFNO0lBRXJDLE1BQU0sQ0FBUztJQUNmLE1BQU0sQ0FBUztJQUNmLFdBQVcsQ0FBUztJQUNwQixPQUFPLENBQVU7SUFDakIsUUFBUSxDQUFXO0lBQ25CLE1BQU0sQ0FBTztJQUNiLGlCQUFpQixDQUFVO0lBRW5DLFlBQVksV0FBZ0IsRUFBRSxpQkFBMEI7UUFDdEQsSUFBSSxDQUFDLElBQUEsb0JBQVEsR0FBRSxFQUFFLENBQUM7WUFDaEIsTUFBTSxLQUFLLENBQUMsK0VBQStFLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxDQUFDO2FBQU0sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakMscUJBQXFCO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxp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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import stream from 'stream';
|
|
3
|
+
import StorageObject from '../../types/storage/StorageObject.js';
|
|
4
|
+
import IStorageProvider, { DownloadConfig } from './IStorageProvider.js';
|
|
5
|
+
import { FSCredentials } from '@super-protocol/dto-js';
|
|
6
|
+
export declare class FSStorageProvider implements IStorageProvider {
|
|
7
|
+
private readonly bucket;
|
|
8
|
+
private readonly prefix;
|
|
9
|
+
constructor(credentials: FSCredentials);
|
|
10
|
+
private getFullPath;
|
|
11
|
+
private writeWithProgress;
|
|
12
|
+
uploadFile(inputStream: stream.Readable, remotePath: string, contentLength: number, progressListener?: ((total: number, current: number) => void) | undefined): Promise<void>;
|
|
13
|
+
downloadFile(remotePath: string, config: DownloadConfig, progressListener?: ((total: number, current: number) => void) | undefined): Promise<stream.Readable>;
|
|
14
|
+
deleteObject(remotePath: string): Promise<void>;
|
|
15
|
+
private ensureDirectoryExists;
|
|
16
|
+
listObjects(remotePath: string): Promise<StorageObject[]>;
|
|
17
|
+
getObjectSize(remotePath: string): Promise<number>;
|
|
18
|
+
getLastModified(remotePath: string): Promise<Date | null>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.FSStorageProvider = void 0;
|
|
30
|
+
const fs_1 = __importDefault(require("fs"));
|
|
31
|
+
const path = __importStar(require("path"));
|
|
32
|
+
const promises_1 = require("fs/promises");
|
|
33
|
+
const index_js_1 = require("../../errors/index.js");
|
|
34
|
+
class FSStorageProvider {
|
|
35
|
+
bucket;
|
|
36
|
+
prefix;
|
|
37
|
+
constructor(credentials) {
|
|
38
|
+
this.bucket = credentials.bucket;
|
|
39
|
+
this.prefix = credentials.prefix;
|
|
40
|
+
}
|
|
41
|
+
getFullPath(remotePath) {
|
|
42
|
+
return path.join(this.bucket, this.prefix, remotePath);
|
|
43
|
+
}
|
|
44
|
+
writeWithProgress(inputStream, outputStream, contentLength, progressListener) {
|
|
45
|
+
let bytesWritten = 0;
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
outputStream.on('close', resolve).on('error', reject);
|
|
48
|
+
inputStream
|
|
49
|
+
.once('data', (chunk) => {
|
|
50
|
+
const canContinue = outputStream.write(chunk);
|
|
51
|
+
if (!canContinue) {
|
|
52
|
+
inputStream.pause();
|
|
53
|
+
outputStream.once('drain', inputStream.resume.bind(inputStream));
|
|
54
|
+
bytesWritten += chunk.length;
|
|
55
|
+
if (!!progressListener) {
|
|
56
|
+
progressListener(contentLength, bytesWritten);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
.on('end', () => {
|
|
61
|
+
outputStream.end();
|
|
62
|
+
})
|
|
63
|
+
.on('error', reject);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async uploadFile(inputStream, remotePath, contentLength, progressListener) {
|
|
67
|
+
if (!inputStream) {
|
|
68
|
+
throw new Error('Input stream is undefined');
|
|
69
|
+
}
|
|
70
|
+
const fullPath = this.getFullPath(remotePath);
|
|
71
|
+
await this.ensureDirectoryExists(path.dirname(fullPath));
|
|
72
|
+
const outputStream = fs_1.default.createWriteStream(fullPath);
|
|
73
|
+
await this.writeWithProgress(inputStream, outputStream, contentLength, progressListener);
|
|
74
|
+
}
|
|
75
|
+
async downloadFile(remotePath, config, progressListener) {
|
|
76
|
+
const offset = config.offset ?? 0;
|
|
77
|
+
const filePath = this.getFullPath(remotePath);
|
|
78
|
+
let stats;
|
|
79
|
+
try {
|
|
80
|
+
stats = await fs_1.default.promises.stat(filePath);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
throw new index_js_1.NotFoundError(`File does not exist: ${filePath}`);
|
|
84
|
+
}
|
|
85
|
+
const total = offset + (config.length ?? 0) || stats.size;
|
|
86
|
+
let current = offset;
|
|
87
|
+
const readStream = fs_1.default.createReadStream(filePath, {
|
|
88
|
+
start: offset,
|
|
89
|
+
end: total,
|
|
90
|
+
});
|
|
91
|
+
readStream.on('data', (chunk) => {
|
|
92
|
+
current += chunk.length;
|
|
93
|
+
if (progressListener) {
|
|
94
|
+
progressListener(total, current);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
return readStream;
|
|
98
|
+
}
|
|
99
|
+
async deleteObject(remotePath) {
|
|
100
|
+
await fs_1.default.promises.rm(this.getFullPath(remotePath), { force: true });
|
|
101
|
+
}
|
|
102
|
+
async ensureDirectoryExists(directory, createIfNotExists = true) {
|
|
103
|
+
try {
|
|
104
|
+
await (0, promises_1.access)(directory, promises_1.constants.F_OK);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (createIfNotExists) {
|
|
108
|
+
await (0, promises_1.mkdir)(directory, { recursive: true });
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
throw new index_js_1.NotFoundError(`Directory does not exist: ${directory}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async listObjects(remotePath) {
|
|
116
|
+
const fullPath = this.getFullPath(remotePath);
|
|
117
|
+
await this.ensureDirectoryExists(fullPath);
|
|
118
|
+
const dirents = await fs_1.default.promises.readdir(fullPath, { withFileTypes: true });
|
|
119
|
+
return Promise.all(dirents.map(async (dirent) => {
|
|
120
|
+
const direntPath = path.join(fullPath, dirent.name);
|
|
121
|
+
const direntStat = await fs_1.default.promises.stat(direntPath);
|
|
122
|
+
return {
|
|
123
|
+
name: dirent.name,
|
|
124
|
+
size: direntStat.size,
|
|
125
|
+
isFolder: dirent.isDirectory(),
|
|
126
|
+
createdAt: direntStat.birthtime,
|
|
127
|
+
...(dirent.isDirectory() && {
|
|
128
|
+
childrenCount: (await fs_1.default.promises.readdir(direntPath)).length,
|
|
129
|
+
}),
|
|
130
|
+
};
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
async getObjectSize(remotePath) {
|
|
134
|
+
const fileStat = await fs_1.default.promises.stat(this.getFullPath(remotePath));
|
|
135
|
+
return fileStat.size;
|
|
136
|
+
}
|
|
137
|
+
async getLastModified(remotePath) {
|
|
138
|
+
const fileStat = await fs_1.default.promises.stat(this.getFullPath(remotePath));
|
|
139
|
+
return fileStat.mtime;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.FSStorageProvider = FSStorageProvider;
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtc3RvcmFnZS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc3RvcmFnZS9mcy1zdG9yYWdlLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNENBQW9CO0FBQ3BCLDJDQUE2QjtBQUk3QiwwQ0FBdUU7QUFDdkUsb0RBQXNEO0FBRXRELE1BQWEsaUJBQWlCO0lBQ1gsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBRWhDLFlBQVksV0FBMEI7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQWtCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVPLGlCQUFpQixDQUN2QixXQUE0QixFQUM1QixZQUE2QixFQUM3QixhQUFxQixFQUNyQixnQkFBMkQ7UUFFM0QsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRXJCLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsWUFBWSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN0RCxXQUFXO2lCQUNSLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFD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
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const dto_js_1 = require("@super-protocol/dto-js");
|
|
7
7
|
const StorjStorageProvider_js_1 = __importDefault(require("./StorjStorageProvider.js"));
|
|
8
8
|
const S3StorageProvider_js_1 = require("./S3StorageProvider.js");
|
|
9
|
+
const fs_storage_provider_js_1 = require("./fs-storage-provider.js");
|
|
9
10
|
exports.default = (storageAccess) => {
|
|
10
11
|
const key = storageAccess.storageType;
|
|
11
12
|
switch (key) {
|
|
@@ -13,8 +14,10 @@ exports.default = (storageAccess) => {
|
|
|
13
14
|
return new StorjStorageProvider_js_1.default(storageAccess.credentials, storageAccess.maximumConcurrent);
|
|
14
15
|
case dto_js_1.StorageType.S3:
|
|
15
16
|
return new S3StorageProvider_js_1.S3StorageProvider(storageAccess.credentials);
|
|
17
|
+
case dto_js_1.StorageType.FS:
|
|
18
|
+
return new fs_storage_provider_js_1.FSStorageProvider(storageAccess.credentials);
|
|
16
19
|
default:
|
|
17
20
|
throw Error(`Unsupported storageType ${key}`);
|
|
18
21
|
}
|
|
19
22
|
};
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3RvcmFnZVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9zdG9yYWdlL2dldFN0b3JhZ2VQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1EQUFtRjtBQUduRix3RkFBNkQ7QUFDN0QsaUVBQTJEO0FBQzNELHFFQUE2RDtBQUU3RCxrQkFBZSxDQUFDLGFBQTRCLEVBQW9CLEVBQUU7SUFDaEUsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLFdBQTBCLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssb0JBQVcsQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sSUFBSSxpQ0FBb0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlGLEtBQUssb0JBQVcsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sSUFBSSx3Q0FBaUIsQ0FBQyxhQUFhLENBQUMsV0FBNEIsQ0FBQyxDQUFDO1FBQzNFLEtBQUssb0JBQVcsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sSUFBSSwwQ0FBaUIsQ0FBQyxhQUFhLENBQUMsV0FBNEIsQ0FBQyxDQUFDO1FBQzNFO1lBQ0UsTUFBTSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztBQUNILENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { StorageAccessCredentials } from '@super-protocol/dto-js';
|
|
2
|
+
import { S3Credentials, StorageCredentials, StorageType, StorjCredentials } from '@super-protocol/dto-js';
|
|
3
|
+
type StorageCredentialsType<T extends StorageType | unknown> = T extends StorageType.StorJ ? StorageCredentials<StorjCredentials> : T extends StorageType.S3 ? StorageCredentials<S3Credentials> : StorageCredentials<StorageAccessCredentials>;
|
|
4
|
+
export declare const parseStorageCredentials: <T extends unknown = unknown>(decryptedCredentials: string) => StorageCredentialsType<T>;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseStorageCredentials = void 0;
|
|
4
|
+
const tryParseJson = (probablyJson) => {
|
|
5
|
+
try {
|
|
6
|
+
return JSON.parse(probablyJson);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return probablyJson;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const parseStorageCredentials = (decryptedCredentials) => {
|
|
13
|
+
const credentials = JSON.parse(decryptedCredentials);
|
|
14
|
+
return {
|
|
15
|
+
storageType: credentials.storageType,
|
|
16
|
+
downloadCredentials: tryParseJson(credentials.downloadCredentials),
|
|
17
|
+
uploadCredentials: tryParseJson(credentials.uploadCredentials),
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
exports.parseStorageCredentials = parseStorageCredentials;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VTdG9yYWdlQ3JlZGVudGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvcGFyc2VTdG9yYWdlQ3JlZGVudGlhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBY0EsTUFBTSxZQUFZLEdBQUcsQ0FBQyxZQUFvQixFQUFpQyxFQUFFO0lBQzNFLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQUMsTUFBTyxDQUFDO1FBQ1IsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVLLE1BQU0sdUJBQXVCLEdBQUcsQ0FDckMsb0JBQTRCLEVBQ0QsRUFBRTtJQUM3QixNQUFNLFdBQVcsR0FBK0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRWpGLE9BQU87UUFDTCxXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVc7UUFDcEMsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUNsRSxpQkFBaUIsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO0tBQ2xDLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBVlcsUUFBQSx1QkFBdUIsMkJBVWxDIn0=
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { CacheEvents, StorageObject } from '../../index.js';
|
|
1
3
|
export interface CacheRecord<V> {
|
|
2
4
|
value: V | null;
|
|
3
5
|
modifiedTs: number;
|
|
@@ -5,3 +7,23 @@ export interface CacheRecord<V> {
|
|
|
5
7
|
export interface Performance {
|
|
6
8
|
now(): number;
|
|
7
9
|
}
|
|
10
|
+
export interface IStorageKeyValueAdapter<V extends object> {
|
|
11
|
+
set(key: string, value: V | null, privateKey?: string): Promise<void>;
|
|
12
|
+
delete(key: string): Promise<void>;
|
|
13
|
+
get(key: string, privateKey?: string): Promise<V | null>;
|
|
14
|
+
listFiles(key: string): Promise<StorageObject[]>;
|
|
15
|
+
}
|
|
16
|
+
export interface IStorageAdapter<V extends object> {
|
|
17
|
+
has(key: string): Promise<boolean>;
|
|
18
|
+
set(key: string, value: V, encryptionKeyBuffer?: Buffer): void;
|
|
19
|
+
delete(key: string): void;
|
|
20
|
+
run(): void;
|
|
21
|
+
clear(): void;
|
|
22
|
+
get(key: string, encryptionKeyBuffer?: Buffer): Promise<(V | null)[] | null>;
|
|
23
|
+
stop(): void;
|
|
24
|
+
subscribe(cb: (props: {
|
|
25
|
+
type: CacheEvents;
|
|
26
|
+
message: unknown;
|
|
27
|
+
}) => void): () => void;
|
|
28
|
+
shutdown(): Promise<void>;
|
|
29
|
+
}
|
|
@@ -14,7 +14,7 @@ class LoaderSecretPublicKeys {
|
|
|
14
14
|
const secretPublicKey = await contract.methods
|
|
15
15
|
.getLoaderSecretPublicKey(teeOfferId)
|
|
16
16
|
.call()
|
|
17
|
-
.then((secretKey) => (0, helper_js_1.
|
|
17
|
+
.then((secretKey) => (0, helper_js_1.convertLoaderSecretPublicKeyFromRaw)(secretKey));
|
|
18
18
|
if (Number(secretPublicKey.timestamp) === 0) {
|
|
19
19
|
return undefined;
|
|
20
20
|
}
|
|
@@ -29,7 +29,7 @@ class LoaderSecretPublicKeys {
|
|
|
29
29
|
const logger = this.logger.child({ method: 'onLoaderSecretPublicKeySessionUpdated' });
|
|
30
30
|
const onData = (event) => {
|
|
31
31
|
const parsedEvent = (0, helper_js_1.cleanWeb3Data)(event.returnValues);
|
|
32
|
-
callback(parsedEvent.
|
|
32
|
+
callback(parsedEvent.teeOfferIssuerId, (0, helper_js_1.cleanWeb3Data)(parsedEvent.secretPublicKey), {
|
|
33
33
|
index: Number(event.blockNumber),
|
|
34
34
|
hash: event.blockHash,
|
|
35
35
|
});
|
|
@@ -45,4 +45,4 @@ class LoaderSecretPublicKeys {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
exports.default = LoaderSecretPublicKeys;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGVyU2VjcmV0c1B1YmxpY0tleXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL0xvYWRlclNlY3JldHNQdWJsaWNLZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQXVGO0FBU3ZGLGtEQUF3RjtBQUN4Rix5RUFBOEM7QUFFOUMsNkRBQXNDO0FBTXRDLE1BQU0sc0JBQXNCO0lBQ2xCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBRXBGLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQXdCO1FBQzlDLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sZUFBZSxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU87YUFDM0Msd0JBQXdCLENBQUMsVUFBVSxDQUFDO2FBQ3BDLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBQSwrQ0FBbUMsRUFBQyxTQUFrQyxDQUFDLENBQUMsQ0FBQztRQUVoRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDckIsVUFBd0IsRUFDeEIsU0FBb0IsRUFDcEIsZUFBMEIsRUFDMUIsVUFBa0IsRUFDbEIsa0JBQXVDO1FBRXZDLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE1BQU0sc0JBQVMsQ0FBQyxPQUFPLENBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLEVBQzdGLGtCQUFrQixDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FDakQsUUFBdUQ7UUFFdkQsTUFBTSxRQUFRLEdBQUcsbUNBQXdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLE1BQU0sTUFBTSxHQUE0QixDQUFDLEtBQWUsRUFBUSxFQUFFO1lBQ2hFLE1BQU0sV0FBVyxHQUFHLElBQUEseUJBQWEsRUFBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsUUFBUSxDQUNRLFdBQVcsQ0FBQyxnQkFBZ0IsRUFDL0IsSUFBQSx5QkFBYSxFQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFDMUM7Z0JBQ1QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2dCQUNoQyxJQUFJLEVBQVUsS0FBSyxDQUFDLFNBQVM7YUFDOUIsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQTZCLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDekQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDN0IsT0FBTztZQUNQLE1BQU07WUFDTixLQUFLLEVBQUUscUNBQXFDO1NBQzdDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBU0gsa0JBQWUsc0JBQXNCLENBQUMifQ==
|
|
@@ -6,8 +6,8 @@ declare class LoaderSessions {
|
|
|
6
6
|
static get(teeOfferId: BlockchainId): Promise<LoaderSession | undefined>;
|
|
7
7
|
static set(teeOfferIssuerId: BlockchainId, sessionPublicKey: PublicKey, signature: string, signedTime: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
8
8
|
static setSessionAndRequestSecret(request: Omit<SecretRequest, 'timestamp'>, teeOfferIssuerId: BlockchainId, sessionPublicKey: PublicKey, signature: string, signedTime: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
9
|
-
static
|
|
9
|
+
static removeLoaderKeys(teeOfferId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
|
|
10
10
|
static onLoaderSessionKeyUpdated(callback: onLoaderSessionKeyUpdatedCallback): () => void;
|
|
11
11
|
}
|
|
12
|
-
export type onLoaderSessionKeyUpdatedCallback = (
|
|
12
|
+
export type onLoaderSessionKeyUpdatedCallback = (teeOfferIssuerId: BlockchainId, publicSessionsKey: PublicKey, block?: BlockInfo) => void;
|
|
13
13
|
export default LoaderSessions;
|
|
@@ -22,7 +22,7 @@ class LoaderSessions {
|
|
|
22
22
|
const loaderSession = await contract.methods
|
|
23
23
|
.getLoaderSession(teeOfferId)
|
|
24
24
|
.call()
|
|
25
|
-
.then((session) => (0, helper_js_1.
|
|
25
|
+
.then((session) => (0, helper_js_1.convertLoaderSessionFromRaw)(session));
|
|
26
26
|
if (Number(loaderSession.timestamp) === 0) {
|
|
27
27
|
return undefined;
|
|
28
28
|
}
|
|
@@ -40,16 +40,16 @@ class LoaderSessions {
|
|
|
40
40
|
timestamp: 0,
|
|
41
41
|
}, sessionPublicKey, signature, teeOfferIssuerId, signedTime), transactionOptions);
|
|
42
42
|
}
|
|
43
|
-
static async
|
|
43
|
+
static async removeLoaderKeys(teeOfferId, transactionOptions) {
|
|
44
44
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
45
|
-
await TxManager_js_1.default.execute(contract.methods.
|
|
45
|
+
await TxManager_js_1.default.execute(contract.methods.removeLoaderKeys(teeOfferId), transactionOptions);
|
|
46
46
|
}
|
|
47
47
|
static onLoaderSessionKeyUpdated(callback) {
|
|
48
48
|
const listener = index_js_1.BlockchainEventsListener.getInstance();
|
|
49
49
|
const logger = this.logger.child({ method: 'onLoaderSessionKeyUpdated' });
|
|
50
50
|
const onData = (event) => {
|
|
51
51
|
const parsedEvent = (0, helper_js_1.cleanWeb3Data)(event.returnValues);
|
|
52
|
-
callback(parsedEvent.
|
|
52
|
+
callback(parsedEvent.teeOfferIssuerId, (0, helper_js_1.cleanWeb3Data)(parsedEvent.publicSessionsKey), {
|
|
53
53
|
index: Number(event.blockNumber),
|
|
54
54
|
hash: event.blockHash,
|
|
55
55
|
});
|
|
@@ -65,4 +65,4 @@ class LoaderSessions {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
exports.default = LoaderSessions;
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGVyU2Vzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL0xvYWRlclNlc3Npb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQXVGO0FBU3ZGLGtEQUFnRjtBQUNoRix5RUFBOEM7QUFFOUMsNkRBQXNDO0FBTXRDLE1BQU0sY0FBYztJQUNWLE1BQU0sQ0FBVSxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sQ0FBQyxpQkFBaUI7UUFDN0IsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0I7UUFDOUIsTUFBTSxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQXdCO1FBQzlDLE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU87YUFDekMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO2FBQzVCLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBQSx1Q0FBMkIsRUFBQyxPQUF3QixDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLE1BQU0sQ0FBQyxh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
|
|
@@ -7,8 +7,9 @@ declare class OfferResources {
|
|
|
7
7
|
static get(teeOfferIssuerId: BlockchainId, teeOfferKeeperId: BlockchainId, offerId: BlockchainId, version?: number): Promise<OfferResource | undefined>;
|
|
8
8
|
static getCountByKeeperId(teeOfferKeeperId: BlockchainId): Promise<number>;
|
|
9
9
|
static set(offerResource: Omit<OfferResource, 'timestamp'>, transactionOptions?: TransactionOptions): Promise<void>;
|
|
10
|
+
static increaseReplicationFactor(offerResource: Omit<OfferResource, 'timestamp'>, n: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
10
11
|
static createOrder(requestOfferId: BlockchainId, requestOfferVersion: number | undefined, resultInfo: string, resultInfoSignatureBySecretKey: Signature, signedTime: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
11
|
-
static
|
|
12
|
+
static clear(teeOfferKeeperId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
|
|
12
13
|
static onOfferResourceCreated(callback: onOfferResourceCreatedCallback): () => void;
|
|
13
14
|
static onOrderResourceCreated(callback: onOrderResourceCreatedCallback): () => void;
|
|
14
15
|
}
|
|
@@ -7,6 +7,7 @@ const index_js_1 = require("../connectors/index.js");
|
|
|
7
7
|
const helper_js_1 = require("../utils/helper.js");
|
|
8
8
|
const TxManager_js_1 = __importDefault(require("../utils/TxManager.js"));
|
|
9
9
|
const logger_js_1 = __importDefault(require("../logger.js"));
|
|
10
|
+
const constants_js_1 = require("../constants.js");
|
|
10
11
|
class OfferResources {
|
|
11
12
|
static logger = logger_js_1.default.child({ className: 'OfferResources' });
|
|
12
13
|
static getByKeeperId(teeOfferKeeperId) {
|
|
@@ -14,28 +15,28 @@ class OfferResources {
|
|
|
14
15
|
return contract.methods
|
|
15
16
|
.getOfferResourcesByKeeperId(teeOfferKeeperId)
|
|
16
17
|
.call()
|
|
17
|
-
.then((resources) => resources.map((resource) => (0, helper_js_1.
|
|
18
|
+
.then((resources) => resources.map((resource) => (0, helper_js_1.convertOfferResourceFromRaw)(resource)));
|
|
18
19
|
}
|
|
19
20
|
static getByIssuerId(teeOfferIssuerId) {
|
|
20
21
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
21
22
|
return contract.methods
|
|
22
23
|
.getOfferResourcesByIssuerId(teeOfferIssuerId)
|
|
23
24
|
.call()
|
|
24
|
-
.then((resources) => resources.map((resource) => (0, helper_js_1.
|
|
25
|
+
.then((resources) => resources.map((resource) => (0, helper_js_1.convertOfferResourceFromRaw)(resource)));
|
|
25
26
|
}
|
|
26
27
|
static getByOfferVersion(offerId, version = 0) {
|
|
27
28
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
28
29
|
return contract.methods
|
|
29
30
|
.getOfferResourcesByOfferVersion(offerId, version)
|
|
30
31
|
.call()
|
|
31
|
-
.then((resources) => resources.map((resource) => (0, helper_js_1.
|
|
32
|
+
.then((resources) => resources.map((resource) => (0, helper_js_1.convertOfferResourceFromRaw)(resource)));
|
|
32
33
|
}
|
|
33
34
|
static async get(teeOfferIssuerId, teeOfferKeeperId, offerId, version = 0) {
|
|
34
35
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
35
36
|
const resource = await contract.methods
|
|
36
37
|
.getOfferResource(teeOfferIssuerId, teeOfferKeeperId, offerId, version)
|
|
37
38
|
.call()
|
|
38
|
-
.then((resource) => (0, helper_js_1.
|
|
39
|
+
.then((resource) => (0, helper_js_1.convertOfferResourceFromRaw)(resource));
|
|
39
40
|
if (Number(resource.timestamp) === 0) {
|
|
40
41
|
return undefined;
|
|
41
42
|
}
|
|
@@ -51,25 +52,40 @@ class OfferResources {
|
|
|
51
52
|
await TxManager_js_1.default.execute(contract.methods.setOfferResource({
|
|
52
53
|
...offerResource,
|
|
53
54
|
offerVersion: offerResource.offerVersion ?? 0,
|
|
55
|
+
solutionHash: offerResource.solutionHash ?? '',
|
|
54
56
|
timestamp: 0,
|
|
55
57
|
}), transactionOptions);
|
|
56
58
|
}
|
|
59
|
+
static async increaseReplicationFactor(offerResource, n, transactionOptions) {
|
|
60
|
+
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
61
|
+
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
62
|
+
await TxManager_js_1.default.execute(contract.methods.increaseReplicationFactor({
|
|
63
|
+
...offerResource,
|
|
64
|
+
offerVersion: offerResource.offerVersion ?? 0,
|
|
65
|
+
solutionHash: offerResource.solutionHash ?? '',
|
|
66
|
+
timestamp: 0,
|
|
67
|
+
}, n), transactionOptions);
|
|
68
|
+
}
|
|
57
69
|
static async createOrder(requestOfferId, requestOfferVersion = 0, resultInfo, resultInfoSignatureBySecretKey, signedTime, transactionOptions) {
|
|
58
70
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
59
71
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
60
72
|
await TxManager_js_1.default.execute(contract.methods.createResourceOrder(requestOfferId, requestOfferVersion, resultInfo, resultInfoSignatureBySecretKey, signedTime), transactionOptions);
|
|
61
73
|
}
|
|
62
|
-
static async
|
|
74
|
+
static async clear(teeOfferKeeperId, transactionOptions) {
|
|
63
75
|
const contract = index_js_1.BlockchainConnector.getInstance().getContract();
|
|
64
76
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
65
|
-
|
|
77
|
+
const options = {
|
|
78
|
+
gas: constants_js_1.AMOY_TX_GAS_LIMIT,
|
|
79
|
+
...transactionOptions,
|
|
80
|
+
};
|
|
81
|
+
await TxManager_js_1.default.execute(contract.methods.clearOfferResources(teeOfferKeeperId), options);
|
|
66
82
|
}
|
|
67
83
|
static onOfferResourceCreated(callback) {
|
|
68
84
|
const listener = index_js_1.BlockchainEventsListener.getInstance();
|
|
69
85
|
const logger = this.logger.child({ method: 'onOfferResourceCreated' });
|
|
70
86
|
const onData = (event) => {
|
|
71
87
|
const parsedEvent = (0, helper_js_1.cleanWeb3Data)(event.returnValues);
|
|
72
|
-
callback(parsedEvent.offerId, parsedEvent.
|
|
88
|
+
callback(parsedEvent.offerId, parsedEvent.offerVersion, parsedEvent.teeOfferKeeperId, parsedEvent.teeOfferIssuerId, parsedEvent.transactionHash, {
|
|
73
89
|
index: Number(event.blockNumber),
|
|
74
90
|
hash: event.blockHash,
|
|
75
91
|
});
|
|
@@ -104,4 +120,4 @@ class OfferResources {
|
|
|
104
120
|
}
|
|
105
121
|
}
|
|
106
122
|
exports.default = OfferResources;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJSZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL09mZmVyUmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQXVGO0FBUXZGLGtEQUk0QjtBQUM1Qix5RUFBOEM7QUFFOUMsNkRBQXNDO0FBS3RDLGtEQUFvRDtBQUVwRCxNQUFNLGNBQWM7SUFDVixNQUFNLENBQVUsTUFBTSxHQUFHLG1CQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUU1RSxNQUFNLENBQUMsYUFBYSxDQUFDLGdCQUE4QjtRQUN4RCxNQUFNLFFBQVEsR0FBRyw4QkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqRSxPQUFPLFFBQVEsQ0FBQyxPQUFPO2FBQ3BCLDJCQUEyQixDQUFDLGdCQUFnQixDQUFDO2FBQzdDLElBQUksRUFBRTthQUNOLElBQUksQ0FBQyxDQUFDLFNBQTJCLEVBQUUsRUFBRSxDQUNwQyxTQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFBLHVDQUEyQixFQUFDLFFBQXlCLENBQUMsQ0FBQyxDQUNyRixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQThCO1FBQ3hELE1BQU0sUUFBUSxHQUFHLDhCQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU87YUFDcEIsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUM7YUFDN0MsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsU0FBMkIsRUFBRSxFQUFFLENBQ3BDLFNBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUEsdUNBQTJCLEVBQUMsUUFBeUIsQ0FBQyxDQUFD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
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BlockchainId, OfferStorageAllocated } from '../types/index.js';
|
|
2
2
|
declare class OffersStorageAllocated {
|
|
3
|
-
getNewStorageOrders(): Promise<BlockchainId[]>;
|
|
4
|
-
static getUsedStorageOrders(): Promise<BlockchainId[]>;
|
|
5
3
|
static getByOfferVersion(offerId: BlockchainId, offerVersion?: number): Promise<OfferStorageAllocated | undefined>;
|
|
4
|
+
static getByIssuerId(teeOfferIssuerId: BlockchainId): Promise<OfferStorageAllocated[]>;
|
|
6
5
|
}
|
|
7
6
|
export default OffersStorageAllocated;
|