There is no commentSelect some text and then click Comment, or simply add a comment to this page from below to start a discussion.
**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.