{"record":{"id":"960c69d3674b2414","repo":"nautechsystems/nautilus_trader","slug":"owned-signer-nonce-overflow","errorCode":null,"errorMessage":"Owned signer nonce overflow","messagePattern":"Owned signer nonce overflow","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/execution/client.rs","lineNumber":2915,"sourceCode":"                    &self.wallet_address,\n                    prepared.nonce,\n                )\n                .await,\n            \"rebroadcast pending nonce\",\n        )?;\n        decisions.push(verification_decision(&pending_nonce, None, None));\n        let receipt_absence = required_verification(\n            self.verification\n                .verify_receipt_absence(&prepared.tx_hash)\n                .await,\n            \"rebroadcast receipt absence\",\n        )?;\n        decisions.push(verification_decision(&receipt_absence, None, None));\n\n        let next_nonce = prepared\n            .nonce\n            .checked_add(1)\n            .ok_or_else(|| anyhow::anyhow!(\"Owned signer nonce overflow\"))?;\n        anyhow::ensure!(\n            (prepared.nonce..=next_nonce).contains(&pending_nonce.value),\n            \"Pending nonce {} is outside the owned reconciliation range {}..={next_nonce}\",\n            pending_nonce.value,\n            prepared.nonce\n        );\n        anyhow::ensure!(\n            (prepared.nonce..=next_nonce).contains(&canonical_nonce.value),\n            \"Canonical nonce {} is outside the owned reconciliation range {}..={next_nonce}\",\n            canonical_nonce.value,\n            prepared.nonce\n        );\n\n        if !receipt_absence.value {\n            self.persist_rebroadcast_decisions(intent.id, prepared.nonce, &decisions)\n                .await?;\n            return Ok(ReconciliationAuthorization::Retain);\n        }","sourceCodeStart":2897,"sourceCodeEnd":2933,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/execution/client.rs#L2897-L2933","documentation":"The owned signer's next nonce computed during rebroadcast handling does not fit the nonce counter (adding to the tracked nonce would overflow); the wallet has consumed an implausible nonce sequence and the rebroadcast path refuses to continue.","triggerScenarios":"Thrown at crates/adapters/blockchain/src/execution/client.rs:2915 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Investigate the wallet's nonce state on-chain","Re-sync owned nonce data before retrying rebroadcast"],"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"}