diff --git a/src/ethereum_analysis/eth_graph.ml b/src/ethereum_analysis/eth_graph.ml index c573d9a38534ccb2a98cb4672b72ea2cec371050..ee4fff83a19b3ee065793801466fab6da8cb8fed 100644 --- a/src/ethereum_analysis/eth_graph.ml +++ b/src/ethereum_analysis/eth_graph.ml @@ -969,12 +969,15 @@ let rec cft_trees_compatible_for_merge to_ tree1 tree2 = | false, false -> if address_of_eth_address c1.resume.tc_destination - = address_of_eth_address t2.ttn_from + = address_of_eth_address t2.ttn_from && + Option.is_some @@ List.assoc_opt (address_of_eth_address t2.ttn_asset:>string) c1.resume.tc_amount1 then Some (Cftt_chain c1, Cftt_transfer t2, `chain) else if address_of_eth_address t2.ttn_to = address_of_eth_address c1.resume.tc_origin + && + address_of_eth_address t2.ttn_asset = address_of_eth_address c1.resume.tc_first_transfer.tka_asset then Some (Cftt_transfer t2, Cftt_chain c1, `chain) else