@super-protocol/sdk-js 2.2.0-beta.6 → 2.2.0-beta.61
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/analytics/eventProviders/BrowserEventProvider.d.ts +1 -0
- package/dist/cjs/analytics/eventProviders/BrowserEventProvider.js +3 -3
- package/dist/cjs/constants.d.ts +1 -4
- package/dist/cjs/constants.js +4 -7
- package/dist/cjs/contracts/abi.d.ts +279 -26
- package/dist/cjs/contracts/abi.js +357 -33
- package/dist/cjs/crypto/index.d.ts +1 -0
- package/dist/cjs/crypto/index.js +16 -1
- package/dist/cjs/index.d.ts +4 -1
- package/dist/cjs/index.js +11 -2
- package/dist/cjs/models/Offer.js +6 -4
- package/dist/cjs/models/TCB.js +2 -2
- package/dist/cjs/models/TeeOffer.d.ts +3 -3
- package/dist/cjs/models/TeeOffer.js +15 -12
- package/dist/cjs/providers/storage/S3StorageProvider.d.ts +6 -6
- package/dist/cjs/providers/storage/S3StorageProvider.js +31 -19
- package/dist/cjs/providers/storage/StorjAdapter.d.ts +2 -1
- package/dist/cjs/providers/storage/StorjAdapter.js +1 -1
- package/dist/cjs/providers/storage/StorjCredentialsManager.d.ts +24 -0
- package/dist/cjs/providers/storage/StorjCredentialsManager.js +86 -0
- package/dist/cjs/providers/storage/getStorageProvider.js +1 -1
- package/dist/cjs/providers/storage/parseStorageCredentials.d.ts +5 -0
- package/dist/cjs/providers/storage/parseStorageCredentials.js +21 -0
- package/dist/cjs/staticModels/LoaderSecretsPublicKeys.d.ts +1 -1
- package/dist/cjs/staticModels/LoaderSecretsPublicKeys.js +9 -5
- package/dist/cjs/staticModels/LoaderSessions.d.ts +3 -3
- package/dist/cjs/staticModels/LoaderSessions.js +11 -7
- package/dist/cjs/staticModels/OfferResources.d.ts +2 -2
- package/dist/cjs/staticModels/OfferResources.js +20 -10
- package/dist/cjs/staticModels/OffersStorageAllocated.d.ts +2 -3
- package/dist/cjs/staticModels/OffersStorageAllocated.js +15 -11
- package/dist/cjs/staticModels/OffersStorageRequests.d.ts +1 -1
- package/dist/cjs/staticModels/OffersStorageRequests.js +10 -5
- 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 +1 -32
- package/dist/cjs/tee/QuoteParser.d.ts +60 -5
- package/dist/cjs/tee/QuoteParser.js +244 -27
- package/dist/cjs/tee/QuoteValidator.d.ts +1 -0
- package/dist/cjs/tee/QuoteValidator.js +53 -28
- package/dist/cjs/tee/TeeBlockVerifier.d.ts +3 -4
- package/dist/cjs/tee/TeeBlockVerifier.js +1 -1
- package/dist/cjs/tee/types.d.ts +49 -9
- package/dist/cjs/tee/types.js +32 -1
- package/dist/cjs/types/DistributedSecretStorage.d.ts +7 -0
- package/dist/cjs/types/Superpro.d.ts +2 -1
- package/dist/cjs/types/Superpro.js +2 -1
- package/dist/cjs/types/storage/StorageAccess.d.ts +3 -3
- package/dist/cjs/utils/CryptoKeysTransformer.d.ts +8 -1
- package/dist/cjs/utils/CryptoKeysTransformer.js +72 -8
- package/dist/cjs/utils/helper.d.ts +7 -1
- package/dist/cjs/utils/helper.js +85 -2
- package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +5 -0
- package/dist/cjs/utils/helpers/OrderArgsHelper.js +25 -0
- package/dist/cjs/utils/helpers/index.d.ts +1 -0
- package/dist/cjs/utils/helpers/index.js +2 -1
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.d.ts +1 -0
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.js +3 -3
- package/dist/mjs/constants.d.ts +1 -4
- package/dist/mjs/constants.js +3 -6
- package/dist/mjs/contracts/abi.d.ts +279 -26
- package/dist/mjs/contracts/abi.js +357 -33
- package/dist/mjs/crypto/index.d.ts +1 -0
- package/dist/mjs/crypto/index.js +2 -1
- package/dist/mjs/index.d.ts +4 -1
- package/dist/mjs/index.js +5 -2
- package/dist/mjs/models/Offer.js +6 -4
- package/dist/mjs/models/TCB.js +2 -2
- package/dist/mjs/models/TeeOffer.d.ts +3 -3
- package/dist/mjs/models/TeeOffer.js +16 -13
- package/dist/mjs/providers/storage/S3StorageProvider.d.ts +6 -6
- package/dist/mjs/providers/storage/S3StorageProvider.js +31 -19
- package/dist/mjs/providers/storage/StorjAdapter.d.ts +2 -1
- package/dist/mjs/providers/storage/StorjAdapter.js +1 -1
- package/dist/mjs/providers/storage/StorjCredentialsManager.d.ts +24 -0
- package/dist/mjs/providers/storage/StorjCredentialsManager.js +82 -0
- package/dist/mjs/providers/storage/getStorageProvider.js +1 -1
- package/dist/mjs/providers/storage/parseStorageCredentials.d.ts +5 -0
- package/dist/mjs/providers/storage/parseStorageCredentials.js +17 -0
- package/dist/mjs/staticModels/LoaderSecretsPublicKeys.d.ts +1 -1
- package/dist/mjs/staticModels/LoaderSecretsPublicKeys.js +10 -6
- package/dist/mjs/staticModels/LoaderSessions.d.ts +3 -3
- package/dist/mjs/staticModels/LoaderSessions.js +12 -8
- package/dist/mjs/staticModels/OfferResources.d.ts +2 -2
- package/dist/mjs/staticModels/OfferResources.js +21 -11
- package/dist/mjs/staticModels/OffersStorageAllocated.d.ts +2 -3
- package/dist/mjs/staticModels/OffersStorageAllocated.js +16 -12
- package/dist/mjs/staticModels/OffersStorageRequests.d.ts +1 -1
- package/dist/mjs/staticModels/OffersStorageRequests.js +11 -6
- 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 +1 -32
- package/dist/mjs/tee/QuoteParser.d.ts +60 -5
- package/dist/mjs/tee/QuoteParser.js +241 -26
- package/dist/mjs/tee/QuoteValidator.d.ts +1 -0
- package/dist/mjs/tee/QuoteValidator.js +54 -29
- package/dist/mjs/tee/TeeBlockVerifier.d.ts +3 -4
- package/dist/mjs/tee/TeeBlockVerifier.js +1 -1
- package/dist/mjs/tee/types.d.ts +49 -9
- package/dist/mjs/tee/types.js +28 -2
- package/dist/mjs/types/DistributedSecretStorage.d.ts +7 -0
- package/dist/mjs/types/Superpro.d.ts +2 -1
- package/dist/mjs/types/Superpro.js +2 -1
- package/dist/mjs/types/storage/StorageAccess.d.ts +3 -3
- package/dist/mjs/utils/CryptoKeysTransformer.d.ts +8 -1
- package/dist/mjs/utils/CryptoKeysTransformer.js +72 -8
- package/dist/mjs/utils/helper.d.ts +7 -1
- package/dist/mjs/utils/helper.js +78 -1
- package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +5 -0
- package/dist/mjs/utils/helpers/OrderArgsHelper.js +18 -0
- package/dist/mjs/utils/helpers/index.d.ts +1 -0
- package/dist/mjs/utils/helpers/index.js +2 -1
- package/package.json +4 -4
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { S3Credentials, StorjCredentials, StringifiedCredentials } from '@super-protocol/dto-js';
|
|
2
|
+
export declare enum CredentialsPermissions {
|
|
3
|
+
read = 0,
|
|
4
|
+
write = 1,
|
|
5
|
+
list = 2,
|
|
6
|
+
delete = 3
|
|
7
|
+
}
|
|
8
|
+
export declare class StorjCredentialsManager {
|
|
9
|
+
private accessToken;
|
|
10
|
+
private bucket;
|
|
11
|
+
private access?;
|
|
12
|
+
private project?;
|
|
13
|
+
constructor(storageConfig: Pick<StorjCredentials, 'token' | 'bucket'>);
|
|
14
|
+
getStorageId(entity: string, entityId: string): string;
|
|
15
|
+
create(): Promise<void>;
|
|
16
|
+
acquireCredentials(permissions: CredentialsPermissions[], prefix: string): Promise<StringifiedCredentials<StorjCredentials>>;
|
|
17
|
+
acquireS3Credentials(permissions: CredentialsPermissions[], prefix: string): Promise<S3Credentials>;
|
|
18
|
+
getS3Credentials(stringifiedCredentials: StringifiedCredentials): Promise<S3Credentials>;
|
|
19
|
+
getS3Credentials(storjCredentials: StorjCredentials): Promise<S3Credentials>;
|
|
20
|
+
revokeCredentials(credentialString: StringifiedCredentials<StorjCredentials>): Promise<void>;
|
|
21
|
+
private lazyStorj;
|
|
22
|
+
private lazyAccess;
|
|
23
|
+
private lazyProject;
|
|
24
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export var CredentialsPermissions;
|
|
2
|
+
(function (CredentialsPermissions) {
|
|
3
|
+
CredentialsPermissions[CredentialsPermissions["read"] = 0] = "read";
|
|
4
|
+
CredentialsPermissions[CredentialsPermissions["write"] = 1] = "write";
|
|
5
|
+
CredentialsPermissions[CredentialsPermissions["list"] = 2] = "list";
|
|
6
|
+
CredentialsPermissions[CredentialsPermissions["delete"] = 3] = "delete";
|
|
7
|
+
})(CredentialsPermissions || (CredentialsPermissions = {}));
|
|
8
|
+
export class StorjCredentialsManager {
|
|
9
|
+
accessToken;
|
|
10
|
+
bucket;
|
|
11
|
+
access;
|
|
12
|
+
project;
|
|
13
|
+
constructor(storageConfig) {
|
|
14
|
+
this.accessToken = storageConfig.token;
|
|
15
|
+
this.bucket = storageConfig.bucket;
|
|
16
|
+
}
|
|
17
|
+
getStorageId(entity, entityId) {
|
|
18
|
+
return `${entity}_${entityId}`;
|
|
19
|
+
}
|
|
20
|
+
async create() {
|
|
21
|
+
const project = await this.lazyProject();
|
|
22
|
+
await project.ensureBucket(this.bucket);
|
|
23
|
+
}
|
|
24
|
+
async acquireCredentials(permissions, prefix) {
|
|
25
|
+
const readPerm = permissions.includes(CredentialsPermissions.read), writePerm = permissions.includes(CredentialsPermissions.write), listPerm = permissions.includes(CredentialsPermissions.list), deletePerm = permissions.includes(CredentialsPermissions.delete);
|
|
26
|
+
const storj = await this.lazyStorj();
|
|
27
|
+
const perm = new storj.Permission(readPerm, writePerm, deletePerm, listPerm, 0, 0);
|
|
28
|
+
const sharePrefix = new storj.SharePrefix(this.bucket, prefix + '/');
|
|
29
|
+
const access = await this.lazyAccess();
|
|
30
|
+
const share = await access.share(perm, [sharePrefix], 1);
|
|
31
|
+
return JSON.stringify({
|
|
32
|
+
bucket: this.bucket,
|
|
33
|
+
prefix: prefix + '/',
|
|
34
|
+
token: await share.serialize(),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async acquireS3Credentials(permissions, prefix) {
|
|
38
|
+
const storjCreds = await this.acquireCredentials(permissions, prefix);
|
|
39
|
+
return this.getS3Credentials(storjCreds);
|
|
40
|
+
}
|
|
41
|
+
async getS3Credentials(creds) {
|
|
42
|
+
const storjCredentials = typeof creds === 'string' ? JSON.parse(creds) : creds;
|
|
43
|
+
const access = await this.lazyAccess();
|
|
44
|
+
const s3Credentials = await access.registerS3Credentials(storjCredentials.token);
|
|
45
|
+
return {
|
|
46
|
+
accessKeyId: s3Credentials.accessKeyId,
|
|
47
|
+
secretKey: s3Credentials.secretKey,
|
|
48
|
+
endpoint: s3Credentials.endpoint,
|
|
49
|
+
bucket: storjCredentials.bucket,
|
|
50
|
+
prefix: storjCredentials.prefix,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async revokeCredentials(credentialString) {
|
|
54
|
+
const credentials = JSON.parse(credentialString);
|
|
55
|
+
const storj = await this.lazyStorj();
|
|
56
|
+
const uplink = new storj.Uplink();
|
|
57
|
+
const access = await uplink.parseAccess(credentials.token);
|
|
58
|
+
const project = await this.lazyProject();
|
|
59
|
+
await project.revokeAccess(access);
|
|
60
|
+
}
|
|
61
|
+
async lazyStorj() {
|
|
62
|
+
return await require('@super-protocol/uplink-nodejs');
|
|
63
|
+
}
|
|
64
|
+
async lazyAccess() {
|
|
65
|
+
if (this.access) {
|
|
66
|
+
return this.access;
|
|
67
|
+
}
|
|
68
|
+
const storj = await this.lazyStorj();
|
|
69
|
+
const uplink = new storj.Uplink();
|
|
70
|
+
this.access = await uplink.parseAccess(this.accessToken);
|
|
71
|
+
return this.access;
|
|
72
|
+
}
|
|
73
|
+
async lazyProject() {
|
|
74
|
+
if (this.project) {
|
|
75
|
+
return this.project;
|
|
76
|
+
}
|
|
77
|
+
const access = await this.lazyAccess();
|
|
78
|
+
this.project = await access.openProject();
|
|
79
|
+
return this.project;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmpDcmVkZW50aWFsc01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvU3RvcmpDcmVkZW50aWFsc01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxDQUFOLElBQVksc0JBS1g7QUFMRCxXQUFZLHNCQUFzQjtJQUNoQyxtRUFBSSxDQUFBO0lBQ0oscUVBQUssQ0FBQTtJQUNMLG1FQUFJLENBQUE7SUFDSix1RUFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUxXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFLakM7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0lBQzFCLFdBQVcsQ0FBUztJQUNwQixNQUFNLENBQVM7SUFDZixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFXO0lBRTFCLFlBQVksYUFBeUQ7UUFDbkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWMsRUFBRSxRQUFnQjtRQUMzQyxPQUFPLEdBQUcsTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTTtRQUNWLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FDdEIsV0FBcUMsRUFDckMsTUFBYztRQUVkLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQ2hFLFNBQVMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FB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
|
|
@@ -12,4 +12,4 @@ export default (storageAccess) => {
|
|
|
12
12
|
throw Error(`Unsupported storageType ${key}`);
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3RvcmFnZVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9zdG9yYWdlL2dldFN0b3JhZ2VQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3BFLE9BQU8sb0JBQW9CLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsZUFBZSxDQUFDLGFBQTRCLEVBQW9CLEVBQUU7SUFDaEUsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLFdBQTBCLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssV0FBVyxDQUFDLEtBQUs7WUFDcEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUYsS0FBSyxXQUFXLENBQUMsRUFBRTtZQUNqQixPQUFPLElBQUksaUJBQWlCLENBQUMsYUFBYSxDQUFDLFdBQTRCLENBQUMsQ0FBQztRQUMzRTtZQUNFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7QUFDSCxDQUFDLENBQUMifQ==
|
|
@@ -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,17 @@
|
|
|
1
|
+
const tryParseJson = (probablyJson) => {
|
|
2
|
+
try {
|
|
3
|
+
return JSON.parse(probablyJson);
|
|
4
|
+
}
|
|
5
|
+
catch {
|
|
6
|
+
return probablyJson;
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
export const parseStorageCredentials = (decryptedCredentials) => {
|
|
10
|
+
const credentials = JSON.parse(decryptedCredentials);
|
|
11
|
+
return {
|
|
12
|
+
storageType: credentials.storageType,
|
|
13
|
+
downloadCredentials: tryParseJson(credentials.downloadCredentials),
|
|
14
|
+
uploadCredentials: tryParseJson(credentials.uploadCredentials),
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VTdG9yYWdlQ3JlZGVudGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvcGFyc2VTdG9yYWdlQ3JlZGVudGlhbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsTUFBTSxZQUFZLEdBQUcsQ0FBQyxZQUFvQixFQUFpQyxFQUFFO0lBQzNFLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQUMsTUFBTyxDQUFDO1FBQ1IsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQ3JDLG9CQUE0QixFQUNELEVBQUU7SUFDN0IsTUFBTSxXQUFXLEdBQStCLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUVqRixPQUFPO1FBQ0wsV0FBVyxFQUFFLFdBQVcsQ0FBQyxXQUFXO1FBQ3BDLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFDbEUsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztLQUNsQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BlockInfo, BlockchainId, TransactionOptions, LoaderSecretPublicKey, PublicKey, Signature } from '../types/index.js';
|
|
2
2
|
declare class LoaderSecretPublicKeys {
|
|
3
3
|
private static readonly logger;
|
|
4
|
-
static get(teeOfferId: BlockchainId): Promise<LoaderSecretPublicKey>;
|
|
4
|
+
static get(teeOfferId: BlockchainId): Promise<LoaderSecretPublicKey | undefined>;
|
|
5
5
|
static set(teeOfferId: BlockchainId, signature: Signature, secretPublicKey: PublicKey, signedTime: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
6
6
|
static onLoaderSecretPublicKeySessionUpdated(callback: onLoaderSecretPublicKeySessionUpdatedCallback): () => void;
|
|
7
7
|
}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
2
|
-
import { cleanWeb3Data } from '../utils/helper.js';
|
|
2
|
+
import { cleanWeb3Data, convertLoaderSecretPublicKeyFromRaw } from '../utils/helper.js';
|
|
3
3
|
import TxManager from '../utils/TxManager.js';
|
|
4
4
|
import rootLogger from '../logger.js';
|
|
5
5
|
class LoaderSecretPublicKeys {
|
|
6
6
|
static logger = rootLogger.child({ className: 'LoaderSecretPublicKeys' });
|
|
7
|
-
static get(teeOfferId) {
|
|
7
|
+
static async get(teeOfferId) {
|
|
8
8
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
9
|
-
|
|
9
|
+
const secretPublicKey = await contract.methods
|
|
10
10
|
.getLoaderSecretPublicKey(teeOfferId)
|
|
11
11
|
.call()
|
|
12
|
-
.then((secretKey) =>
|
|
12
|
+
.then((secretKey) => convertLoaderSecretPublicKeyFromRaw(secretKey));
|
|
13
|
+
if (Number(secretPublicKey.timestamp) === 0) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
return secretPublicKey;
|
|
13
17
|
}
|
|
14
18
|
static async set(teeOfferId, signature, secretPublicKey, signedTime, transactionOptions) {
|
|
15
19
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
@@ -20,7 +24,7 @@ class LoaderSecretPublicKeys {
|
|
|
20
24
|
const logger = this.logger.child({ method: 'onLoaderSecretPublicKeySessionUpdated' });
|
|
21
25
|
const onData = (event) => {
|
|
22
26
|
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
23
|
-
callback(parsedEvent.
|
|
27
|
+
callback(parsedEvent.teeOfferIssuerId, cleanWeb3Data(parsedEvent.secretPublicKey), {
|
|
24
28
|
index: Number(event.blockNumber),
|
|
25
29
|
hash: event.blockHash,
|
|
26
30
|
});
|
|
@@ -36,4 +40,4 @@ class LoaderSecretPublicKeys {
|
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
export default LoaderSecretPublicKeys;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGVyU2VjcmV0c1B1YmxpY0tleXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL0xvYWRlclNlY3JldHNQdWJsaWNLZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBU3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUU5QyxPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFNdEMsTUFBTSxzQkFBc0I7SUFDbEIsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUVwRixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUF3QjtRQUM5QyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRSxNQUFNLGVBQWUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPO2FBQzNDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQzthQUNwQyxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLFNBQWtDLENBQUMsQ0FBQyxDQUFDO1FBRWhHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNyQixVQUF3QixFQUN4QixTQUFvQixFQUNwQixlQUEwQixFQUMxQixVQUFrQixFQUNsQixrQkFBdUM7UUFFdkMsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsTUFBTSxTQUFTLENBQUMsT0FBTyxDQUNyQixRQUFRLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxFQUM3RixrQkFBa0IsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMscUNBQXFDLENBQ2pELFFBQXVEO1FBRXZELE1BQU0sUUFBUSxHQUFHLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLHVDQUF1QyxFQUFFLENBQUMsQ0FBQztRQUN0RixNQUFNLE1BQU0sR0FBNEIsQ0FBQyxLQUFlLEVBQVEsRUFBRTtZQUNoRSxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELFFBQVEsQ0FDUSxXQUFXLENBQUMsZ0JBQWdCLEVBQy9CLGFBQWEsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQzFDO2dCQUNULEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztnQkFDaEMsSUFBSSxFQUFVLEtBQUssQ0FBQyxTQUFTO2FBQzlCLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUE2QixDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQzdCLE9BQU87WUFDUCxNQUFNO1lBQ04sS0FBSyxFQUFFLHFDQUFxQztTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQVNILGVBQWUsc0JBQXNCLENBQUMifQ==
|
|
@@ -3,11 +3,11 @@ declare class LoaderSessions {
|
|
|
3
3
|
private static readonly logger;
|
|
4
4
|
static getEnabledLoaders(): Promise<BlockchainId[]>;
|
|
5
5
|
static getDisabledLoaders(): Promise<BlockchainId[]>;
|
|
6
|
-
static get(teeOfferId: BlockchainId): Promise<LoaderSession>;
|
|
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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
2
|
-
import { cleanWeb3Data } from '../utils/helper.js';
|
|
2
|
+
import { cleanWeb3Data, convertLoaderSessionFromRaw } from '../utils/helper.js';
|
|
3
3
|
import TxManager from '../utils/TxManager.js';
|
|
4
4
|
import rootLogger from '../logger.js';
|
|
5
5
|
class LoaderSessions {
|
|
@@ -12,12 +12,16 @@ class LoaderSessions {
|
|
|
12
12
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
13
13
|
return contract.methods.getDisabledLoaders().call();
|
|
14
14
|
}
|
|
15
|
-
static get(teeOfferId) {
|
|
15
|
+
static async get(teeOfferId) {
|
|
16
16
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
17
|
-
|
|
17
|
+
const loaderSession = await contract.methods
|
|
18
18
|
.getLoaderSession(teeOfferId)
|
|
19
19
|
.call()
|
|
20
|
-
.then((session) =>
|
|
20
|
+
.then((session) => convertLoaderSessionFromRaw(session));
|
|
21
|
+
if (Number(loaderSession.timestamp) === 0) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
return loaderSession;
|
|
21
25
|
}
|
|
22
26
|
static async set(teeOfferIssuerId, sessionPublicKey, signature, signedTime, transactionOptions) {
|
|
23
27
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
@@ -31,16 +35,16 @@ class LoaderSessions {
|
|
|
31
35
|
timestamp: 0,
|
|
32
36
|
}, sessionPublicKey, signature, teeOfferIssuerId, signedTime), transactionOptions);
|
|
33
37
|
}
|
|
34
|
-
static async
|
|
38
|
+
static async removeLoaderKeys(teeOfferId, transactionOptions) {
|
|
35
39
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
36
|
-
await TxManager.execute(contract.methods.
|
|
40
|
+
await TxManager.execute(contract.methods.removeLoaderKeys(teeOfferId), transactionOptions);
|
|
37
41
|
}
|
|
38
42
|
static onLoaderSessionKeyUpdated(callback) {
|
|
39
43
|
const listener = BlockchainEventsListener.getInstance();
|
|
40
44
|
const logger = this.logger.child({ method: 'onLoaderSessionKeyUpdated' });
|
|
41
45
|
const onData = (event) => {
|
|
42
46
|
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
43
|
-
callback(parsedEvent.
|
|
47
|
+
callback(parsedEvent.teeOfferIssuerId, cleanWeb3Data(parsedEvent.publicSessionsKey), {
|
|
44
48
|
index: Number(event.blockNumber),
|
|
45
49
|
hash: event.blockHash,
|
|
46
50
|
});
|
|
@@ -56,4 +60,4 @@ class LoaderSessions {
|
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
export default LoaderSessions;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGVyU2Vzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL0xvYWRlclNlc3Npb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBU3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRixPQUFPLFNBQVMsTUFBTSx1QkFBdUIsQ0FBQztBQUU5QyxPQUFPLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFNdEMsTUFBTSxjQUFjO0lBQ1YsTUFBTSxDQUFVLE1BQU0sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUU1RSxNQUFNLENBQUMsaUJBQWlCO1FBQzdCLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCO1FBQzlCLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUF3QjtRQUM5QyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRSxNQUFNLGFBQWEsR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPO2FBQ3pDLGdCQUFnQixDQUFDLFVBQVUsQ0FB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
|
|
@@ -4,11 +4,11 @@ declare class OfferResources {
|
|
|
4
4
|
static getByKeeperId(teeOfferKeeperId: BlockchainId): Promise<OfferResource[]>;
|
|
5
5
|
static getByIssuerId(teeOfferIssuerId: BlockchainId): Promise<OfferResource[]>;
|
|
6
6
|
static getByOfferVersion(offerId: BlockchainId, version?: number): Promise<OfferResource[]>;
|
|
7
|
-
static get(teeOfferIssuerId: BlockchainId, teeOfferKeeperId: BlockchainId, offerId: BlockchainId, version?: number): Promise<OfferResource>;
|
|
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
10
|
static createOrder(requestOfferId: BlockchainId, requestOfferVersion: number | undefined, resultInfo: string, resultInfoSignatureBySecretKey: Signature, signedTime: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
11
|
-
static
|
|
11
|
+
static clear(teeOfferKeeperId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
|
|
12
12
|
static onOfferResourceCreated(callback: onOfferResourceCreatedCallback): () => void;
|
|
13
13
|
static onOrderResourceCreated(callback: onOrderResourceCreatedCallback): () => void;
|
|
14
14
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
2
|
-
import { checkIfActionAccountInitialized, cleanWeb3Data } from '../utils/helper.js';
|
|
2
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data, convertOfferResourceFromRaw, } from '../utils/helper.js';
|
|
3
3
|
import TxManager from '../utils/TxManager.js';
|
|
4
4
|
import rootLogger from '../logger.js';
|
|
5
|
+
import { AMOY_TX_GAS_LIMIT } from '../constants.js';
|
|
5
6
|
class OfferResources {
|
|
6
7
|
static logger = rootLogger.child({ className: 'OfferResources' });
|
|
7
8
|
static getByKeeperId(teeOfferKeeperId) {
|
|
@@ -9,28 +10,32 @@ class OfferResources {
|
|
|
9
10
|
return contract.methods
|
|
10
11
|
.getOfferResourcesByKeeperId(teeOfferKeeperId)
|
|
11
12
|
.call()
|
|
12
|
-
.then((resources) => resources.map((resource) =>
|
|
13
|
+
.then((resources) => resources.map((resource) => convertOfferResourceFromRaw(resource)));
|
|
13
14
|
}
|
|
14
15
|
static getByIssuerId(teeOfferIssuerId) {
|
|
15
16
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
16
17
|
return contract.methods
|
|
17
18
|
.getOfferResourcesByIssuerId(teeOfferIssuerId)
|
|
18
19
|
.call()
|
|
19
|
-
.then((resources) => resources.map((resource) =>
|
|
20
|
+
.then((resources) => resources.map((resource) => convertOfferResourceFromRaw(resource)));
|
|
20
21
|
}
|
|
21
22
|
static getByOfferVersion(offerId, version = 0) {
|
|
22
23
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
23
24
|
return contract.methods
|
|
24
25
|
.getOfferResourcesByOfferVersion(offerId, version)
|
|
25
26
|
.call()
|
|
26
|
-
.then((resources) => resources.map((resource) =>
|
|
27
|
+
.then((resources) => resources.map((resource) => convertOfferResourceFromRaw(resource)));
|
|
27
28
|
}
|
|
28
|
-
static get(teeOfferIssuerId, teeOfferKeeperId, offerId, version = 0) {
|
|
29
|
+
static async get(teeOfferIssuerId, teeOfferKeeperId, offerId, version = 0) {
|
|
29
30
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
30
|
-
|
|
31
|
+
const resource = await contract.methods
|
|
31
32
|
.getOfferResource(teeOfferIssuerId, teeOfferKeeperId, offerId, version)
|
|
32
33
|
.call()
|
|
33
|
-
.then((resource) =>
|
|
34
|
+
.then((resource) => convertOfferResourceFromRaw(resource));
|
|
35
|
+
if (Number(resource.timestamp) === 0) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return resource;
|
|
34
39
|
}
|
|
35
40
|
static async getCountByKeeperId(teeOfferKeeperId) {
|
|
36
41
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
@@ -42,6 +47,7 @@ class OfferResources {
|
|
|
42
47
|
await TxManager.execute(contract.methods.setOfferResource({
|
|
43
48
|
...offerResource,
|
|
44
49
|
offerVersion: offerResource.offerVersion ?? 0,
|
|
50
|
+
solutionHash: offerResource.solutionHash ?? '',
|
|
45
51
|
timestamp: 0,
|
|
46
52
|
}), transactionOptions);
|
|
47
53
|
}
|
|
@@ -50,17 +56,21 @@ class OfferResources {
|
|
|
50
56
|
checkIfActionAccountInitialized(transactionOptions);
|
|
51
57
|
await TxManager.execute(contract.methods.createResourceOrder(requestOfferId, requestOfferVersion, resultInfo, resultInfoSignatureBySecretKey, signedTime), transactionOptions);
|
|
52
58
|
}
|
|
53
|
-
static async
|
|
59
|
+
static async clear(teeOfferKeeperId, transactionOptions) {
|
|
54
60
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
55
61
|
checkIfActionAccountInitialized(transactionOptions);
|
|
56
|
-
|
|
62
|
+
const options = {
|
|
63
|
+
gas: AMOY_TX_GAS_LIMIT,
|
|
64
|
+
...transactionOptions,
|
|
65
|
+
};
|
|
66
|
+
await TxManager.execute(contract.methods.clearOfferResources(teeOfferKeeperId), options);
|
|
57
67
|
}
|
|
58
68
|
static onOfferResourceCreated(callback) {
|
|
59
69
|
const listener = BlockchainEventsListener.getInstance();
|
|
60
70
|
const logger = this.logger.child({ method: 'onOfferResourceCreated' });
|
|
61
71
|
const onData = (event) => {
|
|
62
72
|
const parsedEvent = cleanWeb3Data(event.returnValues);
|
|
63
|
-
callback(parsedEvent.offerId, parsedEvent.
|
|
73
|
+
callback(parsedEvent.offerId, parsedEvent.offerVersion, parsedEvent.teeOfferKeeperId, parsedEvent.teeOfferIssuerId, parsedEvent.transactionHash, {
|
|
64
74
|
index: Number(event.blockNumber),
|
|
65
75
|
hash: event.blockHash,
|
|
66
76
|
});
|
|
@@ -95,4 +105,4 @@ class OfferResources {
|
|
|
95
105
|
}
|
|
96
106
|
}
|
|
97
107
|
export default OfferResources;
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJSZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGljTW9kZWxzL09mZmVyUmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBUXZGLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsYUFBYSxFQUNiLDJCQUEyQixHQUM1QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBRTlDLE9BQU8sVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUt0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxNQUFNLGNBQWM7SUFDVixNQUFNLENBQVUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQThCO1FBQ3hELE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU87YUFDcEIsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUM7YUFDN0MsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLENBQUMsU0FBMkIsRUFBRSxFQUFFLENBQ3BDLFNBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLDJCQUEyQixDQUFDLFFBQXlCLENBQUMsQ0FBQyxDQUNyRixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQThCO1FBQ3hELE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWpFLE9BQU8sUUFBUSxDQUFDLE9BQU87YUFDcEIs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
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BlockchainId, OfferStorageAllocated } from '../types/index.js';
|
|
2
2
|
declare class OffersStorageAllocated {
|
|
3
|
-
|
|
4
|
-
static
|
|
5
|
-
static getByOfferVersion(offerId: BlockchainId, offerVersion?: number): Promise<OfferStorageAllocated>;
|
|
3
|
+
static getByOfferVersion(offerId: BlockchainId, offerVersion?: number): Promise<OfferStorageAllocated | undefined>;
|
|
4
|
+
static getByIssuerId(teeOfferIssuerId: BlockchainId): Promise<OfferStorageAllocated[]>;
|
|
6
5
|
}
|
|
7
6
|
export default OffersStorageAllocated;
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { BlockchainConnector } from '../connectors/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { convertOfferStorageAllocatedFromRaw } from '../utils/helper.js';
|
|
3
3
|
class OffersStorageAllocated {
|
|
4
|
-
|
|
4
|
+
static async getByOfferVersion(offerId, offerVersion = 0) {
|
|
5
5
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const allocated = await contract.methods
|
|
7
|
+
.getStorageOrdersAllocated(offerId, offerVersion)
|
|
8
|
+
.call()
|
|
9
|
+
.then((allocated) => convertOfferStorageAllocatedFromRaw(allocated));
|
|
10
|
+
if (Number(allocated.timestamp) === 0) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return allocated;
|
|
11
14
|
}
|
|
12
|
-
static
|
|
15
|
+
static async getByIssuerId(teeOfferIssuerId) {
|
|
13
16
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
14
|
-
|
|
15
|
-
.
|
|
17
|
+
const allocated = await contract.methods
|
|
18
|
+
.getStorageOrdersAllocatedByIssuer(teeOfferIssuerId)
|
|
16
19
|
.call()
|
|
17
|
-
.then((allocated) =>
|
|
20
|
+
.then((allocatedOffers) => allocatedOffers.map((allocated) => convertOfferStorageAllocatedFromRaw(allocated)));
|
|
21
|
+
return allocated;
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
24
|
export default OffersStorageAllocated;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzU3RvcmFnZUFsbG9jYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWNNb2RlbHMvT2ZmZXJzU3RvcmFnZUFsbG9jYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RSxNQUFNLHNCQUFzQjtJQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUNuQyxPQUFxQixFQUNyQixlQUF1QixDQUFDO1FBRXhCLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLE9BQU87YUFDckMseUJBQXlCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQzthQUNoRCxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLFNBQWtDLENBQUMsQ0FBQyxDQUFDO1FBRWhHLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUMvQixnQkFBOEI7UUFFOUIsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakUsTUFBTSxTQUFTLEdBQUcsTUFBTSxRQUFRLENBQUMsT0FBTzthQUNyQyxpQ0FBaUMsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNuRCxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxlQUFpQyxFQUFFLEVBQUUsQ0FDMUMsZUFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNqQyxtQ0FBbUMsQ0FBQyxTQUFrQyxDQUFDLENBQ3hFLENBQ0YsQ0FBQztRQUVKLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELGVBQWUsc0JBQXNCLENBQUMifQ==
|
|
@@ -3,7 +3,7 @@ declare class OffersStorageRequests {
|
|
|
3
3
|
private static readonly logger;
|
|
4
4
|
static getCountByIssuerId(): Promise<number>;
|
|
5
5
|
static getByIssuerId(teeOfferIssuerId: BlockchainId): Promise<OfferStorageRequest[]>;
|
|
6
|
-
static getByOfferVersion(offerId: BlockchainId, offerVersion?: number): Promise<OfferStorageRequest>;
|
|
6
|
+
static getByOfferVersion(offerId: BlockchainId, offerVersion?: number): Promise<OfferStorageRequest | undefined>;
|
|
7
7
|
static set(request: Omit<OfferStorageRequest, 'orderId' | 'timestamp'>, transactionOptions?: TransactionOptions): Promise<void>;
|
|
8
8
|
static cancel(offerId: BlockchainId, offerVersion?: number, transactionOptions?: TransactionOptions): Promise<void>;
|
|
9
9
|
static onOfferStorageRequestCreated(callback: onOfferStorageRequestCreatedCallback): () => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlockchainConnector, BlockchainEventsListener } from '../connectors/index.js';
|
|
2
|
-
import { checkIfActionAccountInitialized, cleanWeb3Data } from '../utils/helper.js';
|
|
2
|
+
import { checkIfActionAccountInitialized, cleanWeb3Data, convertOfferStorageRequestFromRaw, } from '../utils/helper.js';
|
|
3
3
|
import TxManager from '../utils/TxManager.js';
|
|
4
4
|
import rootLogger from '../logger.js';
|
|
5
5
|
class OffersStorageRequests {
|
|
@@ -13,14 +13,18 @@ class OffersStorageRequests {
|
|
|
13
13
|
return contract.methods
|
|
14
14
|
.getOffersStorageRequestsByIssuerId(teeOfferIssuerId)
|
|
15
15
|
.call()
|
|
16
|
-
.then((
|
|
16
|
+
.then((storageRequestList) => storageRequestList.map((storageRequest) => convertOfferStorageRequestFromRaw(storageRequest)));
|
|
17
17
|
}
|
|
18
|
-
static getByOfferVersion(offerId, offerVersion = 0) {
|
|
18
|
+
static async getByOfferVersion(offerId, offerVersion = 0) {
|
|
19
19
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
20
|
-
|
|
20
|
+
const storageRequest = await contract.methods
|
|
21
21
|
.getOffersStorageRequestsByOfferVersion(offerId, offerVersion)
|
|
22
22
|
.call()
|
|
23
|
-
.then((
|
|
23
|
+
.then((sRequest) => convertOfferStorageRequestFromRaw(sRequest));
|
|
24
|
+
if (Number(storageRequest.timestamp) === 0) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
return storageRequest;
|
|
24
28
|
}
|
|
25
29
|
static async set(request, transactionOptions) {
|
|
26
30
|
const contract = BlockchainConnector.getInstance().getContract();
|
|
@@ -28,6 +32,7 @@ class OffersStorageRequests {
|
|
|
28
32
|
await TxManager.execute(contract.methods.setOffersStorageRequest({
|
|
29
33
|
...request,
|
|
30
34
|
offerVersion: request.offerVersion ?? 0,
|
|
35
|
+
orderId: 0,
|
|
31
36
|
timestamp: 0,
|
|
32
37
|
}), transactionOptions);
|
|
33
38
|
}
|
|
@@ -76,4 +81,4 @@ class OffersStorageRequests {
|
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
export default OffersStorageRequests;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXJzU3RvcmFnZVJlcXVlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRpY01vZGVscy9PZmZlcnNTdG9yYWdlUmVxdWVzdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPdkYsT0FBTyxFQUNMLCtCQUErQixFQUMvQixhQUFhLEVBQ2IsaUNBQWlDLEdBQ2xDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFFOUMsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBTXRDLE1BQU0scUJBQXFCO0lBQ2pCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFFbkYsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0I7UUFDcEMsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxNQUFNLENBQUMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBOEI7UUFDeEQsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakUsT0FBTyxRQUFRLENBQUMsT0FBTzthQUNwQixrQ0FBa0MsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNwRCxJQUFJLEVBQUU7YUFDTixJQUFJLENBQUMsQ0FBQyxrQkFBb0MsRUFBRSxFQUFFLENBQzdDLGtCQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pDLGlDQUFpQyxDQUFD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
|
|
@@ -4,9 +4,9 @@ declare class SecretRequests {
|
|
|
4
4
|
static getCountByKeeperId(teeOfferKeeperId: BlockchainId): Promise<number>;
|
|
5
5
|
static getByKeeperId(teeOfferIssuerId: BlockchainId): Promise<SecretRequest[]>;
|
|
6
6
|
static getByRequestorId(teeOfferRequestorId: BlockchainId): Promise<SecretRequest[]>;
|
|
7
|
-
static set(request: SecretRequest, transactionOptions?: TransactionOptions): Promise<void>;
|
|
7
|
+
static set(request: Omit<SecretRequest, 'timestamp'>, transactionOptions?: TransactionOptions): Promise<void>;
|
|
8
8
|
static clear(teeOfferKeeperId: BlockchainId, transactionOptions?: TransactionOptions): Promise<void>;
|
|
9
|
-
static cancel(request: SecretRequest, transactionOptions?: TransactionOptions): Promise<void>;
|
|
9
|
+
static cancel(request: Omit<SecretRequest, 'timestamp'>, transactionOptions?: TransactionOptions): Promise<void>;
|
|
10
10
|
static onSecretRequestCreated(callback: onSecretRequestCreatedCallback): () => void;
|
|
11
11
|
}
|
|
12
12
|
export type onSecretRequestCreatedCallback = (secretRequestorId: BlockchainId, secretKeeperId: BlockchainId, offerId: BlockchainId, offerVersion: number, block?: BlockInfo) => void;
|