diff --git a/cmd/mev-bot/dex_integration.go b/cmd/mev-bot/dex_integration.go new file mode 100644 index 0000000..907b3cb --- /dev/null +++ b/cmd/mev-bot/dex_integration.go @@ -0,0 +1,42 @@ +package main + +import ( + "log/slog" + + "github.com/ethereum/go-ethereum/ethclient" + "github.com/fraktal/mev-beta/pkg/dex" +) + +// InitializeDEXIntegration initializes the multi-DEX system +func InitializeDEXIntegration(client *ethclient.Client, logger *slog.Logger) (*dex.MEVBotIntegration, error) { + logger.Info("Initializing multi-DEX integration...") + + // Create integration + integration, err := dex.NewMEVBotIntegration(client, logger) + if err != nil { + return nil, err + } + + // Log active DEXes + activeDEXes := integration.GetActiveDEXes() + dexCount := integration.GetDEXCount() + + logger.Info("Multi-DEX integration ready", + "active_dexes", dexCount, + "dexes", activeDEXes, + ) + + return integration, nil +} + +// DEXConfig holds DEX configuration loaded from file +type DEXConfig struct { + Config *dex.Config +} + +// LoadDEXConfig loads DEX configuration +func LoadDEXConfig() *dex.Config { + // For now, use production config + // TODO: Load from config file when implementing full config system + return dex.ProductionConfig() +}