// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/**
 * @title ICWReserveVerifier
 * @notice Interface for canonical reserve verification used by the cW hard-peg bridge path.
 */
interface ICWReserveVerifier {
    /**
     * @notice Verify that a new outbound c* -> cW* lock is still safe after bridge accounting is applied.
     * @param canonicalToken Canonical token locked on Chain 138
     * @param destinationChainSelector Destination chain selector for the wrapped mint
     * @param amount Amount being wrapped
     * @return verified True when the outbound lock satisfies all configured reserve checks
     */
    function verifyLock(
        address canonicalToken,
        uint64 destinationChainSelector,
        uint256 amount
    ) external view returns (bool verified);
}
