package arbitrage import ( "math/big" "time" "github.com/ethereum/go-ethereum/common" "github.com/fraktal/mev-beta/pkg/math" "github.com/fraktal/mev-beta/pkg/mev" "github.com/fraktal/mev-beta/pkg/types" ) // ExecutionResult represents the result of an arbitrage execution type ExecutionResult struct { TransactionHash common.Hash GasUsed uint64 GasPrice *big.Int GasCost *math.UniversalDecimal // Changed to UniversalDecimal for consistency with other components ProfitRealized *big.Int Success bool Error error ExecutionTime time.Duration Path *ArbitragePath ErrorMessage string // Added for compatibility Status string // Added for compatibility } // ExecutionTask represents a task for execution type ExecutionTask struct { Opportunity *types.ArbitrageOpportunity Priority int Deadline time.Time SubmissionTime time.Time // Added for tracking when the task was submitted CompetitionAnalysis *mev.CompetitionData // Changed to match what the analyzer returns ResultChan chan *ExecutionResult // Channel to send execution result back } // DetectionParams represents parameters for arbitrage opportunity detection type DetectionParams struct { TokenA common.Address TokenB common.Address MinProfit *big.Int MaxSlippage float64 } // TokenPair represents a trading pair type TokenPair struct { TokenA common.Address TokenB common.Address }