/**
  * @param $string
  * @param Math $math
  * @return TransactionSignatureInterface
  */
 public static function fromHex($string, Math $math = null)
 {
     $math = $math ?: Bitcoin::getMath();
     $serializer = new TransactionSignatureSerializer(new DerSignatureSerializer($math));
     $signature = $serializer->parse($string);
     return $signature;
 }
 /**
  * @return \BitWasp\Buffertools\Buffer
  */
 public function getBuffer()
 {
     $txSigSerializer = new TransactionSignatureSerializer(new DerSignatureSerializer(Bitcoin::getMath()));
     return $txSigSerializer->serialize($this);
 }
 /**
  * @return BufferInterface
  */
 public function getBuffer()
 {
     $txSigSerializer = new TransactionSignatureSerializer(EcSerializer::getSerializer($this->ecAdapter, 'BitWasp\\Bitcoin\\Crypto\\EcAdapter\\Serializer\\Signature\\DerSignatureSerializerInterface'));
     return $txSigSerializer->serialize($this);
 }
 /**
  * @param \BitWasp\Buffertools\BufferInterface|string $string
  * @param EcAdapterInterface $ecAdapter
  * @return TransactionSignatureInterface
  */
 public static function fromHex($string, EcAdapterInterface $ecAdapter = null)
 {
     $ecAdapter = $ecAdapter ?: Bitcoin::getEcAdapter();
     $serializer = new TransactionSignatureSerializer(EcSerializer::getSerializer($ecAdapter, 'BitWasp\\Bitcoin\\Crypto\\EcAdapter\\Serializer\\Signature\\DerSignatureSerializerInterface'));
     return $serializer->parse($string);
 }