@sip-protocol/sdk 0.7.2 → 0.7.4

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 (262) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +267 -0
  3. package/dist/{TransportWebUSB-TQ7WZ4LE.mjs → TransportWebUSB-YQMAGJAJ.mjs} +12 -9
  4. package/dist/browser.d.mts +10 -4
  5. package/dist/browser.d.ts +10 -4
  6. package/dist/browser.js +48874 -18336
  7. package/dist/browser.mjs +674 -48
  8. package/dist/chunk-4GRJ5MAW.mjs +152 -0
  9. package/dist/chunk-5D7A3L3W.mjs +717 -0
  10. package/dist/chunk-64AYA5F5.mjs +7834 -0
  11. package/dist/chunk-GMDGB22A.mjs +379 -0
  12. package/dist/chunk-I534WKN7.mjs +328 -0
  13. package/dist/chunk-IBZVA5Y7.mjs +1003 -0
  14. package/dist/chunk-PRRZAWJE.mjs +223 -0
  15. package/dist/{chunk-UJCSKKID.mjs → chunk-XGB3TDIC.mjs} +13 -1
  16. package/dist/chunk-YWGJ77A2.mjs +33806 -0
  17. package/dist/{chunk-6WGN57S2.mjs → chunk-Z3K7W5S3.mjs} +48 -0
  18. package/dist/constants-LHAAUC2T.mjs +51 -0
  19. package/dist/dist-2OGQ7FED.mjs +3957 -0
  20. package/dist/dist-IFHPYLDX.mjs +254 -0
  21. package/dist/fulfillment_proof-ANHVPKTB.mjs +21 -0
  22. package/dist/funding_proof-ICFZ5LHY.mjs +21 -0
  23. package/dist/index-DXh2IGkz.d.ts +24681 -0
  24. package/dist/index-DeE1ZzA4.d.mts +24681 -0
  25. package/dist/index.d.mts +9 -3
  26. package/dist/index.d.ts +9 -3
  27. package/dist/index.js +48676 -17318
  28. package/dist/index.mjs +583 -19
  29. package/dist/interface-Bf7w1PLW.d.mts +679 -0
  30. package/dist/interface-Bf7w1PLW.d.ts +679 -0
  31. package/dist/{noir-DKfEzWy9.d.mts → noir-kzbLVTei.d.mts} +31 -21
  32. package/dist/{noir-DKfEzWy9.d.ts → noir-kzbLVTei.d.ts} +31 -21
  33. package/dist/proofs/halo2.d.mts +151 -0
  34. package/dist/proofs/halo2.d.ts +151 -0
  35. package/dist/proofs/halo2.js +350 -0
  36. package/dist/proofs/halo2.mjs +11 -0
  37. package/dist/proofs/kimchi.d.mts +160 -0
  38. package/dist/proofs/kimchi.d.ts +160 -0
  39. package/dist/proofs/kimchi.js +431 -0
  40. package/dist/proofs/kimchi.mjs +13 -0
  41. package/dist/proofs/noir.d.mts +1 -1
  42. package/dist/proofs/noir.d.ts +1 -1
  43. package/dist/proofs/noir.js +74 -18
  44. package/dist/proofs/noir.mjs +84 -24
  45. package/dist/solana-U3MEGU7W.mjs +280 -0
  46. package/dist/validity_proof-3POXLPNY.mjs +21 -0
  47. package/package.json +54 -21
  48. package/src/adapters/index.ts +41 -0
  49. package/src/adapters/jupiter.ts +571 -0
  50. package/src/adapters/near-intents.ts +135 -0
  51. package/src/advisor/advisor.ts +653 -0
  52. package/src/advisor/index.ts +54 -0
  53. package/src/advisor/tools.ts +303 -0
  54. package/src/advisor/types.ts +164 -0
  55. package/src/chains/ethereum/announcement.ts +536 -0
  56. package/src/chains/ethereum/bnb-optimizations.ts +474 -0
  57. package/src/chains/ethereum/commitment.ts +522 -0
  58. package/src/chains/ethereum/constants.ts +462 -0
  59. package/src/chains/ethereum/deployment.ts +596 -0
  60. package/src/chains/ethereum/gas-estimation.ts +538 -0
  61. package/src/chains/ethereum/index.ts +268 -0
  62. package/src/chains/ethereum/optimizations.ts +614 -0
  63. package/src/chains/ethereum/privacy-adapter.ts +855 -0
  64. package/src/chains/ethereum/registry.ts +584 -0
  65. package/src/chains/ethereum/rpc.ts +905 -0
  66. package/src/chains/ethereum/stealth.ts +491 -0
  67. package/src/chains/ethereum/token.ts +790 -0
  68. package/src/chains/ethereum/transfer.ts +637 -0
  69. package/src/chains/ethereum/types.ts +456 -0
  70. package/src/chains/ethereum/viewing-key.ts +455 -0
  71. package/src/chains/near/commitment.ts +608 -0
  72. package/src/chains/near/constants.ts +284 -0
  73. package/src/chains/near/function-call.ts +871 -0
  74. package/src/chains/near/history.ts +654 -0
  75. package/src/chains/near/implicit-account.ts +840 -0
  76. package/src/chains/near/index.ts +393 -0
  77. package/src/chains/near/native-transfer.ts +658 -0
  78. package/src/chains/near/nep141.ts +775 -0
  79. package/src/chains/near/privacy-adapter.ts +889 -0
  80. package/src/chains/near/resolver.ts +971 -0
  81. package/src/chains/near/rpc.ts +1016 -0
  82. package/src/chains/near/stealth.ts +419 -0
  83. package/src/chains/near/types.ts +317 -0
  84. package/src/chains/near/viewing-key.ts +876 -0
  85. package/src/chains/solana/anchor-transfer.ts +386 -0
  86. package/src/chains/solana/commitment.ts +577 -0
  87. package/src/chains/solana/constants.ts +126 -12
  88. package/src/chains/solana/ephemeral-keys.ts +543 -0
  89. package/src/chains/solana/index.ts +276 -1
  90. package/src/chains/solana/key-derivation.ts +418 -0
  91. package/src/chains/solana/kit-compat.ts +334 -0
  92. package/src/chains/solana/optimizations.ts +560 -0
  93. package/src/chains/solana/privacy-adapter.ts +605 -0
  94. package/src/chains/solana/providers/generic.ts +201 -0
  95. package/src/chains/solana/providers/helius-enhanced-types.ts +336 -0
  96. package/src/chains/solana/providers/helius-enhanced.ts +623 -0
  97. package/src/chains/solana/providers/helius.ts +402 -0
  98. package/src/chains/solana/providers/index.ts +85 -0
  99. package/src/chains/solana/providers/interface.ts +221 -0
  100. package/src/chains/solana/providers/quicknode.ts +409 -0
  101. package/src/chains/solana/providers/triton.ts +426 -0
  102. package/src/chains/solana/providers/webhook.ts +790 -0
  103. package/src/chains/solana/rpc-client.ts +1150 -0
  104. package/src/chains/solana/scan.ts +170 -73
  105. package/src/chains/solana/sol-transfer.ts +732 -0
  106. package/src/chains/solana/spl-transfer.ts +886 -0
  107. package/src/chains/solana/stealth-scanner.ts +703 -0
  108. package/src/chains/solana/sunspot-verifier.ts +453 -0
  109. package/src/chains/solana/transaction-builder.ts +755 -0
  110. package/src/chains/solana/transfer.ts +74 -5
  111. package/src/chains/solana/types.ts +77 -7
  112. package/src/chains/solana/utils.ts +110 -0
  113. package/src/chains/solana/viewing-key.ts +807 -0
  114. package/src/compliance/fireblocks.ts +921 -0
  115. package/src/compliance/index.ts +37 -0
  116. package/src/compliance/range-sas.ts +956 -0
  117. package/src/config/endpoints.ts +100 -0
  118. package/src/crypto.ts +11 -8
  119. package/src/errors.ts +82 -0
  120. package/src/evm/erc4337-relayer.ts +830 -0
  121. package/src/evm/index.ts +47 -0
  122. package/src/fees/calculator.ts +396 -0
  123. package/src/fees/index.ts +87 -0
  124. package/src/fees/near-contract.ts +429 -0
  125. package/src/fees/types.ts +268 -0
  126. package/src/index.ts +785 -1
  127. package/src/intent.ts +6 -3
  128. package/src/logger.ts +324 -0
  129. package/src/network/index.ts +80 -0
  130. package/src/network/proxy.ts +691 -0
  131. package/src/optimizations/index.ts +541 -0
  132. package/src/oracle/types.ts +1 -0
  133. package/src/privacy-backends/arcium-types.ts +727 -0
  134. package/src/privacy-backends/arcium.ts +719 -0
  135. package/src/privacy-backends/combined-privacy.ts +866 -0
  136. package/src/privacy-backends/cspl-token.ts +595 -0
  137. package/src/privacy-backends/cspl-types.ts +512 -0
  138. package/src/privacy-backends/cspl.ts +907 -0
  139. package/src/privacy-backends/health.ts +488 -0
  140. package/src/privacy-backends/inco-types.ts +323 -0
  141. package/src/privacy-backends/inco.ts +616 -0
  142. package/src/privacy-backends/index.ts +336 -0
  143. package/src/privacy-backends/interface.ts +906 -0
  144. package/src/privacy-backends/lru-cache.ts +343 -0
  145. package/src/privacy-backends/magicblock.ts +458 -0
  146. package/src/privacy-backends/mock.ts +258 -0
  147. package/src/privacy-backends/privacycash-types.ts +278 -0
  148. package/src/privacy-backends/privacycash.ts +456 -0
  149. package/src/privacy-backends/private-swap.ts +570 -0
  150. package/src/privacy-backends/rate-limiter.ts +683 -0
  151. package/src/privacy-backends/registry.ts +690 -0
  152. package/src/privacy-backends/router.ts +626 -0
  153. package/src/privacy-backends/shadowwire.ts +449 -0
  154. package/src/privacy-backends/sip-native.ts +256 -0
  155. package/src/privacy-logger.ts +191 -0
  156. package/src/production-safety.ts +373 -0
  157. package/src/proofs/aggregator.ts +1029 -0
  158. package/src/proofs/browser-composer.ts +1150 -0
  159. package/src/proofs/browser.ts +113 -25
  160. package/src/proofs/cache/index.ts +127 -0
  161. package/src/proofs/cache/interface.ts +545 -0
  162. package/src/proofs/cache/key-generator.ts +188 -0
  163. package/src/proofs/cache/lru-cache.ts +481 -0
  164. package/src/proofs/cache/multi-tier-cache.ts +575 -0
  165. package/src/proofs/cache/persistent-cache.ts +788 -0
  166. package/src/proofs/compliance-proof.ts +872 -0
  167. package/src/proofs/composer/base.ts +923 -0
  168. package/src/proofs/composer/index.ts +25 -0
  169. package/src/proofs/composer/interface.ts +518 -0
  170. package/src/proofs/composer/types.ts +383 -0
  171. package/src/proofs/converters/halo2.ts +452 -0
  172. package/src/proofs/converters/index.ts +208 -0
  173. package/src/proofs/converters/interface.ts +363 -0
  174. package/src/proofs/converters/kimchi.ts +462 -0
  175. package/src/proofs/converters/noir.ts +451 -0
  176. package/src/proofs/fallback.ts +888 -0
  177. package/src/proofs/halo2.ts +42 -0
  178. package/src/proofs/index.ts +471 -0
  179. package/src/proofs/interface.ts +13 -0
  180. package/src/proofs/kimchi.ts +42 -0
  181. package/src/proofs/lazy.ts +1004 -0
  182. package/src/proofs/mock.ts +25 -1
  183. package/src/proofs/noir.ts +111 -30
  184. package/src/proofs/orchestrator.ts +960 -0
  185. package/src/proofs/parallel/concurrency.ts +297 -0
  186. package/src/proofs/parallel/dependency-graph.ts +602 -0
  187. package/src/proofs/parallel/executor.ts +420 -0
  188. package/src/proofs/parallel/index.ts +131 -0
  189. package/src/proofs/parallel/interface.ts +685 -0
  190. package/src/proofs/parallel/worker-pool.ts +644 -0
  191. package/src/proofs/providers/halo2.ts +560 -0
  192. package/src/proofs/providers/index.ts +34 -0
  193. package/src/proofs/providers/kimchi.ts +641 -0
  194. package/src/proofs/validator.ts +881 -0
  195. package/src/proofs/verifier.ts +867 -0
  196. package/src/quantum/index.ts +112 -0
  197. package/src/quantum/winternitz-vault.ts +639 -0
  198. package/src/quantum/wots.ts +611 -0
  199. package/src/settlement/backends/direct-chain.ts +1 -0
  200. package/src/settlement/index.ts +9 -0
  201. package/src/settlement/router.ts +732 -46
  202. package/src/solana/index.ts +72 -0
  203. package/src/solana/jito-relayer.ts +687 -0
  204. package/src/solana/noir-verifier-types.ts +430 -0
  205. package/src/solana/noir-verifier.ts +816 -0
  206. package/src/stealth/address-derivation.ts +193 -0
  207. package/src/stealth/ed25519.ts +431 -0
  208. package/src/stealth/index.ts +233 -0
  209. package/src/stealth/meta-address.ts +221 -0
  210. package/src/stealth/secp256k1.ts +368 -0
  211. package/src/stealth/utils.ts +194 -0
  212. package/src/stealth.ts +50 -1504
  213. package/src/surveillance/algorithms/address-reuse.ts +143 -0
  214. package/src/surveillance/algorithms/cluster.ts +247 -0
  215. package/src/surveillance/algorithms/exchange.ts +295 -0
  216. package/src/surveillance/algorithms/temporal.ts +337 -0
  217. package/src/surveillance/analyzer.ts +442 -0
  218. package/src/surveillance/index.ts +64 -0
  219. package/src/surveillance/scoring.ts +372 -0
  220. package/src/surveillance/types.ts +264 -0
  221. package/src/sync/index.ts +106 -0
  222. package/src/sync/manager.ts +504 -0
  223. package/src/sync/mock-provider.ts +318 -0
  224. package/src/sync/oblivious.ts +625 -0
  225. package/src/tokens/index.ts +15 -0
  226. package/src/tokens/registry.ts +301 -0
  227. package/src/utils/deprecation.ts +94 -0
  228. package/src/utils/index.ts +9 -0
  229. package/src/wallet/ethereum/index.ts +68 -0
  230. package/src/wallet/ethereum/metamask-privacy.ts +420 -0
  231. package/src/wallet/ethereum/multi-wallet.ts +646 -0
  232. package/src/wallet/ethereum/privacy-adapter.ts +700 -0
  233. package/src/wallet/ethereum/types.ts +3 -1
  234. package/src/wallet/ethereum/walletconnect-adapter.ts +675 -0
  235. package/src/wallet/hardware/index.ts +10 -0
  236. package/src/wallet/hardware/ledger-privacy.ts +414 -0
  237. package/src/wallet/index.ts +71 -0
  238. package/src/wallet/near/adapter.ts +626 -0
  239. package/src/wallet/near/index.ts +86 -0
  240. package/src/wallet/near/meteor-wallet.ts +1153 -0
  241. package/src/wallet/near/my-near-wallet.ts +790 -0
  242. package/src/wallet/near/wallet-selector.ts +702 -0
  243. package/src/wallet/solana/adapter.ts +6 -4
  244. package/src/wallet/solana/index.ts +13 -0
  245. package/src/wallet/solana/privacy-adapter.ts +567 -0
  246. package/src/wallet/sui/types.ts +6 -4
  247. package/src/zcash/rpc-client.ts +13 -6
  248. package/dist/chunk-3INS3PR5.mjs +0 -884
  249. package/dist/chunk-3OVABDRH.mjs +0 -17096
  250. package/dist/chunk-DLDWZFYC.mjs +0 -1495
  251. package/dist/chunk-E6SZWREQ.mjs +0 -57
  252. package/dist/chunk-G33LB27A.mjs +0 -16166
  253. package/dist/chunk-HGU6HZRC.mjs +0 -231
  254. package/dist/chunk-L2K34JCU.mjs +0 -1496
  255. package/dist/chunk-SN4ZDTVW.mjs +0 -16166
  256. package/dist/constants-VOI7BSLK.mjs +0 -27
  257. package/dist/index-BYZbDjal.d.ts +0 -11390
  258. package/dist/index-CHB3KuOB.d.mts +0 -11859
  259. package/dist/index-CzWPI6Le.d.ts +0 -11859
  260. package/dist/index-xbWjohNq.d.mts +0 -11390
  261. package/dist/solana-5EMCTPTS.mjs +0 -46
  262. package/dist/solana-Q4NAVBTS.mjs +0 -46
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Halo2 Proof Provider Entry Point
3
+ *
4
+ * @module proofs/halo2
5
+ * @description Separate entry point for Halo2 provider to enable tree-shaking
6
+ *
7
+ * ## Usage
8
+ *
9
+ * ```typescript
10
+ * import { Halo2Provider, createHalo2Provider } from '@sip-protocol/sdk/proofs/halo2'
11
+ *
12
+ * const provider = createHalo2Provider({ backend: 'pse' })
13
+ * await provider.initialize()
14
+ * ```
15
+ *
16
+ * M20-16: Add ProofComposer to SDK exports (#329)
17
+ */
18
+
19
+ // Halo2 Provider
20
+ export {
21
+ Halo2Provider,
22
+ createHalo2Provider,
23
+ createOrchardProvider,
24
+ } from './providers'
25
+
26
+ export type {
27
+ Halo2ProviderConfig,
28
+ Halo2CircuitConfig,
29
+ Halo2ProvingKey,
30
+ } from './providers'
31
+
32
+ // Re-export composer interface for type compatibility
33
+ export type { ComposableProofProvider } from './composer'
34
+
35
+ // Re-export proof types for convenience
36
+ export type {
37
+ ProofSystem,
38
+ SingleProof,
39
+ ProofMetadata,
40
+ ProofProviderCapabilities,
41
+ ProofProviderStatus,
42
+ } from '@sip-protocol/types'
@@ -73,3 +73,474 @@ export {
73
73
  //
74
74
  // Types are safe to export (no runtime WASM dependency)
75
75
  export type { BrowserNoirProviderConfig, ProofProgressCallback } from './browser'
76
+
77
+ // Compliance proofs (non-financial ZK use cases)
78
+ // For Aztec/Noir bounty - "Best Non-Financial ZK Use Case"
79
+ export { ComplianceProofProvider } from './compliance-proof'
80
+ export {
81
+ DEFAULT_VALIDITY_PERIOD_SECONDS,
82
+ SUPPORTED_JURISDICTIONS,
83
+ COMPLIANCE_CIRCUIT_IDS,
84
+ } from './compliance-proof'
85
+ export type {
86
+ ComplianceProofType,
87
+ ComplianceProofConfig,
88
+ ViewingKeyAccessParams,
89
+ SanctionsClearParams,
90
+ BalanceAttestationParams,
91
+ HistoryCompletenessParams,
92
+ ComplianceProofResult,
93
+ } from './compliance-proof'
94
+
95
+ // ─── Proof Composition (M20) ────────────────────────────────────────────────
96
+
97
+ // Proof Aggregator
98
+ export {
99
+ ProofAggregator,
100
+ createProofAggregator,
101
+ DEFAULT_AGGREGATOR_CONFIG,
102
+ } from './aggregator'
103
+
104
+ export type {
105
+ AggregatorConfig,
106
+ AggregationProgressEvent,
107
+ AggregationProgressCallback,
108
+ SequentialAggregationOptions,
109
+ ParallelAggregationOptions,
110
+ RecursiveAggregationOptions,
111
+ AggregationStepResult,
112
+ DetailedAggregationResult,
113
+ } from './aggregator'
114
+
115
+ // Verification Pipeline
116
+ export {
117
+ VerificationPipeline,
118
+ createVerificationPipeline,
119
+ DEFAULT_PIPELINE_CONFIG,
120
+ } from './verifier'
121
+
122
+ export type {
123
+ VerificationPipelineConfig,
124
+ ProofDependency,
125
+ VerificationOrder,
126
+ DetailedVerificationResult,
127
+ LinkValidationResult,
128
+ SystemVerificationStats,
129
+ VerificationProgressEvent,
130
+ VerificationProgressCallback,
131
+ VerifyOptions,
132
+ } from './verifier'
133
+
134
+ // Cross-System Validator
135
+ export {
136
+ CrossSystemValidator,
137
+ createCrossSystemValidator,
138
+ SYSTEM_INFO,
139
+ BN254_MODULUS,
140
+ PALLAS_MODULUS,
141
+ VESTA_MODULUS,
142
+ BLS12_381_MODULUS,
143
+ } from './validator'
144
+
145
+ export type {
146
+ EllipticCurve,
147
+ FieldCharacteristics,
148
+ SystemInfo,
149
+ ValidationCheck,
150
+ ValidationReport,
151
+ CompatibilityEntry,
152
+ ValidationOptions,
153
+ } from './validator'
154
+
155
+ // Proof Orchestrator
156
+ export {
157
+ ProofOrchestrator,
158
+ createProofOrchestrator,
159
+ DEFAULT_ORCHESTRATOR_CONFIG,
160
+ BUILTIN_TEMPLATES,
161
+ } from './orchestrator'
162
+
163
+ export type {
164
+ OrchestratorConfig,
165
+ CompositionState,
166
+ CompositionPlan,
167
+ CompositionRequest,
168
+ OrchestratorResult,
169
+ AuditLogEntry,
170
+ OrchestratorProgressEvent,
171
+ OrchestratorProgressCallback,
172
+ CompositionTemplate,
173
+ } from './orchestrator'
174
+
175
+ // ─── Fallback Strategies (M20-11) ───────────────────────────────────────────
176
+
177
+ // Fallback classes and factory functions
178
+ export {
179
+ SequentialFallbackStrategy,
180
+ ExponentialBackoffStrategy,
181
+ PriorityFallbackStrategy,
182
+ CircuitBreaker,
183
+ FallbackExecutor,
184
+ createFallbackExecutor,
185
+ createCircuitBreaker,
186
+ createMockFallbackProvider,
187
+ DEFAULT_CIRCUIT_BREAKER_CONFIG,
188
+ DEFAULT_FALLBACK_CONFIG,
189
+ } from './fallback'
190
+
191
+ // Fallback types
192
+ export type {
193
+ FallbackStrategy,
194
+ CircuitBreakerState,
195
+ CircuitBreakerConfig,
196
+ ProviderHealth,
197
+ FallbackEventType,
198
+ FallbackEvent,
199
+ FallbackEventListener,
200
+ FallbackExecutorConfig,
201
+ } from './fallback'
202
+
203
+ // Composer interfaces and errors
204
+ export {
205
+ type ComposableProofProvider,
206
+ type ProofComposer,
207
+ type ProofProviderFactory,
208
+ type ProofProviderRegistry,
209
+ ProofCompositionError,
210
+ ProviderNotFoundError,
211
+ CompositionTimeoutError,
212
+ IncompatibleSystemsError,
213
+ BaseProofComposer,
214
+ } from './composer'
215
+
216
+ // Composable Proof Providers
217
+ export {
218
+ Halo2Provider,
219
+ createHalo2Provider,
220
+ createOrchardProvider,
221
+ KimchiProvider,
222
+ createKimchiProvider,
223
+ createMinaMainnetProvider,
224
+ createZkAppProvider,
225
+ } from './providers'
226
+
227
+ export type {
228
+ Halo2ProviderConfig,
229
+ Halo2CircuitConfig,
230
+ Halo2ProvingKey,
231
+ KimchiProviderConfig,
232
+ KimchiCircuitConfig,
233
+ } from './providers'
234
+
235
+ // ─── Proof Format Converters (M20-08) ────────────────────────────────────────
236
+
237
+ // Converter classes and factory functions
238
+ export {
239
+ NoirProofConverter,
240
+ createNoirConverter,
241
+ Halo2ProofConverter,
242
+ createHalo2Converter,
243
+ KimchiProofConverter,
244
+ createKimchiConverter,
245
+ UnifiedProofConverter,
246
+ createUnifiedConverter,
247
+ convertToSIP,
248
+ convertFromSIP,
249
+ ProofConversionError,
250
+ InvalidProofError,
251
+ UnsupportedVersionError,
252
+ DEFAULT_CONVERSION_OPTIONS,
253
+ } from './converters'
254
+
255
+ // Converter types
256
+ export type {
257
+ NativeProofFormat,
258
+ NoirNativeProof,
259
+ Halo2NativeProof,
260
+ KimchiNativeProof,
261
+ ConversionOptions,
262
+ ConversionResult as ConverterConversionResult,
263
+ ConversionMetadata,
264
+ ConversionErrorCode,
265
+ ProofConverter,
266
+ ValidationResult,
267
+ ValidationError,
268
+ AnyNativeProof,
269
+ ProofSystemToNativeMap,
270
+ } from './converters'
271
+
272
+ // Composer SDK types
273
+ export type {
274
+ ProofProviderRegistration,
275
+ RegisterProviderOptions,
276
+ ProofGenerationRequest,
277
+ ProofGenerationResult,
278
+ ComposeProofsOptions,
279
+ VerifyComposedProofOptions,
280
+ AggregateProofsOptions,
281
+ AggregationResult,
282
+ ConvertProofOptions,
283
+ ConversionResult,
284
+ ProofCacheEntry,
285
+ CacheStats,
286
+ WorkerPoolConfig,
287
+ WorkerPoolStatus,
288
+ SystemCompatibility,
289
+ CompatibilityMatrix,
290
+ FallbackConfig,
291
+ ProofTelemetry,
292
+ TelemetryCollector,
293
+ ProofTelemetryMetrics,
294
+ } from './composer'
295
+
296
+ // ─── Lazy Proof Generation (M20-14) ─────────────────────────────────────────
297
+
298
+ // Lazy Proof
299
+ export {
300
+ LazyProof,
301
+ createLazyProof,
302
+ DEFAULT_LAZY_CONFIG,
303
+ } from './lazy'
304
+
305
+ export type {
306
+ LazyProofStatus,
307
+ ProofTrigger,
308
+ ProofPriority,
309
+ LazyProofConfig,
310
+ ProofGenerator,
311
+ LazyProofEventType,
312
+ LazyProofEvent,
313
+ LazyProofEventListener,
314
+ SerializedLazyProof,
315
+ } from './lazy'
316
+
317
+ // Proof Generation Queue
318
+ export {
319
+ ProofGenerationQueue,
320
+ createProofQueue,
321
+ DEFAULT_QUEUE_CONFIG,
322
+ } from './lazy'
323
+
324
+ export type {
325
+ ProofQueueConfig,
326
+ QueueStats,
327
+ } from './lazy'
328
+
329
+ // Lazy Verification Keys
330
+ export {
331
+ LazyVerificationKey,
332
+ VerificationKeyRegistry,
333
+ createVKRegistry,
334
+ } from './lazy'
335
+
336
+ // Speculative Prefetching
337
+ export {
338
+ SpeculativePrefetcher,
339
+ createPrefetcher,
340
+ DEFAULT_PREFETCH_CONFIG,
341
+ } from './lazy'
342
+
343
+ export type {
344
+ PrefetchConfig,
345
+ } from './lazy'
346
+
347
+ // Error handling
348
+ export {
349
+ LazyProofError,
350
+ } from './lazy'
351
+
352
+ export type {
353
+ LazyProofErrorCode,
354
+ } from './lazy'
355
+
356
+ // Re-export base types from @sip-protocol/types for convenience
357
+ export {
358
+ ProofAggregationStrategy,
359
+ ComposedProofStatus,
360
+ CompositionErrorCode,
361
+ DEFAULT_COMPOSITION_CONFIG,
362
+ } from '@sip-protocol/types'
363
+
364
+ export type {
365
+ ProofSystem,
366
+ ProofMetadata,
367
+ SingleProof,
368
+ ComposedProof,
369
+ CompositionMetadata,
370
+ VerificationHints,
371
+ ProofCompositionConfig,
372
+ ProofProviderCapabilities,
373
+ ProofProviderStatus,
374
+ ProofProviderMetrics,
375
+ CompositionResult,
376
+ CompositionError,
377
+ CompositionMetrics,
378
+ VerificationResult,
379
+ IndividualVerificationResult,
380
+ CompositionEventType,
381
+ CompositionEvent,
382
+ CompositionProgressEvent,
383
+ CompositionEventListener,
384
+ } from '@sip-protocol/types'
385
+
386
+ // ─── Proof Caching Layer (M20-13) ────────────────────────────────────────────
387
+
388
+ // Cache implementations
389
+ export {
390
+ LRUCache,
391
+ createLRUCache,
392
+ IndexedDBCache,
393
+ FileCache,
394
+ createPersistentCache,
395
+ createIndexedDBCache,
396
+ createFileCache,
397
+ MultiTierCache,
398
+ createMultiTierCache,
399
+ } from './cache'
400
+
401
+ // Cache key generator
402
+ export {
403
+ CacheKeyGenerator,
404
+ createCacheKeyGenerator,
405
+ cacheKeyGenerator,
406
+ } from './cache'
407
+
408
+ // Cache configuration defaults
409
+ export {
410
+ DEFAULT_LRU_CONFIG,
411
+ DEFAULT_PERSISTENT_CONFIG,
412
+ DEFAULT_MULTI_TIER_CONFIG,
413
+ DEFAULT_WARMING_CONFIG,
414
+ INITIAL_PROOF_CACHE_STATS,
415
+ } from './cache'
416
+
417
+ // Cache types
418
+ export type {
419
+ // Cache Key
420
+ CacheKeyComponents,
421
+ CacheKey,
422
+ // Cache Entry
423
+ CacheEntryMetadata,
424
+ CacheEntry,
425
+ CacheLookupResult,
426
+ // Configuration
427
+ LRUCacheConfig,
428
+ PersistentCacheConfig,
429
+ MultiTierCacheConfig,
430
+ // Statistics
431
+ ProofCacheStats,
432
+ // Events
433
+ CacheEventType,
434
+ CacheEvent,
435
+ CacheEventListener,
436
+ // Invalidation
437
+ InvalidationStrategy,
438
+ InvalidationRule,
439
+ // Warming
440
+ CacheWarmingConfig,
441
+ WarmingResult,
442
+ // Interfaces
443
+ ICacheKeyGenerator,
444
+ IProofCache,
445
+ ILRUCache,
446
+ IPersistentCache,
447
+ IMultiTierCache,
448
+ IVerificationKeyCache,
449
+ ICompiledCircuitCache,
450
+ } from './cache'
451
+
452
+ // ─── Parallel Proof Generation (M20-12) ──────────────────────────────────────
453
+
454
+ // Parallel Executor
455
+ export {
456
+ ParallelExecutor,
457
+ createParallelExecutor,
458
+ executeParallel,
459
+ } from './parallel'
460
+
461
+ // Dependency Graph
462
+ export {
463
+ DependencyAnalyzer,
464
+ createDependencyAnalyzer,
465
+ createDependencyNode,
466
+ } from './parallel'
467
+
468
+ // Worker Pool
469
+ export {
470
+ WorkerPool,
471
+ WorkStealingScheduler,
472
+ createWorkerPool,
473
+ } from './parallel'
474
+
475
+ // Concurrency Management
476
+ export {
477
+ ConcurrencyManager,
478
+ createConcurrencyManager,
479
+ getRecommendedConcurrency,
480
+ } from './parallel'
481
+
482
+ // Parallel configuration defaults
483
+ export {
484
+ DEFAULT_WORKER_POOL_CONFIG,
485
+ DEFAULT_CONCURRENCY_CONFIG,
486
+ DEFAULT_SCHEDULER_CONFIG,
487
+ } from './parallel'
488
+
489
+ // Parallel types
490
+ export type {
491
+ // Dependency Graph
492
+ DependencyNode,
493
+ DependencyEdge,
494
+ DependencyGraph,
495
+ GraphAnalysis,
496
+ // Worker Pool
497
+ WorkerStatus,
498
+ WorkerInfo,
499
+ WorkerPoolConfig as ParallelWorkerPoolConfig,
500
+ WorkerPoolStats,
501
+ // Tasks
502
+ TaskStatus,
503
+ TaskPriority,
504
+ ProofTask,
505
+ TaskSubmitOptions,
506
+ // Concurrency
507
+ SystemResources,
508
+ ConcurrencyConfig,
509
+ ConcurrencyDecision,
510
+ // Work Stealing
511
+ WorkerStealingStats,
512
+ WorkStealEvent,
513
+ // Execution
514
+ ParallelExecutionOptions,
515
+ ParallelProgressEvent,
516
+ ParallelExecutionResult,
517
+ ParallelExecutionStats,
518
+ ParallelExecutionError,
519
+ // Scheduler
520
+ SchedulingStrategy,
521
+ SchedulerConfig,
522
+ // Interfaces
523
+ IDependencyAnalyzer,
524
+ IWorkerPool,
525
+ IConcurrencyManager,
526
+ IWorkStealingScheduler,
527
+ IParallelExecutor,
528
+ } from './parallel'
529
+
530
+ // ─── Browser Proof Composition (M20-19) ──────────────────────────────────────
531
+
532
+ // Browser-compatible proof composer
533
+ // NOTE: This is designed for browser environments but can be used in Node.js
534
+ // with the forceInitialize option. For server-side only, prefer BaseProofComposer.
535
+ export {
536
+ BrowserProofComposer,
537
+ createBrowserComposer,
538
+ createAutoComposer,
539
+ } from './browser-composer'
540
+
541
+ export type {
542
+ BrowserProofComposerConfig,
543
+ BrowserComposeOptions,
544
+ CompositionProgress,
545
+ CompositionProgressCallback,
546
+ } from './browser-composer'
@@ -172,6 +172,19 @@ export interface ProofProvider {
172
172
  */
173
173
  initialize(): Promise<void>
174
174
 
175
+ /**
176
+ * Wait for the provider to be ready, with optional timeout
177
+ *
178
+ * This method blocks until initialization is complete or the timeout is reached.
179
+ * If initialization is already complete, resolves immediately.
180
+ * If initialization hasn't started, this method will start it.
181
+ *
182
+ * @param timeoutMs - Maximum time to wait in milliseconds (default: 30000)
183
+ * @throws ProofError if timeout is reached before ready
184
+ * @throws ProofError if initialization fails
185
+ */
186
+ waitUntilReady(timeoutMs?: number): Promise<void>
187
+
175
188
  /**
176
189
  * Generate a Funding Proof
177
190
  *
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Kimchi Proof Provider Entry Point
3
+ *
4
+ * @module proofs/kimchi
5
+ * @description Separate entry point for Kimchi/Mina provider to enable tree-shaking
6
+ *
7
+ * ## Usage
8
+ *
9
+ * ```typescript
10
+ * import { KimchiProvider, createKimchiProvider } from '@sip-protocol/sdk/proofs/kimchi'
11
+ *
12
+ * const provider = createKimchiProvider({ network: 'mainnet' })
13
+ * await provider.initialize()
14
+ * ```
15
+ *
16
+ * M20-16: Add ProofComposer to SDK exports (#329)
17
+ */
18
+
19
+ // Kimchi Provider
20
+ export {
21
+ KimchiProvider,
22
+ createKimchiProvider,
23
+ createMinaMainnetProvider,
24
+ createZkAppProvider,
25
+ } from './providers'
26
+
27
+ export type {
28
+ KimchiProviderConfig,
29
+ KimchiCircuitConfig,
30
+ } from './providers'
31
+
32
+ // Re-export composer interface for type compatibility
33
+ export type { ComposableProofProvider } from './composer'
34
+
35
+ // Re-export proof types for convenience
36
+ export type {
37
+ ProofSystem,
38
+ SingleProof,
39
+ ProofMetadata,
40
+ ProofProviderCapabilities,
41
+ ProofProviderStatus,
42
+ } from '@sip-protocol/types'