flashloan-profit-calculator
Version:
A library for analyzing flashloan transactions and calculating profits
86 lines (62 loc) • 1.96 kB
Markdown
This tool analyzes Ethereum transaction logs to calculate the profit made from flashloan arbitrage or other DeFi operations.
- Calculate profit directly from a transaction hash
- Analyze token transfers (ERC20) from logs
- Track ETH transfers from trace data
- Fetch token metadata for proper display
- CLI interface for easy usage
## Project Structure
The codebase is organized in a modular way:
- `tokenTypes.ts` - Type definitions and constants
- `transferProcessor.ts` - Process transfers and update balances
- `profitCalculator.ts` - Calculate profit from balance changes
- `index.ts` - Main API entry points
- `cli.ts` - Command-line interface
## Setup
1. Clone this repository
2. Install dependencies:
```bash
npm install
```
3. Create a `.env` file with:
```
ALCHEMY_API_KEY=your_alchemy_api_key
```
Analyze a transaction:
```bash
npx ts-node cli.ts 0x123...abc
```
Where `0x123...abc` is the transaction hash you want to analyze.
Import the library:
```typescript
import { calculateProfitFromTxHash, displayProfitResults } from './index';
async function analyzeTx(txHash: string) {
try {
// Calculate profit
const profit = await calculateProfitFromTxHash(txHash);
// Display results
await displayProfitResults(profit);
// Or use the raw profit data
console.log('Raw profit data:', profit);
} catch (error) {
console.error('Error:', error);
}
}
// Analyze a transaction
analyzeTx('0x123...abc');
```
1. Fetches transaction details using Alchemy API
2. Extracts logs and traces from the transaction
3. Processes transfer logs to track token movements
4. Analyzes ETH transfers from trace data
5. Calculates profit by summing revenue and costs
6. Displays results with proper token information
- Node.js v14+
- TypeScript
- Alchemy API key