Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_protocol_tuple():
assert util.protocol_tuple(None) == (0, )
assert util.protocol_tuple("foo") == (0, )
assert util.protocol_tuple(1) == (0, )
assert util.protocol_tuple("1") == (1, )
assert util.protocol_tuple("0.1") == (0, 1)
assert util.protocol_tuple("0.10") == (0, 10)
assert util.protocol_tuple("2.5.3") == (2, 5, 3)
def test_protocol_tuple():
assert util.protocol_tuple(None) == (0, )
assert util.protocol_tuple("foo") == (0, )
assert util.protocol_tuple(1) == (0, )
assert util.protocol_tuple("1") == (1, )
assert util.protocol_tuple("0.1") == (0, 1)
assert util.protocol_tuple("0.10") == (0, 10)
assert util.protocol_tuple("2.5.3") == (2, 5, 3)
def test_protocol_tuple():
assert util.protocol_tuple(None) == (0, )
assert util.protocol_tuple("foo") == (0, )
assert util.protocol_tuple(1) == (0, )
assert util.protocol_tuple("1") == (1, )
assert util.protocol_tuple("0.1") == (0, 1)
assert util.protocol_tuple("0.10") == (0, 10)
assert util.protocol_tuple("2.5.3") == (2, 5, 3)
def test_protocol_tuple():
assert util.protocol_tuple(None) == (0, )
assert util.protocol_tuple("foo") == (0, )
assert util.protocol_tuple(1) == (0, )
assert util.protocol_tuple("1") == (1, )
assert util.protocol_tuple("0.1") == (0, 1)
assert util.protocol_tuple("0.10") == (0, 10)
assert util.protocol_tuple("2.5.3") == (2, 5, 3)
def test_protocol_tuple():
assert util.protocol_tuple(None) == (0, )
assert util.protocol_tuple("foo") == (0, )
assert util.protocol_tuple(1) == (0, )
assert util.protocol_tuple("1") == (1, )
assert util.protocol_tuple("0.1") == (0, 1)
assert util.protocol_tuple("0.10") == (0, 10)
assert util.protocol_tuple("2.5.3") == (2, 5, 3)
async def crash_old_client(self, ptuple, crash_client_ver):
if crash_client_ver:
client_ver = util.protocol_tuple(self.client)
is_old_protocol = ptuple is None or ptuple <= (1, 2)
is_old_client = client_ver != (0,) and client_ver <= crash_client_ver
if is_old_protocol and is_old_client:
self.logger.info(f'attempting to crash old client with version {self.client}')
# this can crash electrum client 2.6 <= v < 3.1.2
await self.send_notification('blockchain.relayfee', ())
# this can crash electrum client (v < 2.8.2) UNION (3.0.0 <= v < 3.3.0)
await self.send_notification('blockchain.estimatefee', ())
def _protocol_version_string(self, key):
version_str = self.features.get(key)
ptuple = protocol_tuple(version_str)
return version_string(ptuple)
'''Broadcast a raw transaction to the network.
raw_tx: the raw transaction as a hexadecimal string'''
self.bump_cost(0.25 + len(raw_tx) / 5000)
# This returns errors as JSON RPC errors, as is natural
try:
hex_hash = await self.session_mgr.broadcast_transaction(raw_tx)
except DaemonError as e:
error, = e.args
message = error['message']
self.logger.info(f'error sending transaction: {message}')
raise RPCError(BAD_REQUEST, 'the transaction was rejected by '
f'network rules.\n\n{message}\n[{raw_tx}]')
else:
self.txs_sent += 1
client_ver = util.protocol_tuple(self.client)
if client_ver != (0, ):
msg = self.coin.warn_old_client_on_tx_broadcast(client_ver)
if msg:
self.logger.info(f'sent tx: {hex_hash}. and warned user to upgrade their '
f'client from {self.client}')
return msg
self.logger.info(f'sent tx: {hex_hash}')
return hex_hash