fix(multicall): resolve critical multicall parsing corruption issues
- Added comprehensive bounds checking to prevent buffer overruns in multicall parsing - Implemented graduated validation system (Strict/Moderate/Permissive) to reduce false positives - Added LRU caching system for address validation with 10-minute TTL - Enhanced ABI decoder with missing Universal Router and Arbitrum-specific DEX signatures - Fixed duplicate function declarations and import conflicts across multiple files - Added error recovery mechanisms with multiple fallback strategies - Updated tests to handle new validation behavior for suspicious addresses - Fixed parser test expectations for improved validation system - Applied gofmt formatting fixes to ensure code style compliance - Fixed mutex copying issues in monitoring package by introducing MetricsSnapshot - Resolved critical security vulnerabilities in heuristic address extraction - Progress: Updated TODO audit from 10% to 35% complete 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,45 +1,61 @@
|
||||
# Quick Start Guide
|
||||
|
||||
## Overview
|
||||
|
||||
This MEV (Maximal Extractable Value) bot monitors the Arbitrum sequencer for potential swap opportunities and identifies profitable arbitrage opportunities using advanced mathematical calculations and concurrent processing.
|
||||
This guide gets you from a fresh clone to a locally running MEV Bot instance and points you toward deeper documentation.
|
||||
|
||||
## Prerequisites
|
||||
- Go 1.24 or newer (`go version` to verify)
|
||||
- Access to an Arbitrum RPC/WebSocket endpoint
|
||||
- OpenSSL (for generating encryption keys)
|
||||
|
||||
- Go 1.24 or higher
|
||||
- Access to Arbitrum node
|
||||
|
||||
## Installation
|
||||
|
||||
## Environment Setup
|
||||
```bash
|
||||
# Clone and enter the repository
|
||||
git clone <repository-url>
|
||||
cd mev-beta
|
||||
|
||||
# Provision default environment files and directories
|
||||
./setup-env.sh
|
||||
|
||||
# Generate a 32-byte encryption key and export connection secrets
|
||||
export MEV_BOT_ENCRYPTION_KEY="$(openssl rand -base64 32)"
|
||||
export ARBITRUM_RPC_ENDPOINT="wss://..."
|
||||
export ARBITRUM_WS_ENDPOINT="wss://..."
|
||||
```
|
||||
Update `.env` with the Ethereum key material described in `docs/5_development/CONFIGURATION.md` before running transactions.
|
||||
|
||||
## Install Dependencies & Build
|
||||
```bash
|
||||
# Sync Go modules and vendor checksums
|
||||
go mod tidy
|
||||
|
||||
# Compile the bot binary (writes to bin/mev-bot)
|
||||
make build
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
## Run & Verify
|
||||
```bash
|
||||
# Execute the service binary
|
||||
./bin/mev-bot start
|
||||
|
||||
# Alternatively run without rebuilding
|
||||
go run cmd/mev-bot/main.go
|
||||
```
|
||||
|
||||
## Configuration
|
||||
## Recommended Checks
|
||||
```bash
|
||||
# Format, lint, and vet code before committing
|
||||
make fmt
|
||||
make lint
|
||||
make vet
|
||||
|
||||
Configuration files can be found in the `config/` directory.
|
||||
# Run the full test suite with coverage
|
||||
make test
|
||||
make test-coverage
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
## Where to Go Next
|
||||
- `docs/INDEX.md` – Navigation for all documentation categories
|
||||
- `PROJECT_SPECIFICATION.md` – High-level architecture and requirements
|
||||
- `docs/5_development/TESTING_BENCHMARKING.md` – Testing strategy and performance validation
|
||||
|
||||
After successfully installing and running the MEV bot, explore the comprehensive documentation in the `docs/` directory to understand the system architecture, core components, and advanced features.
|
||||
|
||||
## Documentation Structure
|
||||
|
||||
The documentation is organized into the following categories:
|
||||
|
||||
1. **Getting Started** - Quick start guides and setup
|
||||
2. **Architecture** - System design and architecture
|
||||
3. **Core Packages** - Detailed package documentation
|
||||
4. **Application** - Main application documentation
|
||||
5. **Development** - Development guides and practices
|
||||
6. **Operations** - Production and operations
|
||||
7. **Reference** - Technical reference materials
|
||||
8. **Reports** - Project reports and analysis
|
||||
|
||||
See the [Table of Contents](../TABLE_OF_CONTENTS.md) for a complete navigation guide to all documentation.
|
||||
Keep this doc purposely actionable; consult the broader documentation sections for architecture deep dives, deployment practices, and security hardening.
|
||||
|
||||
Reference in New Issue
Block a user