diff --git a/src/cryptoadvance/spectrum/spectrum.py b/src/cryptoadvance/spectrum/spectrum.py index 999f94a..8311c17 100644 --- a/src/cryptoadvance/spectrum/spectrum.py +++ b/src/cryptoadvance/spectrum/spectrum.py @@ -577,7 +577,7 @@ def testmempoolaccept(self, rawtxs, maxfeerate=0.1): return [{"allowed": True} for tx in rawtxs] @rpc - def getrawtransaction(self, txid, verbose=False): + def getrawtransaction(self, txid, verbose=False, blockhash=None): """ Get raw transaction data for a given transaction id. For more information on the Bitcoin RPC call see: https://developer.bitcoin.org/reference/rpc/getrawtransaction.html @@ -593,10 +593,16 @@ def getrawtransaction(self, txid, verbose=False): - This method is using the ElectrumX API call `blockchain.transaction.get` which is documented here: https://electrumx.readthedocs.io/en/latest/protocol-methods.html#blockchain-transaction-get """ - if verbose: - return self.sock.call("blockchain.transaction.get", [txid, True]) + if blockhash: + if verbose: + return self.sock.call("blockchain.transaction.get", [txid, True, blockhash]) + else: + return self.sock.call("blockchain.transaction.get", [txid, False, blockhash]) else: - return self.sock.call("blockchain.transaction.get", [txid, False]) + if verbose: + return self.sock.call("blockchain.transaction.get", [txid, True]) + else: + return self.sock.call("blockchain.transaction.get", [txid, False]) @rpc def sendrawtransaction(self, hexstring, maxfeerate=0.1):