{"record":{"id":"0a285b92d8fd54b6","repo":"nautechsystems/nautilus_trader","slug":"proxy-kind-is-unsupported","errorCode":null,"errorMessage":"Proxy kind is unsupported","messagePattern":"Proxy kind is unsupported","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/rpc/verification.rs","lineNumber":1284,"sourceCode":"        anyhow::ensure!(\n            contract_addresses.insert(address),\n            \"Deployment manifest contains a duplicate contract address\"\n        );\n        roles.insert(contract.role);\n        let code_hash = B256::from_str(&contract.runtime_code_hash)\n            .map_err(|_| anyhow::anyhow!(\"Deployment manifest contains an invalid code hash\"))?;\n        anyhow::ensure!(\n            code_hash != B256::ZERO,\n            \"Manifest code hashes must be nonzero\"\n        );\n        anyhow::ensure!(\n            matches!(contract.role, BlockchainContractRole::Implementation)\n                || !contract.probes.is_empty(),\n            \"Every deployed contract role requires at least one identity probe\"\n        );\n\n        if let Some(proxy) = &contract.proxy {\n            anyhow::ensure!(\n                matches!(\n                    proxy.kind.as_str(),\n                    \"eip1967_implementation\" | \"zeppelinos_implementation\"\n                ),\n                \"Proxy kind is unsupported\"\n            );\n            B256::from_str(&proxy.storage_slot)\n                .map_err(|_| anyhow::anyhow!(\"Proxy storage slot is invalid\"))?;\n            let storage_value = B256::from_str(&proxy.storage_value)\n                .map_err(|_| anyhow::anyhow!(\"Proxy storage value is invalid\"))?;\n            let target = Address::from_str(&proxy.target_address)\n                .map_err(|_| anyhow::anyhow!(\"Proxy target address is invalid\"))?;\n            let target_hash = B256::from_str(&proxy.target_code_hash)\n                .map_err(|_| anyhow::anyhow!(\"Proxy target code hash is invalid\"))?;\n            anyhow::ensure!(\n                target != Address::ZERO\n                    && target != address\n                    && target_hash != B256::ZERO","sourceCodeStart":1266,"sourceCodeEnd":1302,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/rpc/verification.rs#L1266-L1302","documentation":"Deployment manifest validation: a contract's proxy kind string is not one of the supported schemes (eip1967_implementation, zeppelinos_implementation), so its proxy cannot be resolved and the manifest is rejected.","triggerScenarios":"Thrown at crates/adapters/blockchain/src/rpc/verification.rs:1284 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use one of the supported proxy kinds in the manifest","Remove the proxy entry if the contract is not a proxy"],"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"}