From 2cb89814b6c8df2d2e19f0a2192c2c7216964140 Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 26 Jun 2018 12:19:35 -0400 Subject: [PATCH] Force verbose to be a boolean (#503) Fixes #502 --- server/controller.py | 3 +++ server/daemon.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/server/controller.py b/server/controller.py index 5d23fa0..bd148ef 100644 --- a/server/controller.py +++ b/server/controller.py @@ -852,6 +852,9 @@ class Controller(ServerBase): verbose: passed on to the daemon ''' self.assert_tx_hash(tx_hash) + if verbose not in (True, False): + raise RPCError(BAD_REQUEST, f'"verbose" must be a boolean') + return await self.daemon_request('getrawtransaction', tx_hash, verbose) async def transaction_get_merkle(self, tx_hash, height): diff --git a/server/daemon.py b/server/daemon.py index e0e97b3..2225b35 100644 --- a/server/daemon.py +++ b/server/daemon.py @@ -265,13 +265,13 @@ class Daemon(object): async def getrawtransaction(self, hex_hash, verbose=False): '''Return the serialized raw transaction with the given hash.''' return await self._send_single('getrawtransaction', - (hex_hash, int(verbose))) + (hex_hash, verbose)) async def getrawtransactions(self, hex_hashes, replace_errs=True): '''Return the serialized raw transactions with the given hashes. Replaces errors with None by default.''' - params_iterable = ((hex_hash, 0) for hex_hash in hex_hashes) + params_iterable = ((hex_hash, False) for hex_hash in hex_hashes) txs = await self._send_vector('getrawtransaction', params_iterable, replace_errs=replace_errs) # Convert hex strings to bytes