Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions chains.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Custom chain registry for Robinhood Chain.
#
# Fynd / tycho-common use this to register "robinhood" as a custom chain until
# Chain::Robinhood ships as a first-class variant in the upstream tycho-common crate.
# Pass via `--chains-config chains.yaml` or `TYCHO_CHAINS_CONFIG=chains.yaml`.
chains:
- name: robinhood
chain_id: 4663
block_time_secs: 1
native:
address: "0x0000000000000000000000000000000000000000"
symbol: "ETH"
decimals: 18
wrapped_native:
address: "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73"
symbol: "WETH"
decimals: 18
default_tvl_thresholds:
low: 10
medium: 100
2 changes: 2 additions & 0 deletions fynd-rpc/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ pub mod defaults {
"bsc" => Ok("https://bsc-dataseed.bnbchain.org"),
"arbitrum" => Ok("https://arbitrum.drpc.org"),
"polygon" => Ok("https://polygon.drpc.org"),
"robinhood" => Ok("https://rpc.mainnet.chain.robinhood.com"),
other => Err(format!(
"no default RPC URL for chain '{}'. Please provide --rpc-url explicitly.",
other
Expand All @@ -205,6 +206,7 @@ pub mod defaults {
"bsc" => Ok("tycho-bsc-beta.propellerheads.xyz"),
"arbitrum" => Ok("tycho-arbitrum-beta.propellerheads.xyz"),
"polygon" => Ok("tycho-polygon-beta.propellerheads.xyz"),
"robinhood" => Ok("tycho-robinhood-beta.propellerheads.xyz"),
other => Err(format!(
"no default Tycho URL for chain '{}'. Please provide --tycho-url explicitly.",
other
Expand Down
31 changes: 31 additions & 0 deletions robinhood_pools.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Worker-pools config for running Fynd on Robinhood Chain (chain-id 4663) — pass with
# `--worker-pools-config robinhood_pools.toml` (e.g. `hindsight monitor --chain robinhood`).
#
# Two pools run concurrently; the router keeps the best result by amount_out_net_gas.
# most_liquid is the cheap single-path baseline; path_frank_wolfe adds split routing that
# helps larger trades. Both restrict intermediate hops to Robinhood Chain's most-connected
# tokens. Robinhood Chain uses USDG as its stablecoin (no USDC/USDT/DAI/WBTC).

[pools.most_liquid_robinhood]
algorithm = "most_liquid"
num_workers = 3
task_queue_capacity = 1000
max_hops = 3
timeout_ms = 500
connector_tokens = [
"0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73", # WETH
"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168", # USDG
"0x0000000000000000000000000000000000000000", # ETH (native gas)
]

[pools.path_frank_wolfe_robinhood]
algorithm = "path_frank_wolfe"
num_workers = 3
task_queue_capacity = 1000
max_hops = 3
timeout_ms = 1000
connector_tokens = [
"0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73", # WETH
"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168", # USDG
"0x0000000000000000000000000000000000000000", # ETH (native gas)
]
1 change: 1 addition & 0 deletions tools/hindsight/src/resolve/monitor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,7 @@ async fn build_solver(
fn default_lag_blocks(chain: &str) -> u64 {
let block_secs = match chain.to_lowercase().as_str() {
"base" => 2,
"robinhood" => 1,
_ => 12,
};
(20 * 60 / block_secs).max(1)
Expand Down