fix: filter out changes that aren't balancer related

This commit is contained in:
Florian Pellissier
2024-03-11 17:50:12 +01:00
parent 51275f0ccf
commit accfa074fd

View File

@@ -97,7 +97,14 @@ pub fn extract_contract_changes(
balance_changes.sort_unstable_by_key(|change| change.ordinal);
code_changes.sort_unstable_by_key(|change| change.ordinal);
storage_changes.iter().for_each(|storage_change| {
storage_changes
.iter()
.filter(|changes| {
contracts
.get_last(format!("pool:{0}", hex::encode(&changes.address)))
.is_some()
})
.for_each(|storage_change| {
let contract_change = changed_contracts
.entry(storage_change.address.clone())
.or_insert_with(|| InterimContractChange {
@@ -125,7 +132,14 @@ pub fn extract_contract_changes(
.copy_from_slice(&storage_change.new_value);
});
balance_changes.iter().for_each(|balance_change| {
balance_changes
.iter()
.filter(|changes| {
contracts
.get_last(format!("pool:{0}", hex::encode(&changes.address)))
.is_some()
})
.for_each(|balance_change| {
let contract_change = changed_contracts
.entry(balance_change.address.clone())
.or_insert_with(|| InterimContractChange {
@@ -148,7 +162,14 @@ pub fn extract_contract_changes(
}
});
code_changes.iter().for_each(|code_change| {
code_changes
.iter()
.filter(|changes| {
contracts
.get_last(format!("pool:{0}", hex::encode(&changes.address)))
.is_some()
})
.for_each(|code_change| {
let contract_change = changed_contracts
.entry(code_change.address.clone())
.or_insert_with(|| InterimContractChange {