@super-protocol/pki-client 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,5 @@
1
+ /// <reference types="node" />
2
+ import { Challenge } from '@super-protocol/pki-common';
3
+ export interface ChallengeProvider {
4
+ generateChallenge(userData: Buffer): Promise<Challenge>;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ import { ChallengeProvider } from './challengeProvider';
3
+ import { Challenge } from '@super-protocol/pki-common';
4
+ export declare class ChallengeProviderSgx implements ChallengeProvider {
5
+ generateChallenge(userData: Buffer): Promise<Challenge>;
6
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ChallengeProviderSgx = void 0;
27
+ const pki_common_1 = require("@super-protocol/pki-common");
28
+ class ChallengeProviderSgx {
29
+ async generateChallenge(userData) {
30
+ // This module depends on native library that cannot be compiled for all architectures / operating systems.
31
+ // That is why we load it dynamically and use only when it's really needed.
32
+ const { TeeDeviceService } = await Promise.resolve().then(() => __importStar(require('@super-protocol/tee-lib')));
33
+ const device = new TeeDeviceService({});
34
+ const quoteData = await device.getDataOf(userData);
35
+ return {
36
+ type: pki_common_1.ChallengeType.SGXDCAP,
37
+ quoteBase64: quoteData.toString('base64'),
38
+ };
39
+ }
40
+ }
41
+ exports.ChallengeProviderSgx = ChallengeProviderSgx;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXJTZ3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlUHJvdmlkZXJTZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFBc0U7QUFFdEUsTUFBYSxvQkFBb0I7SUFDN0IsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQWdCO1FBQ3BDLDJHQUEyRztRQUMzRywyRUFBMkU7UUFDM0UsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsd0RBQWEseUJBQXlCLEdBQUMsQ0FBQztRQUNyRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxPQUFPO1lBQ0gsSUFBSSxFQUFFLDBCQUFhLENBQUMsT0FBTztZQUMzQixXQUFXLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7U0FDNUMsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQVpELG9EQVlDIn0=
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ import { ChallengeProvider } from './challengeProvider';
3
+ import { Challenge } from '@super-protocol/pki-common';
4
+ export declare class ChallengeProviderUntrusted implements ChallengeProvider {
5
+ private readonly deviceId;
6
+ private readonly userData;
7
+ constructor(deviceId: string, userData: string);
8
+ generateChallenge(_: Buffer): Promise<Challenge>;
9
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChallengeProviderUntrusted = void 0;
4
+ const pki_common_1 = require("@super-protocol/pki-common");
5
+ class ChallengeProviderUntrusted {
6
+ constructor(deviceId, userData) {
7
+ this.deviceId = deviceId;
8
+ this.userData = userData;
9
+ }
10
+ async generateChallenge(_) {
11
+ return {
12
+ type: pki_common_1.ChallengeType.Untrusted,
13
+ userData: this.userData,
14
+ id: this.deviceId,
15
+ };
16
+ }
17
+ }
18
+ exports.ChallengeProviderUntrusted = ChallengeProviderUntrusted;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXJVbnRydXN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlUHJvdmlkZXJVbnRydXN0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkRBQXNFO0FBRXRFLE1BQWEsMEJBQTBCO0lBQ25DLFlBQ3FCLFFBQWdCLEVBQ2hCLFFBQWdCO1FBRGhCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUNsQyxDQUFDO0lBRUosS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQVM7UUFDN0IsT0FBTztZQUNILElBQUksRUFBRSwwQkFBYSxDQUFDLFNBQVM7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUNwQixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBYkQsZ0VBYUMifQ==
@@ -0,0 +1,3 @@
1
+ export * from './challengeProvider';
2
+ export * from './challengeProviderSgx';
3
+ export * from './challengeProviderUntrusted';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./challengeProvider"), exports);
18
+ __exportStar(require("./challengeProviderSgx"), exports);
19
+ __exportStar(require("./challengeProviderUntrusted"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsK0RBQTZDIn0=
@@ -0,0 +1,2 @@
1
+ import { ChallengeType } from './types';
2
+ export declare const generateDomain: (baseDomain: string, challengeType: ChallengeType, id: string) => string;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateDomain = void 0;
4
+ const generateDomain = (baseDomain, challengeType, id) => `*.${id}.${challengeType}.${baseDomain}`;
5
+ exports.generateDomain = generateDomain;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sY0FBYyxHQUFHLENBQzFCLFVBQWtCLEVBQ2xCLGFBQTRCLEVBQzVCLEVBQVUsRUFDWixFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksYUFBYSxJQUFJLFVBQVUsRUFBRSxDQUFDO0FBSmpDLFFBQUEsY0FBYyxrQkFJbUIifQ==
@@ -0,0 +1,2 @@
1
+ export * from './challengeProvider';
2
+ export * from './pkiClient';
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./challengeProvider"), exports);
18
+ __exportStar(require("./pkiClient"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyw4Q0FBNEIifQ==
@@ -0,0 +1,15 @@
1
+ import { TeeSslCertificate } from '@super-protocol/pki-common';
2
+ import { ChallengeProvider } from './challengeProvider';
3
+ import { AttestationServiceClient } from '@super-protocol/pki-api-client';
4
+ export interface SgxPkiClientOptions {
5
+ privateKeyPem?: string;
6
+ challengeProvider?: ChallengeProvider;
7
+ attestationServiceClient?: AttestationServiceClient;
8
+ }
9
+ export declare class PkiClient {
10
+ private readonly keyPair;
11
+ private readonly challengeProvider;
12
+ private readonly attestationServiceClient;
13
+ constructor(options?: SgxPkiClientOptions);
14
+ generateSslCertificate(): Promise<TeeSslCertificate>;
15
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PkiClient = void 0;
4
+ const pki_common_1 = require("@super-protocol/pki-common");
5
+ const challengeProvider_1 = require("./challengeProvider");
6
+ const pki_api_client_1 = require("@super-protocol/pki-api-client");
7
+ const AS_BASE_URL = 'tee.superprotocol.com';
8
+ const AS_CA = `-----BEGIN RSA PRIVATE KEY-----
9
+ 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
46
+ -----END RSA PRIVATE KEY-----`;
47
+ class PkiClient {
48
+ constructor(options = {}) {
49
+ if (options.privateKeyPem) {
50
+ this.keyPair = {
51
+ privateKeyPem: options.privateKeyPem,
52
+ publicKeyPem: (0, pki_common_1.getPublicKeyFromPrivate)(options.privateKeyPem),
53
+ };
54
+ }
55
+ else {
56
+ this.keyPair = (0, pki_common_1.generateKeyPair)();
57
+ }
58
+ this.challengeProvider =
59
+ options.challengeProvider || new challengeProvider_1.ChallengeProviderSgx();
60
+ this.attestationServiceClient =
61
+ options.attestationServiceClient ||
62
+ new pki_api_client_1.StaticAttestationServiceClient(AS_BASE_URL, AS_CA);
63
+ }
64
+ async generateSslCertificate() {
65
+ const keys = this.keyPair;
66
+ const publicKeyHash = (0, pki_common_1.getPublicKeyHash)(keys.publicKeyPem);
67
+ const challenge = await this.challengeProvider.generateChallenge(publicKeyHash);
68
+ const cert = await this.attestationServiceClient.generateCertificate({
69
+ publicKeyPem: keys.publicKeyPem,
70
+ challenge,
71
+ });
72
+ return {
73
+ certPem: cert.certPem,
74
+ caBundle: cert.rootCertsPem,
75
+ baseDomain: cert.domain,
76
+ keyPair: keys,
77
+ };
78
+ }
79
+ }
80
+ exports.PkiClient = PkiClient;
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGtpQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BraUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFNb0M7QUFDcEMsMkRBQThFO0FBQzlFLG1FQUd3QztBQUV4QyxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUM1QyxNQUFNLEtBQUssR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBc0NnQixDQUFDO0FBUS9CLE1BQWEsU0FBUztJQUtsQixZQUFZLFVBQStCLEVBQUU7UUFDekMsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDWCxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7Z0JBQ3BDLFlBQVksRUFBRSxJQUFBLG9DQUF1QixFQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDL0QsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLDRCQUFlLEdBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQjtZQUNsQixPQUFPLENBQUMsaUJBQWlCLElBQUksSUFBSSx3Q0FBb0IsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyx3QkFBd0I7WUFDekIsT0FBTyxDQUFDLHdCQUF3QjtnQkFDaEMsSUFBSSwrQ0FBOEIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0I7UUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFBLDZCQUFnQixFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRCxNQUFNLFNBQVMsR0FDWCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQztZQUNqRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsU0FBUztTQUNaLENBQUMsQ0FBQztRQUNILE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUN2QixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBckNELDhCQXFDQyJ9
@@ -0,0 +1,48 @@
1
+ export declare enum ChallengeType {
2
+ Untrusted = "untrusted",
3
+ SGXDCAP = "sgx-dcap",
4
+ SGXIAS = "sgx-ias",
5
+ TDX = "tdx",
6
+ AMDSEV = "amd-sev",
7
+ TDXSuperLoader = "tdx-super-loader"
8
+ }
9
+ export interface UntrustedChallenge {
10
+ type: ChallengeType.Untrusted;
11
+ userData: string;
12
+ id: string;
13
+ }
14
+ export interface SGXDCAPChallenge {
15
+ type: ChallengeType.SGXDCAP;
16
+ quoteBase64: string;
17
+ }
18
+ export type Challenge = UntrustedChallenge | SGXDCAPChallenge;
19
+ export interface PkiCertParams {
20
+ serialNumber: string;
21
+ notBefore: string;
22
+ notAfter: string;
23
+ commonName: string;
24
+ countryName: string;
25
+ stateName: string;
26
+ localityName: string;
27
+ organizationName: string;
28
+ organizationUnitName: string;
29
+ }
30
+ export interface PkiUntrustedStaticKeyStorage {
31
+ type: 'untrusted-static';
32
+ publicKeyPem: string;
33
+ privateKeyPem: string;
34
+ }
35
+ export interface PkiInMemoryKeyStorage {
36
+ type: 'in-memory';
37
+ }
38
+ export interface PkiSuperDecentralizedSecretKeyStorage {
39
+ type: 'super';
40
+ }
41
+ export interface PkiTrustedKeyStorage {
42
+ type: 'trusted';
43
+ storage: PkiInMemoryKeyStorage | PkiSuperDecentralizedSecretKeyStorage;
44
+ }
45
+ export declare enum PkiRole {
46
+ root = "root",
47
+ subroot = "subroot"
48
+ }
package/dist/types.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PkiRole = exports.ChallengeType = void 0;
4
+ var ChallengeType;
5
+ (function (ChallengeType) {
6
+ ChallengeType["Untrusted"] = "untrusted";
7
+ ChallengeType["SGXDCAP"] = "sgx-dcap";
8
+ ChallengeType["SGXIAS"] = "sgx-ias";
9
+ ChallengeType["TDX"] = "tdx";
10
+ ChallengeType["AMDSEV"] = "amd-sev";
11
+ ChallengeType["TDXSuperLoader"] = "tdx-super-loader";
12
+ })(ChallengeType || (exports.ChallengeType = ChallengeType = {}));
13
+ var PkiRole;
14
+ (function (PkiRole) {
15
+ PkiRole["root"] = "root";
16
+ PkiRole["subroot"] = "subroot";
17
+ })(PkiRole || (exports.PkiRole = PkiRole = {}));
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxhQU9YO0FBUEQsV0FBWSxhQUFhO0lBQ3JCLHdDQUF1QixDQUFBO0lBQ3ZCLHFDQUFvQixDQUFBO0lBQ3BCLG1DQUFrQixDQUFBO0lBQ2xCLDRCQUFXLENBQUE7SUFDWCxtQ0FBa0IsQ0FBQTtJQUNsQixvREFBbUMsQ0FBQTtBQUN2QyxDQUFDLEVBUFcsYUFBYSw2QkFBYixhQUFhLFFBT3hCO0FBOENELElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNmLHdCQUFhLENBQUE7SUFDYiw4QkFBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsT0FBTyx1QkFBUCxPQUFPLFFBR2xCIn0=
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@super-protocol/pki-client",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "directories": {
12
+ "lib": "dist"
13
+ },
14
+ "scripts": {
15
+ "build": "tsc -b",
16
+ "lint": "eslint --max-warnings=0 src",
17
+ "lint:fix": "eslint --fix src"
18
+ },
19
+ "author": "Super Protocol",
20
+ "license": "ISC",
21
+ "dependencies": {
22
+ "@super-protocol/tee-lib": "^0.2.6"
23
+ }
24
+ }