/** * @param $string * @param Math $math * @return Signature */ public static function fromHex($string, Math $math = null) { $math = $math ?: Bitcoin::getMath(); $serializer = new DerSignatureSerializer($math); $signature = $serializer->parse($string); return $signature; }
/** * @return \BitWasp\Buffertools\Buffer */ public function getBuffer() { $serializer = new DerSignatureSerializer(Bitcoin::getMath()); $buffer = $serializer->serialize($this); return $buffer; }
/** * @param Parser $parser * @return \BitWasp\Bitcoin\Signature\TransactionSignature * @throws \BitWasp\Buffertools\Exceptions\ParserOutOfRange */ public function fromParser(Parser &$parser) { $signature = $this->sigSerializer->fromParser($parser); $hashtype = $parser->readBytes(1)->getInt(); return new TransactionSignature($signature, $hashtype); }