1 unstable release

0.0.1 Oct 22, 2020

#7 in #eye

Apache-2.0

325KB
1.5K SLoC

Eye of Sutro: Ethereum State Watcher

Crates.io Docs.rs CircleCI Codecov

Idea

Ethereum transactions trigger the execution of EVM contract code. The execution is deterministic and depends only on the transaction (sender, calldata, etc) and the chain state (block info, storage). Transactions can make limited changes to chain state and return a bytestring.

We are not interested in accurately computing gas consumption of transactions or transactions involving creating and destroying contracts. This massively simplifies the EVM semantics. We can also safely ignore logging as it is now redundant.


Scope

Order Routing

Mesh Order Watcher 2.0

Periscope chain data collector

Fast test runner

Ganache is quite slow and this prevents us from running as many tests as we would like. A fast EVM engine that can fork of an existing chain.

Milestones

https://eth.wiki/json-rpc/API

Debugging:

  • Bytes4 decode any call / return value.
  • Parse Solidity sourcemaps.
clear; RUST_LOG="trace,tokio=info,hyper=info,mio=info" cargo run

Dependencies

~29–40MB
~576K SLoC