@super-protocol/sdk-js 3.4.0 → 3.5.0-beta.0
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/certificates/crl.d.ts +6 -0
- package/dist/cjs/certificates/crl.js +66 -0
- package/dist/cjs/certificates/helper.d.ts +23 -0
- package/dist/cjs/certificates/helper.js +176 -0
- package/dist/cjs/certificates/index.d.ts +2 -0
- package/dist/cjs/certificates/index.js +19 -0
- package/dist/cjs/certificates/ocsp.d.ts +9 -0
- package/dist/cjs/certificates/ocsp.js +124 -0
- package/dist/cjs/certificates/types.d.ts +4 -0
- package/dist/cjs/certificates/types.js +3 -0
- package/dist/cjs/constants.d.ts +6 -1
- package/dist/cjs/constants.js +8 -3
- package/dist/cjs/contracts/abi.d.ts +90 -30
- package/dist/cjs/contracts/abi.js +114 -36
- package/dist/cjs/crypto/types.d.ts +0 -4
- package/dist/cjs/crypto/utils.d.ts +2 -3
- package/dist/cjs/crypto/utils.js +46 -26
- package/dist/cjs/crypto/utils.spec.d.ts +1 -0
- package/dist/cjs/crypto/utils.spec.js +176 -0
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.js +9 -6
- package/dist/cjs/models/Offer.d.ts +7 -5
- package/dist/cjs/models/Offer.js +20 -13
- package/dist/cjs/models/Order.d.ts +1 -1
- package/dist/cjs/models/Order.js +4 -2
- package/dist/cjs/providers/storage/fs-storage-provider.js +3 -4
- package/dist/cjs/staticModels/LoaderSecretsAccessPublicKeys.d.ts +9 -0
- package/dist/cjs/staticModels/LoaderSecretsAccessPublicKeys.js +48 -0
- package/dist/cjs/staticModels/OfferResources.js +3 -3
- package/dist/cjs/staticModels/OffersStorageRequests.js +3 -3
- package/dist/cjs/staticModels/Orders.d.ts +3 -3
- package/dist/cjs/staticModels/Orders.js +9 -3
- package/dist/cjs/staticModels/SecretRequests.js +2 -2
- package/dist/cjs/tee/OrderReportService.d.ts +0 -3
- package/dist/cjs/tee/OrderReportService.js +11 -28
- package/dist/cjs/tee/QuoteValidator.js +2 -2
- package/dist/cjs/tee/TeeCertificateService.d.ts +14 -17
- package/dist/cjs/tee/TeeCertificateService.js +60 -73
- package/dist/cjs/tee/TeeSignatureVerifier.d.ts +2 -2
- package/dist/cjs/tee/TeeSignatureVerifier.js +3 -3
- package/dist/cjs/types/DistributedSecretStorage.d.ts +1 -1
- package/dist/cjs/types/OrderUsage.d.ts +2 -0
- package/dist/cjs/types/ValueOfferSlot.d.ts +1 -0
- package/dist/cjs/utils/TxManager.js +16 -27
- package/dist/cjs/utils/helper.d.ts +2 -2
- package/dist/cjs/utils/helper.js +8 -6
- package/dist/cjs/utils/order/index.d.ts +1 -0
- package/dist/cjs/utils/order/index.js +2 -1
- package/dist/cjs/utils/order/types.d.ts +2 -2
- package/dist/cjs/utils/order/validate-order.js +18 -9
- package/dist/cjs/utils/order/versify.d.ts +2 -0
- package/dist/cjs/utils/order/versify.js +43 -0
- package/dist/mjs/certificates/crl.d.ts +6 -0
- package/dist/mjs/certificates/crl.js +39 -0
- package/dist/mjs/certificates/helper.d.ts +23 -0
- package/dist/mjs/certificates/helper.js +146 -0
- package/dist/mjs/certificates/index.d.ts +2 -0
- package/dist/mjs/certificates/index.js +3 -0
- package/dist/mjs/certificates/ocsp.d.ts +9 -0
- package/dist/mjs/certificates/ocsp.js +94 -0
- package/dist/mjs/certificates/types.d.ts +4 -0
- package/dist/mjs/certificates/types.js +2 -0
- package/dist/mjs/constants.d.ts +6 -1
- package/dist/mjs/constants.js +7 -2
- package/dist/mjs/contracts/abi.d.ts +90 -30
- package/dist/mjs/contracts/abi.js +113 -35
- package/dist/mjs/crypto/types.d.ts +0 -4
- package/dist/mjs/crypto/utils.d.ts +2 -3
- package/dist/mjs/crypto/utils.js +46 -26
- package/dist/mjs/crypto/utils.spec.d.ts +1 -0
- package/dist/mjs/crypto/utils.spec.js +174 -0
- package/dist/mjs/index.d.ts +4 -2
- package/dist/mjs/index.js +5 -3
- package/dist/mjs/models/Offer.d.ts +7 -5
- package/dist/mjs/models/Offer.js +20 -13
- package/dist/mjs/models/Order.d.ts +1 -1
- package/dist/mjs/models/Order.js +4 -2
- package/dist/mjs/providers/storage/fs-storage-provider.js +3 -4
- package/dist/mjs/staticModels/LoaderSecretsAccessPublicKeys.d.ts +9 -0
- package/dist/mjs/staticModels/LoaderSecretsAccessPublicKeys.js +43 -0
- package/dist/mjs/staticModels/OfferResources.js +3 -3
- package/dist/mjs/staticModels/OffersStorageRequests.js +3 -3
- package/dist/mjs/staticModels/Orders.d.ts +3 -3
- package/dist/mjs/staticModels/Orders.js +10 -4
- package/dist/mjs/staticModels/SecretRequests.js +2 -2
- package/dist/mjs/tee/OrderReportService.d.ts +0 -3
- package/dist/mjs/tee/OrderReportService.js +12 -29
- package/dist/mjs/tee/QuoteValidator.js +2 -2
- package/dist/mjs/tee/TeeCertificateService.d.ts +14 -17
- package/dist/mjs/tee/TeeCertificateService.js +59 -69
- package/dist/mjs/tee/TeeSignatureVerifier.d.ts +2 -2
- package/dist/mjs/tee/TeeSignatureVerifier.js +3 -3
- package/dist/mjs/types/DistributedSecretStorage.d.ts +1 -1
- package/dist/mjs/types/OrderUsage.d.ts +2 -0
- package/dist/mjs/types/ValueOfferSlot.d.ts +1 -0
- package/dist/mjs/utils/TxManager.js +17 -28
- package/dist/mjs/utils/helper.d.ts +2 -2
- package/dist/mjs/utils/helper.js +6 -4
- package/dist/mjs/utils/order/index.d.ts +1 -0
- package/dist/mjs/utils/order/index.js +2 -1
- package/dist/mjs/utils/order/types.d.ts +2 -2
- package/dist/mjs/utils/order/validate-order.js +18 -9
- package/dist/mjs/utils/order/versify.d.ts +2 -0
- package/dist/mjs/utils/order/versify.js +36 -0
- package/package.json +4 -4
- package/dist/cjs/staticModels/LoaderSecretsPublicKeys.d.ts +0 -9
- package/dist/cjs/staticModels/LoaderSecretsPublicKeys.js +0 -48
- package/dist/mjs/staticModels/LoaderSecretsPublicKeys.d.ts +0 -9
- package/dist/mjs/staticModels/LoaderSecretsPublicKeys.js +0 -43
|
@@ -8,7 +8,3 @@ export type AsymmetricKeys = {
|
|
|
8
8
|
};
|
|
9
9
|
export type SymmetricKey = Buffer;
|
|
10
10
|
export type CryptoKeyType<T extends CryptoAlgorithm> = T extends CryptoAlgorithm.ECIES ? AsymmetricKeys : T extends CryptoAlgorithm.AES ? SymmetricKey : never;
|
|
11
|
-
export interface DirHashContents {
|
|
12
|
-
entries: Record<string, string>;
|
|
13
|
-
hash: string;
|
|
14
|
-
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DirHashContents } from './types.js';
|
|
1
|
+
import { DirHash, FileInfo } from '@super-protocol/dto-js';
|
|
3
2
|
/**
|
|
4
3
|
* Here would be better to check cipher type using
|
|
5
4
|
* ```
|
|
@@ -13,4 +12,4 @@ export declare const isOCB: (cipher: string) => boolean;
|
|
|
13
12
|
export declare const isECB: (cipher: string) => boolean;
|
|
14
13
|
export declare const isRC4: (cipher: string) => boolean;
|
|
15
14
|
export declare const isAuthTagRequired: (cipherName: string) => boolean;
|
|
16
|
-
export declare const getDirHashFileContents: (
|
|
15
|
+
export declare const getDirHashFileContents: (files: Record<string, FileInfo>) => Promise<DirHash>;
|
package/dist/cjs/crypto/utils.js
CHANGED
|
@@ -27,47 +27,67 @@ const isAuthTagRequired = (cipherName) => {
|
|
|
27
27
|
return (0, exports.isCCM)(cipherName) || (0, exports.isGCM)(cipherName) || (0, exports.isOCB)(cipherName);
|
|
28
28
|
};
|
|
29
29
|
exports.isAuthTagRequired = isAuthTagRequired;
|
|
30
|
-
const getDirHashFileContents = async (
|
|
31
|
-
const
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
if (match) {
|
|
35
|
-
return { key, algo: match[1], hash: match[2], encoding: dto_js_1.Encoding.hex, encodedHash: hash };
|
|
36
|
-
}
|
|
30
|
+
const getDirHashFileContents = async (files) => {
|
|
31
|
+
const sortedFiles = Object.entries(files).map(([path, info]) => {
|
|
32
|
+
if (path.length === 0) {
|
|
33
|
+
throw new Error('Filename cannot be empty');
|
|
37
34
|
}
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
const subResult = {
|
|
36
|
+
filename: path,
|
|
37
|
+
encoding: dto_js_1.Encoding.hex,
|
|
38
|
+
size: info.size,
|
|
39
|
+
};
|
|
40
|
+
if (typeof info.hash === 'string') {
|
|
41
|
+
const match = info.hash.match(/^([^:]+):(.+)$/);
|
|
42
|
+
if (match?.length !== 3) {
|
|
43
|
+
throw new Error(`Invalid hash format for filename ${path}: ${info.hash}`);
|
|
44
|
+
}
|
|
40
45
|
return {
|
|
41
|
-
|
|
42
|
-
algo:
|
|
43
|
-
hash:
|
|
44
|
-
|
|
45
|
-
encodedHash: `${hash.algo}:${hashHex}`,
|
|
46
|
+
...subResult,
|
|
47
|
+
algo: match[1],
|
|
48
|
+
hash: match[2],
|
|
49
|
+
encodedHash: info.hash,
|
|
46
50
|
};
|
|
47
51
|
}
|
|
48
|
-
|
|
52
|
+
const hashHex = Buffer.from(info.hash.hash, info.hash.encoding).toString(dto_js_1.Encoding.hex);
|
|
53
|
+
return {
|
|
54
|
+
...subResult,
|
|
55
|
+
algo: info.hash.algo,
|
|
56
|
+
hash: info.hash.hash,
|
|
57
|
+
encodedHash: `${info.hash.algo}:${hashHex}`,
|
|
58
|
+
};
|
|
49
59
|
});
|
|
50
60
|
let buffer = Buffer.alloc(0);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
sortedEntries.forEach((hash) => {
|
|
61
|
+
let totalSize = 0;
|
|
62
|
+
sortedFiles.sort((a, b) => preparedValue(a).localeCompare(preparedValue(b)));
|
|
63
|
+
sortedFiles.forEach((info) => {
|
|
55
64
|
buffer = Buffer.concat([
|
|
56
65
|
buffer,
|
|
57
|
-
Buffer.from(
|
|
58
|
-
Buffer.from(
|
|
66
|
+
Buffer.from(info.filename, 'utf-8'),
|
|
67
|
+
Buffer.from(info.hash, info.encoding),
|
|
59
68
|
]);
|
|
69
|
+
totalSize += info.size;
|
|
60
70
|
});
|
|
61
|
-
const
|
|
71
|
+
const rootHash = await Crypto_js_1.default.createHash(buffer, {
|
|
62
72
|
algo: dto_js_1.HashAlgorithm.SHA256,
|
|
63
73
|
encoding: dto_js_1.Encoding.hex,
|
|
64
74
|
});
|
|
65
75
|
return {
|
|
66
|
-
entries: Object.fromEntries(
|
|
67
|
-
return [
|
|
76
|
+
entries: Object.fromEntries(sortedFiles.map((info) => {
|
|
77
|
+
return [
|
|
78
|
+
info.filename,
|
|
79
|
+
{
|
|
80
|
+
hash: info.encodedHash,
|
|
81
|
+
size: info.size,
|
|
82
|
+
is_prefix: false,
|
|
83
|
+
},
|
|
84
|
+
];
|
|
68
85
|
})),
|
|
69
|
-
hash: `${
|
|
86
|
+
hash: `${rootHash.algo}:${rootHash.hash}`,
|
|
87
|
+
size: totalSize,
|
|
88
|
+
version: 1,
|
|
70
89
|
};
|
|
71
90
|
};
|
|
72
91
|
exports.getDirHashFileContents = getDirHashFileContents;
|
|
73
|
-
|
|
92
|
+
const preparedValue = (value) => `${value.hash}:${value.filename}`;
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUFvRjtBQUNwRiw0REFBaUM7QUFFakM7Ozs7OztHQU1HO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFjLEVBQVcsRUFBRSxDQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQztBQUQzQyxRQUFBLEtBQUssU0FDc0M7QUFDakQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFjLEVBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFBekQsUUFBQSxLQUFLLFNBQW9EO0FBQy9ELE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBYyxFQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQXpELFFBQUEsS0FBSyxTQUFvRDtBQUMvRCxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQWMsRUFBVyxFQUFFLENBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxLQUFLLFNBQVMsSUFBSSxNQUFNLEtBQUssVUFBVSxDQUFDO0FBRDFELFFBQUEsS0FBSyxTQUNxRDtBQUNoRSxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQWMsRUFBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUExRCxRQUFBLEtBQUssU0FBcUQ7QUFFaEUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFVBQWtCLEVBQVcsRUFBRTtJQUMvRCxPQUFPLElBQUEsYUFBSyxFQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUEsYUFBSyxFQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUEsYUFBSyxFQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_js_1 = require("./utils.js");
|
|
4
|
+
const dto_js_1 = require("@super-protocol/dto-js");
|
|
5
|
+
describe('getDirHashFileContents', () => {
|
|
6
|
+
it('should correctly process mixed hash formats and return expected structure', async () => {
|
|
7
|
+
const input = {
|
|
8
|
+
'readme.md': {
|
|
9
|
+
hash: 'sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08',
|
|
10
|
+
size: 1,
|
|
11
|
+
is_prefix: false,
|
|
12
|
+
},
|
|
13
|
+
'test1.gguf': {
|
|
14
|
+
hash: 'sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
|
|
15
|
+
size: 2,
|
|
16
|
+
is_prefix: true,
|
|
17
|
+
},
|
|
18
|
+
'test2.gguf': {
|
|
19
|
+
hash: {
|
|
20
|
+
algo: dto_js_1.HashAlgorithm.SHA256,
|
|
21
|
+
hash: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
|
|
22
|
+
encoding: dto_js_1.Encoding.hex,
|
|
23
|
+
},
|
|
24
|
+
size: 4,
|
|
25
|
+
},
|
|
26
|
+
'test3.gguf': {
|
|
27
|
+
hash: {
|
|
28
|
+
algo: dto_js_1.HashAlgorithm.SHA256,
|
|
29
|
+
hash: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
|
|
30
|
+
encoding: dto_js_1.Encoding.hex,
|
|
31
|
+
},
|
|
32
|
+
size: 3,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
const expectedOutput = {
|
|
36
|
+
entries: {
|
|
37
|
+
'readme.md': {
|
|
38
|
+
hash: input['readme.md'].hash,
|
|
39
|
+
size: input['readme.md'].size,
|
|
40
|
+
is_prefix: false,
|
|
41
|
+
},
|
|
42
|
+
'test1.gguf': {
|
|
43
|
+
hash: input['test1.gguf'].hash,
|
|
44
|
+
size: input['test1.gguf'].size,
|
|
45
|
+
is_prefix: false,
|
|
46
|
+
},
|
|
47
|
+
'test2.gguf': {
|
|
48
|
+
hash: `${input['test2.gguf'].hash.algo}:${input['test2.gguf'].hash.hash}`,
|
|
49
|
+
size: input['test2.gguf'].size,
|
|
50
|
+
is_prefix: false,
|
|
51
|
+
},
|
|
52
|
+
'test3.gguf': {
|
|
53
|
+
hash: `${input['test3.gguf'].hash.algo}:${input['test3.gguf'].hash.hash}`,
|
|
54
|
+
size: input['test3.gguf'].size,
|
|
55
|
+
is_prefix: false,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
hash: 'sha256:c28c1da5dcdfd82a6f05c9faa813fea7a7664d44c7721123e24507655f32d2c4',
|
|
59
|
+
version: 1,
|
|
60
|
+
size: Object.values(input).reduce((acc, cur) => {
|
|
61
|
+
return acc + cur.size;
|
|
62
|
+
}, 0),
|
|
63
|
+
};
|
|
64
|
+
const result = await (0, utils_js_1.getDirHashFileContents)(input);
|
|
65
|
+
expect(result).toEqual(expectedOutput);
|
|
66
|
+
expect(Object.keys(result.entries).length).toBe(4);
|
|
67
|
+
Object.values(result.entries).forEach((item) => {
|
|
68
|
+
expect(item.hash).toMatch(/^sha256:[a-f0-9]{64}$/);
|
|
69
|
+
expect(item.size).toBeGreaterThanOrEqual(0);
|
|
70
|
+
expect(item.is_prefix).toBeDefined();
|
|
71
|
+
});
|
|
72
|
+
const sortedHashes = Object.values(result.entries).sort();
|
|
73
|
+
expect(Object.values(result.entries)).toEqual(sortedHashes);
|
|
74
|
+
});
|
|
75
|
+
it('use .dirhashes as input which was getting after execution ./spctl files upload command', async () => {
|
|
76
|
+
const inputRaw = {
|
|
77
|
+
hash: 'sha256:e11c89b85cce479c7aa1d54f033416b05ae260aef8759fa63f7a08888cacda5e',
|
|
78
|
+
size: 315747,
|
|
79
|
+
entries: {
|
|
80
|
+
'stg-95-text-gen-webui.configuration.json': {
|
|
81
|
+
hash: 'sha256:72e4cc706580e622422cbaf6e5cfe186501d6fe1667c5dc901dac862f7824ed7',
|
|
82
|
+
size: 47326,
|
|
83
|
+
is_prefix: false,
|
|
84
|
+
},
|
|
85
|
+
'input-model-test.json': {
|
|
86
|
+
hash: 'sha256:173e589350533bf41548487594c593b03e747280ca11b98f3d2ab6ac4cecc9cc',
|
|
87
|
+
size: 4263,
|
|
88
|
+
is_prefix: false,
|
|
89
|
+
},
|
|
90
|
+
'stg-96-comfy-ui.configuration.json': {
|
|
91
|
+
hash: 'sha256:69398bf33df2e7884ad605e0d02a827ef47e3b73d75bd145318714b0437b9200',
|
|
92
|
+
size: 13052,
|
|
93
|
+
is_prefix: false,
|
|
94
|
+
},
|
|
95
|
+
'testnet-57-solution-comfyui.configuration.json': {
|
|
96
|
+
hash: 'sha256:8a3504f6d19a5ce7db351f142532d7828a90b8c2c74b4734128641b387a6b72d',
|
|
97
|
+
size: 10797,
|
|
98
|
+
is_prefix: false,
|
|
99
|
+
},
|
|
100
|
+
'input-model-test2.json': {
|
|
101
|
+
hash: 'sha256:bc622b87205f0ed76a6d2133a163d4e0b6a7768ba14370fc569a1da40f90b9ec',
|
|
102
|
+
size: 4468,
|
|
103
|
+
is_prefix: false,
|
|
104
|
+
},
|
|
105
|
+
'testnet-57-solution-comfyui-origin.configuration.json': {
|
|
106
|
+
hash: 'sha256:1ef8bc1d5704e62ab0af29348713f3a5031238f2ce4208df842a4231979901c1',
|
|
107
|
+
size: 10796,
|
|
108
|
+
is_prefix: false,
|
|
109
|
+
},
|
|
110
|
+
'input-model-test4.json': {
|
|
111
|
+
hash: 'sha256:d3d738eb08571430e7013a05c3b71b827663edd611a76a20dba1428d47d71c4b',
|
|
112
|
+
size: 4639,
|
|
113
|
+
is_prefix: false,
|
|
114
|
+
},
|
|
115
|
+
'input-test.json': {
|
|
116
|
+
hash: 'sha256:6382aeeedc6009a0ffdeba8ad4d7c26327cdf2526804604906b3df79a324e79d',
|
|
117
|
+
size: 4246,
|
|
118
|
+
is_prefix: false,
|
|
119
|
+
},
|
|
120
|
+
'stg-53-solution.configuration.json': {
|
|
121
|
+
hash: 'sha256:f62c975536328c55135ccc6713ea20dae41c08adc6acb75dda8a757ccd9caeaa',
|
|
122
|
+
size: 1056,
|
|
123
|
+
is_prefix: false,
|
|
124
|
+
},
|
|
125
|
+
'input-model-test3.json': {
|
|
126
|
+
hash: 'sha256:579864e52b017bebb6f9a5669ab01d3adcf569f82cc4fdcfddcf92a3224ede44',
|
|
127
|
+
size: 4470,
|
|
128
|
+
is_prefix: false,
|
|
129
|
+
},
|
|
130
|
+
'stg-95-text-gen-webui-origin.configuration.json': {
|
|
131
|
+
hash: 'sha256:8ec037c664c3f54bcd97caa35147a3c6437ad2170dcf270b1fc1d1f6eb087d8a',
|
|
132
|
+
size: 47023,
|
|
133
|
+
is_prefix: false,
|
|
134
|
+
},
|
|
135
|
+
'testnet-56-solution-origin-tgwui.configuration.json': {
|
|
136
|
+
hash: 'sha256:65d925a45dba7b7ab80fb98229c21658b880902872fcf4c000d732a9df40875c',
|
|
137
|
+
size: 47016,
|
|
138
|
+
is_prefix: false,
|
|
139
|
+
},
|
|
140
|
+
'testnet-73-solution-tgwui-cpu.configuration.json': {
|
|
141
|
+
hash: 'sha256:d4ff54980b745663d8d7cc80bdba25fd0bb8bc39d2d3f6861de3b33a7577bdf8',
|
|
142
|
+
size: 47319,
|
|
143
|
+
is_prefix: false,
|
|
144
|
+
},
|
|
145
|
+
'testnet-72-solution-comfyui-cpu.configuration.json': {
|
|
146
|
+
hash: 'sha256:ec4a67e487474b4842f8dd1d43226344e8a447e0ab4de0299c08eff089722e79',
|
|
147
|
+
size: 10689,
|
|
148
|
+
is_prefix: false,
|
|
149
|
+
},
|
|
150
|
+
'stg-96-comfy-ui-origin.configuration.json': {
|
|
151
|
+
hash: 'sha256:3a4ad890d48b25d4a6afd9ebb7de6255a49c90313b50b2d4fc7325046b696307',
|
|
152
|
+
size: 11268,
|
|
153
|
+
is_prefix: false,
|
|
154
|
+
},
|
|
155
|
+
'testnet-56-solution-tgwui.configuration.json': {
|
|
156
|
+
hash: 'sha256:d4ff54980b745663d8d7cc80bdba25fd0bb8bc39d2d3f6861de3b33a7577bdf8',
|
|
157
|
+
size: 47319,
|
|
158
|
+
is_prefix: false,
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
version: 1,
|
|
162
|
+
};
|
|
163
|
+
const result = await (0, utils_js_1.getDirHashFileContents)(inputRaw.entries);
|
|
164
|
+
expect(result).toEqual(inputRaw);
|
|
165
|
+
});
|
|
166
|
+
it('should throw error for invalid hash format', async () => {
|
|
167
|
+
const invalidInput = {
|
|
168
|
+
'readme.md': {
|
|
169
|
+
hash: 'invalid hash format',
|
|
170
|
+
size: 1,
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
await expect((0, utils_js_1.getDirHashFileContents)(invalidInput)).rejects.toThrow(`Invalid hash format for filename ${Object.keys(invalidInput)[0]}: ${Object.values(invalidInput)[0].hash}`);
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vdXRpbHMuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUFvRDtBQUNwRCxtREFBMEY7QUFFMUYsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtJQUN0QyxFQUFFLENBQUMsMkVBQTJFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekYsTUFBTSxLQUFLLEdBQTZCO1lBQ3RDLFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUseUVBQXlFO2dCQUMvRSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxTQUFTLEVBQUUsS0FBSzthQUNqQjtZQUNELFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUUseUVBQXlFO2dCQUMvRSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxTQUFTLEVBQUUsSUFBSTthQUNoQjtZQUNELFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLHNCQUFhLENBQUMsTUFBTTtvQkFDMUIsSUFBSSxFQUFFLGtFQUFrRTtvQkFDeEUsUUFBUSxFQUFFLGlCQUFRLENBQUMsR0FBRztpQkFDdkI7Z0JBQ0QsSUFBSSxFQUFFLENBQUM7YUFDUjtZQUNELFlBQVksRUFBRTtnQkFDWixJQUFJLEVBQUU7b0JBQ0osSUFBSSxFQUFFLHNCQUFhLENBQUMsTUFBTTtvQkFDMUIsSUFBSSxFQUFFLGtFQUFrRTtvQkFDeEUsUUFBUSxFQUFFLGlCQUFRLENBQUMsR0FBRztpQkFDdkI7Z0JBQ0QsSUFBSSxFQUFFLENBQUM7YUFDUjtTQUNGLENBQUM7UUFFRixNQUFNLGNBQWMsR0FBWTtZQUM5QixPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFO29CQUNYLElBQUksRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBYztvQkFDdkMsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJO29CQUM3QixTQUFT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
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { Config } from './connectors/BaseConnector.js';
|
|
|
4
4
|
export { default as BlockchainEventsListener } from './connectors/BlockchainEventsListener.js';
|
|
5
5
|
export { default as Crypto } from './crypto/index.js';
|
|
6
6
|
export * from './crypto/index.js';
|
|
7
|
+
export * from './certificates/index.js';
|
|
7
8
|
export { default as TIIGenerator } from './TIIGenerator.js';
|
|
8
9
|
export * from './TIIGenerator.js';
|
|
9
10
|
export { default as RIGenerator } from './RIGenerator.js';
|
|
@@ -32,8 +33,8 @@ export { default as Deposits } from './staticModels/Deposits.js';
|
|
|
32
33
|
export * from './staticModels/Deposits.js';
|
|
33
34
|
export { default as LoaderSessions } from './staticModels/LoaderSessions.js';
|
|
34
35
|
export * from './staticModels/LoaderSessions.js';
|
|
35
|
-
export { default as
|
|
36
|
-
export * from './staticModels/
|
|
36
|
+
export { default as LoaderSecretsAccessPublicKeys } from './staticModels/LoaderSecretsAccessPublicKeys.js';
|
|
37
|
+
export * from './staticModels/LoaderSecretsAccessPublicKeys.js';
|
|
37
38
|
export { default as OfferResources } from './staticModels/OfferResources.js';
|
|
38
39
|
export * from './staticModels/OfferResources.js';
|
|
39
40
|
export { default as OffersStorageAllocated } from './staticModels/OffersStorageAllocated.js';
|
|
@@ -92,3 +93,4 @@ export * from './utils/tokens/index.js';
|
|
|
92
93
|
export * from './errors/index.js';
|
|
93
94
|
export * from './utils/schema-utils/index.js';
|
|
94
95
|
export * as ResourceLoaderUtils from './utils/resourceLoaders/index.js';
|
|
96
|
+
export { TeeSignatureVerifier } from './tee/TeeSignatureVerifier.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -29,8 +29,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
29
29
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.OrderReportService = exports.TeeCertificateService = exports.TeeBlockVerifier = exports.QuoteValidator = exports.TeeParser = exports.TeeTdxParser = exports.TeeSgxParser = exports.QuoteType = exports.Web3TransactionRevertedByEvmError = exports.constants = exports.helpers = exports.StorjCredentialsManager = exports.CredentialsPermissions = exports.parseStorageCredentials = exports.getStorageProvider = exports.ContentWriterType = exports.StorageContentWriter = exports.CacheEvents = exports.StorageAdapter = exports.StorageKeyValueAdapter = exports.StorageMetadataReader = exports.StorjAdapter = exports.ChunkedStorageProvider = exports.TCB = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.SecretRequests = exports.OffersStorageRequests = exports.OffersStorageAllocated = exports.OfferResources = exports.
|
|
33
|
-
exports.ResourceLoaderUtils = exports.FetchTransport = exports.AxiosTransport = exports.BrowserEventProvider = exports.NodeEventProvider = exports.Analytics = void 0;
|
|
32
|
+
exports.OrderReportService = exports.TeeCertificateService = exports.TeeBlockVerifier = exports.QuoteValidator = exports.TeeParser = exports.TeeTdxParser = exports.TeeSgxParser = exports.QuoteType = exports.Web3TransactionRevertedByEvmError = exports.constants = exports.helpers = exports.StorjCredentialsManager = exports.CredentialsPermissions = exports.parseStorageCredentials = exports.getStorageProvider = exports.ContentWriterType = exports.StorageContentWriter = exports.CacheEvents = exports.StorageAdapter = exports.StorageKeyValueAdapter = exports.StorageMetadataReader = exports.StorjAdapter = exports.ChunkedStorageProvider = exports.TCB = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.SecretRequests = exports.OffersStorageRequests = exports.OffersStorageAllocated = exports.OfferResources = exports.LoaderSecretsAccessPublicKeys = exports.LoaderSessions = exports.Deposits = exports.Marks = exports.Superpro = exports.SuperproToken = exports.ProviderRegistry = exports.TeeOffers = exports.Offers = exports.ActiveOffers = exports.ActiveOrders = exports.Orders = exports.Consensus = exports.RIGenerator = exports.TIIGenerator = exports.Crypto = exports.BlockchainEventsListener = exports.BlockchainConnector = void 0;
|
|
33
|
+
exports.TeeSignatureVerifier = exports.ResourceLoaderUtils = exports.FetchTransport = exports.AxiosTransport = exports.BrowserEventProvider = exports.NodeEventProvider = exports.Analytics = void 0;
|
|
34
34
|
var BlockchainConnector_js_1 = require("./connectors/BlockchainConnector.js");
|
|
35
35
|
Object.defineProperty(exports, "BlockchainConnector", { enumerable: true, get: function () { return __importDefault(BlockchainConnector_js_1).default; } });
|
|
36
36
|
__exportStar(require("./connectors/BlockchainConnector.js"), exports);
|
|
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "BlockchainEventsListener", { enumerable: true, g
|
|
|
39
39
|
var index_js_1 = require("./crypto/index.js");
|
|
40
40
|
Object.defineProperty(exports, "Crypto", { enumerable: true, get: function () { return __importDefault(index_js_1).default; } });
|
|
41
41
|
__exportStar(require("./crypto/index.js"), exports);
|
|
42
|
+
__exportStar(require("./certificates/index.js"), exports);
|
|
42
43
|
var TIIGenerator_js_1 = require("./TIIGenerator.js");
|
|
43
44
|
Object.defineProperty(exports, "TIIGenerator", { enumerable: true, get: function () { return __importDefault(TIIGenerator_js_1).default; } });
|
|
44
45
|
__exportStar(require("./TIIGenerator.js"), exports);
|
|
@@ -81,9 +82,9 @@ __exportStar(require("./staticModels/Deposits.js"), exports);
|
|
|
81
82
|
var LoaderSessions_js_1 = require("./staticModels/LoaderSessions.js");
|
|
82
83
|
Object.defineProperty(exports, "LoaderSessions", { enumerable: true, get: function () { return __importDefault(LoaderSessions_js_1).default; } });
|
|
83
84
|
__exportStar(require("./staticModels/LoaderSessions.js"), exports);
|
|
84
|
-
var
|
|
85
|
-
Object.defineProperty(exports, "
|
|
86
|
-
__exportStar(require("./staticModels/
|
|
85
|
+
var LoaderSecretsAccessPublicKeys_js_1 = require("./staticModels/LoaderSecretsAccessPublicKeys.js");
|
|
86
|
+
Object.defineProperty(exports, "LoaderSecretsAccessPublicKeys", { enumerable: true, get: function () { return __importDefault(LoaderSecretsAccessPublicKeys_js_1).default; } });
|
|
87
|
+
__exportStar(require("./staticModels/LoaderSecretsAccessPublicKeys.js"), exports);
|
|
87
88
|
var OfferResources_js_1 = require("./staticModels/OfferResources.js");
|
|
88
89
|
Object.defineProperty(exports, "OfferResources", { enumerable: true, get: function () { return __importDefault(OfferResources_js_1).default; } });
|
|
89
90
|
__exportStar(require("./staticModels/OfferResources.js"), exports);
|
|
@@ -171,4 +172,6 @@ __exportStar(require("./utils/tokens/index.js"), exports);
|
|
|
171
172
|
__exportStar(require("./errors/index.js"), exports);
|
|
172
173
|
__exportStar(require("./utils/schema-utils/index.js"), exports);
|
|
173
174
|
exports.ResourceLoaderUtils = __importStar(require("./utils/resourceLoaders/index.js"));
|
|
174
|
-
|
|
175
|
+
var TeeSignatureVerifier_js_1 = require("./tee/TeeSignatureVerifier.js");
|
|
176
|
+
Object.defineProperty(exports, "TeeSignatureVerifier", { enumerable: true, get: function () { return TeeSignatureVerifier_js_1.TeeSignatureVerifier; } });
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOEVBQXFGO0FBQTVFLDhJQUFBLE9BQU8sT0FBdUI7QUFFdkMsc0VBQW9EO0FBSXBELHdGQUErRjtBQUF0Rix3SkFBQSxPQUFPLE9BQTRCO0FBRTVDLDhDQUFzRDtBQUE3QyxtSEFBQSxPQUFPLE9BQVU7QUFDMUIsb0RBQWtDO0FBRWxDLDBEQUF3QztBQUV4QyxxREFBNEQ7QUFBbkQsZ0lBQUEsT0FBTyxPQUFnQjtBQUNoQyxvREFBa0M7QUFFbEMsbURBQTBEO0FBQWpELDhIQUFBLE9BQU8sT0FBZTtBQUMvQixvREFBa0M7QUFFbEMsNERBQW1FO0FBQTFELDBIQUFBLE9BQU8sT0FBYTtBQUM3Qiw4REFBNEM7QUFFNUMsc0RBQTZEO0FBQXBELG9IQUFBLE9BQU8sT0FBVTtBQUMxQiwyREFBeUM7QUFFekMsa0VBQXlFO0FBQWhFLGdJQUFBLE9BQU8sT0FBZ0I7QUFDaEMsaUVBQStDO0FBRS9DLGtFQUF5RTtBQUFoRSxnSUFBQSxPQUFPLE9BQWdCO0FBQ2hDLGlFQUErQztBQUUvQyxzREFBNkQ7QUFBcEQsb0hBQUEsT0FBTyxPQUFVO0FBQzFCLDJEQUF5QztBQUV6Qyw0REFBbUU7QUFBMUQsMEhBQUEsT0FBTyxPQUFhO0FBQzdCLDhEQUE0QztBQUU1QywwRUFBaUY7QUFBeEUsd0lBQUEsT0FBTyxPQUFvQjtBQUNwQyxxRUFBbUQ7QUFFbkQsb0VBQTJFO0FBQWxFLGtJQUFBLE9BQU8sT0FBaUI7QUFDakMsa0VBQWdEO0FBRWhELDBEQUFpRTtBQUF4RCx3SEFBQSxPQUFPLE9BQVk7QUFDNUIsNkRBQTJDO0FBRTNDLG9EQUEyRDtBQUFsRCxrSEFBQSxPQUFPLE9BQVM7QUFDekIsMERBQXdDO0FBRXhDLDBEQUFpRTtBQUF4RCx3SEFBQSxPQUFPLE9BQVk7QUFD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
|
|
@@ -122,15 +122,17 @@ declare class Offer {
|
|
|
122
122
|
* @param slotUsage - slot usage info
|
|
123
123
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
124
124
|
*/
|
|
125
|
-
addSlot(slotInfo: SlotInfo, optionInfo: OptionInfo, slotUsage: SlotUsage, externalId?: string, transactionOptions?: TransactionOptions): Promise<void>;
|
|
125
|
+
addSlot(slotInfo: SlotInfo, optionInfo: OptionInfo, slotUsage: SlotUsage, externalId?: string, metadata?: string, transactionOptions?: TransactionOptions): Promise<void>;
|
|
126
126
|
/**
|
|
127
127
|
* Function for update slot usage of value offer
|
|
128
|
-
* @param
|
|
129
|
-
* @param
|
|
130
|
-
* @param
|
|
128
|
+
* @param slotId - Slot id
|
|
129
|
+
* @param newSlotInfo - new slot info
|
|
130
|
+
* @param newOptionInfo - new option info
|
|
131
|
+
* @param newUsage - new slot usage info
|
|
132
|
+
* @param newMetadata - new slot usage info
|
|
131
133
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
132
134
|
*/
|
|
133
|
-
updateSlot(slotId: BlockchainId, newSlotInfo: SlotInfo, newOptionInfo: OptionInfo, newUsage: SlotUsage, transactionOptions?: TransactionOptions): Promise<void>;
|
|
135
|
+
updateSlot(slotId: BlockchainId, newSlotInfo: SlotInfo, newOptionInfo: OptionInfo, newUsage: SlotUsage, newMetadata: string, transactionOptions?: TransactionOptions): Promise<void>;
|
|
134
136
|
/**
|
|
135
137
|
* Function for delete slot usage from offer
|
|
136
138
|
* @param slotId - Slot ID
|
package/dist/cjs/models/Offer.js
CHANGED
|
@@ -24,6 +24,10 @@ const constants_js_1 = require("../constants.js");
|
|
|
24
24
|
const serializer_js_1 = require("../utils/schema-utils/serializer.js");
|
|
25
25
|
const dto_js_1 = require("@super-protocol/dto-js");
|
|
26
26
|
const index_js_4 = require("../errors/index.js");
|
|
27
|
+
const getErrorMessage = (err) => err.cause?.message ??
|
|
28
|
+
err?.innerError?.message ??
|
|
29
|
+
err.message ??
|
|
30
|
+
'';
|
|
27
31
|
class Offer {
|
|
28
32
|
static contract;
|
|
29
33
|
logger;
|
|
@@ -127,7 +131,7 @@ class Offer {
|
|
|
127
131
|
return versionNumber ? Number(versionNumber) : null;
|
|
128
132
|
}
|
|
129
133
|
catch (err) {
|
|
130
|
-
const causeMessage = err
|
|
134
|
+
const causeMessage = getErrorMessage(err);
|
|
131
135
|
if (causeMessage.includes('Unknown offer')) {
|
|
132
136
|
throw new index_js_4.NotFoundError(`Offer ${this.id} not found`);
|
|
133
137
|
}
|
|
@@ -151,7 +155,7 @@ class Offer {
|
|
|
151
155
|
return versionNumbers.map(Number);
|
|
152
156
|
}
|
|
153
157
|
catch (err) {
|
|
154
|
-
const causeMessage = err
|
|
158
|
+
const causeMessage = getErrorMessage(err);
|
|
155
159
|
if (causeMessage.includes('Unknown offer')) {
|
|
156
160
|
throw new index_js_4.NotFoundError(`Offer ${this.id} not found`);
|
|
157
161
|
}
|
|
@@ -281,7 +285,7 @@ class Offer {
|
|
|
281
285
|
};
|
|
282
286
|
}
|
|
283
287
|
catch (err) {
|
|
284
|
-
const causeMessage = err
|
|
288
|
+
const causeMessage = getErrorMessage(err);
|
|
285
289
|
if (causeMessage.includes('Unknown offer')) {
|
|
286
290
|
throw new index_js_4.NotFoundError(`Offer ${this.id} not found`);
|
|
287
291
|
}
|
|
@@ -300,7 +304,7 @@ class Offer {
|
|
|
300
304
|
return Number(await Offer.contract.methods.getOfferVersionsCount(this.id).call());
|
|
301
305
|
}
|
|
302
306
|
catch (err) {
|
|
303
|
-
const causeMessage = err
|
|
307
|
+
const causeMessage = getErrorMessage(err);
|
|
304
308
|
if (causeMessage.includes('Unknown offer')) {
|
|
305
309
|
throw new index_js_4.NotFoundError(`Offer ${this.id} not found`);
|
|
306
310
|
}
|
|
@@ -373,26 +377,29 @@ class Offer {
|
|
|
373
377
|
* @param slotUsage - slot usage info
|
|
374
378
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
375
379
|
*/
|
|
376
|
-
async addSlot(slotInfo, optionInfo, slotUsage, externalId = 'default', transactionOptions) {
|
|
380
|
+
async addSlot(slotInfo, optionInfo, slotUsage, externalId = 'default', metadata = '', transactionOptions) {
|
|
377
381
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
378
382
|
slotInfo = (0, helper_js_1.packSlotInfo)(slotInfo, await TeeOffers_js_1.default.getDenominator());
|
|
379
383
|
const formattedExternalId = (0, utils_js_1.formatBytes32String)(externalId);
|
|
380
|
-
const transactionCall = Offer.contract.methods.addValueOfferSlot(this.id, formattedExternalId, slotInfo, (0, helper_js_1.convertOptionInfoToRaw)(optionInfo), slotUsage);
|
|
384
|
+
const transactionCall = Offer.contract.methods.addValueOfferSlot(this.id, formattedExternalId, slotInfo, (0, helper_js_1.convertOptionInfoToRaw)(optionInfo), slotUsage, metadata);
|
|
381
385
|
await TxManager_js_1.default.execute(transactionCall, transactionOptions);
|
|
382
386
|
}
|
|
383
387
|
/**
|
|
384
388
|
* Function for update slot usage of value offer
|
|
385
|
-
* @param
|
|
386
|
-
* @param
|
|
387
|
-
* @param
|
|
389
|
+
* @param slotId - Slot id
|
|
390
|
+
* @param newSlotInfo - new slot info
|
|
391
|
+
* @param newOptionInfo - new option info
|
|
392
|
+
* @param newUsage - new slot usage info
|
|
393
|
+
* @param newMetadata - new slot usage info
|
|
388
394
|
* @param transactionOptions - object what contains alternative action account or gas limit (optional)
|
|
389
395
|
*/
|
|
390
|
-
async updateSlot(slotId, newSlotInfo, newOptionInfo, newUsage, transactionOptions) {
|
|
396
|
+
async updateSlot(slotId, newSlotInfo, newOptionInfo, newUsage, newMetadata, transactionOptions) {
|
|
391
397
|
(0, helper_js_1.checkIfActionAccountInitialized)(transactionOptions);
|
|
392
398
|
newSlotInfo = (0, helper_js_1.packSlotInfo)(newSlotInfo, await TeeOffers_js_1.default.getDenominator());
|
|
393
399
|
await TxManager_js_1.default.execute(Offer.contract.methods.updateValueOfferSlotInfo(this.id, slotId, newSlotInfo), transactionOptions);
|
|
394
400
|
await TxManager_js_1.default.execute(Offer.contract.methods.updateValueOfferSlotOption(this.id, slotId, (0, helper_js_1.convertOptionInfoToRaw)(newOptionInfo)), transactionOptions);
|
|
395
401
|
await TxManager_js_1.default.execute(Offer.contract.methods.updateValueOfferSlotUsage(this.id, slotId, newUsage), transactionOptions);
|
|
402
|
+
await TxManager_js_1.default.execute(Offer.contract.methods.updateValueOfferSlotMetadata(this.id, slotId, newMetadata), transactionOptions);
|
|
396
403
|
}
|
|
397
404
|
/**
|
|
398
405
|
* Function for delete slot usage from offer
|
|
@@ -566,13 +573,13 @@ __decorate([
|
|
|
566
573
|
__decorate([
|
|
567
574
|
(0, helper_js_1.incrementMethodCall)(),
|
|
568
575
|
__metadata("design:type", Function),
|
|
569
|
-
__metadata("design:paramtypes", [Object, Object, Object, Object, Object]),
|
|
576
|
+
__metadata("design:paramtypes", [Object, Object, Object, Object, Object, Object]),
|
|
570
577
|
__metadata("design:returntype", Promise)
|
|
571
578
|
], Offer.prototype, "addSlot", null);
|
|
572
579
|
__decorate([
|
|
573
580
|
(0, helper_js_1.incrementMethodCall)(),
|
|
574
581
|
__metadata("design:type", Function),
|
|
575
|
-
__metadata("design:paramtypes", [String, Object, Object, Object, Object]),
|
|
582
|
+
__metadata("design:paramtypes", [String, Object, Object, Object, String, Object]),
|
|
576
583
|
__metadata("design:returntype", Promise)
|
|
577
584
|
], Offer.prototype, "updateSlot", null);
|
|
578
585
|
__decorate([
|
|
@@ -612,4 +619,4 @@ __decorate([
|
|
|
612
619
|
__metadata("design:returntype", Promise)
|
|
613
620
|
], Offer.prototype, "isRestrictedByOfferType", null);
|
|
614
621
|
exports.default = Offer;
|
|
615
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQXNDO0FBQ3RDLGtEQVM0QjtBQUM1QixxREFBNkQ7QUFDN0QsZ0RBa0IyQjtBQUMzQixrREFBMEQ7QUFDMUQsZ0ZBQXFEO0FBQ3JELHlFQUE4QztBQUM5Qyx3REFBNEQ7QUFDNUQsa0RBSXlCO0FBQ3pCLHVFQUE2RjtBQUM3RixtREFBb0Q7QUFDcEQsaURBQW1EO0FBRW5ELE1BQU0sS0FBSztJQUNELE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBQ3RDLE1BQU0sQ0FBb0I7SUFFbEMsU0FBUyxDQUFhO0lBQ3RCLFFBQVEsQ0FBVTtJQUNsQixJQUFJLENBQWE7SUFDakIsaUJBQWlCLENBQVU7SUFDM0IsT0FBTyxDQUFXO0lBQ2xCLEVBQUUsQ0FBZTtJQUNqQixVQUFVLENBQWU7SUFFekIsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsU0FBUyxFQUFFLE9BQU87WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVILFNBQVM7UUFDUCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBRUcsQUFBTixLQUFL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
|
|
622
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWxzL09mZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQXNDO0FBQ3RDLGtEQVM0QjtBQUM1QixxREFBNkQ7QUFDN0QsZ0RBa0IyQjtBQUMzQixrREFBMEQ7QUFDMUQsZ0ZBQXFEO0FBQ3JELHlFQUE4QztBQUM5Qyx3REFBNEQ7QUFDNUQsa0RBSXlCO0FBQ3pCLHVFQUE2RjtBQUM3RixtREFBb0Q7QUFDcEQsaURBQW1EO0FBRW5ELE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBWSxFQUFVLEVBQUUsQ0FDOUMsR0FBeUIsQ0FBQyxLQUFLLEVBQUUsT0FBTztJQUN4QyxHQUE4QixFQUFFLFVBQVUsRUFBRSxPQUFPO0lBQ25ELEdBQWEsQ0FBQyxPQUFPO0lBQ3RCLEVBQUUsQ0FBQztBQUVMLE1BQU0sS0FBSztJQUNELE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBQ3RDLE1BQU0sQ0FBb0I7SUFFbEMsU0FBUyxDQUFhO0lBQ3RCLFFBQVEsQ0FBVTtJQUNsQixJQUFJLENBQWE7SUFDakIsaUJBQWlCLENBQVU7SUFDM0IsT0FBTyxDQUFXO0lBQ2xCLEVBQUUsQ0FBZTtJQUNqQixVQUFVLENBQWU7SUFFekIsWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxRQUFRLEdBQUcsOEJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsbUJBQVUsQ0FBQyxLQUFLLENBQUM7WUFDN0IsU0FBUyxFQUFFLE9BQU87WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7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
|