From 5f319a68758002cb13809348973cbef8d9782328 Mon Sep 17 00:00:00 2001 From: Zizou <111426680+zizou0x@users.noreply.github.com> Date: Fri, 10 Jan 2025 11:45:14 +0100 Subject: [PATCH] refactor: ensure consistent ABI iteration order in build files (#131) Previously, build files iterated through ABIs in an inconsistent order, causing unwanted changes when the build was rerun, as the iteration order would differ. This commit resolves the issue by sorting ABIs by name, ensuring consistent formatting and preventing unintended changes in future commits. Co-authored-by: zizou <111426680+flopell@users.noreply.github.com> --- substreams/ethereum-balancer-v2/build.rs | 9 +++++++-- substreams/ethereum-balancer-v2/src/abi/mod.rs | 16 ++++++++-------- substreams/ethereum-curve/build.rs | 9 +++++++-- substreams/ethereum-curve/src/abi/mod.rs | 4 ++-- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/substreams/ethereum-balancer-v2/build.rs b/substreams/ethereum-balancer-v2/build.rs index 90e1f1e..5e7bd34 100644 --- a/substreams/ethereum-balancer-v2/build.rs +++ b/substreams/ethereum-balancer-v2/build.rs @@ -6,12 +6,17 @@ fn main() -> Result<()> { let abi_folder = "abi"; let output_folder = "src/abi"; - let files = fs::read_dir(abi_folder)?; + let abis = fs::read_dir(abi_folder)?; + + let mut files = abis.collect::, _>>()?; + + // Sort the files by their name + files.sort_by_key(|a| a.file_name()); + let mut mod_rs_content = String::new(); mod_rs_content.push_str("#![allow(clippy::all)]\n"); for file in files { - let file = file?; let file_name = file.file_name(); let file_name = file_name.to_string_lossy(); diff --git a/substreams/ethereum-balancer-v2/src/abi/mod.rs b/substreams/ethereum-balancer-v2/src/abi/mod.rs index e0213ff..50e5654 100644 --- a/substreams/ethereum-balancer-v2/src/abi/mod.rs +++ b/substreams/ethereum-balancer-v2/src/abi/mod.rs @@ -1,14 +1,14 @@ #![allow(clippy::all)] +pub mod composable_stable_pool_factory; pub mod erc_linear_pool_factory; -pub mod gearbox_linear_pool_factory; -pub mod weighted_pool_tokens_factory; -pub mod vault; -pub mod yearn_linear_pool_factory; -pub mod managed_pool_factory; -pub mod weighted_pool_factory_v1; pub mod euler_linear_pool_factory; +pub mod gearbox_linear_pool_factory; +pub mod managed_pool_factory; +pub mod silo_linear_pool_factory; +pub mod vault; +pub mod weighted_pool_factory_v1; pub mod weighted_pool_factory_v2; pub mod weighted_pool_factory_v3; pub mod weighted_pool_factory_v4; -pub mod silo_linear_pool_factory; -pub mod composable_stable_pool_factory; +pub mod weighted_pool_tokens_factory; +pub mod yearn_linear_pool_factory; diff --git a/substreams/ethereum-curve/build.rs b/substreams/ethereum-curve/build.rs index 90e1f1e..2e7914f 100644 --- a/substreams/ethereum-curve/build.rs +++ b/substreams/ethereum-curve/build.rs @@ -6,12 +6,17 @@ fn main() -> Result<()> { let abi_folder = "abi"; let output_folder = "src/abi"; - let files = fs::read_dir(abi_folder)?; + let abis = fs::read_dir(abi_folder)?; + + let mut files = abis.collect::, _>>()?; + + // Sort the files by their name + files.sort_by_key(|a| a.file_name()); let mut mod_rs_content = String::new(); mod_rs_content.push_str("#![allow(clippy::all)]\n"); for file in files { - let file = file?; + let file = file; let file_name = file.file_name(); let file_name = file_name.to_string_lossy(); diff --git a/substreams/ethereum-curve/src/abi/mod.rs b/substreams/ethereum-curve/src/abi/mod.rs index e1b672a..1a77e48 100644 --- a/substreams/ethereum-curve/src/abi/mod.rs +++ b/substreams/ethereum-curve/src/abi/mod.rs @@ -1,9 +1,9 @@ #![allow(clippy::all)] pub mod crypto_pool_factory; -pub mod erc20; pub mod crypto_swap_ng_factory; +pub mod erc20; +pub mod meta_pool_factory; pub mod meta_registry; pub mod stableswap_factory; pub mod tricrypto_factory; pub mod twocrypto_factory; -pub mod meta_pool_factory;