solvoid 1.1.7 → 1.3.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 (256) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +110 -90
  3. package/SECURITY.md +42 -0
  4. package/bin/solvoid-scan +2 -0
  5. package/dist/cli/commands/ghost.d.ts +11 -0
  6. package/dist/cli/commands/ghost.d.ts.map +1 -0
  7. package/dist/cli/commands/ghost.js +161 -0
  8. package/dist/cli/commands/ghost.js.map +1 -0
  9. package/dist/cli/commands/rescue.d.ts +7 -0
  10. package/dist/cli/commands/rescue.d.ts.map +1 -0
  11. package/dist/cli/commands/rescue.js +203 -0
  12. package/dist/cli/commands/rescue.js.map +1 -0
  13. package/dist/cli/comprehensive-rpc-list.d.ts +31 -0
  14. package/dist/cli/comprehensive-rpc-list.d.ts.map +1 -0
  15. package/dist/cli/comprehensive-rpc-list.js +341 -0
  16. package/dist/cli/comprehensive-rpc-list.js.map +1 -0
  17. package/dist/cli/demo-scan.d.ts +6 -0
  18. package/dist/cli/demo-scan.d.ts.map +1 -0
  19. package/dist/cli/demo-scan.js +178 -0
  20. package/dist/cli/demo-scan.js.map +1 -0
  21. package/dist/cli/enhanced-privacy-scan.d.ts +46 -0
  22. package/dist/cli/enhanced-privacy-scan.d.ts.map +1 -0
  23. package/dist/cli/enhanced-privacy-scan.js +422 -0
  24. package/dist/cli/enhanced-privacy-scan.js.map +1 -0
  25. package/dist/cli/ghost-test.d.ts +7 -0
  26. package/dist/cli/ghost-test.d.ts.map +1 -0
  27. package/dist/cli/ghost-test.js +192 -0
  28. package/dist/cli/ghost-test.js.map +1 -0
  29. package/dist/cli/simple-scan.d.ts +6 -0
  30. package/dist/cli/simple-scan.d.ts.map +1 -0
  31. package/dist/cli/simple-scan.js +250 -0
  32. package/dist/cli/simple-scan.js.map +1 -0
  33. package/dist/cli/solvoid-scan.d.ts +7 -0
  34. package/dist/cli/solvoid-scan.d.ts.map +1 -0
  35. package/dist/cli/solvoid-scan.js +263 -0
  36. package/dist/cli/solvoid-scan.js.map +1 -0
  37. package/dist/cli/ultimate-privacy-scan.d.ts +54 -0
  38. package/dist/cli/ultimate-privacy-scan.d.ts.map +1 -0
  39. package/dist/cli/ultimate-privacy-scan.js +543 -0
  40. package/dist/cli/ultimate-privacy-scan.js.map +1 -0
  41. package/dist/cli/utils/asset-scanner.d.ts +76 -0
  42. package/dist/cli/utils/asset-scanner.d.ts.map +1 -0
  43. package/dist/cli/utils/asset-scanner.js +224 -0
  44. package/dist/cli/utils/asset-scanner.js.map +1 -0
  45. package/dist/cli/utils/badge-generator.d.ts +33 -0
  46. package/dist/cli/utils/badge-generator.d.ts.map +1 -0
  47. package/dist/cli/utils/badge-generator.js +263 -0
  48. package/dist/cli/utils/badge-generator.js.map +1 -0
  49. package/dist/cli/utils/enhanced-monitoring.d.ts +13 -0
  50. package/dist/cli/utils/enhanced-monitoring.d.ts.map +1 -0
  51. package/dist/cli/utils/enhanced-monitoring.js +46 -0
  52. package/dist/cli/utils/enhanced-monitoring.js.map +1 -0
  53. package/dist/cli/utils/enhanced-pyth-feed.d.ts +20 -0
  54. package/dist/cli/utils/enhanced-pyth-feed.d.ts.map +1 -0
  55. package/dist/cli/utils/enhanced-pyth-feed.js +64 -0
  56. package/dist/cli/utils/enhanced-pyth-feed.js.map +1 -0
  57. package/dist/cli/utils/enhanced-threat-intel.d.ts +20 -0
  58. package/dist/cli/utils/enhanced-threat-intel.d.ts.map +1 -0
  59. package/dist/cli/utils/enhanced-threat-intel.js +57 -0
  60. package/dist/cli/utils/enhanced-threat-intel.js.map +1 -0
  61. package/dist/cli/utils/env-validator.d.ts +17 -0
  62. package/dist/cli/utils/env-validator.d.ts.map +1 -0
  63. package/dist/cli/utils/env-validator.js +257 -0
  64. package/dist/cli/utils/env-validator.js.map +1 -0
  65. package/dist/cli/utils/ghost-art.d.ts +14 -0
  66. package/dist/cli/utils/ghost-art.d.ts.map +1 -0
  67. package/dist/cli/utils/ghost-art.js +285 -0
  68. package/dist/cli/utils/ghost-art.js.map +1 -0
  69. package/dist/cli/utils/ghost-calculator.d.ts +52 -0
  70. package/dist/cli/utils/ghost-calculator.d.ts.map +1 -0
  71. package/dist/cli/utils/ghost-calculator.js +207 -0
  72. package/dist/cli/utils/ghost-calculator.js.map +1 -0
  73. package/dist/cli/utils/jito-mev-bundle.d.ts +9 -0
  74. package/dist/cli/utils/jito-mev-bundle.d.ts.map +1 -0
  75. package/dist/cli/utils/jito-mev-bundle.js +40 -0
  76. package/dist/cli/utils/jito-mev-bundle.js.map +1 -0
  77. package/dist/cli/utils/rescue-engine.d.ts +57 -0
  78. package/dist/cli/utils/rescue-engine.d.ts.map +1 -0
  79. package/dist/cli/utils/rescue-engine.js +192 -0
  80. package/dist/cli/utils/rescue-engine.js.map +1 -0
  81. package/dist/cli/utils/shadow-bridge.d.ts +20 -0
  82. package/dist/cli/utils/shadow-bridge.d.ts.map +1 -0
  83. package/dist/cli/utils/shadow-bridge.js +33 -0
  84. package/dist/cli/utils/shadow-bridge.js.map +1 -0
  85. package/dist/cli/utils/threat-detector.d.ts +48 -0
  86. package/dist/cli/utils/threat-detector.d.ts.map +1 -0
  87. package/dist/cli/utils/threat-detector.js +304 -0
  88. package/dist/cli/utils/threat-detector.js.map +1 -0
  89. package/dist/relayer/key-manager.d.ts +52 -0
  90. package/dist/relayer/key-manager.d.ts.map +1 -0
  91. package/dist/relayer/key-manager.js +356 -0
  92. package/dist/relayer/key-manager.js.map +1 -0
  93. package/dist/relayer/replay-protection.d.ts +94 -0
  94. package/dist/relayer/replay-protection.d.ts.map +1 -0
  95. package/dist/relayer/replay-protection.js +189 -0
  96. package/dist/relayer/replay-protection.js.map +1 -0
  97. package/dist/relayer/secure-service.d.ts +46 -0
  98. package/dist/relayer/secure-service.d.ts.map +1 -0
  99. package/dist/relayer/secure-service.js +538 -0
  100. package/dist/relayer/secure-service.js.map +1 -0
  101. package/dist/relayer/service.d.ts +25 -0
  102. package/dist/relayer/service.d.ts.map +1 -0
  103. package/dist/relayer/service.js +380 -0
  104. package/dist/relayer/service.js.map +1 -0
  105. package/dist/{client.d.ts → sdk/client.d.ts} +17 -0
  106. package/dist/sdk/client.d.ts.map +1 -0
  107. package/dist/{client.js → sdk/client.js} +69 -2
  108. package/dist/sdk/client.js.map +1 -0
  109. package/dist/sdk/crypto/poseidon.d.ts.map +1 -0
  110. package/dist/sdk/crypto/poseidon.js.map +1 -0
  111. package/dist/sdk/events/bus.d.ts.map +1 -0
  112. package/dist/sdk/events/bus.js.map +1 -0
  113. package/dist/sdk/index.d.ts.map +1 -0
  114. package/dist/sdk/index.js.map +1 -0
  115. package/dist/sdk/integrity.d.ts.map +1 -0
  116. package/dist/sdk/integrity.js.map +1 -0
  117. package/dist/sdk/network/shadow-rpc.d.ts.map +1 -0
  118. package/dist/sdk/network/shadow-rpc.js.map +1 -0
  119. package/dist/sdk/passport/manager.d.ts.map +1 -0
  120. package/dist/sdk/passport/manager.js.map +1 -0
  121. package/dist/sdk/pipeline.d.ts.map +1 -0
  122. package/dist/{pipeline.js → sdk/pipeline.js} +69 -12
  123. package/dist/sdk/pipeline.js.map +1 -0
  124. package/dist/sdk/polyfill.d.ts +8 -0
  125. package/dist/sdk/polyfill.d.ts.map +1 -0
  126. package/dist/sdk/polyfill.js +21 -0
  127. package/dist/sdk/polyfill.js.map +1 -0
  128. package/dist/sdk/privacy/relayer.d.ts.map +1 -0
  129. package/dist/sdk/privacy/relayer.js.map +1 -0
  130. package/dist/sdk/privacy/shield.d.ts.map +1 -0
  131. package/dist/sdk/privacy/shield.js.map +1 -0
  132. package/dist/sdk/privacy-engine.d.ts.map +1 -0
  133. package/dist/sdk/privacy-engine.js.map +1 -0
  134. package/dist/sdk/registry/idl-fetcher.d.ts.map +1 -0
  135. package/dist/sdk/registry/idl-fetcher.js.map +1 -0
  136. package/dist/sdk/registry/programs.d.ts.map +1 -0
  137. package/dist/sdk/registry/programs.js.map +1 -0
  138. package/dist/sdk/rescue/analyzer.d.ts.map +1 -0
  139. package/dist/sdk/rescue/analyzer.js.map +1 -0
  140. package/dist/sdk/rescue/builder.d.ts.map +1 -0
  141. package/dist/sdk/rescue/builder.js.map +1 -0
  142. package/dist/sdk/security/key-rotation.d.ts.map +1 -0
  143. package/dist/sdk/security/key-rotation.js.map +1 -0
  144. package/dist/{semantics → sdk/semantics}/analyzer.d.ts.map +1 -1
  145. package/dist/{semantics → sdk/semantics}/analyzer.js.map +1 -1
  146. package/dist/sdk/semantics/decoder.d.ts.map +1 -0
  147. package/dist/sdk/semantics/decoder.js.map +1 -0
  148. package/dist/{semantics → sdk/semantics}/graph.d.ts.map +1 -1
  149. package/dist/{semantics → sdk/semantics}/graph.js.map +1 -1
  150. package/dist/sdk/semantics/idl-registry.d.ts.map +1 -0
  151. package/dist/sdk/semantics/idl-registry.js.map +1 -0
  152. package/dist/sdk/semantics/types.d.ts.map +1 -0
  153. package/dist/sdk/semantics/types.js.map +1 -0
  154. package/dist/sdk/types.d.ts.map +1 -0
  155. package/dist/{semantics → sdk}/types.js.map +1 -1
  156. package/dist/sdk/utils/address.d.ts.map +1 -0
  157. package/dist/sdk/utils/address.js.map +1 -0
  158. package/dist/sdk/utils/config.d.ts.map +1 -0
  159. package/dist/sdk/utils/config.js.map +1 -0
  160. package/dist/sdk/utils/logger.d.ts.map +1 -0
  161. package/dist/sdk/utils/logger.js.map +1 -0
  162. package/dist/simple-scan.js +249 -0
  163. package/package.json +103 -36
  164. package/CHANGELOG.md +0 -33
  165. package/dist/client.d.ts.map +0 -1
  166. package/dist/client.js.map +0 -1
  167. package/dist/crypto/poseidon.d.ts.map +0 -1
  168. package/dist/crypto/poseidon.js.map +0 -1
  169. package/dist/events/bus.d.ts.map +0 -1
  170. package/dist/events/bus.js.map +0 -1
  171. package/dist/index.d.ts.map +0 -1
  172. package/dist/index.js.map +0 -1
  173. package/dist/integrity.d.ts.map +0 -1
  174. package/dist/integrity.js.map +0 -1
  175. package/dist/network/shadow-rpc.d.ts.map +0 -1
  176. package/dist/network/shadow-rpc.js.map +0 -1
  177. package/dist/passport/manager.d.ts.map +0 -1
  178. package/dist/passport/manager.js.map +0 -1
  179. package/dist/pipeline.d.ts.map +0 -1
  180. package/dist/pipeline.js.map +0 -1
  181. package/dist/privacy/relayer.d.ts.map +0 -1
  182. package/dist/privacy/relayer.js.map +0 -1
  183. package/dist/privacy/shield.d.ts.map +0 -1
  184. package/dist/privacy/shield.js.map +0 -1
  185. package/dist/privacy-engine.d.ts.map +0 -1
  186. package/dist/privacy-engine.js.map +0 -1
  187. package/dist/registry/idl-fetcher.d.ts.map +0 -1
  188. package/dist/registry/idl-fetcher.js.map +0 -1
  189. package/dist/registry/programs.d.ts.map +0 -1
  190. package/dist/registry/programs.js.map +0 -1
  191. package/dist/rescue/analyzer.d.ts.map +0 -1
  192. package/dist/rescue/analyzer.js.map +0 -1
  193. package/dist/rescue/builder.d.ts.map +0 -1
  194. package/dist/rescue/builder.js.map +0 -1
  195. package/dist/security/key-rotation.d.ts.map +0 -1
  196. package/dist/security/key-rotation.js.map +0 -1
  197. package/dist/semantics/decoder.d.ts.map +0 -1
  198. package/dist/semantics/decoder.js.map +0 -1
  199. package/dist/semantics/idl-registry.d.ts.map +0 -1
  200. package/dist/semantics/idl-registry.js.map +0 -1
  201. package/dist/semantics/types.d.ts.map +0 -1
  202. package/dist/types.d.ts.map +0 -1
  203. package/dist/types.js.map +0 -1
  204. package/dist/utils/address.d.ts.map +0 -1
  205. package/dist/utils/address.js.map +0 -1
  206. package/dist/utils/config.d.ts.map +0 -1
  207. package/dist/utils/config.js.map +0 -1
  208. package/dist/utils/logger.d.ts.map +0 -1
  209. package/dist/utils/logger.js.map +0 -1
  210. /package/dist/{crypto → sdk/crypto}/poseidon.d.ts +0 -0
  211. /package/dist/{crypto → sdk/crypto}/poseidon.js +0 -0
  212. /package/dist/{events → sdk/events}/bus.d.ts +0 -0
  213. /package/dist/{events → sdk/events}/bus.js +0 -0
  214. /package/dist/{index.d.ts → sdk/index.d.ts} +0 -0
  215. /package/dist/{index.js → sdk/index.js} +0 -0
  216. /package/dist/{integrity.d.ts → sdk/integrity.d.ts} +0 -0
  217. /package/dist/{integrity.js → sdk/integrity.js} +0 -0
  218. /package/dist/{network → sdk/network}/shadow-rpc.d.ts +0 -0
  219. /package/dist/{network → sdk/network}/shadow-rpc.js +0 -0
  220. /package/dist/{passport → sdk/passport}/manager.d.ts +0 -0
  221. /package/dist/{passport → sdk/passport}/manager.js +0 -0
  222. /package/dist/{pipeline.d.ts → sdk/pipeline.d.ts} +0 -0
  223. /package/dist/{privacy → sdk/privacy}/relayer.d.ts +0 -0
  224. /package/dist/{privacy → sdk/privacy}/relayer.js +0 -0
  225. /package/dist/{privacy → sdk/privacy}/shield.d.ts +0 -0
  226. /package/dist/{privacy → sdk/privacy}/shield.js +0 -0
  227. /package/dist/{privacy-engine.d.ts → sdk/privacy-engine.d.ts} +0 -0
  228. /package/dist/{privacy-engine.js → sdk/privacy-engine.js} +0 -0
  229. /package/dist/{registry → sdk/registry}/idl-fetcher.d.ts +0 -0
  230. /package/dist/{registry → sdk/registry}/idl-fetcher.js +0 -0
  231. /package/dist/{registry → sdk/registry}/programs.d.ts +0 -0
  232. /package/dist/{registry → sdk/registry}/programs.js +0 -0
  233. /package/dist/{rescue → sdk/rescue}/analyzer.d.ts +0 -0
  234. /package/dist/{rescue → sdk/rescue}/analyzer.js +0 -0
  235. /package/dist/{rescue → sdk/rescue}/builder.d.ts +0 -0
  236. /package/dist/{rescue → sdk/rescue}/builder.js +0 -0
  237. /package/dist/{security → sdk/security}/key-rotation.d.ts +0 -0
  238. /package/dist/{security → sdk/security}/key-rotation.js +0 -0
  239. /package/dist/{semantics → sdk/semantics}/analyzer.d.ts +0 -0
  240. /package/dist/{semantics → sdk/semantics}/analyzer.js +0 -0
  241. /package/dist/{semantics → sdk/semantics}/decoder.d.ts +0 -0
  242. /package/dist/{semantics → sdk/semantics}/decoder.js +0 -0
  243. /package/dist/{semantics → sdk/semantics}/graph.d.ts +0 -0
  244. /package/dist/{semantics → sdk/semantics}/graph.js +0 -0
  245. /package/dist/{semantics → sdk/semantics}/idl-registry.d.ts +0 -0
  246. /package/dist/{semantics → sdk/semantics}/idl-registry.js +0 -0
  247. /package/dist/{semantics → sdk/semantics}/types.d.ts +0 -0
  248. /package/dist/{semantics → sdk/semantics}/types.js +0 -0
  249. /package/dist/{types.d.ts → sdk/types.d.ts} +0 -0
  250. /package/dist/{types.js → sdk/types.js} +0 -0
  251. /package/dist/{utils → sdk/utils}/address.d.ts +0 -0
  252. /package/dist/{utils → sdk/utils}/address.js +0 -0
  253. /package/dist/{utils → sdk/utils}/config.d.ts +0 -0
  254. /package/dist/{utils → sdk/utils}/config.js +0 -0
  255. /package/dist/{utils → sdk/utils}/logger.d.ts +0 -0
  256. /package/dist/{utils → sdk/utils}/logger.js +0 -0
@@ -0,0 +1,263 @@
1
+ #!/usr/bin/node
2
+ "use strict";
3
+ /**
4
+ * SolVoid CLI: Primary command-line interface for the protocol.
5
+ * Orchestrates user interactions with our SDK, Relayer, and ZK proving pipeline.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.main = main;
45
+ const web3_js_1 = require("@solana/web3.js");
46
+ const dotenv = __importStar(require("dotenv"));
47
+ const cross_fetch_1 = __importDefault(require("cross-fetch"));
48
+ const client_1 = require("../sdk/client");
49
+ const integrity_1 = require("../sdk/integrity");
50
+ const ghost_1 = require("./commands/ghost");
51
+ const rescue_1 = require("./commands/rescue");
52
+ const commander_1 = require("commander");
53
+ dotenv.config();
54
+ const CLI_METADATA = {
55
+ origin: integrity_1.DataOrigin.CLI_ARG,
56
+ trust: integrity_1.DataTrust.UNTRUSTED,
57
+ createdAt: Date.now(),
58
+ owner: 'CLI User'
59
+ };
60
+ /**
61
+ * Registry for protocol administration and emergency control functions.
62
+ */
63
+ function registerAdminCommand(program, client) {
64
+ const admin = program.command('admin').description('Protocol Administration & Emergency Controls');
65
+ admin
66
+ .command('trigger-emergency')
67
+ .description('Trigger protocol-wide emergency fee multiplier')
68
+ .argument('<multiplier>', 'Fee multiplier (1-10)')
69
+ .argument('<reason>', 'Reason for emergency')
70
+ .action(async (multiplier, reason) => {
71
+ console.log(`Triggering emergency status (Multiplier: x${multiplier}) for: ${reason}`);
72
+ const tx = await client.triggerEmergencyMode(BigInt(multiplier), reason);
73
+ console.log(`Emergency mode active. Signature: ${tx}`);
74
+ });
75
+ admin
76
+ .command('disable-emergency')
77
+ .description('Deactivate emergency mode and reset fees')
78
+ .action(async () => {
79
+ console.log('Deactivating emergency mode...');
80
+ const tx = await client.disableEmergencyMode();
81
+ console.log(`Emergency mode disabled. Signature: ${tx}`);
82
+ });
83
+ admin
84
+ .command('pause')
85
+ .description('Pause all withdrawals via Circuit Breaker')
86
+ .action(async () => {
87
+ console.log('Triggering Circuit Breaker...');
88
+ const tx = await client.triggerCircuitBreaker();
89
+ console.log(`Protocol state: PAUSED. Signature: ${tx}`);
90
+ });
91
+ admin
92
+ .command('resume')
93
+ .description('Resume withdrawals and reset circuit breaker')
94
+ .action(async () => {
95
+ console.log('Resetting Circuit Breaker...');
96
+ const tx = await client.resetCircuitBreaker();
97
+ console.log(`Protocol state: RESUMED. Signature: ${tx}`);
98
+ });
99
+ }
100
+ async function main() {
101
+ const args = process.argv.slice(2);
102
+ const command = args[0];
103
+ if (!command || args.includes('--help')) {
104
+ console.log(`
105
+ SolVoid: The Digital Fortress for Solana
106
+
107
+ Commands:
108
+ protect <address> Execute a comprehensive privacy leak audit
109
+ rescue <address> Initiate atomic asset recovery for compromised wallets
110
+ shield <amount> Execute a private deposit (Surgical Shielding)
111
+ withdraw <secret> <nullifier> <recipient> Execute an unlinkable ZK withdrawal
112
+ ghost <address> Calculate decentralized Privacy Ghost Score
113
+ `);
114
+ process.exit(0);
115
+ }
116
+ if (command === 'ghost') {
117
+ const { Command } = await Promise.resolve().then(() => __importStar(require('commander')));
118
+ const program = new Command();
119
+ (0, ghost_1.registerGhostCommand)(program);
120
+ program.parse();
121
+ return;
122
+ }
123
+ if (command === 'rescue') {
124
+ const { Command } = await Promise.resolve().then(() => __importStar(require('commander')));
125
+ const program = new Command();
126
+ (0, rescue_1.registerRescueCommand)(program);
127
+ program.parse();
128
+ return;
129
+ }
130
+ /**
131
+ * Environment-driven configuration initialization with fallback values.
132
+ */
133
+ const rpcUrl = args.includes('--rpc') ? args[args.indexOf('--rpc') + 1] : (process.env.RPC_URL || 'https://api.mainnet-beta.solana.com');
134
+ const programId = args.includes('--program') ? args[args.indexOf('--program') + 1] : (process.env.PROGRAM_ID || 'Fg6PaFpoGXkYsidMpSsu3SWJYEHp7rQU9YSTFNDQ4F5i');
135
+ const relayerUrl = args.includes('--relayer') ? args[args.indexOf('--relayer') + 1] : (process.env.SHADOW_RELAYER_URL || 'http://localhost:3000');
136
+ /** Node-side configuration boundary enforcement. */
137
+ if (!rpcUrl || !programId)
138
+ throw new Error("Configuration Error: Missing RPC_URL or PROGRAM_ID environment variables.");
139
+ const wallet = web3_js_1.Keypair.generate();
140
+ const config = {
141
+ rpcUrl: rpcUrl ?? '',
142
+ programId: programId ?? '',
143
+ relayerUrl: relayerUrl ?? ''
144
+ };
145
+ const client = new client_1.SolVoidClient(config, wallet);
146
+ const program = new commander_1.Command();
147
+ program.name('solvoid-scan').description('SolVoid Digital Fortress CLI');
148
+ /** Global CLI option registration. */
149
+ program.option('--rpc <url>', 'Override specified Solana RPC URL', rpcUrl);
150
+ program.option('--program <id>', 'Override target SolVoid Program ID', programId);
151
+ program.option('--relayer <url>', 'Override target Shadow Relayer URL', relayerUrl);
152
+ /** Modular subcommand orchestration. */
153
+ (0, ghost_1.registerGhostCommand)(program);
154
+ (0, rescue_1.registerRescueCommand)(program);
155
+ registerAdminCommand(program, client);
156
+ if (command === 'ghost' || command === 'rescue' || command === 'admin') {
157
+ program.parse(process.argv);
158
+ return;
159
+ }
160
+ try {
161
+ switch (command) {
162
+ case 'protect': {
163
+ const rawAddress = args[1];
164
+ if (!rawAddress)
165
+ throw new Error("Argument Error: Target address is required.");
166
+ /** Parameter validation: CLI-to-SDK boundary enforcement. */
167
+ const enforcedAddr = (0, integrity_1.enforce)(integrity_1.PublicKeySchema, rawAddress, CLI_METADATA);
168
+ const address = new web3_js_1.PublicKey(enforcedAddr.value);
169
+ console.log(`\nInitiating privacy audit for ${address.toBase58()}...`);
170
+ const passport = await client.getPassport(address.toBase58());
171
+ const results = await client.protect(address);
172
+ console.log(`\n--- PRIVACY PASSPORT ---`);
173
+ const scoreColor = passport.overallScore < 50 ? '\x1b[31m' : passport.overallScore < 80 ? '\x1b[33m' : '\x1b[32m';
174
+ console.log(`Overall Privacy Score: ${scoreColor}${passport.overallScore}/100\x1b[0m`);
175
+ console.log(`Attained Badges: ${passport.badges.map(b => b.icon + ' ' + b.name).join(', ') || 'None'}`);
176
+ results.forEach((res) => {
177
+ console.log(`\n---------------------------------------------------------`);
178
+ console.log(`Audit Signature: ${res.signature}`);
179
+ if (res.leaks.length > 0) {
180
+ res.leaks.forEach((leak) => {
181
+ const sevColor = leak.severity === 'CRITICAL' ? '\x1b[31m' : '\x1b[33m';
182
+ console.log(` - [${sevColor}${leak.severity}\x1b[0m] ${leak.description}`);
183
+ });
184
+ }
185
+ });
186
+ break;
187
+ }
188
+ case 'rescue': {
189
+ const rawAddress = args[1];
190
+ if (!rawAddress)
191
+ throw new Error("Argument Error: Target address is required.");
192
+ const enforcedAddr = (0, integrity_1.enforce)(integrity_1.PublicKeySchema, rawAddress, CLI_METADATA);
193
+ const address = new web3_js_1.PublicKey(enforcedAddr.value);
194
+ console.log(`\nExecuting recovery analysis for: ${address.toBase58()}`);
195
+ const result = await client.rescue(address);
196
+ if (result.status === 'analysis_complete') {
197
+ console.log(`\nAnalysis Result: Detected ${result.leakCount} leak vectors.`);
198
+ console.log(`Current Score: ${result.currentScore} -> Remediation Potential: ${result.potentialScore}`);
199
+ }
200
+ else {
201
+ console.log(`\n${result.message}`);
202
+ }
203
+ break;
204
+ }
205
+ case 'shield': {
206
+ const amountSolRaw = args[1];
207
+ if (!amountSolRaw)
208
+ throw new Error("Argument Error: Shielding amount is required.");
209
+ const amountSol = parseFloat(amountSolRaw);
210
+ if (isNaN(amountSol) || amountSol <= 0)
211
+ throw new Error("Precision Error: Invalid SOL amount.");
212
+ /** Unit transformation: SOL to atomic Lamports for protocol precision. */
213
+ const amountLamports = Math.floor(amountSol * 1000000000);
214
+ console.log(`Executing surgical shield for ${amountSol} SOL (${amountLamports} Lamports)...`);
215
+ const { commitmentData } = await client.shield(amountLamports);
216
+ console.log('\n--- CRYPTOGRAPHIC SECRETS (EXTREMELY SENSITIVE) ---');
217
+ console.log('Secret Key:', commitmentData.secret);
218
+ console.log('Nullifier Key:', commitmentData.nullifier);
219
+ console.log('Commitment Hash:', commitmentData.commitmentHex);
220
+ break;
221
+ }
222
+ case 'withdraw': {
223
+ const secret = args[1];
224
+ const nullifier = args[2];
225
+ const rawRecipient = args[3];
226
+ const amountRaw = args[4];
227
+ if (!secret || !nullifier || !rawRecipient || !amountRaw)
228
+ throw new Error("Argument Error: All withdrawal primitives are required.");
229
+ const enforcedRecipient = (0, integrity_1.enforce)(integrity_1.PublicKeySchema, rawRecipient, CLI_METADATA);
230
+ const recipient = enforcedRecipient.value;
231
+ const amount = BigInt(Math.floor(parseFloat(amountRaw) * 1000000000));
232
+ console.log(`Preparing ZK witness for ${amountRaw} SOL withdrawal to ${recipient}...`);
233
+ /** State synchronization: Retrieving commitment tree from relay network. */
234
+ const response = await (0, cross_fetch_1.default)(`${relayerUrl}/commitments`);
235
+ if (!response.ok)
236
+ throw new Error(`Relay Failure: ${response.statusText}`);
237
+ const data = (await response.json());
238
+ const commitmentsHex = data.commitments;
239
+ /** Groth16 Prover initialization using standardized artifacts. */
240
+ const wasmPath = process.env.ZK_WASM_PATH || './circuits/withdraw_js/withdraw.wasm';
241
+ const zkeyPath = process.env.ZK_ZKEY_PATH || './circuits/build/withdraw_final.zkey';
242
+ const result = await client.prepareWithdrawal(secret, nullifier, amount, new web3_js_1.PublicKey(recipient), commitmentsHex, wasmPath, zkeyPath);
243
+ console.log('\nZK Withdrawal Proof Successfully Generated:');
244
+ console.log('Nullifier Hash:', result.nullifierHash);
245
+ console.log('Root Hash:', result.root);
246
+ console.log('Proof Wire Format:', JSON.stringify(result.proof, null, 2));
247
+ break;
248
+ }
249
+ default:
250
+ console.error(`Execution Error: Unknown command identifier '${command}'`);
251
+ process.exit(1);
252
+ }
253
+ }
254
+ catch (e) {
255
+ const msg = e instanceof Error ? e.message : 'Critical Execution Failure';
256
+ console.error('\x1b[31mError:\x1b[0m', msg);
257
+ process.exit(1);
258
+ }
259
+ }
260
+ if (require.main === module) {
261
+ main();
262
+ }
263
+ //# sourceMappingURL=solvoid-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solvoid-scan.js","sourceRoot":"","sources":["../../cli/solvoid-scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * SolVoid Ultimate Privacy Scanner - 40+ RPC Endpoints
4
+ * Maximum resilience with comprehensive RPC rotation and IP rotation
5
+ */
6
+ interface PrivacyScore {
7
+ score: number;
8
+ riskLevel: 'LOW' | 'MEDIUM' | 'HIGH';
9
+ breakdown: {
10
+ transactionPattern: number;
11
+ timingAnalysis: number;
12
+ amountDistribution: number;
13
+ networkBehavior: number;
14
+ };
15
+ recommendations: string[];
16
+ realData: {
17
+ totalTransactions: number;
18
+ totalSol: number;
19
+ uniqueCounterparties: number;
20
+ avgTransactionAmount: number;
21
+ lastActivity: string;
22
+ accountBalance: number;
23
+ dataSource: string;
24
+ rpcEndpoints: string[];
25
+ region: string;
26
+ };
27
+ }
28
+ declare class UltimatePrivacyScanner {
29
+ private workingRPCs;
30
+ private currentRPCIndex;
31
+ private failedRPCs;
32
+ private rpcStats;
33
+ private region;
34
+ constructor();
35
+ private initializeRPCStats;
36
+ private testRPCConnection;
37
+ private generateRandomIP;
38
+ private getBestRPCs;
39
+ private getWorkingConnection;
40
+ private markRPCFailed;
41
+ analyzeAddress(address: string): Promise<PrivacyScore>;
42
+ private fetchTransactionData;
43
+ private getRealisticBalance;
44
+ private generateRealisticDemoData;
45
+ private calculatePrivacyScore;
46
+ private scoreTransactionPattern;
47
+ private scoreTimingPattern;
48
+ private scoreAmountPattern;
49
+ private scoreNetworkBehavior;
50
+ private generateRecommendations;
51
+ getRPCStats(): void;
52
+ }
53
+ export { UltimatePrivacyScanner };
54
+ //# sourceMappingURL=ultimate-privacy-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ultimate-privacy-scan.d.ts","sourceRoot":"","sources":["../../cli/ultimate-privacy-scan.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAKH,UAAU,YAAY;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,SAAS,EAAE;QACP,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE;QACN,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,cAAM,sBAAsB;IACxB,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAA6E;IAC7F,OAAO,CAAC,MAAM,CAAoB;;IAOlC,OAAO,CAAC,kBAAkB;YAMZ,iBAAiB;IAqC/B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,WAAW;YAsBL,oBAAoB;IA6ClC,OAAO,CAAC,aAAa;IAaf,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YAoE9C,oBAAoB;IAqClC,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,yBAAyB;IA+DjC,OAAO,CAAC,qBAAqB;IA4E7B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,uBAAuB;IAmBxB,WAAW,IAAI,IAAI;CAuB7B;AAmHD,OAAO,EAAE,sBAAsB,EAAE,CAAC"}