solvoid 1.0.0 → 1.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 (223) hide show
  1. package/dist/client.d.ts +73 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +281 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/crypto/poseidon.d.ts +124 -0
  6. package/dist/crypto/poseidon.d.ts.map +1 -0
  7. package/dist/crypto/poseidon.js +293 -0
  8. package/dist/crypto/poseidon.js.map +1 -0
  9. package/dist/events/bus.d.ts +44 -0
  10. package/dist/events/bus.d.ts.map +1 -0
  11. package/dist/events/bus.js +83 -0
  12. package/dist/events/bus.js.map +1 -0
  13. package/dist/{sdk/index.d.ts → index.d.ts} +2 -3
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/{sdk/index.js → index.js} +21 -11
  16. package/dist/index.js.map +1 -0
  17. package/dist/integrity.d.ts +371 -0
  18. package/dist/integrity.d.ts.map +1 -0
  19. package/dist/integrity.js +260 -0
  20. package/dist/integrity.js.map +1 -0
  21. package/dist/network/shadow-rpc.d.ts +36 -0
  22. package/dist/network/shadow-rpc.d.ts.map +1 -0
  23. package/dist/network/shadow-rpc.js +163 -0
  24. package/dist/network/shadow-rpc.js.map +1 -0
  25. package/dist/{sdk/passport → passport}/manager.d.ts +9 -18
  26. package/dist/passport/manager.d.ts.map +1 -0
  27. package/dist/passport/manager.js +148 -0
  28. package/dist/passport/manager.js.map +1 -0
  29. package/dist/pipeline.d.ts +25 -0
  30. package/dist/pipeline.d.ts.map +1 -0
  31. package/dist/pipeline.js +127 -0
  32. package/dist/pipeline.js.map +1 -0
  33. package/dist/privacy/relayer.d.ts.map +1 -0
  34. package/dist/privacy/relayer.js.map +1 -0
  35. package/dist/privacy/shield.d.ts +27 -0
  36. package/dist/privacy/shield.d.ts.map +1 -0
  37. package/dist/privacy/shield.js +289 -0
  38. package/dist/privacy/shield.js.map +1 -0
  39. package/dist/{sdk/privacy-engine.d.ts → privacy-engine.d.ts} +2 -1
  40. package/dist/privacy-engine.d.ts.map +1 -0
  41. package/dist/{sdk/privacy-engine.js → privacy-engine.js} +24 -15
  42. package/dist/privacy-engine.js.map +1 -0
  43. package/dist/registry/idl-fetcher.d.ts +10 -0
  44. package/dist/registry/idl-fetcher.d.ts.map +1 -0
  45. package/dist/{sdk/registry → registry}/idl-fetcher.js +19 -16
  46. package/dist/registry/idl-fetcher.js.map +1 -0
  47. package/dist/registry/programs.d.ts.map +1 -0
  48. package/dist/registry/programs.js.map +1 -0
  49. package/dist/rescue/analyzer.d.ts +20 -0
  50. package/dist/rescue/analyzer.d.ts.map +1 -0
  51. package/dist/rescue/analyzer.js +137 -0
  52. package/dist/rescue/analyzer.js.map +1 -0
  53. package/dist/rescue/builder.d.ts +23 -0
  54. package/dist/rescue/builder.d.ts.map +1 -0
  55. package/dist/rescue/builder.js +164 -0
  56. package/dist/rescue/builder.js.map +1 -0
  57. package/dist/security/key-rotation.d.ts +153 -0
  58. package/dist/security/key-rotation.d.ts.map +1 -0
  59. package/dist/security/key-rotation.js +354 -0
  60. package/dist/security/key-rotation.js.map +1 -0
  61. package/dist/{sdk/semantics → semantics}/analyzer.d.ts.map +1 -1
  62. package/dist/{sdk/semantics → semantics}/analyzer.js.map +1 -1
  63. package/dist/semantics/decoder.d.ts.map +1 -0
  64. package/dist/semantics/decoder.js.map +1 -0
  65. package/dist/{sdk/semantics → semantics}/graph.d.ts.map +1 -1
  66. package/dist/{sdk/semantics → semantics}/graph.js.map +1 -1
  67. package/dist/semantics/idl-registry.d.ts +8 -0
  68. package/dist/semantics/idl-registry.d.ts.map +1 -0
  69. package/dist/{sdk/semantics → semantics}/idl-registry.js +23 -7
  70. package/dist/semantics/idl-registry.js.map +1 -0
  71. package/dist/semantics/types.d.ts +10 -0
  72. package/dist/semantics/types.d.ts.map +1 -0
  73. package/dist/{sdk → semantics}/types.js.map +1 -1
  74. package/dist/types.d.ts +23 -0
  75. package/dist/types.d.ts.map +1 -0
  76. package/dist/types.js.map +1 -0
  77. package/dist/utils/address.d.ts +10 -0
  78. package/dist/utils/address.d.ts.map +1 -0
  79. package/dist/utils/address.js +45 -0
  80. package/dist/utils/address.js.map +1 -0
  81. package/dist/utils/config.d.ts.map +1 -0
  82. package/dist/utils/config.js.map +1 -0
  83. package/dist/utils/logger.d.ts.map +1 -0
  84. package/dist/utils/logger.js.map +1 -0
  85. package/package.json +38 -76
  86. package/LICENSE +0 -21
  87. package/README.md +0 -123
  88. package/SECURITY.md +0 -174
  89. package/bin/solvoid-scan +0 -2
  90. package/dist/cli/privacy-scan.d.ts +0 -11
  91. package/dist/cli/privacy-scan.d.ts.map +0 -1
  92. package/dist/cli/privacy-scan.js +0 -112
  93. package/dist/cli/privacy-scan.js.map +0 -1
  94. package/dist/cli/solvoid-scan.d.ts +0 -13
  95. package/dist/cli/solvoid-scan.d.ts.map +0 -1
  96. package/dist/cli/solvoid-scan.js +0 -174
  97. package/dist/cli/solvoid-scan.js.map +0 -1
  98. package/dist/cli/test-forensics.d.ts +0 -2
  99. package/dist/cli/test-forensics.d.ts.map +0 -1
  100. package/dist/cli/test-forensics.js +0 -90
  101. package/dist/cli/test-forensics.js.map +0 -1
  102. package/dist/cli/test-scenarios.d.ts +0 -2
  103. package/dist/cli/test-scenarios.d.ts.map +0 -1
  104. package/dist/cli/test-scenarios.js +0 -96
  105. package/dist/cli/test-scenarios.js.map +0 -1
  106. package/dist/examples/enterprise-demo.js +0 -65
  107. package/dist/sdk/client.d.ts +0 -77
  108. package/dist/sdk/client.d.ts.map +0 -1
  109. package/dist/sdk/client.js +0 -180
  110. package/dist/sdk/client.js.map +0 -1
  111. package/dist/sdk/compliance/identity.d.ts +0 -34
  112. package/dist/sdk/compliance/identity.d.ts.map +0 -1
  113. package/dist/sdk/compliance/identity.js +0 -55
  114. package/dist/sdk/compliance/identity.js.map +0 -1
  115. package/dist/sdk/compliance/threat-model.d.ts +0 -14
  116. package/dist/sdk/compliance/threat-model.d.ts.map +0 -1
  117. package/dist/sdk/compliance/threat-model.js +0 -101
  118. package/dist/sdk/compliance/threat-model.js.map +0 -1
  119. package/dist/sdk/forensics/mev.js +0 -50
  120. package/dist/sdk/forensics/order-flow.d.ts +0 -20
  121. package/dist/sdk/forensics/order-flow.d.ts.map +0 -1
  122. package/dist/sdk/forensics/order-flow.js +0 -104
  123. package/dist/sdk/forensics/order-flow.js.map +0 -1
  124. package/dist/sdk/forensics/simulation.d.ts +0 -14
  125. package/dist/sdk/forensics/simulation.d.ts.map +0 -1
  126. package/dist/sdk/forensics/simulation.js +0 -45
  127. package/dist/sdk/forensics/simulation.js.map +0 -1
  128. package/dist/sdk/index.d.ts.map +0 -1
  129. package/dist/sdk/index.js.map +0 -1
  130. package/dist/sdk/network/shadow-rpc.d.ts +0 -18
  131. package/dist/sdk/network/shadow-rpc.d.ts.map +0 -1
  132. package/dist/sdk/network/shadow-rpc.js +0 -32
  133. package/dist/sdk/network/shadow-rpc.js.map +0 -1
  134. package/dist/sdk/obfuscator.d.ts +0 -36
  135. package/dist/sdk/obfuscator.d.ts.map +0 -1
  136. package/dist/sdk/obfuscator.js +0 -77
  137. package/dist/sdk/obfuscator.js.map +0 -1
  138. package/dist/sdk/passport/manager.d.ts.map +0 -1
  139. package/dist/sdk/passport/manager.js +0 -107
  140. package/dist/sdk/passport/manager.js.map +0 -1
  141. package/dist/sdk/pipeline.d.ts +0 -34
  142. package/dist/sdk/pipeline.d.ts.map +0 -1
  143. package/dist/sdk/pipeline.js +0 -81
  144. package/dist/sdk/pipeline.js.map +0 -1
  145. package/dist/sdk/privacy/confidential-transfer.d.ts +0 -81
  146. package/dist/sdk/privacy/confidential-transfer.d.ts.map +0 -1
  147. package/dist/sdk/privacy/confidential-transfer.js +0 -158
  148. package/dist/sdk/privacy/confidential-transfer.js.map +0 -1
  149. package/dist/sdk/privacy/history.d.ts +0 -11
  150. package/dist/sdk/privacy/history.d.ts.map +0 -1
  151. package/dist/sdk/privacy/history.js +0 -110
  152. package/dist/sdk/privacy/history.js.map +0 -1
  153. package/dist/sdk/privacy/light-protocol.d.ts +0 -42
  154. package/dist/sdk/privacy/light-protocol.d.ts.map +0 -1
  155. package/dist/sdk/privacy/light-protocol.js +0 -83
  156. package/dist/sdk/privacy/light-protocol.js.map +0 -1
  157. package/dist/sdk/privacy/relayer.d.ts.map +0 -1
  158. package/dist/sdk/privacy/relayer.js.map +0 -1
  159. package/dist/sdk/privacy/safe-obfuscator.d.ts +0 -38
  160. package/dist/sdk/privacy/safe-obfuscator.d.ts.map +0 -1
  161. package/dist/sdk/privacy/safe-obfuscator.js +0 -101
  162. package/dist/sdk/privacy/safe-obfuscator.js.map +0 -1
  163. package/dist/sdk/privacy/shield.d.ts +0 -34
  164. package/dist/sdk/privacy/shield.d.ts.map +0 -1
  165. package/dist/sdk/privacy/shield.js +0 -174
  166. package/dist/sdk/privacy/shield.js.map +0 -1
  167. package/dist/sdk/privacy/zk.js +0 -43
  168. package/dist/sdk/privacy-engine.d.ts.map +0 -1
  169. package/dist/sdk/privacy-engine.js.map +0 -1
  170. package/dist/sdk/registry/idl-fetcher.d.ts +0 -17
  171. package/dist/sdk/registry/idl-fetcher.d.ts.map +0 -1
  172. package/dist/sdk/registry/idl-fetcher.js.map +0 -1
  173. package/dist/sdk/registry/programs.d.ts.map +0 -1
  174. package/dist/sdk/registry/programs.js.map +0 -1
  175. package/dist/sdk/rescue/analyzer.d.ts +0 -22
  176. package/dist/sdk/rescue/analyzer.d.ts.map +0 -1
  177. package/dist/sdk/rescue/analyzer.js +0 -46
  178. package/dist/sdk/rescue/analyzer.js.map +0 -1
  179. package/dist/sdk/rescue/builder.d.ts +0 -16
  180. package/dist/sdk/rescue/builder.d.ts.map +0 -1
  181. package/dist/sdk/rescue/builder.js +0 -33
  182. package/dist/sdk/rescue/builder.js.map +0 -1
  183. package/dist/sdk/semantics/decoder.d.ts.map +0 -1
  184. package/dist/sdk/semantics/decoder.js.map +0 -1
  185. package/dist/sdk/semantics/idl-registry.d.ts +0 -7
  186. package/dist/sdk/semantics/idl-registry.d.ts.map +0 -1
  187. package/dist/sdk/semantics/idl-registry.js.map +0 -1
  188. package/dist/sdk/semantics/types.d.ts +0 -44
  189. package/dist/sdk/semantics/types.d.ts.map +0 -1
  190. package/dist/sdk/semantics/types.js.map +0 -1
  191. package/dist/sdk/simulator.d.ts +0 -15
  192. package/dist/sdk/simulator.d.ts.map +0 -1
  193. package/dist/sdk/simulator.js +0 -133
  194. package/dist/sdk/simulator.js.map +0 -1
  195. package/dist/sdk/types.d.ts +0 -53
  196. package/dist/sdk/types.d.ts.map +0 -1
  197. package/dist/sdk/utils/config.d.ts.map +0 -1
  198. package/dist/sdk/utils/config.js.map +0 -1
  199. package/dist/sdk/utils/logger.d.ts.map +0 -1
  200. package/dist/sdk/utils/logger.js.map +0 -1
  201. package/dist/tests/unit/idl-registry.test.d.ts +0 -2
  202. package/dist/tests/unit/idl-registry.test.d.ts.map +0 -1
  203. package/dist/tests/unit/idl-registry.test.js +0 -35
  204. package/dist/tests/unit/idl-registry.test.js.map +0 -1
  205. package/dist/tools/exploit_demonstration.js +0 -99
  206. package/dist/tools/gen-tx.js +0 -29
  207. package/dist/tools/get-recent-tx.js +0 -18
  208. /package/dist/{sdk/privacy → privacy}/relayer.d.ts +0 -0
  209. /package/dist/{sdk/privacy → privacy}/relayer.js +0 -0
  210. /package/dist/{sdk/registry → registry}/programs.d.ts +0 -0
  211. /package/dist/{sdk/registry → registry}/programs.js +0 -0
  212. /package/dist/{sdk/semantics → semantics}/analyzer.d.ts +0 -0
  213. /package/dist/{sdk/semantics → semantics}/analyzer.js +0 -0
  214. /package/dist/{sdk/semantics → semantics}/decoder.d.ts +0 -0
  215. /package/dist/{sdk/semantics → semantics}/decoder.js +0 -0
  216. /package/dist/{sdk/semantics → semantics}/graph.d.ts +0 -0
  217. /package/dist/{sdk/semantics → semantics}/graph.js +0 -0
  218. /package/dist/{sdk/semantics → semantics}/types.js +0 -0
  219. /package/dist/{sdk/types.js → types.js} +0 -0
  220. /package/dist/{sdk/utils → utils}/config.d.ts +0 -0
  221. /package/dist/{sdk/utils → utils}/config.js +0 -0
  222. /package/dist/{sdk/utils → utils}/logger.d.ts +0 -0
  223. /package/dist/{sdk/utils → utils}/logger.js +0 -0
@@ -1,158 +0,0 @@
1
- "use strict";
2
- /**
3
- * Token-2022 Confidential Transfers Manager
4
- *
5
- * IMPORTANT: This module provides interfaces for Token-2022's Confidential Transfer extension.
6
- *
7
- * CURRENT STATUS:
8
- * - ✅ supportsConfidentiality(): Check if a mint supports confidential transfers
9
- * - ⚠️ Other methods require the full @solana/spl-token-confidential package
10
- *
11
- * PRIVACY GUARANTEES:
12
- * - Encrypted balances hide the AMOUNT from chain observers
13
- * - Sender and receiver addresses are STILL VISIBLE
14
- * - Transaction timing is STILL VISIBLE
15
- * - This is AMOUNT privacy, not identity privacy
16
- *
17
- * FOR FULL PRIVACY: Use Light Protocol (LightProtocolManager) which provides
18
- * identity privacy through ZK state compression.
19
- */
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.ConfidentialTokenManager = exports.ZkProofRequiredError = void 0;
22
- const web3_js_1 = require("@solana/web3.js");
23
- // Token-2022 Program ID (not exported in older spl-token versions)
24
- const TOKEN_2022_PROGRAM_ID = new web3_js_1.PublicKey('TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb');
25
- /**
26
- * Error thrown when ZK proof generation is required but not available
27
- */
28
- class ZkProofRequiredError extends Error {
29
- constructor(operation) {
30
- super(`ZK Proof Generation Required for '${operation}'. ` +
31
- `Token-2022 Confidential Transfers require client-side ElGamal encryption and ZK proofs. ` +
32
- `You need to: ` +
33
- `1. Generate an ElGamal keypair for the user ` +
34
- `2. Encrypt the transfer amount using the recipient's ElGamal public key ` +
35
- `3. Generate a range proof (proves amount is valid without revealing it) ` +
36
- `4. Generate an equality proof (proves encrypted values match) ` +
37
- `See: https://spl.solana.com/confidential-token/deep-dive/encryption`);
38
- this.name = 'ZkProofRequiredError';
39
- }
40
- }
41
- exports.ZkProofRequiredError = ZkProofRequiredError;
42
- /**
43
- * Manager for Token2022 Confidential Transfers.
44
- * Provides safe wrappers around encrypted balance operations.
45
- *
46
- * NOTE: This is a simplified interface. For full functionality,
47
- * use @solana/spl-token-confidential which includes WASM modules
48
- * for ZK proof generation.
49
- */
50
- class ConfidentialTokenManager {
51
- constructor(connection) {
52
- this.connection = connection;
53
- }
54
- /**
55
- * Checks if a Mint supports Confidential Transfers.
56
- *
57
- * @param mint - The mint public key to check
58
- * @returns true if the mint has the ConfidentialTransferMint extension
59
- */
60
- async supportsConfidentiality(mint) {
61
- try {
62
- // Fetch mint account info manually (getMint not available in older versions)
63
- const accountInfo = await this.connection.getAccountInfo(mint);
64
- if (!accountInfo || accountInfo.owner.toBase58() !== TOKEN_2022_PROGRAM_ID.toBase58()) {
65
- return false;
66
- }
67
- // Token-2022 mints have TLV data after the base mint data (82 bytes)
68
- const BASE_MINT_SIZE = 82;
69
- if (accountInfo.data.length <= BASE_MINT_SIZE) {
70
- return false;
71
- }
72
- const tlvData = accountInfo.data.slice(BASE_MINT_SIZE);
73
- if (tlvData.length === 0) {
74
- return false;
75
- }
76
- // Parse TLV data to find ConfidentialTransferMint extension
77
- // Extension type for ConfidentialTransferMint is 10
78
- const CONFIDENTIAL_TRANSFER_MINT_EXTENSION = 10;
79
- let offset = 0;
80
- while (offset < tlvData.length) {
81
- if (offset + 4 > tlvData.length)
82
- break;
83
- const extensionType = tlvData.readUInt16LE(offset);
84
- const extensionLength = tlvData.readUInt16LE(offset + 2);
85
- if (extensionType === CONFIDENTIAL_TRANSFER_MINT_EXTENSION) {
86
- return true;
87
- }
88
- offset += 4 + extensionLength;
89
- }
90
- return false;
91
- }
92
- catch {
93
- return false;
94
- }
95
- }
96
- /**
97
- * Creates instructions to Initialize a User's Confidential Token Account.
98
- *
99
- * ⚠️ REQUIRES @solana/spl-token-confidential package
100
- *
101
- * This is a placeholder that throws an error with guidance.
102
- */
103
- async createEnableConfidentialAccountInstructions(mint, _owner, _tokenAccount) {
104
- const supported = await this.supportsConfidentiality(mint);
105
- if (!supported) {
106
- throw new Error(`Mint ${mint.toBase58()} does not support Confidential Transfers.`);
107
- }
108
- throw new ZkProofRequiredError('createEnableConfidentialAccountInstructions');
109
- }
110
- /**
111
- * Creates an instruction to DEPOSIT (Public -> Private).
112
- *
113
- * ⚠️ REQUIRES @solana/spl-token-confidential package
114
- */
115
- async createDepositPublicToPrivate(_mint, _tokenAccount, _owner, _amount, _decimals) {
116
- throw new ZkProofRequiredError('createDepositPublicToPrivate');
117
- }
118
- /**
119
- * Creates an ENCRYPTED TRANSFER instruction (Private -> Private).
120
- *
121
- * ⚠️ NOT IMPLEMENTED - REQUIRES ZK PROOF GENERATION ⚠️
122
- *
123
- * @throws ZkProofRequiredError Always - this operation requires external ZK tooling
124
- */
125
- async createEncryptedTransfer(_mint, _sourceTokenAccount, _destTokenAccount, _owner, _amount, _sourceElGamalKey) {
126
- throw new ZkProofRequiredError('createEncryptedTransfer');
127
- }
128
- /**
129
- * Creates an instruction to WITHDRAW (Private -> Public).
130
- *
131
- * ⚠️ REQUIRES @solana/spl-token-confidential package
132
- */
133
- async createWithdrawPrivateToPublic(_mint, _tokenAccount, _owner, _amount, _decimals) {
134
- throw new ZkProofRequiredError('createWithdrawPrivateToPublic');
135
- }
136
- /**
137
- * Get privacy capabilities summary for this manager
138
- */
139
- static getPrivacyCapabilities() {
140
- return {
141
- hides: [
142
- "Encrypted balance amounts (after deposit)",
143
- "Transfer amounts between confidential accounts"
144
- ],
145
- exposes: [
146
- "Sender address (fully visible)",
147
- "Receiver address (fully visible)",
148
- "Transaction timing (block timestamp)",
149
- "Deposit/withdrawal amounts (at boundaries)",
150
- "Token mint being used"
151
- ],
152
- recommendation: "Token-2022 Confidential Transfers provide AMOUNT privacy only. " +
153
- "For full identity privacy, combine with Light Protocol or use a mixer."
154
- };
155
- }
156
- }
157
- exports.ConfidentialTokenManager = ConfidentialTokenManager;
158
- //# sourceMappingURL=confidential-transfer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"confidential-transfer.js","sourceRoot":"","sources":["../../../sdk/privacy/confidential-transfer.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { CumulativeHistory, Leak } from '../types';
2
- export declare class HistoryManager {
3
- private historyFile;
4
- private cache;
5
- constructor(baseDir?: string);
6
- private load;
7
- save(): void;
8
- getHistory(address: string): CumulativeHistory;
9
- updateHistory(address: string, leaks: Leak[], relatedAddresses: string[]): void;
10
- }
11
- //# sourceMappingURL=history.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../sdk/privacy/history.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEnD,qBAAa,cAAc;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAA6C;gBAE9C,OAAO,CAAC,EAAE,MAAM;IAc5B,OAAO,CAAC,IAAI;IAcL,IAAI;IAKJ,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB;IAc9C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE;CAuBlF"}
@@ -1,110 +0,0 @@
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
- exports.HistoryManager = void 0;
37
- const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
39
- class HistoryManager {
40
- constructor(baseDir) {
41
- this.cache = new Map();
42
- // Use a hidden dot-folder in the implementation directory or user home
43
- // For CLI simplicity, we'll use a local .privacy-zero/ folder
44
- const root = baseDir || process.cwd();
45
- const privacyDir = path.join(root, '.privacy-zero');
46
- if (!fs.existsSync(privacyDir)) {
47
- try {
48
- fs.mkdirSync(privacyDir);
49
- }
50
- catch (e) { }
51
- }
52
- this.historyFile = path.join(privacyDir, 'history.json');
53
- this.load();
54
- }
55
- load() {
56
- if (fs.existsSync(this.historyFile)) {
57
- try {
58
- const data = JSON.parse(fs.readFileSync(this.historyFile, 'utf-8'));
59
- // Migrate array to map
60
- if (Array.isArray(data)) {
61
- data.forEach((h) => this.cache.set(h.address, h));
62
- }
63
- }
64
- catch (e) {
65
- console.warn("Failed to load history file, starting fresh.");
66
- }
67
- }
68
- }
69
- save() {
70
- const data = Array.from(this.cache.values());
71
- fs.writeFileSync(this.historyFile, JSON.stringify(data, null, 2));
72
- }
73
- getHistory(address) {
74
- if (!this.cache.has(address)) {
75
- this.cache.set(address, {
76
- address,
77
- firstSeen: Date.now(),
78
- lastSeen: Date.now(),
79
- transactionCount: 0,
80
- knownAssociates: [],
81
- privacyDebtScore: 0
82
- });
83
- }
84
- return this.cache.get(address);
85
- }
86
- updateHistory(address, leaks, relatedAddresses) {
87
- const record = this.getHistory(address);
88
- record.lastSeen = Date.now();
89
- record.transactionCount += 1;
90
- // Add associates
91
- relatedAddresses.forEach(a => {
92
- if (!record.knownAssociates.includes(a) && a !== address) {
93
- record.knownAssociates.push(a);
94
- }
95
- });
96
- // Add privacy debt
97
- let debtImpact = 0;
98
- leaks.forEach(l => {
99
- if (l.severity === 'CRITICAL')
100
- debtImpact += 10;
101
- else if (l.severity === 'HIGH')
102
- debtImpact += 5;
103
- else
104
- debtImpact += 1;
105
- });
106
- record.privacyDebtScore += debtImpact;
107
- }
108
- }
109
- exports.HistoryManager = HistoryManager;
110
- //# sourceMappingURL=history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../sdk/privacy/history.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Light Protocol (ZK State Compression) Manager
3
- *
4
- * This module provides interfaces for Light Protocol's privacy features.
5
- *
6
- * PRIVACY GUARANTEES:
7
- * - ✅ Hides sender identity (within anonymity set)
8
- * - ✅ Hides receiver identity (within anonymity set)
9
- * - ✅ Hides transfer amounts
10
- */
11
- import { PublicKey, TransactionInstruction } from '@solana/web3.js';
12
- /**
13
- * Manager for Light Protocol (ZK Compression).
14
- */
15
- export declare class LightProtocolManager {
16
- constructor(_rpcUrl: string);
17
- /**
18
- * Shields SOL from a Public Account to a Private (Compressed) Account.
19
- */
20
- createShieldSolInstruction(user: PublicKey, amountLamports: number): Promise<TransactionInstruction>;
21
- /**
22
- * Shields an SPL Token.
23
- * NOTE: Requires CompressedTokenProgram setup.
24
- */
25
- createShieldSplInstruction(_user: PublicKey, _mint: PublicKey, _tokenAccount: PublicKey, _amount: number): Promise<TransactionInstruction>;
26
- /**
27
- * Unshields (Decompresses) SOL back to Public State.
28
- *
29
- * NOTE: This is a simplified interface. Full implementation
30
- * requires input accounts and validity proofs from the Light SDK.
31
- */
32
- createUnshieldSolInstruction(_user: PublicKey, _destPublic: PublicKey, _amountLamports: number): Promise<TransactionInstruction>;
33
- /**
34
- * Get privacy capabilities summary
35
- */
36
- static getPrivacyCapabilities(): {
37
- hides: string[];
38
- exposes: string[];
39
- requirements: string[];
40
- };
41
- }
42
- //# sourceMappingURL=light-protocol.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"light-protocol.d.ts","sourceRoot":"","sources":["../../../sdk/privacy/light-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EACH,SAAS,EACT,sBAAsB,EACzB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,oBAAoB;gBACjB,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACU,0BAA0B,CACnC,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,sBAAsB,CAAC;IAgBlC;;;OAGG;IACU,0BAA0B,CACnC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,SAAS,EACxB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAOlC;;;;;OAKG;IACU,4BAA4B,CACrC,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,sBAAsB,CAAC;IAOlC;;OAEG;WACW,sBAAsB,IAAI;QACpC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,YAAY,EAAE,MAAM,EAAE,CAAC;KAC1B;CAmBJ"}
@@ -1,83 +0,0 @@
1
- "use strict";
2
- /**
3
- * Light Protocol (ZK State Compression) Manager
4
- *
5
- * This module provides interfaces for Light Protocol's privacy features.
6
- *
7
- * PRIVACY GUARANTEES:
8
- * - ✅ Hides sender identity (within anonymity set)
9
- * - ✅ Hides receiver identity (within anonymity set)
10
- * - ✅ Hides transfer amounts
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.LightProtocolManager = void 0;
14
- const stateless_js_1 = require("@lightprotocol/stateless.js");
15
- const web3_js_1 = require("@solana/web3.js");
16
- /**
17
- * Manager for Light Protocol (ZK Compression).
18
- */
19
- class LightProtocolManager {
20
- constructor(_rpcUrl) {
21
- // RPC URL stored for future operations
22
- }
23
- /**
24
- * Shields SOL from a Public Account to a Private (Compressed) Account.
25
- */
26
- async createShieldSolInstruction(user, amountLamports) {
27
- const ix = stateless_js_1.LightSystemProgram.compress({
28
- payer: user,
29
- toAddress: user,
30
- lamports: (0, stateless_js_1.bn)(amountLamports),
31
- outputStateTreeInfo: {
32
- tree: web3_js_1.PublicKey.default,
33
- queue: web3_js_1.PublicKey.default,
34
- cpiContext: undefined,
35
- treeType: stateless_js_1.TreeType.StateV1,
36
- nextTreeInfo: null
37
- }
38
- });
39
- return ix;
40
- }
41
- /**
42
- * Shields an SPL Token.
43
- * NOTE: Requires CompressedTokenProgram setup.
44
- */
45
- async createShieldSplInstruction(_user, _mint, _tokenAccount, _amount) {
46
- throw new Error("SPL Token compression requires CompressedTokenProgram setup. " +
47
- "Please use @lightprotocol/compressed-token for token operations.");
48
- }
49
- /**
50
- * Unshields (Decompresses) SOL back to Public State.
51
- *
52
- * NOTE: This is a simplified interface. Full implementation
53
- * requires input accounts and validity proofs from the Light SDK.
54
- */
55
- async createUnshieldSolInstruction(_user, _destPublic, _amountLamports) {
56
- throw new Error("Decompress requires input accounts and validity proofs. " +
57
- "Use @lightprotocol/stateless.js directly for unshielding operations.");
58
- }
59
- /**
60
- * Get privacy capabilities summary
61
- */
62
- static getPrivacyCapabilities() {
63
- return {
64
- hides: [
65
- "Sender identity (within anonymity set)",
66
- "Receiver identity (within anonymity set)",
67
- "Transfer amounts"
68
- ],
69
- exposes: [
70
- "That a shielding/unshielding transaction occurred",
71
- "Approximate timing",
72
- "Total value entering/exiting the shielded pool"
73
- ],
74
- requirements: [
75
- "Wait time between shield/unshield for better privacy",
76
- "Use fresh wallet for unshielding",
77
- "Avoid distinctive amounts"
78
- ]
79
- };
80
- }
81
- }
82
- exports.LightProtocolManager = LightProtocolManager;
83
- //# sourceMappingURL=light-protocol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"light-protocol.js","sourceRoot":"","sources":["../../../sdk/privacy/light-protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,8DAIqC;AACrC,6CAGyB;AAEzB;;GAEG;AACH,MAAa,oBAAoB;IAC7B,YAAY,OAAe;QACvB,uCAAuC;IAC3C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,0BAA0B,CACnC,IAAe,EACf,cAAsB;QAEtB,MAAM,EAAE,GAAG,iCAAkB,CAAC,QAAQ,CAAC;YACnC,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAA,iBAAE,EAAC,cAAc,CAAC;YAC5B,mBAAmB,EAAE;gBACjB,IAAI,EAAE,mBAAS,CAAC,OAAO;gBACvB,KAAK,EAAE,mBAAS,CAAC,OAAO;gBACxB,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,uBAAQ,CAAC,OAAO;gBAC1B,YAAY,EAAE,IAAI;aACrB;SACJ,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,0BAA0B,CACnC,KAAgB,EAChB,KAAgB,EAChB,aAAwB,EACxB,OAAe;QAEf,MAAM,IAAI,KAAK,CACX,+DAA+D;YAC/D,kEAAkE,CACrE,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,4BAA4B,CACrC,KAAgB,EAChB,WAAsB,EACtB,eAAuB;QAEvB,MAAM,IAAI,KAAK,CACX,0DAA0D;YAC1D,sEAAsE,CACzE,CAAC;IACN,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,sBAAsB;QAKhC,OAAO;YACH,KAAK,EAAE;gBACH,wCAAwC;gBACxC,0CAA0C;gBAC1C,kBAAkB;aACrB;YACD,OAAO,EAAE;gBACL,mDAAmD;gBACnD,oBAAoB;gBACpB,gDAAgD;aACnD;YACD,YAAY,EAAE;gBACV,sDAAsD;gBACtD,kCAAkC;gBAClC,2BAA2B;aAC9B;SACJ,CAAC;IACN,CAAC;CACJ;AAtFD,oDAsFC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../../sdk/privacy/relayer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EAIb,MAAM,iBAAiB,CAAC;AAIzB;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,OAAO,CAAU;gBAGrB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,UAAU,EAC5B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,GAAG;IAUC,KAAK,CAAC,IAAI,GAAE,MAAa;CAyCzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"relayer.js","sourceRoot":"","sources":["../../../sdk/privacy/relayer.ts"],"names":[],"mappings":";;;;;;AAAA,6CAKyB;AACzB,8CAAoE;AACpE,sDAAqD;AAErD;;;GAGG;AACH,MAAa,cAAc;IAIvB,YACI,UAAsB,EACtB,gBAA4B,EAC5B,UAAkB,EAClB,GAAQ;QAER,IAAI,CAAC,cAAc,GAAG,iBAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,uBAAc,CAAC,UAAU,EAAE,MAAM,EAAE;YACpD,mBAAmB,EAAE,WAAW;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAe,IAAI;QAClC,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAExB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;YACxD,IAAI,CAAC;gBACD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;gBAE3D,MAAM,CAAC,QAAQ,CAAC,GAAG,mBAAS,CAAC,sBAAsB,CAC/C,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EACtB,IAAI,CAAC,OAAO,CAAC,SAAS,CACzB,CAAC;gBAEF,MAAM,CAAC,QAAQ,CAAC,GAAG,mBAAS,CAAC,sBAAsB,CAC/C,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EACtB,IAAI,CAAC,OAAO,CAAC,SAAS,CACzB,CAAC;gBAEF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;qBAChC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC;qBACpC,QAAQ,CAAC;oBACN,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,IAAI,mBAAS,CAAC,SAAS,CAAC;oBACnC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;oBACtC,aAAa,EAAE,uBAAa,CAAC,SAAS;iBAClC,CAAC;qBACR,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBAC9B,GAAG,EAAE,CAAC;gBAEX,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACzE,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3DD,wCA2DC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * ⚠️ DEPRECATED - THIS MODULE IS REMOVED ⚠️
3
- *
4
- * The SafeObfuscator class has been REMOVED because:
5
- *
6
- * 1. It provided NO PRIVACY - the funding trace immediately deanonymizes users
7
- * 2. It gave users a FALSE SENSE OF SECURITY
8
- * 3. It was WORSE than doing nothing (unusual patterns draw attention)
9
- *
10
- * WHAT TO USE INSTEAD:
11
- *
12
- * For MEV Protection:
13
- * import { JitoClient } from '@jito-foundation/jito-ts';
14
- * // Use Jito bundles to bypass public mempool
15
- *
16
- * For Amount Privacy:
17
- * import { ConfidentialTokenManager } from './confidential-transfer';
18
- * // Use Token-2022 Confidential Transfers
19
- *
20
- * For Full Privacy:
21
- * import { LightProtocolManager } from './light-protocol';
22
- * // Use Light Protocol ZK Compression
23
- *
24
- * This file exists only to provide a clear error message for any code
25
- * that was previously using SafeObfuscator.
26
- */
27
- /**
28
- * @deprecated REMOVED - Use LightProtocolManager or ConfidentialTokenManager instead
29
- */
30
- export declare class SafeObfuscator {
31
- constructor(_forceDryRun?: boolean);
32
- obfuscateSafely(..._args: any[]): Promise<never>;
33
- }
34
- /**
35
- * Migration helper - shows users how to migrate from SafeObfuscator
36
- */
37
- export declare function getObfuscatorMigrationGuide(): string;
38
- //# sourceMappingURL=safe-obfuscator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safe-obfuscator.d.ts","sourceRoot":"","sources":["../../../sdk/privacy/safe-obfuscator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;GAEG;AACH,qBAAa,cAAc;gBACX,YAAY,GAAE,OAAe;IAa5B,eAAe,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;CAGhE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CA+CpD"}
@@ -1,101 +0,0 @@
1
- "use strict";
2
- /**
3
- * ⚠️ DEPRECATED - THIS MODULE IS REMOVED ⚠️
4
- *
5
- * The SafeObfuscator class has been REMOVED because:
6
- *
7
- * 1. It provided NO PRIVACY - the funding trace immediately deanonymizes users
8
- * 2. It gave users a FALSE SENSE OF SECURITY
9
- * 3. It was WORSE than doing nothing (unusual patterns draw attention)
10
- *
11
- * WHAT TO USE INSTEAD:
12
- *
13
- * For MEV Protection:
14
- * import { JitoClient } from '@jito-foundation/jito-ts';
15
- * // Use Jito bundles to bypass public mempool
16
- *
17
- * For Amount Privacy:
18
- * import { ConfidentialTokenManager } from './confidential-transfer';
19
- * // Use Token-2022 Confidential Transfers
20
- *
21
- * For Full Privacy:
22
- * import { LightProtocolManager } from './light-protocol';
23
- * // Use Light Protocol ZK Compression
24
- *
25
- * This file exists only to provide a clear error message for any code
26
- * that was previously using SafeObfuscator.
27
- */
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.SafeObfuscator = void 0;
30
- exports.getObfuscatorMigrationGuide = getObfuscatorMigrationGuide;
31
- /**
32
- * @deprecated REMOVED - Use LightProtocolManager or ConfidentialTokenManager instead
33
- */
34
- class SafeObfuscator {
35
- constructor(_forceDryRun = false) {
36
- throw new Error("SafeObfuscator has been REMOVED. " +
37
- "It provided no privacy and gave users a false sense of security. " +
38
- "The SessionKey funding trace immediately deanonymizes users. " +
39
- "\n\n" +
40
- "Use instead:\n" +
41
- "- For MEV protection: @jito-foundation/jito-ts\n" +
42
- "- For amount privacy: ConfidentialTokenManager\n" +
43
- "- For full privacy: LightProtocolManager\n");
44
- }
45
- async obfuscateSafely(..._args) {
46
- throw new Error("SafeObfuscator has been removed. See class documentation for alternatives.");
47
- }
48
- }
49
- exports.SafeObfuscator = SafeObfuscator;
50
- /**
51
- * Migration helper - shows users how to migrate from SafeObfuscator
52
- */
53
- function getObfuscatorMigrationGuide() {
54
- return `
55
- ╔══════════════════════════════════════════════════════════════════════════════╗
56
- ║ SAFE OBFUSCATOR MIGRATION GUIDE ║
57
- ╠══════════════════════════════════════════════════════════════════════════════╣
58
- ║ ║
59
- ║ SafeObfuscator has been REMOVED because it provided NO PRIVACY. ║
60
- ║ ║
61
- ║ The "obfuscation" approach was fundamentally broken: ║
62
- ║ • You had to fund the SessionKey from your main wallet ║
63
- ║ • This created an instant, permanent on-chain link ║
64
- ║ • Chain analysts could deanonymize in seconds ║
65
- ║ ║
66
- ║ ═══════════════════════════════════════════════════════════════════════ ║
67
- ║ MIGRATION OPTIONS: ║
68
- ║ ═══════════════════════════════════════════════════════════════════════ ║
69
- ║ ║
70
- ║ 1. FOR MEV PROTECTION (most common use case): ║
71
- ║ ┌─────────────────────────────────────────────────────────────────┐ ║
72
- ║ │ import { searcherClient } from '@jito-foundation/jito-ts'; │ ║
73
- ║ │ │ ║
74
- ║ │ // Send via Jito's private mempool │ ║
75
- ║ │ const bundle = await client.sendBundle([signedTx]); │ ║
76
- ║ └─────────────────────────────────────────────────────────────────┘ ║
77
- ║ ║
78
- ║ 2. FOR HIDING TRANSFER AMOUNTS: ║
79
- ║ ┌─────────────────────────────────────────────────────────────────┐ ║
80
- ║ │ import { ConfidentialTokenManager } from './confidential'; │ ║
81
- ║ │ │ ║
82
- ║ │ const manager = new ConfidentialTokenManager(connection); │ ║
83
- ║ │ const depositIx = await manager.createDepositPublicToPrivate( │ ║
84
- ║ │ mint, tokenAccount, owner, amount │ ║
85
- ║ │ ); │ ║
86
- ║ └─────────────────────────────────────────────────────────────────┘ ║
87
- ║ ║
88
- ║ 3. FOR FULL PRIVACY (hide sender, receiver, and amounts): ║
89
- ║ ┌─────────────────────────────────────────────────────────────────┐ ║
90
- ║ │ import { LightProtocolManager } from './light-protocol'; │ ║
91
- ║ │ │ ║
92
- ║ │ const manager = new LightProtocolManager(rpcUrl); │ ║
93
- ║ │ const shieldIx = await manager.createShieldSolInstruction( │ ║
94
- ║ │ userPubkey, amountLamports │ ║
95
- ║ │ ); │ ║
96
- ║ └─────────────────────────────────────────────────────────────────┘ ║
97
- ║ ║
98
- ╚══════════════════════════════════════════════════════════════════════════════╝
99
- `;
100
- }
101
- //# sourceMappingURL=safe-obfuscator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safe-obfuscator.js","sourceRoot":"","sources":["../../../sdk/privacy/safe-obfuscator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AA2BH,kEA+CC;AAxED;;GAEG;AACH,MAAa,cAAc;IACvB,YAAY,eAAwB,KAAK;QACrC,MAAM,IAAI,KAAK,CACX,mCAAmC;YACnC,mEAAmE;YACnE,+DAA+D;YAC/D,MAAM;YACN,gBAAgB;YAChB,kDAAkD;YAClD,kDAAkD;YAClD,4CAA4C,CAC/C,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,GAAG,KAAY;QACxC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAClG,CAAC;CACJ;AAjBD,wCAiBC;AAED;;GAEG;AACH,SAAgB,2BAA2B;IACvC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CV,CAAC;AACF,CAAC"}
@@ -1,34 +0,0 @@
1
- import { Connection, PublicKey } from '@solana/web3.js';
2
- export declare class PrivacyShield {
3
- private program;
4
- constructor(connection: Connection, _programId: string, idl: any, wallet: any);
5
- getProgramId(): PublicKey;
6
- generateCommitment(): {
7
- secret: NonSharedBuffer;
8
- nullifier: NonSharedBuffer;
9
- commitment: NonSharedBuffer;
10
- nullifierHash: NonSharedBuffer;
11
- commitmentHex: string;
12
- };
13
- deposit(commitment: Buffer): Promise<string>;
14
- /**
15
- * Build the authentication path for a commitment at a given index.
16
- */
17
- getMerkleProof(commitmentIndex: number, allCommitments: Buffer[]): Promise<{
18
- proof: Buffer[];
19
- indices: number[];
20
- }>;
21
- /**
22
- * Groth16 proof generation via snarkjs.
23
- */
24
- generateZKProof(secret: Buffer, nullifier: Buffer, root: Buffer, merklePath: {
25
- proof: Buffer[];
26
- indices: number[];
27
- }, wasmPath: string, zkeyPath: string): Promise<{
28
- proof: Buffer<ArrayBufferLike>;
29
- publicSignals: any;
30
- }>;
31
- private formatProof;
32
- withdraw(nullifierHash: Buffer, root: Buffer, proof: Buffer[], recipient: PublicKey, relayer: any, fee?: number): Promise<string>;
33
- }
34
- //# sourceMappingURL=shield.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shield.d.ts","sourceRoot":"","sources":["../../../sdk/privacy/shield.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,SAAS,EAEZ,MAAM,iBAAiB,CAAC;AAMzB,qBAAa,aAAa;IACtB,OAAO,CAAC,OAAO,CAAU;gBAEb,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IAYtE,YAAY,IAAI,SAAS;IAIzB,kBAAkB;;;;;;;IAsBZ,OAAO,CAAC,UAAU,EAAE,MAAM;IAevC;;OAEG;IACU,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgD/H;;OAEG;IACU,eAAe,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAClD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM;;;;IAqBpB,OAAO,CAAC,WAAW;IAUN,QAAQ,CACjB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EACZ,GAAG,GAAE,MAAU;CAoBtB"}