fix(substreams): Fix storage changes indexing for DELEGATECALL
This commit is contained in:
@@ -131,7 +131,11 @@ pub fn extract_contract_changes<F: Fn(&[u8]) -> bool>(
|
|||||||
block_tx
|
block_tx
|
||||||
.calls
|
.calls
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|call| !call.state_reverted && inclusion_predicate(&call.address))
|
.filter(|call| {
|
||||||
|
!call.state_reverted && inclusion_predicate(&call.address) ||
|
||||||
|
inclusion_predicate(&call.caller) // In the context of DELEGATECALL
|
||||||
|
// call.caller changes it's own state
|
||||||
|
})
|
||||||
.for_each(|call| {
|
.for_each(|call| {
|
||||||
storage_changes.extend(call.storage_changes.iter());
|
storage_changes.extend(call.storage_changes.iter());
|
||||||
balance_changes.extend(call.balance_changes.iter());
|
balance_changes.extend(call.balance_changes.iter());
|
||||||
|
|||||||
Reference in New Issue
Block a user