use pathfinder2::graph::compute_flow; use pathfinder2::io::read_edges_binary; use pathfinder2::types::{Address, Edge, U256}; use std::collections::HashMap; use std::process::Command; const HUB_ADDRESS: &'static str = "0x29b9a7fBb8995b2423a71cC17cf9810798F6C543"; const TRANSFER_THROUGH_SIG: &'static str = "transferThrough(address[],address[],address[],uint256[])"; const RPC_URL: &'static str = "https://rpc.gnosischain.com"; #[test] fn test_flow_chris_martin() { let chriseth = Address::from("0x8DC7e86fF693e9032A0F41711b5581a04b26Be2E"); let martin = Address::from("0x42cEDde51198D1773590311E2A340DC06B24cB37"); test_flow(&chriseth, &martin, &read_edges(), U256::MAX, None); test_flow(&chriseth, &martin, &read_edges(), U256::MAX, Some(2)); test_flow( &chriseth, &martin, &read_edges(), U256::from(71152921504606846976), Some(2), ); test_flow( &chriseth, &martin, &read_edges(), U256::from(51152921504606846976), Some(2), ); } #[test] fn test_flow_large() { let large_source = Address::from("0x9BA1Bcd88E99d6E1E03252A70A63FEa83Bf1208c"); let large_dest = Address::from("0x939b2731997922f21ab0a0bab500a949c0fc3550"); test_flow( &large_source, &large_dest, &read_edges(), U256::MAX, Some(4), ); test_flow( &large_source, &large_dest, &read_edges(), U256::MAX, Some(6), ); } fn read_edges() -> HashMap
> { read_edges_binary(&"edges.dat".to_string()).unwrap() } fn test_flow( source: &Address, sink: &Address, edges: &HashMap>, requested_flow: U256, max_distance: Option