예제 #1
0
 /**
  * @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;
     }
 }