@kynesyslabs/demosdk 2.7.1 → 2.7.2
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/build/index.d.ts +1 -0
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/tlsnotary/TLSNotary.d.ts +161 -0
- package/build/tlsnotary/TLSNotary.js +434 -0
- package/build/tlsnotary/TLSNotary.js.map +1 -0
- package/build/tlsnotary/index.d.ts +29 -0
- package/build/tlsnotary/index.js +38 -0
- package/build/tlsnotary/index.js.map +1 -0
- package/build/tlsnotary/types.d.ts +116 -0
- package/build/tlsnotary/types.js +8 -0
- package/build/tlsnotary/types.js.map +1 -0
- package/build/tlsnotary/worker.d.ts +20 -0
- package/build/tlsnotary/worker.js +63 -0
- package/build/tlsnotary/worker.js.map +1 -0
- package/build/websdk/demosclass.d.ts +33 -0
- package/build/websdk/demosclass.js +70 -0
- package/build/websdk/demosclass.js.map +1 -1
- package/package.json +6 -3
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.ipfs = exports.escrow = exports.storage = exports.instantMessaging = exports.bridge = exports.web2 = exports.abstraction = exports.websdk = exports.l2ps = exports.demoswork = exports.wallet = exports.xmcore = exports.xmwebsdk = exports.xmlocalsdk = exports.utils = exports.encryption = exports.types = void 0;
|
|
36
|
+
exports.tlsnotary = exports.ipfs = exports.escrow = exports.storage = exports.instantMessaging = exports.bridge = exports.web2 = exports.abstraction = exports.websdk = exports.l2ps = exports.demoswork = exports.wallet = exports.xmcore = exports.xmwebsdk = exports.xmlocalsdk = exports.utils = exports.encryption = exports.types = void 0;
|
|
37
37
|
// Common types and constants
|
|
38
38
|
exports.types = __importStar(require("./types"));
|
|
39
39
|
// Basic cryptographic and data manipulation functions
|
|
@@ -55,4 +55,5 @@ exports.instantMessaging = __importStar(require("./instant_messaging"));
|
|
|
55
55
|
exports.storage = __importStar(require("./storage"));
|
|
56
56
|
exports.escrow = __importStar(require("./escrow"));
|
|
57
57
|
exports.ipfs = __importStar(require("./ipfs"));
|
|
58
|
+
exports.tlsnotary = __importStar(require("./tlsnotary"));
|
|
58
59
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,iDAAgC;AAChC,sDAAsD;AACtD,2DAA0C;AAC1C,iDAAgC;AAEhC,gCAAgC;AAChC,oEAAmD;AACnD,gEAA+C;AAC/C,4DAA2C,CAAC,gCAAgC;AAE5E,mDAAkC;AAClC,yDAAwC;AAExC,+CAA8B;AAE9B,mDAAkC;AAClC,6DAA4C;AAC5C,2DAA0C;AAE1C,qCAAqC;AACrC,mDAAkC;AAElC,wEAAuD;AAEvD,qDAAoC;AAEpC,mDAAkC;AAElC,+CAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,iDAAgC;AAChC,sDAAsD;AACtD,2DAA0C;AAC1C,iDAAgC;AAEhC,gCAAgC;AAChC,oEAAmD;AACnD,gEAA+C;AAC/C,4DAA2C,CAAC,gCAAgC;AAE5E,mDAAkC;AAClC,yDAAwC;AAExC,+CAA8B;AAE9B,mDAAkC;AAClC,6DAA4C;AAC5C,2DAA0C;AAE1C,qCAAqC;AACrC,mDAAkC;AAElC,wEAAuD;AAEvD,qDAAoC;AAEpC,mDAAkC;AAElC,+CAA8B;AAE9B,yDAAwC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TLSNotary - Browser-based HTTPS Attestation
|
|
3
|
+
*
|
|
4
|
+
* This module provides TLSNotary attestation capabilities for the Demos SDK.
|
|
5
|
+
* It runs the TLSNotary Prover in a Web Worker using WASM, communicates with
|
|
6
|
+
* a Notary server, and produces cryptographic proofs of HTTPS requests.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This module is browser-only. It requires Web Workers and WASM support.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { TLSNotary } from '@kynesyslabs/demosdk/tlsnotary';
|
|
13
|
+
*
|
|
14
|
+
* // Option 1: Explicit configuration
|
|
15
|
+
* const tlsn = new TLSNotary({
|
|
16
|
+
* notaryUrl: 'wss://node.demos.sh:7047',
|
|
17
|
+
* websocketProxyUrl: 'wss://node.demos.sh:55688',
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Option 2: Discovery via Demos instance (preferred)
|
|
21
|
+
* const demos = new Demos({ rpc: 'https://node.demos.sh' });
|
|
22
|
+
* const tlsn = await demos.tlsnotary();
|
|
23
|
+
*
|
|
24
|
+
* await tlsn.initialize();
|
|
25
|
+
*
|
|
26
|
+
* const result = await tlsn.attest({
|
|
27
|
+
* url: 'https://api.github.com/users/octocat',
|
|
28
|
+
* headers: { 'User-Agent': 'DemosSDK' },
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* console.log('Verified server:', result.verification.serverName);
|
|
32
|
+
* console.log('Response:', result.verification.recv);
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
import type { PresentationJSON } from "tlsn-js/build/types";
|
|
36
|
+
import type { TLSNotaryConfig, AttestRequest, AttestResult, CommitRanges, VerificationResult, AttestOptions, StatusCallback, TranscriptInfo } from "./types";
|
|
37
|
+
/**
|
|
38
|
+
* TLSNotary class for browser-based HTTPS attestation
|
|
39
|
+
*
|
|
40
|
+
* This class handles:
|
|
41
|
+
* - Running the Prover (MPC-TLS client) in the browser via WASM
|
|
42
|
+
* - Communicating with the Demos Node's Notary server
|
|
43
|
+
* - Attesting HTTPS requests with cryptographic proofs
|
|
44
|
+
* - Verifying attestations offline
|
|
45
|
+
*/
|
|
46
|
+
export declare class TLSNotary {
|
|
47
|
+
private config;
|
|
48
|
+
private worker;
|
|
49
|
+
private wasm;
|
|
50
|
+
private initialized;
|
|
51
|
+
private initializingPromise;
|
|
52
|
+
/**
|
|
53
|
+
* Create a new TLSNotary instance
|
|
54
|
+
*
|
|
55
|
+
* @param config - Configuration with notary and proxy URLs
|
|
56
|
+
*/
|
|
57
|
+
constructor(config: TLSNotaryConfig);
|
|
58
|
+
/**
|
|
59
|
+
* Initialize the WASM module
|
|
60
|
+
*
|
|
61
|
+
* Must be called before any attestation operations.
|
|
62
|
+
* Only needs to be called once per page load.
|
|
63
|
+
*
|
|
64
|
+
* @throws Error if WASM initialization fails
|
|
65
|
+
*/
|
|
66
|
+
initialize(): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Attest an HTTPS request using the step-by-step method
|
|
69
|
+
*
|
|
70
|
+
* This provides full control over the attestation process including
|
|
71
|
+
* custom commit ranges for selective disclosure.
|
|
72
|
+
*
|
|
73
|
+
* @param request - Request configuration (URL, method, headers, body)
|
|
74
|
+
* @param commit - Optional commit ranges for selective disclosure
|
|
75
|
+
* @param onStatus - Optional status callback for progress updates
|
|
76
|
+
* @returns Attestation result with proof and verification
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const result = await tlsn.attest({
|
|
81
|
+
* url: 'https://api.example.com/user',
|
|
82
|
+
* method: 'GET',
|
|
83
|
+
* headers: { 'Authorization': 'Bearer token' },
|
|
84
|
+
* }, {
|
|
85
|
+
* // Hide authorization header in the proof
|
|
86
|
+
* sent: [{ start: 0, end: 50 }, { start: 100, end: 200 }],
|
|
87
|
+
* recv: [{ start: 0, end: 500 }],
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
attest(request: AttestRequest, commit?: CommitRanges, onStatus?: StatusCallback): Promise<AttestResult>;
|
|
92
|
+
/**
|
|
93
|
+
* Quick attestation using the helper method
|
|
94
|
+
*
|
|
95
|
+
* Simpler API with less control over the process.
|
|
96
|
+
* Good for straightforward use cases.
|
|
97
|
+
*
|
|
98
|
+
* @param options - Attestation options including request and commit config
|
|
99
|
+
* @returns Attestation result with proof and verification
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* const result = await tlsn.attestQuick({
|
|
104
|
+
* url: 'https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd',
|
|
105
|
+
* });
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
attestQuick(options: AttestOptions): Promise<AttestResult>;
|
|
109
|
+
/**
|
|
110
|
+
* Verify a presentation/proof
|
|
111
|
+
*
|
|
112
|
+
* Can be used to verify proofs from other sources.
|
|
113
|
+
* This operation can be done offline.
|
|
114
|
+
*
|
|
115
|
+
* @param presentationJSON - The presentation to verify
|
|
116
|
+
* @returns Verification result with extracted data
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* // Load a saved proof
|
|
121
|
+
* const savedProof = JSON.parse(localStorage.getItem('proof'));
|
|
122
|
+
* const result = await tlsn.verify(savedProof);
|
|
123
|
+
*
|
|
124
|
+
* console.log('Server:', result.serverName);
|
|
125
|
+
* console.log('Time:', new Date(result.time * 1000));
|
|
126
|
+
* console.log('Response:', result.recv);
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
verify(presentationJSON: PresentationJSON): Promise<VerificationResult>;
|
|
130
|
+
/**
|
|
131
|
+
* Get the transcript from an attestation for inspection
|
|
132
|
+
*
|
|
133
|
+
* Useful for determining commit ranges for selective disclosure.
|
|
134
|
+
*
|
|
135
|
+
* @param request - Request to send (without creating attestation)
|
|
136
|
+
* @returns Transcript with sent and received bytes
|
|
137
|
+
*/
|
|
138
|
+
getTranscript(request: AttestRequest): Promise<TranscriptInfo>;
|
|
139
|
+
/**
|
|
140
|
+
* Cleanup resources
|
|
141
|
+
*
|
|
142
|
+
* Call when done with TLSNotary to release the Web Worker.
|
|
143
|
+
*/
|
|
144
|
+
destroy(): void;
|
|
145
|
+
/**
|
|
146
|
+
* Check if WASM is initialized
|
|
147
|
+
*/
|
|
148
|
+
isInitialized(): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Get current configuration
|
|
151
|
+
*/
|
|
152
|
+
getConfig(): TLSNotaryConfig;
|
|
153
|
+
/**
|
|
154
|
+
* Update configuration
|
|
155
|
+
*
|
|
156
|
+
* Note: Changes take effect on next attestation.
|
|
157
|
+
* If changing notary URL, you may want to re-initialize.
|
|
158
|
+
*/
|
|
159
|
+
updateConfig(config: Partial<TLSNotaryConfig>): void;
|
|
160
|
+
}
|
|
161
|
+
export default TLSNotary;
|
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* TLSNotary - Browser-based HTTPS Attestation
|
|
4
|
+
*
|
|
5
|
+
* This module provides TLSNotary attestation capabilities for the Demos SDK.
|
|
6
|
+
* It runs the TLSNotary Prover in a Web Worker using WASM, communicates with
|
|
7
|
+
* a Notary server, and produces cryptographic proofs of HTTPS requests.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: This module is browser-only. It requires Web Workers and WASM support.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { TLSNotary } from '@kynesyslabs/demosdk/tlsnotary';
|
|
14
|
+
*
|
|
15
|
+
* // Option 1: Explicit configuration
|
|
16
|
+
* const tlsn = new TLSNotary({
|
|
17
|
+
* notaryUrl: 'wss://node.demos.sh:7047',
|
|
18
|
+
* websocketProxyUrl: 'wss://node.demos.sh:55688',
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Option 2: Discovery via Demos instance (preferred)
|
|
22
|
+
* const demos = new Demos({ rpc: 'https://node.demos.sh' });
|
|
23
|
+
* const tlsn = await demos.tlsnotary();
|
|
24
|
+
*
|
|
25
|
+
* await tlsn.initialize();
|
|
26
|
+
*
|
|
27
|
+
* const result = await tlsn.attest({
|
|
28
|
+
* url: 'https://api.github.com/users/octocat',
|
|
29
|
+
* headers: { 'User-Agent': 'DemosSDK' },
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* console.log('Verified server:', result.verification.serverName);
|
|
33
|
+
* console.log('Response:', result.verification.recv);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
37
|
+
if (k2 === undefined) k2 = k;
|
|
38
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
39
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
40
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
41
|
+
}
|
|
42
|
+
Object.defineProperty(o, k2, desc);
|
|
43
|
+
}) : (function(o, m, k, k2) {
|
|
44
|
+
if (k2 === undefined) k2 = k;
|
|
45
|
+
o[k2] = m[k];
|
|
46
|
+
}));
|
|
47
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
48
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
49
|
+
}) : function(o, v) {
|
|
50
|
+
o["default"] = v;
|
|
51
|
+
});
|
|
52
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
53
|
+
var ownKeys = function(o) {
|
|
54
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
55
|
+
var ar = [];
|
|
56
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
57
|
+
return ar;
|
|
58
|
+
};
|
|
59
|
+
return ownKeys(o);
|
|
60
|
+
};
|
|
61
|
+
return function (mod) {
|
|
62
|
+
if (mod && mod.__esModule) return mod;
|
|
63
|
+
var result = {};
|
|
64
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
65
|
+
__setModuleDefault(result, mod);
|
|
66
|
+
return result;
|
|
67
|
+
};
|
|
68
|
+
})();
|
|
69
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
70
|
+
exports.TLSNotary = void 0;
|
|
71
|
+
const Comlink = __importStar(require("comlink"));
|
|
72
|
+
const tlsn_js_1 = require("tlsn-js");
|
|
73
|
+
/**
|
|
74
|
+
* TLSNotary class for browser-based HTTPS attestation
|
|
75
|
+
*
|
|
76
|
+
* This class handles:
|
|
77
|
+
* - Running the Prover (MPC-TLS client) in the browser via WASM
|
|
78
|
+
* - Communicating with the Demos Node's Notary server
|
|
79
|
+
* - Attesting HTTPS requests with cryptographic proofs
|
|
80
|
+
* - Verifying attestations offline
|
|
81
|
+
*/
|
|
82
|
+
class TLSNotary {
|
|
83
|
+
/**
|
|
84
|
+
* Create a new TLSNotary instance
|
|
85
|
+
*
|
|
86
|
+
* @param config - Configuration with notary and proxy URLs
|
|
87
|
+
*/
|
|
88
|
+
constructor(config) {
|
|
89
|
+
this.worker = null;
|
|
90
|
+
// Using any for Comlink wrapper as types are lost across the worker boundary
|
|
91
|
+
this.wasm = null;
|
|
92
|
+
this.initialized = false;
|
|
93
|
+
this.initializingPromise = null;
|
|
94
|
+
this.config = {
|
|
95
|
+
loggingLevel: "Info",
|
|
96
|
+
...config,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Initialize the WASM module
|
|
101
|
+
*
|
|
102
|
+
* Must be called before any attestation operations.
|
|
103
|
+
* Only needs to be called once per page load.
|
|
104
|
+
*
|
|
105
|
+
* @throws Error if WASM initialization fails
|
|
106
|
+
*/
|
|
107
|
+
async initialize() {
|
|
108
|
+
if (this.initialized)
|
|
109
|
+
return;
|
|
110
|
+
if (this.initializingPromise)
|
|
111
|
+
return this.initializingPromise;
|
|
112
|
+
this.initializingPromise = (async () => {
|
|
113
|
+
try {
|
|
114
|
+
// Create Web Worker for WASM operations
|
|
115
|
+
// Note: This requires a bundler that supports worker URLs (webpack, vite, etc.)
|
|
116
|
+
// @ts-expect-error - import.meta.url is browser-only and requires ESNext module
|
|
117
|
+
this.worker = new Worker(new URL("./worker.ts", import.meta.url), {
|
|
118
|
+
type: "module",
|
|
119
|
+
});
|
|
120
|
+
this.wasm = Comlink.wrap(this.worker);
|
|
121
|
+
// Initialize WASM with logging level
|
|
122
|
+
await this.wasm.init({ loggingLevel: this.config.loggingLevel });
|
|
123
|
+
this.initialized = true;
|
|
124
|
+
}
|
|
125
|
+
catch (e) {
|
|
126
|
+
// Clean up partially created resources
|
|
127
|
+
if (this.worker) {
|
|
128
|
+
this.worker.terminate();
|
|
129
|
+
this.worker = null;
|
|
130
|
+
}
|
|
131
|
+
this.wasm = null;
|
|
132
|
+
this.initialized = false;
|
|
133
|
+
// Reset promise to allow retries on failure
|
|
134
|
+
this.initializingPromise = null;
|
|
135
|
+
throw e;
|
|
136
|
+
}
|
|
137
|
+
})();
|
|
138
|
+
return this.initializingPromise;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Attest an HTTPS request using the step-by-step method
|
|
142
|
+
*
|
|
143
|
+
* This provides full control over the attestation process including
|
|
144
|
+
* custom commit ranges for selective disclosure.
|
|
145
|
+
*
|
|
146
|
+
* @param request - Request configuration (URL, method, headers, body)
|
|
147
|
+
* @param commit - Optional commit ranges for selective disclosure
|
|
148
|
+
* @param onStatus - Optional status callback for progress updates
|
|
149
|
+
* @returns Attestation result with proof and verification
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* const result = await tlsn.attest({
|
|
154
|
+
* url: 'https://api.example.com/user',
|
|
155
|
+
* method: 'GET',
|
|
156
|
+
* headers: { 'Authorization': 'Bearer token' },
|
|
157
|
+
* }, {
|
|
158
|
+
* // Hide authorization header in the proof
|
|
159
|
+
* sent: [{ start: 0, end: 50 }, { start: 100, end: 200 }],
|
|
160
|
+
* recv: [{ start: 0, end: 500 }],
|
|
161
|
+
* });
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
async attest(request, commit, onStatus) {
|
|
165
|
+
if (!this.initialized || !this.wasm) {
|
|
166
|
+
throw new Error("TLSNotary not initialized. Call initialize() first.");
|
|
167
|
+
}
|
|
168
|
+
const status = onStatus || (() => { });
|
|
169
|
+
// Extract server DNS from URL
|
|
170
|
+
const url = new URL(request.url);
|
|
171
|
+
const serverDns = url.hostname;
|
|
172
|
+
// Step 1: Connect to Notary
|
|
173
|
+
status("Connecting to Notary server...");
|
|
174
|
+
const notary = tlsn_js_1.NotaryServer.from(this.config.notaryUrl);
|
|
175
|
+
// Step 2: Create Prover
|
|
176
|
+
status("Creating Prover instance...");
|
|
177
|
+
const prover = (await new this.wasm.Prover({
|
|
178
|
+
serverDns,
|
|
179
|
+
maxSentData: request.maxSentData || 16384,
|
|
180
|
+
maxRecvData: request.maxRecvData || 16384,
|
|
181
|
+
}));
|
|
182
|
+
let presentation = null;
|
|
183
|
+
try {
|
|
184
|
+
// Step 3: Setup MPC-TLS session
|
|
185
|
+
status("Setting up MPC-TLS session...");
|
|
186
|
+
await prover.setup(await notary.sessionUrl());
|
|
187
|
+
// Step 4: Send the HTTPS request
|
|
188
|
+
status(`Sending attested request to ${serverDns}...`);
|
|
189
|
+
const headers = {
|
|
190
|
+
Accept: "application/json",
|
|
191
|
+
...request.headers,
|
|
192
|
+
};
|
|
193
|
+
await prover.sendRequest(this.config.websocketProxyUrl, {
|
|
194
|
+
url: request.url,
|
|
195
|
+
method: (request.method || "GET"),
|
|
196
|
+
headers,
|
|
197
|
+
body: request.body,
|
|
198
|
+
});
|
|
199
|
+
// Step 5: Get transcript
|
|
200
|
+
status("Getting transcript...");
|
|
201
|
+
const transcript = await prover.transcript();
|
|
202
|
+
const { sent, recv } = transcript;
|
|
203
|
+
// Step 6: Create commit ranges (what to reveal)
|
|
204
|
+
status("Creating attestation commitment...");
|
|
205
|
+
const commitRanges = commit || {
|
|
206
|
+
sent: [{ start: 0, end: Math.min(sent.length, 200) }],
|
|
207
|
+
recv: [{ start: 0, end: Math.min(recv.length, 300) }],
|
|
208
|
+
};
|
|
209
|
+
// Step 7: Notarize
|
|
210
|
+
status("Generating attestation (this may take a moment)...");
|
|
211
|
+
const notarizationOutputs = await prover.notarize(commitRanges);
|
|
212
|
+
// Step 8: Create presentation
|
|
213
|
+
status("Creating presentation...");
|
|
214
|
+
presentation = (await new this.wasm.Presentation({
|
|
215
|
+
attestationHex: notarizationOutputs.attestation,
|
|
216
|
+
secretsHex: notarizationOutputs.secrets,
|
|
217
|
+
notaryUrl: notarizationOutputs.notaryUrl,
|
|
218
|
+
websocketProxyUrl: notarizationOutputs.websocketProxyUrl,
|
|
219
|
+
reveal: { ...commitRanges, server_identity: true },
|
|
220
|
+
}));
|
|
221
|
+
const presentationJSON = await presentation.json();
|
|
222
|
+
// Step 9: Verify the presentation
|
|
223
|
+
status("Verifying attestation...");
|
|
224
|
+
const verification = await this.verify(presentationJSON);
|
|
225
|
+
status("Attestation complete!");
|
|
226
|
+
return {
|
|
227
|
+
presentation: presentationJSON,
|
|
228
|
+
verification,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
// Free WASM memory to prevent leaks
|
|
233
|
+
if (presentation) {
|
|
234
|
+
await presentation.free();
|
|
235
|
+
}
|
|
236
|
+
if (prover) {
|
|
237
|
+
await prover.free();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Quick attestation using the helper method
|
|
243
|
+
*
|
|
244
|
+
* Simpler API with less control over the process.
|
|
245
|
+
* Good for straightforward use cases.
|
|
246
|
+
*
|
|
247
|
+
* @param options - Attestation options including request and commit config
|
|
248
|
+
* @returns Attestation result with proof and verification
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* ```typescript
|
|
252
|
+
* const result = await tlsn.attestQuick({
|
|
253
|
+
* url: 'https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd',
|
|
254
|
+
* });
|
|
255
|
+
* ```
|
|
256
|
+
*/
|
|
257
|
+
async attestQuick(options) {
|
|
258
|
+
if (!this.initialized || !this.wasm) {
|
|
259
|
+
throw new Error("TLSNotary not initialized. Call initialize() first.");
|
|
260
|
+
}
|
|
261
|
+
const { onStatus, commit, ...request } = options;
|
|
262
|
+
const status = onStatus || (() => { });
|
|
263
|
+
status("Running quick attestation...");
|
|
264
|
+
const presentationJSON = await this.wasm.Prover.notarize({
|
|
265
|
+
notaryUrl: this.config.notaryUrl,
|
|
266
|
+
websocketProxyUrl: this.config.websocketProxyUrl,
|
|
267
|
+
maxSentData: request.maxSentData || 16384,
|
|
268
|
+
maxRecvData: request.maxRecvData || 16384,
|
|
269
|
+
url: request.url,
|
|
270
|
+
method: (request.method || "GET"),
|
|
271
|
+
headers: {
|
|
272
|
+
Accept: "application/json",
|
|
273
|
+
...request.headers,
|
|
274
|
+
},
|
|
275
|
+
body: request.body,
|
|
276
|
+
commit: commit || {
|
|
277
|
+
sent: [{ start: 0, end: 100 }],
|
|
278
|
+
recv: [{ start: 0, end: 200 }],
|
|
279
|
+
},
|
|
280
|
+
serverIdentity: true,
|
|
281
|
+
});
|
|
282
|
+
status("Verifying attestation...");
|
|
283
|
+
const verification = await this.verify(presentationJSON);
|
|
284
|
+
status("Quick attestation complete!");
|
|
285
|
+
return {
|
|
286
|
+
presentation: presentationJSON,
|
|
287
|
+
verification,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Verify a presentation/proof
|
|
292
|
+
*
|
|
293
|
+
* Can be used to verify proofs from other sources.
|
|
294
|
+
* This operation can be done offline.
|
|
295
|
+
*
|
|
296
|
+
* @param presentationJSON - The presentation to verify
|
|
297
|
+
* @returns Verification result with extracted data
|
|
298
|
+
*
|
|
299
|
+
* @example
|
|
300
|
+
* ```typescript
|
|
301
|
+
* // Load a saved proof
|
|
302
|
+
* const savedProof = JSON.parse(localStorage.getItem('proof'));
|
|
303
|
+
* const result = await tlsn.verify(savedProof);
|
|
304
|
+
*
|
|
305
|
+
* console.log('Server:', result.serverName);
|
|
306
|
+
* console.log('Time:', new Date(result.time * 1000));
|
|
307
|
+
* console.log('Response:', result.recv);
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
async verify(presentationJSON) {
|
|
311
|
+
if (!this.initialized || !this.wasm) {
|
|
312
|
+
throw new Error("TLSNotary not initialized. Call initialize() first.");
|
|
313
|
+
}
|
|
314
|
+
const proof = (await new this.wasm.Presentation(presentationJSON.data));
|
|
315
|
+
try {
|
|
316
|
+
const verifierOutput = await proof.verify();
|
|
317
|
+
const transcript = new tlsn_js_1.Transcript({
|
|
318
|
+
sent: verifierOutput.transcript?.sent || [],
|
|
319
|
+
recv: verifierOutput.transcript?.recv || [],
|
|
320
|
+
});
|
|
321
|
+
const vk = await proof.verifyingKey();
|
|
322
|
+
// Try to get notary key if available
|
|
323
|
+
let notaryKey = "N/A";
|
|
324
|
+
try {
|
|
325
|
+
if (this.config.notaryPublicKey) {
|
|
326
|
+
notaryKey = this.config.notaryPublicKey;
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
const notary = tlsn_js_1.NotaryServer.from(this.config.notaryUrl);
|
|
330
|
+
notaryKey = await notary.publicKey("hex");
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
catch (error) {
|
|
334
|
+
// Notary might not be running for offline verification
|
|
335
|
+
console.warn("[TLSNotary] Could not fetch notary public key:", error instanceof Error ? error.message : error);
|
|
336
|
+
}
|
|
337
|
+
return {
|
|
338
|
+
time: verifierOutput.connection_info.time,
|
|
339
|
+
serverName: verifierOutput.server_name,
|
|
340
|
+
sent: transcript.sent(),
|
|
341
|
+
recv: transcript.recv(),
|
|
342
|
+
notaryKey,
|
|
343
|
+
verifyingKey: Buffer.from(vk.data).toString("hex"),
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
finally {
|
|
347
|
+
// Free WASM memory to prevent leaks
|
|
348
|
+
if (proof) {
|
|
349
|
+
await proof.free();
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Get the transcript from an attestation for inspection
|
|
355
|
+
*
|
|
356
|
+
* Useful for determining commit ranges for selective disclosure.
|
|
357
|
+
*
|
|
358
|
+
* @param request - Request to send (without creating attestation)
|
|
359
|
+
* @returns Transcript with sent and received bytes
|
|
360
|
+
*/
|
|
361
|
+
async getTranscript(request) {
|
|
362
|
+
if (!this.initialized || !this.wasm) {
|
|
363
|
+
throw new Error("TLSNotary not initialized. Call initialize() first.");
|
|
364
|
+
}
|
|
365
|
+
const url = new URL(request.url);
|
|
366
|
+
const serverDns = url.hostname;
|
|
367
|
+
const notary = tlsn_js_1.NotaryServer.from(this.config.notaryUrl);
|
|
368
|
+
const prover = (await new this.wasm.Prover({
|
|
369
|
+
serverDns,
|
|
370
|
+
maxSentData: request.maxSentData || 16384,
|
|
371
|
+
maxRecvData: request.maxRecvData || 16384,
|
|
372
|
+
}));
|
|
373
|
+
try {
|
|
374
|
+
await prover.setup(await notary.sessionUrl());
|
|
375
|
+
await prover.sendRequest(this.config.websocketProxyUrl, {
|
|
376
|
+
url: request.url,
|
|
377
|
+
method: (request.method || "GET"),
|
|
378
|
+
headers: {
|
|
379
|
+
Accept: "application/json",
|
|
380
|
+
...request.headers,
|
|
381
|
+
},
|
|
382
|
+
body: request.body,
|
|
383
|
+
});
|
|
384
|
+
const transcript = await prover.transcript();
|
|
385
|
+
return {
|
|
386
|
+
sent: transcript.sent,
|
|
387
|
+
recv: transcript.recv,
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
finally {
|
|
391
|
+
// Free WASM memory to prevent leaks
|
|
392
|
+
if (prover) {
|
|
393
|
+
await prover.free();
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Cleanup resources
|
|
399
|
+
*
|
|
400
|
+
* Call when done with TLSNotary to release the Web Worker.
|
|
401
|
+
*/
|
|
402
|
+
destroy() {
|
|
403
|
+
if (this.worker) {
|
|
404
|
+
this.worker.terminate();
|
|
405
|
+
this.worker = null;
|
|
406
|
+
}
|
|
407
|
+
this.wasm = null;
|
|
408
|
+
this.initialized = false;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Check if WASM is initialized
|
|
412
|
+
*/
|
|
413
|
+
isInitialized() {
|
|
414
|
+
return this.initialized;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Get current configuration
|
|
418
|
+
*/
|
|
419
|
+
getConfig() {
|
|
420
|
+
return { ...this.config };
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Update configuration
|
|
424
|
+
*
|
|
425
|
+
* Note: Changes take effect on next attestation.
|
|
426
|
+
* If changing notary URL, you may want to re-initialize.
|
|
427
|
+
*/
|
|
428
|
+
updateConfig(config) {
|
|
429
|
+
this.config = { ...this.config, ...config };
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
exports.TLSNotary = TLSNotary;
|
|
433
|
+
exports.default = TLSNotary;
|
|
434
|
+
//# sourceMappingURL=TLSNotary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TLSNotary.js","sourceRoot":"","sources":["../../../src/tlsnotary/TLSNotary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TLSNotary SDK Module
|
|
3
|
+
*
|
|
4
|
+
* Browser-based HTTPS attestation using MPC-TLS.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module tlsnotary
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { TLSNotary } from '@kynesyslabs/demosdk/tlsnotary';
|
|
12
|
+
*
|
|
13
|
+
* const tlsn = new TLSNotary({
|
|
14
|
+
* notaryUrl: 'wss://node.demos.sh:7047',
|
|
15
|
+
* websocketProxyUrl: 'wss://node.demos.sh:55688',
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* await tlsn.initialize();
|
|
19
|
+
*
|
|
20
|
+
* const result = await tlsn.attest({
|
|
21
|
+
* url: 'https://api.github.com/users/octocat',
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* console.log('Verified:', result.verification.serverName);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export { TLSNotary } from "./TLSNotary";
|
|
28
|
+
export type { TLSNotaryConfig, TLSNotaryDiscoveryInfo, AttestRequest, AttestResult, AttestOptions, CommitRanges, Range, PresentationJSON, VerificationResult, TranscriptInfo, StatusCallback, } from "./types";
|
|
29
|
+
export { default } from "./TLSNotary";
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* TLSNotary SDK Module
|
|
4
|
+
*
|
|
5
|
+
* Browser-based HTTPS attestation using MPC-TLS.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
* @module tlsnotary
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { TLSNotary } from '@kynesyslabs/demosdk/tlsnotary';
|
|
13
|
+
*
|
|
14
|
+
* const tlsn = new TLSNotary({
|
|
15
|
+
* notaryUrl: 'wss://node.demos.sh:7047',
|
|
16
|
+
* websocketProxyUrl: 'wss://node.demos.sh:55688',
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* await tlsn.initialize();
|
|
20
|
+
*
|
|
21
|
+
* const result = await tlsn.attest({
|
|
22
|
+
* url: 'https://api.github.com/users/octocat',
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* console.log('Verified:', result.verification.serverName);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
+
exports.default = exports.TLSNotary = void 0;
|
|
33
|
+
var TLSNotary_1 = require("./TLSNotary");
|
|
34
|
+
Object.defineProperty(exports, "TLSNotary", { enumerable: true, get: function () { return TLSNotary_1.TLSNotary; } });
|
|
35
|
+
// Re-export default
|
|
36
|
+
var TLSNotary_2 = require("./TLSNotary");
|
|
37
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(TLSNotary_2).default; } });
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tlsnotary/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;;;;AAEH,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAelB,oBAAoB;AACpB,yCAAqC;AAA5B,qHAAA,OAAO,OAAA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TLSNotary Types
|
|
3
|
+
*
|
|
4
|
+
* TypeScript interfaces for the TLSNotary SDK module.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for TLSNotary instance
|
|
8
|
+
*/
|
|
9
|
+
export interface TLSNotaryConfig {
|
|
10
|
+
/** Notary server URL (e.g., 'wss://node.demos.sh:7047') */
|
|
11
|
+
notaryUrl: string;
|
|
12
|
+
/** WebSocket proxy URL for TCP tunneling (e.g., 'wss://node.demos.sh:55688') */
|
|
13
|
+
websocketProxyUrl: string;
|
|
14
|
+
/** Notary's public key (hex string) for verification */
|
|
15
|
+
notaryPublicKey?: string;
|
|
16
|
+
/** Logging level: 'Debug' | 'Info' | 'Warn' | 'Error' */
|
|
17
|
+
loggingLevel?: "Debug" | "Info" | "Warn" | "Error";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Discovery response from node's nodeCall
|
|
21
|
+
*/
|
|
22
|
+
export interface TLSNotaryDiscoveryInfo {
|
|
23
|
+
/** Notary WebSocket URL */
|
|
24
|
+
notaryUrl: string;
|
|
25
|
+
/** WebSocket proxy URL */
|
|
26
|
+
proxyUrl: string;
|
|
27
|
+
/** Notary's public key (hex) */
|
|
28
|
+
publicKey: string;
|
|
29
|
+
/** TLSNotary version */
|
|
30
|
+
version: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Request configuration for attestation
|
|
34
|
+
*/
|
|
35
|
+
export interface AttestRequest {
|
|
36
|
+
/** Target HTTPS URL to attest */
|
|
37
|
+
url: string;
|
|
38
|
+
/** HTTP method (default: 'GET') */
|
|
39
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
|
|
40
|
+
/** Request headers */
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
/** Request body (for POST/PUT/PATCH) */
|
|
43
|
+
body?: string | object;
|
|
44
|
+
/** Max bytes to send (default: 16384) */
|
|
45
|
+
maxSentData?: number;
|
|
46
|
+
/** Max bytes to receive (default: 16384) */
|
|
47
|
+
maxRecvData?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Byte range for selective disclosure
|
|
51
|
+
*/
|
|
52
|
+
export interface Range {
|
|
53
|
+
/** Start byte offset (inclusive) */
|
|
54
|
+
start: number;
|
|
55
|
+
/** End byte offset (exclusive) */
|
|
56
|
+
end: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Commit ranges for selective disclosure
|
|
60
|
+
*/
|
|
61
|
+
export interface CommitRanges {
|
|
62
|
+
/** Byte ranges of sent data to reveal */
|
|
63
|
+
sent: Range[];
|
|
64
|
+
/** Byte ranges of received data to reveal */
|
|
65
|
+
recv: Range[];
|
|
66
|
+
}
|
|
67
|
+
import type { PresentationJSON } from "tlsn-js/build/types";
|
|
68
|
+
export type { PresentationJSON };
|
|
69
|
+
/**
|
|
70
|
+
* Transcript information from the TLS session
|
|
71
|
+
*/
|
|
72
|
+
export interface TranscriptInfo {
|
|
73
|
+
/** Raw bytes sent (as number array from WASM) */
|
|
74
|
+
sent: number[];
|
|
75
|
+
/** Raw bytes received (as number array from WASM) */
|
|
76
|
+
recv: number[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Result of attestation verification
|
|
80
|
+
*/
|
|
81
|
+
export interface VerificationResult {
|
|
82
|
+
/** Unix timestamp of the TLS session */
|
|
83
|
+
time: number;
|
|
84
|
+
/** Verified server name (e.g., 'api.github.com') */
|
|
85
|
+
serverName: string;
|
|
86
|
+
/** Revealed sent data as string */
|
|
87
|
+
sent: string;
|
|
88
|
+
/** Revealed received data as string */
|
|
89
|
+
recv: string;
|
|
90
|
+
/** Notary's public key (hex) */
|
|
91
|
+
notaryKey: string;
|
|
92
|
+
/** Verifying key from the proof (hex) */
|
|
93
|
+
verifyingKey: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Complete attestation result
|
|
97
|
+
*/
|
|
98
|
+
export interface AttestResult {
|
|
99
|
+
/** Presentation JSON (the proof) */
|
|
100
|
+
presentation: PresentationJSON;
|
|
101
|
+
/** Verification result */
|
|
102
|
+
verification: VerificationResult;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Status callback for progress updates during attestation
|
|
106
|
+
*/
|
|
107
|
+
export type StatusCallback = (status: string) => void;
|
|
108
|
+
/**
|
|
109
|
+
* Options for attestation with additional controls
|
|
110
|
+
*/
|
|
111
|
+
export interface AttestOptions extends AttestRequest {
|
|
112
|
+
/** Custom commit ranges for selective disclosure */
|
|
113
|
+
commit?: CommitRanges;
|
|
114
|
+
/** Status callback for progress updates */
|
|
115
|
+
onStatus?: StatusCallback;
|
|
116
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tlsnotary/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import init, { Prover, Presentation } from "tlsn-js";
|
|
2
|
+
/**
|
|
3
|
+
* Worker API exposed via Comlink
|
|
4
|
+
*/
|
|
5
|
+
declare const workerApi: {
|
|
6
|
+
/**
|
|
7
|
+
* Initialize the WASM module
|
|
8
|
+
*/
|
|
9
|
+
init: typeof init;
|
|
10
|
+
/**
|
|
11
|
+
* Prover class for creating attestations
|
|
12
|
+
*/
|
|
13
|
+
Prover: typeof Prover;
|
|
14
|
+
/**
|
|
15
|
+
* Presentation class for verifying attestations
|
|
16
|
+
*/
|
|
17
|
+
Presentation: typeof Presentation;
|
|
18
|
+
};
|
|
19
|
+
export type WorkerApi = typeof workerApi;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
/**
|
|
37
|
+
* TLSNotary Web Worker
|
|
38
|
+
*
|
|
39
|
+
* Runs TLSNotary WASM operations in a separate thread to avoid blocking the main thread.
|
|
40
|
+
* Uses Comlink for seamless RPC between main thread and worker.
|
|
41
|
+
*/
|
|
42
|
+
const Comlink = __importStar(require("comlink"));
|
|
43
|
+
const tlsn_js_1 = __importStar(require("tlsn-js"));
|
|
44
|
+
/**
|
|
45
|
+
* Worker API exposed via Comlink
|
|
46
|
+
*/
|
|
47
|
+
const workerApi = {
|
|
48
|
+
/**
|
|
49
|
+
* Initialize the WASM module
|
|
50
|
+
*/
|
|
51
|
+
init: tlsn_js_1.default,
|
|
52
|
+
/**
|
|
53
|
+
* Prover class for creating attestations
|
|
54
|
+
*/
|
|
55
|
+
Prover: tlsn_js_1.Prover,
|
|
56
|
+
/**
|
|
57
|
+
* Presentation class for verifying attestations
|
|
58
|
+
*/
|
|
59
|
+
Presentation: tlsn_js_1.Presentation,
|
|
60
|
+
};
|
|
61
|
+
// Expose the API via Comlink
|
|
62
|
+
Comlink.expose(workerApi);
|
|
63
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/tlsnotary/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,iDAAkC;AAClC,mDAAoD;AAEpD;;GAEG;AACH,MAAM,SAAS,GAAG;IACd;;OAEG;IACH,IAAI,EAAJ,iBAAI;IAEJ;;OAEG;IACH,MAAM,EAAN,gBAAM;IAEN;;OAEG;IACH,YAAY,EAAZ,sBAAY;CACf,CAAA;AAED,6BAA6B;AAC7B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA"}
|
|
@@ -8,6 +8,7 @@ import { IKeyPair } from "./types/KeyPair";
|
|
|
8
8
|
import { UnifiedCrypto } from "../encryption/unifiedCrypto";
|
|
9
9
|
import { TweetSimplified } from "../types";
|
|
10
10
|
import { GetDiscordMessageResult } from "../types/web2/discord";
|
|
11
|
+
import { TLSNotary, type TLSNotaryConfig } from "../tlsnotary";
|
|
11
12
|
/**
|
|
12
13
|
* This class provides methods to interact with the DEMOS blockchain.
|
|
13
14
|
*/
|
|
@@ -17,6 +18,8 @@ export declare class Demos {
|
|
|
17
18
|
private static _instance;
|
|
18
19
|
/** The RPC URL of the demos node */
|
|
19
20
|
private rpc_url;
|
|
21
|
+
/** Cached TLSNotary instance */
|
|
22
|
+
private _tlsnotaryInstance;
|
|
20
23
|
/** Connection status of the RPC URL */
|
|
21
24
|
connected: boolean;
|
|
22
25
|
dual_sign: boolean;
|
|
@@ -266,6 +269,36 @@ export declare class Demos {
|
|
|
266
269
|
* Disconnects from the RPC URL and the wallet.
|
|
267
270
|
*/
|
|
268
271
|
disconnect(): void;
|
|
272
|
+
/**
|
|
273
|
+
* Create a TLSNotary instance for HTTPS attestation.
|
|
274
|
+
*
|
|
275
|
+
* This method discovers the notary endpoints from the connected node
|
|
276
|
+
* and returns an initialized TLSNotary instance.
|
|
277
|
+
*
|
|
278
|
+
* @param config - Optional explicit configuration (overrides discovery)
|
|
279
|
+
* @returns Initialized TLSNotary instance
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* ```typescript
|
|
283
|
+
* // Option 1: Auto-discovery from connected node (preferred)
|
|
284
|
+
* const demos = new Demos({ rpc: 'https://node.demos.sh' });
|
|
285
|
+
* await demos.connect();
|
|
286
|
+
* const tlsn = await demos.tlsnotary();
|
|
287
|
+
*
|
|
288
|
+
* // Option 2: Explicit configuration
|
|
289
|
+
* const tlsn = await demos.tlsnotary({
|
|
290
|
+
* notaryUrl: 'wss://other-node.demos.sh:7047',
|
|
291
|
+
* websocketProxyUrl: 'wss://other-node.demos.sh:55688',
|
|
292
|
+
* });
|
|
293
|
+
*
|
|
294
|
+
* // Attest an HTTPS request
|
|
295
|
+
* const result = await tlsn.attest({
|
|
296
|
+
* url: 'https://api.github.com/users/octocat',
|
|
297
|
+
* });
|
|
298
|
+
* console.log('Verified server:', result.verification.serverName);
|
|
299
|
+
* ```
|
|
300
|
+
*/
|
|
301
|
+
tlsnotary(config?: TLSNotaryConfig): Promise<TLSNotary>;
|
|
269
302
|
web2: {
|
|
270
303
|
createDahr: () => Promise<import("./Web2Calls").Web2Proxy>;
|
|
271
304
|
getTweet: (tweetUrl: string) => Promise<{
|
|
@@ -55,6 +55,7 @@ const GCRGeneration_1 = require("./GCRGeneration");
|
|
|
55
55
|
const Hashing_1 = require("../encryption/Hashing");
|
|
56
56
|
const bip39 = __importStar(require("@scure/bip39"));
|
|
57
57
|
const english_js_1 = require("@scure/bip39/wordlists/english.js");
|
|
58
|
+
const tlsnotary_1 = require("../tlsnotary");
|
|
58
59
|
async function sleep(ms) {
|
|
59
60
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
60
61
|
}
|
|
@@ -89,6 +90,8 @@ class Demos {
|
|
|
89
90
|
this.crypto = null;
|
|
90
91
|
/** The RPC URL of the demos node */
|
|
91
92
|
this.rpc_url = null;
|
|
93
|
+
/** Cached TLSNotary instance */
|
|
94
|
+
this._tlsnotaryInstance = null;
|
|
92
95
|
/** Connection status of the RPC URL */
|
|
93
96
|
this.connected = false;
|
|
94
97
|
this.dual_sign = false;
|
|
@@ -733,6 +736,73 @@ class Demos {
|
|
|
733
736
|
this.crypto = null;
|
|
734
737
|
this.algorithm = "ed25519";
|
|
735
738
|
}
|
|
739
|
+
// ANCHOR TLSNotary
|
|
740
|
+
/**
|
|
741
|
+
* Create a TLSNotary instance for HTTPS attestation.
|
|
742
|
+
*
|
|
743
|
+
* This method discovers the notary endpoints from the connected node
|
|
744
|
+
* and returns an initialized TLSNotary instance.
|
|
745
|
+
*
|
|
746
|
+
* @param config - Optional explicit configuration (overrides discovery)
|
|
747
|
+
* @returns Initialized TLSNotary instance
|
|
748
|
+
*
|
|
749
|
+
* @example
|
|
750
|
+
* ```typescript
|
|
751
|
+
* // Option 1: Auto-discovery from connected node (preferred)
|
|
752
|
+
* const demos = new Demos({ rpc: 'https://node.demos.sh' });
|
|
753
|
+
* await demos.connect();
|
|
754
|
+
* const tlsn = await demos.tlsnotary();
|
|
755
|
+
*
|
|
756
|
+
* // Option 2: Explicit configuration
|
|
757
|
+
* const tlsn = await demos.tlsnotary({
|
|
758
|
+
* notaryUrl: 'wss://other-node.demos.sh:7047',
|
|
759
|
+
* websocketProxyUrl: 'wss://other-node.demos.sh:55688',
|
|
760
|
+
* });
|
|
761
|
+
*
|
|
762
|
+
* // Attest an HTTPS request
|
|
763
|
+
* const result = await tlsn.attest({
|
|
764
|
+
* url: 'https://api.github.com/users/octocat',
|
|
765
|
+
* });
|
|
766
|
+
* console.log('Verified server:', result.verification.serverName);
|
|
767
|
+
* ```
|
|
768
|
+
*/
|
|
769
|
+
async tlsnotary(config) {
|
|
770
|
+
// Return cached instance if available and no explicit config provided
|
|
771
|
+
if (!config && this._tlsnotaryInstance) {
|
|
772
|
+
if (!this._tlsnotaryInstance.isInitialized()) {
|
|
773
|
+
await this._tlsnotaryInstance.initialize();
|
|
774
|
+
}
|
|
775
|
+
return this._tlsnotaryInstance;
|
|
776
|
+
}
|
|
777
|
+
let tlsnConfig;
|
|
778
|
+
if (config) {
|
|
779
|
+
// Use explicit configuration (don't cache explicit configs)
|
|
780
|
+
tlsnConfig = config;
|
|
781
|
+
}
|
|
782
|
+
else {
|
|
783
|
+
// Discover endpoints from node
|
|
784
|
+
if (!this.connected) {
|
|
785
|
+
throw new Error("Not connected to a node. Either connect first or provide explicit TLSNotary config.");
|
|
786
|
+
}
|
|
787
|
+
const info = (await this.nodeCall("tlsnotary.getInfo"));
|
|
788
|
+
if (!info || !info.notaryUrl) {
|
|
789
|
+
throw new Error("Node does not support TLSNotary or tlsnotary.getInfo failed. " +
|
|
790
|
+
"Provide explicit config or use a node with TLSNotary enabled.");
|
|
791
|
+
}
|
|
792
|
+
tlsnConfig = {
|
|
793
|
+
notaryUrl: info.notaryUrl,
|
|
794
|
+
websocketProxyUrl: info.proxyUrl,
|
|
795
|
+
notaryPublicKey: info.publicKey,
|
|
796
|
+
};
|
|
797
|
+
}
|
|
798
|
+
const tlsn = new tlsnotary_1.TLSNotary(tlsnConfig);
|
|
799
|
+
await tlsn.initialize();
|
|
800
|
+
// Cache the instance only when using discovery (no explicit config)
|
|
801
|
+
if (!config) {
|
|
802
|
+
this._tlsnotaryInstance = tlsn;
|
|
803
|
+
}
|
|
804
|
+
return tlsn;
|
|
805
|
+
}
|
|
736
806
|
}
|
|
737
807
|
exports.Demos = Demos;
|
|
738
808
|
Demos._instance = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demosclass.js","sourceRoot":"","sources":["../../../src/websdk/demosclass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"demosclass.js","sourceRoot":"","sources":["../../../src/websdk/demosclass.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kynesyslabs/demosdk",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.2",
|
|
4
4
|
"description": "Demosdk is a JavaScript/TypeScript SDK that provides a unified interface for interacting with Demos network",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"./d402": "./build/d402/index.js",
|
|
39
39
|
"./d402/server": "./build/d402/server/index.js",
|
|
40
40
|
"./d402/client": "./build/d402/client/index.js",
|
|
41
|
-
"./keyserver": "./build/keyserver/index.js"
|
|
41
|
+
"./keyserver": "./build/keyserver/index.js",
|
|
42
|
+
"./tlsnotary": "./build/tlsnotary/index.js"
|
|
42
43
|
},
|
|
43
44
|
"scripts": {
|
|
44
45
|
"postinstall": "cp .github/hooks/pre-commit .git/hooks/pre-commit 2>/dev/null && chmod +x .git/hooks/pre-commit 2>/dev/null || true",
|
|
@@ -127,7 +128,9 @@
|
|
|
127
128
|
"superdilithium": "^2.0.6",
|
|
128
129
|
"tronweb": "^6.0.0",
|
|
129
130
|
"web3": "^4.16.0",
|
|
130
|
-
"xrpl": "^3.1.0"
|
|
131
|
+
"xrpl": "^3.1.0",
|
|
132
|
+
"tlsn-js": "0.1.0-alpha.12.0",
|
|
133
|
+
"comlink": "^4.4.2"
|
|
131
134
|
},
|
|
132
135
|
"devDependencies": {
|
|
133
136
|
"@orbs-network/ton-access": "^2.3.3",
|