mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 11:32:46 +01:00
Minor Python cleanups to make flake8 pass with the new rules enabled
This commit is contained in:
parent
0d6992168c
commit
f020aca297
@ -286,7 +286,7 @@ Arguments:
|
|||||||
def report_cmd(argv):
|
def report_cmd(argv):
|
||||||
if len(argv) == 2:
|
if len(argv) == 2:
|
||||||
sys.exit(REPORT_USAGE)
|
sys.exit(REPORT_USAGE)
|
||||||
|
|
||||||
base_directory = argv[2]
|
base_directory = argv[2]
|
||||||
if not os.path.exists(base_directory):
|
if not os.path.exists(base_directory):
|
||||||
sys.exit("*** bad <base_directory>: %s" % base_directory)
|
sys.exit("*** bad <base_directory>: %s" % base_directory)
|
||||||
@ -444,7 +444,7 @@ def print_file_action_message(filename, action):
|
|||||||
def update_cmd(argv):
|
def update_cmd(argv):
|
||||||
if len(argv) != 3:
|
if len(argv) != 3:
|
||||||
sys.exit(UPDATE_USAGE)
|
sys.exit(UPDATE_USAGE)
|
||||||
|
|
||||||
base_directory = argv[2]
|
base_directory = argv[2]
|
||||||
if not os.path.exists(base_directory):
|
if not os.path.exists(base_directory):
|
||||||
sys.exit("*** bad base_directory: %s" % base_directory)
|
sys.exit("*** bad base_directory: %s" % base_directory)
|
||||||
@ -570,13 +570,13 @@ def insert_cmd(argv):
|
|||||||
_, extension = os.path.splitext(filename)
|
_, extension = os.path.splitext(filename)
|
||||||
if extension not in ['.h', '.cpp', '.cc', '.c', '.py']:
|
if extension not in ['.h', '.cpp', '.cc', '.c', '.py']:
|
||||||
sys.exit("*** cannot insert for file extension %s" % extension)
|
sys.exit("*** cannot insert for file extension %s" % extension)
|
||||||
|
|
||||||
if extension == '.py':
|
if extension == '.py':
|
||||||
style = 'python'
|
style = 'python'
|
||||||
else:
|
else:
|
||||||
style = 'cpp'
|
style = 'cpp'
|
||||||
exec_insert_header(filename, style)
|
exec_insert_header(filename, style)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# UI
|
# UI
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -21,7 +21,8 @@ import argparse
|
|||||||
import hashlib
|
import hashlib
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import json,codecs
|
import json
|
||||||
|
import codecs
|
||||||
try:
|
try:
|
||||||
from urllib.request import Request,urlopen
|
from urllib.request import Request,urlopen
|
||||||
except:
|
except:
|
||||||
|
@ -41,19 +41,19 @@ for folder in folders:
|
|||||||
file_path = os.path.join(absFolder, file)
|
file_path = os.path.join(absFolder, file)
|
||||||
fileMetaMap = {'file' : file, 'osize': os.path.getsize(file_path), 'sha256Old' : file_hash(file_path)}
|
fileMetaMap = {'file' : file, 'osize': os.path.getsize(file_path), 'sha256Old' : file_hash(file_path)}
|
||||||
fileMetaMap['contentHashPre'] = content_hash(file_path)
|
fileMetaMap['contentHashPre'] = content_hash(file_path)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
subprocess.call([pngcrush, "-brute", "-ow", "-rem", "gAMA", "-rem", "cHRM", "-rem", "iCCP", "-rem", "sRGB", "-rem", "alla", "-rem", "text", file_path],
|
subprocess.call([pngcrush, "-brute", "-ow", "-rem", "gAMA", "-rem", "cHRM", "-rem", "iCCP", "-rem", "sRGB", "-rem", "alla", "-rem", "text", file_path],
|
||||||
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||||
except:
|
except:
|
||||||
print("pngcrush is not installed, aborting...")
|
print("pngcrush is not installed, aborting...")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
#verify
|
#verify
|
||||||
if "Not a PNG file" in subprocess.check_output([pngcrush, "-n", "-v", file_path], stderr=subprocess.STDOUT, universal_newlines=True):
|
if "Not a PNG file" in subprocess.check_output([pngcrush, "-n", "-v", file_path], stderr=subprocess.STDOUT, universal_newlines=True):
|
||||||
print("PNG file "+file+" is corrupted after crushing, check out pngcursh version")
|
print("PNG file "+file+" is corrupted after crushing, check out pngcursh version")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
fileMetaMap['sha256New'] = file_hash(file_path)
|
fileMetaMap['sha256New'] = file_hash(file_path)
|
||||||
fileMetaMap['contentHashPost'] = content_hash(file_path)
|
fileMetaMap['contentHashPost'] = content_hash(file_path)
|
||||||
|
|
||||||
@ -72,5 +72,5 @@ for fileDict in outputArray:
|
|||||||
totalSaveBytes += fileDict['osize'] - fileDict['psize']
|
totalSaveBytes += fileDict['osize'] - fileDict['psize']
|
||||||
noHashChange = noHashChange and (oldHash == newHash)
|
noHashChange = noHashChange and (oldHash == newHash)
|
||||||
print(fileDict['file']+"\n size diff from: "+str(fileDict['osize'])+" to: "+str(fileDict['psize'])+"\n old sha256: "+oldHash+"\n new sha256: "+newHash+"\n")
|
print(fileDict['file']+"\n size diff from: "+str(fileDict['osize'])+" to: "+str(fileDict['psize'])+"\n old sha256: "+oldHash+"\n new sha256: "+newHash+"\n")
|
||||||
|
|
||||||
print("completed. Checksum stable: "+str(noHashChange)+". Total reduction: "+str(totalSaveBytes)+" bytes")
|
print("completed. Checksum stable: "+str(noHashChange)+". Total reduction: "+str(totalSaveBytes)+" bytes")
|
||||||
|
@ -21,7 +21,6 @@ from binascii import hexlify, unhexlify
|
|||||||
|
|
||||||
settings = {}
|
settings = {}
|
||||||
|
|
||||||
##### Switch endian-ness #####
|
|
||||||
def hex_switchEndian(s):
|
def hex_switchEndian(s):
|
||||||
""" Switches the endianness of a hex string (in pairs of hex chars) """
|
""" Switches the endianness of a hex string (in pairs of hex chars) """
|
||||||
pairList = [s[i:i+2].encode() for i in range(0, len(s), 2)]
|
pairList = [s[i:i+2].encode() for i in range(0, len(s), 2)]
|
||||||
|
@ -21,7 +21,6 @@ import os.path
|
|||||||
|
|
||||||
settings = {}
|
settings = {}
|
||||||
|
|
||||||
##### Switch endian-ness #####
|
|
||||||
def hex_switchEndian(s):
|
def hex_switchEndian(s):
|
||||||
""" Switches the endianness of a hex string (in pairs of hex chars) """
|
""" Switches the endianness of a hex string (in pairs of hex chars) """
|
||||||
pairList = [s[i:i+2].encode() for i in range(0, len(s), 2)]
|
pairList = [s[i:i+2].encode() for i in range(0, len(s), 2)]
|
||||||
|
@ -34,7 +34,8 @@ These should be pasted into `src/chainparamsseeds.h`.
|
|||||||
|
|
||||||
from base64 import b32decode
|
from base64 import b32decode
|
||||||
from binascii import a2b_hex
|
from binascii import a2b_hex
|
||||||
import sys, os
|
import sys
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
# ipv4 in ipv6 prefix
|
# ipv4 in ipv6 prefix
|
||||||
@ -46,7 +47,7 @@ def name_to_ipv6(addr):
|
|||||||
if len(addr)>6 and addr.endswith('.onion'):
|
if len(addr)>6 and addr.endswith('.onion'):
|
||||||
vchAddr = b32decode(addr[0:-6], True)
|
vchAddr = b32decode(addr[0:-6], True)
|
||||||
if len(vchAddr) != 16-len(pchOnionCat):
|
if len(vchAddr) != 16-len(pchOnionCat):
|
||||||
raise ValueError('Invalid onion %s' % s)
|
raise ValueError('Invalid onion %s' % vchAddr)
|
||||||
return pchOnionCat + vchAddr
|
return pchOnionCat + vchAddr
|
||||||
elif '.' in addr: # IPv4
|
elif '.' in addr: # IPv4
|
||||||
return pchIPv4 + bytearray((int(x) for x in addr.split('.')))
|
return pchIPv4 + bytearray((int(x) for x in addr.split('.')))
|
||||||
@ -132,7 +133,7 @@ def main():
|
|||||||
with open(os.path.join(indir,'nodes_test.txt'),'r') as f:
|
with open(os.path.join(indir,'nodes_test.txt'),'r') as f:
|
||||||
process_nodes(g, f, 'pnSeed6_test', 18333)
|
process_nodes(g, f, 'pnSeed6_test', 18333)
|
||||||
g.write('#endif // BITCOIN_CHAINPARAMSSEEDS_H\n')
|
g.write('#endif // BITCOIN_CHAINPARAMSSEEDS_H\n')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
@ -6,6 +6,11 @@
|
|||||||
# Generate seeds.txt from Pieter's DNS seeder
|
# Generate seeds.txt from Pieter's DNS seeder
|
||||||
#
|
#
|
||||||
|
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
import dns.resolver
|
||||||
|
import collections
|
||||||
|
|
||||||
NSEEDS=512
|
NSEEDS=512
|
||||||
|
|
||||||
MAX_SEEDS_PER_ASN=2
|
MAX_SEEDS_PER_ASN=2
|
||||||
@ -22,11 +27,6 @@ SUSPICIOUS_HOSTS = {
|
|||||||
"54.94.195.96", "54.94.200.247"
|
"54.94.195.96", "54.94.200.247"
|
||||||
}
|
}
|
||||||
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
import dns.resolver
|
|
||||||
import collections
|
|
||||||
|
|
||||||
PATTERN_IPV4 = re.compile(r"^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})):(\d+)$")
|
PATTERN_IPV4 = re.compile(r"^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})):(\d+)$")
|
||||||
PATTERN_IPV6 = re.compile(r"^\[([0-9a-z:]+)\]:(\d+)$")
|
PATTERN_IPV6 = re.compile(r"^\[([0-9a-z:]+)\]:(\d+)$")
|
||||||
PATTERN_ONION = re.compile(r"^([abcdefghijklmnopqrstuvwxyz234567]{16}\.onion):(\d+)$")
|
PATTERN_ONION = re.compile(r"^([abcdefghijklmnopqrstuvwxyz234567]{16}\.onion):(\d+)$")
|
||||||
|
@ -43,8 +43,10 @@ def b58encode(v):
|
|||||||
# leading 0-bytes in the input become leading-1s
|
# leading 0-bytes in the input become leading-1s
|
||||||
nPad = 0
|
nPad = 0
|
||||||
for c in v:
|
for c in v:
|
||||||
if c == 0: nPad += 1
|
if c == 0:
|
||||||
else: break
|
nPad += 1
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
return (__b58chars[0]*nPad) + result
|
return (__b58chars[0]*nPad) + result
|
||||||
|
|
||||||
@ -98,7 +100,8 @@ def b58decode_chk(v):
|
|||||||
def get_bcaddress_version(strAddress):
|
def get_bcaddress_version(strAddress):
|
||||||
""" Returns None if strAddress is invalid. Otherwise returns integer version of address. """
|
""" Returns None if strAddress is invalid. Otherwise returns integer version of address. """
|
||||||
addr = b58decode_chk(strAddress)
|
addr = b58decode_chk(strAddress)
|
||||||
if addr is None or len(addr)!=21: return None
|
if addr is None or len(addr)!=21:
|
||||||
|
return None
|
||||||
version = addr[0]
|
version = addr[0]
|
||||||
return ord(version)
|
return ord(version)
|
||||||
|
|
||||||
|
@ -74,12 +74,12 @@ def gen_invalid_vector(template, corrupt_prefix, randomize_payload_size, corrupt
|
|||||||
prefix = os.urandom(1)
|
prefix = os.urandom(1)
|
||||||
else:
|
else:
|
||||||
prefix = bytearray(template[0])
|
prefix = bytearray(template[0])
|
||||||
|
|
||||||
if randomize_payload_size:
|
if randomize_payload_size:
|
||||||
payload = os.urandom(max(int(random.expovariate(0.5)), 50))
|
payload = os.urandom(max(int(random.expovariate(0.5)), 50))
|
||||||
else:
|
else:
|
||||||
payload = os.urandom(template[1])
|
payload = os.urandom(template[1])
|
||||||
|
|
||||||
if corrupt_suffix:
|
if corrupt_suffix:
|
||||||
suffix = os.urandom(len(template[2]))
|
suffix = os.urandom(len(template[2]))
|
||||||
else:
|
else:
|
||||||
@ -114,7 +114,8 @@ def gen_invalid_vectors():
|
|||||||
yield val,
|
yield val,
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import sys, json
|
import sys
|
||||||
|
import json
|
||||||
iters = {'valid':gen_valid_vectors, 'invalid':gen_invalid_vectors}
|
iters = {'valid':gen_valid_vectors, 'invalid':gen_invalid_vectors}
|
||||||
try:
|
try:
|
||||||
uiter = iters[sys.argv[1]]
|
uiter = iters[sys.argv[1]]
|
||||||
@ -124,7 +125,7 @@ if __name__ == '__main__':
|
|||||||
count = int(sys.argv[2])
|
count = int(sys.argv[2])
|
||||||
except IndexError:
|
except IndexError:
|
||||||
count = 0
|
count = 0
|
||||||
|
|
||||||
data = list(islice(uiter(), count))
|
data = list(islice(uiter(), count))
|
||||||
json.dump(data, sys.stdout, sort_keys=True, indent=4)
|
json.dump(data, sys.stdout, sort_keys=True, indent=4)
|
||||||
sys.stdout.write('\n')
|
sys.stdout.write('\n')
|
||||||
|
@ -25,7 +25,7 @@ salt = "".join([x[2:] for x in hexseq])
|
|||||||
|
|
||||||
#Create 32 byte b64 password
|
#Create 32 byte b64 password
|
||||||
password = base64.urlsafe_b64encode(os.urandom(32)).decode("utf-8")
|
password = base64.urlsafe_b64encode(os.urandom(32)).decode("utf-8")
|
||||||
|
|
||||||
m = hmac.new(bytearray(salt, 'utf-8'), bytearray(password, 'utf-8'), "SHA256")
|
m = hmac.new(bytearray(salt, 'utf-8'), bytearray(password, 'utf-8'), "SHA256")
|
||||||
result = m.hexdigest()
|
result = m.hexdigest()
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ class BIP68Test(BitcoinTestFramework):
|
|||||||
|
|
||||||
# Track whether any sequence locks used should fail
|
# Track whether any sequence locks used should fail
|
||||||
should_pass = True
|
should_pass = True
|
||||||
|
|
||||||
# Track whether this transaction was built with sequence locks
|
# Track whether this transaction was built with sequence locks
|
||||||
using_sequence_locks = False
|
using_sequence_locks = False
|
||||||
|
|
||||||
@ -343,7 +343,7 @@ class BIP68Test(BitcoinTestFramework):
|
|||||||
tx2.rehash()
|
tx2.rehash()
|
||||||
|
|
||||||
self.nodes[0].sendrawtransaction(ToHex(tx2))
|
self.nodes[0].sendrawtransaction(ToHex(tx2))
|
||||||
|
|
||||||
# Now make an invalid spend of tx2 according to BIP68
|
# Now make an invalid spend of tx2 according to BIP68
|
||||||
sequence_value = 100 # 100 block relative locktime
|
sequence_value = 100 # 100 block relative locktime
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ class TestP2PConn(P2PInterface):
|
|||||||
self.block_receive_map[message.block.sha256] += 1
|
self.block_receive_map[message.block.sha256] += 1
|
||||||
|
|
||||||
class MaxUploadTest(BitcoinTestFramework):
|
class MaxUploadTest(BitcoinTestFramework):
|
||||||
|
|
||||||
def set_test_params(self):
|
def set_test_params(self):
|
||||||
self.setup_clean_chain = True
|
self.setup_clean_chain = True
|
||||||
self.num_nodes = 1
|
self.num_nodes = 1
|
||||||
|
@ -182,7 +182,7 @@ class ProxyTest(BitcoinTestFramework):
|
|||||||
assert_equal(n1['onion']['proxy'], '%s:%i' % (self.conf2.addr))
|
assert_equal(n1['onion']['proxy'], '%s:%i' % (self.conf2.addr))
|
||||||
assert_equal(n1['onion']['proxy_randomize_credentials'], False)
|
assert_equal(n1['onion']['proxy_randomize_credentials'], False)
|
||||||
assert_equal(n1['onion']['reachable'], True)
|
assert_equal(n1['onion']['reachable'], True)
|
||||||
|
|
||||||
n2 = networks_dict(self.nodes[2].getnetworkinfo())
|
n2 = networks_dict(self.nodes[2].getnetworkinfo())
|
||||||
for net in ['ipv4','ipv6','onion']:
|
for net in ['ipv4','ipv6','onion']:
|
||||||
assert_equal(n2[net]['proxy'], '%s:%i' % (self.conf2.addr))
|
assert_equal(n2[net]['proxy'], '%s:%i' % (self.conf2.addr))
|
||||||
|
@ -186,10 +186,10 @@ class RESTTest (BitcoinTestFramework):
|
|||||||
self.test_rest_request("/getutxos/checkmempool", http_method='POST', req_type=ReqType.JSON, status=400, ret_type=RetType.OBJ)
|
self.test_rest_request("/getutxos/checkmempool", http_method='POST', req_type=ReqType.JSON, status=400, ret_type=RetType.OBJ)
|
||||||
|
|
||||||
# Test limits
|
# Test limits
|
||||||
long_uri = '/'.join(["{}-{}".format(txid, n) for n in range(20)])
|
long_uri = '/'.join(["{}-{}".format(txid, n_) for n_ in range(20)])
|
||||||
self.test_rest_request("/getutxos/checkmempool/{}".format(long_uri), http_method='POST', status=400, ret_type=RetType.OBJ)
|
self.test_rest_request("/getutxos/checkmempool/{}".format(long_uri), http_method='POST', status=400, ret_type=RetType.OBJ)
|
||||||
|
|
||||||
long_uri = '/'.join(['{}-{}'.format(txid, n) for n in range(15)])
|
long_uri = '/'.join(['{}-{}'.format(txid, n_) for n_ in range(15)])
|
||||||
self.test_rest_request("/getutxos/checkmempool/{}".format(long_uri), http_method='POST', status=200)
|
self.test_rest_request("/getutxos/checkmempool/{}".format(long_uri), http_method='POST', status=200)
|
||||||
|
|
||||||
self.nodes[0].generate(1) # generate block to not affect upcoming tests
|
self.nodes[0].generate(1) # generate block to not affect upcoming tests
|
||||||
|
@ -30,6 +30,6 @@ class P2PMempoolTests(BitcoinTestFramework):
|
|||||||
|
|
||||||
#mininode must be disconnected at this point
|
#mininode must be disconnected at this point
|
||||||
assert_equal(len(self.nodes[0].getpeerinfo()), 0)
|
assert_equal(len(self.nodes[0].getpeerinfo()), 0)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
P2PMempoolTests().main()
|
P2PMempoolTests().main()
|
||||||
|
@ -450,7 +450,7 @@ class SegWitTest(BitcoinTestFramework):
|
|||||||
block = self.build_next_block()
|
block = self.build_next_block()
|
||||||
|
|
||||||
assert(len(self.utxo) > 0)
|
assert(len(self.utxo) > 0)
|
||||||
|
|
||||||
# Create a P2WSH transaction.
|
# Create a P2WSH transaction.
|
||||||
# The witness program will be a bunch of OP_2DROP's, followed by OP_TRUE.
|
# The witness program will be a bunch of OP_2DROP's, followed by OP_TRUE.
|
||||||
# This should give us plenty of room to tweak the spending tx's
|
# This should give us plenty of room to tweak the spending tx's
|
||||||
@ -562,7 +562,7 @@ class SegWitTest(BitcoinTestFramework):
|
|||||||
self.log.info("Testing extra witness data in tx")
|
self.log.info("Testing extra witness data in tx")
|
||||||
|
|
||||||
assert(len(self.utxo) > 0)
|
assert(len(self.utxo) > 0)
|
||||||
|
|
||||||
block = self.build_next_block()
|
block = self.build_next_block()
|
||||||
|
|
||||||
witness_program = CScript([OP_DROP, OP_TRUE])
|
witness_program = CScript([OP_DROP, OP_TRUE])
|
||||||
@ -730,7 +730,7 @@ class SegWitTest(BitcoinTestFramework):
|
|||||||
witness_program = CScript([OP_DROP, OP_TRUE])
|
witness_program = CScript([OP_DROP, OP_TRUE])
|
||||||
witness_hash = sha256(witness_program)
|
witness_hash = sha256(witness_program)
|
||||||
scriptPubKey = CScript([OP_0, witness_hash])
|
scriptPubKey = CScript([OP_0, witness_hash])
|
||||||
|
|
||||||
# Create a transaction that splits our utxo into many outputs
|
# Create a transaction that splits our utxo into many outputs
|
||||||
tx = CTransaction()
|
tx = CTransaction()
|
||||||
tx.vin.append(CTxIn(COutPoint(self.utxo[0].sha256, self.utxo[0].n), b""))
|
tx.vin.append(CTxIn(COutPoint(self.utxo[0].sha256, self.utxo[0].n), b""))
|
||||||
|
@ -4,12 +4,14 @@
|
|||||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
"""Dummy Socks5 server for testing."""
|
"""Dummy Socks5 server for testing."""
|
||||||
|
|
||||||
import socket, threading, queue
|
import socket
|
||||||
|
import threading
|
||||||
|
import queue
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
logger = logging.getLogger("TestFramework.socks5")
|
logger = logging.getLogger("TestFramework.socks5")
|
||||||
|
|
||||||
### Protocol constants
|
# Protocol constants
|
||||||
class Command:
|
class Command:
|
||||||
CONNECT = 0x01
|
CONNECT = 0x01
|
||||||
|
|
||||||
@ -18,7 +20,7 @@ class AddressType:
|
|||||||
DOMAINNAME = 0x03
|
DOMAINNAME = 0x03
|
||||||
IPV6 = 0x04
|
IPV6 = 0x04
|
||||||
|
|
||||||
### Utility functions
|
# Utility functions
|
||||||
def recvall(s, n):
|
def recvall(s, n):
|
||||||
"""Receive n bytes from a socket, or fail."""
|
"""Receive n bytes from a socket, or fail."""
|
||||||
rv = bytearray()
|
rv = bytearray()
|
||||||
@ -30,7 +32,7 @@ def recvall(s, n):
|
|||||||
n -= len(d)
|
n -= len(d)
|
||||||
return rv
|
return rv
|
||||||
|
|
||||||
### Implementation classes
|
# Implementation classes
|
||||||
class Socks5Configuration():
|
class Socks5Configuration():
|
||||||
"""Proxy configuration."""
|
"""Proxy configuration."""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -141,7 +143,7 @@ class Socks5Server():
|
|||||||
thread = threading.Thread(None, conn.handle)
|
thread = threading.Thread(None, conn.handle)
|
||||||
thread.daemon = True
|
thread.daemon = True
|
||||||
thread.start()
|
thread.start()
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
assert(not self.running)
|
assert(not self.running)
|
||||||
self.running = True
|
self.running = True
|
||||||
|
@ -16,7 +16,7 @@ class ImportPrunedFundsTest(BitcoinTestFramework):
|
|||||||
self.nodes[0].generate(101)
|
self.nodes[0].generate(101)
|
||||||
|
|
||||||
self.sync_all()
|
self.sync_all()
|
||||||
|
|
||||||
# address
|
# address
|
||||||
address1 = self.nodes[0].getnewaddress()
|
address1 = self.nodes[0].getnewaddress()
|
||||||
# pubkey
|
# pubkey
|
||||||
|
@ -17,7 +17,7 @@ class KeyPoolTest(BitcoinTestFramework):
|
|||||||
addr_before_encrypting_data = nodes[0].getaddressinfo(addr_before_encrypting)
|
addr_before_encrypting_data = nodes[0].getaddressinfo(addr_before_encrypting)
|
||||||
wallet_info_old = nodes[0].getwalletinfo()
|
wallet_info_old = nodes[0].getwalletinfo()
|
||||||
assert(addr_before_encrypting_data['hdmasterkeyid'] == wallet_info_old['hdmasterkeyid'])
|
assert(addr_before_encrypting_data['hdmasterkeyid'] == wallet_info_old['hdmasterkeyid'])
|
||||||
|
|
||||||
# Encrypt wallet and wait to terminate
|
# Encrypt wallet and wait to terminate
|
||||||
nodes[0].node_encrypt_wallet('test')
|
nodes[0].node_encrypt_wallet('test')
|
||||||
# Restart node 0
|
# Restart node 0
|
||||||
|
@ -92,7 +92,8 @@ class TxnMallTest(BitcoinTestFramework):
|
|||||||
# Node0's balance should be starting balance, plus 50BTC for another
|
# Node0's balance should be starting balance, plus 50BTC for another
|
||||||
# matured block, minus tx1 and tx2 amounts, and minus transaction fees:
|
# matured block, minus tx1 and tx2 amounts, and minus transaction fees:
|
||||||
expected = starting_balance + fund_foo_tx["fee"] + fund_bar_tx["fee"]
|
expected = starting_balance + fund_foo_tx["fee"] + fund_bar_tx["fee"]
|
||||||
if self.options.mine_block: expected += 50
|
if self.options.mine_block:
|
||||||
|
expected += 50
|
||||||
expected += tx1["amount"] + tx1["fee"]
|
expected += tx1["amount"] + tx1["fee"]
|
||||||
expected += tx2["amount"] + tx2["fee"]
|
expected += tx2["amount"] + tx2["fee"]
|
||||||
assert_equal(self.nodes[0].getbalance(), expected)
|
assert_equal(self.nodes[0].getbalance(), expected)
|
||||||
@ -131,7 +132,7 @@ class TxnMallTest(BitcoinTestFramework):
|
|||||||
tx1 = self.nodes[0].gettransaction(txid1)
|
tx1 = self.nodes[0].gettransaction(txid1)
|
||||||
tx1_clone = self.nodes[0].gettransaction(txid1_clone)
|
tx1_clone = self.nodes[0].gettransaction(txid1_clone)
|
||||||
tx2 = self.nodes[0].gettransaction(txid2)
|
tx2 = self.nodes[0].gettransaction(txid2)
|
||||||
|
|
||||||
# Verify expected confirmations
|
# Verify expected confirmations
|
||||||
assert_equal(tx1["confirmations"], -2)
|
assert_equal(tx1["confirmations"], -2)
|
||||||
assert_equal(tx1_clone["confirmations"], 2)
|
assert_equal(tx1_clone["confirmations"], 2)
|
||||||
|
@ -27,7 +27,7 @@ class TxnMallTest(BitcoinTestFramework):
|
|||||||
for i in range(4):
|
for i in range(4):
|
||||||
assert_equal(self.nodes[i].getbalance(), starting_balance)
|
assert_equal(self.nodes[i].getbalance(), starting_balance)
|
||||||
self.nodes[i].getnewaddress("") # bug workaround, coins generated assigned to first getnewaddress!
|
self.nodes[i].getnewaddress("") # bug workaround, coins generated assigned to first getnewaddress!
|
||||||
|
|
||||||
# Assign coins to foo and bar accounts:
|
# Assign coins to foo and bar accounts:
|
||||||
node0_address_foo = self.nodes[0].getnewaddress("foo")
|
node0_address_foo = self.nodes[0].getnewaddress("foo")
|
||||||
fund_foo_txid = self.nodes[0].sendfrom("", node0_address_foo, 1219)
|
fund_foo_txid = self.nodes[0].sendfrom("", node0_address_foo, 1219)
|
||||||
@ -64,7 +64,7 @@ class TxnMallTest(BitcoinTestFramework):
|
|||||||
# Create two spends using 1 50 BTC coin each
|
# Create two spends using 1 50 BTC coin each
|
||||||
txid1 = self.nodes[0].sendfrom("foo", node1_address, 40, 0)
|
txid1 = self.nodes[0].sendfrom("foo", node1_address, 40, 0)
|
||||||
txid2 = self.nodes[0].sendfrom("bar", node1_address, 20, 0)
|
txid2 = self.nodes[0].sendfrom("bar", node1_address, 20, 0)
|
||||||
|
|
||||||
# Have node0 mine a block:
|
# Have node0 mine a block:
|
||||||
if (self.options.mine_block):
|
if (self.options.mine_block):
|
||||||
self.nodes[0].generate(1)
|
self.nodes[0].generate(1)
|
||||||
@ -76,7 +76,8 @@ class TxnMallTest(BitcoinTestFramework):
|
|||||||
# Node0's balance should be starting balance, plus 50BTC for another
|
# Node0's balance should be starting balance, plus 50BTC for another
|
||||||
# matured block, minus 40, minus 20, and minus transaction fees:
|
# matured block, minus 40, minus 20, and minus transaction fees:
|
||||||
expected = starting_balance + fund_foo_tx["fee"] + fund_bar_tx["fee"]
|
expected = starting_balance + fund_foo_tx["fee"] + fund_bar_tx["fee"]
|
||||||
if self.options.mine_block: expected += 50
|
if self.options.mine_block:
|
||||||
|
expected += 50
|
||||||
expected += tx1["amount"] + tx1["fee"]
|
expected += tx1["amount"] + tx1["fee"]
|
||||||
expected += tx2["amount"] + tx2["fee"]
|
expected += tx2["amount"] + tx2["fee"]
|
||||||
assert_equal(self.nodes[0].getbalance(), expected)
|
assert_equal(self.nodes[0].getbalance(), expected)
|
||||||
@ -93,7 +94,7 @@ class TxnMallTest(BitcoinTestFramework):
|
|||||||
else:
|
else:
|
||||||
assert_equal(tx1["confirmations"], 0)
|
assert_equal(tx1["confirmations"], 0)
|
||||||
assert_equal(tx2["confirmations"], 0)
|
assert_equal(tx2["confirmations"], 0)
|
||||||
|
|
||||||
# Now give doublespend and its parents to miner:
|
# Now give doublespend and its parents to miner:
|
||||||
self.nodes[2].sendrawtransaction(fund_foo_tx["hex"])
|
self.nodes[2].sendrawtransaction(fund_foo_tx["hex"])
|
||||||
self.nodes[2].sendrawtransaction(fund_bar_tx["hex"])
|
self.nodes[2].sendrawtransaction(fund_bar_tx["hex"])
|
||||||
|
Loading…
Reference in New Issue
Block a user