saving in place

This commit is contained in:
Krypto Kajun
2025-10-04 09:31:02 -05:00
parent 76c1b5cee1
commit f358f49aa9
295 changed files with 72071 additions and 17209 deletions

272
.claude.old/CLAUDE.md Normal file
View File

@@ -0,0 +1,272 @@
# Claude CLI Configuration
This directory contains Claude Code configuration and tools for the MEV Bot project.
## 🚀 Quick Start Commands
### Essential Build & Test Commands
```bash
# Build the MEV bot binary
make build
# Run tests
make test
# Start development server with hot reload
./scripts/run.sh
# Build and run with logging
./scripts/build.sh && ./mev-bot start
# Check for Go modules issues
go mod tidy && go mod verify
# Run linter
golangci-lint run
# Run security analysis
gosec ./...
```
### Development Workflow Commands
```bash
# Setup production environment for testing
export ARBITRUM_RPC_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870"
export ARBITRUM_WS_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870"
export MEV_BOT_ENCRYPTION_KEY="tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48="
export METRICS_ENABLED="false"
# Run with production endpoints and timeout for testing
env ARBITRUM_RPC_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870" ARBITRUM_WS_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870" MEV_BOT_ENCRYPTION_KEY="tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=" timeout 30 ./bin/mev-bot start
# Debug with verbose logging using production endpoints
env ARBITRUM_RPC_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870" ARBITRUM_WS_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870" MEV_BOT_ENCRYPTION_KEY="tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=" LOG_LEVEL="debug" timeout 15 ./bin/mev-bot start
# Scan for opportunities using production endpoints
env ARBITRUM_RPC_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870" ARBITRUM_WS_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870" MEV_BOT_ENCRYPTION_KEY="tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=" timeout 20 ./bin/mev-bot scan
# Profile performance
go tool pprof http://localhost:6060/debug/pprof/profile
```
## Claude Commands Directory
The `.claude/commands/` directory contains predefined commands for common development tasks:
- `analyze-performance.md` - Analyze application performance
- `debug-issue.md` - Debug issues in the codebase
- `implement-feature.md` - Implement new features
- `optimize-performance.md` - Optimize performance
- `security-audit.md` - Perform security audits
## Claude Settings
The `.claude/settings.local.json` file contains Claude's permissions configuration:
```json
{
"permissions": {
"allow": [
"Bash(find:*)",
"Bash(go mod:*)",
"Bash(go list:*)",
"mcp__ide__getDiagnostics",
"Bash(go test:*)",
"Bash(go build:*)",
"Read(//tmp/**)",
"Bash(./mev-bot start --help)",
"Bash(xargs ls:*)",
"Bash(timeout:*)",
"WebSearch",
"WebFetch(domain:docs.uniswap.org)",
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:htdocs.dev)"
],
"deny": [],
"ask": []
}
}
```
## 📋 Development Guidelines & Code Style
### Go Best Practices
- **Error Handling**: Always wrap errors with context using `fmt.Errorf("operation failed: %w", err)`
- **Concurrency**: Use worker pools for processing large datasets (see `pkg/market/pipeline.go`)
- **Interfaces**: Keep interfaces small and focused (1-3 methods maximum)
- **Testing**: Aim for >90% test coverage with table-driven tests
- **Logging**: Use structured logging with `slog` package
- **Performance**: Profile regularly with `go tool pprof`
### Code Organization Rules
- **File Size**: Keep files under 500 lines (split larger files into logical components)
- **Package Structure**: Follow Go standard layout (cmd/, internal/, pkg/)
- **Naming**: Use Go naming conventions (PascalCase for exports, camelCase for private)
- **Documentation**: Document all exported functions with examples
- **Constants**: Group related constants in blocks with `iota` when appropriate
### Required Checks Before Commit
```bash
# Run all checks before committing
make test && make lint && go mod tidy
# Security scan
gosec ./...
# Dependency vulnerability check
go list -json -m all | nancy sleuth
```
## Claude's Primary Focus Areas
As Claude, you're particularly skilled at:
1. **Code Architecture and Design Patterns**
- Implementing clean, maintainable architectures
- Applying appropriate design patterns (pipeline, worker pool, etc.)
- Creating well-structured interfaces between components
- Ensuring loose coupling and high cohesion
2. **System Integration and APIs**
- Designing clear APIs between components
- Implementing proper data flow between modules
- Creating robust configuration management
- Building error handling and recovery mechanisms
3. **Writing Clear Documentation**
- Documenting complex algorithms and mathematical calculations
- Creating clear API documentation
- Writing architectural decision records
- Producing user guides and examples
4. **Implementing Robust Error Handling**
- Using Go's error wrapping with context
- Implementing retry mechanisms with exponential backoff
- Handling timeouts appropriately
- Creating comprehensive logging strategies
5. **Creating Maintainable and Scalable Code Structures**
- Organizing code for easy testing and maintenance
- Implementing performance monitoring and metrics
- Designing for horizontal scalability
- Ensuring code follows established patterns and conventions
## 🛠 Claude Code Optimization Settings
### Workflow Preferences
- **Always commit changes**: Use `git commit -am "descriptive message"` after significant changes
- **Branch naming**: Use hyphens (`feat-add-new-parser`, `fix-memory-leak`)
- **Context management**: Use `/compact` to manage long conversations
- **Parallel processing**: Leverage Go's concurrency patterns extensively
### File Organization Preferences
- **Never save temporary files to root**: Use `/tmp/` or `internal/temp/`
- **Log files**: Always save to `logs/` directory
- **Test files**: Place alongside source files with `_test.go` suffix
- **Documentation**: Keep in `docs/` with clear naming
### Performance Monitoring
```bash
# Enable metrics endpoint
export METRICS_ENABLED="true"
export METRICS_PORT="9090"
# Monitor memory usage
go tool pprof http://localhost:9090/debug/pprof/heap
# Monitor CPU usage
go tool pprof http://localhost:9090/debug/pprof/profile?seconds=30
# Monitor goroutines
go tool pprof http://localhost:9090/debug/pprof/goroutine
```
## 🔧 Environment Configuration
### Required Environment Variables
```bash
# Production Arbitrum RPC Configuration (WSS for full features)
export ARBITRUM_RPC_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870"
export ARBITRUM_WS_ENDPOINT="wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870"
# Security Configuration
export MEV_BOT_ENCRYPTION_KEY="tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48="
# Application Configuration
export LOG_LEVEL="info"
export METRICS_ENABLED="false"
export METRICS_PORT="9090"
# Development Configuration
export GO_ENV="development"
export DEBUG="true"
```
### Optional Environment Variables
```bash
# Performance Tuning
export GOMAXPROCS=4
export GOGC=100
# Logging Configuration
export LOG_FORMAT="json"
export LOG_OUTPUT="logs/mev-bot.log"
# Rate Limiting
export MAX_RPS=100
export RATE_LIMIT_BURST=200
```
## 📝 Commit Message Conventions
### Format
```
type(scope): brief description
- Detailed explanation of changes
- Why the change was needed
- Any breaking changes or migration notes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
```
### Types
- `feat`: New feature implementation
- `fix`: Bug fix
- `perf`: Performance improvement
- `refactor`: Code restructuring without feature changes
- `test`: Adding or updating tests
- `docs`: Documentation updates
- `build`: Build system or dependency changes
- `ci`: CI/CD pipeline changes
## 🚨 Security Guidelines
### Never Commit
- Private keys or wallet seeds
- API keys or secrets
- RPC endpoints with authentication
- Personal configuration files
### Always Validate
- Input parameters for all functions
- RPC responses before processing
- Mathematical calculations for overflow
- Memory allocations for bounds
### Security Commands
```bash
# Scan for secrets
git-secrets --scan
# Security audit
gosec ./...
# Dependency vulnerabilities
go list -json -m all | nancy sleuth
# Check for hardcoded credentials
grep -r "password\|secret\|key" --exclude-dir=.git .
```

View File

@@ -0,0 +1,120 @@
{
"permissions": {
"allow": [
"Bash(find:*)",
"Bash(go mod:*)",
"Bash(go list:*)",
"mcp__ide__getDiagnostics",
"Bash(go test:*)",
"Bash(go build:*)",
"Read(//tmp/**)",
"Bash(./mev-bot start --help)",
"Bash(xargs ls:*)",
"Bash(timeout:*)",
"Bash(export ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\")",
"Bash(export ARBITRUM_WS_ENDPOINT=\"wss://arb1.arbitrum.io/ws\")",
"Bash(export METRICS_ENABLED=\"true\")",
"Bash(export METRICS_PORT=\"9090\")",
"Bash(echo:*)",
"Bash(ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" ARBITRUM_WS_ENDPOINT=\"wss://arb1.arbitrum.io/ws\" METRICS_ENABLED=\"true\" timeout 30 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" ARBITRUM_WS_ENDPOINT=\"wss://arb1.arbitrum.io/ws\" METRICS_ENABLED=\"true\" timeout 30 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" ARBITRUM_WS_ENDPOINT=\"wss://arb1.arbitrum.io/ws\" METRICS_ENABLED=\"true\" timeout 60 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" ARBITRUM_WS_ENDPOINT=\"\" METRICS_ENABLED=\"true\" timeout 60 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arb1.arbitrum.io/ws\" ARBITRUM_WS_ENDPOINT=\"wss://arb1.arbitrum.io/ws\" METRICS_ENABLED=\"true\" timeout 20 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.infura.io/ws/v3/demo\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.infura.io/ws/v3/demo\" METRICS_ENABLED=\"true\" timeout 30 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"true\" timeout 30 ./mev-bot start)",
"Bash(chmod:*)",
"Bash(pkill:*)",
"Bash(lsof:*)",
"Bash(xargs kill:*)",
"Bash(ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 30 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" ./bin/mev-bot start)",
"WebSearch",
"WebFetch(domain:docs.uniswap.org)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 15 ./bin/mev-bot start)",
"Bash(./scripts/run.sh:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 30 ./mev-bot start)",
"Bash(node:*)",
"Bash(python3:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 20 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 10 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 5 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 15 ./mev-bot start)",
"Bash(git checkout:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(cat:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 3 ./mev-bot start)",
"Read(//home/administrator/.claude/**)",
"WebFetch(domain:github.com)",
"WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:htdocs.dev)",
"Bash(while read file)",
"Read(//home/administrator/projects/**)",
"Read(//home/administrator/**)",
"Bash(mkdir:*)",
"Bash(abigen:*)",
"Bash(go vet:*)",
"Bash(go env:*)",
"Bash(./scripts/test-setup.sh:*)",
"Bash(go get:*)",
"Bash(grep:*)",
"Bash(go fmt:*)",
"Bash(./scripts/production-validation.sh:*)",
"Bash(go run:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" timeout 15 go run test/production/deployed_contracts_demo.go)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"dGVzdC1lbmNyeXB0aW9uLWtleS1mb3ItZGVtby0xMjM0NTY3OA==\" timeout 10 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"dGVzdC1lbmNyeXB0aW9uLWtleS1mb3ItZGVtby0xMjM0NTY3OA==\" timeout 20 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" ARBITRUM_WS_ENDPOINT=\"\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"dGVzdC1lbmNyeXB0aW9uLWtleS1mb3ItZGVtby0xMjM0NTY3OA==\" timeout 10 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"dGVzdC1lbmNyeXB0aW9uLWtleS1mb3ItZGVtby0xMjM0NTY3OA==\" timeout 15 ./mev-bot scan)",
"Bash(./scripts/run-fork-tests.sh:*)",
"Bash(openssl rand:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 15 ./bin/mev-bot scan)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 5 ./bin/mev-bot scan)",
"Bash(env MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" go run scripts/generate-key.go)",
"Bash(env MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 10 go run scripts/generate-key.go)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 30 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 30 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 60 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"true\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 30 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" LOG_LEVEL=\"debug\" timeout 20 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 15 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 10 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 15 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 10 ./mev-bot start)",
"WebFetch(domain:arbiscan.io)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 5 ./bin/mev-bot start)",
"Bash(kill:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" LOG_LEVEL=\"debug\" timeout 15 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" LOG_LEVEL=\"debug\" timeout 5 ./mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 3 ./bin/mev-bot start)",
"Bash(git mv:*)",
"Bash(./bin/mev-bot:*)",
"Bash(make:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" METRICS_ENABLED=\"false\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" LOG_LEVEL=\"debug\" timeout 3 ./bin/mev-bot start)",
"Bash(./bin/swap-cli:*)",
"Bash(ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" WALLET_ADDRESS=\"0x742d35Cc6AaB8f5d6649c8C4F7C6b2d123456789\" ./bin/swap-cli --dry-run uniswap-v3 --token-in 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 --token-out 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 --amount-in 1000000000)",
"Bash(tree:*)",
"Bash(gosec:*)",
"Bash(export MEV_BOT_ENCRYPTION_KEY=\"dGVzdC1lbmNyeXB0aW9uLWtleS1mb3ItZGVtby0xMjM0NTY3OA==\")",
"Bash(./scripts/security-validation.sh:*)",
"Bash(qwen:*)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 10 ./bin/mev-bot scan)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"https://arb1.arbitrum.io/rpc\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 20 ./bin/mev-bot scan)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 30 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 15 ./bin/mev-bot scan)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" LOG_LEVEL=\"debug\" timeout 15 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ./bin/swap-cli --dry-run uniswap-v3 --token-in 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 --token-out 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 --amount-in 1000000000)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" ./scripts/production-validation.sh)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 20 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 5 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 10 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 3 ./bin/mev-bot start)",
"Bash(env ARBITRUM_RPC_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" ARBITRUM_WS_ENDPOINT=\"wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870\" MEV_BOT_ENCRYPTION_KEY=\"tVoxTugRw7lk7q/GC8yXd0wg3vLy8m6GtrvCqj/5q48=\" timeout 15 ./bin/mev-bot start)"
],
"deny": [],
"ask": []
}
}