refactor: Misc improvements to code (#277)
* refactor: Misc improvements to code - Decouple validating logic from TychoRunner - Move all data fetching and decoding the tycho message into the same method - Split validate_state into validate_state, validate_token_balances and simulate_and_execute - Make rpc_provider and runtime attributes of TestRunner - Add references where possible to avoid clones - Remove unnecessary code - Make clippy happy #time 2h 36m #time 0m #time 3m * chore: Use tycho deps and foundry from tycho_simulation This is to try to decrease the risk of using conflicting versions in the different repositories #time 32m #time 0m * chore: Read RPC_URL in main.rs #time 10m * fix: Support eth trades (skip balance and allowance overwrites) and set balance overwrite to amount in For tokens like USDC setting the balance super high was making us getting blacklisted #time 1h 12m * fix: Fix curve tests and filter components_by_id with the expected_component_ids #time 1h 30m #time 0m * fix: Don't use all the possible executor addresses. Hardcode just one for the test Refactor overwrites logic: - renamed functions - moved logic around that fits together - don't use StateOverrides and then convert to alloy overrides. Use alloy's directly #time 1h 21m * fix: Assume that the executors mapping starts at storage value 1 Move setup_router_overwrites away from the rpc and into the execution file Delete unnecessary get_storage_at #time 33m
This commit is contained in:
@@ -24,6 +24,7 @@ tests:
|
||||
coins: "0x5b22307836623137353437346538393039346334346461393862393534656564656163343935323731643066222c22307861306238363939316336323138623336633164313964346132653965623063653336303665623438222c22307864616331376639353864326565353233613232303632303639393435393763313364383331656337225d" # ["0x6b175474e89094c44da98b954eedeac495271d0f","0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0xdac17f958d2ee523a2206206994597c13d831ec7"]
|
||||
creation_tx: "0x20793bbf260912aae189d5d261ff003c9b9166da8191d8f9d63ff1c7722f3ac6"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before EIP-1559 where base fee was added. The current testing logic doesn't work without it
|
||||
|
||||
# Unique pool (no factory) steth - 0xdc24316b9ae028f1497c275eb9192a3ea0f67022
|
||||
- name: test_steth
|
||||
@@ -41,6 +42,7 @@ tests:
|
||||
coins: "0x5b22307865656565656565656565656565656565656565656565656565656565656565656565656565656565222c22307861653761623936353230646533613138653565313131623565616162303935333132643766653834225d" # ["0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0xae7ab96520de3a18e5e111b5eaab095312d7fe84"]
|
||||
creation_tx: "0xfac67ecbd423a5b915deff06045ec9343568edaec34ae95c43d35f2c018afdaa"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before EIP-1559 where base fee was added. The current testing logic doesn't work without it
|
||||
|
||||
# Unique pool (no factory) tricrypto2 - 0xd51a44d3fae010294c616388b506acda1bfaae46
|
||||
- name: test_tricrypto2
|
||||
@@ -59,6 +61,7 @@ tests:
|
||||
coins: "0x5b22307864616331376639353864326565353233613232303632303639393435393763313364383331656337222c22307832323630666163356535353432613737336161343466626366656466376331393362633263353939222c22307863303261616133396232323366653864306130653563346632376561643930383363373536636332225d" # ["0xdac17f958d2ee523a2206206994597c13d831ec7","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"]
|
||||
creation_tx: "0xdafb6385ed988ce8aacecfe1d97b38ea5e60b1ebce74d2423f71ddd621680138"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before EIP-1559 where base fee was added. The current testing logic doesn't work without it
|
||||
|
||||
# Unique pool (no factory) susd - 0xa5407eae9ba41422680e2e00537571bcc53efbfd
|
||||
- name: test_susd
|
||||
@@ -78,6 +81,7 @@ tests:
|
||||
coins: "0x5b22307836623137353437346538393039346334346461393862393534656564656163343935323731643066222c22307861306238363939316336323138623336633164313964346132653965623063653336303665623438222c22307864616331376639353864326565353233613232303632303639393435393763313364383331656337222c22307835376162316563323864313239373037303532646634646634313864353861326434366435663531225d" # ["0x6b175474e89094c44da98b954eedeac495271d0f","0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0xdac17f958d2ee523a2206206994597c13d831ec7","0x57ab1ec28d129707052df4df418d58a2d46d5f51"]
|
||||
creation_tx: "0x51aca4a03a395de8855fa2ca59b7febe520c2a223e69c502066162f7c1a95ec2"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before EIP-1559 where base fee was added. The current testing logic doesn't work without it
|
||||
|
||||
# Unique pool (no factory) fraxusdc - 0xdcef968d416a41cdac0ed8702fac8128a64241a2
|
||||
- name: test_fraxusdc
|
||||
@@ -95,6 +99,7 @@ tests:
|
||||
coins: "0x5b22307838353364393535616365663832326462303538656238353035393131656437376631373562393965222c22307861306238363939316336323138623336633164313964346132653965623063653336303665623438225d" # ["0x853d955acef822db058eb8505911ed77f175b99e","0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"]
|
||||
creation_tx: "0x1f4254004ce9e19d4eb742ee5a69d30f29085902d976f73e97c44150225ef775"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Shanghai upgrade and our router needs functionality introduced there
|
||||
|
||||
# CryptoSwapNG factory 0x6A8cbed756804B16E05E741eDaBd5cB544AE21bf - PlainPool
|
||||
- name: test_crypto_swap_ng_factory_plain_pool
|
||||
@@ -120,6 +125,7 @@ tests:
|
||||
coins: "0x5b22307834633965646435383532636439303566303836633735396538333833653039626666316536386233222c22307861306238363939316336323138623336633164313964346132653965623063653336303665623438225d" # ["0x4c9edd5852cd905f086c759e8383e09bff1e68b3","0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"]
|
||||
creation_tx: "0x6f4438aa1785589e2170599053a0cdc740d8987746a4b5ad9614b6ab7bb4e550"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
# CryptoSwapNG factory 0x6A8cbed756804B16E05E741eDaBd5cB544AE21bf - MetaPool
|
||||
- name: test_crypto_swap_ng_factory_metapool
|
||||
@@ -143,6 +149,7 @@ tests:
|
||||
coins: "0x5b22307838363533373733363730353435313665313730313463636465643165376438313465646339636534222c22307861353538386637636466353630383131373130613264383264336339633939373639646231646362225d" # ["0x865377367054516e17014ccded1e7d814edc9ce4","0xa5588f7cdf560811710a2d82d3c9c99769db1dcb"]
|
||||
creation_tx: "0x3cfeecae1b43086ee5705f89b803e21eb0492d7d5db06c229586db8fc72f5665"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
# # Metapool factory 0xB9fC157394Af804a3578134A6585C0dc9cc990d4 - MetaPool
|
||||
# - name: test_metapool_factory_metapool
|
||||
@@ -184,6 +191,8 @@ tests:
|
||||
coins: "0x5b22307865393633336335326634633862376264656230386334613766653861356331623834616663663637222c22307837376530366339656363663265373937666434363261393262366437363432656638356230613434225d" # ["0xe9633c52f4c8b7bdeb08c4a7fe8a5c1b84afcf67","0x77e06c9eccf2e797fd462a92b6d7642ef85b0a44"]
|
||||
creation_tx: "0xeb34c90d352f18ffcfe78b7e393e155f0314acf06c54d1ac9996e4ee5a9b4742"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
- id: "0x3f67dc2AdBA4B1beB6A48c30AB3AFb1c1440d35B"
|
||||
tokens:
|
||||
- "0xe9633C52f4c8B7BDeb08c4A7fE8a5c1B84AFCf67"
|
||||
@@ -196,6 +205,7 @@ tests:
|
||||
coins: "0x5b22307865393633336335326634633862376264656230386334613766653861356331623834616663663637222c22307837376530366339656363663265373937666434363261393262366437363432656638356230613434225d" # ["0xe9633c52f4c8b7bdeb08c4a7fe8a5c1b84afcf67","0x77e06c9eccf2e797fd462a92b6d7642ef85b0a44"]
|
||||
creation_tx: "0x455559b43afaf429c15c1d807fd7f5dd47be30f6411a854499f719b944f4c024"
|
||||
skip_simulation: true # Reason: this pool has no liquidity at stop_block
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
# CryptoPool factory 0xF18056Bbd320E96A48e3Fbf8bC061322531aac99
|
||||
- name: test_cryptopool_factory
|
||||
@@ -217,6 +227,7 @@ tests:
|
||||
coins: "0x5b22307830346331353462363663623334306633616532343131316363373637653031383465643030636336222c22307834353931646266663632363536653738353961666535653435663666343764333636396662623238225d" # ["0x04c154b66cb340f3ae24111cc767e0184ed00cc6","0x4591dbff62656e7859afe5e45f6f47d3669fbb28"]
|
||||
creation_tx: "0xa89c09a7e0dfd84f3a294b8df4f33cc4a623e6d52deee357457afe2591ea596f"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
- id: "0x6c9Fe53cC13b125d6476E5Ce2b76983bd5b7A112"
|
||||
tokens:
|
||||
- "0x35fA164735182de50811E8e2E824cFb9B6118ac2"
|
||||
@@ -230,6 +241,7 @@ tests:
|
||||
coins: "0x5b22307833356661313634373335313832646535303831316538653265383234636662396236313138616332222c22307866393531653333356166623238393335336463323439653832393236313738656163376465643738225d" # ["0x35fa164735182de50811e8e2e824cfb9b6118ac2","0xf951e335afb289353dc249e82926178eac7ded78"]
|
||||
creation_tx: "0xa5b13d50c56242f7994b8e1339032bb4c6f9ac3af3054d4eae3ce9e32e3c1a50"
|
||||
skip_simulation: true # Reason: this pool has no liquidity at stop_block
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
# CryptoPool factory 0xF18056Bbd320E96A48e3Fbf8bC061322531aac99 - with ETH
|
||||
- name: test_cryptopool_factory_with_eth
|
||||
@@ -251,6 +263,7 @@ tests:
|
||||
coins: "0x5b22307865656565656565656565656565656565656565656565656565656565656565656565656565656565222c22307835353239366636396634306561366432306534373835333363313561366230386236353465373538225d" # ["0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","0x55296f69f40ea6d20e478533c15a6b08b654e758"]
|
||||
creation_tx: "0x52f0f76d97e77579eebd32876de99f656930a99131dc4c4f1dec005786c8782b"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
# Tricrypto factory 0x0c0e5f2fF0ff18a3be9b835635039256dC4B4963
|
||||
- name: test_tricrypto_factory
|
||||
@@ -273,6 +286,7 @@ tests:
|
||||
coins: "0x5b22307861306238363939316336323138623336633164313964346132653965623063653336303665623438222c22307832323630666163356535353432613737336161343466626366656466376331393362633263353939222c22307865656565656565656565656565656565656565656565656565656565656565656565656565656565225d" # ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"]
|
||||
creation_tx: "0x2bd59c19f993b83729fb23498f897a58567c6f0b3ee2f00613ba515a7b19fe23"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
# Twocrypto factory 0x98ee851a00abee0d95d08cf4ca2bdce32aeaaf7f
|
||||
- name: test_twocrypto_factory
|
||||
@@ -313,6 +327,7 @@ tests:
|
||||
coins: "0x5b22307864616331376639353864326565353233613232303632303639393435393763313364383331656337222c22307866393339653061303366623037663539613733333134653733373934626530653537616331623465225d" # ["0xdac17f958d2ee523a2206206994597c13d831ec7","0xf939e0a03fb07f59a73314e73794be0e57ac1b4e"]
|
||||
creation_tx: "0x40b25773bf8ea673434277d279af40a85b09072072e7004e9048a2ec0f0dd5a0"
|
||||
skip_simulation: false
|
||||
skip_execution: true # the block is before the Cancun upgrade and our router needs functionality introduced there (transient storage)
|
||||
|
||||
# StableSwap factory 0x4F8846Ae9380B90d2E71D5e3D042dff3E7ebb40d - Metapool
|
||||
# - name: test_stableswap_factory_meta_pool
|
||||
|
||||
Reference in New Issue
Block a user