linera-io/linera-protocol · error · ChainClientError

The local node is behind the trusted state in wallet and nee

Error message

The local node is behind the trusted state in wallet and needs synchronization with validators

What it means

Error "The local node is behind the trusted state in wallet and needs synchronization with validators" thrown in linera-io/linera-protocol.

Source

Thrown at linera-core/src/client/chain_client/mod.rs:642

        if self.options.message_policy.is_ignore() {
            // Ignore all messages.
            return Ok(Vec::new());
        }

        let query = ChainInfoQuery::new(self.chain_id).with_pending_message_bundles();
        let info = self
            .client
            .local_node
            .handle_chain_info_query(query)
            .await?
            .info;
        if self.preferred_owner.is_some_and(|owner| {
            info.manager
                .ownership
                .is_super_owner_no_regular_owners(&owner)
        }) {
            // There are only super owners; they are expected to sync manually.
            ensure!(
                info.next_block_height >= self.initial_next_block_height,
                Error::WalletSynchronizationError
            );
        }

        let skipped = self.skipped_origins.pin();
        let mut bundles = info
            .requested_pending_message_bundles
            .into_iter()
            .filter_map(|bundle| bundle.apply_policy(&self.options.message_policy))
            .filter(|bundle| !skipped.contains(&bundle.origin))
            .collect::<Vec<_>>();
        let priority_origins = &self.options.priority_bundle_origins;
        bundles.sort_by(|a, b| {
            let a_priority = priority_origins.contains(&a.origin);
            let b_priority = priority_origins.contains(&b.origin);
            b_priority
                .cmp(&a_priority)

View on GitHub (pinned to 6c226ddcb3)

Solutions

  1. Run `linera sync` against the validators to bring the local node up to the trusted wallet state before retrying the operation.
  2. Verify the wallet was not copied from a newer node; if it was, sync with validators until local state catches up.
  3. Check network connectivity to the validators and retry synchronization once reachable.

When it happens

Trigger: The wallet's trusted state (block height) is ahead of the local node's synchronized state for the chain.

Common situations: Running a client command after the node restarted or fell behind; requires synchronizing with validators before proceeding.


AI-assisted analysis of linera-io/linera-protocol@6c226ddcb3 (2026-08-22). Data as JSON: /api/errors/23688a7d78da0605. Report an issue: GitHub.