contract TransferEthereum {


    /**
     * A special function-like stub to allow ether accepting
     */
    function() external payable {
        require(msg.data.length == 0);
    }

    function transfer(address payable to, uint256 amount) public {
        to.call.value(amount)("");
    }

}
/**
 * Contract that sends Ether with internal transaction for testing purposes.
 */
function() external payable {
    require(msg.data.length == 0);
}

/**
 * A special function-like stub to allow ether accepting
 */