Skip to content

An extensible and practical demonstration of constructing evm-based sandwich attacks built with ethers-rs and Huff language.

License

Notifications You must be signed in to change notification settings

itsdarkerinnit/subway-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

subway-rs • ci license twitter

Construct evm-based sandwich attacks using Rust and Huff.

Getting Started

Before going further you should have the following packages installed on your system: Yarn, Cargo, Rust, Forge, Huff Compiler, Solc=0.8.15

subway-rs is a port of libevm's original subway, implemented with ethers-rs and huff.

Having highly optimized contracts is just one part of the equation, a tech stack is just as important as the contracts to execute on the opportunities. Source: libevm/subway

To improve upon the original tech stack, we use rust: the best language available for speed, dependability, and scalability (not biased).

This is subway-rs: A pure-rust bot and Huff smart contracts used to execute sandwich attacks on UniswapV2.

The goal is to act as a low barrier of entry for huff and rust-based MEV development; a sort-of reference code for aspiring new searchers.

We're building it to be fast. But don't take our word for it, just check out the benchmarks.

Current capabilities:

  • Watch pending transactions in the mempool.
  • Decode Transaction data for Uniswap V2 Calls. (and more soon!)
  • Search for profitable strategies efficiently using a variety of algorithms.
  • Calculate gas bribes.
  • Simulate and Execute Flashbot Bundles.
  • Verbose telemetry reporting using tracing.

Future Improvements

Note

Be aware, this bot is intended to be educational content and not for production use.

Although the bot functions, it is simplistic and certainly not competitive. Accept that advanced searchers to already be executing far beyond the current capabilities.

That being said, a list of future improvements are tagged with the feat: prefix in the issues section of this repository.

Contributing

All contributions are welcome!

Please reach out to asnared on twitter or open an issue for any questions, improvements, or bugs.

Attributions

Noteworthy Mentions

About

An extensible and practical demonstration of constructing evm-based sandwich attacks built with ethers-rs and Huff language.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 79.5%
  • Solidity 19.2%
  • Dockerfile 1.3%