Skip to content

Commit ca1b3a0

Browse files
zizou0xgitbook-bot
authored andcommitted
GITBOOK-203: Add Ekubo V3
1 parent 7f45292 commit ca1b3a0

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

docs/for-solvers/execution/contract-addresses.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Ethereum
44

5-
<table data-full-width="false"><thead><tr><th>Contract</th><th width="484">Address</th></tr></thead><tbody><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/TychoRouter.sol">TychoRouter</a></td><td><a href="https://etherscan.io/address/0xfD0b31d2E955fA55e3fa641Fe90e08b677188d35">0xfD0b31d2E955fA55e3fa641Fe90e08b677188d35</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV2Executor.sol">UniswapV2Executor</a></td><td><a href="https://etherscan.io/address/0xaE04CA7E9Ed79cBD988f6c536CE11C621166f41B">0xaE04CA7E9Ed79cBD988f6c536CE11C621166f41B</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV3Executor.sol">UniswapV3Executor</a></td><td><a href="https://etherscan.io/address/0xbab7124C9662B15C6b9AF0b1f329907dD55a24FC">0xbab7124C9662B15C6b9AF0b1f329907dD55a24FC</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/71730ac266b127e7d5d5842dff35a61aaa6d4d23/foundry/src/executors/UniswapV4Executor.sol">UniswapV4Executor</a></td><td><a href="https://etherscan.io/address/0xe49b916032c734cd89cdfe80a868805c738a6ceb">0xe49b916032c734cd89cdfe80a868805c738a6ceb</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/BalancerV2Executor.sol">BalancerV2Executor</a></td><td><a href="https://etherscan.io/address/0xB5b8dc3F0a1Be99685a0DEd015Af93bFBB55C411">0xB5b8dc3F0a1Be99685a0DEd015Af93bFBB55C411</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV2Executor.sol">SushiswapV2Executor</a></td><td><a href="https://etherscan.io/address/0x2017ad7035D781C14699C8E44ed62d3083723A18">0x2017ad7035D781C14699C8E44ed62d3083723A18</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV2Executor.sol">PancakeswapV2Executor</a></td><td><a href="https://etherscan.io/address/0xC9db3FEB380E4fd9af239e2595ECdEcE3b5c34A4">0xC9db3FEB380E4fd9af239e2595ECdEcE3b5c34A4</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV3Executor.sol">PancakeswapV3Executor</a></td><td><a href="https://etherscan.io/address/0x9D32e9F569B22Ae8d8C6f788037C1CD53632A059">0x9D32e9F569B22Ae8d8C6f788037C1CD53632A059</a></td></tr><tr><td><a href="https://github.com/die-herdplatte/tycho-execution/blob/3fe9906e5babb4a31af45c1d48fda3a096802fe8/foundry/src/executors/EkuboExecutor.sol">EkuboExecutor</a></td><td><a href="https://etherscan.io/address/0x263DD7AD20983b5E0392bf1F09C4493500EDb333">0x263DD7AD20983b5E0392bf1F09C4493500EDb333</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/6c8daf81615c0799a7b6a129c93d7a4490205f71/foundry/src/executors/CurveExecutor.sol">CurveExecutor</a></td><td><a href="https://etherscan.io/address/0xc8031d1457D19D5F0e074f74960bAF2010beA795">0xc8031d1457D19D5F0e074f74960bAF2010beA795</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/MaverickV2Executor.sol">MaverickExecutor</a></td><td><a href="https://etherscan.io/address/0xF35e3F5F205769B41508A18787b62A21bC80200B">0xF35e3F5F205769B41508A18787b62A21bC80200B</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/266e30d1aa49f3ad04dddeb6a3bb047ed4db90e9/foundry/src/executors/BalancerV3Executor.sol">BalancerV3Executor</a></td><td><a href="https://etherscan.io/address/0xec5cE4bF6FbcB7bB0148652c92a4AEC8c1d474Ec">0xec5cE4bF6FbcB7bB0148652c92a4AEC8c1d474Ec</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/6d88d0a1444da2e3d951b11257c322c62c3dd6f5/foundry/src/executors/BebopExecutor.sol">BebopExecutor</a></td><td><a href="https://etherscan.io/address/0xFE42BFb115eD9671011cA52BDD23A52A2e077a7c">0xFE42BFb115eD9671011cA52BDD23A52A2e077a7c</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/3f03671128e73629c7abc25a7bdeee9fcd8f1d63/foundry/src/executors/HashflowExecutor.sol">HashflowExecutor</a></td><td><a href="https://etherscan.io/address/0x19e49db786c87f4e46b10afb21c0c06d34270f98">0x19e49Db786c87F4e46B10aFb21c0C06d34270f98</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/71730ac266b127e7d5d5842dff35a61aaa6d4d23/foundry/src/executors/FluidV1Executor.sol">FluidV1Executor</a></td><td><a href="https://etherscan.io/address/0x7191A6a3006ea020C73aCD7068295B9B3767a3Bb#code">0x7191A6a3006ea020C73aCD7068295B9B3767a3Bb</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/71730ac266b127e7d5d5842dff35a61aaa6d4d23/foundry/src/executors/RocketpoolExecutor.sol">RocketpoolExecutor</a></td><td><a href="https://etherscan.io/address/0x495c0e0f98011df5856A96236cA87D9Fb00B8d0B#code">0x495c0e0f98011df5856A96236cA87D9Fb00B8d0B</a></td></tr></tbody></table>
5+
<table data-full-width="false"><thead><tr><th>Contract</th><th width="484">Address</th></tr></thead><tbody><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/TychoRouter.sol">TychoRouter</a></td><td><a href="https://etherscan.io/address/0xfD0b31d2E955fA55e3fa641Fe90e08b677188d35">0xfD0b31d2E955fA55e3fa641Fe90e08b677188d35</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV2Executor.sol">UniswapV2Executor</a></td><td><a href="https://etherscan.io/address/0xaE04CA7E9Ed79cBD988f6c536CE11C621166f41B">0xaE04CA7E9Ed79cBD988f6c536CE11C621166f41B</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV3Executor.sol">UniswapV3Executor</a></td><td><a href="https://etherscan.io/address/0xbab7124C9662B15C6b9AF0b1f329907dD55a24FC">0xbab7124C9662B15C6b9AF0b1f329907dD55a24FC</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/71730ac266b127e7d5d5842dff35a61aaa6d4d23/foundry/src/executors/UniswapV4Executor.sol">UniswapV4Executor</a></td><td><a href="https://etherscan.io/address/0xe49b916032c734cd89cdfe80a868805c738a6ceb">0xe49b916032c734cd89cdfe80a868805c738a6ceb</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/BalancerV2Executor.sol">BalancerV2Executor</a></td><td><a href="https://etherscan.io/address/0xB5b8dc3F0a1Be99685a0DEd015Af93bFBB55C411">0xB5b8dc3F0a1Be99685a0DEd015Af93bFBB55C411</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV2Executor.sol">SushiswapV2Executor</a></td><td><a href="https://etherscan.io/address/0x2017ad7035D781C14699C8E44ed62d3083723A18">0x2017ad7035D781C14699C8E44ed62d3083723A18</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV2Executor.sol">PancakeswapV2Executor</a></td><td><a href="https://etherscan.io/address/0xC9db3FEB380E4fd9af239e2595ECdEcE3b5c34A4">0xC9db3FEB380E4fd9af239e2595ECdEcE3b5c34A4</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/UniswapV3Executor.sol">PancakeswapV3Executor</a></td><td><a href="https://etherscan.io/address/0x9D32e9F569B22Ae8d8C6f788037C1CD53632A059">0x9D32e9F569B22Ae8d8C6f788037C1CD53632A059</a></td></tr><tr><td><a href="https://github.com/die-herdplatte/tycho-execution/blob/3fe9906e5babb4a31af45c1d48fda3a096802fe8/foundry/src/executors/EkuboExecutor.sol">EkuboExecutor</a></td><td><a href="https://etherscan.io/address/0x263DD7AD20983b5E0392bf1F09C4493500EDb333">0x263DD7AD20983b5E0392bf1F09C4493500EDb333</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/6c8daf81615c0799a7b6a129c93d7a4490205f71/foundry/src/executors/CurveExecutor.sol">CurveExecutor</a></td><td><a href="https://etherscan.io/address/0xc8031d1457D19D5F0e074f74960bAF2010beA795">0xc8031d1457D19D5F0e074f74960bAF2010beA795</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/d6ee85e8da4434451c41b1de3c176d9ad686564c/foundry/src/executors/MaverickV2Executor.sol">MaverickExecutor</a></td><td><a href="https://etherscan.io/address/0xF35e3F5F205769B41508A18787b62A21bC80200B">0xF35e3F5F205769B41508A18787b62A21bC80200B</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/266e30d1aa49f3ad04dddeb6a3bb047ed4db90e9/foundry/src/executors/BalancerV3Executor.sol">BalancerV3Executor</a></td><td><a href="https://etherscan.io/address/0xec5cE4bF6FbcB7bB0148652c92a4AEC8c1d474Ec">0xec5cE4bF6FbcB7bB0148652c92a4AEC8c1d474Ec</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/6d88d0a1444da2e3d951b11257c322c62c3dd6f5/foundry/src/executors/BebopExecutor.sol">BebopExecutor</a></td><td><a href="https://etherscan.io/address/0xFE42BFb115eD9671011cA52BDD23A52A2e077a7c">0xFE42BFb115eD9671011cA52BDD23A52A2e077a7c</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/3f03671128e73629c7abc25a7bdeee9fcd8f1d63/foundry/src/executors/HashflowExecutor.sol">HashflowExecutor</a></td><td><a href="https://etherscan.io/address/0x19e49db786c87f4e46b10afb21c0c06d34270f98">0x19e49Db786c87F4e46B10aFb21c0C06d34270f98</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/71730ac266b127e7d5d5842dff35a61aaa6d4d23/foundry/src/executors/FluidV1Executor.sol">FluidV1Executor</a></td><td><a href="https://etherscan.io/address/0x7191A6a3006ea020C73aCD7068295B9B3767a3Bb#code">0x7191A6a3006ea020C73aCD7068295B9B3767a3Bb</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/71730ac266b127e7d5d5842dff35a61aaa6d4d23/foundry/src/executors/RocketpoolExecutor.sol">RocketpoolExecutor</a></td><td><a href="https://etherscan.io/address/0x495c0e0f98011df5856A96236cA87D9Fb00B8d0B#code">0x495c0e0f98011df5856A96236cA87D9Fb00B8d0B</a></td></tr><tr><td><a href="https://github.com/propeller-heads/tycho-execution/blob/dd71ffb9bc38d72537be8edd317fd53d00b05ada/foundry/src/executors/EkuboV3Executor.sol">EkuboV3Executor</a></td><td><a href="https://etherscan.io/address/0xa13138a3ae9311b345405512ac4040ccdeebf258">0xa13138A3Ae9311B345405512AC4040ccdEEBF258</a></td></tr></tbody></table>
66

77
## Base
88

docs/for-solvers/supported-protocols.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Currently, Tycho supports the following protocols:
44

5-
<table data-full-width="true"><thead><tr><th width="204.7578125">Protocol</th><th width="251.88671875">Integration Type</th><th width="156.2734375">Simulation Time</th><th width="148.26953125">Chains</th><th width="261.26953125">Partial Support Notes</th></tr></thead><tbody><tr><td><code>uniswap_v2</code></td><td>Native (<code>UniswapV2State</code>)</td><td>1 μs (0.001 ms)</td><td>Ethereum, Base, Unichain</td><td></td></tr><tr><td><code>uniswap_v3</code></td><td>Native (<code>UniswapV3State</code>)</td><td>20 μs (0.02 ms)</td><td>Ethereum, Base, Unichain</td><td></td></tr><tr><td><code>uniswap_v4</code></td><td>Native (<code>UniswapV4State</code>)</td><td>3 μs (0.003 ms)</td><td>Ethereum, Base, Unichain</td><td>Only core uniswap V4 pools are supported on this native implementation.</td></tr><tr><td><code>uniswap_v4_hooks</code></td><td>Hybrid (<code>UniswapV4State</code>)<br>[DCI indexed]</td><td>1 ms</td><td>Ethereum, Unichain</td><td>All composable hooks are supported.<br><strong>Angstrom</strong>: see more details <a href="supported-protocols.md#angstrom-uniswap-v4-hook">below</a>.<br><em>recommended</em>: set a high startup timeout on the stream builder: <code>.startup_timeout(Duration::from_secs(120))</code></td></tr><tr><td><code>vm:balancer_v2</code></td><td>VM (<code>EVMPoolState</code>) <br>[DCI indexed]</td><td>0.5 ms</td><td>Ethereum</td><td>A few pools are currently unsupported. Use <code>balancer_v2_pool_filter</code></td></tr><tr><td><code>vm:curve</code></td><td>VM (<code>EVMPoolState</code>)<br>[DCI indexed]</td><td>1 ms</td><td>Ethereum</td><td>NOTE: curve requires a node RPC to fetch some code at startup. Please set the <code>RPC_URL</code> env var.</td></tr><tr><td><code>sushiswap_v2</code></td><td>Native (<code>UniswapV2State</code>)</td><td>1 μs (0.001 ms)</td><td>Ethereum</td><td></td></tr><tr><td><code>pancakeswap_v2</code></td><td>Native (<code>PancakeswapV2State</code>)</td><td>1 μs (0.001 ms)</td><td>Ethereum</td><td></td></tr><tr><td><code>pancakeswap_v3</code></td><td>Native (<code>UniswapV3State</code>)</td><td>20 μs (0.02 ms)</td><td>Ethereum, Base</td><td></td></tr><tr><td><code>ekubo_v2</code></td><td>Native (<code>EkuboState</code>)</td><td>1.5 μs (0.0015 ms)</td><td>Ethereum</td><td></td></tr><tr><td><code>vm:maverick_v2</code></td><td>VM (<code>EVMPoolState</code>)</td><td>-</td><td>Ethereum</td><td></td></tr><tr><td><code>aerodrome_slipstreams</code></td><td><p>Native</p><p>(<code>AerodromeSlipstreamsState</code>)</p></td><td>-</td><td>Base</td><td></td></tr><tr><td><code>rocketpool</code></td><td>Native (<code>RocketpoolState</code>)</td><td>-</td><td>Ethereum</td><td></td></tr><tr><td><code>fluid_v1</code></td><td>Native (<code>FluidV1</code>)</td><td>-</td><td>Ethereum</td><td>Note: paused pools are still indexed. To filter them out use <code>fluid_v1_paused_pools_filter</code>.</td></tr><tr><td><code>cowamm</code></td><td>Native (<code>CowAMMState</code>)</td><td>-</td><td>Ethereum</td><td><p>CoWAMM doesn't have a Tycho Execution component. This is because of CoWAMM's unique design where only cowswap solvers can unlock the liquidity pools after sharing a quote. </p><p>You will have to integrate execution yourself (see <a href="https://docs.cow.fi/cow-amm/tutorials/cow-amm-for-solvers#creating-cow-amm-orders-with-the-helper-contract">cowamm docs</a> and <a href="https://github.com/adpthegreat/cowamm-execution/blob/main/examples/example.rs">example</a>).</p></td></tr></tbody></table>
5+
<table data-full-width="true"><thead><tr><th width="204.7578125">Protocol</th><th width="251.88671875">Integration Type</th><th width="156.2734375">Simulation Time</th><th width="148.26953125">Chains</th><th width="261.26953125">Partial Support Notes</th></tr></thead><tbody><tr><td><code>uniswap_v2</code></td><td>Native (<code>UniswapV2State</code>)</td><td>1 μs (0.001 ms)</td><td>Ethereum, Base, Unichain</td><td></td></tr><tr><td><code>uniswap_v3</code></td><td>Native (<code>UniswapV3State</code>)</td><td>20 μs (0.02 ms)</td><td>Ethereum, Base, Unichain</td><td></td></tr><tr><td><code>uniswap_v4</code></td><td>Native (<code>UniswapV4State</code>)</td><td>3 μs (0.003 ms)</td><td>Ethereum, Base, Unichain</td><td>Only core uniswap V4 pools are supported on this native implementation.</td></tr><tr><td><code>uniswap_v4_hooks</code></td><td>Hybrid (<code>UniswapV4State</code>)<br>[DCI indexed]</td><td>1 ms</td><td>Ethereum, Unichain</td><td>All composable hooks are supported.<br><strong>Angstrom</strong>: see more details <a href="supported-protocols.md#angstrom-uniswap-v4-hook">below</a>.<br><em>recommended</em>: set a high startup timeout on the stream builder: <code>.startup_timeout(Duration::from_secs(120))</code></td></tr><tr><td><code>vm:balancer_v2</code></td><td>VM (<code>EVMPoolState</code>) <br>[DCI indexed]</td><td>0.5 ms</td><td>Ethereum</td><td>A few pools are currently unsupported. Use <code>balancer_v2_pool_filter</code></td></tr><tr><td><code>vm:curve</code></td><td>VM (<code>EVMPoolState</code>)<br>[DCI indexed]</td><td>1 ms</td><td>Ethereum</td><td>NOTE: curve requires a node RPC to fetch some code at startup. Please set the <code>RPC_URL</code> env var.</td></tr><tr><td><code>sushiswap_v2</code></td><td>Native (<code>UniswapV2State</code>)</td><td>1 μs (0.001 ms)</td><td>Ethereum</td><td></td></tr><tr><td><code>pancakeswap_v2</code></td><td>Native (<code>PancakeswapV2State</code>)</td><td>1 μs (0.001 ms)</td><td>Ethereum</td><td></td></tr><tr><td><code>pancakeswap_v3</code></td><td>Native (<code>UniswapV3State</code>)</td><td>20 μs (0.02 ms)</td><td>Ethereum, Base</td><td></td></tr><tr><td><code>ekubo_v2</code></td><td>Native (<code>EkuboState</code>)</td><td>1.5 μs (0.0015 ms)</td><td>Ethereum</td><td></td></tr><tr><td><code>vm:maverick_v2</code></td><td>VM (<code>EVMPoolState</code>)</td><td>-</td><td>Ethereum</td><td></td></tr><tr><td><code>aerodrome_slipstreams</code></td><td><p>Native</p><p>(<code>AerodromeSlipstreamsState</code>)</p></td><td>-</td><td>Base</td><td></td></tr><tr><td><code>rocketpool</code></td><td>Native (<code>RocketpoolState</code>)</td><td>-</td><td>Ethereum</td><td></td></tr><tr><td><code>fluid_v1</code></td><td>Native (<code>FluidV1</code>)</td><td>-</td><td>Ethereum</td><td>Note: paused pools are still indexed. To filter them out use <code>fluid_v1_paused_pools_filter</code>.</td></tr><tr><td><code>cowamm</code></td><td>Native (<code>CowAMMState</code>)</td><td>-</td><td>Ethereum</td><td><p>CoWAMM doesn't have a Tycho Execution component. This is because of CoWAMM's unique design where only cowswap solvers can unlock the liquidity pools after sharing a quote. </p><p>You will have to integrate execution yourself (see <a href="https://docs.cow.fi/cow-amm/tutorials/cow-amm-for-solvers#creating-cow-amm-orders-with-the-helper-contract">cowamm docs</a> and <a href="https://github.com/adpthegreat/cowamm-execution/blob/main/examples/example.rs">example</a>).</p></td></tr><tr><td><code>ekubo_v3</code></td><td>Native (<code>EkuboV3State</code>)</td><td>9μs</td><td>Ethereum</td><td></td></tr></tbody></table>
66

77
{% hint style="info" %}
88
**Live tracker & Upcoming protocols**
@@ -35,6 +35,7 @@ fn register_exchanges(
3535
.exchange::<EVMPoolState<PreCachedDB>>("vm:curve", tvl_filter.clone(), None)
3636
.exchange::<UniswapV4State>("uniswap_v4_hooks", tvl_filter.clone(), None)
3737
.exchange::<EVMPoolState<PreCachedDB>>("vm:maverick_v2", tvl_filter.clone(), None)
38+
.exchange::<EkuboV3State>("ekubo_v3", tvl_filter.clone(), None)
3839
}
3940
Chain::Base => {
4041
builder = builder

0 commit comments

Comments
 (0)