forked from LBRYCommunity/lbry-sdk
fix for new pylint in torba
This commit is contained in:
parent
4cbc82619d
commit
4231e7f3ff
4 changed files with 23 additions and 24 deletions
|
@ -85,7 +85,7 @@ class AddressManager:
|
||||||
class HierarchicalDeterministic(AddressManager):
|
class HierarchicalDeterministic(AddressManager):
|
||||||
""" Implements simple version of Bitcoin Hierarchical Deterministic key management. """
|
""" Implements simple version of Bitcoin Hierarchical Deterministic key management. """
|
||||||
|
|
||||||
name = "deterministic-chain"
|
name: str = "deterministic-chain"
|
||||||
|
|
||||||
__slots__ = 'gap', 'maximum_uses_per_address'
|
__slots__ = 'gap', 'maximum_uses_per_address'
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ class HierarchicalDeterministic(AddressManager):
|
||||||
class SingleKey(AddressManager):
|
class SingleKey(AddressManager):
|
||||||
""" Single Key address manager always returns the same address for all operations. """
|
""" Single Key address manager always returns the same address for all operations. """
|
||||||
|
|
||||||
name = "single-address"
|
name: str = "single-address"
|
||||||
|
|
||||||
__slots__ = ()
|
__slots__ = ()
|
||||||
|
|
||||||
|
|
|
@ -102,20 +102,20 @@ def constraints_to_sql(constraints, joiner=' AND ', prepend_key=''):
|
||||||
if not key:
|
if not key:
|
||||||
sql.append(constraint)
|
sql.append(constraint)
|
||||||
continue
|
continue
|
||||||
elif key.startswith('$'):
|
if key.startswith('$'):
|
||||||
values[key] = constraint
|
values[key] = constraint
|
||||||
continue
|
continue
|
||||||
elif key.endswith('__not'):
|
if key.endswith('__not'):
|
||||||
col, op = col[:-len('__not')], '!='
|
col, op = col[:-len('__not')], '!='
|
||||||
elif key.endswith('__is_null'):
|
elif key.endswith('__is_null'):
|
||||||
col = col[:-len('__is_null')]
|
col = col[:-len('__is_null')]
|
||||||
sql.append(f'{col} IS NULL')
|
sql.append(f'{col} IS NULL')
|
||||||
continue
|
continue
|
||||||
elif key.endswith('__is_not_null'):
|
if key.endswith('__is_not_null'):
|
||||||
col = col[:-len('__is_not_null')]
|
col = col[:-len('__is_not_null')]
|
||||||
sql.append(f'{col} IS NOT NULL')
|
sql.append(f'{col} IS NOT NULL')
|
||||||
continue
|
continue
|
||||||
elif key.endswith('__lt'):
|
if key.endswith('__lt'):
|
||||||
col, op = col[:-len('__lt')], '<'
|
col, op = col[:-len('__lt')], '<'
|
||||||
elif key.endswith('__lte'):
|
elif key.endswith('__lte'):
|
||||||
col, op = col[:-len('__lte')], '<='
|
col, op = col[:-len('__lte')], '<='
|
||||||
|
@ -149,7 +149,7 @@ def constraints_to_sql(constraints, joiner=' AND ', prepend_key=''):
|
||||||
sql.append(f'({where})')
|
sql.append(f'({where})')
|
||||||
values.update(subvalues)
|
values.update(subvalues)
|
||||||
continue
|
continue
|
||||||
elif key.endswith('__and'):
|
if key.endswith('__and'):
|
||||||
where, subvalues = constraints_to_sql(constraint, ' AND ', key+tag+'_')
|
where, subvalues = constraints_to_sql(constraint, ' AND ', key+tag+'_')
|
||||||
sql.append(f'({where})')
|
sql.append(f'({where})')
|
||||||
values.update(subvalues)
|
values.update(subvalues)
|
||||||
|
@ -554,7 +554,7 @@ class BaseDatabase(SQLiteMixin):
|
||||||
row[1], height=row[2], position=row[3], is_verified=row[4]
|
row[1], height=row[2], position=row[3], is_verified=row[4]
|
||||||
)
|
)
|
||||||
txo = txs[row[0]].outputs[row[5]]
|
txo = txs[row[0]].outputs[row[5]]
|
||||||
row_accounts = {k: v for k, v in (a.split('|') for a in row[8].split(','))}
|
row_accounts = dict(a.split('|') for a in row[8].split(','))
|
||||||
account_match = set(row_accounts) & my_accounts
|
account_match = set(row_accounts) & my_accounts
|
||||||
if account_match:
|
if account_match:
|
||||||
txo.is_my_account = True
|
txo.is_my_account = True
|
||||||
|
|
|
@ -507,18 +507,17 @@ class BaseTransaction:
|
||||||
|
|
||||||
if tx._outputs:
|
if tx._outputs:
|
||||||
break
|
break
|
||||||
else:
|
# this condition and the outer range(5) loop cover an edge case
|
||||||
# this condition and the outer range(5) loop cover an edge case
|
# whereby a single input is just enough to cover the fee and
|
||||||
# whereby a single input is just enough to cover the fee and
|
# has some change left over, but the change left over is less
|
||||||
# has some change left over, but the change left over is less
|
# than the cost_of_change: thus the input is completely
|
||||||
# than the cost_of_change: thus the input is completely
|
# consumed and no output is added, which is an invalid tx.
|
||||||
# consumed and no output is added, which is an invalid tx.
|
# to be able to spend this input we must increase the cost
|
||||||
# to be able to spend this input we must increase the cost
|
# of the TX and run through the balance algorithm a second time
|
||||||
# of the TX and run through the balance algorithm a second time
|
# adding an extra input and change output, making tx valid.
|
||||||
# adding an extra input and change output, making tx valid.
|
# we do this 5 times in case the other UTXOs added are also
|
||||||
# we do this 5 times in case the other UTXOs added are also
|
# less than the fee, after 5 attempts we give up and go home
|
||||||
# less than the fee, after 5 attempts we give up and go home
|
cost += cost_of_change + 1
|
||||||
cost += cost_of_change + 1
|
|
||||||
|
|
||||||
if sign:
|
if sign:
|
||||||
await tx.sign(funding_accounts)
|
await tx.sign(funding_accounts)
|
||||||
|
|
|
@ -14,11 +14,11 @@ from torba.client.baseheader import BaseHeaders, ArithUint256
|
||||||
|
|
||||||
|
|
||||||
class MainHeaders(BaseHeaders):
|
class MainHeaders(BaseHeaders):
|
||||||
header_size = 80
|
header_size: int = 80
|
||||||
chunk_size = 2016
|
chunk_size: int = 2016
|
||||||
max_target = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
max_target: int = 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
|
||||||
genesis_hash: Optional[bytes] = b'000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f'
|
genesis_hash: Optional[bytes] = b'000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f'
|
||||||
target_timespan = 14 * 24 * 60 * 60
|
target_timespan: int = 14 * 24 * 60 * 60
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def serialize(header: dict) -> bytes:
|
def serialize(header: dict) -> bytes:
|
||||||
|
|
Loading…
Reference in a new issue