diff --git a/build-aux/m4/ax_boost_thread.m4 b/build-aux/m4/ax_boost_thread.m4 --- a/build-aux/m4/ax_boost_thread.m4 +++ b/build-aux/m4/ax_boost_thread.m4 @@ -126,7 +126,7 @@ [link_thread="no"]) done fi - + if test "x$ax_lib" = "x"; then AC_MSG_ERROR(Could not find a version of the boost_thread library!) fi diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -174,7 +174,7 @@ [enable lcov testing (default is no)])], [use_lcov=$enableval], [use_lcov=no]) - + AC_ARG_ENABLE([lcov-branch-coverage], [AS_HELP_STRING([--enable-lcov-branch-coverage], [enable lcov testing branch coverage (default is no)])], diff --git a/contrib/debian/examples/bitcoin.conf b/contrib/debian/examples/bitcoin.conf --- a/contrib/debian/examples/bitcoin.conf +++ b/contrib/debian/examples/bitcoin.conf @@ -1,7 +1,7 @@ ## ## bitcoin.conf configuration file. Lines beginning with # are comments. ## - + # Network-related settings: # Run on the test network instead of the real bitcoin network. @@ -93,7 +93,7 @@ # rpcauth=bob:b2dd077cb54591a2f3139e69a897ac$4e71f08d48b4347cf8eff3815c0e25ae2e9a4340474079f55705f40574f4ec99 # How many seconds bitcoin will wait for a complete RPC HTTP request. -# after the HTTP connection is established. +# after the HTTP connection is established. #rpcclienttimeout=30 # By default, only RPC connections from localhost are allowed. @@ -104,7 +104,7 @@ # because the rpcpassword is transmitted over the network unencrypted. # server=1 tells Bitcoin-Qt to accept JSON-RPC commands. -# it is also read by bitcoind to determine if RPC should be enabled +# it is also read by bitcoind to determine if RPC should be enabled #rpcallowip=10.1.1.34/255.255.255.0 #rpcallowip=1.2.3.4/24 #rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96 @@ -127,11 +127,11 @@ # be validated sooner. #paytxfee=0.00 -# Enable pruning to reduce storage requirements by deleting old blocks. +# Enable pruning to reduce storage requirements by deleting old blocks. # This mode is incompatible with -txindex and -rescan. # 0 = default (no pruning). # 1 = allows manual pruning via RPC. -# >=550 = target to stay under in MiB. +# >=550 = target to stay under in MiB. #prune=550 # User interface options diff --git a/contrib/gitian/Vagrantfile b/contrib/gitian/Vagrantfile --- a/contrib/gitian/Vagrantfile +++ b/contrib/gitian/Vagrantfile @@ -15,12 +15,12 @@ # Uncomment to display the VirtualBox GUI when booting the machine # This may be useful for debugging. #vb.gui = true - + # Customize the amount of memory on the VM: vb.memory = "12288" vb.cpus = 4 end - + # Provision with the associated shell script config.vm.provision "shell", path: "provisioner.sh" end diff --git a/contrib/gitian/provisioner.sh b/contrib/gitian/provisioner.sh --- a/contrib/gitian/provisioner.sh +++ b/contrib/gitian/provisioner.sh @@ -9,7 +9,7 @@ apt-get update apt-get install -y git ruby sudo apt-cacher-ng qemu-utils debootstrap \ - lxc python-cheetah parted kpartx bridge-utils make curl + lxc python-cheetah parted kpartx bridge-utils make curl # the version of lxc-start in Debian needs to run as root, so make sure # that the build script can execute it without providing a password @@ -54,12 +54,12 @@ git config --global user.email "vagrant@vagrant.com" git config --global user.name "vagrant" -chown -R ${BUILDUSER}:${BUILDUSER} /home/${BUILDUSER} +chown -R ${BUILDUSER}:${BUILDUSER} /home/${BUILDUSER} echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" echo "!!! Provisioning Complete !!!!" echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" -echo +echo echo "As the user ${BUILDUSER} run the following commands to produce a linux build:" echo "export COMMIT=v0.18.3" echo "export URL=https://github.com/Bitcoin-ABC/bitcoin-abc.git" diff --git a/contrib/init/bitcoind.openrc b/contrib/init/bitcoind.openrc --- a/contrib/init/bitcoind.openrc +++ b/contrib/init/bitcoind.openrc @@ -1,6 +1,6 @@ #!/sbin/runscript -# backward compatibility for existing gentoo layout +# backward compatibility for existing gentoo layout # if [ -d "/var/lib/bitcoin/.bitcoin" ]; then BITCOIND_DEFAULT_DATADIR="/var/lib/bitcoin/.bitcoin" diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus --- a/contrib/macdeploy/macdeployqtplus +++ b/contrib/macdeploy/macdeployqtplus @@ -40,13 +40,13 @@ self.sourceContentsDirectory = "" self.destinationResourcesDirectory = "" self.destinationVersionContentsDirectory = "" - + def __eq__(self, other): if self.__class__ == other.__class__: return self.__dict__ == other.__dict__ else: return False - + def __str__(self): return """ Framework name: %s Framework directory: %s @@ -70,51 +70,51 @@ self.deployedInstallName, self.sourceFilePath, self.destinationDirectory) - + def isDylib(self): return self.frameworkName.endswith(".dylib") - + def isQtFramework(self): if self.isDylib(): return self.frameworkName.startswith("libQt") else: return self.frameworkName.startswith("Qt") - + reOLine = re.compile(r'^(.+) \(compatibility version [0-9.]+, current version [0-9.]+\)$') bundleFrameworkDirectory = "Contents/Frameworks" bundleBinaryDirectory = "Contents/MacOS" - + @classmethod def fromOtoolLibraryLine(cls, line): # Note: line must be trimmed if line == "": return None - + # Don't deploy system libraries (exception for libQtuitools and libQtlucene). if line.startswith("/System/Library/") or line.startswith("@executable_path") or (line.startswith("/usr/lib/") and "libQt" not in line): return None - + m = cls.reOLine.match(line) if m is None: raise RuntimeError("otool line could not be parsed: " + line) - + path = m.group(1) - + info = cls() info.sourceFilePath = path info.installName = path - + if path.endswith(".dylib"): dirname, filename = os.path.split(path) info.frameworkName = filename info.frameworkDirectory = dirname info.frameworkPath = path - + info.binaryDirectory = dirname info.binaryName = filename info.binaryPath = path info.version = "-" - + info.installName = path info.deployedInstallName = "@executable_path/../Frameworks/" + info.binaryName info.sourceFilePath = path @@ -129,26 +129,26 @@ i += 1 if i == len(parts): raise RuntimeError("Could not find .framework or .dylib in otool line: " + line) - + info.frameworkName = parts[i] info.frameworkDirectory = "/".join(parts[:i]) info.frameworkPath = os.path.join(info.frameworkDirectory, info.frameworkName) - + info.binaryName = parts[i+3] info.binaryDirectory = "/".join(parts[i+1:i+3]) info.binaryPath = os.path.join(info.binaryDirectory, info.binaryName) info.version = parts[i+2] - + info.deployedInstallName = "@executable_path/../Frameworks/" + os.path.join(info.frameworkName, info.binaryPath) info.destinationDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, info.binaryDirectory) - + info.sourceResourcesDirectory = os.path.join(info.frameworkPath, "Resources") info.sourceContentsDirectory = os.path.join(info.frameworkPath, "Contents") info.sourceVersionContentsDirectory = os.path.join(info.frameworkPath, "Versions", info.version, "Contents") info.destinationResourcesDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, "Resources") info.destinationContentsDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, "Contents") info.destinationVersionContentsDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, "Versions", info.version, "Contents") - + return info class ApplicationBundleInfo(object): @@ -166,7 +166,7 @@ self.qtPath = None self.pluginPath = None self.deployedFrameworks = [] - + def detectQtPath(self, frameworkDirectory): parentDir = os.path.dirname(frameworkDirectory) if os.path.exists(os.path.join(parentDir, "translations")): @@ -185,7 +185,7 @@ pluginPath = os.path.join(self.qtPath, "plugins") if os.path.exists(pluginPath): self.pluginPath = pluginPath - + def usesFramework(self, name): nameDot = "%s." % name libNameDot = "lib%s." % name @@ -214,7 +214,7 @@ otoolLines.pop(0) # First line is the inspected binary if ".framework" in binaryPath or binaryPath.endswith(".dylib"): otoolLines.pop(0) # Frameworks and dylibs list themselves as a dependency. - + libraries = [] for line in otoolLines: line = line.replace("@loader_path", os.path.dirname(binaryPath)) @@ -224,7 +224,7 @@ print("Found framework:") print(info) libraries.append(info) - + return libraries def runInstallNameTool(action, *args): @@ -261,16 +261,16 @@ fromPath = framework.sourceFilePath toDir = os.path.join(path, framework.destinationDirectory) toPath = os.path.join(toDir, framework.binaryName) - + if not os.path.exists(fromPath): raise RuntimeError("No file at " + fromPath) - + if os.path.exists(toPath): return None # Already there - + if not os.path.exists(toDir): os.makedirs(toDir) - + shutil.copy2(fromPath, toPath) if verbose >= 3: print("Copied:", fromPath) @@ -313,53 +313,53 @@ if verbose >= 3: print("Copied for libQtGui:", qtMenuNibSourcePath) print(" to:", qtMenuNibDestinationPath) - + return toPath def deployFrameworks(frameworks, bundlePath, binaryPath, strip, verbose, deploymentInfo=None): if deploymentInfo is None: deploymentInfo = DeploymentInfo() - + while len(frameworks) > 0: framework = frameworks.pop(0) deploymentInfo.deployedFrameworks.append(framework.frameworkName) - + if verbose >= 2: print("Processing", framework.frameworkName, "...") - + # Get the Qt path from one of the Qt frameworks if deploymentInfo.qtPath is None and framework.isQtFramework(): deploymentInfo.detectQtPath(framework.frameworkDirectory) - + if framework.installName.startswith("@executable_path") or framework.installName.startswith(bundlePath): if verbose >= 2: print(framework.frameworkName, "already deployed, skipping.") continue - + # install_name_tool the new id into the binary changeInstallName(framework.installName, framework.deployedInstallName, binaryPath, verbose) - + # Copy framework to app bundle. deployedBinaryPath = copyFramework(framework, bundlePath, verbose) # Skip the rest if already was deployed. if deployedBinaryPath is None: continue - + if strip: runStrip(deployedBinaryPath, verbose) - + # install_name_tool it a new id. changeIdentification(framework.deployedInstallName, deployedBinaryPath, verbose) # Check for framework dependencies dependencies = getFrameworks(deployedBinaryPath, verbose) - + for dependency in dependencies: changeInstallName(dependency.installName, dependency.deployedInstallName, deployedBinaryPath, verbose) - + # Deploy framework if necessary. if dependency.frameworkName not in deploymentInfo.deployedFrameworks and dependency not in frameworks: frameworks.append(dependency) - + return deploymentInfo def deployFrameworksForAppBundle(applicationBundle, strip, verbose): @@ -440,30 +440,30 @@ continue plugins.append((pluginDirectory, pluginName)) - + for pluginDirectory, pluginName in plugins: if verbose >= 2: print("Processing plugin", os.path.join(pluginDirectory, pluginName), "...") - + sourcePath = os.path.join(deploymentInfo.pluginPath, pluginDirectory, pluginName) destinationDirectory = os.path.join(appBundleInfo.pluginPath, pluginDirectory) if not os.path.exists(destinationDirectory): os.makedirs(destinationDirectory) - + destinationPath = os.path.join(destinationDirectory, pluginName) shutil.copy2(sourcePath, destinationPath) if verbose >= 3: print("Copied:", sourcePath) print(" to:", destinationPath) - + if strip: runStrip(destinationPath, verbose) - + dependencies = getFrameworks(destinationPath, verbose) - + for dependency in dependencies: changeInstallName(dependency.installName, dependency.deployedInstallName, destinationPath, verbose) - + # Deploy framework if necessary. if dependency.frameworkName not in deploymentInfo.deployedFrameworks: deployFrameworks([dependency], appBundleInfo.path, destinationPath, strip, verbose, deploymentInfo) @@ -541,7 +541,7 @@ if verbose >= 1: sys.stderr.write("Error: Could not import plistlib which is required for fancy disk images.\n") sys.exit(1) - + p = config.fancy[0] if verbose >= 3: print("Fancy: Loading \"%s\"..." % p) @@ -549,14 +549,14 @@ if verbose >= 1: sys.stderr.write("Error: Could not find fancy disk image plist at \"%s\"\n" % (p)) sys.exit(1) - + try: fancy = plistlib.readPlist(p) except: if verbose >= 1: sys.stderr.write("Error: Could not parse fancy disk image plist at \"%s\"\n" % (p)) sys.exit(1) - + try: assert "window_bounds" not in fancy or (isinstance(fancy["window_bounds"], list) and len(fancy["window_bounds"]) == 4) assert "background_picture" not in fancy or isinstance(fancy["background_picture"], str) @@ -570,7 +570,7 @@ if verbose >= 1: sys.stderr.write("Error: Bad format of fancy disk image plist at \"%s\"\n" % (p)) sys.exit(1) - + if "background_picture" in fancy: bp = fancy["background_picture"] if verbose >= 3: @@ -591,7 +591,7 @@ if os.path.exists("dist"): if verbose >= 2: print("+ Removing old dist folder +") - + shutil.rmtree("dist") # ------------------------------------------------ @@ -638,7 +638,7 @@ if config.plugins: if verbose >= 2: print("+ Deploying plugins +") - + try: deployPlugins(applicationBundle, deploymentInfo, config.strip, verbose) except RuntimeError as e: @@ -726,26 +726,26 @@ elif verbose >= 3: hdiutil_args.append("-verbose") run = subprocess.check_call - + for key, value in kwargs.items(): hdiutil_args.append("-" + key) if not value is True: hdiutil_args.append(str(value)) - + return run(hdiutil_args, universal_newlines=True) - + if verbose >= 2: if fancy is None: print("+ Creating .dmg disk image +") else: print("+ Preparing .dmg disk image +") - + if config.dmg != "": dmg_name = config.dmg else: spl = app_bundle_name.split(" ") dmg_name = spl[0] + "".join(p.capitalize() for p in spl[1:]) - + if fancy is None: try: runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname=volname, ov=True) @@ -759,28 +759,28 @@ for file in files: size += os.path.getsize(os.path.join(path, file)) size += int(size * 0.15) - + if verbose >= 3: print("Creating temp image for modification...") try: runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname=volname, ov=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) - + if verbose >= 3: print("Attaching temp image...") try: output = runHDIUtil("attach", dmg_name + ".temp", readwrite=True, noverify=True, noautoopen=True, capture_stdout=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) - + m = re.search("/Volumes/(.+$)", output) disk_root = m.group(0) disk_name = m.group(1) - + if verbose >= 2: print("+ Applying fancy settings +") - + if "background_picture" in fancy: bg_path = os.path.join(disk_root, ".background", os.path.basename(fancy["background_picture"])) os.mkdir(os.path.dirname(bg_path)) @@ -789,10 +789,10 @@ shutil.copy2(fancy["background_picture"], bg_path) else: bg_path = None - + if fancy.get("applications_symlink", False): os.symlink("/Applications", os.path.join(disk_root, "Applications")) - + # The Python appscript package broke with OSX 10.8 and isn't being fixed. # So we now build up an AppleScript string and use the osascript command # to make the .dmg file pretty: @@ -858,12 +858,12 @@ if verbose >= 2: print("+ Finalizing .dmg disk image +") time.sleep(5) - + try: runHDIUtil("convert", dmg_name + ".temp", format="UDBZ", o=dmg_name + ".dmg", ov=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) - + os.unlink(dmg_name + ".temp.dmg") # ------------------------------------------------ diff --git a/contrib/qt/convert-prl-libs-to-cmake.pl b/contrib/qt/convert-prl-libs-to-cmake.pl --- a/contrib/qt/convert-prl-libs-to-cmake.pl +++ b/contrib/qt/convert-prl-libs-to-cmake.pl @@ -47,7 +47,7 @@ # library location. This is especially the case of the plugins wich are # located in a separated 'plugin' directory. # Let the caller set this installation dependent location rather than - # trying to determine it from the given library location. + # trying to determine it from the given library location. "qt_lib_install_dir=s" => \$qt_lib_install_dir, "component=s" => \$component_name, "out=s" => \$out_name, diff --git a/contrib/teamcity/build-configurations.sh b/contrib/teamcity/build-configurations.sh --- a/contrib/teamcity/build-configurations.sh +++ b/contrib/teamcity/build-configurations.sh @@ -27,7 +27,7 @@ THREADS=$(nproc || sysctl -n hw.ncpu) export THREADS - # Base directories for sanitizer related files + # Base directories for sanitizer related files SAN_SUPP_DIR="${TOPLEVEL}/test/sanitizer_suppressions" SAN_LOG_DIR="/tmp/sanitizer_logs" diff --git a/contrib/testgen/README.md b/contrib/testgen/README.md --- a/contrib/testgen/README.md +++ b/contrib/testgen/README.md @@ -2,7 +2,7 @@ Utilities to generate test vectors for the data-driven Bitcoin tests. -Usage: +Usage: gen_base58_test_vectors.py valid 50 > ../../src/test/data/base58_keys_valid.json gen_base58_test_vectors.py invalid 50 > ../../src/test/data/base58_keys_invalid.json \ No newline at end of file diff --git a/share/qt/Info.plist.cmake.in b/share/qt/Info.plist.cmake.in --- a/share/qt/Info.plist.cmake.in +++ b/share/qt/Info.plist.cmake.in @@ -30,7 +30,7 @@ CFBundleExecutable ${MACOSX_BUNDLE_EXECUTABLE_NAME} - + CFBundleName ${MACOSX_BUNDLE_BUNDLE_NAME} @@ -99,7 +99,7 @@ LSAppNapIsDisabled True - + LSApplicationCategoryType public.app-category.finance diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in --- a/share/qt/Info.plist.in +++ b/share/qt/Info.plist.in @@ -30,7 +30,7 @@ CFBundleExecutable BitcoinABC-Qt - + CFBundleName BitcoinABC-Qt @@ -99,7 +99,7 @@ LSAppNapIsDisabled True - + LSApplicationCategoryType public.app-category.finance diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -370,7 +370,7 @@ endif # ENABLE_BIP70 endif # ENABLE_WALLET -RES_IMAGES = +RES_IMAGES = RES_MOVIES = $(wildcard $(srcdir)/qt/res/movies/spinner-*.png) diff --git a/test/functional/rpc_preciousblock.py b/test/functional/rpc_preciousblock.py --- a/test/functional/rpc_preciousblock.py +++ b/test/functional/rpc_preciousblock.py @@ -51,6 +51,7 @@ self.log.info( "Ensure submitblock can in principle reorg to a competing chain") # A non-wallet address to mine to + def gen_address( i): return self.nodes[i].get_deterministic_priv_key().address self.nodes[0].generatetoaddress(1, gen_address(0)) diff --git a/test/lint/lint-python-format-tests.txt b/test/lint/lint-python-format-tests.txt --- a/test/lint/lint-python-format-tests.txt +++ b/test/lint/lint-python-format-tests.txt @@ -1,4 +1,4 @@ -# This file contains python code with % string formatters to test the +# This file contains python code with % string formatters to test the # lint-python-format.py script. # Single line @@ -32,7 +32,7 @@ % ("1", #"4", "2", "3") - + # Inlined comments are not supported # "test %s %s %s" \ # % ("1", #4,