**Assignment: Building a Cross-Chain Monitoring Tool**

**Background:**
You are tasked with developing a monitoring tool for a cross-chain messaging protocol. The protocol involves two actions: "seal" on the source chain and "propose" on the destination chain. If these actions do not match, a "trip" action needs to be sent on the destination chain. The "trip" transaction is critical and must be ensured to get on-chain reliably.

**Requirements:**

1. **Monitoring Logic**:
   - Create a lightweight monitoring tool that continuously watches for "seal" and "propose" actions on the source and destination chains, respectively.
   - Implement logic to detect any mismatch between "seal" and "propose" actions.

2. **Trip Transaction Sending**:
   - Develop a mechanism to construct and send the "trip" transaction on the destination chain when a mismatch is detected.
   - Ensure that the "trip" transaction is sent promptly and reliably.

3. **Reliability and Robustness**:
   - Implement error handling and retry mechanisms to guarantee the delivery of the "trip" transaction even in the face of network issues or node failures.

4. **Lightweight Design**:
   - Design the monitoring tool to be highly efficient and lightweight to minimize resource consumption.
   - Optimize code and resource usage for performance.

5. **Test Cases**:
   - Create a comprehensive set of test cases to validate the functionality of the monitoring tool.
   - Include scenarios with varying blockchain conditions and edge cases.

6. **Documentation**:
   - Provide clear and concise documentation explaining how to set up, configure, and use the monitoring tool.
   - Include instructions for running test cases.

**Evaluation Criteria:**
- Correct and efficient monitoring logic.
- Reliable and timely sending of "trip" transactions.
- Effective error handling and robustness.
- Lightweight and efficient design.
- Comprehensive test cases with successful validation.
- High-quality documentation.

Resources