/** * @param int $flag * @return bool */ public function checkFlag($flag) { return $this->math->cmp($this->math->bitwiseAnd($this->flags->getFlags(), self::UPDATE_MASK), $flag) === 0; }
/** * @param TransactionInterface $tx * @param Flags $flags * @param array $scripts * @return string */ private function dispatch(TransactionInterface $tx, Flags $flags, array $scripts) { $this->blockingZmq->send(json_encode(['txid' => $tx->getTxId()->getHex(), 'tx' => $tx->getHex(), 'flags' => $flags->getFlags(), 'scripts' => $scripts])); $result = $this->blockingZmq->recv(); return (bool) $result; }
/** * @param TransactionInterface $tx * @param ScriptInterface $scriptPubKey * @param int $nInputToSign * @return bool */ public function verify(TransactionInterface $tx, ScriptInterface $scriptPubKey, $nInputToSign) { $error = 0; return (bool) bitcoinconsensus_verify_script($scriptPubKey->getBinary(), $tx->getBinary(), $nInputToSign, $this->flags->getFlags(), $error); }