@fluxpointstudios/orynq-sdk-midnight-prover 0.1.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.
Files changed (82) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +78 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +89 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/linking/cardano-anchor-link.d.ts +250 -0
  7. package/dist/linking/cardano-anchor-link.d.ts.map +1 -0
  8. package/dist/linking/cardano-anchor-link.js +447 -0
  9. package/dist/linking/cardano-anchor-link.js.map +1 -0
  10. package/dist/linking/index.d.ts +33 -0
  11. package/dist/linking/index.d.ts.map +1 -0
  12. package/dist/linking/index.js +31 -0
  13. package/dist/linking/index.js.map +1 -0
  14. package/dist/linking/proof-publication.d.ts +217 -0
  15. package/dist/linking/proof-publication.d.ts.map +1 -0
  16. package/dist/linking/proof-publication.js +385 -0
  17. package/dist/linking/proof-publication.js.map +1 -0
  18. package/dist/midnight/index.d.ts +30 -0
  19. package/dist/midnight/index.d.ts.map +1 -0
  20. package/dist/midnight/index.js +27 -0
  21. package/dist/midnight/index.js.map +1 -0
  22. package/dist/midnight/proof-server-client.d.ts +236 -0
  23. package/dist/midnight/proof-server-client.d.ts.map +1 -0
  24. package/dist/midnight/proof-server-client.js +422 -0
  25. package/dist/midnight/proof-server-client.js.map +1 -0
  26. package/dist/midnight/public-inputs.d.ts +134 -0
  27. package/dist/midnight/public-inputs.d.ts.map +1 -0
  28. package/dist/midnight/public-inputs.js +338 -0
  29. package/dist/midnight/public-inputs.js.map +1 -0
  30. package/dist/midnight/witness-builder.d.ts +119 -0
  31. package/dist/midnight/witness-builder.d.ts.map +1 -0
  32. package/dist/midnight/witness-builder.js +238 -0
  33. package/dist/midnight/witness-builder.js.map +1 -0
  34. package/dist/proofs/hash-chain-proof.d.ts +171 -0
  35. package/dist/proofs/hash-chain-proof.d.ts.map +1 -0
  36. package/dist/proofs/hash-chain-proof.js +437 -0
  37. package/dist/proofs/hash-chain-proof.js.map +1 -0
  38. package/dist/proofs/index.d.ts +35 -0
  39. package/dist/proofs/index.d.ts.map +1 -0
  40. package/dist/proofs/index.js +34 -0
  41. package/dist/proofs/index.js.map +1 -0
  42. package/dist/proofs/policy-compliance-proof.d.ts +165 -0
  43. package/dist/proofs/policy-compliance-proof.d.ts.map +1 -0
  44. package/dist/proofs/policy-compliance-proof.js +514 -0
  45. package/dist/proofs/policy-compliance-proof.js.map +1 -0
  46. package/dist/proofs/selective-disclosure.d.ts +213 -0
  47. package/dist/proofs/selective-disclosure.d.ts.map +1 -0
  48. package/dist/proofs/selective-disclosure.js +629 -0
  49. package/dist/proofs/selective-disclosure.js.map +1 -0
  50. package/dist/prover-interface.d.ts +288 -0
  51. package/dist/prover-interface.d.ts.map +1 -0
  52. package/dist/prover-interface.js +114 -0
  53. package/dist/prover-interface.js.map +1 -0
  54. package/dist/prover.d.ts +163 -0
  55. package/dist/prover.d.ts.map +1 -0
  56. package/dist/prover.js +417 -0
  57. package/dist/prover.js.map +1 -0
  58. package/dist/types.d.ts +410 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +128 -0
  61. package/dist/types.js.map +1 -0
  62. package/package.json +59 -0
  63. package/src/__tests__/hash-chain-proof.test.ts +709 -0
  64. package/src/__tests__/midnight-prover.test.ts +716 -0
  65. package/src/__tests__/policy-compliance.test.ts +567 -0
  66. package/src/__tests__/proof-publication.test.ts +644 -0
  67. package/src/__tests__/selective-disclosure.test.ts +921 -0
  68. package/src/index.ts +260 -0
  69. package/src/linking/cardano-anchor-link.ts +682 -0
  70. package/src/linking/index.ts +58 -0
  71. package/src/linking/proof-publication.ts +557 -0
  72. package/src/midnight/index.ts +73 -0
  73. package/src/midnight/proof-server-client.ts +595 -0
  74. package/src/midnight/public-inputs.ts +590 -0
  75. package/src/midnight/witness-builder.ts +341 -0
  76. package/src/proofs/hash-chain-proof.ts +610 -0
  77. package/src/proofs/index.ts +77 -0
  78. package/src/proofs/policy-compliance-proof.ts +717 -0
  79. package/src/proofs/selective-disclosure.ts +839 -0
  80. package/src/prover-interface.ts +410 -0
  81. package/src/prover.ts +537 -0
  82. package/src/types.ts +551 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-compliance-proof.js","sourceRoot":"","sources":["../../src/proofs/policy-compliance-proof.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * @fileoverview Selective disclosure proof generation and verification.
3
+ *
4
+ * Location: packages/midnight-prover/src/proofs/selective-disclosure.ts
5
+ *
6
+ * Summary:
7
+ * This module implements the SelectiveDisclosureProver class which generates ZK proofs
8
+ * demonstrating that a specific span exists in a trace bundle without revealing other
9
+ * spans. It uses Merkle proofs for inclusion verification and supports optional
10
+ * disclosure of the span and event data.
11
+ *
12
+ * Usage:
13
+ * - Used by the MidnightProver to generate selective disclosure proofs
14
+ * - Integrates with process-trace Merkle tree utilities
15
+ * - Binds proofs to Cardano anchor transactions for cross-chain verification
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { SelectiveDisclosureProver } from './selective-disclosure.js';
20
+ *
21
+ * const prover = new SelectiveDisclosureProver();
22
+ *
23
+ * const proof = await prover.generateProof({
24
+ * bundle: traceBundle,
25
+ * spanId: 'span-123',
26
+ * merkleRoot: traceBundle.merkleRoot,
27
+ * cardanoAnchorTxHash: 'txhash...',
28
+ * });
29
+ *
30
+ * const isValid = await prover.verifyProof(proof);
31
+ * ```
32
+ */
33
+ import type { TraceBundle, TraceSpan, TraceEvent, MerkleProof } from "@fluxpointstudios/orynq-sdk-process-trace";
34
+ import type { DisclosureInput, DisclosureProof } from "../types.js";
35
+ /**
36
+ * Options for the SelectiveDisclosureProver.
37
+ */
38
+ export interface SelectiveDisclosureProverOptions {
39
+ /**
40
+ * Enable debug logging.
41
+ */
42
+ debug?: boolean;
43
+ /**
44
+ * Always include disclosed span data in the proof.
45
+ * Default: true
46
+ */
47
+ includeSpanData?: boolean;
48
+ /**
49
+ * Always include disclosed event data in the proof.
50
+ * Default: true
51
+ */
52
+ includeEventData?: boolean;
53
+ }
54
+ /**
55
+ * Merkle inclusion proof with span details.
56
+ */
57
+ export interface MerkleInclusionResult {
58
+ spanHash: string;
59
+ leafHash: string;
60
+ merkleProof: MerkleProof;
61
+ span: TraceSpan;
62
+ events: TraceEvent[];
63
+ }
64
+ /**
65
+ * Compute the hash for a span including its event hashes.
66
+ *
67
+ * The span hash is computed as:
68
+ * H("poi-trace:span:v1|" + canon(spanHeaderWithoutHash) + "|" + eventHashes joined by "|")
69
+ *
70
+ * @param span - The span to compute hash for
71
+ * @param eventHashes - Array of event hashes in sequence order
72
+ * @returns Promise resolving to the span hash as a hex string
73
+ */
74
+ export declare function computeSpanHash(span: TraceSpan, eventHashes: string[]): Promise<string>;
75
+ /**
76
+ * Compute the leaf hash for a span.
77
+ *
78
+ * The leaf hash is computed as: H("poi-trace:leaf:v1|" + spanHash)
79
+ *
80
+ * @param spanHash - The span hash
81
+ * @returns Promise resolving to the leaf hash
82
+ */
83
+ export declare function computeLeafHash(spanHash: string): Promise<string>;
84
+ /**
85
+ * Compute the parent node hash from two children.
86
+ *
87
+ * The node hash is computed as: H("poi-trace:node:v1|" + left + "|" + right)
88
+ *
89
+ * @param left - Left child hash
90
+ * @param right - Right child hash
91
+ * @returns Promise resolving to the parent node hash
92
+ */
93
+ export declare function computeNodeHash(left: string, right: string): Promise<string>;
94
+ /**
95
+ * Generate a Merkle inclusion proof for a span in a bundle.
96
+ *
97
+ * @param bundle - The trace bundle containing the span
98
+ * @param spanId - ID of the span to prove inclusion for
99
+ * @returns MerkleInclusionResult with proof and span data
100
+ * @throws MidnightProverException if span not found
101
+ */
102
+ export declare function generateMerkleInclusionProof(bundle: TraceBundle, spanId: string): Promise<MerkleInclusionResult>;
103
+ /**
104
+ * Compute the Merkle root from leaf hashes.
105
+ *
106
+ * @param leafHashes - Array of leaf hashes
107
+ * @returns Promise resolving to the Merkle root hash
108
+ */
109
+ export declare function computeMerkleRoot(leafHashes: string[]): Promise<string>;
110
+ /**
111
+ * Verify a Merkle inclusion proof.
112
+ *
113
+ * @param proof - The Merkle proof to verify
114
+ * @returns Promise resolving to true if valid
115
+ */
116
+ export declare function verifyMerkleProof(proof: MerkleProof): Promise<boolean>;
117
+ /**
118
+ * Verify span inclusion using the proof and span data.
119
+ *
120
+ * @param proof - The Merkle proof
121
+ * @param span - The span data
122
+ * @param events - The events belonging to the span
123
+ * @returns Promise resolving to true if span is validly included
124
+ */
125
+ export declare function verifySpanInclusion(proof: MerkleProof, span: TraceSpan, events: TraceEvent[]): Promise<boolean>;
126
+ /**
127
+ * SelectiveDisclosureProver generates and verifies ZK proofs of span membership.
128
+ *
129
+ * This prover creates a proof that a specific span exists in a trace bundle
130
+ * without revealing other spans. The proof uses Merkle tree inclusion proofs
131
+ * and optionally includes the disclosed span and event data.
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * const prover = new SelectiveDisclosureProver();
136
+ * const proof = await prover.generateProof(input);
137
+ *
138
+ * // Proof includes optional span data for verification
139
+ * console.log(proof.disclosedSpan?.name); // e.g., "inference"
140
+ * ```
141
+ */
142
+ export declare class SelectiveDisclosureProver {
143
+ private readonly debug;
144
+ private readonly includeSpanData;
145
+ private readonly includeEventData;
146
+ /**
147
+ * Create a new SelectiveDisclosureProver instance.
148
+ *
149
+ * @param options - Configuration options
150
+ */
151
+ constructor(options?: SelectiveDisclosureProverOptions);
152
+ /**
153
+ * Generate a selective disclosure proof.
154
+ *
155
+ * This method creates a ZK proof that a specific span exists in the
156
+ * trace bundle's Merkle tree. The proof binds to the Cardano anchor
157
+ * transaction for cross-chain verification.
158
+ *
159
+ * @param input - Selective disclosure input
160
+ * @returns Promise resolving to the disclosure proof
161
+ * @throws MidnightProverException on validation or generation failure
162
+ */
163
+ generateProof(input: DisclosureInput): Promise<DisclosureProof>;
164
+ /**
165
+ * Verify a selective disclosure proof.
166
+ *
167
+ * This method verifies the cryptographic validity of the proof and
168
+ * optionally verifies that disclosed span data matches the proof.
169
+ *
170
+ * @param proof - The disclosure proof to verify
171
+ * @returns Promise resolving to true if valid
172
+ */
173
+ verifyProof(proof: DisclosureProof): Promise<boolean>;
174
+ /**
175
+ * Generate a proof without disclosure (membership proof only).
176
+ *
177
+ * This creates a proof that demonstrates span existence without
178
+ * revealing any span or event data.
179
+ *
180
+ * @param input - Selective disclosure input
181
+ * @returns Promise resolving to the disclosure proof without span data
182
+ */
183
+ generateMembershipProof(input: DisclosureInput): Promise<DisclosureProof>;
184
+ /**
185
+ * Validate disclosure input.
186
+ */
187
+ private validateInput;
188
+ /**
189
+ * Generate mock proof bytes.
190
+ * In a real implementation, this would call the Midnight proof server.
191
+ */
192
+ private generateProofBytes;
193
+ /**
194
+ * Verify mock proof bytes.
195
+ */
196
+ private verifyProofBytes;
197
+ /**
198
+ * Generate proof ID from public inputs.
199
+ */
200
+ private generateProofId;
201
+ /**
202
+ * Convert hex string to bytes.
203
+ */
204
+ private hexToBytes;
205
+ }
206
+ /**
207
+ * Create a new SelectiveDisclosureProver instance.
208
+ *
209
+ * @param options - Configuration options
210
+ * @returns New prover instance
211
+ */
212
+ export declare function createSelectiveDisclosureProver(options?: SelectiveDisclosureProverOptions): SelectiveDisclosureProver;
213
+ //# sourceMappingURL=selective-disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selective-disclosure.d.ts","sourceRoot":"","sources":["../../src/proofs/selective-disclosure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAOH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,WAAW,EACZ,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,aAAa,CAAC;AAWrB;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAkBD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvE;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAElF;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC,CAsIhC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB7E;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB5E;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,UAAU,EAAE,GACnB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAE3C;;;;OAIG;gBACS,OAAO,GAAE,gCAAqC;IAM1D;;;;;;;;;;OAUG;IACG,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA8DrE;;;;;;;;OAQG;IACG,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAyD3D;;;;;;;;OAQG;IACG,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAe/E;;OAEG;IACH,OAAO,CAAC,aAAa;IA8BrB;;;OAGG;YACW,kBAAkB;IAqEhC;;OAEG;YACW,gBAAgB;IAiE9B;;OAEG;YACW,eAAe;IAS7B;;OAEG;IACH,OAAO,CAAC,UAAU;CAOnB;AAMD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,CAAC,EAAE,gCAAgC,GACzC,yBAAyB,CAE3B"}