interface IDepositExecute {
    /**
        @notice It is intended that deposit are made using the Bridge contract.
        @param destinationChainID Chain ID deposit is expected to be bridged to.
        @param depositNonce This value is generated as an ID by the Bridge contract.
        @param depositer Address of account making the deposit in the Bridge contract.
        @param data Consists of additional data needed for a specific deposit.
     */
    function deposit(bytes32 resourceID, uint8 destinationChainID, uint64 depositNonce, address depositer, bytes calldata data) external;

    /**
        @notice It is intended that proposals are executed by the Bridge contract.
        @param data Consists of additional data needed for a specific deposit execution.
     */
    function executeProposal(bytes32 resourceID, bytes calldata data) external;
}
/**
 @title Interface for handler contracts that support deposits and deposit executions.
 @author ChainSafe Systems.
 */
function executeProposal(bytes32 resourceID, bytes calldata data) external;

/**
 @notice It is intended that proposals are executed by the Bridge contract.
 @param data Consists of additional data needed for a specific deposit execution.
 */