interface IBridge {
    /**
        @notice Exposing getter for {_chainID} instead of forcing the use of call.
        @return uint8 The {_chainID} that is currently set for the Bridge contract.
     */
    function _chainID() external returns (uint8);

    function deposit(
        uint8 destinationChainID,
        bytes32 resourceID,
        bytes calldata data
    ) external;
}
/**
 @title Interface for Bridge contract.
 @dev Copied directly from here: https://github.com/ChainSafe/chainbridge-solidity/releases/tag/v1.0.0 except for
 the addition of `deposit()` so that this contract can be called from Sink and Source Oracle contracts.
 @author ChainSafe Systems.
 */
function _chainID() external returns (uint8);

/**
 @notice Exposing getter for {_chainID} instead of forcing the use of call.
 @return uint8 The {_chainID} that is currently set for the Bridge contract.
 */