diff --git a/trezorlib/tests/txcache/insight_zencash_block-index_110000.json b/trezorlib/tests/txcache/insight_zencash_block-index_110000.json new file mode 100644 index 0000000000..bac570dad2 --- /dev/null +++ b/trezorlib/tests/txcache/insight_zencash_block-index_110000.json @@ -0,0 +1 @@ +{"blockHash": "000000003f5d6ba1385c6cd2d4f836dfc5adf7f98834309ad67e26faef462454"} \ No newline at end of file diff --git a/trezorlib/tx_api.py b/trezorlib/tx_api.py index f72ad63ab9..038ba0abce 100644 --- a/trezorlib/tx_api.py +++ b/trezorlib/tx_api.py @@ -29,21 +29,8 @@ class TxApi(object): self.network = network self.url = url - def get_url(self, resource, resourceid): - url = '%s%s/%s' % (self.url, resource, resourceid) - return url - - def current_height(self): - r = requests.get(self.url + '/status?q=getBlockCount') - j = r.json(parse_float=str) - block_height = j['info']['blocks'] - return block_height - - def get_block_hash(self, block_number): - r = requests.get(self.url + '/block-index/' + str(block_number)) - j = r.json(parse_float=str) - block_hash = binascii.unhexlify(j['blockHash']) - return block_hash + def get_url(self, *args): + return "/".join(map(str, [self.url, "api", *args])) def fetch_json(self, resource, resourceid): global cache_dir @@ -82,8 +69,17 @@ class TxApiInsight(TxApi): self.zcash = zcash self.bip115 = bip115 if url: - prefix, suffix = url.rsplit('/', maxsplit=1) - self.pushtx_url = prefix + '/tx/send' + self.pushtx_url = self.url + "/tx/send" + + def get_block_hash(self, block_number): + j = self.fetch_json("block-index", block_number) + return binascii.unhexlify(j["blockHash"]) + + def current_height(self): + r = requests.get(self.get_url("status?q=getBlockCount")) + j = r.json(parse_float=str) + block_height = j["info"]["blocks"] + return block_height def get_tx(self, txhash):