I decided to make ProtocolApprovalsManager public method sync not to propagate asynceness early on onto the rest of the code. If later we decide that it is better to have this async, it should be easier to make that change than the opposite one.
--- don't change below this line ---
ENG-4064 Took 24 minutes
- 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#>