/** * @param ScriptInterface $script * @param Buffer $sigBuf * @param Buffer $keyBuf * @return bool * @throws ScriptRuntimeException * @throws \Exception */ private function checkSig(ScriptInterface $script, Buffer $sigBuf, Buffer $keyBuf) { $this->checkSignatureEncoding($sigBuf)->checkPublicKeyEncoding($keyBuf); try { $txSignature = TransactionSignatureFactory::fromHex($sigBuf->getHex()); $publicKey = PublicKeyFactory::fromHex($keyBuf->getHex()); $sigHash = $this->transaction->getSignatureHash()->calculate($script, $this->inputToSign, $txSignature->getHashType()); return $this->ecAdapter->verify($sigHash, $publicKey, $txSignature->getSignature()); } catch (\Exception $e) { return false; } }