{"record":{"id":"dfc354a72f384a42","repo":"nautechsystems/nautilus_trader","slug":"token-does-not-have-exactly-one-deployment-mani","errorCode":null,"errorMessage":"Token {} does not have exactly one deployment manifest identity","messagePattern":"Token (.+?) does not have exactly one deployment manifest identity","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/execution/client.rs","lineNumber":4150,"sourceCode":"    let token1 = Address::from_str(&pool.token1)?;\n    let factory = Address::from_str(&pool.factory)?;\n    let quote_contract = Address::from_str(&pool.quote_contract)?;\n    anyhow::ensure!(\n        token0 == plan.pool.token0.address\n            && token1 == plan.pool.token1.address\n            && pool.fee == plan.pool.fee.expect(\"validated pool fee\")\n            && factory == plan.factory,\n        \"Cached pool {} does not match its deployment manifest identity\",\n        plan.pool_address\n    );\n\n    for token in [&plan.pool.token0, &plan.pool.token1] {\n        let identities = manifest\n            .tokens\n            .iter()\n            .filter(|identity| Address::from_str(&identity.address).ok() == Some(token.address))\n            .collect::<Vec<_>>();\n        anyhow::ensure!(\n            identities.len() == 1,\n            \"Token {} does not have exactly one deployment manifest identity\",\n            token.address\n        );\n        let identity = identities[0];\n        anyhow::ensure!(\n            identity.name == token.name\n                && identity.symbol == token.symbol\n                && identity.decimals == token.decimals,\n            \"Cached token {} does not match its deployment manifest identity\",\n            token.address\n        );\n        let expected_role = if token.address == plan.pool.get_base_token().address {\n            \"base\"\n        } else {\n            \"quote\"\n        };\n        anyhow::ensure!(","sourceCodeStart":4132,"sourceCodeEnd":4168,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/execution/client.rs#L4132-L4168","documentation":"Manifest consistency guard: a pool token address must appear exactly once in the deployment manifest's token list; zero or multiple identities mean the manifest is ambiguous or incomplete for that token.","triggerScenarios":"Thrown at crates/adapters/blockchain/src/execution/client.rs:4150 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the deployment manifest so each pool token has exactly one identity entry","Regenerate the manifest from a trusted source"],"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-14T00:17:10.932Z"}