if (is_string($privateKey)) {
$privateKey = PrivateKeyManipulator::importPrivateKey($privateKey);
}
// Convert hex data to buffer
$data = Buffer::hex($hexDataToSign);
/** @var EcAdapterInterface $ecAdapter */
$ecAdapter = Bitcoin::getEcAdapter();
// Deterministic digital signature generation
$k = new Rfc6979($ecAdapter, $privateKey, $data, 'sha256');
$sig = $ecAdapter->sign($data, $privateKey, $k);
return $sig->getHex();