Files
27-combi/test-demo.js

57 lines
2.5 KiB
JavaScript
Raw Normal View History

// Simple test demonstration
import { loadConfig } from './dist/config/config.js';
// Set test environment variables
process.env.NETWORK = 'ethereum';
process.env.WALLET_PROVIDER_TYPE = 'private_key';
process.env.PRIVATE_KEY = '0x0000000000000000000000000000000000000000000000000000000000000001';
process.env.INITIAL_COLLATERAL_AMOUNT = '100000';
process.env.COLLATERAL_ASSET = 'USDC';
process.env.BORROW_ASSET = 'DAI';
process.env.LTV_PERCENTAGE = '75';
process.env.NUM_LOOPS = '8';
process.env.MIN_HEALTH_FACTOR = '1.1';
process.env.MAX_LOOPS = '10';
process.env.DEX_PROVIDER = 'uniswap_v3';
process.env.SLIPPAGE_TOLERANCE = '0.02';
process.env.EXECUTION_MODE = 'direct';
process.env.PRICE_DEVIATION_THRESHOLD = '0.003';
process.env.ENABLE_PRICE_CHECKS = 'true';
process.env.MAX_GAS_PRICE_GWEI = '100';
process.env.GAS_LIMIT_MULTIPLIER = '1.2';
console.log('Testing configuration loading...\n');
try {
const config = loadConfig();
console.log('✓ Configuration loaded successfully!\n');
console.log('Configuration Summary:');
console.log(` Network: ${config.network}`);
console.log(` RPC URL: ${config.networkConfig.rpcUrl}`);
console.log(` Chain ID: ${config.networkConfig.chainId}`);
console.log(` Wallet Provider: ${config.wallet.providerType}`);
console.log(` Collateral: ${config.loop.initialCollateralAmount} ${config.loop.collateralAsset}`);
console.log(` Borrow Asset: ${config.loop.borrowAsset}`);
console.log(` LTV: ${config.loop.ltvPercentage}%`);
console.log(` Loops: ${config.loop.numLoops}`);
console.log(` Min Health Factor: ${config.loop.minHealthFactor}`);
console.log(` DEX Provider: ${config.dex.provider}`);
console.log(` Execution Mode: ${config.executionMode}`);
console.log(` Slippage Tolerance: ${config.dex.slippageTolerance * 100}%`);
console.log(` Price Checks: ${config.safety.enablePriceChecks ? 'Enabled' : 'Disabled'}`);
console.log(` Aave Pool: ${config.networkConfig.aavePoolAddress}`);
console.log(` USDC Address: ${config.networkConfig.tokens.USDC}`);
console.log(` DAI Address: ${config.networkConfig.tokens.DAI}`);
console.log('\n✓ All configuration validated successfully!');
console.log('\nThe tool is ready to use. To execute:');
console.log(' 1. Set up your .env file with real values');
console.log(' 2. Run: npm start execute --dry-run (for simulation)');
console.log(' 3. Run: npm start execute (for real execution)');
} catch (error) {
console.error('✗ Error:', error.message);
process.exit(1);
}