// SPDX-License-Identifier: MIT pragma solidity ^0.8.28; import { InMessageV1 } from "../core/Structs.sol"; /** * @title IMerkleTreeUtils * @dev An interface to message and Merkle tree utility functions */ interface IMerkleTreeUtils { /** * @dev Calculates message v1 hash. * @param message Message v1. */ function hashInMessageV1(InMessageV1 calldata message) external pure returns (bytes32); /** * @dev Function to calculate the Merkle root from the message hash and proof. * @param objectHash Leaf object hash to validate. * @param merkleProof Merkle proof. */ function checkMerkleProof(bytes32 objectHash, bytes32[] calldata merkleProof) external pure returns (bytes32); }