{"record":{"id":"3d56fc68c2254539","repo":"nautechsystems/nautilus_trader","slug":"profiler-receipt-transaction-hash-does-not-match-i","errorCode":null,"errorMessage":"Profiler receipt transaction hash does not match its ingestion watermark","messagePattern":"Profiler receipt transaction hash does not match its ingestion watermark","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/execution/client.rs","lineNumber":4198,"sourceCode":"    pool_address: Address,\n    pool: &Pool,\n    verification: &VerificationCoordinator,\n) -> anyhow::Result<()> {\n    let transaction_hash = B256::from_str(&position.transaction_hash).with_context(|| {\n        format!(\n            \"Invalid profiler transaction hash {}\",\n            position.transaction_hash\n        )\n    })?;\n    let receipt = verified_value(\n        verification.verify_receipt(&transaction_hash).await,\n        \"profiler watermark receipt\",\n    )?;\n    anyhow::ensure!(\n        receipt.status,\n        \"Profiler transaction did not execute successfully\"\n    );\n    anyhow::ensure!(\n        receipt.transaction_hash == transaction_hash,\n        \"Profiler receipt transaction hash does not match its ingestion watermark\"\n    );\n    anyhow::ensure!(\n        receipt.block_number == position.number\n            && receipt.block_hash == expected_block_hash\n            && receipt.transaction_index == u64::from(position.transaction_index),\n        \"Profiler receipt position does not match its ingestion watermark\"\n    );\n    let matching_logs = receipt\n        .logs\n        .iter()\n        .filter(|log| rpc_log::extract_log_index(log).ok() == Some(position.log_index))\n        .collect::<Vec<_>>();\n    anyhow::ensure!(\n        matching_logs.len() == 1,\n        \"Profiler receipt contains {} logs at global index {}; expected exactly one\",\n        matching_logs.len(),","sourceCodeStart":4180,"sourceCodeEnd":4216,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/execution/client.rs#L4180-L4216","documentation":"Profiler verification guard: the verified receipt's transaction hash differs from the hash recorded in the ingestion watermark, so the receipt belongs to a different transaction and the profiler event cannot be attested.","triggerScenarios":"Thrown at crates/adapters/blockchain/src/execution/client.rs:4198 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-ingest the profiler watermark from the correct transaction","Check for block reorgs that swapped the watermark transaction"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}