From 1e546230ded47e52096b6a7ec84fa1f175c7a9b9 Mon Sep 17 00:00:00 2001 From: Florian Pellissier <111426680+flopell@users.noreply.github.com> Date: Tue, 12 Mar 2024 12:49:09 +0100 Subject: [PATCH] fix: map_balance_deltas pool_id check --- substreams/ethereum-balancer/src/modules.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/substreams/ethereum-balancer/src/modules.rs b/substreams/ethereum-balancer/src/modules.rs index 96554ca..8448772 100644 --- a/substreams/ethereum-balancer/src/modules.rs +++ b/substreams/ethereum-balancer/src/modules.rs @@ -17,7 +17,10 @@ use pb::tycho::evm::v1::{self as tycho}; use contract_changes::extract_contract_changes; -use crate::pb::balancer::{BalanceDelta, BalanceDeltas, GroupedTransactionProtocolComponents, TransactionProtocolComponents}; +use crate::pb::balancer::{ + BalanceDelta, BalanceDeltas, GroupedTransactionProtocolComponents, + TransactionProtocolComponents, +}; use crate::{abi, contract_changes, pb, pool_factories}; const VAULT_ADDRESS: &[u8] = &hex!("BA12222222228d8Ba445958a75a0704d566BF2C8"); @@ -34,9 +37,7 @@ impl PartialEq for TransactionWrapper { } #[substreams::handlers::map] -pub fn map_pools_created( - block: eth::v2::Block, -) -> Result { +pub fn map_pools_created(block: eth::v2::Block) -> Result { // Gather contract changes by indexing `PoolCreated` events and analysing the `Create` call // We store these as a hashmap by tx hash since we need to agg by tx hash later Ok(GroupedTransactionProtocolComponents { @@ -109,7 +110,7 @@ pub fn map_balance_deltas( .iter() .zip(event.deltas.iter()) .filter_map(|(token, delta)| { - let component_id: Vec<_> = event.pool_id.into(); + let component_id = event.pool_id[..20].to_vec(); store.get_last(format!("pool:{0}", hex::encode(&component_id)))?; @@ -119,11 +120,11 @@ pub fn map_balance_deltas( hash: log.receipt.transaction.hash.clone(), from: log.receipt.transaction.from.clone(), to: log.receipt.transaction.to.clone(), - index: Into::::into(log.receipt.transaction.index), + index: log.receipt.transaction.index.into(), }), - token: token.clone(), + token: token.to_vec(), delta: delta.to_signed_bytes_be(), - component_id: component_id.clone(), + component_id, }) }) .collect::>()