@super-protocol/sdk-js 3.1.0-beta.4 → 3.1.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/cjs/connectors/BaseConnector.d.ts +6 -0
  2. package/dist/cjs/connectors/BaseConnector.js +10 -1
  3. package/dist/cjs/connectors/BlockchainConnector.js +4 -2
  4. package/dist/cjs/connectors/BlockchainEventsListener.js +3 -2
  5. package/dist/cjs/constants.d.ts +1 -1
  6. package/dist/cjs/constants.js +116 -17
  7. package/dist/cjs/contracts/abi.d.ts +635 -168
  8. package/dist/cjs/contracts/abi.js +798 -196
  9. package/dist/cjs/crypto/types.d.ts +4 -0
  10. package/dist/cjs/crypto/utils.d.ts +3 -0
  11. package/dist/cjs/crypto/utils.js +50 -2
  12. package/dist/cjs/index.d.ts +1 -0
  13. package/dist/cjs/index.js +5 -3
  14. package/dist/cjs/models/Offer.js +5 -3
  15. package/dist/cjs/models/Order.d.ts +3 -2
  16. package/dist/cjs/models/Order.js +21 -7
  17. package/dist/cjs/models/Provider.d.ts +1 -1
  18. package/dist/cjs/models/Provider.js +8 -3
  19. package/dist/cjs/proto/Hash.d.ts +37 -0
  20. package/dist/cjs/proto/Hash.js +104 -0
  21. package/dist/cjs/proto/OrderReport.d.ts +539 -0
  22. package/dist/cjs/proto/OrderReport.js +300 -0
  23. package/dist/cjs/proto/TRI.d.ts +1 -24
  24. package/dist/cjs/proto/TRI.js +13 -78
  25. package/dist/cjs/proto/TeeDeviceInfo.d.ts +292 -0
  26. package/dist/cjs/proto/TeeDeviceInfo.js +491 -0
  27. package/dist/cjs/staticModels/Consensus.d.ts +3 -3
  28. package/dist/cjs/staticModels/Consensus.js +4 -4
  29. package/dist/cjs/staticModels/Deposits.d.ts +10 -9
  30. package/dist/cjs/staticModels/Deposits.js +21 -18
  31. package/dist/cjs/staticModels/Offers.js +7 -2
  32. package/dist/cjs/staticModels/OffersStorageRequests.js +4 -1
  33. package/dist/cjs/staticModels/Orders.d.ts +2 -1
  34. package/dist/cjs/staticModels/Orders.js +14 -2
  35. package/dist/cjs/staticModels/ProviderRegistry.d.ts +15 -6
  36. package/dist/cjs/staticModels/ProviderRegistry.js +43 -11
  37. package/dist/cjs/staticModels/ProviderRewards.js +16 -1
  38. package/dist/cjs/staticModels/Superpro.d.ts +5 -7
  39. package/dist/cjs/staticModels/Superpro.js +13 -45
  40. package/dist/cjs/staticModels/TeeOffers.js +7 -2
  41. package/dist/cjs/tee/OrderReportService.d.ts +11 -0
  42. package/dist/cjs/tee/OrderReportService.js +97 -0
  43. package/dist/cjs/tee/TeeCertificateService.d.ts +1 -0
  44. package/dist/cjs/tee/TeeCertificateService.js +5 -1
  45. package/dist/cjs/types/DistributedSecretStorage.d.ts +1 -0
  46. package/dist/cjs/types/Offer.d.ts +5 -0
  47. package/dist/cjs/types/Order.d.ts +2 -0
  48. package/dist/cjs/types/Order.js +3 -1
  49. package/dist/cjs/types/TokenInfo.d.ts +6 -1
  50. package/dist/cjs/utils/helpers/OrderArgsHelper.d.ts +1 -2
  51. package/dist/cjs/utils/helpers/OrderArgsHelper.js +1 -25
  52. package/dist/cjs/utils/helpers/calculateObjectHash.d.ts +8 -0
  53. package/dist/cjs/utils/helpers/calculateObjectHash.js +25 -0
  54. package/dist/cjs/utils/helpers/index.d.ts +1 -0
  55. package/dist/cjs/utils/helpers/index.js +2 -1
  56. package/dist/cjs/utils/order/complete-order.js +4 -1
  57. package/dist/cjs/utils/order/validate-order.js +13 -3
  58. package/dist/mjs/connectors/BaseConnector.d.ts +6 -0
  59. package/dist/mjs/connectors/BaseConnector.js +10 -1
  60. package/dist/mjs/connectors/BlockchainConnector.js +4 -2
  61. package/dist/mjs/connectors/BlockchainEventsListener.js +3 -2
  62. package/dist/mjs/constants.d.ts +1 -1
  63. package/dist/mjs/constants.js +116 -17
  64. package/dist/mjs/contracts/abi.d.ts +635 -168
  65. package/dist/mjs/contracts/abi.js +796 -194
  66. package/dist/mjs/crypto/types.d.ts +4 -0
  67. package/dist/mjs/crypto/utils.d.ts +3 -0
  68. package/dist/mjs/crypto/utils.js +45 -1
  69. package/dist/mjs/index.d.ts +1 -0
  70. package/dist/mjs/index.js +2 -1
  71. package/dist/mjs/models/Offer.js +5 -3
  72. package/dist/mjs/models/Order.d.ts +3 -2
  73. package/dist/mjs/models/Order.js +21 -7
  74. package/dist/mjs/models/Provider.d.ts +1 -1
  75. package/dist/mjs/models/Provider.js +8 -3
  76. package/dist/mjs/proto/Hash.d.ts +37 -0
  77. package/dist/mjs/proto/Hash.js +98 -0
  78. package/dist/mjs/proto/OrderReport.d.ts +539 -0
  79. package/dist/mjs/proto/OrderReport.js +294 -0
  80. package/dist/mjs/proto/TRI.d.ts +1 -24
  81. package/dist/mjs/proto/TRI.js +2 -67
  82. package/dist/mjs/proto/TeeDeviceInfo.d.ts +292 -0
  83. package/dist/mjs/proto/TeeDeviceInfo.js +485 -0
  84. package/dist/mjs/staticModels/Consensus.d.ts +3 -3
  85. package/dist/mjs/staticModels/Consensus.js +4 -4
  86. package/dist/mjs/staticModels/Deposits.d.ts +10 -9
  87. package/dist/mjs/staticModels/Deposits.js +21 -18
  88. package/dist/mjs/staticModels/Offers.js +7 -2
  89. package/dist/mjs/staticModels/OffersStorageRequests.js +4 -1
  90. package/dist/mjs/staticModels/Orders.d.ts +2 -1
  91. package/dist/mjs/staticModels/Orders.js +14 -2
  92. package/dist/mjs/staticModels/ProviderRegistry.d.ts +15 -6
  93. package/dist/mjs/staticModels/ProviderRegistry.js +43 -11
  94. package/dist/mjs/staticModels/ProviderRewards.js +17 -2
  95. package/dist/mjs/staticModels/Superpro.d.ts +5 -7
  96. package/dist/mjs/staticModels/Superpro.js +13 -42
  97. package/dist/mjs/staticModels/TeeOffers.js +7 -2
  98. package/dist/mjs/tee/OrderReportService.d.ts +11 -0
  99. package/dist/mjs/tee/OrderReportService.js +90 -0
  100. package/dist/mjs/tee/TeeCertificateService.d.ts +1 -0
  101. package/dist/mjs/tee/TeeCertificateService.js +5 -1
  102. package/dist/mjs/types/DistributedSecretStorage.d.ts +1 -0
  103. package/dist/mjs/types/Offer.d.ts +5 -0
  104. package/dist/mjs/types/Order.d.ts +2 -0
  105. package/dist/mjs/types/Order.js +3 -1
  106. package/dist/mjs/types/TokenInfo.d.ts +6 -1
  107. package/dist/mjs/utils/helpers/OrderArgsHelper.d.ts +1 -2
  108. package/dist/mjs/utils/helpers/OrderArgsHelper.js +1 -25
  109. package/dist/mjs/utils/helpers/calculateObjectHash.d.ts +8 -0
  110. package/dist/mjs/utils/helpers/calculateObjectHash.js +18 -0
  111. package/dist/mjs/utils/helpers/index.d.ts +1 -0
  112. package/dist/mjs/utils/helpers/index.js +2 -1
  113. package/dist/mjs/utils/order/complete-order.js +4 -1
  114. package/dist/mjs/utils/order/validate-order.js +13 -3
  115. package/package.json +3 -1
  116. package/dist/cjs/proto/TeeProperties.d.ts +0 -453
  117. package/dist/cjs/proto/TeeProperties.js +0 -503
  118. package/dist/mjs/proto/TeeProperties.d.ts +0 -453
  119. package/dist/mjs/proto/TeeProperties.js +0 -497
@@ -1,503 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TeeRunMemoryBenchmark = exports.TeeRunCpuBenchmark = exports.Cpus = exports.TeeDeviceInfo = exports.TeeProperties = exports.protobufPackage = void 0;
7
- /* eslint-disable */
8
- const minimal_js_1 = __importDefault(require("protobufjs/minimal.js"));
9
- exports.protobufPackage = "";
10
- function createBaseTeeProperties() {
11
- return { teeDeviceInfo: undefined, teeRunCpuBenchmark: undefined, teeRunMemoryBenchmark: undefined };
12
- }
13
- exports.TeeProperties = {
14
- encode(message, writer = minimal_js_1.default.Writer.create()) {
15
- if (message.teeDeviceInfo !== undefined) {
16
- exports.TeeDeviceInfo.encode(message.teeDeviceInfo, writer.uint32(10).fork()).ldelim();
17
- }
18
- if (message.teeRunCpuBenchmark !== undefined) {
19
- exports.TeeRunCpuBenchmark.encode(message.teeRunCpuBenchmark, writer.uint32(18).fork()).ldelim();
20
- }
21
- if (message.teeRunMemoryBenchmark !== undefined) {
22
- exports.TeeRunMemoryBenchmark.encode(message.teeRunMemoryBenchmark, writer.uint32(26).fork()).ldelim();
23
- }
24
- return writer;
25
- },
26
- decode(input, length) {
27
- const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
28
- let end = length === undefined ? reader.len : reader.pos + length;
29
- const message = createBaseTeeProperties();
30
- while (reader.pos < end) {
31
- const tag = reader.uint32();
32
- switch (tag >>> 3) {
33
- case 1:
34
- if (tag !== 10) {
35
- break;
36
- }
37
- message.teeDeviceInfo = exports.TeeDeviceInfo.decode(reader, reader.uint32());
38
- continue;
39
- case 2:
40
- if (tag !== 18) {
41
- break;
42
- }
43
- message.teeRunCpuBenchmark = exports.TeeRunCpuBenchmark.decode(reader, reader.uint32());
44
- continue;
45
- case 3:
46
- if (tag !== 26) {
47
- break;
48
- }
49
- message.teeRunMemoryBenchmark = exports.TeeRunMemoryBenchmark.decode(reader, reader.uint32());
50
- continue;
51
- }
52
- if ((tag & 7) === 4 || tag === 0) {
53
- break;
54
- }
55
- reader.skipType(tag & 7);
56
- }
57
- return message;
58
- },
59
- fromJSON(object) {
60
- return {
61
- teeDeviceInfo: isSet(object.teeDeviceInfo) ? exports.TeeDeviceInfo.fromJSON(object.teeDeviceInfo) : undefined,
62
- teeRunCpuBenchmark: isSet(object.teeRunCpuBenchmark)
63
- ? exports.TeeRunCpuBenchmark.fromJSON(object.teeRunCpuBenchmark)
64
- : undefined,
65
- teeRunMemoryBenchmark: isSet(object.teeRunMemoryBenchmark)
66
- ? exports.TeeRunMemoryBenchmark.fromJSON(object.teeRunMemoryBenchmark)
67
- : undefined,
68
- };
69
- },
70
- toJSON(message) {
71
- const obj = {};
72
- if (message.teeDeviceInfo !== undefined) {
73
- obj.teeDeviceInfo = exports.TeeDeviceInfo.toJSON(message.teeDeviceInfo);
74
- }
75
- if (message.teeRunCpuBenchmark !== undefined) {
76
- obj.teeRunCpuBenchmark = exports.TeeRunCpuBenchmark.toJSON(message.teeRunCpuBenchmark);
77
- }
78
- if (message.teeRunMemoryBenchmark !== undefined) {
79
- obj.teeRunMemoryBenchmark = exports.TeeRunMemoryBenchmark.toJSON(message.teeRunMemoryBenchmark);
80
- }
81
- return obj;
82
- },
83
- create(base) {
84
- return exports.TeeProperties.fromPartial(base ?? {});
85
- },
86
- fromPartial(object) {
87
- const message = createBaseTeeProperties();
88
- message.teeDeviceInfo = (object.teeDeviceInfo !== undefined && object.teeDeviceInfo !== null)
89
- ? exports.TeeDeviceInfo.fromPartial(object.teeDeviceInfo)
90
- : undefined;
91
- message.teeRunCpuBenchmark = (object.teeRunCpuBenchmark !== undefined && object.teeRunCpuBenchmark !== null)
92
- ? exports.TeeRunCpuBenchmark.fromPartial(object.teeRunCpuBenchmark)
93
- : undefined;
94
- message.teeRunMemoryBenchmark =
95
- (object.teeRunMemoryBenchmark !== undefined && object.teeRunMemoryBenchmark !== null)
96
- ? exports.TeeRunMemoryBenchmark.fromPartial(object.teeRunMemoryBenchmark)
97
- : undefined;
98
- return message;
99
- },
100
- };
101
- function createBaseTeeDeviceInfo() {
102
- return { cpus: [], memSize: 0, totalPhysicalCores: 0, totalLogicalCores: 0 };
103
- }
104
- exports.TeeDeviceInfo = {
105
- encode(message, writer = minimal_js_1.default.Writer.create()) {
106
- for (const v of message.cpus) {
107
- exports.Cpus.encode(v, writer.uint32(10).fork()).ldelim();
108
- }
109
- if (message.memSize !== 0) {
110
- writer.uint32(16).int32(message.memSize);
111
- }
112
- if (message.totalPhysicalCores !== 0) {
113
- writer.uint32(24).int32(message.totalPhysicalCores);
114
- }
115
- if (message.totalLogicalCores !== 0) {
116
- writer.uint32(32).int32(message.totalLogicalCores);
117
- }
118
- return writer;
119
- },
120
- decode(input, length) {
121
- const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
122
- let end = length === undefined ? reader.len : reader.pos + length;
123
- const message = createBaseTeeDeviceInfo();
124
- while (reader.pos < end) {
125
- const tag = reader.uint32();
126
- switch (tag >>> 3) {
127
- case 1:
128
- if (tag !== 10) {
129
- break;
130
- }
131
- message.cpus.push(exports.Cpus.decode(reader, reader.uint32()));
132
- continue;
133
- case 2:
134
- if (tag !== 16) {
135
- break;
136
- }
137
- message.memSize = reader.int32();
138
- continue;
139
- case 3:
140
- if (tag !== 24) {
141
- break;
142
- }
143
- message.totalPhysicalCores = reader.int32();
144
- continue;
145
- case 4:
146
- if (tag !== 32) {
147
- break;
148
- }
149
- message.totalLogicalCores = reader.int32();
150
- continue;
151
- }
152
- if ((tag & 7) === 4 || tag === 0) {
153
- break;
154
- }
155
- reader.skipType(tag & 7);
156
- }
157
- return message;
158
- },
159
- fromJSON(object) {
160
- return {
161
- cpus: globalThis.Array.isArray(object?.cpus) ? object.cpus.map((e) => exports.Cpus.fromJSON(e)) : [],
162
- memSize: isSet(object.memSize) ? globalThis.Number(object.memSize) : 0,
163
- totalPhysicalCores: isSet(object.totalPhysicalCores) ? globalThis.Number(object.totalPhysicalCores) : 0,
164
- totalLogicalCores: isSet(object.totalLogicalCores) ? globalThis.Number(object.totalLogicalCores) : 0,
165
- };
166
- },
167
- toJSON(message) {
168
- const obj = {};
169
- if (message.cpus?.length) {
170
- obj.cpus = message.cpus.map((e) => exports.Cpus.toJSON(e));
171
- }
172
- if (message.memSize !== 0) {
173
- obj.memSize = Math.round(message.memSize);
174
- }
175
- if (message.totalPhysicalCores !== 0) {
176
- obj.totalPhysicalCores = Math.round(message.totalPhysicalCores);
177
- }
178
- if (message.totalLogicalCores !== 0) {
179
- obj.totalLogicalCores = Math.round(message.totalLogicalCores);
180
- }
181
- return obj;
182
- },
183
- create(base) {
184
- return exports.TeeDeviceInfo.fromPartial(base ?? {});
185
- },
186
- fromPartial(object) {
187
- const message = createBaseTeeDeviceInfo();
188
- message.cpus = object.cpus?.map((e) => exports.Cpus.fromPartial(e)) || [];
189
- message.memSize = object.memSize ?? 0;
190
- message.totalPhysicalCores = object.totalPhysicalCores ?? 0;
191
- message.totalLogicalCores = object.totalLogicalCores ?? 0;
192
- return message;
193
- },
194
- };
195
- function createBaseCpus() {
196
- return {
197
- vendorId: "",
198
- cpuFamily: 0,
199
- model: 0,
200
- modelName: "",
201
- physicalCores: 0,
202
- logicalCores: 0,
203
- baseFreq: 0,
204
- maxFreq: 0,
205
- };
206
- }
207
- exports.Cpus = {
208
- encode(message, writer = minimal_js_1.default.Writer.create()) {
209
- if (message.vendorId !== "") {
210
- writer.uint32(10).string(message.vendorId);
211
- }
212
- if (message.cpuFamily !== 0) {
213
- writer.uint32(16).int32(message.cpuFamily);
214
- }
215
- if (message.model !== 0) {
216
- writer.uint32(24).int32(message.model);
217
- }
218
- if (message.modelName !== "") {
219
- writer.uint32(34).string(message.modelName);
220
- }
221
- if (message.physicalCores !== 0) {
222
- writer.uint32(40).int32(message.physicalCores);
223
- }
224
- if (message.logicalCores !== 0) {
225
- writer.uint32(48).int32(message.logicalCores);
226
- }
227
- if (message.baseFreq !== 0) {
228
- writer.uint32(56).int32(message.baseFreq);
229
- }
230
- if (message.maxFreq !== 0) {
231
- writer.uint32(64).int32(message.maxFreq);
232
- }
233
- return writer;
234
- },
235
- decode(input, length) {
236
- const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
237
- let end = length === undefined ? reader.len : reader.pos + length;
238
- const message = createBaseCpus();
239
- while (reader.pos < end) {
240
- const tag = reader.uint32();
241
- switch (tag >>> 3) {
242
- case 1:
243
- if (tag !== 10) {
244
- break;
245
- }
246
- message.vendorId = reader.string();
247
- continue;
248
- case 2:
249
- if (tag !== 16) {
250
- break;
251
- }
252
- message.cpuFamily = reader.int32();
253
- continue;
254
- case 3:
255
- if (tag !== 24) {
256
- break;
257
- }
258
- message.model = reader.int32();
259
- continue;
260
- case 4:
261
- if (tag !== 34) {
262
- break;
263
- }
264
- message.modelName = reader.string();
265
- continue;
266
- case 5:
267
- if (tag !== 40) {
268
- break;
269
- }
270
- message.physicalCores = reader.int32();
271
- continue;
272
- case 6:
273
- if (tag !== 48) {
274
- break;
275
- }
276
- message.logicalCores = reader.int32();
277
- continue;
278
- case 7:
279
- if (tag !== 56) {
280
- break;
281
- }
282
- message.baseFreq = reader.int32();
283
- continue;
284
- case 8:
285
- if (tag !== 64) {
286
- break;
287
- }
288
- message.maxFreq = reader.int32();
289
- continue;
290
- }
291
- if ((tag & 7) === 4 || tag === 0) {
292
- break;
293
- }
294
- reader.skipType(tag & 7);
295
- }
296
- return message;
297
- },
298
- fromJSON(object) {
299
- return {
300
- vendorId: isSet(object.vendorId) ? globalThis.String(object.vendorId) : "",
301
- cpuFamily: isSet(object.cpuFamily) ? globalThis.Number(object.cpuFamily) : 0,
302
- model: isSet(object.model) ? globalThis.Number(object.model) : 0,
303
- modelName: isSet(object.modelName) ? globalThis.String(object.modelName) : "",
304
- physicalCores: isSet(object.physicalCores) ? globalThis.Number(object.physicalCores) : 0,
305
- logicalCores: isSet(object.logicalCores) ? globalThis.Number(object.logicalCores) : 0,
306
- baseFreq: isSet(object.baseFreq) ? globalThis.Number(object.baseFreq) : 0,
307
- maxFreq: isSet(object.maxFreq) ? globalThis.Number(object.maxFreq) : 0,
308
- };
309
- },
310
- toJSON(message) {
311
- const obj = {};
312
- if (message.vendorId !== "") {
313
- obj.vendorId = message.vendorId;
314
- }
315
- if (message.cpuFamily !== 0) {
316
- obj.cpuFamily = Math.round(message.cpuFamily);
317
- }
318
- if (message.model !== 0) {
319
- obj.model = Math.round(message.model);
320
- }
321
- if (message.modelName !== "") {
322
- obj.modelName = message.modelName;
323
- }
324
- if (message.physicalCores !== 0) {
325
- obj.physicalCores = Math.round(message.physicalCores);
326
- }
327
- if (message.logicalCores !== 0) {
328
- obj.logicalCores = Math.round(message.logicalCores);
329
- }
330
- if (message.baseFreq !== 0) {
331
- obj.baseFreq = Math.round(message.baseFreq);
332
- }
333
- if (message.maxFreq !== 0) {
334
- obj.maxFreq = Math.round(message.maxFreq);
335
- }
336
- return obj;
337
- },
338
- create(base) {
339
- return exports.Cpus.fromPartial(base ?? {});
340
- },
341
- fromPartial(object) {
342
- const message = createBaseCpus();
343
- message.vendorId = object.vendorId ?? "";
344
- message.cpuFamily = object.cpuFamily ?? 0;
345
- message.model = object.model ?? 0;
346
- message.modelName = object.modelName ?? "";
347
- message.physicalCores = object.physicalCores ?? 0;
348
- message.logicalCores = object.logicalCores ?? 0;
349
- message.baseFreq = object.baseFreq ?? 0;
350
- message.maxFreq = object.maxFreq ?? 0;
351
- return message;
352
- },
353
- };
354
- function createBaseTeeRunCpuBenchmark() {
355
- return { cpuScore: 0, cpuBenchmark: "", cpuCoresCount: 0 };
356
- }
357
- exports.TeeRunCpuBenchmark = {
358
- encode(message, writer = minimal_js_1.default.Writer.create()) {
359
- if (message.cpuScore !== 0) {
360
- writer.uint32(8).int32(message.cpuScore);
361
- }
362
- if (message.cpuBenchmark !== "") {
363
- writer.uint32(18).string(message.cpuBenchmark);
364
- }
365
- if (message.cpuCoresCount !== 0) {
366
- writer.uint32(24).int32(message.cpuCoresCount);
367
- }
368
- return writer;
369
- },
370
- decode(input, length) {
371
- const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
372
- let end = length === undefined ? reader.len : reader.pos + length;
373
- const message = createBaseTeeRunCpuBenchmark();
374
- while (reader.pos < end) {
375
- const tag = reader.uint32();
376
- switch (tag >>> 3) {
377
- case 1:
378
- if (tag !== 8) {
379
- break;
380
- }
381
- message.cpuScore = reader.int32();
382
- continue;
383
- case 2:
384
- if (tag !== 18) {
385
- break;
386
- }
387
- message.cpuBenchmark = reader.string();
388
- continue;
389
- case 3:
390
- if (tag !== 24) {
391
- break;
392
- }
393
- message.cpuCoresCount = reader.int32();
394
- continue;
395
- }
396
- if ((tag & 7) === 4 || tag === 0) {
397
- break;
398
- }
399
- reader.skipType(tag & 7);
400
- }
401
- return message;
402
- },
403
- fromJSON(object) {
404
- return {
405
- cpuScore: isSet(object.cpuScore) ? globalThis.Number(object.cpuScore) : 0,
406
- cpuBenchmark: isSet(object.cpuBenchmark) ? globalThis.String(object.cpuBenchmark) : "",
407
- cpuCoresCount: isSet(object.cpuCoresCount) ? globalThis.Number(object.cpuCoresCount) : 0,
408
- };
409
- },
410
- toJSON(message) {
411
- const obj = {};
412
- if (message.cpuScore !== 0) {
413
- obj.cpuScore = Math.round(message.cpuScore);
414
- }
415
- if (message.cpuBenchmark !== "") {
416
- obj.cpuBenchmark = message.cpuBenchmark;
417
- }
418
- if (message.cpuCoresCount !== 0) {
419
- obj.cpuCoresCount = Math.round(message.cpuCoresCount);
420
- }
421
- return obj;
422
- },
423
- create(base) {
424
- return exports.TeeRunCpuBenchmark.fromPartial(base ?? {});
425
- },
426
- fromPartial(object) {
427
- const message = createBaseTeeRunCpuBenchmark();
428
- message.cpuScore = object.cpuScore ?? 0;
429
- message.cpuBenchmark = object.cpuBenchmark ?? "";
430
- message.cpuCoresCount = object.cpuCoresCount ?? 0;
431
- return message;
432
- },
433
- };
434
- function createBaseTeeRunMemoryBenchmark() {
435
- return { memBandwidth: 0, memConfirmedSize: 0 };
436
- }
437
- exports.TeeRunMemoryBenchmark = {
438
- encode(message, writer = minimal_js_1.default.Writer.create()) {
439
- if (message.memBandwidth !== 0) {
440
- writer.uint32(8).int32(message.memBandwidth);
441
- }
442
- if (message.memConfirmedSize !== 0) {
443
- writer.uint32(16).int32(message.memConfirmedSize);
444
- }
445
- return writer;
446
- },
447
- decode(input, length) {
448
- const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
449
- let end = length === undefined ? reader.len : reader.pos + length;
450
- const message = createBaseTeeRunMemoryBenchmark();
451
- while (reader.pos < end) {
452
- const tag = reader.uint32();
453
- switch (tag >>> 3) {
454
- case 1:
455
- if (tag !== 8) {
456
- break;
457
- }
458
- message.memBandwidth = reader.int32();
459
- continue;
460
- case 2:
461
- if (tag !== 16) {
462
- break;
463
- }
464
- message.memConfirmedSize = reader.int32();
465
- continue;
466
- }
467
- if ((tag & 7) === 4 || tag === 0) {
468
- break;
469
- }
470
- reader.skipType(tag & 7);
471
- }
472
- return message;
473
- },
474
- fromJSON(object) {
475
- return {
476
- memBandwidth: isSet(object.memBandwidth) ? globalThis.Number(object.memBandwidth) : 0,
477
- memConfirmedSize: isSet(object.memConfirmedSize) ? globalThis.Number(object.memConfirmedSize) : 0,
478
- };
479
- },
480
- toJSON(message) {
481
- const obj = {};
482
- if (message.memBandwidth !== 0) {
483
- obj.memBandwidth = Math.round(message.memBandwidth);
484
- }
485
- if (message.memConfirmedSize !== 0) {
486
- obj.memConfirmedSize = Math.round(message.memConfirmedSize);
487
- }
488
- return obj;
489
- },
490
- create(base) {
491
- return exports.TeeRunMemoryBenchmark.fromPartial(base ?? {});
492
- },
493
- fromPartial(object) {
494
- const message = createBaseTeeRunMemoryBenchmark();
495
- message.memBandwidth = object.memBandwidth ?? 0;
496
- message.memConfirmedSize = object.memConfirmedSize ?? 0;
497
- return message;
498
- },
499
- };
500
- function isSet(value) {
501
- return value !== null && value !== undefined;
502
- }
503
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVlUHJvcGVydGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm90by9UZWVQcm9wZXJ0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix1RUFBd0M7QUFFM0IsUUFBQSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBcUNsQyxTQUFTLHVCQUF1QjtJQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDdkcsQ0FBQztBQUVZLFFBQUEsYUFBYSxHQUFHO0lBQzNCLE1BQU0sQ0FBQyxPQUFzQixFQUFFLFNBQXFCLG9CQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNyRSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMscUJBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakYsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLGtCQUFrQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdDLDBCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNGLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoRCw2QkFBcUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVB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QUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxRSxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3RSxhQUFhLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEYsWUFBWSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkUsQ0FB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