fix-merkle-root-mismatch

Fix merkle root mismatches in the relayer database via merkle_tree_insertions.

72|602|Updated Dec 13, 2021
One-click install
npx skills add https://github.com/hyperlane-xyz/hyperlane-monorepo --skill fix-merkle-root-mismatch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fix-merkle-root-mismatch
Source: https://github.com/hyperlane-xyz/hyperlane-monorepo/tree/main/.claude/skills/fix-merkle-root-mismatch
Command: npx skills add https://github.com/hyperlane-xyz/hyperlane-monorepo --skill fix-merkle-root-mismatch

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The skill fixes merkle root mismatches in the relayer database after investigation, ensuring the relayer's in-memory state aligns with canonical sources and preventing inconsistencies across the system.

Core Features & Use Cases

  • Safe patch workflow to apply merkle root corrections using merkle_tree_insertions.
  • Requires prior investigation with /investigate-merkle-root-mismatch and explicit user confirmation before modifications.
  • Suitable for post-investigation remediation on relayer deployments, including cross-chain domains and environment scopes (mainnet3, testnet4).

Quick Start

To start, supply origin, domain_id, environment (default mainnet3), and the merkle_tree_insertions payload including leaf_index, insertion_block_number, and message_id. The system will prompt for explicit confirmation before applying changes. After applying, restart the relayer if needed using the provided workflow.

Frequently Asked Questions about fix-merkle-root-mismatch

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix a relayer merkle root mismatch in the database?

To fix a relayer merkle root mismatch, you apply corrections via the merkle_tree_insertions API after supplying the origin, domain_id, environment, and payload details. This aligns the in-memory state with canonical sources to prevent inconsistencies.

What is a merkle root mismatch and when does it need patching?

A merkle root mismatch occurs when the relayer database diverges from canonical sources. Patching is needed after an investigation identifies the inconsistency, requiring explicit user confirmation before inserting corrections to ensure safe remediation.

Do I need kubectl port-forwarding to apply merkle tree insertions?

Yes, applying merkle tree insertions to fix root mismatches may require kubectl port-forwarding and relayer access. This setup ensures you can safely reach the database to apply corrections and restart the relayer if needed.

What data do I need to provide to correct a merkle root mismatch?

You must supply the origin, domain_id, environment (default mainnet3), and a merkle_tree_insertions payload containing leaf_index, insertion_block_number, and message_id to correct a merkle root mismatch.

Can I patch merkle root mismatches on testnet4 or other environment scopes?

Yes, you can patch merkle root mismatches across relayer deployments including different environment scopes like mainnet3 and testnet4. You must specify the target environment when supplying the correction payload.

Why does the relayer need a restart after applying merkle root corrections?

A relayer restart may be needed after applying merkle root corrections to ensure the in-memory state fully reloads and aligns with the patched database. This prevents lingering inconsistencies across the system.