solvoid 1.2.0 → 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.
- package/README.md +116 -258
- package/SECURITY.md +27 -24
- package/dist/cli/commands/ghost.d.ts +3 -3
- package/dist/cli/commands/ghost.d.ts.map +1 -1
- package/dist/cli/commands/ghost.js +67 -91
- package/dist/cli/commands/ghost.js.map +1 -1
- package/dist/cli/commands/rescue.d.ts +4 -0
- package/dist/cli/commands/rescue.d.ts.map +1 -1
- package/dist/cli/commands/rescue.js +102 -199
- package/dist/cli/commands/rescue.js.map +1 -1
- package/dist/cli/demo-scan.js +48 -130
- package/dist/cli/demo-scan.js.map +1 -1
- package/dist/cli/solvoid-scan.d.ts +4 -3
- package/dist/cli/solvoid-scan.d.ts.map +1 -1
- package/dist/cli/solvoid-scan.js +55 -46
- package/dist/cli/solvoid-scan.js.map +1 -1
- package/dist/cli/utils/asset-scanner.d.ts.map +1 -1
- package/dist/cli/utils/asset-scanner.js +7 -5
- package/dist/cli/utils/asset-scanner.js.map +1 -1
- package/dist/cli/utils/badge-generator.d.ts.map +1 -1
- package/dist/cli/utils/badge-generator.js +11 -9
- package/dist/cli/utils/badge-generator.js.map +1 -1
- package/dist/cli/utils/enhanced-monitoring.d.ts +13 -0
- package/dist/cli/utils/enhanced-monitoring.d.ts.map +1 -0
- package/dist/cli/utils/enhanced-monitoring.js +46 -0
- package/dist/cli/utils/enhanced-monitoring.js.map +1 -0
- package/dist/cli/utils/enhanced-pyth-feed.d.ts +20 -0
- package/dist/cli/utils/enhanced-pyth-feed.d.ts.map +1 -0
- package/dist/cli/utils/enhanced-pyth-feed.js +64 -0
- package/dist/cli/utils/enhanced-pyth-feed.js.map +1 -0
- package/dist/cli/utils/enhanced-threat-intel.d.ts +20 -0
- package/dist/cli/utils/enhanced-threat-intel.d.ts.map +1 -0
- package/dist/cli/utils/enhanced-threat-intel.js +57 -0
- package/dist/cli/utils/enhanced-threat-intel.js.map +1 -0
- package/dist/cli/utils/env-validator.d.ts.map +1 -1
- package/dist/cli/utils/env-validator.js +6 -3
- package/dist/cli/utils/env-validator.js.map +1 -1
- package/dist/cli/utils/jito-mev-bundle.d.ts +9 -0
- package/dist/cli/utils/jito-mev-bundle.d.ts.map +1 -0
- package/dist/cli/utils/jito-mev-bundle.js +40 -0
- package/dist/cli/utils/jito-mev-bundle.js.map +1 -0
- package/dist/cli/utils/rescue-engine.d.ts +0 -4
- package/dist/cli/utils/rescue-engine.d.ts.map +1 -1
- package/dist/cli/utils/rescue-engine.js +28 -46
- package/dist/cli/utils/rescue-engine.js.map +1 -1
- package/dist/cli/utils/shadow-bridge.d.ts +20 -0
- package/dist/cli/utils/shadow-bridge.d.ts.map +1 -0
- package/dist/cli/utils/shadow-bridge.js +33 -0
- package/dist/cli/utils/shadow-bridge.js.map +1 -0
- package/dist/relayer/key-manager.d.ts +52 -0
- package/dist/relayer/key-manager.d.ts.map +1 -0
- package/dist/relayer/key-manager.js +356 -0
- package/dist/relayer/key-manager.js.map +1 -0
- package/dist/relayer/replay-protection.d.ts +94 -0
- package/dist/relayer/replay-protection.d.ts.map +1 -0
- package/dist/relayer/replay-protection.js +189 -0
- package/dist/relayer/replay-protection.js.map +1 -0
- package/dist/relayer/secure-service.d.ts +46 -0
- package/dist/relayer/secure-service.d.ts.map +1 -0
- package/dist/relayer/secure-service.js +538 -0
- package/dist/relayer/secure-service.js.map +1 -0
- package/dist/relayer/service.d.ts +25 -0
- package/dist/relayer/service.d.ts.map +1 -0
- package/dist/relayer/service.js +380 -0
- package/dist/relayer/service.js.map +1 -0
- package/dist/sdk/client.d.ts +42 -8
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/client.js +115 -242
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/crypto/poseidon.d.ts +4 -4
- package/dist/sdk/crypto/poseidon.d.ts.map +1 -1
- package/dist/sdk/crypto/poseidon.js +34 -17
- package/dist/sdk/crypto/poseidon.js.map +1 -1
- package/dist/sdk/integrity.d.ts +3 -3
- package/dist/sdk/integrity.d.ts.map +1 -1
- package/dist/sdk/integrity.js +2 -2
- package/dist/sdk/integrity.js.map +1 -1
- package/dist/sdk/passport/manager.d.ts +15 -3
- package/dist/sdk/passport/manager.d.ts.map +1 -1
- package/dist/sdk/passport/manager.js +30 -17
- package/dist/sdk/passport/manager.js.map +1 -1
- package/dist/sdk/pipeline.d.ts.map +1 -1
- package/dist/sdk/pipeline.js +69 -12
- package/dist/sdk/pipeline.js.map +1 -1
- package/dist/sdk/polyfill.d.ts +8 -0
- package/dist/sdk/polyfill.d.ts.map +1 -0
- package/dist/sdk/polyfill.js +21 -0
- package/dist/sdk/polyfill.js.map +1 -0
- package/dist/sdk/privacy/shield.d.ts +46 -0
- package/dist/sdk/privacy/shield.d.ts.map +1 -1
- package/dist/sdk/privacy/shield.js +117 -35
- package/dist/sdk/privacy/shield.js.map +1 -1
- package/dist/sdk/privacy-engine.d.ts +17 -3
- package/dist/sdk/privacy-engine.d.ts.map +1 -1
- package/dist/sdk/privacy-engine.js +46 -20
- package/dist/sdk/privacy-engine.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// cli/commands/rescue.ts
|
|
3
|
-
// Atomic Rescue - Emergency Privacy Rescue System
|
|
4
|
-
// One command to save a wallet from active threats
|
|
5
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
4
|
};
|
|
@@ -10,290 +7,196 @@ exports.registerRescueCommand = registerRescueCommand;
|
|
|
10
7
|
const web3_js_1 = require("@solana/web3.js");
|
|
11
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
12
9
|
const ora_1 = __importDefault(require("ora"));
|
|
13
|
-
const
|
|
10
|
+
const rescue_engine_1 = require("../utils/rescue-engine");
|
|
11
|
+
const asset_scanner_1 = require("../utils/asset-scanner");
|
|
12
|
+
const threat_detector_1 = require("../utils/threat-detector");
|
|
13
|
+
/**
|
|
14
|
+
* Registry for the Atomic Rescue command suite.
|
|
15
|
+
* Provides emergency remediation protocols for high-threat wallet environments.
|
|
16
|
+
*/
|
|
14
17
|
function registerRescueCommand(program) {
|
|
15
18
|
program
|
|
16
19
|
.command('rescue')
|
|
17
|
-
.description('
|
|
18
|
-
.argument('<wallet>', '
|
|
19
|
-
.option('--to <address>', '
|
|
20
|
-
.option('--emergency', 'Emergency
|
|
21
|
-
.option('--reason <type>', 'Threat
|
|
22
|
-
.option('--dry-run', 'Simulate rescue without
|
|
23
|
-
.option('--jito-bundle', '
|
|
24
|
-
.option('--auto-generate', '
|
|
25
|
-
.option('--monitor', '
|
|
26
|
-
.option('--mev-protection', 'Enable advanced MEV
|
|
20
|
+
.description('Execute atomic rescue protocols for compromised or leaked wallets')
|
|
21
|
+
.argument('<wallet>', 'Target wallet address or private key identifier')
|
|
22
|
+
.option('--to <address>', 'Destination for remediated assets')
|
|
23
|
+
.option('--emergency', 'Emergency Priority: Escalate priority fees for <2s execution')
|
|
24
|
+
.option('--reason <type>', 'Threat classification: key-leak, mev-attack, drainer, privacy', 'privacy')
|
|
25
|
+
.option('--dry-run', 'Simulate rescue orchestration without network broadcast')
|
|
26
|
+
.option('--jito-bundle', 'Utilize Jito MEV bundles for transaction atomicity')
|
|
27
|
+
.option('--auto-generate', 'Initialize a fresh destination address')
|
|
28
|
+
.option('--monitor', 'Activate post-remediation threat monitoring')
|
|
29
|
+
.option('--mev-protection', 'Enable advanced MEV shielding')
|
|
30
|
+
.option('--rpc <url>', 'Specify Solana RPC endpoint')
|
|
31
|
+
.option('--program <id>', 'Specify SolVoid program ID')
|
|
32
|
+
.option('--relayer <url>', 'Specify Shadow Relayer API URL')
|
|
27
33
|
.action(async (wallet, options) => {
|
|
28
34
|
try {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
+
displayRescueBanner(options.reason || 'unknown');
|
|
36
|
+
const rpcUrl = options.rpc || process.env.RPC_URL || 'https://api.devnet.solana.com';
|
|
37
|
+
const programId = options.program || process.env.PROGRAM_ID || '3QcKRYWquzbBR3UpKeh4aKVCSpoHy89UT8gyovzRzzan';
|
|
38
|
+
const connection = new web3_js_1.Connection(rpcUrl, 'confirmed');
|
|
39
|
+
const rescueEngine = new rescue_engine_1.RescueEngine(connection, programId);
|
|
40
|
+
const scanner = new asset_scanner_1.AssetScanner(connection);
|
|
41
|
+
const detector = new threat_detector_1.ThreatDetector(connection);
|
|
35
42
|
const { keypair, publicKey } = await parseWalletInput(wallet);
|
|
36
|
-
if (!keypair) {
|
|
37
|
-
console.log(chalk_1.default.red('\n
|
|
38
|
-
console.log(chalk_1.default.gray('
|
|
43
|
+
if (!keypair && !options.dryRun) {
|
|
44
|
+
console.log(chalk_1.default.red('\n Execution Failed: Continuous rescue requires private key authorization.'));
|
|
45
|
+
console.log(chalk_1.default.gray('Supplied public key is restricted to analysis-only mode.\n'));
|
|
39
46
|
process.exit(1);
|
|
40
47
|
}
|
|
41
|
-
|
|
48
|
+
const assets = await scanner.scan(publicKey);
|
|
49
|
+
const threats = await detector.scan(publicKey);
|
|
50
|
+
if (threats.length > 0) {
|
|
51
|
+
console.log(chalk_1.default.red(`\n ACTIVE THREATS DETECTED: ${threats.length} `));
|
|
52
|
+
threats.forEach(t => console.log(chalk_1.default.gray(` - [${t.severity}] ${t.description} `)));
|
|
53
|
+
}
|
|
42
54
|
let safeAddress;
|
|
43
55
|
if (options.to) {
|
|
44
56
|
safeAddress = new web3_js_1.PublicKey(options.to);
|
|
45
|
-
console.log(chalk_1.default.cyan(`\n Destination: ${safeAddress.toBase58()}`));
|
|
57
|
+
console.log(chalk_1.default.cyan(`\n Remediation Destination: ${safeAddress.toBase58()} `));
|
|
46
58
|
}
|
|
47
59
|
else if (options.autoGenerate) {
|
|
48
60
|
const newWallet = web3_js_1.Keypair.generate();
|
|
49
61
|
safeAddress = newWallet.publicKey;
|
|
50
|
-
console.log(chalk_1.default.cyan(`\n
|
|
51
|
-
console.log(chalk_1.default.yellow(`
|
|
62
|
+
console.log(chalk_1.default.cyan(`\n Fresh Destination Initialized: ${safeAddress.toBase58()} `));
|
|
63
|
+
console.log(chalk_1.default.yellow(` VAULT REQUIREMENT: SECURE THE GENERATED PRIVATE KEY: `));
|
|
52
64
|
console.log(chalk_1.default.gray(Buffer.from(newWallet.secretKey).toString('base64')));
|
|
53
65
|
console.log();
|
|
54
66
|
}
|
|
55
67
|
else {
|
|
56
|
-
console.log(chalk_1.default.red('\n Error:
|
|
68
|
+
console.log(chalk_1.default.red('\n Error: Destination required via --to or --auto-generate.'));
|
|
57
69
|
process.exit(1);
|
|
58
70
|
}
|
|
59
|
-
// Step 2: Display rescue plan
|
|
60
71
|
console.log(chalk_1.default.bold.cyan('\n'));
|
|
61
|
-
console.log(chalk_1.default.bold.cyan(' ATOMIC
|
|
72
|
+
console.log(chalk_1.default.bold.cyan(' ATOMIC REMEDIATION PLAN'));
|
|
62
73
|
console.log(chalk_1.default.bold.cyan('\n'));
|
|
63
|
-
console.log(`${chalk_1.default.bold('
|
|
64
|
-
console.log(`${chalk_1.default.bold('
|
|
65
|
-
console.log(`${chalk_1.default.bold('
|
|
66
|
-
console.log(`${chalk_1.default.bold('
|
|
74
|
+
console.log(`${chalk_1.default.bold('Source:')} ${publicKey.toBase58()} `);
|
|
75
|
+
console.log(`${chalk_1.default.bold('Destination:')} ${safeAddress.toBase58()} `);
|
|
76
|
+
console.log(`${chalk_1.default.bold('Priority:')} ${options.emergency ? chalk_1.default.red.bold('EMERGENCY') : chalk_1.default.yellow('Standard')} `);
|
|
77
|
+
console.log(`${chalk_1.default.bold('Anonymity:')} ${chalk_1.default.green('ZK-Optimized')} `);
|
|
67
78
|
if (options.jitoBundle) {
|
|
68
|
-
console.log(`${chalk_1.default.bold('MEV
|
|
69
|
-
}
|
|
70
|
-
if (options.mevProtection) {
|
|
71
|
-
console.log(`${chalk_1.default.bold('Advanced MEV:')} ${chalk_1.default.green('Active Protection')}`);
|
|
79
|
+
console.log(`${chalk_1.default.bold('MEV Shield:')} ${chalk_1.default.green('Jito MEV Bundle Active')} `);
|
|
72
80
|
}
|
|
73
81
|
console.log(chalk_1.default.bold.cyan('\n\n'));
|
|
74
|
-
// Dry run mode
|
|
75
82
|
if (options.dryRun) {
|
|
76
|
-
console.log(chalk_1.default.yellow('
|
|
77
|
-
console.log(chalk_1.default.green(' Atomic rescue plan
|
|
78
|
-
console.log(chalk_1.default.gray('\nTo execute for real, remove --dry-run flag\n'));
|
|
83
|
+
console.log(chalk_1.default.yellow(' SIMULATION MODE: Orchestration validated without broadcast.\n'));
|
|
84
|
+
console.log(chalk_1.default.green(' Atomic rescue plan verified successfully.'));
|
|
79
85
|
process.exit(0);
|
|
80
86
|
}
|
|
81
|
-
|
|
82
|
-
console.log(chalk_1.default.red.bold(' EXECUTING ATOMIC RESCUE IN 3 SECONDS...'));
|
|
87
|
+
console.log(chalk_1.default.red.bold(' EXECUTING ATOMIC REMEDIATION IN 3 SECONDS...'));
|
|
83
88
|
await sleep(3000);
|
|
84
89
|
const rescueSpinner = (0, ora_1.default)({
|
|
85
|
-
text: 'Executing
|
|
90
|
+
text: 'Executing atomic remediation pipeline...',
|
|
86
91
|
color: 'red'
|
|
87
92
|
}).start();
|
|
88
93
|
try {
|
|
89
94
|
const startTime = Date.now();
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
const result = await rescueEngine.executeAtomicRescue({
|
|
96
|
+
sourceKeypair: keypair,
|
|
97
|
+
destination: safeAddress,
|
|
98
|
+
assets: assets,
|
|
99
|
+
emergencyMode: !!options.emergency,
|
|
100
|
+
useJitoBundle: !!options.jitoBundle,
|
|
101
|
+
reason: options.reason || 'privacy'
|
|
97
102
|
});
|
|
98
103
|
const executionTime = ((Date.now() - startTime) / 1000).toFixed(1);
|
|
99
|
-
rescueSpinner.succeed(chalk_1.default.green.bold('ATOMIC
|
|
100
|
-
// Display success banner
|
|
104
|
+
rescueSpinner.succeed(chalk_1.default.green.bold('ATOMIC REMEDIATION SUCCESSFUL!'));
|
|
101
105
|
displaySuccessBanner(result, executionTime);
|
|
102
|
-
// Start monitoring if requested
|
|
103
106
|
if (options.monitor) {
|
|
104
|
-
console.log(chalk_1.default.cyan('\n Real-time monitoring
|
|
107
|
+
console.log(chalk_1.default.cyan('\n Real-time threat monitoring operational...\n'));
|
|
105
108
|
}
|
|
106
109
|
}
|
|
107
110
|
catch (error) {
|
|
108
|
-
rescueSpinner.fail('
|
|
109
|
-
console.log(chalk_1.default.red(`\n Error: ${error.message}\n`));
|
|
111
|
+
rescueSpinner.fail('Orchestration failed.');
|
|
112
|
+
console.log(chalk_1.default.red(`\n Error Trace: ${error.message} \n`));
|
|
110
113
|
if (error.message.includes('insufficient funds')) {
|
|
111
|
-
console.log(chalk_1.default.yellow('
|
|
112
|
-
}
|
|
113
|
-
if (error.message.includes('blockhash')) {
|
|
114
|
-
console.log(chalk_1.default.yellow(' Tip: Transaction took too long. Try --emergency mode'));
|
|
114
|
+
console.log(chalk_1.default.yellow(' Requirement: Ensure sufficient SOL balance for priority gas fees.'));
|
|
115
115
|
}
|
|
116
116
|
process.exit(1);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
catch (error) {
|
|
120
|
-
console.error(chalk_1.default.red('\n
|
|
120
|
+
console.error(chalk_1.default.red('\n Critical Failure:'), error.message);
|
|
121
121
|
process.exit(1);
|
|
122
122
|
}
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
125
|
/**
|
|
126
|
-
*
|
|
126
|
+
* Renders the emergency status banner following threat classification.
|
|
127
127
|
*/
|
|
128
|
-
function
|
|
128
|
+
function displayRescueBanner(reason) {
|
|
129
129
|
const banners = {
|
|
130
130
|
'key-leak': `
|
|
131
|
-
${chalk_1.default.red.bold('')}
|
|
132
|
-
${chalk_1.default.red.bold('
|
|
133
|
-
${chalk_1.default.red.bold('
|
|
134
|
-
${chalk_1.default.red.bold('
|
|
135
|
-
|
|
136
|
-
${chalk_1.default.red.bold(' ')}
|
|
137
|
-
${chalk_1.default.red.bold('')}
|
|
138
|
-
`,
|
|
131
|
+
${chalk_1.default.red.bold(' ------------------------------------------------------- ')}
|
|
132
|
+
${chalk_1.default.red.bold(' | PRIVATE KEY COMPROMISE DETECTED | ')}
|
|
133
|
+
${chalk_1.default.red.bold(' | IMMEDIATE REMEDIATION PATH ACTIVE | ')}
|
|
134
|
+
${chalk_1.default.red.bold(' ------------------------------------------------------- ')}
|
|
135
|
+
`,
|
|
139
136
|
'mev-attack': `
|
|
140
|
-
${chalk_1.default.red.bold('')}
|
|
141
|
-
${chalk_1.default.red.bold('
|
|
142
|
-
${chalk_1.default.red.bold('
|
|
143
|
-
${chalk_1.default.red.bold('
|
|
144
|
-
|
|
145
|
-
${chalk_1.default.red.bold(' ')}
|
|
146
|
-
${chalk_1.default.red.bold('')}
|
|
147
|
-
`,
|
|
137
|
+
${chalk_1.default.red.bold(' ------------------------------------------------------- ')}
|
|
138
|
+
${chalk_1.default.red.bold(' | ACTIVE MEV ATTACK DETECTED | ')}
|
|
139
|
+
${chalk_1.default.red.bold(' | FRONT-RUNNING MITIGATION INITIALIZED | ')}
|
|
140
|
+
${chalk_1.default.red.bold(' ------------------------------------------------------- ')}
|
|
141
|
+
`,
|
|
148
142
|
'drainer': `
|
|
149
|
-
${chalk_1.default.red.bold('')}
|
|
150
|
-
${chalk_1.default.red.bold('
|
|
151
|
-
${chalk_1.default.red.bold('
|
|
152
|
-
${chalk_1.default.red.bold('
|
|
153
|
-
|
|
154
|
-
${chalk_1.default.red.bold(' ')}
|
|
155
|
-
${chalk_1.default.red.bold('')}
|
|
156
|
-
`,
|
|
143
|
+
${chalk_1.default.red.bold(' ------------------------------------------------------- ')}
|
|
144
|
+
${chalk_1.default.red.bold(' | ACTIVE WALLET DRAINER DETECTED | ')}
|
|
145
|
+
${chalk_1.default.red.bold(' | PRIORITY ASSET ROTATION MANDATORY | ')}
|
|
146
|
+
${chalk_1.default.red.bold(' ------------------------------------------------------- ')}
|
|
147
|
+
`,
|
|
157
148
|
'privacy': `
|
|
158
|
-
${chalk_1.default.cyan.bold('')}
|
|
159
|
-
${chalk_1.default.cyan.bold('
|
|
160
|
-
${chalk_1.default.cyan.bold('
|
|
161
|
-
${chalk_1.default.cyan.bold('
|
|
162
|
-
|
|
163
|
-
${chalk_1.default.cyan.bold(' ')}
|
|
164
|
-
${chalk_1.default.cyan.bold('')}
|
|
165
|
-
`
|
|
149
|
+
${chalk_1.default.cyan.bold(' ------------------------------------------------------- ')}
|
|
150
|
+
${chalk_1.default.cyan.bold(' | PRIVACY ROTATION INITIATED | ')}
|
|
151
|
+
${chalk_1.default.cyan.bold(' | ATOMIC ANONYMITY RECOVERY ACTIVE | ')}
|
|
152
|
+
${chalk_1.default.cyan.bold(' ------------------------------------------------------- ')}
|
|
153
|
+
`
|
|
166
154
|
};
|
|
167
155
|
console.log(banners[reason] || banners.privacy);
|
|
168
156
|
console.log();
|
|
169
157
|
}
|
|
170
158
|
/**
|
|
171
|
-
*
|
|
172
|
-
*/
|
|
173
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
174
|
-
function displayThreats(threats) {
|
|
175
|
-
console.log(chalk_1.default.red.bold('\n ACTIVE THREATS:\n'));
|
|
176
|
-
threats.forEach((threat, i) => {
|
|
177
|
-
const icon = threat.severity === 'CRITICAL' ? '' :
|
|
178
|
-
threat.severity === 'HIGH' ? '' : '';
|
|
179
|
-
console.log(`${i + 1}. ${icon} ${chalk_1.default.bold(threat.type)}`);
|
|
180
|
-
console.log(` ${threat.description}`);
|
|
181
|
-
if (threat.confidence) {
|
|
182
|
-
console.log(` ${chalk_1.default.gray(`Confidence: ${threat.confidence}%`)}`);
|
|
183
|
-
}
|
|
184
|
-
console.log();
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Display scanned assets
|
|
189
|
-
*/
|
|
190
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
191
|
-
function displayAssets(assets) {
|
|
192
|
-
console.log(chalk_1.default.bold('\n Asset Summary:\n'));
|
|
193
|
-
// SOL
|
|
194
|
-
console.log(`${chalk_1.default.bold('SOL:')} ${assets.sol.balance} SOL (${assets.sol.valueUSD} USD)`);
|
|
195
|
-
// Tokens
|
|
196
|
-
if (assets.tokens.length > 0) {
|
|
197
|
-
console.log(`\n${chalk_1.default.bold('SPL Tokens:')}`);
|
|
198
|
-
assets.tokens.slice(0, 5).forEach((token) => {
|
|
199
|
-
console.log(` • ${token.amount} ${token.symbol} (${token.valueUSD} USD)`);
|
|
200
|
-
});
|
|
201
|
-
if (assets.tokens.length > 5) {
|
|
202
|
-
console.log(` • ... and ${assets.tokens.length - 5} more`);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
// NFTs
|
|
206
|
-
if (assets.nfts.length > 0) {
|
|
207
|
-
console.log(`\n${chalk_1.default.bold('NFTs:')}`);
|
|
208
|
-
assets.nfts.slice(0, 3).forEach((nft) => {
|
|
209
|
-
console.log(` • ${nft.name} (${nft.collection})`);
|
|
210
|
-
});
|
|
211
|
-
if (assets.nfts.length > 3) {
|
|
212
|
-
console.log(` • ... and ${assets.nfts.length - 3} more`);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
console.log();
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Display success banner for atomic rescue
|
|
159
|
+
* Success verification and remediation summary.
|
|
219
160
|
*/
|
|
220
161
|
function displaySuccessBanner(result, executionTime) {
|
|
221
|
-
console.log(chalk_1.default.green.bold('\n'));
|
|
222
|
-
console.log(chalk_1.default.
|
|
223
|
-
console.log(chalk_1.default.
|
|
224
|
-
console.log(chalk_1.default.green.bold(' '));
|
|
225
|
-
console.log(chalk_1.default.green.bold('\n'));
|
|
226
|
-
console.log(`${chalk_1.default.bold('Execution Time:')} ${chalk_1.default.green(executionTime + 's')}`);
|
|
227
|
-
console.log(`${chalk_1.default.bold('Transaction:')} ${result.signature?.slice(0, 20)}...`);
|
|
162
|
+
console.log(chalk_1.default.green.bold('\n ATOMIC REMEDIATION STATUS: OPERATIONAL\n'));
|
|
163
|
+
console.log(`${chalk_1.default.bold('Total Latency:')} ${chalk_1.default.green(executionTime + 's')} `);
|
|
164
|
+
console.log(`${chalk_1.default.bold('Signature Trace:')} ${result.signature?.slice(0, 32)}...`);
|
|
228
165
|
if (result.assets) {
|
|
229
|
-
console.log(`\n${chalk_1.default.bold('Assets Rescued:')}`);
|
|
230
|
-
console.log(` • ${chalk_1.default.green(result.assets.length + ' assets')}`);
|
|
231
166
|
const totalValue = result.assets.reduce((sum, asset) => sum + (asset.usdValue || 0), 0);
|
|
232
|
-
console.log(
|
|
167
|
+
console.log(`${chalk_1.default.bold('Remediated Value:')} ${chalk_1.default.green('$' + totalValue.toFixed(2) + ' USD')} `);
|
|
233
168
|
}
|
|
234
|
-
console.log(
|
|
235
|
-
console.log(
|
|
236
|
-
console.log(chalk_1.default.green.bold('\n Your assets are now SAFE and PRIVATE.\n'));
|
|
169
|
+
console.log(`${chalk_1.default.bold('Security Status:')} ${chalk_1.default.green('BULLETPROOF')} `);
|
|
170
|
+
console.log(chalk_1.default.green.bold('\n Asset state successfully rotated and secured.\n'));
|
|
237
171
|
}
|
|
238
172
|
/**
|
|
239
|
-
*
|
|
173
|
+
* Validates and parses wallet credentials from input primitives.
|
|
240
174
|
*/
|
|
241
175
|
async function parseWalletInput(wallet) {
|
|
242
|
-
// Check if it's a base58 public key
|
|
243
176
|
try {
|
|
244
177
|
const publicKey = new web3_js_1.PublicKey(wallet);
|
|
245
|
-
|
|
246
|
-
console.log(chalk_1.default.yellow('
|
|
247
|
-
console.log(chalk_1.default.yellow('For full rescue, provide private key.\n'));
|
|
178
|
+
console.log(chalk_1.default.yellow('\n Authorization Note: Public key provided.'));
|
|
179
|
+
console.log(chalk_1.default.yellow(' Full remediation requires private key authentication.\n'));
|
|
248
180
|
return { publicKey };
|
|
249
181
|
}
|
|
250
182
|
catch { }
|
|
251
|
-
// Try to parse as private key (base58 or array)
|
|
252
183
|
try {
|
|
253
184
|
let secretKey;
|
|
254
185
|
if (wallet.startsWith('[')) {
|
|
255
|
-
// JSON array format
|
|
256
186
|
secretKey = Uint8Array.from(JSON.parse(wallet));
|
|
257
187
|
}
|
|
258
188
|
else {
|
|
259
|
-
|
|
260
|
-
secretKey =
|
|
189
|
+
const bs58 = require('bs58');
|
|
190
|
+
secretKey = bs58.decode(wallet);
|
|
191
|
+
}
|
|
192
|
+
if (secretKey.length === 64) {
|
|
193
|
+
const keypair = web3_js_1.Keypair.fromSecretKey(secretKey);
|
|
194
|
+
return { keypair, publicKey: keypair.publicKey };
|
|
261
195
|
}
|
|
262
|
-
const keypair = web3_js_1.Keypair.fromSecretKey(secretKey);
|
|
263
|
-
return { keypair, publicKey: keypair.publicKey };
|
|
264
196
|
}
|
|
265
197
|
catch { }
|
|
266
|
-
throw new Error('Invalid wallet
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Start real-time monitoring (simplified version)
|
|
270
|
-
*/
|
|
271
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
272
|
-
async function startMonitoring(connection, address) {
|
|
273
|
-
console.log(chalk_1.default.cyan(`Monitoring: ${address.toBase58()}`));
|
|
274
|
-
console.log(chalk_1.default.gray('Press Ctrl+C to stop\n'));
|
|
275
|
-
// Monitor every 10 seconds
|
|
276
|
-
setInterval(async () => {
|
|
277
|
-
try {
|
|
278
|
-
const signatures = await connection.getSignaturesForAddress(address, { limit: 10 });
|
|
279
|
-
if (signatures.length > 0) {
|
|
280
|
-
console.log(chalk_1.default.red(' NEW ACTIVITY DETECTED!'));
|
|
281
|
-
signatures.slice(0, 3).forEach(sig => {
|
|
282
|
-
console.log(chalk_1.default.gray(` • ${sig.signature.slice(0, 20)}...`));
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
process.stdout.write(chalk_1.default.gray('.'));
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
catch (error) {
|
|
290
|
-
console.error(chalk_1.default.red('Monitoring error:'), error);
|
|
291
|
-
}
|
|
292
|
-
}, 10000);
|
|
198
|
+
throw new Error('Credential error: Invalid wallet address or private key identifier.');
|
|
293
199
|
}
|
|
294
|
-
/**
|
|
295
|
-
* Sleep utility
|
|
296
|
-
*/
|
|
297
200
|
function sleep(ms) {
|
|
298
201
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
299
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rescue.js","sourceRoot":"","sources":["../../../cli/commands/rescue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rescue.js","sourceRoot":"","sources":["../../../cli/commands/rescue.ts"],"names":[],"mappings":";;;;;AA0BA,sDAgIC;AAzJD,6CAAiE;AACjE,kDAA0B;AAC1B,8CAAsB;AACtB,0DAAsD;AACtD,0DAAsD;AACtD,8DAA0D;AAgB1D;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mEAAmE,CAAC;SAChF,QAAQ,CAAC,UAAU,EAAE,iDAAiD,CAAC;SACvE,MAAM,CAAC,gBAAgB,EAAE,mCAAmC,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,8DAA8D,CAAC;SACrF,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,EAAE,SAAS,CAAC;SACrG,MAAM,CAAC,WAAW,EAAE,yDAAyD,CAAC;SAC9E,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SACnE,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,aAAa,EAAE,6BAA6B,CAAC;SACpD,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;SACtD,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAsB,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,mBAAmB,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;YAEjD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,+BAA+B,CAAC;YACrF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,8CAA8C,CAAC;YAC9G,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAEvD,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,4BAAY,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,gCAAc,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAE9D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC,CAAC;gBACrG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,+BAA+B,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACzE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC;YAED,IAAI,WAAsB,CAAC;YAE3B,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBACf,WAAW,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACpF,CAAC;iBAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,iBAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnC,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC5H,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,eAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE7E,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACzF,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAErC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAC;gBAC5F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;gBACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,aAAa,GAAG,IAAA,aAAG,EAAC;gBACxB,IAAI,EAAE,0CAA0C;gBAChD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC,KAAK,EAAE,CAAC;YAEX,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC;oBACpD,aAAa,EAAE,OAAQ;oBACvB,WAAW,EAAE,WAAW;oBACxB,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;oBAClC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;oBACnC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;iBACpC,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEnE,aAAa,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAE1E,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAE5C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;gBAC7E,CAAC;YAEH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;gBAE9D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oEAAoE,CAAC,CAAC,CAAC;gBAClG,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QAEH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,OAAO,GAAG;QACd,UAAU,EAAE;EACd,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;CAC5E;QACG,YAAY,EAAE;EAChB,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;CAC5E;QACG,SAAS,EAAE;EACb,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC3E,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC;CAC5E;QACG,SAAS,EAAE;EACb,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC5E,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC5E,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC;EAC5E,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC;CAC7E;KACE,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAA8B,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAW,EAAE,aAAqB;IAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,eAAK,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAEvF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrG,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1G,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAc;IAI5C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACtF,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC;QACH,IAAI,SAAqB,CAAC;QAC1B,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,iBAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;IAEX,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC"}
|