@super-protocol/sdk-js 3.11.8-beta.3 → 3.11.8

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.
Files changed (69) hide show
  1. package/dist/cjs/RIGenerator.js +2 -2
  2. package/dist/cjs/TIIGenerator.js +2 -2
  3. package/dist/cjs/TeeInputGeneratorBase.d.ts +2 -2
  4. package/dist/cjs/TeeInputGeneratorBase.js +5 -5
  5. package/dist/cjs/connectors/BlockchainConnector.js +5 -7
  6. package/dist/cjs/constants.d.ts +1 -0
  7. package/dist/cjs/constants.js +3 -2
  8. package/dist/cjs/contracts/abi.d.ts +715 -736
  9. package/dist/cjs/contracts/abi.js +941 -965
  10. package/dist/cjs/index.d.ts +1 -0
  11. package/dist/cjs/index.js +5 -3
  12. package/dist/cjs/models/Provider.d.ts +1 -0
  13. package/dist/cjs/models/Provider.js +7 -1
  14. package/dist/cjs/models/TCB.d.ts +28 -1
  15. package/dist/cjs/models/TCB.js +61 -1
  16. package/dist/cjs/models/TeeOffer.d.ts +18 -3
  17. package/dist/cjs/models/TeeOffer.js +100 -14
  18. package/dist/cjs/staticModels/Consensus.d.ts +16 -5
  19. package/dist/cjs/staticModels/Consensus.js +86 -16
  20. package/dist/cjs/staticModels/Orders.js +6 -14
  21. package/dist/cjs/staticModels/TeeOffers.d.ts +6 -0
  22. package/dist/cjs/staticModels/TeeOffers.js +14 -3
  23. package/dist/cjs/tee/QuoteValidator.d.ts +46 -0
  24. package/dist/cjs/tee/QuoteValidator.js +456 -0
  25. package/dist/cjs/tee/TcbSerializer.d.ts +20 -0
  26. package/dist/cjs/tee/TcbSerializer.js +27 -0
  27. package/dist/cjs/tee/TeeBlockVerifier.d.ts +2 -7
  28. package/dist/cjs/tee/TeeBlockVerifier.js +18 -6
  29. package/dist/cjs/tee/statuses.d.ts +7 -0
  30. package/dist/cjs/tee/statuses.js +10 -2
  31. package/dist/cjs/types/Consensus.d.ts +31 -5
  32. package/dist/cjs/types/Consensus.js +10 -2
  33. package/dist/cjs/utils/helper.d.ts +8 -7
  34. package/dist/cjs/utils/helper.js +52 -53
  35. package/dist/mjs/RIGenerator.js +2 -2
  36. package/dist/mjs/TIIGenerator.js +2 -2
  37. package/dist/mjs/TeeInputGeneratorBase.d.ts +2 -2
  38. package/dist/mjs/TeeInputGeneratorBase.js +5 -5
  39. package/dist/mjs/connectors/BlockchainConnector.js +5 -7
  40. package/dist/mjs/constants.d.ts +1 -0
  41. package/dist/mjs/constants.js +2 -1
  42. package/dist/mjs/contracts/abi.d.ts +715 -736
  43. package/dist/mjs/contracts/abi.js +939 -963
  44. package/dist/mjs/index.d.ts +1 -0
  45. package/dist/mjs/index.js +2 -1
  46. package/dist/mjs/models/Provider.d.ts +1 -0
  47. package/dist/mjs/models/Provider.js +7 -1
  48. package/dist/mjs/models/TCB.d.ts +28 -1
  49. package/dist/mjs/models/TCB.js +62 -2
  50. package/dist/mjs/models/TeeOffer.d.ts +18 -3
  51. package/dist/mjs/models/TeeOffer.js +95 -9
  52. package/dist/mjs/staticModels/Consensus.d.ts +16 -5
  53. package/dist/mjs/staticModels/Consensus.js +87 -17
  54. package/dist/mjs/staticModels/Orders.js +6 -14
  55. package/dist/mjs/staticModels/TeeOffers.d.ts +6 -0
  56. package/dist/mjs/staticModels/TeeOffers.js +15 -4
  57. package/dist/mjs/tee/QuoteValidator.d.ts +46 -0
  58. package/dist/mjs/tee/QuoteValidator.js +449 -0
  59. package/dist/mjs/tee/TcbSerializer.d.ts +20 -0
  60. package/dist/mjs/tee/TcbSerializer.js +23 -0
  61. package/dist/mjs/tee/TeeBlockVerifier.d.ts +2 -7
  62. package/dist/mjs/tee/TeeBlockVerifier.js +18 -6
  63. package/dist/mjs/tee/statuses.d.ts +7 -0
  64. package/dist/mjs/tee/statuses.js +9 -1
  65. package/dist/mjs/types/Consensus.d.ts +31 -5
  66. package/dist/mjs/types/Consensus.js +9 -1
  67. package/dist/mjs/utils/helper.d.ts +8 -7
  68. package/dist/mjs/utils/helper.js +50 -53
  69. package/package.json +2 -2
@@ -14,4 +14,12 @@ export var TCBStatuses;
14
14
  TCBStatuses["SWHardeningNeeded"] = "SWHardeningNeeded";
15
15
  TCBStatuses["OutOfDateConfigurationNeeded"] = "OutOfDateConfigurationNeeded";
16
16
  })(TCBStatuses || (TCBStatuses = {}));
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL3N0YXR1c2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxXQVFYO0FBUkQsV0FBWSxXQUFXO0lBQ3JCLG9DQUFxQixDQUFBO0lBQ3JCLHNDQUF1QixDQUFBO0lBQ3ZCLGtDQUFtQixDQUFBO0lBQ25CLDBEQUEyQyxDQUFBO0lBQzNDLHNGQUF1RSxDQUFBO0lBQ3ZFLHNEQUF1QyxDQUFBO0lBQ3ZDLDRFQUE2RCxDQUFBO0FBQy9ELENBQUMsRUFSVyxXQUFXLEtBQVgsV0FBVyxRQVF0QiJ9
17
+ export var QuoteValidationStatuses;
18
+ (function (QuoteValidationStatuses) {
19
+ QuoteValidationStatuses["UpToDate"] = "UpToDate";
20
+ QuoteValidationStatuses["ConfigurationNeeded"] = "ConfigurationNeeded";
21
+ QuoteValidationStatuses["SecurityPatchNeeded"] = "SecurityPatchNeeded";
22
+ QuoteValidationStatuses["SoftwareUpdateNeeded"] = "SoftwareUpdateNeeded";
23
+ QuoteValidationStatuses["Error"] = "Error";
24
+ })(QuoteValidationStatuses || (QuoteValidationStatuses = {}));
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVlL3N0YXR1c2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxXQVFYO0FBUkQsV0FBWSxXQUFXO0lBQ3JCLG9DQUFxQixDQUFBO0lBQ3JCLHNDQUF1QixDQUFBO0lBQ3ZCLGtDQUFtQixDQUFBO0lBQ25CLDBEQUEyQyxDQUFBO0lBQzNDLHNGQUF1RSxDQUFBO0lBQ3ZFLHNEQUF1QyxDQUFBO0lBQ3ZDLDRFQUE2RCxDQUFBO0FBQy9ELENBQUMsRUFSVyxXQUFXLEtBQVgsV0FBVyxRQVF0QjtBQUVELE1BQU0sQ0FBTixJQUFZLHVCQU1YO0FBTkQsV0FBWSx1QkFBdUI7SUFDakMsZ0RBQXFCLENBQUE7SUFDckIsc0VBQTJDLENBQUE7SUFDM0Msc0VBQTJDLENBQUE7SUFDM0Msd0VBQTZDLENBQUE7SUFDN0MsMENBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQU1sQyJ9
@@ -1,18 +1,16 @@
1
- import { ChunkedX509Cert, CpuInfo } from '@super-protocol/dto-js';
2
1
  import { BlockchainId, TokenAmount } from './Web3.js';
2
+ import { TcbVerifiedStatus } from '@super-protocol/dto-js';
3
3
  export type ConsensusBenchmarkStorage = {
4
4
  cpuSize: number;
5
5
  ramSize: number;
6
6
  gpuSize: number;
7
7
  diskSize: number;
8
8
  networkSize: number;
9
- vramSize: number;
10
9
  cpuMark: number;
11
10
  ramMark: number;
12
11
  gpuMark: number;
13
12
  diskMark: number;
14
13
  networkMark: number;
15
- cpuInfo: CpuInfo;
16
14
  };
17
15
  export type ConsensusBenchmarkPriceMultipliers = {
18
16
  cpuMultiplier: number;
@@ -21,17 +19,29 @@ export type ConsensusBenchmarkPriceMultipliers = {
21
19
  diskMultiplier: number;
22
20
  networkMultiplier: number;
23
21
  };
22
+ export type TcbPublicData = {
23
+ checkingTcbIds: BlockchainId[];
24
+ checkingTcbMarks: TcbVerifiedStatus[];
25
+ deviceId: string;
26
+ properties: string;
27
+ };
24
28
  export type TcbUtilityData = {
25
29
  teeOfferId: BlockchainId;
26
30
  pubKey: string;
31
+ quote: string;
27
32
  };
28
33
  export type TcbData = {
29
34
  status: TcbStatus;
30
35
  previousTcb: BlockchainId;
31
36
  timeAdded: number;
37
+ lastBlocksTakenAmount: number;
38
+ suspiciousBlocksTakenAmount: number;
39
+ negative: number;
40
+ positive: number;
41
+ lastBlocksTaken: boolean;
42
+ suspiciousBlocksTaken: boolean;
43
+ checked: boolean;
32
44
  epochIndex: number;
33
- certsChain: ChunkedX509Cert[];
34
- rootCertId: BlockchainId;
35
45
  };
36
46
  export declare enum TcbStatus {
37
47
  Inited = "0",
@@ -45,3 +55,19 @@ export type EpochInfo = {
45
55
  priceMultipliers: ConsensusBenchmarkPriceMultipliers;
46
56
  penaltyPriceMultipliers: ConsensusBenchmarkPriceMultipliers;
47
57
  };
58
+ export type ConsensusConstants = {
59
+ CONSENSUS_L1: number;
60
+ CONSENSUS_L2: number;
61
+ CONSENSUS_K: number;
62
+ CONSENSUS_MAX_PENALTIES: number;
63
+ MAX_BENCHMARK_OVERRUN_PERCENT: number;
64
+ CONSENSUS_EPOCH_DURATION: number;
65
+ };
66
+ export declare const ConsensusConstantsStructure: {
67
+ CONSENSUS_L1: NumberConstructor;
68
+ CONSENSUS_L2: NumberConstructor;
69
+ CONSENSUS_K: NumberConstructor;
70
+ CONSENSUS_MAX_PENALTIES: NumberConstructor;
71
+ MAX_BENCHMARK_OVERRUN_PERCENT: NumberConstructor;
72
+ CONSENSUS_EPOCH_DURATION: NumberConstructor;
73
+ };
@@ -5,4 +5,12 @@ export var TcbStatus;
5
5
  TcbStatus["Banned"] = "2";
6
6
  TcbStatus["BenchmarkChanged"] = "3";
7
7
  })(TcbStatus || (TcbStatus = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL0NvbnNlbnN1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5Q0EsTUFBTSxDQUFOLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQix5QkFBWSxDQUFBO0lBQ1osNEJBQWUsQ0FBQTtJQUNmLHlCQUFZLENBQUE7SUFDWixtQ0FBc0IsQ0FBQTtBQUN4QixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEIifQ==
8
+ export const ConsensusConstantsStructure = {
9
+ CONSENSUS_L1: Number,
10
+ CONSENSUS_L2: Number,
11
+ CONSENSUS_K: Number,
12
+ CONSENSUS_MAX_PENALTIES: Number,
13
+ MAX_BENCHMARK_OVERRUN_PERCENT: Number,
14
+ CONSENSUS_EPOCH_DURATION: Number,
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc2Vuc3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL0NvbnNlbnN1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvREEsTUFBTSxDQUFOLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQix5QkFBWSxDQUFBO0lBQ1osNEJBQWUsQ0FBQTtJQUNmLHlCQUFZLENBQUE7SUFDWixtQ0FBc0IsQ0FBQTtBQUN4QixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEI7QUFrQkQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekMsWUFBWSxFQUFFLE1BQU07SUFDcEIsWUFBWSxFQUFFLE1BQU07SUFDcEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsdUJBQXVCLEVBQUUsTUFBTTtJQUMvQiw2QkFBNkIsRUFBRSxNQUFNO0lBQ3JDLHdCQUF3QixFQUFFLE1BQU07Q0FDakMsQ0FBQyJ9
@@ -1,9 +1,8 @@
1
1
  import { TransactionOptions } from '../types/Web3.js';
2
- import Web3 from 'web3';
3
- import { Web3BatchRequest } from 'web3-core';
2
+ import Web3, { JsonRpcOptionalRequest } from 'web3';
4
3
  import { SlotInfo } from '../types/SlotInfo.js';
5
- import { ConsensusBenchmarkStorage, LoaderSecretAccessPublicKey, LoaderSession, OfferResource, OfferStorageAllocated, OfferStorageRequest, OptionInfo, OptionInfoRaw, OrderUsage, OrderUsageRaw, SecretRequest, SlotUsage, TeeOfferOption, TeeOfferOptionRaw, TeeOfferSlot, ValueOfferSlot, ValueOfferSlotRaw, ConsensusBenchmarkPriceMultipliers, OfferVersion, OfferVersionInfo, OfferVersionInfoRaw, OfferVersionRaw, TeeOfferInfo, TeeOfferInfoRaw, HardwareInfoRaw, HardwareInfo, OfferInfoRaw, OfferInfo, ValueOfferRestrictionsSpecification, OfferType, OfferGroup, Origins } from '../types/index.js';
6
- import { BenchmarkInfo, ChunkedX509Cert, ConsensusBenchmark } from '@super-protocol/dto-js';
4
+ import { ConsensusBenchmarkStorage, LoaderSecretAccessPublicKey, LoaderSession, OfferResource, OfferStorageAllocated, OfferStorageRequest, OptionInfo, OptionInfoRaw, OrderUsage, OrderUsageRaw, SecretRequest, SlotUsage, TcbPublicData, TeeOfferOption, TeeOfferOptionRaw, TeeOfferSlot, ValueOfferSlot, ValueOfferSlotRaw, ConsensusBenchmarkPriceMultipliers, OfferVersion, OfferVersionInfo, OfferVersionInfoRaw, OfferVersionRaw, TeeOfferInfo, TeeOfferInfoRaw, HardwareInfoRaw, HardwareInfo, OfferInfoRaw, OfferInfo, ValueOfferRestrictionsSpecification, OfferType, OfferGroup, Origins } from '../types/index.js';
5
+ import { BenchmarkInfo, ConsensusBenchmark } from '@super-protocol/dto-js';
7
6
  import { BatchResponse, BatchResponseSuccess, ExecuteBatchOptions } from './types.js';
8
7
  /**
9
8
  * Function for checking if provider action account initialized (required for set methods)
@@ -24,6 +23,8 @@ export declare const multiplyBigIntByNumber: (big: bigint, num: number) => bigin
24
23
  export declare const createTransactionOptions: (externalTransactionSigner: boolean, options?: TransactionOptions) => Promise<TransactionOptions>;
25
24
  export declare const isNodeJS: () => boolean;
26
25
  export declare function incrementMethodCall(): (_target: unknown, propertyName: string, propertyDescriptor: PropertyDescriptor) => PropertyDescriptor;
26
+ export declare function packDeviceId(hexedDeviceId: string): string;
27
+ export declare function unpackDeviceId(bytes32: string): string;
27
28
  export declare function convertBigIntToString(obj: any): any;
28
29
  export declare function convertTeeOfferOptionFromRaw(option: TeeOfferOptionRaw): TeeOfferOption;
29
30
  export declare function convertLoaderSecretAccessPublicKeyFromRaw(loaderSecretAccessPublicKeyRaw: LoaderSecretAccessPublicKey): LoaderSecretAccessPublicKey;
@@ -47,6 +48,7 @@ export declare function convertValueOfferInfo(params: {
47
48
  offerGroup: OfferGroup;
48
49
  restrictions: ValueOfferRestrictionsSpecification;
49
50
  }): OfferInfo;
51
+ export declare function formatTcbPublicData(unparsedPublicData: any[]): TcbPublicData[];
50
52
  export declare function formatEpochIndexes(epochIndexes: string[]): number[];
51
53
  export declare function formatTeeOfferSlot(slot: TeeOfferSlot, coresDenominator: number): TeeOfferSlot;
52
54
  export declare function formatOfferSlot(slot: ValueOfferSlotRaw, coresDenominator: number): ValueOfferSlot;
@@ -55,7 +57,6 @@ export declare function formatPriceMultipliers(priceMultipliers: ConsensusBenchm
55
57
  export declare function formatBenchmarks(benchmarks: ConsensusBenchmarkStorage[]): ConsensusBenchmark[];
56
58
  export declare function formatBenchmark(benchmark: ConsensusBenchmarkStorage): ConsensusBenchmark;
57
59
  export declare function formatBenchmarkTo(benchmark: ConsensusBenchmark): ConsensusBenchmarkStorage;
58
- export declare function formatCertsChain(certsChain: ChunkedX509Cert[]): string;
59
60
  export declare function formatUsage(usage: SlotUsage): SlotUsage;
60
61
  export declare function convertOrderUsage(usage: OrderUsageRaw, slotInfo: SlotInfo, slotUsage: SlotUsage): OrderUsage;
61
62
  export declare function convertOptionInfoFromRaw(optionInfo: OptionInfoRaw): OptionInfo;
@@ -65,8 +66,8 @@ export declare function packSlotInfo(slotInfo: SlotInfo, coresDenominator: numbe
65
66
  export declare function isValidBytes32Hex(data: string): boolean;
66
67
  export declare const cleanWeb3Data: <T>(rawData: T) => any;
67
68
  export declare const transformComplexObject: (obj: any) => any;
68
- export declare function executeBatchAsync<T>(batch: Web3BatchRequest, options: ExecuteBatchOptions & {
69
+ export declare function executeBatchAsync<T>(requests: JsonRpcOptionalRequest[], options: ExecuteBatchOptions & {
69
70
  throwOnError: true;
70
71
  }): Promise<BatchResponseSuccess<T>[]>;
71
- export declare function executeBatchAsync<T>(batch: Web3BatchRequest, options?: ExecuteBatchOptions): Promise<BatchResponse<T>[]>;
72
+ export declare function executeBatchAsync<T>(requests: JsonRpcOptionalRequest[], options?: ExecuteBatchOptions): Promise<BatchResponse<T>[]>;
72
73
  export declare const preparePrivateKey: (pk: string) => string;
@@ -1,10 +1,11 @@
1
+ import _ from 'lodash';
1
2
  import store from '../store.js';
2
3
  import Web3 from 'web3';
3
4
  import { Monitoring } from './Monitoring.js';
4
5
  import { OfferVersionStatus, } from '../types/index.js';
5
- import { BLOCKCHAIN_BATCH_REQUEST_TIMEOUT, FIVE_MINUTES, POLYGON_AMOY_CHAIN_ID, POLYGON_MAIN_CHAIN_ID, POLYGON_AMOY_GASSTATION_URL, POLYGON_MAIN_GASSTATION_URL, } from '../constants.js';
6
+ import { BLOCKCHAIN_BATCH_REQUEST_TIMEOUT, FIVE_MINUTES, POLYGON_AMOY_CHAIN_ID, POLYGON_MAIN_CHAIN_ID, POLYGON_AMOY_GASSTATION_URL, POLYGON_MAIN_GASSTATION_URL, MAX_RPC_BATCH_SIZE, } from '../constants.js';
6
7
  import { ethers } from 'ethers';
7
- import { HashSchema, } from '@super-protocol/dto-js';
8
+ import { HashSchema } from '@super-protocol/dto-js';
8
9
  import axios from 'axios';
9
10
  import { deserializeBySchema } from './schema-utils/index.js';
10
11
  /**
@@ -122,6 +123,23 @@ export function incrementMethodCall() {
122
123
  return propertyDescriptor;
123
124
  };
124
125
  }
126
+ export function packDeviceId(hexedDeviceId) {
127
+ const hexRegex = /^[0-9a-fA-F]+$/;
128
+ if (hexedDeviceId.length !== 64) {
129
+ throw new Error('DeviceId must be equal 64 hex symbols');
130
+ }
131
+ if (!hexRegex.test(hexedDeviceId)) {
132
+ throw new Error('DeviceId must be a hexedecimal');
133
+ }
134
+ return '0x' + hexedDeviceId;
135
+ }
136
+ export function unpackDeviceId(bytes32) {
137
+ if (bytes32.length !== 66) {
138
+ throw new Error('DeviceId bytes must be equal 66 symbols');
139
+ }
140
+ // removes '0x'
141
+ return bytes32.slice(2, 66);
142
+ }
125
143
  export function convertBigIntToString(obj) {
126
144
  if (obj === null || obj === undefined) {
127
145
  return obj;
@@ -281,6 +299,18 @@ export function convertValueOfferInfo(params) {
281
299
  restrictions,
282
300
  });
283
301
  }
302
+ export function formatTcbPublicData(unparsedPublicData) {
303
+ const response = [];
304
+ for (const data of unparsedPublicData) {
305
+ response.push({
306
+ checkingTcbIds: data.checkingTcbIds,
307
+ checkingTcbMarks: data.checkingTcbMarks,
308
+ deviceId: data.deviceId,
309
+ properties: data.properties,
310
+ });
311
+ }
312
+ return response;
313
+ }
284
314
  export function formatEpochIndexes(epochIndexes) {
285
315
  const response = [];
286
316
  for (const index of epochIndexes) {
@@ -335,8 +365,6 @@ export function formatBenchmark(benchmark) {
335
365
  gpu: createBenchmarkInfo(benchmark.gpuMark, benchmark.gpuSize),
336
366
  disk: createBenchmarkInfo(benchmark.diskMark, benchmark.diskSize),
337
367
  network: createBenchmarkInfo(benchmark.networkMark, benchmark.networkSize),
338
- vramSize: benchmark.vramSize,
339
- cpuInfo: benchmark.cpuInfo,
340
368
  };
341
369
  }
342
370
  export function formatBenchmarkTo(benchmark) {
@@ -346,58 +374,13 @@ export function formatBenchmarkTo(benchmark) {
346
374
  gpuSize: benchmark.gpu.size,
347
375
  diskSize: benchmark.disk.size,
348
376
  networkSize: benchmark.network.size,
349
- vramSize: benchmark.vramSize,
350
377
  cpuMark: benchmark.cpu.mark,
351
378
  ramMark: benchmark.ram.mark,
352
379
  gpuMark: benchmark.gpu.mark,
353
380
  diskMark: benchmark.disk.mark,
354
381
  networkMark: benchmark.network.mark,
355
- cpuInfo: benchmark.cpuInfo,
356
382
  };
357
383
  }
358
- export function formatCertsChain(certsChain) {
359
- const formattedCertsChain = certsChain.map((cert) => {
360
- const packedata = Web3.utils.encodePacked({
361
- type: 'bytes',
362
- value: cert.bodyParts[0],
363
- }, {
364
- type: 'uint256',
365
- value: cert.expirationDate,
366
- }, {
367
- type: 'bytes',
368
- value: cert.bodyParts[1],
369
- }, {
370
- type: 'bytes1',
371
- value: cert.ca,
372
- }, {
373
- type: 'bytes',
374
- value: cert.bodyParts[2],
375
- }, {
376
- type: 'bytes32',
377
- value: cert.tcbDataHash,
378
- }, {
379
- type: 'bytes',
380
- value: cert.bodyParts[3],
381
- }, {
382
- type: 'bytes',
383
- value: cert.publicKey,
384
- }, {
385
- type: 'bytes',
386
- value: cert.bodyParts[4],
387
- }, {
388
- type: 'bytes32',
389
- value: cert.id,
390
- }, {
391
- type: 'bytes',
392
- value: cert.bodyParts[5],
393
- });
394
- return {
395
- type: 'bytes',
396
- value: packedata,
397
- };
398
- });
399
- return Web3.utils.encodePacked(...formattedCertsChain);
400
- }
401
384
  export function formatUsage(usage) {
402
385
  return {
403
386
  priceType: usage.priceType.toString(),
@@ -510,11 +493,25 @@ export const transformComplexObject = (obj) => {
510
493
  }
511
494
  return result;
512
495
  };
513
- export async function executeBatchAsync(batch, options) {
514
- const timeout = options?.timeout || BLOCKCHAIN_BATCH_REQUEST_TIMEOUT;
496
+ const createAndExecuteBatch = (requests, timeout = BLOCKCHAIN_BATCH_REQUEST_TIMEOUT) => {
497
+ const batch = new store.web3Https.BatchRequest();
498
+ requests.forEach((request) => {
499
+ batch.add(request).catch(() => {
500
+ // suppress errors for individual requests
501
+ });
502
+ });
503
+ return batch.execute({ timeout });
504
+ };
505
+ export async function executeBatchAsync(requests, options) {
506
+ const timeout = options?.timeout;
515
507
  const throwOnError = Boolean(options?.throwOnError);
516
508
  const results = [];
517
- const responses = await batch.execute({ timeout });
509
+ let responses = [];
510
+ const requestChunks = _.chunk(requests, MAX_RPC_BATCH_SIZE);
511
+ for (const requestChunk of requestChunks) {
512
+ const response = await createAndExecuteBatch(requestChunk, timeout);
513
+ responses = responses.concat(response);
514
+ }
518
515
  for (const response of responses) {
519
516
  const result = 'error' in response
520
517
  ? {
@@ -535,4 +532,4 @@ export async function executeBatchAsync(batch, options) {
535
532
  export const preparePrivateKey = (pk) => {
536
533
  return pk.startsWith('0x') ? pk : '0x' + pk;
537
534
  };
538
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxhQUFhLENBQUM7QUFFaEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBc0JMLGtCQUFrQixHQWVuQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsWUFBWSxFQUNaLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM1QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUlMLFVBQVUsR0FDWCxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc5RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLGtCQUF1QyxFQUFRLEVBQUU7SUFDL0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJO1FBQ25ELE1BQU0sSUFBSSxLQUFLLENBQ2Isd0lBQXdJLENBQ3pJLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQzVDLGtCQUF1QyxFQUM5QixFQUFFO0lBQ1gsK0hBQStIO0lBQy9ILE9BQU8sQ0FBQyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFVLEVBQW1C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
535
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBRWhDLE9BQU8sSUFBZ0MsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUF1Qkwsa0JBQWtCLEdBZW5CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLGtCQUFrQixHQUNuQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHOUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxrQkFBdUMsRUFBUSxFQUFFO0lBQy9GLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSTtRQUNuRCxNQUFNLElBQUksS0FBSyxDQUNiLHdJQUF3SSxDQUN6SSxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxDQUM1QyxrQkFBdUMsRUFDOUIsRUFBRTtJQUNYLCtIQUErSDtJQUMvSCxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUM7QUFDcEMsQ0FBQyxDQUFD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/sdk-js",
3
- "version": "3.11.8-beta.3",
3
+ "version": "3.11.8",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/mjs/index.js",
6
6
  "exports": {
@@ -61,7 +61,7 @@
61
61
  "@fidm/x509": "^1.2.1",
62
62
  "@msgpack/msgpack": "^2.8.0",
63
63
  "@sinclair/typebox": "0.33.17",
64
- "@super-protocol/dto-js": "1.1.11-beta.2",
64
+ "@super-protocol/dto-js": "1.1.10",
65
65
  "@super-protocol/pki-common": "1.6.6",
66
66
  "@super-protocol/uplink-nodejs": "^1.2.20",
67
67
  "asn1js": "^3.0.5",