@super-protocol/sp-nvtrust-wrapper 1.0.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.
@@ -0,0 +1,498 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v1.181.2
5
+ // protoc v3.21.12
6
+ // source: nvtrust_wrapper_types.proto
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.MethodCallRequest = exports.VerificationResult = exports.ValidateToken = exports.NvidiaToken = exports.GetNRASToken = exports.GPUTopologyResult = exports.GetGPUTopology = exports.nvidiaDeviceTypeToJSON = exports.nvidiaDeviceTypeFromJSON = exports.NvidiaDeviceType = exports.protobufPackage = void 0;
12
+ /* eslint-disable */
13
+ const minimal_js_1 = __importDefault(require("protobufjs/minimal.js"));
14
+ exports.protobufPackage = "nvtrust_wrapper_types";
15
+ var NvidiaDeviceType;
16
+ (function (NvidiaDeviceType) {
17
+ NvidiaDeviceType[NvidiaDeviceType["GPU"] = 0] = "GPU";
18
+ NvidiaDeviceType[NvidiaDeviceType["SWITCH"] = 1] = "SWITCH";
19
+ })(NvidiaDeviceType || (exports.NvidiaDeviceType = NvidiaDeviceType = {}));
20
+ function nvidiaDeviceTypeFromJSON(object) {
21
+ switch (object) {
22
+ case 0:
23
+ case "GPU":
24
+ return NvidiaDeviceType.GPU;
25
+ case 1:
26
+ case "SWITCH":
27
+ return NvidiaDeviceType.SWITCH;
28
+ default:
29
+ throw new globalThis.Error("Unrecognized enum value " + object + " for enum NvidiaDeviceType");
30
+ }
31
+ }
32
+ exports.nvidiaDeviceTypeFromJSON = nvidiaDeviceTypeFromJSON;
33
+ function nvidiaDeviceTypeToJSON(object) {
34
+ switch (object) {
35
+ case NvidiaDeviceType.GPU:
36
+ return "GPU";
37
+ case NvidiaDeviceType.SWITCH:
38
+ return "SWITCH";
39
+ default:
40
+ throw new globalThis.Error("Unrecognized enum value " + object + " for enum NvidiaDeviceType");
41
+ }
42
+ }
43
+ exports.nvidiaDeviceTypeToJSON = nvidiaDeviceTypeToJSON;
44
+ function createBaseGetGPUTopology() {
45
+ return {};
46
+ }
47
+ exports.GetGPUTopology = {
48
+ encode(_, writer = minimal_js_1.default.Writer.create()) {
49
+ return writer;
50
+ },
51
+ decode(input, length) {
52
+ const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
53
+ let end = length === undefined ? reader.len : reader.pos + length;
54
+ const message = createBaseGetGPUTopology();
55
+ while (reader.pos < end) {
56
+ const tag = reader.uint32();
57
+ switch (tag >>> 3) {
58
+ }
59
+ if ((tag & 7) === 4 || tag === 0) {
60
+ break;
61
+ }
62
+ reader.skipType(tag & 7);
63
+ }
64
+ return message;
65
+ },
66
+ fromJSON(_) {
67
+ return {};
68
+ },
69
+ toJSON(_) {
70
+ const obj = {};
71
+ return obj;
72
+ },
73
+ create(base) {
74
+ return exports.GetGPUTopology.fromPartial(base ?? {});
75
+ },
76
+ fromPartial(_) {
77
+ const message = createBaseGetGPUTopology();
78
+ return message;
79
+ },
80
+ };
81
+ function createBaseGPUTopologyResult() {
82
+ return { gpuCount: 0, nvswitchCount: 0 };
83
+ }
84
+ exports.GPUTopologyResult = {
85
+ encode(message, writer = minimal_js_1.default.Writer.create()) {
86
+ if (message.gpuCount !== 0) {
87
+ writer.uint32(8).uint32(message.gpuCount);
88
+ }
89
+ if (message.nvswitchCount !== 0) {
90
+ writer.uint32(16).uint32(message.nvswitchCount);
91
+ }
92
+ return writer;
93
+ },
94
+ decode(input, length) {
95
+ const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
96
+ let end = length === undefined ? reader.len : reader.pos + length;
97
+ const message = createBaseGPUTopologyResult();
98
+ while (reader.pos < end) {
99
+ const tag = reader.uint32();
100
+ switch (tag >>> 3) {
101
+ case 1:
102
+ if (tag !== 8) {
103
+ break;
104
+ }
105
+ message.gpuCount = reader.uint32();
106
+ continue;
107
+ case 2:
108
+ if (tag !== 16) {
109
+ break;
110
+ }
111
+ message.nvswitchCount = reader.uint32();
112
+ continue;
113
+ }
114
+ if ((tag & 7) === 4 || tag === 0) {
115
+ break;
116
+ }
117
+ reader.skipType(tag & 7);
118
+ }
119
+ return message;
120
+ },
121
+ fromJSON(object) {
122
+ return {
123
+ gpuCount: isSet(object.gpuCount) ? globalThis.Number(object.gpuCount) : 0,
124
+ nvswitchCount: isSet(object.nvswitchCount) ? globalThis.Number(object.nvswitchCount) : 0,
125
+ };
126
+ },
127
+ toJSON(message) {
128
+ const obj = {};
129
+ if (message.gpuCount !== 0) {
130
+ obj.gpuCount = Math.round(message.gpuCount);
131
+ }
132
+ if (message.nvswitchCount !== 0) {
133
+ obj.nvswitchCount = Math.round(message.nvswitchCount);
134
+ }
135
+ return obj;
136
+ },
137
+ create(base) {
138
+ return exports.GPUTopologyResult.fromPartial(base ?? {});
139
+ },
140
+ fromPartial(object) {
141
+ const message = createBaseGPUTopologyResult();
142
+ message.gpuCount = object.gpuCount ?? 0;
143
+ message.nvswitchCount = object.nvswitchCount ?? 0;
144
+ return message;
145
+ },
146
+ };
147
+ function createBaseGetNRASToken() {
148
+ return { device: 0, nonce: "", ppcieMode: false };
149
+ }
150
+ exports.GetNRASToken = {
151
+ encode(message, writer = minimal_js_1.default.Writer.create()) {
152
+ if (message.device !== 0) {
153
+ writer.uint32(8).int32(message.device);
154
+ }
155
+ if (message.nonce !== "") {
156
+ writer.uint32(18).string(message.nonce);
157
+ }
158
+ if (message.ppcieMode !== false) {
159
+ writer.uint32(24).bool(message.ppcieMode);
160
+ }
161
+ return writer;
162
+ },
163
+ decode(input, length) {
164
+ const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
165
+ let end = length === undefined ? reader.len : reader.pos + length;
166
+ const message = createBaseGetNRASToken();
167
+ while (reader.pos < end) {
168
+ const tag = reader.uint32();
169
+ switch (tag >>> 3) {
170
+ case 1:
171
+ if (tag !== 8) {
172
+ break;
173
+ }
174
+ message.device = reader.int32();
175
+ continue;
176
+ case 2:
177
+ if (tag !== 18) {
178
+ break;
179
+ }
180
+ message.nonce = reader.string();
181
+ continue;
182
+ case 3:
183
+ if (tag !== 24) {
184
+ break;
185
+ }
186
+ message.ppcieMode = reader.bool();
187
+ continue;
188
+ }
189
+ if ((tag & 7) === 4 || tag === 0) {
190
+ break;
191
+ }
192
+ reader.skipType(tag & 7);
193
+ }
194
+ return message;
195
+ },
196
+ fromJSON(object) {
197
+ return {
198
+ device: isSet(object.device) ? nvidiaDeviceTypeFromJSON(object.device) : 0,
199
+ nonce: isSet(object.nonce) ? globalThis.String(object.nonce) : "",
200
+ ppcieMode: isSet(object.ppcieMode) ? globalThis.Boolean(object.ppcieMode) : false,
201
+ };
202
+ },
203
+ toJSON(message) {
204
+ const obj = {};
205
+ if (message.device !== 0) {
206
+ obj.device = nvidiaDeviceTypeToJSON(message.device);
207
+ }
208
+ if (message.nonce !== "") {
209
+ obj.nonce = message.nonce;
210
+ }
211
+ if (message.ppcieMode !== false) {
212
+ obj.ppcieMode = message.ppcieMode;
213
+ }
214
+ return obj;
215
+ },
216
+ create(base) {
217
+ return exports.GetNRASToken.fromPartial(base ?? {});
218
+ },
219
+ fromPartial(object) {
220
+ const message = createBaseGetNRASToken();
221
+ message.device = object.device ?? 0;
222
+ message.nonce = object.nonce ?? "";
223
+ message.ppcieMode = object.ppcieMode ?? false;
224
+ return message;
225
+ },
226
+ };
227
+ function createBaseNvidiaToken() {
228
+ return { jwt: "" };
229
+ }
230
+ exports.NvidiaToken = {
231
+ encode(message, writer = minimal_js_1.default.Writer.create()) {
232
+ if (message.jwt !== "") {
233
+ writer.uint32(10).string(message.jwt);
234
+ }
235
+ return writer;
236
+ },
237
+ decode(input, length) {
238
+ const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
239
+ let end = length === undefined ? reader.len : reader.pos + length;
240
+ const message = createBaseNvidiaToken();
241
+ while (reader.pos < end) {
242
+ const tag = reader.uint32();
243
+ switch (tag >>> 3) {
244
+ case 1:
245
+ if (tag !== 10) {
246
+ break;
247
+ }
248
+ message.jwt = reader.string();
249
+ continue;
250
+ }
251
+ if ((tag & 7) === 4 || tag === 0) {
252
+ break;
253
+ }
254
+ reader.skipType(tag & 7);
255
+ }
256
+ return message;
257
+ },
258
+ fromJSON(object) {
259
+ return { jwt: isSet(object.jwt) ? globalThis.String(object.jwt) : "" };
260
+ },
261
+ toJSON(message) {
262
+ const obj = {};
263
+ if (message.jwt !== "") {
264
+ obj.jwt = message.jwt;
265
+ }
266
+ return obj;
267
+ },
268
+ create(base) {
269
+ return exports.NvidiaToken.fromPartial(base ?? {});
270
+ },
271
+ fromPartial(object) {
272
+ const message = createBaseNvidiaToken();
273
+ message.jwt = object.jwt ?? "";
274
+ return message;
275
+ },
276
+ };
277
+ function createBaseValidateToken() {
278
+ return { token: undefined, policy: "", device: 0 };
279
+ }
280
+ exports.ValidateToken = {
281
+ encode(message, writer = minimal_js_1.default.Writer.create()) {
282
+ if (message.token !== undefined) {
283
+ exports.NvidiaToken.encode(message.token, writer.uint32(10).fork()).ldelim();
284
+ }
285
+ if (message.policy !== "") {
286
+ writer.uint32(18).string(message.policy);
287
+ }
288
+ if (message.device !== 0) {
289
+ writer.uint32(24).int32(message.device);
290
+ }
291
+ return writer;
292
+ },
293
+ decode(input, length) {
294
+ const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
295
+ let end = length === undefined ? reader.len : reader.pos + length;
296
+ const message = createBaseValidateToken();
297
+ while (reader.pos < end) {
298
+ const tag = reader.uint32();
299
+ switch (tag >>> 3) {
300
+ case 1:
301
+ if (tag !== 10) {
302
+ break;
303
+ }
304
+ message.token = exports.NvidiaToken.decode(reader, reader.uint32());
305
+ continue;
306
+ case 2:
307
+ if (tag !== 18) {
308
+ break;
309
+ }
310
+ message.policy = reader.string();
311
+ continue;
312
+ case 3:
313
+ if (tag !== 24) {
314
+ break;
315
+ }
316
+ message.device = reader.int32();
317
+ continue;
318
+ }
319
+ if ((tag & 7) === 4 || tag === 0) {
320
+ break;
321
+ }
322
+ reader.skipType(tag & 7);
323
+ }
324
+ return message;
325
+ },
326
+ fromJSON(object) {
327
+ return {
328
+ token: isSet(object.token) ? exports.NvidiaToken.fromJSON(object.token) : undefined,
329
+ policy: isSet(object.policy) ? globalThis.String(object.policy) : "",
330
+ device: isSet(object.device) ? nvidiaDeviceTypeFromJSON(object.device) : 0,
331
+ };
332
+ },
333
+ toJSON(message) {
334
+ const obj = {};
335
+ if (message.token !== undefined) {
336
+ obj.token = exports.NvidiaToken.toJSON(message.token);
337
+ }
338
+ if (message.policy !== "") {
339
+ obj.policy = message.policy;
340
+ }
341
+ if (message.device !== 0) {
342
+ obj.device = nvidiaDeviceTypeToJSON(message.device);
343
+ }
344
+ return obj;
345
+ },
346
+ create(base) {
347
+ return exports.ValidateToken.fromPartial(base ?? {});
348
+ },
349
+ fromPartial(object) {
350
+ const message = createBaseValidateToken();
351
+ message.token = (object.token !== undefined && object.token !== null)
352
+ ? exports.NvidiaToken.fromPartial(object.token)
353
+ : undefined;
354
+ message.policy = object.policy ?? "";
355
+ message.device = object.device ?? 0;
356
+ return message;
357
+ },
358
+ };
359
+ function createBaseVerificationResult() {
360
+ return { success: false };
361
+ }
362
+ exports.VerificationResult = {
363
+ encode(message, writer = minimal_js_1.default.Writer.create()) {
364
+ if (message.success !== false) {
365
+ writer.uint32(8).bool(message.success);
366
+ }
367
+ return writer;
368
+ },
369
+ decode(input, length) {
370
+ const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
371
+ let end = length === undefined ? reader.len : reader.pos + length;
372
+ const message = createBaseVerificationResult();
373
+ while (reader.pos < end) {
374
+ const tag = reader.uint32();
375
+ switch (tag >>> 3) {
376
+ case 1:
377
+ if (tag !== 8) {
378
+ break;
379
+ }
380
+ message.success = reader.bool();
381
+ continue;
382
+ }
383
+ if ((tag & 7) === 4 || tag === 0) {
384
+ break;
385
+ }
386
+ reader.skipType(tag & 7);
387
+ }
388
+ return message;
389
+ },
390
+ fromJSON(object) {
391
+ return { success: isSet(object.success) ? globalThis.Boolean(object.success) : false };
392
+ },
393
+ toJSON(message) {
394
+ const obj = {};
395
+ if (message.success !== false) {
396
+ obj.success = message.success;
397
+ }
398
+ return obj;
399
+ },
400
+ create(base) {
401
+ return exports.VerificationResult.fromPartial(base ?? {});
402
+ },
403
+ fromPartial(object) {
404
+ const message = createBaseVerificationResult();
405
+ message.success = object.success ?? false;
406
+ return message;
407
+ },
408
+ };
409
+ function createBaseMethodCallRequest() {
410
+ return { topology: undefined, nrasToken: undefined, validateToken: undefined };
411
+ }
412
+ exports.MethodCallRequest = {
413
+ encode(message, writer = minimal_js_1.default.Writer.create()) {
414
+ if (message.topology !== undefined) {
415
+ exports.GetGPUTopology.encode(message.topology, writer.uint32(10).fork()).ldelim();
416
+ }
417
+ if (message.nrasToken !== undefined) {
418
+ exports.GetNRASToken.encode(message.nrasToken, writer.uint32(18).fork()).ldelim();
419
+ }
420
+ if (message.validateToken !== undefined) {
421
+ exports.ValidateToken.encode(message.validateToken, writer.uint32(26).fork()).ldelim();
422
+ }
423
+ return writer;
424
+ },
425
+ decode(input, length) {
426
+ const reader = input instanceof minimal_js_1.default.Reader ? input : minimal_js_1.default.Reader.create(input);
427
+ let end = length === undefined ? reader.len : reader.pos + length;
428
+ const message = createBaseMethodCallRequest();
429
+ while (reader.pos < end) {
430
+ const tag = reader.uint32();
431
+ switch (tag >>> 3) {
432
+ case 1:
433
+ if (tag !== 10) {
434
+ break;
435
+ }
436
+ message.topology = exports.GetGPUTopology.decode(reader, reader.uint32());
437
+ continue;
438
+ case 2:
439
+ if (tag !== 18) {
440
+ break;
441
+ }
442
+ message.nrasToken = exports.GetNRASToken.decode(reader, reader.uint32());
443
+ continue;
444
+ case 3:
445
+ if (tag !== 26) {
446
+ break;
447
+ }
448
+ message.validateToken = exports.ValidateToken.decode(reader, reader.uint32());
449
+ continue;
450
+ }
451
+ if ((tag & 7) === 4 || tag === 0) {
452
+ break;
453
+ }
454
+ reader.skipType(tag & 7);
455
+ }
456
+ return message;
457
+ },
458
+ fromJSON(object) {
459
+ return {
460
+ topology: isSet(object.topology) ? exports.GetGPUTopology.fromJSON(object.topology) : undefined,
461
+ nrasToken: isSet(object.nrasToken) ? exports.GetNRASToken.fromJSON(object.nrasToken) : undefined,
462
+ validateToken: isSet(object.validateToken) ? exports.ValidateToken.fromJSON(object.validateToken) : undefined,
463
+ };
464
+ },
465
+ toJSON(message) {
466
+ const obj = {};
467
+ if (message.topology !== undefined) {
468
+ obj.topology = exports.GetGPUTopology.toJSON(message.topology);
469
+ }
470
+ if (message.nrasToken !== undefined) {
471
+ obj.nrasToken = exports.GetNRASToken.toJSON(message.nrasToken);
472
+ }
473
+ if (message.validateToken !== undefined) {
474
+ obj.validateToken = exports.ValidateToken.toJSON(message.validateToken);
475
+ }
476
+ return obj;
477
+ },
478
+ create(base) {
479
+ return exports.MethodCallRequest.fromPartial(base ?? {});
480
+ },
481
+ fromPartial(object) {
482
+ const message = createBaseMethodCallRequest();
483
+ message.topology = (object.topology !== undefined && object.topology !== null)
484
+ ? exports.GetGPUTopology.fromPartial(object.topology)
485
+ : undefined;
486
+ message.nrasToken = (object.nrasToken !== undefined && object.nrasToken !== null)
487
+ ? exports.GetNRASToken.fromPartial(object.nrasToken)
488
+ : undefined;
489
+ message.validateToken = (object.validateToken !== undefined && object.validateToken !== null)
490
+ ? exports.ValidateToken.fromPartial(object.validateToken)
491
+ : undefined;
492
+ return message;
493
+ },
494
+ };
495
+ function isSet(value) {
496
+ return value !== null && value !== undefined;
497
+ }
498
+ //# sourceMappingURL=nvtrust_wrapper_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nvtrust_wrapper_types.js","sourceRoot":"","sources":["../../src/proto/nvtrust_wrapper_types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@super-protocol/sp-nvtrust-wrapper",
3
+ "version": "1.0.0",
4
+ "description": "NodeJS wrapper for nvtrust",
5
+ "main": "./dist/index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1",
8
+ "lint": "eslint --ext .ts .",
9
+ "lint:fix": "eslint --ext .ts src --fix",
10
+ "clear": "rm -rf ./dist",
11
+ "build": "tsc -p tsconfig.json",
12
+ "build:clean": "npm run clear && tsc -p tsconfig.json",
13
+ "prepare": "npm run proto",
14
+ "bump": "npm version prerelease --preid=beta && npm run tag:publish",
15
+ "patch:beta": "npm version prepatch --preid=beta && npm run tag:publish",
16
+ "minor:beta": "npm version preminor --preid=beta && npm run tag:publish",
17
+ "major:beta": "npm version premajor --preid=beta && npm run tag:publish",
18
+ "patch": "npm version patch && npm run tag:publish",
19
+ "minor": "npm version minor && npm run tag:publish",
20
+ "major": "npm version major && npm run tag:publish",
21
+ "tag:publish": "git push origin && git push origin $(git tag --points-at HEAD)",
22
+ "python-venv": "python3 -m venv ./py-venv && ./py-venv/bin/pip install -r ./py/requirements.txt",
23
+ "python-compile-cache": ". ./py-venv/bin/activate && python3 -m compileall ./py && deactivate",
24
+ "proto:ts": "rm -rf src/proto && mkdir -p src/proto && cd ./proto && protoc --plugin=../node_modules/.bin/protoc-gen-ts_proto --ts_proto_opt=esModuleInterop=true --ts_proto_opt=importSuffix=.js --ts_proto_opt=unrecognizedEnum=false --ts_proto_out=../src/proto ./*.proto",
25
+ "proto:py": "rm -rf py/proto && mkdir -p py/proto && cd ./proto && protoc --pyi_out=../py/proto --python_out=../py/proto ./*.proto",
26
+ "proto": "npm run proto:ts && npm run proto:py",
27
+ "postinstall": "npm run python-venv && npm run python-compile-cache"
28
+ },
29
+ "keywords": [],
30
+ "author": "SuperProtocol",
31
+ "license": "MIT",
32
+ "engines": {
33
+ "node": ">=16.0"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/Super-Protocol/sp-nvtrust-wrapper"
38
+ },
39
+ "files": [
40
+ "dist/**/*",
41
+ "py/**/*"
42
+ ],
43
+ "homepage": "https://github.com/Super-Protocol/sp-nvtrust-wrapper#",
44
+ "bugs": {
45
+ "url": "https://github.com/Super-Protocol/sp-nvtrust-wrapper/issues"
46
+ },
47
+ "devDependencies": {
48
+ "@super-protocol/eslint-config-typescript": "^2.0.1",
49
+ "@types/jsonwebtoken": "^9.0.9"
50
+ },
51
+ "dependencies": {
52
+ "@types/node": "^16.10.3",
53
+ "jsonwebtoken": "^9.0.2",
54
+ "ts-proto": "^1.110.4"
55
+ }
56
+ }
@@ -0,0 +1,39 @@
1
+ import sys
2
+ from pynvml import (
3
+ nvmlDeviceGetCount,
4
+ nvmlInit,
5
+ nvmlShutdown,
6
+ )
7
+ from nv_attestation_sdk.verifiers.nv_switch_verifier.nscq import NSCQHandler
8
+
9
+ class NvmlHelper:
10
+ def __init__(self):
11
+ try:
12
+ nvmlInit()
13
+ except Exception as e:
14
+ raise RuntimeError("Error in Initializing NvmlHelper") from e
15
+
16
+ def get_number_of_gpus(self):
17
+ number_of_gpus = 0
18
+ try:
19
+ number_of_gpus = nvmlDeviceGetCount()
20
+ except Exception as e:
21
+ raise RuntimeError(
22
+ "An error occurred while getting the "
23
+ "number of GPUs from NVML library") from e
24
+ return number_of_gpus
25
+
26
+ def get_number_of_switches(self):
27
+ number_of_switches = 0
28
+ try:
29
+ nscq_client = NSCQHandler()
30
+ switch_list_uuids = nscq_client.get_all_switch_uuid()[0]
31
+ number_of_switches = len(switch_list_uuids) if switch_list_uuids is not None else 0
32
+ except Exception as e:
33
+ # TODO: log warning/error here
34
+ pass
35
+ return number_of_switches
36
+
37
+ def __destroy__(self):
38
+ nvmlShutdown()
39
+