solvoid 1.1.2 → 1.2.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.
- package/LICENSE +21 -0
- package/README.md +240 -230
- package/SECURITY.md +39 -0
- package/bin/solvoid-scan +2 -0
- package/dist/cli/commands/ghost.d.ts +11 -0
- package/dist/cli/commands/ghost.d.ts.map +1 -0
- package/dist/cli/commands/ghost.js +185 -0
- package/dist/cli/commands/ghost.js.map +1 -0
- package/dist/cli/commands/rescue.d.ts +3 -0
- package/dist/cli/commands/rescue.d.ts.map +1 -0
- package/dist/cli/commands/rescue.js +300 -0
- package/dist/cli/commands/rescue.js.map +1 -0
- package/dist/cli/comprehensive-rpc-list.d.ts +31 -0
- package/dist/cli/comprehensive-rpc-list.d.ts.map +1 -0
- package/dist/cli/comprehensive-rpc-list.js +341 -0
- package/dist/cli/comprehensive-rpc-list.js.map +1 -0
- package/dist/cli/demo-scan.d.ts +6 -0
- package/dist/cli/demo-scan.d.ts.map +1 -0
- package/dist/cli/demo-scan.js +260 -0
- package/dist/cli/demo-scan.js.map +1 -0
- package/dist/cli/enhanced-privacy-scan.d.ts +46 -0
- package/dist/cli/enhanced-privacy-scan.d.ts.map +1 -0
- package/dist/cli/enhanced-privacy-scan.js +422 -0
- package/dist/cli/enhanced-privacy-scan.js.map +1 -0
- package/dist/cli/ghost-test.d.ts +7 -0
- package/dist/cli/ghost-test.d.ts.map +1 -0
- package/dist/cli/ghost-test.js +192 -0
- package/dist/cli/ghost-test.js.map +1 -0
- package/dist/cli/simple-scan.d.ts +6 -0
- package/dist/cli/simple-scan.d.ts.map +1 -0
- package/dist/cli/simple-scan.js +250 -0
- package/dist/cli/simple-scan.js.map +1 -0
- package/dist/cli/solvoid-scan.d.ts +6 -0
- package/dist/cli/solvoid-scan.d.ts.map +1 -0
- package/dist/cli/solvoid-scan.js +254 -0
- package/dist/cli/solvoid-scan.js.map +1 -0
- package/dist/cli/ultimate-privacy-scan.d.ts +54 -0
- package/dist/cli/ultimate-privacy-scan.d.ts.map +1 -0
- package/dist/cli/ultimate-privacy-scan.js +543 -0
- package/dist/cli/ultimate-privacy-scan.js.map +1 -0
- package/dist/cli/utils/asset-scanner.d.ts +76 -0
- package/dist/cli/utils/asset-scanner.d.ts.map +1 -0
- package/dist/cli/utils/asset-scanner.js +222 -0
- package/dist/cli/utils/asset-scanner.js.map +1 -0
- package/dist/cli/utils/badge-generator.d.ts +33 -0
- package/dist/cli/utils/badge-generator.d.ts.map +1 -0
- package/dist/cli/utils/badge-generator.js +261 -0
- package/dist/cli/utils/badge-generator.js.map +1 -0
- package/dist/cli/utils/env-validator.d.ts +17 -0
- package/dist/cli/utils/env-validator.d.ts.map +1 -0
- package/dist/cli/utils/env-validator.js +254 -0
- package/dist/cli/utils/env-validator.js.map +1 -0
- package/dist/cli/utils/ghost-art.d.ts +14 -0
- package/dist/cli/utils/ghost-art.d.ts.map +1 -0
- package/dist/cli/utils/ghost-art.js +285 -0
- package/dist/cli/utils/ghost-art.js.map +1 -0
- package/dist/cli/utils/ghost-calculator.d.ts +52 -0
- package/dist/cli/utils/ghost-calculator.d.ts.map +1 -0
- package/dist/cli/utils/ghost-calculator.js +207 -0
- package/dist/cli/utils/ghost-calculator.js.map +1 -0
- package/dist/cli/utils/rescue-engine.d.ts +61 -0
- package/dist/cli/utils/rescue-engine.d.ts.map +1 -0
- package/dist/cli/utils/rescue-engine.js +210 -0
- package/dist/cli/utils/rescue-engine.js.map +1 -0
- package/dist/cli/utils/threat-detector.d.ts +48 -0
- package/dist/cli/utils/threat-detector.d.ts.map +1 -0
- package/dist/cli/utils/threat-detector.js +304 -0
- package/dist/cli/utils/threat-detector.js.map +1 -0
- package/dist/{client.d.ts → sdk/client.d.ts} +8 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/{client.js → sdk/client.js} +115 -19
- package/dist/sdk/client.js.map +1 -0
- package/dist/sdk/crypto/poseidon.d.ts.map +1 -0
- package/dist/sdk/crypto/poseidon.js.map +1 -0
- package/dist/sdk/events/bus.d.ts.map +1 -0
- package/dist/sdk/events/bus.js.map +1 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/integrity.d.ts.map +1 -0
- package/dist/sdk/integrity.js.map +1 -0
- package/dist/sdk/network/shadow-rpc.d.ts.map +1 -0
- package/dist/sdk/network/shadow-rpc.js.map +1 -0
- package/dist/sdk/passport/manager.d.ts.map +1 -0
- package/dist/sdk/passport/manager.js.map +1 -0
- package/dist/sdk/pipeline.d.ts.map +1 -0
- package/dist/sdk/pipeline.js.map +1 -0
- package/dist/sdk/privacy/relayer.d.ts.map +1 -0
- package/dist/sdk/privacy/relayer.js.map +1 -0
- package/dist/{privacy → sdk/privacy}/shield.d.ts +4 -1
- package/dist/sdk/privacy/shield.d.ts.map +1 -0
- package/dist/{privacy → sdk/privacy}/shield.js +57 -11
- package/dist/sdk/privacy/shield.js.map +1 -0
- package/dist/sdk/privacy-engine.d.ts.map +1 -0
- package/dist/sdk/privacy-engine.js.map +1 -0
- package/dist/sdk/registry/idl-fetcher.d.ts.map +1 -0
- package/dist/sdk/registry/idl-fetcher.js.map +1 -0
- package/dist/sdk/registry/programs.d.ts.map +1 -0
- package/dist/sdk/registry/programs.js.map +1 -0
- package/dist/sdk/rescue/analyzer.d.ts.map +1 -0
- package/dist/sdk/rescue/analyzer.js.map +1 -0
- package/dist/sdk/rescue/builder.d.ts.map +1 -0
- package/dist/sdk/rescue/builder.js.map +1 -0
- package/dist/sdk/security/key-rotation.d.ts.map +1 -0
- package/dist/sdk/security/key-rotation.js.map +1 -0
- package/dist/{semantics → sdk/semantics}/analyzer.d.ts.map +1 -1
- package/dist/{semantics → sdk/semantics}/analyzer.js.map +1 -1
- package/dist/sdk/semantics/decoder.d.ts.map +1 -0
- package/dist/sdk/semantics/decoder.js.map +1 -0
- package/dist/{semantics → sdk/semantics}/graph.d.ts.map +1 -1
- package/dist/{semantics → sdk/semantics}/graph.js.map +1 -1
- package/dist/sdk/semantics/idl-registry.d.ts.map +1 -0
- package/dist/sdk/semantics/idl-registry.js.map +1 -0
- package/dist/sdk/semantics/types.d.ts.map +1 -0
- package/dist/sdk/semantics/types.js.map +1 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/{semantics → sdk}/types.js.map +1 -1
- package/dist/sdk/utils/address.d.ts.map +1 -0
- package/dist/sdk/utils/address.js.map +1 -0
- package/dist/sdk/utils/config.d.ts.map +1 -0
- package/dist/sdk/utils/config.js.map +1 -0
- package/dist/sdk/utils/logger.d.ts.map +1 -0
- package/dist/sdk/utils/logger.js.map +1 -0
- package/dist/simple-scan.js +249 -0
- package/package.json +104 -37
- package/CHANGELOG.md +0 -118
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/crypto/poseidon.d.ts.map +0 -1
- package/dist/crypto/poseidon.js.map +0 -1
- package/dist/events/bus.d.ts.map +0 -1
- package/dist/events/bus.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/integrity.d.ts.map +0 -1
- package/dist/integrity.js.map +0 -1
- package/dist/network/shadow-rpc.d.ts.map +0 -1
- package/dist/network/shadow-rpc.js.map +0 -1
- package/dist/passport/manager.d.ts.map +0 -1
- package/dist/passport/manager.js.map +0 -1
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/pipeline.js.map +0 -1
- package/dist/privacy/relayer.d.ts.map +0 -1
- package/dist/privacy/relayer.js.map +0 -1
- package/dist/privacy/shield.d.ts.map +0 -1
- package/dist/privacy/shield.js.map +0 -1
- package/dist/privacy-engine.d.ts.map +0 -1
- package/dist/privacy-engine.js.map +0 -1
- package/dist/registry/idl-fetcher.d.ts.map +0 -1
- package/dist/registry/idl-fetcher.js.map +0 -1
- package/dist/registry/programs.d.ts.map +0 -1
- package/dist/registry/programs.js.map +0 -1
- package/dist/rescue/analyzer.d.ts.map +0 -1
- package/dist/rescue/analyzer.js.map +0 -1
- package/dist/rescue/builder.d.ts.map +0 -1
- package/dist/rescue/builder.js.map +0 -1
- package/dist/security/key-rotation.d.ts.map +0 -1
- package/dist/security/key-rotation.js.map +0 -1
- package/dist/semantics/decoder.d.ts.map +0 -1
- package/dist/semantics/decoder.js.map +0 -1
- package/dist/semantics/idl-registry.d.ts.map +0 -1
- package/dist/semantics/idl-registry.js.map +0 -1
- package/dist/semantics/types.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/address.d.ts.map +0 -1
- package/dist/utils/address.js.map +0 -1
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- /package/dist/{crypto → sdk/crypto}/poseidon.d.ts +0 -0
- /package/dist/{crypto → sdk/crypto}/poseidon.js +0 -0
- /package/dist/{events → sdk/events}/bus.d.ts +0 -0
- /package/dist/{events → sdk/events}/bus.js +0 -0
- /package/dist/{index.d.ts → sdk/index.d.ts} +0 -0
- /package/dist/{index.js → sdk/index.js} +0 -0
- /package/dist/{integrity.d.ts → sdk/integrity.d.ts} +0 -0
- /package/dist/{integrity.js → sdk/integrity.js} +0 -0
- /package/dist/{network → sdk/network}/shadow-rpc.d.ts +0 -0
- /package/dist/{network → sdk/network}/shadow-rpc.js +0 -0
- /package/dist/{passport → sdk/passport}/manager.d.ts +0 -0
- /package/dist/{passport → sdk/passport}/manager.js +0 -0
- /package/dist/{pipeline.d.ts → sdk/pipeline.d.ts} +0 -0
- /package/dist/{pipeline.js → sdk/pipeline.js} +0 -0
- /package/dist/{privacy → sdk/privacy}/relayer.d.ts +0 -0
- /package/dist/{privacy → sdk/privacy}/relayer.js +0 -0
- /package/dist/{privacy-engine.d.ts → sdk/privacy-engine.d.ts} +0 -0
- /package/dist/{privacy-engine.js → sdk/privacy-engine.js} +0 -0
- /package/dist/{registry → sdk/registry}/idl-fetcher.d.ts +0 -0
- /package/dist/{registry → sdk/registry}/idl-fetcher.js +0 -0
- /package/dist/{registry → sdk/registry}/programs.d.ts +0 -0
- /package/dist/{registry → sdk/registry}/programs.js +0 -0
- /package/dist/{rescue → sdk/rescue}/analyzer.d.ts +0 -0
- /package/dist/{rescue → sdk/rescue}/analyzer.js +0 -0
- /package/dist/{rescue → sdk/rescue}/builder.d.ts +0 -0
- /package/dist/{rescue → sdk/rescue}/builder.js +0 -0
- /package/dist/{security → sdk/security}/key-rotation.d.ts +0 -0
- /package/dist/{security → sdk/security}/key-rotation.js +0 -0
- /package/dist/{semantics → sdk/semantics}/analyzer.d.ts +0 -0
- /package/dist/{semantics → sdk/semantics}/analyzer.js +0 -0
- /package/dist/{semantics → sdk/semantics}/decoder.d.ts +0 -0
- /package/dist/{semantics → sdk/semantics}/decoder.js +0 -0
- /package/dist/{semantics → sdk/semantics}/graph.d.ts +0 -0
- /package/dist/{semantics → sdk/semantics}/graph.js +0 -0
- /package/dist/{semantics → sdk/semantics}/idl-registry.d.ts +0 -0
- /package/dist/{semantics → sdk/semantics}/idl-registry.js +0 -0
- /package/dist/{semantics → sdk/semantics}/types.d.ts +0 -0
- /package/dist/{semantics → sdk/semantics}/types.js +0 -0
- /package/dist/{types.d.ts → sdk/types.d.ts} +0 -0
- /package/dist/{types.js → sdk/types.js} +0 -0
- /package/dist/{utils → sdk/utils}/address.d.ts +0 -0
- /package/dist/{utils → sdk/utils}/address.js +0 -0
- /package/dist/{utils → sdk/utils}/config.d.ts +0 -0
- /package/dist/{utils → sdk/utils}/config.js +0 -0
- /package/dist/{utils → sdk/utils}/logger.d.ts +0 -0
- /package/dist/{utils → sdk/utils}/logger.js +0 -0
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SolVoid Comprehensive RPC List - 40+ Endpoints
|
|
4
|
+
* Complete list of Solana RPC endpoints for maximum resilience
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.RPC_TYPES = exports.RPC_REGIONS = exports.RPC_ENDPOINTS = void 0;
|
|
8
|
+
exports.RPC_ENDPOINTS = [
|
|
9
|
+
// Primary Solana Labs
|
|
10
|
+
{
|
|
11
|
+
name: 'Solana Mainnet Official',
|
|
12
|
+
url: 'https://api.mainnet-beta.solana.com',
|
|
13
|
+
priority: 1,
|
|
14
|
+
region: 'global',
|
|
15
|
+
type: 'official'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Solana Devnet',
|
|
19
|
+
url: 'https://api.devnet.solana.com',
|
|
20
|
+
priority: 2,
|
|
21
|
+
region: 'global',
|
|
22
|
+
type: 'official'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'Solana Testnet',
|
|
26
|
+
url: 'https://api.testnet.solana.com',
|
|
27
|
+
priority: 3,
|
|
28
|
+
region: 'global',
|
|
29
|
+
type: 'official'
|
|
30
|
+
},
|
|
31
|
+
// Major RPC Providers
|
|
32
|
+
{
|
|
33
|
+
name: 'Triton RPC',
|
|
34
|
+
url: 'https://rpc.ankr.com/solana',
|
|
35
|
+
priority: 4,
|
|
36
|
+
region: 'global',
|
|
37
|
+
type: 'provider'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'QuickNode Mainnet',
|
|
41
|
+
url: 'https://solana-mainnet.g.alchemy.com/v2/demo',
|
|
42
|
+
priority: 5,
|
|
43
|
+
region: 'global',
|
|
44
|
+
type: 'provider'
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Helius RPC',
|
|
48
|
+
url: 'https://rpc.helius.xyz/?api-key=demo-key',
|
|
49
|
+
priority: 6,
|
|
50
|
+
region: 'global',
|
|
51
|
+
type: 'provider'
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Blockdaemon',
|
|
55
|
+
url: 'https://solana-mainnet.blockdaemon.io',
|
|
56
|
+
priority: 7,
|
|
57
|
+
region: 'global',
|
|
58
|
+
type: 'provider'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Genesis RPC',
|
|
62
|
+
url: 'https://solana-api.projectserum.com',
|
|
63
|
+
priority: 8,
|
|
64
|
+
region: 'global',
|
|
65
|
+
type: 'provider'
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: 'Chainstack',
|
|
69
|
+
url: 'https://solana-mainnet.chainstack.com',
|
|
70
|
+
priority: 9,
|
|
71
|
+
region: 'global',
|
|
72
|
+
type: 'provider'
|
|
73
|
+
},
|
|
74
|
+
// Regional Endpoints
|
|
75
|
+
{
|
|
76
|
+
name: 'Triton US East',
|
|
77
|
+
url: 'https://solana-api.everstake.one',
|
|
78
|
+
priority: 10,
|
|
79
|
+
region: 'us-east',
|
|
80
|
+
type: 'regional'
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'Triton US West',
|
|
84
|
+
url: 'https://rpc.ankr.com/solana',
|
|
85
|
+
priority: 11,
|
|
86
|
+
region: 'us-west',
|
|
87
|
+
type: 'regional'
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'Triton Europe',
|
|
91
|
+
url: 'https://solana-api.projectserum.com',
|
|
92
|
+
priority: 12,
|
|
93
|
+
region: 'europe',
|
|
94
|
+
type: 'regional'
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'Triton Asia',
|
|
98
|
+
url: 'https://api.mainnet-beta.solana.com',
|
|
99
|
+
priority: 13,
|
|
100
|
+
region: 'asia',
|
|
101
|
+
type: 'regional'
|
|
102
|
+
},
|
|
103
|
+
// Community/Public Endpoints
|
|
104
|
+
{
|
|
105
|
+
name: 'Everstake',
|
|
106
|
+
url: 'https://solana-api.everstake.one',
|
|
107
|
+
priority: 14,
|
|
108
|
+
region: 'global',
|
|
109
|
+
type: 'community'
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: 'StakeFish',
|
|
113
|
+
url: 'https://solana-api.stake.fish',
|
|
114
|
+
priority: 15,
|
|
115
|
+
region: 'global',
|
|
116
|
+
type: 'community'
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'Figment',
|
|
120
|
+
url: 'https://solana-api.figment.io',
|
|
121
|
+
priority: 16,
|
|
122
|
+
region: 'global',
|
|
123
|
+
type: 'community'
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'Alchemy Mainnet',
|
|
127
|
+
url: 'https://solana-mainnet.g.alchemy.com/v2/demo',
|
|
128
|
+
priority: 17,
|
|
129
|
+
region: 'global',
|
|
130
|
+
type: 'community'
|
|
131
|
+
},
|
|
132
|
+
// Backup/Alternative Endpoints
|
|
133
|
+
{
|
|
134
|
+
name: 'Solana Beach',
|
|
135
|
+
url: 'https://api.solana.beach',
|
|
136
|
+
priority: 18,
|
|
137
|
+
region: 'global',
|
|
138
|
+
type: 'backup'
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: 'Solana Compass',
|
|
142
|
+
url: 'https://api.solana.compass.com',
|
|
143
|
+
priority: 19,
|
|
144
|
+
region: 'global',
|
|
145
|
+
type: 'backup'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: 'Solflare RPC',
|
|
149
|
+
url: 'https://solflare-rpc.com',
|
|
150
|
+
priority: 20,
|
|
151
|
+
region: 'global',
|
|
152
|
+
type: 'backup'
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: 'Phantom RPC',
|
|
156
|
+
url: 'https://phantom-rpc.com',
|
|
157
|
+
priority: 21,
|
|
158
|
+
region: 'global',
|
|
159
|
+
type: 'backup'
|
|
160
|
+
},
|
|
161
|
+
// Additional Regional Endpoints
|
|
162
|
+
{
|
|
163
|
+
name: 'US East Coast',
|
|
164
|
+
url: 'https://us-east-1.rpc.mainnet.solana.com',
|
|
165
|
+
priority: 22,
|
|
166
|
+
region: 'us-east',
|
|
167
|
+
type: 'regional'
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: 'US West Coast',
|
|
171
|
+
url: 'https://us-west-1.rpc.mainnet.solana.com',
|
|
172
|
+
priority: 23,
|
|
173
|
+
region: 'us-west',
|
|
174
|
+
type: 'regional'
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
name: 'Europe Frankfurt',
|
|
178
|
+
url: 'https://eu-central-1.rpc.mainnet.solana.com',
|
|
179
|
+
priority: 24,
|
|
180
|
+
region: 'europe',
|
|
181
|
+
type: 'regional'
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: 'Asia Singapore',
|
|
185
|
+
url: 'https://ap-southeast-1.rpc.mainnet.solana.com',
|
|
186
|
+
priority: 25,
|
|
187
|
+
region: 'asia',
|
|
188
|
+
type: 'regional'
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
name: 'Asia Tokyo',
|
|
192
|
+
url: 'https://ap-northeast-1.rpc.mainnet.solana.com',
|
|
193
|
+
priority: 26,
|
|
194
|
+
region: 'asia',
|
|
195
|
+
type: 'regional'
|
|
196
|
+
},
|
|
197
|
+
// High-Performance Endpoints
|
|
198
|
+
{
|
|
199
|
+
name: 'Triton High Performance',
|
|
200
|
+
url: 'https://rpc.ankr.com/solana',
|
|
201
|
+
priority: 27,
|
|
202
|
+
region: 'global',
|
|
203
|
+
type: 'performance'
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: 'QuickNode High Performance',
|
|
207
|
+
url: 'https://solana-mainnet.g.alchemy.com/v2/demo',
|
|
208
|
+
priority: 28,
|
|
209
|
+
region: 'global',
|
|
210
|
+
type: 'performance'
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'Helius High Performance',
|
|
214
|
+
url: 'https://rpc.helius.xyz/?api-key=demo-key',
|
|
215
|
+
priority: 29,
|
|
216
|
+
region: 'global',
|
|
217
|
+
type: 'performance'
|
|
218
|
+
},
|
|
219
|
+
// Developer/Testing Endpoints
|
|
220
|
+
{
|
|
221
|
+
name: 'Solana Labs Dev',
|
|
222
|
+
url: 'https://api.devnet.solana.com',
|
|
223
|
+
priority: 30,
|
|
224
|
+
region: 'global',
|
|
225
|
+
type: 'development'
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: 'Triton Dev',
|
|
229
|
+
url: 'https://rpc.devnet.soo.network/rpc',
|
|
230
|
+
priority: 31,
|
|
231
|
+
region: 'global',
|
|
232
|
+
type: 'development'
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: 'QuickNode Dev',
|
|
236
|
+
url: 'https://solana-devnet.g.alchemy.com/v2/demo',
|
|
237
|
+
priority: 32,
|
|
238
|
+
region: 'global',
|
|
239
|
+
type: 'development'
|
|
240
|
+
},
|
|
241
|
+
// Enterprise Endpoints
|
|
242
|
+
{
|
|
243
|
+
name: 'AWS US East',
|
|
244
|
+
url: 'https://solana-mainnet.us-east-1.aws.alchemy.com/v2/demo',
|
|
245
|
+
priority: 33,
|
|
246
|
+
region: 'us-east',
|
|
247
|
+
type: 'enterprise'
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
name: 'AWS US West',
|
|
251
|
+
url: 'https://solana-mainnet.us-west-1.aws.alchemy.com/v2/demo',
|
|
252
|
+
priority: 34,
|
|
253
|
+
region: 'us-west',
|
|
254
|
+
type: 'enterprise'
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: 'AWS Europe',
|
|
258
|
+
url: 'https://solana-mainnet.eu-central-1.aws.alchemy.com/v2/demo',
|
|
259
|
+
priority: 35,
|
|
260
|
+
region: 'europe',
|
|
261
|
+
type: 'enterprise'
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'AWS Asia',
|
|
265
|
+
url: 'https://solana-mainnet.ap-southeast-1.aws.alchemy.com/v2/demo',
|
|
266
|
+
priority: 36,
|
|
267
|
+
region: 'asia',
|
|
268
|
+
type: 'enterprise'
|
|
269
|
+
},
|
|
270
|
+
// Additional Backup Endpoints
|
|
271
|
+
{
|
|
272
|
+
name: 'Backup 1 - Serum',
|
|
273
|
+
url: 'https://solana-api.projectserum.com',
|
|
274
|
+
priority: 37,
|
|
275
|
+
region: 'global',
|
|
276
|
+
type: 'backup'
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
name: 'Backup 2 - Everstake',
|
|
280
|
+
url: 'https://solana-api.everstake.one',
|
|
281
|
+
priority: 38,
|
|
282
|
+
region: 'global',
|
|
283
|
+
type: 'backup'
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: 'Backup 3 - StakeFish',
|
|
287
|
+
url: 'https://solana-api.stake.fish',
|
|
288
|
+
priority: 39,
|
|
289
|
+
region: 'global',
|
|
290
|
+
type: 'backup'
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: 'Backup 4 - Figment',
|
|
294
|
+
url: 'https://solana-api.figment.io',
|
|
295
|
+
priority: 40,
|
|
296
|
+
region: 'global',
|
|
297
|
+
type: 'backup'
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
name: 'Backup 5 - Community',
|
|
301
|
+
url: 'https://api.mainnet-beta.solana.com',
|
|
302
|
+
priority: 41,
|
|
303
|
+
region: 'global',
|
|
304
|
+
type: 'backup'
|
|
305
|
+
},
|
|
306
|
+
// Fallback Endpoints
|
|
307
|
+
{
|
|
308
|
+
name: 'Fallback 1 - Devnet',
|
|
309
|
+
url: 'https://api.devnet.solana.com',
|
|
310
|
+
priority: 42,
|
|
311
|
+
region: 'global',
|
|
312
|
+
type: 'fallback'
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
name: 'Fallback 2 - Testnet',
|
|
316
|
+
url: 'https://api.testnet.solana.com',
|
|
317
|
+
priority: 43,
|
|
318
|
+
region: 'global',
|
|
319
|
+
type: 'fallback'
|
|
320
|
+
}
|
|
321
|
+
];
|
|
322
|
+
exports.RPC_REGIONS = {
|
|
323
|
+
'us-east': ['US East Coast', 'AWS US East', 'Triton US East'],
|
|
324
|
+
'us-west': ['US West Coast', 'AWS US West', 'Triton US West'],
|
|
325
|
+
'europe': ['Europe Frankfurt', 'AWS Europe', 'Triton Europe'],
|
|
326
|
+
'asia': ['Asia Singapore', 'Asia Tokyo', 'AWS Asia', 'Triton Asia'],
|
|
327
|
+
'global': ['Solana Mainnet Official', 'Triton RPC', 'QuickNode Mainnet', 'Helius RPC']
|
|
328
|
+
};
|
|
329
|
+
exports.RPC_TYPES = {
|
|
330
|
+
'official': ['Solana Mainnet Official', 'Solana Devnet', 'Solana Testnet'],
|
|
331
|
+
'provider': ['Triton RPC', 'QuickNode Mainnet', 'Helius RPC', 'Blockdaemon', 'Genesis RPC', 'Chainstack'],
|
|
332
|
+
'community': ['Everstake', 'StakeFish', 'Figment', 'Alchemy Mainnet'],
|
|
333
|
+
'regional': ['US East Coast', 'US West Coast', 'Europe Frankfurt', 'Asia Singapore', 'Asia Tokyo'],
|
|
334
|
+
'backup': ['Solana Beach', 'Solana Compass', 'Solflare RPC', 'Phantom RPC'],
|
|
335
|
+
'performance': ['Triton High Performance', 'QuickNode High Performance', 'Helius High Performance'],
|
|
336
|
+
'development': ['Solana Labs Dev', 'Triton Dev', 'QuickNode Dev'],
|
|
337
|
+
'enterprise': ['AWS US East', 'AWS US West', 'AWS Europe', 'AWS Asia'],
|
|
338
|
+
'fallback': ['Fallback 1 - Devnet', 'Fallback 2 - Testnet']
|
|
339
|
+
};
|
|
340
|
+
exports.default = exports.RPC_ENDPOINTS;
|
|
341
|
+
//# sourceMappingURL=comprehensive-rpc-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comprehensive-rpc-list.js","sourceRoot":"","sources":["../../cli/comprehensive-rpc-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo-scan.d.ts","sourceRoot":"","sources":["../../cli/demo-scan.ts"],"names":[],"mappings":";AAEA;;GAEG"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* SolVoid Demo Privacy Scanner - Mock Data Version
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
41
|
+
const dotenv = __importStar(require("dotenv"));
|
|
42
|
+
dotenv.config();
|
|
43
|
+
class DemoPrivacyScanner {
|
|
44
|
+
constructor() {
|
|
45
|
+
this.mockData = new Map();
|
|
46
|
+
this.initializeMockData();
|
|
47
|
+
}
|
|
48
|
+
initializeMockData() {
|
|
49
|
+
// Mock data for common addresses
|
|
50
|
+
this.mockData.set('9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM', {
|
|
51
|
+
score: 85,
|
|
52
|
+
riskLevel: 'LOW',
|
|
53
|
+
breakdown: {
|
|
54
|
+
transactionPattern: 90,
|
|
55
|
+
timingAnalysis: 80,
|
|
56
|
+
amountDistribution: 85,
|
|
57
|
+
networkBehavior: 85
|
|
58
|
+
},
|
|
59
|
+
recommendations: [
|
|
60
|
+
'Privacy practices look good - maintain current patterns',
|
|
61
|
+
'Consider using shielded transactions for enhanced privacy'
|
|
62
|
+
],
|
|
63
|
+
totalTransactions: 1247,
|
|
64
|
+
uniqueRecipients: 89,
|
|
65
|
+
averageAmount: 2500000
|
|
66
|
+
});
|
|
67
|
+
this.mockData.set('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', {
|
|
68
|
+
score: 45,
|
|
69
|
+
riskLevel: 'HIGH',
|
|
70
|
+
breakdown: {
|
|
71
|
+
transactionPattern: 30,
|
|
72
|
+
timingAnalysis: 50,
|
|
73
|
+
amountDistribution: 40,
|
|
74
|
+
networkBehavior: 60
|
|
75
|
+
},
|
|
76
|
+
recommendations: [
|
|
77
|
+
'Consider diversifying transaction recipients to improve privacy',
|
|
78
|
+
'Vary transaction timing to avoid predictable patterns',
|
|
79
|
+
'Use varied transaction amounts to break patterns',
|
|
80
|
+
'Consider using privacy tools like mixers or shielded transactions'
|
|
81
|
+
],
|
|
82
|
+
totalTransactions: 3421,
|
|
83
|
+
uniqueRecipients: 12,
|
|
84
|
+
averageAmount: 10000000
|
|
85
|
+
});
|
|
86
|
+
this.mockData.set('So11111111111111111111111111111111111111112', {
|
|
87
|
+
score: 72,
|
|
88
|
+
riskLevel: 'MEDIUM',
|
|
89
|
+
breakdown: {
|
|
90
|
+
transactionPattern: 75,
|
|
91
|
+
timingAnalysis: 70,
|
|
92
|
+
amountDistribution: 65,
|
|
93
|
+
networkBehavior: 80
|
|
94
|
+
},
|
|
95
|
+
recommendations: [
|
|
96
|
+
'Interact with more diverse programs to improve privacy',
|
|
97
|
+
'Consider using shielded transactions for enhanced privacy'
|
|
98
|
+
],
|
|
99
|
+
totalTransactions: 8934,
|
|
100
|
+
uniqueRecipients: 45,
|
|
101
|
+
averageAmount: 5000000
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async analyzeAddress(address) {
|
|
105
|
+
try {
|
|
106
|
+
// Validate address
|
|
107
|
+
new web3_js_1.PublicKey(address);
|
|
108
|
+
// Simulate API delay
|
|
109
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
110
|
+
// Return mock data or generate random score
|
|
111
|
+
if (this.mockData.has(address)) {
|
|
112
|
+
return this.mockData.get(address);
|
|
113
|
+
}
|
|
114
|
+
// Generate random score for unknown addresses
|
|
115
|
+
return this.generateRandomScore(address);
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
console.error('Error analyzing address:', error);
|
|
119
|
+
throw error;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
generateRandomScore(address) {
|
|
123
|
+
const score = Math.floor(Math.random() * 40) + 60; // 60-100 range
|
|
124
|
+
const riskLevel = score >= 80 ? 'LOW' : score >= 65 ? 'MEDIUM' : 'HIGH';
|
|
125
|
+
const breakdown = {
|
|
126
|
+
transactionPattern: Math.floor(Math.random() * 30) + 70,
|
|
127
|
+
timingAnalysis: Math.floor(Math.random() * 30) + 70,
|
|
128
|
+
amountDistribution: Math.floor(Math.random() * 30) + 70,
|
|
129
|
+
networkBehavior: Math.floor(Math.random() * 30) + 70
|
|
130
|
+
};
|
|
131
|
+
const recommendations = this.generateRecommendations(score, breakdown);
|
|
132
|
+
return {
|
|
133
|
+
score,
|
|
134
|
+
riskLevel,
|
|
135
|
+
breakdown,
|
|
136
|
+
recommendations,
|
|
137
|
+
totalTransactions: Math.floor(Math.random() * 5000) + 100,
|
|
138
|
+
uniqueRecipients: Math.floor(Math.random() * 50) + 5,
|
|
139
|
+
averageAmount: Math.floor(Math.random() * 10000000) + 1000000
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
generateRecommendations(score, breakdown) {
|
|
143
|
+
const recommendations = [];
|
|
144
|
+
if (breakdown.transactionPattern < 80) {
|
|
145
|
+
recommendations.push('Consider diversifying transaction recipients to improve privacy');
|
|
146
|
+
}
|
|
147
|
+
if (breakdown.timingAnalysis < 80) {
|
|
148
|
+
recommendations.push('Vary transaction timing to avoid predictable patterns');
|
|
149
|
+
}
|
|
150
|
+
if (breakdown.amountDistribution < 80) {
|
|
151
|
+
recommendations.push('Use varied transaction amounts to break patterns');
|
|
152
|
+
}
|
|
153
|
+
if (breakdown.networkBehavior < 80) {
|
|
154
|
+
recommendations.push('Interact with more diverse programs to improve privacy');
|
|
155
|
+
}
|
|
156
|
+
if (score < 70) {
|
|
157
|
+
recommendations.push('Consider using privacy tools like mixers or shielded transactions');
|
|
158
|
+
}
|
|
159
|
+
if (recommendations.length === 0) {
|
|
160
|
+
recommendations.push('Privacy practices look good - maintain current patterns');
|
|
161
|
+
}
|
|
162
|
+
return recommendations;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
async function main() {
|
|
166
|
+
const args = process.argv.slice(2);
|
|
167
|
+
if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
|
|
168
|
+
console.log(`
|
|
169
|
+
SolVoid Privacy Scanner - Demo Version
|
|
170
|
+
|
|
171
|
+
Usage:
|
|
172
|
+
node demo-scan.js <address> [options]
|
|
173
|
+
|
|
174
|
+
Options:
|
|
175
|
+
--help, -h Show this help message
|
|
176
|
+
--demo Show demo with multiple addresses
|
|
177
|
+
|
|
178
|
+
Examples:
|
|
179
|
+
node demo-scan.js 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM
|
|
180
|
+
node demo-scan.js --demo
|
|
181
|
+
`);
|
|
182
|
+
process.exit(0);
|
|
183
|
+
}
|
|
184
|
+
if (args.includes('--demo')) {
|
|
185
|
+
await runDemo();
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const address = args[0];
|
|
189
|
+
try {
|
|
190
|
+
console.log(` Analyzing privacy for address: ${address}`);
|
|
191
|
+
console.log(` Using demo data (mock analysis)`);
|
|
192
|
+
console.log('');
|
|
193
|
+
const scanner = new DemoPrivacyScanner();
|
|
194
|
+
const result = await scanner.analyzeAddress(address);
|
|
195
|
+
console.log(` Privacy Score: ${result.score}/100`);
|
|
196
|
+
console.log(` Risk Level: ${result.riskLevel}`);
|
|
197
|
+
console.log('');
|
|
198
|
+
console.log(' Score Breakdown:');
|
|
199
|
+
console.log(` Transaction Pattern: ${result.breakdown.transactionPattern}%`);
|
|
200
|
+
console.log(` Timing Analysis: ${result.breakdown.timingAnalysis}%`);
|
|
201
|
+
console.log(` Amount Distribution: ${result.breakdown.amountDistribution}%`);
|
|
202
|
+
console.log(` Network Behavior: ${result.breakdown.networkBehavior}%`);
|
|
203
|
+
console.log('');
|
|
204
|
+
console.log(' Transaction Statistics:');
|
|
205
|
+
console.log(` Total Transactions: ${result.totalTransactions.toLocaleString()}`);
|
|
206
|
+
console.log(` Unique Recipients: ${result.uniqueRecipients}`);
|
|
207
|
+
console.log(` Average Amount: ${(result.averageAmount / 1000000).toFixed(2)} SOL`);
|
|
208
|
+
console.log('');
|
|
209
|
+
console.log(' Recommendations:');
|
|
210
|
+
result.recommendations.forEach(rec => {
|
|
211
|
+
console.log(` • ${rec}`);
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
console.error(' Error:', error instanceof Error ? error.message : 'Unknown error');
|
|
216
|
+
process.exit(1);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
async function runDemo() {
|
|
220
|
+
const scanner = new DemoPrivacyScanner();
|
|
221
|
+
const addresses = [
|
|
222
|
+
'9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM',
|
|
223
|
+
'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
224
|
+
'So11111111111111111111111111111111111111112'
|
|
225
|
+
];
|
|
226
|
+
console.log(' SolVoid Privacy Scanner - Demo Mode');
|
|
227
|
+
console.log('=====================================');
|
|
228
|
+
console.log('');
|
|
229
|
+
for (const address of addresses) {
|
|
230
|
+
console.log(` Analyzing: ${address.slice(0, 8)}...${address.slice(-8)}`);
|
|
231
|
+
const spinner = ['', '', '', '', '', '', '', '', '', ''];
|
|
232
|
+
let i = 0;
|
|
233
|
+
const interval = setInterval(() => {
|
|
234
|
+
process.stdout.write(`\r${spinner[i]} Scanning transactions...`);
|
|
235
|
+
i = (i + 1) % spinner.length;
|
|
236
|
+
}, 100);
|
|
237
|
+
const result = await scanner.analyzeAddress(address);
|
|
238
|
+
clearInterval(interval);
|
|
239
|
+
console.log(`\r Analysis complete!`);
|
|
240
|
+
console.log(` Privacy Score: ${result.score}/100 (${result.riskLevel})`);
|
|
241
|
+
console.log(` ${result.totalTransactions.toLocaleString()} transactions analyzed`);
|
|
242
|
+
console.log('');
|
|
243
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
244
|
+
}
|
|
245
|
+
console.log('');
|
|
246
|
+
console.log(' Demo Complete!');
|
|
247
|
+
console.log('');
|
|
248
|
+
console.log(' Key Features Demonstrated:');
|
|
249
|
+
console.log(' • Privacy scoring algorithm');
|
|
250
|
+
console.log(' • Transaction pattern analysis');
|
|
251
|
+
console.log(' • Risk assessment');
|
|
252
|
+
console.log(' • Personalized recommendations');
|
|
253
|
+
console.log('');
|
|
254
|
+
console.log(' Try it yourself:');
|
|
255
|
+
console.log(' node demo-scan.js <your-address>');
|
|
256
|
+
}
|
|
257
|
+
if (require.main === module) {
|
|
258
|
+
main().catch(console.error);
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=demo-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo-scan.js","sourceRoot":"","sources":["../../cli/demo-scan.ts"],"names":[],"mappings":";;AAEA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA4C;AAC5C,+CAAiC;AAEjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAiBhB,MAAM,kBAAkB;IAGpB;QAFQ,aAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;QAGpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACtB,iCAAiC;QACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8CAA8C,EAAE;YAC9D,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE;gBACP,kBAAkB,EAAE,EAAE;gBACtB,cAAc,EAAE,EAAE;gBAClB,kBAAkB,EAAE,EAAE;gBACtB,eAAe,EAAE,EAAE;aACtB;YACD,eAAe,EAAE;gBACb,yDAAyD;gBACzD,2DAA2D;aAC9D;YACD,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,8CAA8C,EAAE;YAC9D,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE;gBACP,kBAAkB,EAAE,EAAE;gBACtB,cAAc,EAAE,EAAE;gBAClB,kBAAkB,EAAE,EAAE;gBACtB,eAAe,EAAE,EAAE;aACtB;YACD,eAAe,EAAE;gBACb,iEAAiE;gBACjE,uDAAuD;gBACvD,kDAAkD;gBAClD,mEAAmE;aACtE;YACD,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,QAAQ;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6CAA6C,EAAE;YAC7D,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE;gBACP,kBAAkB,EAAE,EAAE;gBACtB,cAAc,EAAE,EAAE;gBAClB,kBAAkB,EAAE,EAAE;gBACtB,eAAe,EAAE,EAAE;aACtB;YACD,eAAe,EAAE;gBACb,wDAAwD;gBACxD,2DAA2D;aAC9D;YACD,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,OAAO;SACzB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAChC,IAAI,CAAC;YACD,mBAAmB;YACnB,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;YAEvB,qBAAqB;YACrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAExD,4CAA4C;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YACvC,CAAC;YAED,8CAA8C;YAC9C,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,OAAe;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,eAAe;QAClE,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAExE,MAAM,SAAS,GAAG;YACd,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;YACvD,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;YACnD,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;YACvD,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;SACvD,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEvE,OAAO;YACH,KAAK;YACL,SAAS;YACT,SAAS;YACT,eAAe;YACf,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG;YACzD,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;YACpD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO;SAChE,CAAC;IACN,CAAC;IAEO,uBAAuB,CAAC,KAAa,EAAE,SAAc;QACzD,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,IAAI,SAAS,CAAC,kBAAkB,GAAG,EAAE,EAAE,CAAC;YACpC,eAAe,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,SAAS,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC;YAChC,eAAe,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,SAAS,CAAC,kBAAkB,GAAG,EAAE,EAAE,CAAC;YACpC,eAAe,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,SAAS,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC;YACjC,eAAe,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACb,eAAe,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,eAAe,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;CACJ;AAED,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;SAaX,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,SAAS,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IAEP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,OAAO;IAClB,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG;QACd,8CAA8C;QAC9C,8CAA8C;QAC9C,6CAA6C;KAChD,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;YACjE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* SolVoid Enhanced Privacy Scanner - Multiple Working RPCs
|
|
4
|
+
* Solves rate limits with verified working endpoints
|
|
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
|
+
};
|
|
26
|
+
}
|
|
27
|
+
declare class EnhancedPrivacyScanner {
|
|
28
|
+
private workingRPCs;
|
|
29
|
+
private currentRPCIndex;
|
|
30
|
+
constructor();
|
|
31
|
+
private testRPCConnection;
|
|
32
|
+
private getWorkingConnection;
|
|
33
|
+
private getRPCName;
|
|
34
|
+
analyzeAddress(address: string): Promise<PrivacyScore>;
|
|
35
|
+
private fetchTransactionData;
|
|
36
|
+
private getRealisticBalance;
|
|
37
|
+
private generateRealisticDemoData;
|
|
38
|
+
private calculatePrivacyScore;
|
|
39
|
+
private scoreTransactionPattern;
|
|
40
|
+
private scoreTimingPattern;
|
|
41
|
+
private scoreAmountPattern;
|
|
42
|
+
private scoreNetworkBehavior;
|
|
43
|
+
private generateRecommendations;
|
|
44
|
+
}
|
|
45
|
+
export { EnhancedPrivacyScanner };
|
|
46
|
+
//# sourceMappingURL=enhanced-privacy-scan.d.ts.map
|