@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
@@ -1,24 +1,36 @@
1
1
  import {
2
- fulfillment_proof_default,
3
- funding_proof_default,
2
+ funding_proof_default
3
+ } from "../chunk-PRRZAWJE.mjs";
4
+ import {
4
5
  validity_proof_default
5
- } from "../chunk-3INS3PR5.mjs";
6
+ } from "../chunk-I534WKN7.mjs";
7
+ import {
8
+ fulfillment_proof_default
9
+ } from "../chunk-GMDGB22A.mjs";
6
10
  import {
7
11
  ProofGenerationError
8
12
  } from "../chunk-HOR7PM3M.mjs";
9
13
  import {
10
14
  ProofError
11
- } from "../chunk-6WGN57S2.mjs";
12
- import "../chunk-UJCSKKID.mjs";
15
+ } from "../chunk-Z3K7W5S3.mjs";
16
+ import "../chunk-XGB3TDIC.mjs";
13
17
 
14
18
  // src/proofs/noir.ts
15
19
  import { Noir } from "@noir-lang/noir_js";
16
- import { UltraHonkBackend } from "@aztec/bb.js";
20
+ import { UltraHonkBackend, Barretenberg } from "@aztec/bb.js";
17
21
  import { secp256k1 } from "@noble/curves/secp256k1";
22
+ var fundingCircuit = funding_proof_default;
23
+ var validityCircuit = validity_proof_default;
24
+ var fulfillmentCircuit = fulfillment_proof_default;
25
+ var DEFAULT_INIT_TIMEOUT_MS = 3e4;
18
26
  var NoirProofProvider = class {
19
27
  framework = "noir";
20
28
  _isReady = false;
29
+ _initPromise = null;
30
+ _initError = null;
21
31
  config;
32
+ // Barretenberg instance (shared by all backends)
33
+ barretenberg = null;
22
34
  // Circuit instances
23
35
  fundingNoir = null;
24
36
  fundingBackend = null;
@@ -81,26 +93,79 @@ var NoirProofProvider = class {
81
93
  if (this._isReady) {
82
94
  return;
83
95
  }
96
+ if (this._initPromise) {
97
+ return this._initPromise;
98
+ }
99
+ if (this._initError) {
100
+ throw this._initError;
101
+ }
102
+ this._initPromise = this._doInitialize();
103
+ try {
104
+ await this._initPromise;
105
+ } catch (error) {
106
+ this._initError = error instanceof Error ? error : new Error(String(error));
107
+ this._initPromise = null;
108
+ throw error;
109
+ }
110
+ }
111
+ /**
112
+ * Wait for the provider to be ready, with optional timeout
113
+ *
114
+ * This method blocks until initialization is complete or the timeout is reached.
115
+ * If initialization is already complete, resolves immediately.
116
+ * If initialization hasn't started, this method will start it.
117
+ *
118
+ * @param timeoutMs - Maximum time to wait in milliseconds (default: 30000)
119
+ * @throws ProofError if timeout is reached before ready
120
+ * @throws ProofError if initialization fails
121
+ */
122
+ async waitUntilReady(timeoutMs = DEFAULT_INIT_TIMEOUT_MS) {
123
+ if (this._isReady) {
124
+ return;
125
+ }
126
+ if (this._initError) {
127
+ throw new ProofError(
128
+ `NoirProofProvider initialization failed: ${this._initError.message}`,
129
+ "SIP_4004" /* PROOF_PROVIDER_NOT_READY */,
130
+ { context: { error: this._initError } }
131
+ );
132
+ }
133
+ const initPromise = this._initPromise ?? this.initialize();
134
+ const timeoutPromise = new Promise((_, reject) => {
135
+ setTimeout(() => {
136
+ reject(new ProofError(
137
+ `NoirProofProvider initialization timed out after ${timeoutMs}ms`,
138
+ "SIP_4004" /* PROOF_PROVIDER_NOT_READY */
139
+ ));
140
+ }, timeoutMs);
141
+ });
142
+ await Promise.race([initPromise, timeoutPromise]);
143
+ }
144
+ /**
145
+ * Internal initialization logic
146
+ */
147
+ async _doInitialize() {
84
148
  try {
85
149
  if (this.config.verbose) {
86
150
  console.log("[NoirProofProvider] Initializing...");
87
151
  }
88
- const fundingCircuit = funding_proof_default;
89
- this.fundingBackend = new UltraHonkBackend(fundingCircuit.bytecode);
152
+ this.barretenberg = await Barretenberg.new();
153
+ if (this.config.verbose) {
154
+ console.log("[NoirProofProvider] Barretenberg initialized");
155
+ }
156
+ this.fundingBackend = new UltraHonkBackend(fundingCircuit.bytecode, this.barretenberg);
90
157
  this.fundingNoir = new Noir(fundingCircuit);
91
158
  if (this.config.verbose) {
92
159
  console.log("[NoirProofProvider] Funding circuit loaded");
93
160
  const artifactVersion = funding_proof_default.noir_version;
94
161
  console.log(`[NoirProofProvider] Noir version: ${artifactVersion ?? "unknown"}`);
95
162
  }
96
- const validityCircuit = validity_proof_default;
97
- this.validityBackend = new UltraHonkBackend(validityCircuit.bytecode);
163
+ this.validityBackend = new UltraHonkBackend(validityCircuit.bytecode, this.barretenberg);
98
164
  this.validityNoir = new Noir(validityCircuit);
99
165
  if (this.config.verbose) {
100
166
  console.log("[NoirProofProvider] Validity circuit loaded");
101
167
  }
102
- const fulfillmentCircuit = fulfillment_proof_default;
103
- this.fulfillmentBackend = new UltraHonkBackend(fulfillmentCircuit.bytecode);
168
+ this.fulfillmentBackend = new UltraHonkBackend(fulfillmentCircuit.bytecode, this.barretenberg);
104
169
  this.fulfillmentNoir = new Noir(fulfillmentCircuit);
105
170
  if (this.config.verbose) {
106
171
  console.log("[NoirProofProvider] Fulfillment circuit loaded");
@@ -558,21 +623,16 @@ var NoirProofProvider = class {
558
623
  * Destroy the provider and free resources
559
624
  */
560
625
  async destroy() {
561
- if (this.fundingBackend) {
562
- await this.fundingBackend.destroy();
563
- this.fundingBackend = null;
564
- }
565
- if (this.validityBackend) {
566
- await this.validityBackend.destroy();
567
- this.validityBackend = null;
568
- }
569
- if (this.fulfillmentBackend) {
570
- await this.fulfillmentBackend.destroy();
571
- this.fulfillmentBackend = null;
572
- }
626
+ this.fundingBackend = null;
627
+ this.validityBackend = null;
628
+ this.fulfillmentBackend = null;
573
629
  this.fundingNoir = null;
574
630
  this.validityNoir = null;
575
631
  this.fulfillmentNoir = null;
632
+ if (this.barretenberg) {
633
+ await this.barretenberg.destroy();
634
+ this.barretenberg = null;
635
+ }
576
636
  this._isReady = false;
577
637
  }
578
638
  // ─── Private Methods ───────────────────────────────────────────────────────
@@ -0,0 +1,280 @@
1
+ import {
2
+ CONFIG_PDA,
3
+ DEFAULT_COMPUTE_UNITS,
4
+ DEFAULT_PRIORITY_FEE,
5
+ ED25519_ORDER,
6
+ FEE_COLLECTOR,
7
+ GenericProvider,
8
+ HeliusEnhanced,
9
+ HeliusProvider,
10
+ LAMPORTS_PER_SOL,
11
+ MAX_COMPUTE_UNITS,
12
+ MAX_SPL_AMOUNT,
13
+ MIN_COMPUTE_UNITS,
14
+ ProofType,
15
+ RENT_EXEMPT_MINIMUM,
16
+ RPCErrorType,
17
+ RPC_ENDPOINTS,
18
+ RpcHelpers,
19
+ SIP_PRIVACY_PROGRAM_ID,
20
+ SOLANA_DEFAULT_PATH,
21
+ STEALTH_ACCOUNT_BUFFER,
22
+ ShieldedTransactionBuilder,
23
+ ShieldedTransactionType,
24
+ SolanaPrivacyAdapter,
25
+ SolanaRPCClient,
26
+ StealthScanner,
27
+ SunspotVerifier,
28
+ addBlindingsSolana,
29
+ addCommitmentsSolana,
30
+ batchGenerateEphemeralKeypairs,
31
+ batchGenerateManagedEphemeralKeypairs,
32
+ batchGetTokenBalances,
33
+ batchResolveTokenMetadata,
34
+ batchScanForRecipients,
35
+ calculatePriorityFee,
36
+ claimStealthPayment,
37
+ commitSPLToken,
38
+ commitSolana,
39
+ computeViewingKeyHash,
40
+ computeViewingKeyHashFromPrivate,
41
+ createAddress,
42
+ createAnnouncementMemo,
43
+ createBlockhash,
44
+ createClusterClient,
45
+ createDualRpcClient,
46
+ createHeliusEnhanced,
47
+ createMemoryStorage,
48
+ createPrivateRPCClient,
49
+ createProvider,
50
+ createRPCClient,
51
+ createSolanaPrivacyAdapter,
52
+ createStealthScanner,
53
+ createTransactionBuilder,
54
+ createVerifyInstructionData,
55
+ createWebhookHandler,
56
+ decryptWithViewing,
57
+ deriveChildViewingKey,
58
+ deriveSolanaStealthKeys,
59
+ deriveViewingKeyFromSpending,
60
+ disposeEphemeralKeypairs,
61
+ encryptForViewing,
62
+ estimateComputeUnits,
63
+ estimatePrivateTransferFee,
64
+ estimateSOLTransfer,
65
+ exportViewingKey,
66
+ formatEphemeralAnnouncement,
67
+ formatFundingInputs,
68
+ formatLamports,
69
+ formatOwnershipInputs,
70
+ formatTokenAmount,
71
+ fromSmallestUnits,
72
+ fullHistoricalScan,
73
+ generateBlindingSolana,
74
+ generateEphemeralKeypair,
75
+ generateManagedEphemeralKeypair,
76
+ generateMnemonic,
77
+ generateRandomViewingKey,
78
+ generateViewingKeyFromSpending,
79
+ getDerivationPath,
80
+ getGeneratorsSolana,
81
+ getSOLBalance,
82
+ getStealthBalance,
83
+ getTokenBalance,
84
+ getViewingPublicKey,
85
+ hasTokenAccount,
86
+ importViewingKey,
87
+ isAddress,
88
+ isAnnouncementForViewingKey,
89
+ isPublicKey,
90
+ isValidMnemonic,
91
+ lamportsToSol,
92
+ normalizeAddress,
93
+ parseAnnouncement,
94
+ parseEphemeralAnnouncement,
95
+ parseSOLToLamports,
96
+ parseTokenAmount,
97
+ processWebhookTransaction,
98
+ resolveTokenMetadata,
99
+ scanForPayments,
100
+ sendBatchSOLTransfer,
101
+ sendBatchSPLTransfer,
102
+ sendEnhancedSPLTransfer,
103
+ sendMaxSOLTransfer,
104
+ sendPrivateSPLTransfer,
105
+ sendSOLTransfer,
106
+ shieldedTransfer,
107
+ solToLamports,
108
+ subtractBlindingsSolana,
109
+ subtractCommitmentsSolana,
110
+ toAddress,
111
+ toBlockhashInfo,
112
+ toKeyPair,
113
+ toKitCommitment,
114
+ toKitInstruction,
115
+ toKitTransaction,
116
+ toPublicKey,
117
+ toSmallestUnits,
118
+ validateDerivationPath,
119
+ validateMnemonic,
120
+ validateSOLTransfer,
121
+ validateTransfer,
122
+ verifyAuthToken,
123
+ verifyOpeningSolana,
124
+ verifySPLTokenCommitment,
125
+ verifyWebhookSignature,
126
+ wipeEphemeralPrivateKey
127
+ } from "./chunk-64AYA5F5.mjs";
128
+ import "./chunk-Z3K7W5S3.mjs";
129
+ import {
130
+ ATA_RENT_LAMPORTS,
131
+ ESTIMATED_TX_FEE_LAMPORTS,
132
+ MEMO_PROGRAM_ID,
133
+ SIP_MEMO_PREFIX,
134
+ SOLANA_EXPLORER_URLS,
135
+ SOLANA_RPC_ENDPOINTS2 as SOLANA_RPC_ENDPOINTS,
136
+ SOLANA_TOKEN_DECIMALS,
137
+ SOLANA_TOKEN_MINTS,
138
+ getExplorerUrl,
139
+ getSolanaTokenDecimals,
140
+ getTokenMint
141
+ } from "./chunk-4GRJ5MAW.mjs";
142
+ import "./chunk-XGB3TDIC.mjs";
143
+ export {
144
+ ATA_RENT_LAMPORTS,
145
+ CONFIG_PDA,
146
+ DEFAULT_COMPUTE_UNITS,
147
+ DEFAULT_PRIORITY_FEE,
148
+ ED25519_ORDER,
149
+ ESTIMATED_TX_FEE_LAMPORTS,
150
+ FEE_COLLECTOR,
151
+ GenericProvider,
152
+ HeliusEnhanced,
153
+ HeliusProvider,
154
+ LAMPORTS_PER_SOL as KIT_LAMPORTS_PER_SOL,
155
+ MAX_COMPUTE_UNITS,
156
+ MAX_SPL_AMOUNT,
157
+ MEMO_PROGRAM_ID,
158
+ MIN_COMPUTE_UNITS,
159
+ ProofType,
160
+ RENT_EXEMPT_MINIMUM,
161
+ RPCErrorType,
162
+ RPC_ENDPOINTS,
163
+ RpcHelpers,
164
+ SIP_MEMO_PREFIX,
165
+ SIP_PRIVACY_PROGRAM_ID,
166
+ SOLANA_DEFAULT_PATH,
167
+ SOLANA_EXPLORER_URLS,
168
+ SOLANA_RPC_ENDPOINTS,
169
+ SOLANA_TOKEN_DECIMALS,
170
+ SOLANA_TOKEN_MINTS,
171
+ STEALTH_ACCOUNT_BUFFER,
172
+ ShieldedTransactionBuilder,
173
+ ShieldedTransactionType,
174
+ SolanaPrivacyAdapter,
175
+ SolanaRPCClient,
176
+ StealthScanner,
177
+ SunspotVerifier,
178
+ addBlindingsSolana,
179
+ addCommitmentsSolana,
180
+ batchGenerateEphemeralKeypairs,
181
+ batchGenerateManagedEphemeralKeypairs,
182
+ batchGetTokenBalances,
183
+ batchResolveTokenMetadata,
184
+ batchScanForRecipients,
185
+ calculatePriorityFee,
186
+ claimStealthPayment,
187
+ commitSPLToken,
188
+ commitSolana,
189
+ computeViewingKeyHash,
190
+ computeViewingKeyHashFromPrivate,
191
+ createAddress,
192
+ createAnnouncementMemo,
193
+ createBlockhash,
194
+ createClusterClient,
195
+ createDualRpcClient,
196
+ createHeliusEnhanced,
197
+ createMemoryStorage,
198
+ createPrivateRPCClient,
199
+ createProvider,
200
+ createRPCClient,
201
+ createSolanaPrivacyAdapter,
202
+ createStealthScanner,
203
+ createTransactionBuilder,
204
+ createVerifyInstructionData,
205
+ createWebhookHandler,
206
+ decryptWithViewing,
207
+ deriveChildViewingKey,
208
+ deriveSolanaStealthKeys,
209
+ deriveViewingKeyFromSpending,
210
+ disposeEphemeralKeypairs,
211
+ encryptForViewing,
212
+ estimateComputeUnits,
213
+ estimatePrivateTransferFee,
214
+ estimateSOLTransfer,
215
+ exportViewingKey,
216
+ formatEphemeralAnnouncement,
217
+ formatFundingInputs,
218
+ formatLamports,
219
+ formatOwnershipInputs,
220
+ formatTokenAmount,
221
+ fromSmallestUnits,
222
+ fullHistoricalScan,
223
+ generateBlindingSolana,
224
+ generateEphemeralKeypair,
225
+ generateManagedEphemeralKeypair,
226
+ generateMnemonic,
227
+ generateRandomViewingKey,
228
+ generateViewingKeyFromSpending,
229
+ getDerivationPath,
230
+ getExplorerUrl,
231
+ getGeneratorsSolana,
232
+ getSOLBalance,
233
+ getSolanaTokenDecimals,
234
+ getStealthBalance,
235
+ getTokenBalance,
236
+ getTokenMint,
237
+ getViewingPublicKey,
238
+ hasTokenAccount,
239
+ importViewingKey,
240
+ isAddress,
241
+ isAnnouncementForViewingKey,
242
+ isPublicKey,
243
+ isValidMnemonic,
244
+ lamportsToSol,
245
+ normalizeAddress,
246
+ parseAnnouncement,
247
+ parseEphemeralAnnouncement,
248
+ parseSOLToLamports,
249
+ parseTokenAmount,
250
+ processWebhookTransaction,
251
+ resolveTokenMetadata,
252
+ scanForPayments,
253
+ sendBatchSOLTransfer,
254
+ sendBatchSPLTransfer,
255
+ sendEnhancedSPLTransfer,
256
+ sendMaxSOLTransfer,
257
+ sendPrivateSPLTransfer,
258
+ sendSOLTransfer,
259
+ shieldedTransfer,
260
+ solToLamports,
261
+ subtractBlindingsSolana,
262
+ subtractCommitmentsSolana,
263
+ toAddress,
264
+ toBlockhashInfo,
265
+ toKeyPair,
266
+ toKitCommitment,
267
+ toKitInstruction,
268
+ toKitTransaction,
269
+ toPublicKey,
270
+ toSmallestUnits,
271
+ validateDerivationPath,
272
+ validateMnemonic,
273
+ validateSOLTransfer,
274
+ validateTransfer,
275
+ verifyAuthToken,
276
+ verifyOpeningSolana,
277
+ verifySPLTokenCommitment,
278
+ verifyWebhookSignature,
279
+ wipeEphemeralPrivateKey
280
+ };
@@ -0,0 +1,21 @@
1
+ import {
2
+ abi,
3
+ bytecode,
4
+ debug_symbols,
5
+ expression_width,
6
+ file_map,
7
+ hash,
8
+ noir_version,
9
+ validity_proof_default
10
+ } from "./chunk-I534WKN7.mjs";
11
+ import "./chunk-XGB3TDIC.mjs";
12
+ export {
13
+ abi,
14
+ bytecode,
15
+ debug_symbols,
16
+ validity_proof_default as default,
17
+ expression_width,
18
+ file_map,
19
+ hash,
20
+ noir_version
21
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sip-protocol/sdk",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "description": "Core SDK for Shielded Intents Protocol - Privacy layer for cross-chain transactions",
5
5
  "author": "SIP Protocol <hello@sip-protocol.org>",
6
6
  "homepage": "https://sip-protocol.org",
@@ -30,40 +30,61 @@
30
30
  "types": "./dist/proofs/noir.d.ts",
31
31
  "import": "./dist/proofs/noir.mjs",
32
32
  "require": "./dist/proofs/noir.js"
33
+ },
34
+ "./proofs/halo2": {
35
+ "types": "./dist/proofs/halo2.d.ts",
36
+ "import": "./dist/proofs/halo2.mjs",
37
+ "require": "./dist/proofs/halo2.js"
38
+ },
39
+ "./proofs/kimchi": {
40
+ "types": "./dist/proofs/kimchi.d.ts",
41
+ "import": "./dist/proofs/kimchi.mjs",
42
+ "require": "./dist/proofs/kimchi.js"
33
43
  }
34
44
  },
35
45
  "files": [
36
46
  "dist",
37
47
  "src"
38
48
  ],
39
- "scripts": {
40
- "build": "tsup src/index.ts src/browser.ts src/proofs/noir.ts --format cjs,esm --dts",
41
- "dev": "tsup src/index.ts src/browser.ts src/proofs/noir.ts --format cjs,esm --dts --watch",
42
- "lint": "eslint --ext .ts src/",
43
- "typecheck": "tsc --noEmit",
44
- "clean": "rm -rf dist",
45
- "test": "vitest",
46
- "test:coverage": "vitest run --coverage",
47
- "bench": "vitest bench --config vitest.bench.config.ts",
48
- "bench:json": "vitest bench --config vitest.bench.config.ts --outputJson benchmarks/results.json",
49
- "demo:auction": "tsx examples/auction-demo.ts"
49
+ "optionalDependencies": {
50
+ "https-proxy-agent": "^7.0.0",
51
+ "socks-proxy-agent": "^8.0.0"
50
52
  },
51
53
  "dependencies": {
52
- "@aztec/bb.js": "3.0.0-nightly.20251104",
54
+ "@aztec/bb.js": "3.0.2",
53
55
  "@ethereumjs/rlp": "^10.1.0",
54
- "@noble/ciphers": "^2.0.1",
56
+ "@jup-ag/api": "^6.0.48",
57
+ "@langchain/core": "^0.3.30",
58
+ "@langchain/openai": "^0.4.2",
59
+ "@magicblock-labs/ephemeral-rollups-sdk": "^0.8.0",
60
+ "@noble/ciphers": "^2.1.1",
55
61
  "@noble/curves": "^1.3.0",
56
62
  "@noble/hashes": "^1.3.3",
57
- "@noir-lang/noir_js": "1.0.0-beta.15",
58
- "@noir-lang/types": "1.0.0-beta.15",
63
+ "@noir-lang/noir_js": "1.0.0-beta.18",
64
+ "@noir-lang/types": "1.0.0-beta.18",
65
+ "@radr/shadowwire": "^1.1.2",
59
66
  "@scure/base": "^2.0.0",
67
+ "@scure/bip32": "^2.0.1",
68
+ "@scure/bip39": "^2.0.1",
60
69
  "@sip-protocol/types": "^0.2.1",
61
- "@solana/web3.js": "^1.95.0",
62
- "@solana/spl-token": "^0.4.0"
70
+ "@solana-program/compute-budget": "^0.11.0",
71
+ "@solana-program/system": "^0.10.0",
72
+ "@solana/compat": "^5.4.0",
73
+ "@solana/kit": "^5.4.0",
74
+ "@solana/spl-token": "^0.4.14",
75
+ "@solana/web3.js": "^1.98.4",
76
+ "@triton-one/yellowstone-grpc": "^4.0.2",
77
+ "langchain": "^1.2.10",
78
+ "pino": "^10.2.0",
79
+ "zod": "^4.3.5"
63
80
  },
64
81
  "devDependencies": {
82
+ "@grpc/grpc-js": "^1.14.3",
83
+ "@types/node": "^20.10.0",
65
84
  "@vitest/coverage-v8": "1.6.1",
66
- "fast-check": "^4.3.0",
85
+ "fast-check": "^4.5.3",
86
+ "https-proxy-agent": "^7.0.0",
87
+ "socks-proxy-agent": "^8.0.0",
67
88
  "tsup": "^8.0.0",
68
89
  "typescript": "^5.3.0",
69
90
  "vitest": "^1.1.0"
@@ -76,5 +97,17 @@
76
97
  "stealth-addresses",
77
98
  "zcash"
78
99
  ],
79
- "license": "MIT"
80
- }
100
+ "license": "MIT",
101
+ "scripts": {
102
+ "build": "tsup src/index.ts src/browser.ts src/proofs/noir.ts src/proofs/halo2.ts src/proofs/kimchi.ts --format cjs,esm --dts",
103
+ "dev": "tsup src/index.ts src/browser.ts src/proofs/noir.ts src/proofs/halo2.ts src/proofs/kimchi.ts --format cjs,esm --dts --watch",
104
+ "lint": "eslint --ext .ts src/",
105
+ "typecheck": "tsc --noEmit",
106
+ "clean": "rm -rf dist",
107
+ "test": "vitest",
108
+ "test:coverage": "vitest run --coverage",
109
+ "bench": "vitest bench --config vitest.bench.config.ts",
110
+ "bench:json": "vitest bench --config vitest.bench.config.ts --outputJson benchmarks/results.json",
111
+ "example:auction": "tsx examples/auction-example.ts"
112
+ }
113
+ }
@@ -2,6 +2,28 @@
2
2
  * Network Adapters for SIP Protocol
3
3
  *
4
4
  * Provides integration with external networks and services.
5
+ *
6
+ * ## Available Adapters
7
+ *
8
+ * ### Cross-Chain
9
+ * - **NEARIntentsAdapter** — NEAR 1Click API for cross-chain swaps
10
+ *
11
+ * ### Solana DEX
12
+ * - **JupiterAdapter** — Jupiter aggregator for private Solana swaps
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { JupiterAdapter, NEARIntentsAdapter } from '@sip-protocol/sdk'
17
+ *
18
+ * // Solana same-chain private swap
19
+ * const jupiter = new JupiterAdapter()
20
+ * const quote = await jupiter.getQuote({ inputMint: SOL, outputMint: USDC, amount: 1n })
21
+ * const result = await jupiter.swapPrivate({ quote, wallet, recipientMetaAddress })
22
+ *
23
+ * // Cross-chain via NEAR Intents
24
+ * const near = new NEARIntentsAdapter({ jwtToken })
25
+ * const prepared = await near.prepareSwap(request, recipientMetaAddress)
26
+ * ```
5
27
  */
6
28
 
7
29
  // NEAR Intents (1Click API)
@@ -17,3 +39,22 @@ export type {
17
39
  SwapResult,
18
40
  NEARIntentsAdapterConfig,
19
41
  } from './near-intents'
42
+
43
+ // Jupiter DEX (Solana)
44
+ export {
45
+ JupiterAdapter,
46
+ createJupiterAdapter,
47
+ SOLANA_TOKEN_MINTS,
48
+ JUPITER_API_ENDPOINT,
49
+ SOLANA_RPC_ENDPOINTS,
50
+ } from './jupiter'
51
+
52
+ export type {
53
+ JupiterAdapterConfig,
54
+ JupiterQuoteRequest,
55
+ JupiterQuote,
56
+ JupiterSwapParams,
57
+ JupiterPrivateSwapParams,
58
+ JupiterSwapResult,
59
+ JupiterPrivateSwapResult,
60
+ } from './jupiter'