feat: Add evm feature gate

- Move all evm code inside evm directory
- StrategyEncoder:
  - Kept StrategyEncoder trait but created a new one: EVMStrategyEncoder to implement encode_protocol_header (that is evm specific).
  - All StrategyEncoders implement both traits now
  - Renamed DefaultStrategySelector -> EVMStrategySelector
- RouterEncoder:
  - Created a RouterEncoder trait and a EVMRouterEncoder that implements it
- Moved utils inside evm directory as well
- Renamed config.json -> executor_addresses.json and moved it to a higher config directory
- Make alloy optional and dependent on the evm feature gate

--- don't change below this line ---
ENG-4075 <#DTT#>
This commit is contained in:
Diana Carvalho
2025-01-17 12:51:37 +00:00
parent 1d3ac22087
commit 6c6ba21894
22 changed files with 346 additions and 299 deletions

View File

@@ -10,9 +10,9 @@ num-bigint = "0.4.6"
tokio = { version = "1.38.0", features = ["full"] }
alloy = { version = "0.5.4", features = ["providers"] }
alloy-sol-types = { version = "0.8.14" }
alloy-primitives = { version = "0.8.9" }
alloy = { version = "0.5.4", features = ["providers"], optional = true }
alloy-sol-types = { version = "0.8.14", optional = true }
alloy-primitives = { version = "0.8.9", optional = true }
tycho-core = { git = "https://github.com/propeller-heads/tycho-indexer.git", package = "tycho-core", tag = "0.46.0" }
hex = "0.4.3"
anyhow = "1.0.95"
@@ -20,5 +20,9 @@ num-traits = "0.2.19"
serde = { version = "1.0.217", features = ["derive"] }
serde_json = "1.0.135"
[features]
default = ["evm"]
evm = ["alloy", "alloy-sol-types", "alloy-primitives"]
[profile.bench]
debug = true