Closes #14, closes #12, closes #9, closes #8, closes #15, closes #10, closes #7, closes #2. This PR also implements all of the necessary logic to execute arbitrage trades, which is general to specific strategies, and available in strategies/util.py. Logic for executing arbitrage trades is chain-agnostic, and incorporates IBC transfers when necessary. This PR also implements a strategy called "bellman ford," which uses negative logs to find negative cycles in a graph, which are profitable cycles. Notable performance improvements in this PR include:
async support for all queries
async utilization in DFS
Threaded separation of route execution from route discovery to enable parallel discovery and execution
Support for building with nix, which automates installation of dependencies
Closes #14, closes #12, closes #9, closes #8, closes #15, closes #10, closes #7, closes #2. This PR also implements all of the necessary logic to execute arbitrage trades, which is general to specific strategies, and available in
strategies/util.py
. Logic for executing arbitrage trades is chain-agnostic, and incorporates IBC transfers when necessary. This PR also implements a strategy called "bellman ford," which uses negative logs to find negative cycles in a graph, which are profitable cycles. Notable performance improvements in this PR include:async
support for all queriesasync
utilization in DFSnix
, which automates installation of dependenciesAmong others.