artemis
artemis copied to clipboard
Create a standardised representation of a protocol
Adding support for new protocols and maintaining support for protocol updates is a huge overhead for atomic teams. It would be great if we could collaborate publicly here to share the workload, as it's very high effort / low alpha.
The collectors / strategies / executors is a great base for separating concerns, but to be really useful in a plug-and-play fashion the architecture should also separate the concerns of "protocols".
Protocols should fit a common and extendable interface which is useful for a wide array of strategies. Implementation of new protocols should be test-driven both for accuracy of protocol interactions, and also for speed benchmarks. The idea is essentially to encapsulate the work of supporting new protocols which can then be dropped into strategies.
This feels like a potentially huge win/win for searchers, provided multiple teams are willing to contribute.
Regarding DEXs, these repositories are a great start to a standardized representation of a dex.
- https://github.com/0xKitsune/uniswap-v3-math
- https://github.com/0xKitsune/cfmms-rs (univ2 & univ3)
That could serve as a low hanging branch to collaborate around and start integrating into Artemis
@CodeForcer great idea, you first!
Good idea. MEV Inspect had some initial attempts at this: https://github.com/flashbots/mev-inspect-rs/blob/master/src/types/actions.rs#L7-L26