├── .editorconfig ├── .gitattributes ├── .github └── ISSUE_TEMPLATE.md ├── .gitignore ├── .travis.yml ├── .tx └── config ├── Builds-for-testing └── .gitkeep ├── CONTRIBUTING.md ├── COPYING ├── INSTALL.md ├── Makefile.am ├── README.md ├── autogen.sh ├── build-aux └── m4 │ ├── ax_boost_base.m4 │ ├── ax_boost_chrono.m4 │ ├── ax_boost_filesystem.m4 │ ├── ax_boost_system.m4 │ ├── ax_boost_thread.m4 │ ├── ax_boost_unit_test_framework.m4 │ ├── ax_check_compile_flag.m4 │ ├── ax_check_link_flag.m4 │ ├── ax_check_preproc_flag.m4 │ ├── ax_cxx_compile_stdcxx.m4 │ ├── ax_gcc_func_attribute.m4 │ ├── ax_pthread.m4 │ ├── bitcoin_find_bdb48.m4 │ ├── bitcoin_qt.m4 │ ├── bitcoin_subdir_to_include.m4 │ └── l_atomic.m4 ├── build_msvc ├── .gitignore ├── README.md ├── bench_bitcoin │ └── bench_bitcoin.vcxproj ├── bitcoin-cli │ └── bitcoin-cli.vcxproj ├── bitcoin-tx │ └── bitcoin-tx.vcxproj ├── bitcoin.sln ├── bitcoin_config.h ├── bitcoind │ └── bitcoind.vcxproj ├── common.init.vcxproj ├── common.vcxproj ├── libbitcoin_cli │ └── libbitcoin_cli.vcxproj ├── libbitcoin_common │ └── libbitcoin_common.vcxproj ├── libbitcoin_crypto │ └── libbitcoin_crypto.vcxproj ├── libbitcoin_qt │ └── libbitcoin_qt.vcxproj ├── libbitcoin_server │ └── libbitcoin_server.vcxproj ├── libbitcoin_util │ └── libbitcoin_util.vcxproj ├── libbitcoin_wallet │ └── libbitcoin_wallet.vcxproj ├── libbitcoin_zmq │ └── libbitcoin_zmq.vcxproj ├── libbitcoinconsensus │ └── libbitcoinconsensus.vcxproj ├── libunivalue │ └── libunivalue.vcxproj ├── msbuild │ └── tasks │ │ └── hexdump.targets ├── test_bitcoin-qt │ └── test_bitcoin-qt.vcxproj ├── test_bitcoin │ └── test_bitcoin.vcxproj └── testconsensus │ ├── testconsensus.cpp │ └── testconsensus.vcxproj ├── configure.ac ├── contrib ├── README.md ├── bitcoin-cli.bash-completion ├── bitcoin-tx.bash-completion ├── bitcoinc-qt.pro ├── bitcoind.bash-completion ├── debian │ └── copyright ├── devtools │ ├── README.md │ ├── circular-dependencies.py │ ├── clang-format-diff.py │ ├── copyright_header.py │ ├── gen-manpages.sh │ ├── github-merge.py │ ├── optimize-pngs.py │ ├── security-check.py │ ├── split-debug.sh.in │ ├── symbol-check.py │ ├── test-security-check.py │ └── update-translations.py ├── filter-lcov.py ├── gitian-build.py ├── gitian-build.sh ├── gitian-descriptors │ ├── gitian-bitcoinc-desktop.yml │ ├── gitian-linux.yml │ ├── gitian-osx-signer.yml │ ├── gitian-osx.yml │ ├── gitian-win-signer.yml │ └── gitian-win.yml ├── gitian-keys │ ├── README.md │ └── keys.txt ├── init │ ├── README.md │ ├── bitcoincd.service │ ├── bitcoind.conf │ ├── bitcoind.init │ ├── bitcoind.openrc │ ├── bitcoind.openrcconf │ ├── bitcoind.service │ └── org.bitcoin.bitcoind.plist ├── install_db4.sh ├── linearize │ ├── README.md │ ├── example-linearize.cfg │ ├── linearize-data.py │ └── linearize-hashes.py ├── macdeploy │ ├── LICENSE │ ├── README.md │ ├── background.svg │ ├── custom_dsstore.py │ ├── detached-sig-apply.sh │ ├── detached-sig-create.sh │ ├── extract-osx-sdk.sh │ ├── fancy.plist │ └── macdeployqtplus ├── qos │ ├── README.md │ └── tc.sh ├── seeds │ ├── README.md │ ├── generate-seeds.py │ ├── makeseeds.py │ ├── nodes_main.txt │ └── nodes_test.txt ├── testgen │ ├── README.md │ ├── base58.py │ └── gen_base58_test_vectors.py ├── valgrind.supp ├── verify-commits │ ├── README.md │ ├── allow-incorrect-sha512-commits │ ├── allow-revsig-commits │ ├── allow-unclean-merge-commits │ ├── gpg.sh │ ├── pre-push-hook.sh │ ├── trusted-git-root │ ├── trusted-keys │ ├── trusted-sha512-root-commit │ └── verify-commits.py ├── verifybinaries │ ├── README.md │ └── verify.sh ├── windeploy │ ├── detached-sig-create.sh │ └── win-codesign.cert └── zmq │ ├── zmq_sub.py │ └── zmq_sub3.4.py ├── depends ├── .gitignore ├── Makefile ├── README.md ├── builders │ ├── darwin.mk │ ├── default.mk │ └── linux.mk ├── config.guess ├── config.site.in ├── config.sub ├── description.md ├── funcs.mk ├── hosts │ ├── darwin.mk │ ├── default.mk │ ├── linux.mk │ └── mingw32.mk ├── packages.md ├── packages │ ├── bdb.mk │ ├── boost.mk │ ├── dbus.mk │ ├── expat.mk │ ├── fontconfig.mk │ ├── freetype.mk │ ├── hidapi.mk │ ├── libICE.mk │ ├── libSM.mk │ ├── libX11.mk │ ├── libXau.mk │ ├── libXext.mk │ ├── libevent.mk │ ├── libusb.mk │ ├── libxcb.mk │ ├── miniupnpc.mk │ ├── native_biplist.mk │ ├── native_ccache.mk │ ├── native_cctools.mk │ ├── native_cdrkit.mk │ ├── native_ds_store.mk │ ├── native_libdmg-hfsplus.mk │ ├── native_mac_alias.mk │ ├── native_protobuf.mk │ ├── openssl.mk │ ├── packages.mk │ ├── protobuf.mk │ ├── qrencode.mk │ ├── qt.mk │ ├── xcb_proto.mk │ ├── xextproto.mk │ ├── xproto.mk │ ├── xtrans.mk │ ├── zeromq.mk │ └── zlib.mk └── patches │ ├── native_cdrkit │ └── cdrkit-deterministic.patch │ ├── qt │ ├── fix_configure_mac.patch │ ├── fix_no_printer.patch │ ├── fix_qt_pkgconfig.patch │ ├── fix_rcc_determinism.patch │ ├── mac-qmake.conf │ └── xkb-default.patch │ └── zeromq │ ├── 0001-fix-build-with-older-mingw64.patch │ └── 0002-disable-pthread_set_name_np.patch ├── doc ├── .gitignore ├── Doxyfile.in ├── README.md ├── README_osx.md ├── README_windows.txt ├── REST-interface.md ├── assets-attribution.md ├── benchmarking.md ├── bips.md ├── bitcoin_logo_doxygen.png ├── bitcoinc_logo_doxygen.png ├── build-freebsd.md ├── build-netbsd.md ├── build-openbsd.md ├── build-osx.md ├── build-unix.md ├── build-windows.md ├── dependencies.md ├── descriptors.md ├── developer-notes.md ├── dnsseed-policy.md ├── files.md ├── fuzzing.md ├── gitian-building.md ├── gitian-building.md.BACKUP.9019.md ├── gitian-building.md.BASE.9019.md ├── gitian-building.md.LOCAL.9019.md ├── gitian-building.md.REMOTE.9019.md ├── init.md ├── man │ ├── Makefile.am │ ├── bitcoinc-cli.1 │ ├── bitcoinc-qt.1 │ ├── bitcoinc-tx.1 │ └── bitcoincd.1 ├── reduce-traffic.md ├── release-notes-bitcoinc.md ├── release-notes.md ├── release-notes │ ├── release-notes-0.10.0.md │ ├── release-notes-0.10.1.md │ ├── release-notes-0.10.2.md │ ├── release-notes-0.10.3.md │ ├── release-notes-0.10.4.md │ ├── release-notes-0.11.0.md │ ├── release-notes-0.11.1.md │ ├── release-notes-0.11.2.md │ ├── release-notes-0.12.0.md │ ├── release-notes-0.12.1.md │ ├── release-notes-0.13.0.md │ ├── release-notes-0.13.1.md │ ├── release-notes-0.13.2.md │ ├── release-notes-0.14.0.md │ ├── release-notes-0.14.1.md │ ├── release-notes-0.14.2.md │ ├── release-notes-0.15.0.1.md │ ├── release-notes-0.15.0.2.md │ ├── release-notes-0.15.0.md │ ├── release-notes-0.15.1.md │ ├── release-notes-0.16.0.1.md │ ├── release-notes-0.16.0.md │ ├── release-notes-0.16.1.md │ ├── release-notes-0.16.2.md │ ├── release-notes-0.17.0.1.md │ ├── release-notes-0.3.12.md │ ├── release-notes-0.3.13.md │ ├── release-notes-0.3.14.md │ ├── release-notes-0.3.15.md │ ├── release-notes-0.3.16.md │ ├── release-notes-0.3.17.md │ ├── release-notes-0.3.18.md │ ├── release-notes-0.3.19.md │ ├── release-notes-0.3.20.1.md │ ├── release-notes-0.3.20.2.md │ ├── release-notes-0.3.20.md │ ├── release-notes-0.3.21.md │ ├── release-notes-0.3.22.md │ ├── release-notes-0.3.23.md │ ├── release-notes-0.3.24.md │ ├── release-notes-0.4.0.md │ ├── release-notes-0.4.1.md │ ├── release-notes-0.4.2.md │ ├── release-notes-0.4.3.md │ ├── release-notes-0.4.4.md │ ├── release-notes-0.4.5.md │ ├── release-notes-0.4.6.md │ ├── release-notes-0.5.0.md │ ├── release-notes-0.5.1.md │ ├── release-notes-0.5.2.md │ ├── release-notes-0.5.3.md │ ├── release-notes-0.5.4.md │ ├── release-notes-0.5.5.md │ ├── release-notes-0.6.0.md │ ├── release-notes-0.6.1.md │ ├── release-notes-0.6.2.md │ ├── release-notes-0.6.3.md │ ├── release-notes-0.7.0.md │ ├── release-notes-0.7.1.md │ ├── release-notes-0.7.2.md │ ├── release-notes-0.8.0.md │ ├── release-notes-0.8.1.md │ ├── release-notes-0.8.2.md │ ├── release-notes-0.8.3.md │ ├── release-notes-0.8.4.md │ ├── release-notes-0.8.5.md │ ├── release-notes-0.8.6.md │ ├── release-notes-0.9.0.md │ ├── release-notes-0.9.1.md │ ├── release-notes-0.9.2.1.md │ ├── release-notes-0.9.2.md │ ├── release-notes-0.9.3.md │ ├── release-notes-0.9.4.md │ └── release-notes-0.9.5.md ├── release-process.md ├── shared-libraries.md ├── tor.md ├── translation_process.md ├── translation_strings_policy.md ├── travis-ci.md ├── unit-tests.md └── zmq.md ├── libbitcoincconsensus.pc.in ├── share ├── examples │ └── bitcoin.conf ├── genbuild.sh ├── pixmaps │ ├── bitcoin.ico │ ├── bitcoin128.png │ ├── bitcoin128.xpm │ ├── bitcoin16.png │ ├── bitcoin16.xpm │ ├── bitcoin256.png │ ├── bitcoin256.xpm │ ├── bitcoin32.png │ ├── bitcoin32.xpm │ ├── bitcoin64.png │ ├── bitcoin64.xpm │ ├── bitcoinc.ico │ ├── nsis-header.bmp │ └── nsis-wizard.bmp ├── qt │ ├── Info.plist.in │ └── extract_strings_qt.py ├── rpcauth │ ├── README.md │ └── rpcauth.py └── setup.nsi.in ├── src ├── .clang-format ├── Makefile.am ├── Makefile.bench.include ├── Makefile.leveldb.include ├── Makefile.qt.include ├── Makefile.qttest.include ├── Makefile.test.include ├── addrdb.cpp ├── addrdb.h ├── addrman.cpp ├── addrman.h ├── amount.h ├── anon.cpp ├── anon.h ├── arith_uint256.cpp ├── arith_uint256.h ├── base58.cpp ├── base58.h ├── bech32.cpp ├── bech32.h ├── bench │ ├── .gitignore │ ├── base58.cpp │ ├── bech32.cpp │ ├── bench.cpp │ ├── bench.h │ ├── bench_bitcoin.cpp │ ├── blind.cpp │ ├── block_assemble.cpp │ ├── ccoins_caching.cpp │ ├── checkblock.cpp │ ├── checkqueue.cpp │ ├── coin_selection.cpp │ ├── crypto_hash.cpp │ ├── data │ │ └── block413567.raw │ ├── examples.cpp │ ├── lockedpool.cpp │ ├── mempool_eviction.cpp │ ├── merkle_root.cpp │ ├── mlsag.cpp │ ├── prevector.cpp │ ├── rollingbloom.cpp │ └── verify_script.cpp ├── bitcoin-cli-res.rc ├── bitcoin-cli.cpp ├── bitcoin-tx-res.rc ├── bitcoin-tx.cpp ├── bitcoind-res.rc ├── bitcoind.cpp ├── blind.cpp ├── blind.h ├── blockencodings.cpp ├── blockencodings.h ├── bloom.cpp ├── bloom.h ├── chain.cpp ├── chain.h ├── chainparams.cpp ├── chainparams.h ├── chainparamsbase.cpp ├── chainparamsbase.h ├── chainparamsimport.h ├── chainparamsseeds.h ├── checkpoints.cpp ├── checkpoints.h ├── checkqueue.h ├── clientversion.cpp ├── clientversion.h ├── coins.cpp ├── coins.h ├── compat.h ├── compat │ ├── byteswap.h │ ├── endian.h │ ├── glibc_compat.cpp │ ├── glibc_sanity.cpp │ ├── glibcxx_sanity.cpp │ ├── sanity.h │ └── strnlen.cpp ├── compressor.cpp ├── compressor.h ├── config │ └── .empty ├── consensus │ ├── consensus.h │ ├── merkle.cpp │ ├── merkle.h │ ├── params.h │ ├── tx_verify.cpp │ ├── tx_verify.h │ └── validation.h ├── core_io.h ├── core_memusage.h ├── core_read.cpp ├── core_write.cpp ├── crypto │ ├── aes.cpp │ ├── aes.h │ ├── chacha20.cpp │ ├── chacha20.h │ ├── common.h │ ├── ctaes │ │ ├── COPYING │ │ ├── README.md │ │ ├── bench.c │ │ ├── ctaes.c │ │ ├── ctaes.h │ │ └── test.c │ ├── hmac_sha256.cpp │ ├── hmac_sha256.h │ ├── hmac_sha512.cpp │ ├── hmac_sha512.h │ ├── keccak.c │ ├── ripemd160.cpp │ ├── ripemd160.h │ ├── sha1.cpp │ ├── sha1.h │ ├── sha256.cpp │ ├── sha256.h │ ├── sha256_avx2.cpp │ ├── sha256_shani.cpp │ ├── sha256_sse4.cpp │ ├── sha256_sse41.cpp │ ├── sha512.cpp │ ├── sha512.h │ ├── sph_keccak.h │ └── sph_types.h ├── cuckoocache.h ├── dbwrapper.cpp ├── dbwrapper.h ├── fs.cpp ├── fs.h ├── hash.cpp ├── hash.h ├── httprpc.cpp ├── httprpc.h ├── httpserver.cpp ├── httpserver.h ├── index │ ├── base.cpp │ ├── base.h │ ├── txindex.cpp │ └── txindex.h ├── indirectmap.h ├── init.cpp ├── init.h ├── insight │ ├── addressindex.h │ ├── csindex.h │ ├── insight.cpp │ ├── insight.h │ ├── rpc.cpp │ ├── rpc.h │ ├── spentindex.h │ └── timestampindex.h ├── interfaces │ ├── README.md │ ├── handler.cpp │ ├── handler.h │ ├── node.cpp │ ├── node.h │ ├── wallet.cpp │ └── wallet.h ├── key.cpp ├── key.h ├── key │ ├── extkey.cpp │ ├── extkey.h │ ├── keyutil.cpp │ ├── keyutil.h │ ├── mnemonic.cpp │ ├── mnemonic.h │ ├── stealth.cpp │ ├── stealth.h │ ├── types.h │ └── wordlists │ │ ├── chinese_simplified.h │ │ ├── chinese_traditional.h │ │ ├── english.h │ │ ├── french.h │ │ ├── italian.h │ │ ├── japanese.h │ │ ├── korean.h │ │ └── spanish.h ├── key_io.cpp ├── key_io.h ├── keystore.cpp ├── keystore.h ├── leveldb │ ├── .gitignore │ ├── .travis.yml │ ├── AUTHORS │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── Makefile │ ├── NEWS │ ├── README.md │ ├── TODO │ ├── WINDOWS.md │ ├── build_detect_platform │ ├── db │ │ ├── autocompact_test.cc │ │ ├── builder.cc │ │ ├── builder.h │ │ ├── c.cc │ │ ├── c_test.c │ │ ├── corruption_test.cc │ │ ├── db_bench.cc │ │ ├── db_impl.cc │ │ ├── db_impl.h │ │ ├── db_iter.cc │ │ ├── db_iter.h │ │ ├── db_test.cc │ │ ├── dbformat.cc │ │ ├── dbformat.h │ │ ├── dbformat_test.cc │ │ ├── dumpfile.cc │ │ ├── fault_injection_test.cc │ │ ├── filename.cc │ │ ├── filename.h │ │ ├── filename_test.cc │ │ ├── leveldbutil.cc │ │ ├── log_format.h │ │ ├── log_reader.cc │ │ ├── log_reader.h │ │ ├── log_test.cc │ │ ├── log_writer.cc │ │ ├── log_writer.h │ │ ├── memtable.cc │ │ ├── memtable.h │ │ ├── recovery_test.cc │ │ ├── repair.cc │ │ ├── skiplist.h │ │ ├── skiplist_test.cc │ │ ├── snapshot.h │ │ ├── table_cache.cc │ │ ├── table_cache.h │ │ ├── version_edit.cc │ │ ├── version_edit.h │ │ ├── version_edit_test.cc │ │ ├── version_set.cc │ │ ├── version_set.h │ │ ├── version_set_test.cc │ │ ├── write_batch.cc │ │ ├── write_batch_internal.h │ │ └── write_batch_test.cc │ ├── doc │ │ ├── bench │ │ │ ├── db_bench_sqlite3.cc │ │ │ └── db_bench_tree_db.cc │ │ ├── benchmark.html │ │ ├── impl.md │ │ ├── index.md │ │ ├── log_format.md │ │ └── table_format.md │ ├── helpers │ │ └── memenv │ │ │ ├── memenv.cc │ │ │ ├── memenv.h │ │ │ └── memenv_test.cc │ ├── include │ │ └── leveldb │ │ │ ├── c.h │ │ │ ├── cache.h │ │ │ ├── comparator.h │ │ │ ├── db.h │ │ │ ├── dumpfile.h │ │ │ ├── env.h │ │ │ ├── filter_policy.h │ │ │ ├── iterator.h │ │ │ ├── options.h │ │ │ ├── slice.h │ │ │ ├── status.h │ │ │ ├── table.h │ │ │ ├── table_builder.h │ │ │ └── write_batch.h │ ├── issues │ │ ├── issue178_test.cc │ │ └── issue200_test.cc │ ├── port │ │ ├── README │ │ ├── atomic_pointer.h │ │ ├── port.h │ │ ├── port_example.h │ │ ├── port_posix.cc │ │ ├── port_posix.h │ │ ├── port_posix_sse.cc │ │ ├── port_win.cc │ │ ├── port_win.h │ │ ├── thread_annotations.h │ │ └── win │ │ │ └── stdint.h │ ├── table │ │ ├── block.cc │ │ ├── block.h │ │ ├── block_builder.cc │ │ ├── block_builder.h │ │ ├── filter_block.cc │ │ ├── filter_block.h │ │ ├── filter_block_test.cc │ │ ├── format.cc │ │ ├── format.h │ │ ├── iterator.cc │ │ ├── iterator_wrapper.h │ │ ├── merger.cc │ │ ├── merger.h │ │ ├── table.cc │ │ ├── table_builder.cc │ │ ├── table_test.cc │ │ ├── two_level_iterator.cc │ │ └── two_level_iterator.h │ └── util │ │ ├── arena.cc │ │ ├── arena.h │ │ ├── arena_test.cc │ │ ├── bloom.cc │ │ ├── bloom_test.cc │ │ ├── cache.cc │ │ ├── cache_test.cc │ │ ├── coding.cc │ │ ├── coding.h │ │ ├── coding_test.cc │ │ ├── comparator.cc │ │ ├── crc32c.cc │ │ ├── crc32c.h │ │ ├── crc32c_test.cc │ │ ├── env.cc │ │ ├── env_posix.cc │ │ ├── env_posix_test.cc │ │ ├── env_posix_test_helper.h │ │ ├── env_test.cc │ │ ├── env_win.cc │ │ ├── filter_policy.cc │ │ ├── hash.cc │ │ ├── hash.h │ │ ├── hash_test.cc │ │ ├── histogram.cc │ │ ├── histogram.h │ │ ├── logging.cc │ │ ├── logging.h │ │ ├── mutexlock.h │ │ ├── options.cc │ │ ├── posix_logger.h │ │ ├── random.h │ │ ├── status.cc │ │ ├── testharness.cc │ │ ├── testharness.h │ │ ├── testutil.cc │ │ └── testutil.h ├── limitedmap.h ├── logging.cpp ├── logging.h ├── lz4 │ ├── LICENSE │ ├── lz4.c │ └── lz4.h ├── memusage.h ├── merkleblock.cpp ├── merkleblock.h ├── miner.cpp ├── miner.h ├── net.cpp ├── net.h ├── net_processing.cpp ├── net_processing.h ├── netaddress.cpp ├── netaddress.h ├── netbase.cpp ├── netbase.h ├── netmessagemaker.h ├── noui.cpp ├── noui.h ├── obj-test │ └── .gitignore ├── obj │ └── .gitignore ├── outputtype.cpp ├── outputtype.h ├── policy │ ├── feerate.cpp │ ├── feerate.h │ ├── fees.cpp │ ├── fees.h │ ├── policy.cpp │ ├── policy.h │ ├── rbf.cpp │ └── rbf.h ├── pos │ ├── kernel.cpp │ ├── kernel.h │ ├── miner.cpp │ └── miner.h ├── pow.cpp ├── pow.h ├── prevector.h ├── primitives │ ├── block.cpp │ ├── block.h │ ├── transaction.cpp │ └── transaction.h ├── protocol.cpp ├── protocol.h ├── pubkey.cpp ├── pubkey.h ├── qt │ ├── Makefile │ ├── README.md │ ├── addressbookpage.cpp │ ├── addressbookpage.h │ ├── addresstablemodel.cpp │ ├── addresstablemodel.h │ ├── askpassphrasedialog.cpp │ ├── askpassphrasedialog.h │ ├── bantablemodel.cpp │ ├── bantablemodel.h │ ├── bitcoin.cpp │ ├── bitcoin.qrc │ ├── bitcoin_locale.qrc │ ├── bitcoinaddressvalidator.cpp │ ├── bitcoinaddressvalidator.h │ ├── bitcoinamountfield.cpp │ ├── bitcoinamountfield.h │ ├── bitcoingui.cpp │ ├── bitcoingui.h │ ├── bitcoinstrings.cpp │ ├── bitcoinunits.cpp │ ├── bitcoinunits.h │ ├── callback.h │ ├── clientmodel.cpp │ ├── clientmodel.h │ ├── coincontroldialog.cpp │ ├── coincontroldialog.h │ ├── coincontroltreewidget.cpp │ ├── coincontroltreewidget.h │ ├── csvmodelwriter.cpp │ ├── csvmodelwriter.h │ ├── editaddressdialog.cpp │ ├── editaddressdialog.h │ ├── forms │ │ ├── addressbookpage.ui │ │ ├── askpassphrasedialog.ui │ │ ├── coincontroldialog.ui │ │ ├── debugwindow.ui │ │ ├── editaddressdialog.ui │ │ ├── helpmessagedialog.ui │ │ ├── intro.ui │ │ ├── mnemonicdialog.ui │ │ ├── modaloverlay.ui │ │ ├── openuridialog.ui │ │ ├── optionsdialog.ui │ │ ├── overviewpage.ui │ │ ├── receivecoinsdialog.ui │ │ ├── receiverequestdialog.ui │ │ ├── sendcoinsdialog.ui │ │ ├── sendcoinsentry.ui │ │ ├── signverifymessagedialog.ui │ │ ├── stakingdialog.ui │ │ └── transactiondescdialog.ui │ ├── guiconstants.h │ ├── guiutil.cpp │ ├── guiutil.h │ ├── intro.cpp │ ├── intro.h │ ├── locale │ │ ├── bitcoin_af.ts │ │ ├── bitcoin_af_ZA.ts │ │ ├── bitcoin_am.ts │ │ ├── bitcoin_ar.ts │ │ ├── bitcoin_be_BY.ts │ │ ├── bitcoin_bg.ts │ │ ├── bitcoin_bg_BG.ts │ │ ├── bitcoin_bn.ts │ │ ├── bitcoin_bs.ts │ │ ├── bitcoin_ca.ts │ │ ├── bitcoin_ca@valencia.ts │ │ ├── bitcoin_ca_ES.ts │ │ ├── bitcoin_cs.ts │ │ ├── bitcoin_cs_CZ.ts │ │ ├── bitcoin_cy.ts │ │ ├── bitcoin_da.ts │ │ ├── bitcoin_de.ts │ │ ├── bitcoin_de_DE.ts │ │ ├── bitcoin_el.ts │ │ ├── bitcoin_el_GR.ts │ │ ├── bitcoin_en.ts │ │ ├── bitcoin_en_AU.ts │ │ ├── bitcoin_en_GB.ts │ │ ├── bitcoin_en_US.ts │ │ ├── bitcoin_eo.ts │ │ ├── bitcoin_es.ts │ │ ├── bitcoin_es_419.ts │ │ ├── bitcoin_es_AR.ts │ │ ├── bitcoin_es_CL.ts │ │ ├── bitcoin_es_CO.ts │ │ ├── bitcoin_es_DO.ts │ │ ├── bitcoin_es_ES.ts │ │ ├── bitcoin_es_MX.ts │ │ ├── bitcoin_es_UY.ts │ │ ├── bitcoin_es_VE.ts │ │ ├── bitcoin_et.ts │ │ ├── bitcoin_et_EE.ts │ │ ├── bitcoin_eu_ES.ts │ │ ├── bitcoin_fa.ts │ │ ├── bitcoin_fa_IR.ts │ │ ├── bitcoin_fi.ts │ │ ├── bitcoin_fr.ts │ │ ├── bitcoin_fr_CA.ts │ │ ├── bitcoin_fr_FR.ts │ │ ├── bitcoin_gl.ts │ │ ├── bitcoin_he.ts │ │ ├── bitcoin_he_IL.ts │ │ ├── bitcoin_hi_IN.ts │ │ ├── bitcoin_hr.ts │ │ ├── bitcoin_hu.ts │ │ ├── bitcoin_hu_HU.ts │ │ ├── bitcoin_id.ts │ │ ├── bitcoin_id_ID.ts │ │ ├── bitcoin_is.ts │ │ ├── bitcoin_it.ts │ │ ├── bitcoin_it_IT.ts │ │ ├── bitcoin_ja.ts │ │ ├── bitcoin_ja_JP.ts │ │ ├── bitcoin_ka.ts │ │ ├── bitcoin_kk_KZ.ts │ │ ├── bitcoin_km_KH.ts │ │ ├── bitcoin_ko.ts │ │ ├── bitcoin_ko_KR.ts │ │ ├── bitcoin_ku_IQ.ts │ │ ├── bitcoin_ky.ts │ │ ├── bitcoin_la.ts │ │ ├── bitcoin_lt.ts │ │ ├── bitcoin_lv_LV.ts │ │ ├── bitcoin_mk_MK.ts │ │ ├── bitcoin_ml.ts │ │ ├── bitcoin_mn.ts │ │ ├── bitcoin_mr_IN.ts │ │ ├── bitcoin_ms.ts │ │ ├── bitcoin_ms_MY.ts │ │ ├── bitcoin_my.ts │ │ ├── bitcoin_nb.ts │ │ ├── bitcoin_nb_NO.ts │ │ ├── bitcoin_ne.ts │ │ ├── bitcoin_nl.ts │ │ ├── bitcoin_nl_NL.ts │ │ ├── bitcoin_pam.ts │ │ ├── bitcoin_pl.ts │ │ ├── bitcoin_pl_PL.ts │ │ ├── bitcoin_pt.ts │ │ ├── bitcoin_pt_BR.ts │ │ ├── bitcoin_pt_PT.ts │ │ ├── bitcoin_ro.ts │ │ ├── bitcoin_ro_RO.ts │ │ ├── bitcoin_ru.ts │ │ ├── bitcoin_ru_RU.ts │ │ ├── bitcoin_si.ts │ │ ├── bitcoin_sk.ts │ │ ├── bitcoin_sl_SI.ts │ │ ├── bitcoin_sn.ts │ │ ├── bitcoin_sq.ts │ │ ├── bitcoin_sr.ts │ │ ├── bitcoin_sr@latin.ts │ │ ├── bitcoin_sv.ts │ │ ├── bitcoin_ta.ts │ │ ├── bitcoin_ta_IN.ts │ │ ├── bitcoin_te.ts │ │ ├── bitcoin_th.ts │ │ ├── bitcoin_th_TH.ts │ │ ├── bitcoin_tr.ts │ │ ├── bitcoin_tr_TR.ts │ │ ├── bitcoin_uk.ts │ │ ├── bitcoin_ur_PK.ts │ │ ├── bitcoin_uz@Cyrl.ts │ │ ├── bitcoin_vi.ts │ │ ├── bitcoin_vi_VN.ts │ │ ├── bitcoin_zh-Hans.ts │ │ ├── bitcoin_zh.ts │ │ ├── bitcoin_zh_CN.ts │ │ ├── bitcoin_zh_HK.ts │ │ └── bitcoin_zh_TW.ts │ ├── macdockiconhandler.h │ ├── macdockiconhandler.mm │ ├── macnotificationhandler.h │ ├── macnotificationhandler.mm │ ├── mnemonicdialog.cpp │ ├── mnemonicdialog.h │ ├── modaloverlay.cpp │ ├── modaloverlay.h │ ├── networkstyle.cpp │ ├── networkstyle.h │ ├── notificator.cpp │ ├── notificator.h │ ├── openuridialog.cpp │ ├── openuridialog.h │ ├── optionsdialog.cpp │ ├── optionsdialog.h │ ├── optionsmodel.cpp │ ├── optionsmodel.h │ ├── overviewpage.cpp │ ├── overviewpage.h │ ├── paymentrequest.proto │ ├── paymentrequestplus.cpp │ ├── paymentrequestplus.h │ ├── paymentserver.cpp │ ├── paymentserver.h │ ├── peertablemodel.cpp │ ├── peertablemodel.h │ ├── platformstyle.cpp │ ├── platformstyle.h │ ├── qvalidatedlineedit.cpp │ ├── qvalidatedlineedit.h │ ├── qvaluecombobox.cpp │ ├── qvaluecombobox.h │ ├── receivecoinsdialog.cpp │ ├── receivecoinsdialog.h │ ├── receiverequestdialog.cpp │ ├── receiverequestdialog.h │ ├── recentrequeststablemodel.cpp │ ├── recentrequeststablemodel.h │ ├── res │ │ ├── bitcoin-qt-res.rc │ │ ├── css │ │ │ └── default.css │ │ ├── fonts │ │ │ ├── Lato │ │ │ │ ├── Lato-Black.ttf │ │ │ │ ├── Lato-Bold.ttf │ │ │ │ ├── Lato-Hairline.ttf │ │ │ │ ├── Lato-Italic.ttf │ │ │ │ ├── Lato-Light.ttf │ │ │ │ ├── Lato-Regular.ttf │ │ │ │ └── OFL.txt │ │ │ └── Montserrat │ │ │ │ ├── Montserrat-Bold.ttf │ │ │ │ ├── Montserrat-ExtraLight.ttf │ │ │ │ ├── Montserrat-Italic.ttf │ │ │ │ ├── Montserrat-Light.ttf │ │ │ │ ├── Montserrat-Medium.ttf │ │ │ │ ├── Montserrat-Regular.ttf │ │ │ │ ├── Montserrat-Thin.ttf │ │ │ │ └── OFL.txt │ │ ├── icons │ │ │ ├── about.png │ │ │ ├── about_qt.png │ │ │ ├── add.png │ │ │ ├── add_recipient.png │ │ │ ├── address-book.png │ │ │ ├── bitcoin.icns │ │ │ ├── bitcoin.ico │ │ │ ├── bitcoin.png │ │ │ ├── bitcoin_testnet.ico │ │ │ ├── bitcoinc.icns │ │ │ ├── bitcoinc.ico │ │ │ ├── bitcoinc.png │ │ │ ├── bitcoinc_testnet.ico │ │ │ ├── chevron.png │ │ │ ├── clock1.png │ │ │ ├── clock2.png │ │ │ ├── clock3.png │ │ │ ├── clock4.png │ │ │ ├── clock5.png │ │ │ ├── configure.png │ │ │ ├── connect0.png │ │ │ ├── connect1.png │ │ │ ├── connect2.png │ │ │ ├── debugwindow.png │ │ │ ├── edit.png │ │ │ ├── editcopy.png │ │ │ ├── editpaste.png │ │ │ ├── export.png │ │ │ ├── eye.png │ │ │ ├── eye_minus.png │ │ │ ├── eye_plus.png │ │ │ ├── filesave.png │ │ │ ├── fontbigger.png │ │ │ ├── fontsmaller.png │ │ │ ├── hd_disabled.png │ │ │ ├── hd_enabled.png │ │ │ ├── history.png │ │ │ ├── info.png │ │ │ ├── key.png │ │ │ ├── lock_closed.png │ │ │ ├── lock_open.png │ │ │ ├── network_disabled.png │ │ │ ├── open.png │ │ │ ├── overview.png │ │ │ ├── privacy.png │ │ │ ├── proxy.png │ │ │ ├── quit.png │ │ │ ├── receive.png │ │ │ ├── remove.png │ │ │ ├── send.png │ │ │ ├── smartcash.png │ │ │ ├── staking.png │ │ │ ├── synced.png │ │ │ ├── transaction0.png │ │ │ ├── transaction2.png │ │ │ ├── transaction_abandoned.png │ │ │ ├── transaction_conflicted.png │ │ │ ├── tx_inout.png │ │ │ ├── tx_input.png │ │ │ ├── tx_mined.png │ │ │ ├── tx_output.png │ │ │ ├── verify.png │ │ │ └── warning.png │ │ ├── images │ │ │ ├── checkbox_checked.png │ │ │ ├── checkbox_checked_hover.png │ │ │ ├── checkbox_checked_pressed.png │ │ │ ├── checkbox_disabled.png │ │ │ ├── checkbox_disabled_checked.png │ │ │ ├── checkbox_normal.png │ │ │ ├── checkbox_normal_hover.png │ │ │ ├── checkbox_normal_pressed.png │ │ │ ├── checkbox_partly_checked.png │ │ │ ├── downArrow_hover.png │ │ │ ├── downArrow_hover_small.png │ │ │ ├── downArrow_normal.png │ │ │ ├── downArrow_normal_small.png │ │ │ ├── radio_checked.png │ │ │ ├── radio_checked_hover.png │ │ │ ├── radio_checked_pressed.png │ │ │ ├── radio_disabled.png │ │ │ ├── radio_disabled_checked.png │ │ │ ├── radio_normal.png │ │ │ ├── radio_normal_hover.png │ │ │ ├── radio_normal_pressed.png │ │ │ ├── rightArrow_hover.png │ │ │ ├── rightArrow_hover_small.png │ │ │ ├── rightArrow_normal.png │ │ │ ├── rightArrow_normal_small.png │ │ │ ├── upArrow_hover.png │ │ │ ├── upArrow_hover_small.png │ │ │ ├── upArrow_normal.png │ │ │ └── upArrow_normal_small.png │ │ ├── movies │ │ │ ├── makespinner.sh │ │ │ ├── spinner-000.png │ │ │ ├── spinner-001.png │ │ │ ├── spinner-002.png │ │ │ ├── spinner-003.png │ │ │ ├── spinner-004.png │ │ │ ├── spinner-005.png │ │ │ ├── spinner-006.png │ │ │ ├── spinner-007.png │ │ │ ├── spinner-008.png │ │ │ ├── spinner-009.png │ │ │ ├── spinner-010.png │ │ │ ├── spinner-011.png │ │ │ ├── spinner-012.png │ │ │ ├── spinner-013.png │ │ │ ├── spinner-014.png │ │ │ ├── spinner-015.png │ │ │ ├── spinner-016.png │ │ │ ├── spinner-017.png │ │ │ ├── spinner-018.png │ │ │ ├── spinner-019.png │ │ │ ├── spinner-020.png │ │ │ ├── spinner-021.png │ │ │ ├── spinner-022.png │ │ │ ├── spinner-023.png │ │ │ ├── spinner-024.png │ │ │ ├── spinner-025.png │ │ │ ├── spinner-026.png │ │ │ ├── spinner-027.png │ │ │ ├── spinner-028.png │ │ │ ├── spinner-029.png │ │ │ ├── spinner-030.png │ │ │ ├── spinner-031.png │ │ │ ├── spinner-032.png │ │ │ ├── spinner-033.png │ │ │ ├── spinner-034.png │ │ │ └── spinner-035.png │ │ └── src │ │ │ ├── address-book.svg │ │ │ ├── bitcoin.svg │ │ │ ├── check-square.svg │ │ │ ├── clock_0.svg │ │ │ ├── clock_1.svg │ │ │ ├── clock_2.svg │ │ │ ├── clock_3.svg │ │ │ ├── clock_4.svg │ │ │ ├── cog.svg │ │ │ ├── connect-0.svg │ │ │ ├── connect-1.svg │ │ │ ├── connect-2.svg │ │ │ ├── connect-3.svg │ │ │ ├── connect-4.svg │ │ │ ├── copy.svg │ │ │ ├── dot-circle.svg │ │ │ ├── edit.svg │ │ │ ├── eye.svg │ │ │ ├── hd_disabled.svg │ │ │ ├── hd_enabled.svg │ │ │ ├── lock-open.svg │ │ │ ├── lock.svg │ │ │ ├── mine.svg │ │ │ ├── network_disabled.svg │ │ │ ├── paste.svg │ │ │ ├── proxy.svg │ │ │ ├── qt.svg │ │ │ ├── spinner.png │ │ │ ├── spinner.svg │ │ │ ├── transaction0.svg │ │ │ ├── tx_in.svg │ │ │ ├── tx_inout.svg │ │ │ ├── user-plus.svg │ │ │ ├── user-secret.svg │ │ │ ├── verify.svg │ │ │ └── wifi.svg │ ├── rpcconsole.cpp │ ├── rpcconsole.h │ ├── sendcoinsdialog.cpp │ ├── sendcoinsdialog.h │ ├── sendcoinsentry.cpp │ ├── sendcoinsentry.h │ ├── signverifymessagedialog.cpp │ ├── signverifymessagedialog.h │ ├── splashscreen.cpp │ ├── splashscreen.h │ ├── stakingdialog.cpp │ ├── stakingdialog.h │ ├── test │ │ ├── Makefile │ │ ├── addressbooktests.cpp │ │ ├── addressbooktests.h │ │ ├── compattests.cpp │ │ ├── compattests.h │ │ ├── paymentrequestdata.h │ │ ├── paymentservertests.cpp │ │ ├── paymentservertests.h │ │ ├── rpcnestedtests.cpp │ │ ├── rpcnestedtests.h │ │ ├── test_main.cpp │ │ ├── uritests.cpp │ │ ├── uritests.h │ │ ├── util.cpp │ │ ├── util.h │ │ ├── wallettests.cpp │ │ └── wallettests.h │ ├── trafficgraphwidget.cpp │ ├── trafficgraphwidget.h │ ├── transactiondesc.cpp │ ├── transactiondesc.h │ ├── transactiondescdialog.cpp │ ├── transactiondescdialog.h │ ├── transactionfilterproxy.cpp │ ├── transactionfilterproxy.h │ ├── transactionrecord.cpp │ ├── transactionrecord.h │ ├── transactiontablemodel.cpp │ ├── transactiontablemodel.h │ ├── transactionview.cpp │ ├── transactionview.h │ ├── utilitydialog.cpp │ ├── utilitydialog.h │ ├── walletframe.cpp │ ├── walletframe.h │ ├── walletmodel.cpp │ ├── walletmodel.h │ ├── walletmodeltransaction.cpp │ ├── walletmodeltransaction.h │ ├── walletview.cpp │ ├── walletview.h │ ├── winshutdownmonitor.cpp │ └── winshutdownmonitor.h ├── random.cpp ├── random.h ├── rctindex.h ├── rest.cpp ├── reverse_iterator.h ├── reverselock.h ├── rpc │ ├── anon.cpp │ ├── blockchain.cpp │ ├── blockchain.h │ ├── client.cpp │ ├── client.h │ ├── mining.cpp │ ├── mining.h │ ├── misc.cpp │ ├── mnemonic.cpp │ ├── net.cpp │ ├── protocol.cpp │ ├── protocol.h │ ├── rawtransaction.cpp │ ├── rawtransaction.h │ ├── register.h │ ├── rpcutil.cpp │ ├── rpcutil.h │ ├── server.cpp │ ├── server.h │ ├── util.cpp │ └── util.h ├── scheduler.cpp ├── scheduler.h ├── script │ ├── bitcoincconsensus.h │ ├── bitcoinconsensus.cpp │ ├── descriptor.cpp │ ├── descriptor.h │ ├── interpreter.cpp │ ├── interpreter.h │ ├── ismine.cpp │ ├── ismine.h │ ├── script.cpp │ ├── script.h │ ├── script_error.cpp │ ├── script_error.h │ ├── sigcache.cpp │ ├── sigcache.h │ ├── sign.cpp │ ├── sign.h │ ├── standard.cpp │ └── standard.h ├── secp256k1 │ ├── .gitignore │ ├── .travis.yml │ ├── COPYING │ ├── Makefile.am │ ├── README.md │ ├── TODO │ ├── autogen.sh │ ├── build-aux │ │ └── m4 │ │ │ ├── ax_jni_include_dir.m4 │ │ │ ├── ax_prog_cc_for_build.m4 │ │ │ └── bitcoin_secp.m4 │ ├── configure.ac │ ├── contrib │ │ ├── lax_der_parsing.c │ │ ├── lax_der_parsing.h │ │ ├── lax_der_privatekey_parsing.c │ │ └── lax_der_privatekey_parsing.h │ ├── include │ │ ├── secp256k1.h │ │ ├── secp256k1_bulletproofs.h │ │ ├── secp256k1_commitment.h │ │ ├── secp256k1_ecdh.h │ │ ├── secp256k1_generator.h │ │ ├── secp256k1_mlsag.h │ │ ├── secp256k1_rangeproof.h │ │ ├── secp256k1_recovery.h │ │ ├── secp256k1_surjectionproof.h │ │ └── secp256k1_whitelist.h │ ├── libsecp256k1.pc.in │ ├── obj │ │ └── .gitignore │ ├── sage │ │ ├── group_prover.sage │ │ ├── secp256k1.sage │ │ ├── shallue_van_de_woestijne.sage │ │ └── weierstrass_prover.sage │ └── src │ │ ├── asm │ │ └── field_10x26_arm.s │ │ ├── basic-config.h │ │ ├── bench.h │ │ ├── bench_bulletproof.c │ │ ├── bench_ecdh.c │ │ ├── bench_ecmult.c │ │ ├── bench_generator.c │ │ ├── bench_internal.c │ │ ├── bench_rangeproof.c │ │ ├── bench_recover.c │ │ ├── bench_sign.c │ │ ├── bench_verify.c │ │ ├── bench_whitelist.c │ │ ├── ecdsa.h │ │ ├── ecdsa_impl.h │ │ ├── eckey.h │ │ ├── eckey_impl.h │ │ ├── ecmult.h │ │ ├── ecmult_const.h │ │ ├── ecmult_const_impl.h │ │ ├── ecmult_gen.h │ │ ├── ecmult_gen_impl.h │ │ ├── ecmult_impl.h │ │ ├── field.h │ │ ├── field_10x26.h │ │ ├── field_10x26_impl.h │ │ ├── field_5x52.h │ │ ├── field_5x52_asm_impl.h │ │ ├── field_5x52_impl.h │ │ ├── field_5x52_int128_impl.h │ │ ├── field_impl.h │ │ ├── gen_context.c │ │ ├── group.h │ │ ├── group_impl.h │ │ ├── hash.h │ │ ├── hash_impl.h │ │ ├── java │ │ ├── org │ │ │ └── bitcoin │ │ │ │ ├── NativeSecp256k1.java │ │ │ │ ├── NativeSecp256k1Test.java │ │ │ │ ├── NativeSecp256k1Util.java │ │ │ │ └── Secp256k1Context.java │ │ ├── org_bitcoin_NativeSecp256k1.c │ │ ├── org_bitcoin_NativeSecp256k1.h │ │ ├── org_bitcoin_Secp256k1Context.c │ │ └── org_bitcoin_Secp256k1Context.h │ │ ├── modules │ │ ├── bulletproofs │ │ │ ├── Makefile.am.include │ │ │ ├── inner_product_impl.h │ │ │ ├── main_impl.h │ │ │ ├── rangeproof_impl.h │ │ │ ├── tests_impl.h │ │ │ └── util.h │ │ ├── commitment │ │ │ ├── Makefile.am.include │ │ │ ├── main_impl.h │ │ │ ├── pedersen_impl.h │ │ │ └── tests_impl.h │ │ ├── ecdh │ │ │ ├── Makefile.am.include │ │ │ ├── main_impl.h │ │ │ └── tests_impl.h │ │ ├── generator │ │ │ ├── Makefile.am.include │ │ │ ├── main_impl.h │ │ │ └── tests_impl.h │ │ ├── mlsag │ │ │ ├── Makefile.am.include │ │ │ ├── main_impl.h │ │ │ └── tests_impl.h │ │ ├── rangeproof │ │ │ ├── Makefile.am.include │ │ │ ├── borromean.h │ │ │ ├── borromean_impl.h │ │ │ ├── main_impl.h │ │ │ ├── rangeproof.h │ │ │ ├── rangeproof_impl.h │ │ │ └── tests_impl.h │ │ ├── recovery │ │ │ ├── Makefile.am.include │ │ │ ├── main_impl.h │ │ │ └── tests_impl.h │ │ ├── surjection │ │ │ ├── Makefile.am.include │ │ │ ├── main_impl.h │ │ │ ├── surjection.h │ │ │ ├── surjection.md │ │ │ ├── surjection_impl.h │ │ │ └── tests_impl.h │ │ └── whitelist │ │ │ ├── Makefile.am.include │ │ │ ├── main_impl.h │ │ │ ├── tests_impl.h │ │ │ ├── whitelist.md │ │ │ └── whitelist_impl.h │ │ ├── num.h │ │ ├── num_gmp.h │ │ ├── num_gmp_impl.h │ │ ├── num_impl.h │ │ ├── scalar.h │ │ ├── scalar_4x64.h │ │ ├── scalar_4x64_impl.h │ │ ├── scalar_8x32.h │ │ ├── scalar_8x32_impl.h │ │ ├── scalar_impl.h │ │ ├── scalar_low.h │ │ ├── scalar_low_impl.h │ │ ├── scratch.h │ │ ├── scratch_impl.h │ │ ├── secp256k1.c │ │ ├── testrand.h │ │ ├── testrand_impl.h │ │ ├── tests.c │ │ ├── tests_exhaustive.c │ │ └── util.h ├── serialize.h ├── shutdown.cpp ├── shutdown.h ├── smsg │ ├── crypter.cpp │ ├── crypter.h │ ├── db.cpp │ ├── db.h │ ├── keystore.cpp │ ├── keystore.h │ ├── net.h │ ├── rpcsmessage.cpp │ ├── rpcsmessage.h │ ├── smessage.cpp │ └── smessage.h ├── span.h ├── streams.h ├── support │ ├── allocators │ │ ├── secure.h │ │ └── zeroafterfree.h │ ├── cleanse.cpp │ ├── cleanse.h │ ├── events.h │ ├── lockedpool.cpp │ └── lockedpool.h ├── sync.cpp ├── sync.h ├── test │ ├── Makefile │ ├── README.md │ ├── addrman_tests.cpp │ ├── allocator_tests.cpp │ ├── amount_tests.cpp │ ├── arith_uint256_tests.cpp │ ├── base32_tests.cpp │ ├── base58_tests.cpp │ ├── base64_tests.cpp │ ├── bech32_tests.cpp │ ├── bip32_tests.cpp │ ├── bitcoincchain_tests.cpp │ ├── blockchain_tests.cpp │ ├── blockencodings_tests.cpp │ ├── bloom_tests.cpp │ ├── bswap_tests.cpp │ ├── checkqueue_tests.cpp │ ├── coins_tests.cpp │ ├── compress_tests.cpp │ ├── crypto_tests.cpp │ ├── ct_tests.cpp │ ├── cuckoocache_tests.cpp │ ├── data │ │ ├── README.md │ │ ├── base58_encode_decode.json │ │ ├── bip39_vectors_english.json │ │ ├── bip39_vectors_japanese.json │ │ ├── blanktx.json │ │ ├── key_io_invalid.json │ │ ├── key_io_valid.json │ │ ├── script_tests.json │ │ ├── sighash.json │ │ ├── tx_invalid.json │ │ ├── tx_valid.json │ │ └── txcreatesign.json │ ├── dbwrapper_tests.cpp │ ├── denialofservice_tests.cpp │ ├── descriptor_tests.cpp │ ├── extkey_tests.cpp │ ├── getarg_tests.cpp │ ├── hash_tests.cpp │ ├── key_io_tests.cpp │ ├── key_tests.cpp │ ├── limitedmap_tests.cpp │ ├── main_tests.cpp │ ├── mempool_tests.cpp │ ├── merkle_tests.cpp │ ├── merkleblock_tests.cpp │ ├── miner_tests.cpp │ ├── mnemonic_tests.cpp │ ├── multisig_tests.cpp │ ├── net_tests.cpp │ ├── netbase_tests.cpp │ ├── pmt_tests.cpp │ ├── policyestimator_tests.cpp │ ├── pow_tests.cpp │ ├── prevector_tests.cpp │ ├── raii_event_tests.cpp │ ├── random_tests.cpp │ ├── reverselock_tests.cpp │ ├── ringct_tests.cpp │ ├── rpc_tests.cpp │ ├── sanity_tests.cpp │ ├── scheduler_tests.cpp │ ├── script_p2pkh_tests.cpp │ ├── script_p2sh_tests.cpp │ ├── script_standard_tests.cpp │ ├── script_tests.cpp │ ├── scriptnum10.h │ ├── scriptnum_tests.cpp │ ├── serialize_tests.cpp │ ├── sighash_tests.cpp │ ├── sigopcount_tests.cpp │ ├── skiplist_tests.cpp │ ├── smsg_tests.cpp │ ├── stealth_tests.cpp │ ├── streams_tests.cpp │ ├── test_bitcoin.cpp │ ├── test_bitcoin.h │ ├── test_bitcoin_fuzzy.cpp │ ├── test_bitcoin_main.cpp │ ├── test_bitcoinc_fuzzy │ ├── timedata_tests.cpp │ ├── torcontrol_tests.cpp │ ├── transaction_tests.cpp │ ├── txindex_tests.cpp │ ├── txvalidation_tests.cpp │ ├── txvalidationcache_tests.cpp │ ├── uint256_tests.cpp │ ├── util_tests.cpp │ ├── validation_block_tests.cpp │ └── versionbits_tests.cpp ├── threadinterrupt.cpp ├── threadinterrupt.h ├── threadsafety.h ├── timedata.cpp ├── timedata.h ├── tinyformat.h ├── torcontrol.cpp ├── torcontrol.h ├── txdb.cpp ├── txdb.h ├── txmempool.cpp ├── txmempool.h ├── ui_interface.cpp ├── ui_interface.h ├── uint256.cpp ├── uint256.h ├── undo.h ├── unilib │ ├── uninorms.cpp │ ├── uninorms.h │ ├── utf8.cpp │ └── utf8.h ├── univalue │ ├── .gitignore │ ├── .travis.yml │ ├── COPYING │ ├── Makefile.am │ ├── README.md │ ├── TODO │ ├── autogen.sh │ ├── build-aux │ │ └── m4 │ │ │ └── .gitignore │ ├── configure.ac │ ├── gen │ │ └── gen.cpp │ ├── include │ │ └── univalue.h │ ├── lib │ │ ├── .gitignore │ │ ├── univalue.cpp │ │ ├── univalue_escapes.h │ │ ├── univalue_get.cpp │ │ ├── univalue_read.cpp │ │ ├── univalue_utffilter.h │ │ └── univalue_write.cpp │ ├── pc │ │ ├── libunivalue-uninstalled.pc.in │ │ └── libunivalue.pc.in │ └── test │ │ ├── .gitignore │ │ ├── fail1.json │ │ ├── fail10.json │ │ ├── fail11.json │ │ ├── fail12.json │ │ ├── fail13.json │ │ ├── fail14.json │ │ ├── fail15.json │ │ ├── fail16.json │ │ ├── fail17.json │ │ ├── fail18.json │ │ ├── fail19.json │ │ ├── fail2.json │ │ ├── fail20.json │ │ ├── fail21.json │ │ ├── fail22.json │ │ ├── fail23.json │ │ ├── fail24.json │ │ ├── fail25.json │ │ ├── fail26.json │ │ ├── fail27.json │ │ ├── fail28.json │ │ ├── fail29.json │ │ ├── fail3.json │ │ ├── fail30.json │ │ ├── fail31.json │ │ ├── fail32.json │ │ ├── fail33.json │ │ ├── fail34.json │ │ ├── fail35.json │ │ ├── fail36.json │ │ ├── fail37.json │ │ ├── fail38.json │ │ ├── fail39.json │ │ ├── fail4.json │ │ ├── fail40.json │ │ ├── fail41.json │ │ ├── fail42.json │ │ ├── fail44.json │ │ ├── fail5.json │ │ ├── fail6.json │ │ ├── fail7.json │ │ ├── fail8.json │ │ ├── fail9.json │ │ ├── no_nul.cpp │ │ ├── object.cpp │ │ ├── pass1.json │ │ ├── pass2.json │ │ ├── pass3.json │ │ ├── round1.json │ │ ├── round2.json │ │ ├── round3.json │ │ ├── round4.json │ │ ├── round5.json │ │ ├── round6.json │ │ ├── round7.json │ │ ├── test_json.cpp │ │ └── unitester.cpp ├── usbdevice │ ├── debugdevice.cpp │ ├── debugdevice.h │ ├── ledger │ │ ├── LICENSE │ │ ├── README.md │ │ ├── btchipApdu.h │ │ ├── dongleCommHidHidapi.c │ │ ├── dongleCommHidHidapi.h │ │ ├── ledgerLayer.c │ │ └── ledgerLayer.h │ ├── ledgerdevice.cpp │ ├── ledgerdevice.h │ ├── rpcusbdevice.cpp │ ├── rpcusbdevice.h │ ├── trezor │ │ ├── .gitignore │ │ ├── messages-common.proto │ │ ├── messages-management.proto │ │ └── messages.proto │ ├── trezordevice.cpp │ ├── trezordevice.h │ ├── usbdevice.cpp │ └── usbdevice.h ├── util.cpp ├── util.h ├── utilmemory.h ├── utilmoneystr.cpp ├── utilmoneystr.h ├── utilstrencodings.cpp ├── utilstrencodings.h ├── utiltime.cpp ├── utiltime.h ├── validation.cpp ├── validation.h ├── validationinterface.cpp ├── validationinterface.h ├── version.h ├── versionbits.cpp ├── versionbits.h ├── wallet │ ├── coincontrol.cpp │ ├── coincontrol.h │ ├── coinselection.cpp │ ├── coinselection.h │ ├── crypter.cpp │ ├── crypter.h │ ├── db.cpp │ ├── db.h │ ├── feebumper.cpp │ ├── feebumper.h │ ├── fees.cpp │ ├── fees.h │ ├── hdwallet.cpp │ ├── hdwallet.h │ ├── hdwalletdb.cpp │ ├── hdwalletdb.h │ ├── init.cpp │ ├── rpcdump.cpp │ ├── rpchdwallet.cpp │ ├── rpchdwallet.h │ ├── rpcwallet.cpp │ ├── rpcwallet.h │ ├── test │ │ ├── accounting_tests.cpp │ │ ├── coinselector_tests.cpp │ │ ├── hdwallet_test_fixture.cpp │ │ ├── hdwallet_test_fixture.h │ │ ├── hdwallet_tests.cpp │ │ ├── psbt_wallet_tests.cpp │ │ ├── rpc_hdwallet_tests.cpp │ │ ├── rpc_wallet_tests.cpp │ │ ├── stake_tests.cpp │ │ ├── wallet_crypto_tests.cpp │ │ ├── wallet_test_fixture.cpp │ │ ├── wallet_test_fixture.h │ │ └── wallet_tests.cpp │ ├── wallet.cpp │ ├── wallet.h │ ├── walletdb.cpp │ ├── walletdb.h │ ├── walletutil.cpp │ └── walletutil.h ├── walletinitinterface.h ├── warnings.cpp ├── warnings.h ├── xxhash │ ├── xxhash.c │ └── xxhash.h └── zmq │ ├── zmqabstractnotifier.cpp │ ├── zmqabstractnotifier.h │ ├── zmqconfig.h │ ├── zmqnotificationinterface.cpp │ ├── zmqnotificationinterface.h │ ├── zmqpublishnotifier.cpp │ ├── zmqpublishnotifier.h │ ├── zmqrpc.cpp │ └── zmqrpc.h └── test ├── README.md ├── config.ini.in ├── functional ├── .gitignore ├── README.md ├── combine_logs.py ├── combined_log_template.html ├── create_cache.py ├── data │ ├── rpc_getblockstats.json │ └── rpc_psbt.json ├── example_test.py ├── feature_assumevalid.py ├── feature_bip68_sequence.py ├── feature_block.py ├── feature_blocksdir.py ├── feature_cltv.py ├── feature_config_args.py ├── feature_csv_activation.py ├── feature_dbcrash.py ├── feature_dersig.py ├── feature_fee_estimation.py ├── feature_help.py ├── feature_includeconf.py ├── feature_ins_addressindex.py ├── feature_ins_csindex.py ├── feature_ins_spentindex.py ├── feature_ins_timestampindex.py ├── feature_ins_txindex.py ├── feature_logging.py ├── feature_maxuploadtarget.py ├── feature_minchainwork.py ├── feature_notifications.py ├── feature_nulldummy.py ├── feature_part_anon.py ├── feature_part_blind.py ├── feature_part_coldstaking.py ├── feature_part_extkey.py ├── feature_part_pos.py ├── feature_part_smsg.py ├── feature_part_smsgpaid.py ├── feature_part_stealth.py ├── feature_part_usbdevice.py ├── feature_part_vote.py ├── feature_part_zmq_test.py ├── feature_proxy.py ├── feature_pruning.py ├── feature_rbf.py ├── feature_reindex.py ├── feature_segwit.py ├── feature_uacomment.py ├── feature_versionbits_warning.py ├── interface_bitcoin_cli.py ├── interface_http.py ├── interface_rest.py ├── interface_zmq.py ├── mempool_accept.py ├── mempool_limit.py ├── mempool_packages.py ├── mempool_persist.py ├── mempool_reorg.py ├── mempool_resurrect.py ├── mempool_spend_coinbase.py ├── mining_basic.py ├── mining_getblocktemplate_longpoll.py ├── mining_prioritisetransaction.py ├── p2p_compactblocks.py ├── p2p_disconnect_ban.py ├── p2p_feefilter.py ├── p2p_fingerprint.py ├── p2p_invalid_block.py ├── p2p_invalid_locator.py ├── p2p_invalid_tx.py ├── p2p_leak.py ├── p2p_mempool.py ├── p2p_node_network_limited.py ├── p2p_part_fork.py ├── p2p_segwit.py ├── p2p_sendheaders.py ├── p2p_timeouts.py ├── p2p_unrequested_blocks.py ├── rpc_bind.py ├── rpc_blockchain.py ├── rpc_createmultisig.py ├── rpc_decodescript.py ├── rpc_deprecated.py ├── rpc_fundrawtransaction.py ├── rpc_getblockstats.py ├── rpc_getchaintips.py ├── rpc_help.py ├── rpc_invalidateblock.py ├── rpc_named_arguments.py ├── rpc_net.py ├── rpc_part_atomicswap.py ├── rpc_part_filtertransactions.py ├── rpc_part_mnemonic.py ├── rpc_part_wallet.py ├── rpc_preciousblock.py ├── rpc_psbt.py ├── rpc_rawtransaction.py ├── rpc_scantxoutset.py ├── rpc_signmessage.py ├── rpc_signrawtransaction.py ├── rpc_txoutproof.py ├── rpc_uptime.py ├── rpc_users.py ├── rpc_zmq.py ├── test_framework │ ├── __init__.py │ ├── address.py │ ├── authproxy.py │ ├── bignum.py │ ├── blocktools.py │ ├── comptool.py │ ├── coverage.py │ ├── key.py │ ├── messages.py │ ├── mininode.py │ ├── netutil.py │ ├── script.py │ ├── segwit_addr.py │ ├── siphash.py │ ├── socks5.py │ ├── test_bitcoinc.py │ ├── test_framework.py │ ├── test_node.py │ └── util.py ├── test_runner.py ├── wallet_abandonconflict.py ├── wallet_address_types.py ├── wallet_backup.py ├── wallet_basic.py ├── wallet_bumpfee.py ├── wallet_disable.py ├── wallet_disableprivatekeys.py ├── wallet_dump.py ├── wallet_encryption.py ├── wallet_fallbackfee.py ├── wallet_groups.py ├── wallet_hd.py ├── wallet_import_rescan.py ├── wallet_importmulti.py ├── wallet_importprunedfunds.py ├── wallet_keypool.py ├── wallet_keypool_topup.py ├── wallet_labels.py ├── wallet_listreceivedby.py ├── wallet_listsinceblock.py ├── wallet_listtransactions.py ├── wallet_multiwallet.py ├── wallet_part_bitcoinc.py ├── wallet_part_multisig.py ├── wallet_part_unloadspent.py ├── wallet_part_watchonly.py ├── wallet_resendwallettransactions.py ├── wallet_txn_clone.py ├── wallet_txn_doublespend.py └── wallet_zapwallettxes.py ├── lint ├── README.md ├── check-doc.py ├── check-rpc-mappings.py ├── commit-script-check.sh ├── git-subtree-check.sh ├── lint-all.sh ├── lint-circular-dependencies.sh ├── lint-filenames.sh ├── lint-format-strings.py ├── lint-format-strings.sh ├── lint-include-guards.sh ├── lint-includes.sh ├── lint-locale-dependence.sh ├── lint-logs.sh ├── lint-python-shebang.sh ├── lint-python-utf8-encoding.sh ├── lint-python.sh ├── lint-shell-locale.sh ├── lint-shell.sh ├── lint-tests.sh └── lint-whitespace.sh └── util ├── bitcoin-util-test.py ├── data ├── bitcoin-util-test.json ├── blanktxv1.hex ├── blanktxv1.json ├── blanktxv2.hex ├── blanktxv2.json ├── tt-delin1-out.hex ├── tt-delin1-out.json ├── tt-delout1-out.hex ├── tt-delout1-out.json ├── tt-locktime317000-out.hex ├── tt-locktime317000-out.json ├── tx394b54bb.hex ├── txcreate1.hex ├── txcreate1.json ├── txcreate2.hex ├── txcreate2.json ├── txcreatedata1.hex ├── txcreatedata1.json ├── txcreatedata2.hex ├── txcreatedata2.json ├── txcreatedata_seq0.hex ├── txcreatedata_seq0.json ├── txcreatedata_seq1.hex ├── txcreatedata_seq1.json ├── txcreatemultisig1.hex ├── txcreatemultisig1.json ├── txcreatemultisig2.hex ├── txcreatemultisig2.json ├── txcreatemultisig3.hex ├── txcreatemultisig3.json ├── txcreatemultisig4.hex ├── txcreatemultisig4.json ├── txcreatemultisig5.json ├── txcreateoutpubkey1.hex ├── txcreateoutpubkey1.json ├── txcreateoutpubkey2.hex ├── txcreateoutpubkey2.json ├── txcreateoutpubkey3.hex ├── txcreateoutpubkey3.json ├── txcreatescript1.hex ├── txcreatescript1.json ├── txcreatescript2.hex ├── txcreatescript2.json ├── txcreatescript3.hex ├── txcreatescript3.json ├── txcreatescript4.hex ├── txcreatescript4.json ├── txcreatesignv1.hex ├── txcreatesignv1.json └── txcreatesignv2.hex ├── data_bitcoinc ├── bitcoinc-util-test.json ├── blanktxv1.hex ├── blanktxv1.json ├── blanktxva0.hex ├── blanktxva0.json ├── tt-delin1-out.hex ├── tt-delin1-out.json ├── tt-delout1-out.hex ├── tt-delout1-out.json ├── tt-locktime317000-out.hex ├── tt-locktime317000-out.json ├── tx14ae341f.hex ├── txaddwitness0.hex ├── txblindout0.hex ├── txcreate1.hex ├── txcreate1.json ├── txcreate2.hex ├── txcreate2.json ├── txcreatesignva0.hex ├── txdelwitness0.hex └── txoutdatatype0.hex └── rpcauth-test.py /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | indent_style = space 3 | indent_size = 4 4 | insert_final_newline = true 5 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | src/clientversion.cpp export-subst 2 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [bc-3.bitcoin_ents] 5 | file_filter = src/qt/locale/bitcoin_.ts 6 | source_file = src/qt/locale/bitcoin_en.ts 7 | source_lang = en 8 | -------------------------------------------------------------------------------- /Builds-for-testing/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/Builds-for-testing/.gitkeep -------------------------------------------------------------------------------- /INSTALL.md: -------------------------------------------------------------------------------- 1 | Building Bitcoin 2 | ================ 3 | 4 | See doc/build-*.md for instructions on building the various 5 | elements of the Bitcoin Core reference implementation of Bitcoin. 6 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Copyright (c) 2013-2016 The Bitcoin Core developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | export LC_ALL=C 7 | set -e 8 | srcdir="$(dirname $0)" 9 | cd "$srcdir" 10 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then 11 | LIBTOOLIZE="${GLIBTOOLIZE}" 12 | export LIBTOOLIZE 13 | fi 14 | which autoreconf >/dev/null || \ 15 | (echo "configuration failed, please install autoconf first" && exit 1) 16 | autoreconf --install --force --warnings=all 17 | -------------------------------------------------------------------------------- /build-aux/m4/bitcoin_subdir_to_include.m4: -------------------------------------------------------------------------------- 1 | dnl Copyright (c) 2013-2014 The Bitcoin Core developers 2 | dnl Distributed under the MIT software license, see the accompanying 3 | dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE]) 6 | dnl SUBDIRECTORY-NAME must end with a path separator 7 | AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[ 8 | if test "x$2" = "x"; then 9 | AC_MSG_RESULT([default]) 10 | else 11 | echo "#include <$2$3.h>" >conftest.cpp 12 | newinclpath=`${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | [ tr -d '\\n\\r\\\\' | sed -e 's/^.*[[:space:]:]\(\/[^[:space:]]*\)]$3[\.h[[:space:]].*$/\1/' -e t -e d`] 13 | AC_MSG_RESULT([${newinclpath}]) 14 | if test "x${newinclpath}" != "x"; then 15 | eval "$1=\"\$$1\"' -I${newinclpath}'" 16 | fi 17 | fi 18 | ]) 19 | -------------------------------------------------------------------------------- /build_msvc/.gitignore: -------------------------------------------------------------------------------- 1 | # Build directories 2 | Debug/* 3 | Release/* 4 | .vs 5 | packages/* 6 | */Obj 7 | */Debug 8 | */Release 9 | */x64 10 | *.vcxproj.user 11 | -------------------------------------------------------------------------------- /build_msvc/common.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CopyConfig; 7 | $(BuildDependsOn); 8 | 9 | 10 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /contrib/bitcoinc-qt.pro: -------------------------------------------------------------------------------- 1 | FORMS += \ 2 | ../src/qt/forms/aboutdialog.ui \ 3 | ../src/qt/forms/addressbookpage.ui \ 4 | ../src/qt/forms/askpassphrasedialog.ui \ 5 | ../src/qt/forms/coincontroldialog.ui \ 6 | ../src/qt/forms/editaddressdialog.ui \ 7 | ../src/qt/forms/helpmessagedialog.ui \ 8 | ../src/qt/forms/intro.ui \ 9 | ../src/qt/forms/openuridialog.ui \ 10 | ../src/qt/forms/optionsdialog.ui \ 11 | ../src/qt/forms/overviewpage.ui \ 12 | ../src/qt/forms/receivecoinsdialog.ui \ 13 | ../src/qt/forms/receiverequestdialog.ui \ 14 | ../src/qt/forms/debugwindow.ui \ 15 | ../src/qt/forms/sendcoinsdialog.ui \ 16 | ../src/qt/forms/sendcoinsentry.ui \ 17 | ../src/qt/forms/stakingdialog.ui \ 18 | ../src/qt/forms/signverifymessagedialog.ui \ 19 | ../src/qt/forms/transactiondescdialog.ui \ 20 | ../src/qt/forms/mnemonicdialog.ui \ 21 | 22 | RESOURCES += \ 23 | ../src/qt/bitcoin.qrc 24 | -------------------------------------------------------------------------------- /contrib/devtools/split-debug.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ $# -ne 3 ]; 4 | then echo "usage: $0 " 5 | fi 6 | 7 | @OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3 8 | @OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2 9 | @STRIP@ --enable-deterministic-archives -p -s $2 10 | @OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2 11 | -------------------------------------------------------------------------------- /contrib/init/README.md: -------------------------------------------------------------------------------- 1 | Sample configuration files for: 2 | ``` 3 | SystemD: bitcoind.service 4 | Upstart: bitcoind.conf 5 | OpenRC: bitcoind.openrc 6 | bitcoind.openrcconf 7 | CentOS: bitcoind.init 8 | macOS: org.bitcoin.bitcoind.plist 9 | ``` 10 | have been made available to assist packagers in creating node packages here. 11 | 12 | See doc/init.md for more information. 13 | -------------------------------------------------------------------------------- /contrib/init/bitcoincd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=BitcoinC daemon 3 | After=network.target 4 | 5 | [Service] 6 | User=bitcoinc 7 | Group=bitcoinc 8 | 9 | Type=forking 10 | PIDFile=/home/bitcoinc/.bitcoinc/bitcoincd.pid 11 | ExecStart=/home/bitcoinc/BitcoinC/bitcoincd -daemon -pid=/home/bitcoinc/.bitcoinc/bitcoincd.pid \ 12 | -conf=/home/bitcoinc/.bitcoinc/bitcoinc.conf -datadir=/home/bitcoinc/.bitcoinc 13 | 14 | ExecStop=/home/bitcoinc/BitcoinC/bitcoinc-cli -conf=/home/bitcoinc/.bitcoinc/bitcoinc.conf stop 15 | ExecStop=/usr/bin/sleep 25 16 | 17 | Restart=no 18 | PrivateTmp=true 19 | TimeoutStopSec=60s 20 | TimeoutStartSec=2s 21 | StartLimitInterval=120s 22 | StartLimitBurst=5 23 | 24 | [Install] 25 | WantedBy=multi-user.target 26 | -------------------------------------------------------------------------------- /contrib/init/org.bitcoin.bitcoind.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.bitcoin.bitcoind 7 | ProgramArguments 8 | 9 | /usr/local/bin/bitcoind 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /contrib/macdeploy/README.md: -------------------------------------------------------------------------------- 1 | ### MacDeploy ### 2 | 3 | For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package: 4 | 5 | sudo easy_install argparse 6 | 7 | This script should not be run manually, instead, after building as usual: 8 | 9 | make deploy 10 | 11 | During the process, the disk image window will pop up briefly where the fancy 12 | settings are applied. This is normal, please do not interfere. 13 | 14 | When finished, it will produce `Bitcoin-Core.dmg`. 15 | 16 | -------------------------------------------------------------------------------- /contrib/macdeploy/fancy.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | window_bounds 6 | 7 | 300 8 | 300 9 | 800 10 | 620 11 | 12 | background_picture 13 | background.tiff 14 | icon_size 15 | 96 16 | applications_symlink 17 | 18 | items_position 19 | 20 | Applications 21 | 22 | 370 23 | 156 24 | 25 | BitcoinC-Qt.app 26 | 27 | 128 28 | 156 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /contrib/qos/README.md: -------------------------------------------------------------------------------- 1 | ### QoS (Quality of service) ### 2 | 3 | This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Bitcoin network. It limits outbound TCP traffic with a source or destination port of 8333, but not if the destination IP is within a LAN. 4 | 5 | This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it. 6 | -------------------------------------------------------------------------------- /contrib/seeds/README.md: -------------------------------------------------------------------------------- 1 | # Seeds 2 | 3 | Utility to generate the seeds.txt list that is compiled into the client 4 | (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)). 5 | 6 | Be sure to update `PATTERN_AGENT` in `makeseeds.py` to include the current version, 7 | and remove old versions as necessary (at a minimum when GetDesirableServiceFlags 8 | changes its default return value, as those are the services which seeds are added 9 | to addrman with). 10 | 11 | The seeds compiled into the release are created from DNS seed data, like this: 12 | 13 | python3 makeseeds.py < seeds_main.txt > nodes_main.txt 14 | python3 generate-seeds.py . > ../../src/chainparamsseeds.h 15 | 16 | ## Dependencies 17 | 18 | Ubuntu: 19 | 20 | sudo apt-get install python3-dnspython 21 | -------------------------------------------------------------------------------- /contrib/seeds/nodes_main.txt: -------------------------------------------------------------------------------- 1 | 162.243.129.61:9789 2 | 162.243.140.66:9789 3 | 45.32.144.60:9789 4 | 45.76.138.216:9789 5 | 95.179.150.166:9789 6 | 80.240.23.78:9789 7 | 45.77.54.91:9789 8 | 138.197.163.248:9789 9 | 138.197.140.242:9789 10 | 167.99.178.11:9789 11 | 167.99.190.197:9789 12 | 178.128.235.7:9789 13 | 178.128.235.8:9789 14 | 5v4owof7lsbgjmvf.onion:9789 15 | 3oioxjw5izuianjh.onion:9789 16 | rfks2x6ob3bkhpnc.onion:9789 17 | fr243wbrypmdq7hq.onion:9789 18 | 2fcqtdyu4fvugaz6.onion:9789 19 | ibt4q3cri3hs47f2.onion:9789 20 | 5ccaphq3nxhavgcc.onion:9789 21 | [2604:A880:0001:0020:0000:0000:01EE:4001]:9789 22 | [2604:A880:0001:0020:0000:0000:0021:6001]:9789 23 | [2001:19f0:5001:3449:5400:02ff:fe02:7084]:9789 24 | [2001:19f0:6801:1157:5400:2ff:fe02:7a4f]:9789 25 | [2001:19f0:7402:124e:5400:2ff:fe02:7acf]:9789 26 | -------------------------------------------------------------------------------- /contrib/seeds/nodes_test.txt: -------------------------------------------------------------------------------- 1 | 13.78.188.9:19789 2 | 13.93.115.132:19789 3 | 13.94.149.22:19789 4 | 23.102.172.131:19789 5 | 52.224.162.169:19789 6 | 52.233.199.36:19789 7 | 76.74.170.67:19789 8 | 185.83.218.151:19789 9 | 167.99.100.139:19789 10 | [2604:A880:0002:00D0:0000:0000:2013:9001]:19789 11 | -------------------------------------------------------------------------------- /contrib/testgen/README.md: -------------------------------------------------------------------------------- 1 | ### TestGen ### 2 | 3 | Utilities to generate test vectors for the data-driven Bitcoin tests. 4 | 5 | Usage: 6 | 7 | gen_base58_test_vectors.py valid 50 > ../../src/test/data/base58_keys_valid.json 8 | gen_base58_test_vectors.py invalid 50 > ../../src/test/data/base58_keys_invalid.json -------------------------------------------------------------------------------- /contrib/verify-commits/allow-incorrect-sha512-commits: -------------------------------------------------------------------------------- 1 | f8feaa4636260b599294c7285bcf1c8b7737f74e 2 | 8040ae6fc576e9504186f2ae3ff2c8125de1095c 3 | -------------------------------------------------------------------------------- /contrib/verify-commits/allow-unclean-merge-commits: -------------------------------------------------------------------------------- 1 | 6052d509105790a26b3ad5df43dd61e7f1b24a12 2 | 3798e5de334c3deb5f71302b782f6b8fbd5087f1 3 | 326ffed09bfcc209a2efd6a2ebc69edf6bd200b5 4 | 97d83739db0631be5d4ba86af3616014652c00ec 5 | -------------------------------------------------------------------------------- /contrib/verify-commits/pre-push-hook.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright (c) 2014-2015 The Bitcoin Core developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | export LC_ALL=C 7 | if ! [[ "$2" =~ ^(git@)?(www.)?github.com(:|/)bitcoin/bitcoin(.git)?$ ]]; then 8 | exit 0 9 | fi 10 | 11 | while read LINE; do 12 | set -- A $LINE 13 | if [ "$4" != "refs/heads/master" ]; then 14 | continue 15 | fi 16 | if ! ./contrib/verify-commits/verify-commits.py $3 > /dev/null 2>&1; then 17 | echo "ERROR: A commit is not signed, can't push" 18 | ./contrib/verify-commits/verify-commits.py 19 | exit 1 20 | fi 21 | done < /dev/stdin 22 | -------------------------------------------------------------------------------- /contrib/verify-commits/trusted-git-root: -------------------------------------------------------------------------------- 1 | 82bcf405f6db1d55b684a1f63a4aabad376cdad7 2 | -------------------------------------------------------------------------------- /contrib/verify-commits/trusted-keys: -------------------------------------------------------------------------------- 1 | 71A3B16735405025D447E8F274810B012346C9A6 2 | 133EAC179436F14A5CF1B794860FEB804E669320 3 | 32EE5C4C3FA15CCADB46ABE529D4BCB6416F53EC 4 | B8B3F1C0E58C15DB6A81D30C3648A882F4316B9B 5 | -------------------------------------------------------------------------------- /contrib/verify-commits/trusted-sha512-root-commit: -------------------------------------------------------------------------------- 1 | 309bf16257b2395ce502017be627186b749ee749 2 | -------------------------------------------------------------------------------- /depends/.gitignore: -------------------------------------------------------------------------------- 1 | SDKs/ 2 | work/ 3 | built/ 4 | sources/ 5 | config.site 6 | x86_64* 7 | i686* 8 | mips* 9 | arm* 10 | aarch64* 11 | riscv32* 12 | riscv64* 13 | -------------------------------------------------------------------------------- /depends/builders/default.mk: -------------------------------------------------------------------------------- 1 | default_build_CC = gcc 2 | default_build_CXX = g++ 3 | default_build_AR = ar 4 | default_build_RANLIB = ranlib 5 | default_build_STRIP = strip 6 | default_build_NM = nm 7 | default_build_OTOOL = otool 8 | default_build_INSTALL_NAME_TOOL = install_name_tool 9 | 10 | define add_build_tool_func 11 | build_$(build_os)_$1 ?= $$(default_build_$1) 12 | build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1) 13 | build_$1=$$(build_$(build_arch)_$(build_os)_$1) 14 | endef 15 | $(foreach var,CC CXX AR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var)))) 16 | define add_build_flags_func 17 | build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1) 18 | build_$1=$$(build_$(build_arch)_$(build_os)_$1) 19 | endef 20 | $(foreach flags, CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags)))) 21 | -------------------------------------------------------------------------------- /depends/builders/linux.mk: -------------------------------------------------------------------------------- 1 | build_linux_SHA256SUM = sha256sum 2 | build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o 3 | -------------------------------------------------------------------------------- /depends/hosts/darwin.mk: -------------------------------------------------------------------------------- 1 | OSX_MIN_VERSION=10.10 2 | OSX_SDK_VERSION=10.11 3 | OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk 4 | LD64_VERSION=253.9 5 | darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) 6 | darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++ 7 | 8 | darwin_CFLAGS=-pipe 9 | darwin_CXXFLAGS=$(darwin_CFLAGS) 10 | 11 | darwin_release_CFLAGS=-O2 12 | darwin_release_CXXFLAGS=$(darwin_release_CFLAGS) 13 | 14 | darwin_debug_CFLAGS=-O1 15 | darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS) 16 | 17 | darwin_native_toolchain=native_cctools 18 | -------------------------------------------------------------------------------- /depends/hosts/linux.mk: -------------------------------------------------------------------------------- 1 | linux_CFLAGS=-pipe 2 | linux_CXXFLAGS=$(linux_CFLAGS) 3 | 4 | linux_release_CFLAGS=-O2 5 | linux_release_CXXFLAGS=$(linux_release_CFLAGS) 6 | 7 | linux_debug_CFLAGS=-O1 8 | linux_debug_CXXFLAGS=$(linux_debug_CFLAGS) 9 | 10 | linux_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC 11 | 12 | ifeq (86,$(findstring 86,$(build_arch))) 13 | i686_linux_CC=gcc -m32 14 | i686_linux_CXX=g++ -m32 15 | i686_linux_AR=ar 16 | i686_linux_RANLIB=ranlib 17 | i686_linux_NM=nm 18 | i686_linux_STRIP=strip 19 | 20 | x86_64_linux_CC=gcc -m64 21 | x86_64_linux_CXX=g++ -m64 22 | x86_64_linux_AR=ar 23 | x86_64_linux_RANLIB=ranlib 24 | x86_64_linux_NM=nm 25 | x86_64_linux_STRIP=strip 26 | else 27 | i686_linux_CC=$(default_host_CC) -m32 28 | i686_linux_CXX=$(default_host_CXX) -m32 29 | x86_64_linux_CC=$(default_host_CC) -m64 30 | x86_64_linux_CXX=$(default_host_CXX) -m64 31 | endif 32 | -------------------------------------------------------------------------------- /depends/hosts/mingw32.mk: -------------------------------------------------------------------------------- 1 | mingw32_CFLAGS=-pipe 2 | mingw32_CXXFLAGS=$(mingw32_CFLAGS) 3 | 4 | mingw32_release_CFLAGS=-O2 5 | mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS) 6 | 7 | mingw32_debug_CFLAGS=-O1 8 | mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS) 9 | 10 | mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC 11 | -------------------------------------------------------------------------------- /depends/packages/dbus.mk: -------------------------------------------------------------------------------- 1 | package=dbus 2 | $(package)_version=1.10.18 3 | $(package)_download_path=https://dbus.freedesktop.org/releases/dbus 4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a 6 | $(package)_dependencies=expat 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-tests --disable-doxygen-docs --disable-xml-docs --disable-static --without-x 10 | endef 11 | 12 | define $(package)_config_cmds 13 | $($(package)_autoconf) 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) -C dbus libdbus-1.la 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) -C dbus DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-dbusincludeHEADERS install-nodist_dbusarchincludeHEADERS && \ 22 | $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA 23 | endef 24 | -------------------------------------------------------------------------------- /depends/packages/expat.mk: -------------------------------------------------------------------------------- 1 | package=expat 2 | $(package)_version=2.2.5 3 | $(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_2_2_5/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--disable-static 9 | endef 10 | 11 | define $(package)_config_cmds 12 | $($(package)_autoconf) 13 | endef 14 | 15 | define $(package)_build_cmds 16 | $(MAKE) 17 | endef 18 | 19 | define $(package)_stage_cmds 20 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 21 | endef 22 | -------------------------------------------------------------------------------- /depends/packages/freetype.mk: -------------------------------------------------------------------------------- 1 | package=freetype 2 | $(package)_version=2.7.1 3 | $(package)_download_path=http://download.savannah.gnu.org/releases/$(package) 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--without-zlib --without-png --disable-static 9 | $(package)_config_opts_linux=--with-pic 10 | endef 11 | 12 | define $(package)_config_cmds 13 | $($(package)_autoconf) 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 22 | endef 23 | -------------------------------------------------------------------------------- /depends/packages/hidapi.mk: -------------------------------------------------------------------------------- 1 | package=hidapi 2 | $(package)_version=0.9.0-rc1 3 | $(package)_download_path=https://github.com/particl/hidapi/archive/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=a91aef254a5374e2c26860d0c3820613c2c8c3cdbbfdce417a1171e91db35797 6 | $(package)_linux_dependencies=libusb 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-shared 10 | $(package)_config_opts_linux=--with-pic 11 | endef 12 | 13 | define $(package)_preprocess_cmds 14 | sed -i '64,67d' configure.ac; \ 15 | sed -i '64iLIBS_HIDRAW_PR+=" -ludev"' configure.ac; \ 16 | cd $($(package)_build_subdir); ./bootstrap 17 | endef 18 | 19 | define $(package)_config_cmds 20 | $($(package)_autoconf) 21 | endef 22 | 23 | define $(package)_build_cmds 24 | $(MAKE) 25 | endef 26 | 27 | define $(package)_stage_cmds 28 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 29 | endef 30 | -------------------------------------------------------------------------------- /depends/packages/libICE.mk: -------------------------------------------------------------------------------- 1 | package=libICE 2 | $(package)_version=1.0.9 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202 6 | $(package)_dependencies=xtrans xproto 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-static --disable-docs --disable-specs --without-xsltproc 10 | $(package)_config_opts_linux=--with-pic 11 | endef 12 | 13 | define $(package)_config_cmds 14 | $($(package)_autoconf) 15 | endef 16 | 17 | define $(package)_build_cmds 18 | $(MAKE) 19 | endef 20 | 21 | define $(package)_stage_cmds 22 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 23 | endef 24 | -------------------------------------------------------------------------------- /depends/packages/libSM.mk: -------------------------------------------------------------------------------- 1 | package=libSM 2 | $(package)_version=1.2.2 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd 6 | $(package)_dependencies=xtrans xproto libICE 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--without-libuuid --without-xsltproc --disable-docs --disable-static 10 | $(package)_config_opts_linux=--with-pic 11 | endef 12 | 13 | define $(package)_config_cmds 14 | $($(package)_autoconf) 15 | endef 16 | 17 | define $(package)_build_cmds 18 | $(MAKE) 19 | endef 20 | 21 | define $(package)_stage_cmds 22 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 23 | endef 24 | -------------------------------------------------------------------------------- /depends/packages/libX11.mk: -------------------------------------------------------------------------------- 1 | package=libX11 2 | $(package)_version=1.6.2 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=2aa027e837231d2eeea90f3a4afe19948a6eb4c8b2bec0241eba7dbc8106bd16 6 | $(package)_dependencies=libxcb xtrans xextproto xproto 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-xkb --disable-static 10 | $(package)_config_opts_linux=--with-pic 11 | endef 12 | 13 | define $(package)_config_cmds 14 | $($(package)_autoconf) 15 | endef 16 | 17 | define $(package)_build_cmds 18 | $(MAKE) 19 | endef 20 | 21 | define $(package)_stage_cmds 22 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 23 | endef 24 | -------------------------------------------------------------------------------- /depends/packages/libXau.mk: -------------------------------------------------------------------------------- 1 | package=libXau 2 | $(package)_version=1.0.8 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2 6 | $(package)_dependencies=xproto 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-shared 10 | $(package)_config_opts_linux=--with-pic 11 | endef 12 | 13 | define $(package)_config_cmds 14 | $($(package)_autoconf) 15 | endef 16 | 17 | define $(package)_build_cmds 18 | $(MAKE) 19 | endef 20 | 21 | define $(package)_stage_cmds 22 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 23 | endef 24 | -------------------------------------------------------------------------------- /depends/packages/libXext.mk: -------------------------------------------------------------------------------- 1 | package=libXext 2 | $(package)_version=1.3.2 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=f829075bc646cdc085fa25d98d5885d83b1759ceb355933127c257e8e50432e0 6 | $(package)_dependencies=xproto xextproto libX11 libXau 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-static 10 | endef 11 | 12 | define $(package)_config_cmds 13 | $($(package)_autoconf) 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 22 | endef 23 | -------------------------------------------------------------------------------- /depends/packages/libevent.mk: -------------------------------------------------------------------------------- 1 | package=libevent 2 | $(package)_version=2.1.8-stable 3 | $(package)_download_path=https://github.com/libevent/libevent/archive/ 4 | $(package)_file_name=release-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d 6 | 7 | define $(package)_preprocess_cmds 8 | ./autogen.sh 9 | endef 10 | 11 | define $(package)_set_vars 12 | $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples 13 | $(package)_config_opts_release=--disable-debug-mode 14 | $(package)_config_opts_linux=--with-pic 15 | endef 16 | 17 | define $(package)_config_cmds 18 | $($(package)_autoconf) 19 | endef 20 | 21 | define $(package)_build_cmds 22 | $(MAKE) 23 | endef 24 | 25 | define $(package)_stage_cmds 26 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 27 | endef 28 | 29 | define $(package)_postprocess_cmds 30 | endef 31 | -------------------------------------------------------------------------------- /depends/packages/libusb.mk: -------------------------------------------------------------------------------- 1 | package=libusb 2 | $(package)_version=1.0.21 3 | $(package)_download_path=https://github.com/libusb/libusb/archive/ 4 | $(package)_file_name=v$($(package)_version).tar.gz 5 | $(package)_sha256_hash=1a5b08c05bc5e38c81c2d59c29954d5916646f4ff46f51381b3f624384e4ac01 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--disable-shared --enable-udev 9 | $(package)_config_opts_linux=--with-pic 10 | endef 11 | 12 | define $(package)_preprocess_cmds 13 | cd $($(package)_build_subdir); ./bootstrap.sh 14 | endef 15 | 16 | define $(package)_config_cmds 17 | $($(package)_autoconf) 18 | endef 19 | 20 | define $(package)_build_cmds 21 | $(MAKE) 22 | endef 23 | 24 | define $(package)_stage_cmds 25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 26 | endef 27 | -------------------------------------------------------------------------------- /depends/packages/native_biplist.mk: -------------------------------------------------------------------------------- 1 | package=native_biplist 2 | $(package)_version=1.0.3 3 | $(package)_download_path=https://bitbucket.org/wooster/biplist/downloads 4 | $(package)_file_name=biplist-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=4c0549764c5fe50b28042ec21aa2e14fe1a2224e239a1dae77d9e7f3932aa4c6 6 | $(package)_install_libdir=$(build_prefix)/lib/python/dist-packages 7 | 8 | define $(package)_build_cmds 9 | python setup.py build 10 | endef 11 | 12 | define $(package)_stage_cmds 13 | mkdir -p $($(package)_install_libdir) && \ 14 | python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) 15 | endef 16 | -------------------------------------------------------------------------------- /depends/packages/native_cdrkit.mk: -------------------------------------------------------------------------------- 1 | package=native_cdrkit 2 | $(package)_version=1.1.11 3 | $(package)_download_path=http://distro.ibiblio.org/fatdog/source/600/c 4 | $(package)_file_name=cdrkit-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=b50d64c214a65b1a79afe3a964c691931a4233e2ba605d793eb85d0ac3652564 6 | $(package)_patches=cdrkit-deterministic.patch 7 | 8 | define $(package)_preprocess_cmds 9 | patch -p1 < $($(package)_patch_dir)/cdrkit-deterministic.patch 10 | endef 11 | 12 | define $(package)_config_cmds 13 | cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) genisoimage 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C genisoimage install 22 | endef 23 | 24 | define $(package)_postprocess_cmds 25 | rm bin/isovfy bin/isoinfo bin/isodump bin/isodebug bin/devdump 26 | endef 27 | -------------------------------------------------------------------------------- /depends/packages/native_ds_store.mk: -------------------------------------------------------------------------------- 1 | package=native_ds_store 2 | $(package)_version=1.1.2 3 | $(package)_download_path=https://github.com/al45tair/ds_store/archive/ 4 | $(package)_file_name=v$($(package)_version).tar.gz 5 | $(package)_sha256_hash=3b3ecb7bf0a5157f5b6010bc3af7c141fb0ad3527084e63336220d22744bc20c 6 | $(package)_install_libdir=$(build_prefix)/lib/python/dist-packages 7 | $(package)_dependencies=native_biplist 8 | 9 | define $(package)_build_cmds 10 | python setup.py build 11 | endef 12 | 13 | define $(package)_stage_cmds 14 | mkdir -p $($(package)_install_libdir) && \ 15 | python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) 16 | endef 17 | -------------------------------------------------------------------------------- /depends/packages/native_libdmg-hfsplus.mk: -------------------------------------------------------------------------------- 1 | package=native_libdmg-hfsplus 2 | $(package)_version=0.1 3 | $(package)_download_path=https://github.com/theuni/libdmg-hfsplus/archive 4 | $(package)_file_name=libdmg-hfsplus-v$($(package)_version).tar.gz 5 | $(package)_sha256_hash=6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3 6 | $(package)_build_subdir=build 7 | 8 | define $(package)_preprocess_cmds 9 | mkdir build 10 | endef 11 | 12 | define $(package)_config_cmds 13 | cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix)/bin .. 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) -C dmg 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C dmg install 22 | endef 23 | -------------------------------------------------------------------------------- /depends/packages/native_mac_alias.mk: -------------------------------------------------------------------------------- 1 | package=native_mac_alias 2 | $(package)_version=2.0.7 3 | $(package)_download_path=https://github.com/al45tair/mac_alias/archive/ 4 | $(package)_file_name=v$($(package)_version).tar.gz 5 | $(package)_sha256_hash=6f606d3b6bccd2112aeabf1a063f5b5ece87005a5d7e97c8faca23b916e88838 6 | $(package)_install_libdir=$(build_prefix)/lib/python/dist-packages 7 | 8 | define $(package)_build_cmds 9 | python setup.py build 10 | endef 11 | 12 | define $(package)_stage_cmds 13 | mkdir -p $($(package)_install_libdir) && \ 14 | python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) 15 | endef 16 | -------------------------------------------------------------------------------- /depends/packages/native_protobuf.mk: -------------------------------------------------------------------------------- 1 | package=native_protobuf 2 | $(package)_version=2.6.1 3 | $(package)_download_path=https://github.com/google/protobuf/releases/download/v$($(package)_version) 4 | $(package)_file_name=protobuf-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--disable-shared 9 | endef 10 | 11 | define $(package)_config_cmds 12 | $($(package)_autoconf) 13 | endef 14 | 15 | define $(package)_build_cmds 16 | $(MAKE) -C src protoc 17 | endef 18 | 19 | define $(package)_stage_cmds 20 | $(MAKE) -C src DESTDIR=$($(package)_staging_dir) install-strip 21 | endef 22 | 23 | define $(package)_postprocess_cmds 24 | rm -rf lib include 25 | endef 26 | -------------------------------------------------------------------------------- /depends/packages/packages.mk: -------------------------------------------------------------------------------- 1 | packages:=boost openssl libevent zeromq 2 | linux_packages_usb := libusb 3 | 4 | qt_native_packages = native_protobuf 5 | qt_packages = qrencode protobuf zlib 6 | 7 | qt_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans 8 | 9 | qt_darwin_packages=qt 10 | qt_mingw32_packages=qt 11 | 12 | wallet_packages=bdb 13 | 14 | upnp_packages=miniupnpc 15 | usb_packages=hidapi protobuf 16 | usb_native_packages=native_protobuf 17 | 18 | darwin_native_packages = native_biplist native_ds_store native_mac_alias 19 | 20 | ifneq ($(build_os),darwin) 21 | darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus 22 | endif 23 | -------------------------------------------------------------------------------- /depends/packages/qrencode.mk: -------------------------------------------------------------------------------- 1 | package=qrencode 2 | $(package)_version=3.4.4 3 | $(package)_download_path=https://fukuchi.org/works/qrencode/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=efe5188b1ddbcbf98763b819b146be6a90481aac30cfc8d858ab78a19cde1fa5 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--disable-shared -without-tools --disable-sdltest 9 | $(package)_config_opts_linux=--with-pic 10 | endef 11 | 12 | define $(package)_config_cmds 13 | $($(package)_autoconf) 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 22 | endef 23 | -------------------------------------------------------------------------------- /depends/packages/xcb_proto.mk: -------------------------------------------------------------------------------- 1 | package=xcb_proto 2 | $(package)_version=1.10 3 | $(package)_download_path=http://xcb.freedesktop.org/dist 4 | $(package)_file_name=xcb-proto-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=7ef40ddd855b750bc597d2a435da21e55e502a0fefa85b274f2c922800baaf05 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--disable-shared 9 | $(package)_config_opts_linux=--with-pic 10 | endef 11 | 12 | define $(package)_config_cmds 13 | $($(package)_autoconf) 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 22 | endef 23 | 24 | define $(package)_postprocess_cmds 25 | find -name "*.pyc" -delete && \ 26 | find -name "*.pyo" -delete 27 | endef 28 | -------------------------------------------------------------------------------- /depends/packages/xextproto.mk: -------------------------------------------------------------------------------- 1 | package=xextproto 2 | $(package)_version=7.3.0 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0 6 | 7 | define $(package)_preprocess_cmds 8 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . 9 | endef 10 | 11 | define $(package)_set_vars 12 | $(package)_config_opts=--disable-shared 13 | endef 14 | 15 | define $(package)_config_cmds 16 | $($(package)_autoconf) 17 | endef 18 | 19 | define $(package)_build_cmds 20 | $(MAKE) 21 | endef 22 | 23 | define $(package)_stage_cmds 24 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 25 | endef 26 | -------------------------------------------------------------------------------- /depends/packages/xproto.mk: -------------------------------------------------------------------------------- 1 | package=xproto 2 | $(package)_version=7.0.26 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=636162c1759805a5a0114a369dffdeccb8af8c859ef6e1445f26a4e6e046514f 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--disable-shared 9 | endef 10 | 11 | define $(package)_config_cmds 12 | $($(package)_autoconf) 13 | endef 14 | 15 | define $(package)_build_cmds 16 | $(MAKE) 17 | endef 18 | 19 | define $(package)_stage_cmds 20 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 21 | endef 22 | -------------------------------------------------------------------------------- /depends/packages/xtrans.mk: -------------------------------------------------------------------------------- 1 | package=xtrans 2 | $(package)_version=1.3.4 3 | $(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=054d4ee3efd52508c753e9f7bc655ef185a29bd2850dd9e2fc2ccc33544f583a 6 | $(package)_dependencies= 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts_linux=--with-pic --disable-static 10 | endef 11 | 12 | define $(package)_config_cmds 13 | $($(package)_autoconf) 14 | endef 15 | 16 | define $(package)_build_cmds 17 | $(MAKE) 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 22 | endef 23 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_no_printer.patch: -------------------------------------------------------------------------------- 1 | --- x/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h 2 | +++ y/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h 3 | @@ -52,6 +52,7 @@ 4 | // 5 | 6 | #include 7 | +#include 8 | 9 | #ifndef QT_NO_PRINTER 10 | 11 | --- x/qtbase/src/plugins/plugins.pro 12 | +++ y/qtbase/src/plugins/plugins.pro 13 | @@ -8,6 +8,3 @@ qtHaveModule(gui) { 14 | qtConfig(imageformatplugin): SUBDIRS *= imageformats 15 | !android:qtConfig(library): SUBDIRS *= generic 16 | } 17 | - 18 | -!winrt:qtHaveModule(printsupport): \ 19 | - SUBDIRS += printsupport 20 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_qt_pkgconfig.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/mkspecs/features/qt_module.prf 2 | +++ new/qtbase/mkspecs/features/qt_module.prf 3 | @@ -245,7 +245,7 @@ 4 | load(qt_targets) 5 | 6 | # this builds on top of qt_common 7 | -!internal_module:!lib_bundle:if(unix|mingw) { 8 | +unix|mingw { 9 | CONFIG += create_pc 10 | QMAKE_PKGCONFIG_DESTDIR = pkgconfig 11 | host_build: \ 12 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_rcc_determinism.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/src/tools/rcc/rcc.cpp 2 | +++ new/qtbase/src/tools/rcc/rcc.cpp 3 | @@ -207,7 +207,11 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib) 4 | if (lib.formatVersion() >= 2) { 5 | // last modified time stamp 6 | const QDateTime lastModified = m_fileInfo.lastModified(); 7 | - lib.writeNumber8(quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0)); 8 | + quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0); 9 | + static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong(); 10 | + if (sourceDate != 0) 11 | + lastmod = sourceDate; 12 | + lib.writeNumber8(lastmod); 13 | if (text || pass1) 14 | lib.writeChar('\n'); 15 | } 16 | -------------------------------------------------------------------------------- /depends/patches/qt/xkb-default.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/src/gui/configure.pri 2018-06-06 17:28:10.000000000 -0400 2 | +++ new/qtbase/src/gui/configure.pri 2018-08-17 18:43:01.589384567 -0400 3 | @@ -43,18 +43,11 @@ 4 | } 5 | 6 | defineTest(qtConfTest_xkbConfigRoot) { 7 | - qtConfTest_getPkgConfigVariable($${1}): return(true) 8 | - 9 | - for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) { 10 | - exists($$dir) { 11 | - $${1}.value = $$dir 12 | - export($${1}.value) 13 | - $${1}.cache += value 14 | - export($${1}.cache) 15 | - return(true) 16 | - } 17 | - } 18 | - return(false) 19 | + $${1}.value = "/usr/share/X11/xkb" 20 | + export($${1}.value) 21 | + $${1}.cache += value 22 | + export($${1}.cache) 23 | + return(true) 24 | } 25 | 26 | defineTest(qtConfTest_qpaDefaultPlatform) { 27 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | Doxyfile 2 | -------------------------------------------------------------------------------- /doc/README_windows.txt: -------------------------------------------------------------------------------- 1 | Bitcoin Core 2 | 3 | Intro 4 | ----- 5 | Bitcoin is a free open source peer-to-peer electronic cash system that is 6 | completely decentralized, without the need for a central server or trusted 7 | parties. Users hold the crypto keys to their own money and transact directly 8 | with each other, with the help of a P2P network to check for double-spending. 9 | 10 | 11 | Setup 12 | ----- 13 | Unpack the files into a directory and run bitcoin-qt.exe. 14 | 15 | Bitcoin Core is the original Bitcoin client and it builds the backbone of the network. 16 | However, it downloads and stores the entire history of Bitcoin transactions; 17 | depending on the speed of your computer and network connection, the synchronization 18 | process can take anywhere from a few hours to a day or more. 19 | 20 | See the bitcoin wiki at: 21 | https://en.bitcoin.it/wiki/Main_Page 22 | for more help and information. 23 | -------------------------------------------------------------------------------- /doc/assets-attribution.md: -------------------------------------------------------------------------------- 1 | The list of assets used in the bitcoin source and their attribution can now be found in [contrib/debian/copyright](../contrib/debian/copyright). 2 | -------------------------------------------------------------------------------- /doc/bitcoin_logo_doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/doc/bitcoin_logo_doxygen.png -------------------------------------------------------------------------------- /doc/bitcoinc_logo_doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/doc/bitcoinc_logo_doxygen.png -------------------------------------------------------------------------------- /doc/gitian-building.md: -------------------------------------------------------------------------------- 1 | Gitian building 2 | ================ 3 | 4 | This file was moved to [the Bitcoin Core documentation repository](https://github.com/bitcoin-core/docs/blob/master/gitian-building.md) at [https://github.com/bitcoin-core/docs](https://github.com/bitcoin-core/docs). 5 | -------------------------------------------------------------------------------- /doc/man/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_man1_MANS= 2 | 3 | if BUILD_BITCOIND 4 | dist_man1_MANS+=bitcoincd.1 5 | endif 6 | 7 | if ENABLE_QT 8 | dist_man1_MANS+=bitcoinc-qt.1 9 | endif 10 | 11 | if BUILD_BITCOIN_UTILS 12 | dist_man1_MANS+=bitcoinc-cli.1 bitcoinc-tx.1 13 | endif 14 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.12.md: -------------------------------------------------------------------------------- 1 | Version 0.3.12 is now available. 2 | 3 | Features: 4 | * json-rpc errors return a more standard error object. (thanks to Gavin Andresen) 5 | * json-rpc command line returns exit codes. 6 | * json-rpc "backupwallet" command. 7 | * Recovers and continues if an exception is caused by a message you received. Other nodes shouldn't be able to cause an exception, and it hasn't happened before, but if a way is found to cause an exception, this would keep it from being used to stop network nodes. 8 | 9 | If you have json-rpc code that checks the contents of the error string, you need to change it to expect error objects of the form {"code":,"message":}, which is the standard. See this thread: 10 | http://www.bitcoin.org/smf/index.php?topic=969.0 11 | 12 | Download: 13 | http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.12/ 14 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.14.md: -------------------------------------------------------------------------------- 1 | Version 0.3.14 is now available 2 | http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.14/ 3 | 4 | Changes: 5 | * Key pool feature for safer wallet backup 6 | Gavin Andresen: 7 | * TEST network mode with switch -testnet 8 | * Option to use SSL for JSON-RPC connections on unix/osx 9 | * validateaddress RPC command 10 | eurekafag: 11 | * Russian translation 12 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.15.md: -------------------------------------------------------------------------------- 1 | * paytxfee switch is now per KB, so it adds the correct fee for large transactions 2 | * sending avoids using coins with less than 6 confirmations if it can 3 | * BitcoinMiner processes transactions in priority order based on age of dependencies 4 | * make sure generation doesn't start before block 74000 downloaded 5 | * bugfixes by Dean Gores 6 | * testnet, keypoololdest and paytxfee added to getinfo 7 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.16.md: -------------------------------------------------------------------------------- 1 | Never released. 2 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.17.md: -------------------------------------------------------------------------------- 1 | Version 0.3.17 is now available. 2 | 3 | Changes: 4 | * new getwork, thanks m0mchil 5 | * added transaction fee setting in UI options menu 6 | * free transaction limits 7 | * sendtoaddress returns transaction id instead of "sent" 8 | * getaccountaddress 9 | 10 | The UI transaction fee setting was easy since it was still there from 0.1.5 and all I had to do was re-enable it. 11 | 12 | The accounts-based commands: move, sendfrom and getbalance will be in the next release. We still have some more changes to make first. 13 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.18.md: -------------------------------------------------------------------------------- 1 | Changes: 2 | * Fixed a wallet.dat compatibility problem if you downgraded from 0.3.17 and then upgraded again 3 | * IsStandard() check to only include known transaction types in blocks 4 | * Jgarzik's optimisation to speed up the initial block download a little 5 | 6 | The main addition in this release is the Accounts-Based JSON-RPC commands that Gavin's been working on (more details at http://www.bitcoin.org/smf/index.php?topic=1886.0). 7 | * getaccountaddress 8 | * sendfrom 9 | * move 10 | * getbalance 11 | * listtransactions 12 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.19.md: -------------------------------------------------------------------------------- 1 | There's more work to do on DoS, but I'm doing a quick build of what I have so far in case it's needed, before venturing into more complex ideas. The build for this is version 0.3.19. 2 | 3 | - Added some DoS controls 4 | As Gavin and I have said clearly before, the software is not at all resistant to DoS attack. This is one improvement, but there are still more ways to attack than I can count. 5 | 6 | I'm leaving the -limitfreerelay part as a switch for now and it's there if you need it. 7 | 8 | - Removed "safe mode" alerts 9 | "safe mode" alerts was a temporary measure after the 0.3.9 overflow bug. We can say all we want that users can just run with "-disablesafemode", but it's better just not to have it for the sake of appearances. It was never intended as a long term feature. Safe mode can still be triggered by seeing a longer (greater total PoW) invalid block chain. 10 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.20.1.md: -------------------------------------------------------------------------------- 1 | Never released or release notes were lost. 2 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.20.2.md: -------------------------------------------------------------------------------- 1 | The maxsendbuffer bug (0.3.20.1 clients not being able to download the block chain from other 0.3.20.1 clients) was only going to get 2 | worse as people upgraded, so I cherry-picked the bug fix and created a minor release yesterday. 3 | 4 | The Amazon Machine Images I used to do the builds are available: 5 | 6 | ami-38a05251 Bitcoin-v0.3.20.2 Mingw (Windows; Administrator password 'bitcoin development') 7 | ami-30a05259 Bitcoin_0.3.20.2 Linux32 8 | ami-8abc4ee3 Bitcoin_0.3.20.2 Linux64 9 | 10 | (mac build will be done soon) 11 | 12 | If you have already downloaded version 0.3.20.1, please either add this to your bitcoin.conf file: 13 | 14 | maxsendbuffer=10000 15 | maxreceivebuffer=10000 16 | 17 | ... or download the new version. 18 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.23.md: -------------------------------------------------------------------------------- 1 | Win32, Linux, MacOSX and source releases for bitcoin v0.3.23 have been uploaded to 2 | https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/ 3 | 4 | This is another quick bugfix release, trying to deal with the influx of new bitcoin users. 5 | 6 | Main items of note: 7 | 8 | * P2P connect-to-node logic changed to reduce timeout a bit. The network saw a huge influx of new users, who do not permit incoming connections. This change is a short-term hack, to more quickly hunt for useful P2P connections. Better "leaf node" logic is in the works, but this should let us limp along until then. One may use -upnp to properly forward ports, and help the network. 9 | * Transaction fee reduced to 0.0005 for new transactions 10 | * Client will relay transactions with fees as low as 0.0001 BTC 11 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.4.2.md: -------------------------------------------------------------------------------- 1 | Never released or release notes were lost. 2 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.4.5.md: -------------------------------------------------------------------------------- 1 | Never released or release notes were lost. 2 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.6.1.md: -------------------------------------------------------------------------------- 1 | Never released 2 | 3 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.8.3.md: -------------------------------------------------------------------------------- 1 | Bitcoin-Qt version 0.8.3 is now available from: 2 | http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.3/ 3 | 4 | This is a maintenance release to fix a denial-of-service attack that 5 | can cause nodes to crash. 6 | 7 | Please report bugs using the issue tracker at github: 8 | https://github.com/bitcoin/bitcoin/issues 9 | 10 | 0.8.3 Release notes 11 | 12 | Truncate over-size messages to prevent a memory exhaustion attack. 13 | 14 | Fix a regression that causes excessive re-writing of the 'peers.dat' file. 15 | 16 | 17 | Thanks to Peter Todd for responsibly disclosing the vulnerability 18 | ( CVE-2013-4627 ) and creating a fix. 19 | -------------------------------------------------------------------------------- /doc/unit-tests.md: -------------------------------------------------------------------------------- 1 | Compiling/running unit tests 2 | ------------------------------------ 3 | 4 | Unit tests will be automatically compiled if dependencies were met in `./configure` 5 | and tests weren't explicitly disabled. 6 | 7 | After configuring, they can be run with `make check`. 8 | 9 | To run the bitcoincd tests manually, launch `src/test/test_bitcoinc`. 10 | 11 | To add more bitcoincd tests, add `BOOST_AUTO_TEST_CASE` functions to the existing 12 | .cpp files in the `test/` directory or add new .cpp files that 13 | implement new BOOST_AUTO_TEST_SUITE sections. 14 | 15 | To run the bitcoin-qt tests manually, launch `src/qt/test/test_bitcoin-qt` 16 | 17 | To add more bitcoin-qt tests, add them to the `src/qt/test/` directory and 18 | the `src/qt/test/test_main.cpp` file. 19 | -------------------------------------------------------------------------------- /libbitcoincconsensus.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: @PACKAGE_NAME@ consensus library 7 | Description: Library for the BitcoinC consensus protocol. 8 | Version: @PACKAGE_VERSION@ 9 | Libs: -L${libdir} -lbitcoincconsensus 10 | Cflags: -I${includedir} 11 | Requires.private: libcrypto 12 | -------------------------------------------------------------------------------- /share/pixmaps/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/bitcoin.ico -------------------------------------------------------------------------------- /share/pixmaps/bitcoin128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/bitcoin128.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/bitcoin16.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/bitcoin256.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/bitcoin32.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/bitcoin64.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoinc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/bitcoinc.ico -------------------------------------------------------------------------------- /share/pixmaps/nsis-header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/nsis-header.bmp -------------------------------------------------------------------------------- /share/pixmaps/nsis-wizard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/share/pixmaps/nsis-wizard.bmp -------------------------------------------------------------------------------- /share/rpcauth/README.md: -------------------------------------------------------------------------------- 1 | RPC Tools 2 | --------------------- 3 | 4 | ### [RPCAuth](/share/rpcauth) ### 5 | 6 | Create login credentials for a JSON-RPC user. 7 | 8 | Usage: 9 | 10 | ./rpcauth.py 11 | 12 | in which case the script will generate a password. To specify a custom password do: 13 | 14 | ./rpcauth.py 15 | -------------------------------------------------------------------------------- /src/bench/.gitignore: -------------------------------------------------------------------------------- 1 | bench_bitcoinc 2 | -------------------------------------------------------------------------------- /src/bench/data/block413567.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/bench/data/block413567.raw -------------------------------------------------------------------------------- /src/bench/merkle_root.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | static void MerkleRoot(benchmark::State& state) 12 | { 13 | FastRandomContext rng(true); 14 | std::vector leaves; 15 | leaves.resize(9001); 16 | for (auto& item : leaves) { 17 | item = rng.rand256(); 18 | } 19 | while (state.KeepRunning()) { 20 | bool mutation = false; 21 | uint256 hash = ComputeMerkleRoot(std::vector(leaves), &mutation); 22 | leaves[mutation] = hash; 23 | } 24 | } 25 | 26 | BENCHMARK(MerkleRoot, 800); 27 | -------------------------------------------------------------------------------- /src/blind.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017-2018 The BitcoinC developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file license.txt or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOINC_BLIND_H 6 | #define BITCOINC_BLIND_H 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | #include 14 | 15 | extern secp256k1_context *secp256k1_ctx_blind; 16 | extern secp256k1_scratch_space *blind_scratch; 17 | extern secp256k1_bulletproof_generators *blind_gens; 18 | 19 | int SelectRangeProofParameters(uint64_t nValueIn, uint64_t &minValue, int &exponent, int &nBits); 20 | 21 | int GetRangeProofInfo(const std::vector &vRangeproof, int &rexp, int &rmantissa, CAmount &min_value, CAmount &max_value); 22 | 23 | void ECC_Start_Blinding(); 24 | void ECC_Stop_Blinding(); 25 | 26 | #endif // BITCOINC_BLIND_H 27 | -------------------------------------------------------------------------------- /src/checkpoints.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CHECKPOINTS_H 6 | #define BITCOIN_CHECKPOINTS_H 7 | 8 | #include 9 | 10 | #include 11 | 12 | class CBlockIndex; 13 | struct CCheckpointData; 14 | 15 | /** 16 | * Block-chain checkpoints are compiled-in sanity checks. 17 | * They are updated every release or three. 18 | */ 19 | namespace Checkpoints 20 | { 21 | 22 | //! Returns last CBlockIndex* that is a checkpoint 23 | CBlockIndex* GetLastCheckpoint(const CCheckpointData& data); 24 | 25 | } //namespace Checkpoints 26 | 27 | #endif // BITCOIN_CHECKPOINTS_H 28 | -------------------------------------------------------------------------------- /src/compat/sanity.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_COMPAT_SANITY_H 6 | #define BITCOIN_COMPAT_SANITY_H 7 | 8 | bool glibc_sanity_test(); 9 | bool glibcxx_sanity_test(); 10 | 11 | #endif // BITCOIN_COMPAT_SANITY_H 12 | -------------------------------------------------------------------------------- /src/compat/strnlen.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #if defined(HAVE_CONFIG_H) 6 | #include 7 | #endif 8 | 9 | #include 10 | 11 | #if HAVE_DECL_STRNLEN == 0 12 | size_t strnlen( const char *start, size_t max_len) 13 | { 14 | const char *end = (const char *)memchr(start, '\0', max_len); 15 | 16 | return end ? (size_t)(end - start) : max_len; 17 | } 18 | #endif // HAVE_DECL_STRNLEN 19 | -------------------------------------------------------------------------------- /src/config/.empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/config/.empty -------------------------------------------------------------------------------- /src/crypto/chacha20.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_CHACHA20_H 6 | #define BITCOIN_CRYPTO_CHACHA20_H 7 | 8 | #include 9 | #include 10 | 11 | /** A PRNG class for ChaCha20. */ 12 | class ChaCha20 13 | { 14 | private: 15 | uint32_t input[16]; 16 | 17 | public: 18 | ChaCha20(); 19 | ChaCha20(const unsigned char* key, size_t keylen); 20 | void SetKey(const unsigned char* key, size_t keylen); 21 | void SetIV(uint64_t iv); 22 | void Seek(uint64_t pos); 23 | void Output(unsigned char* output, size_t bytes); 24 | }; 25 | 26 | #endif // BITCOIN_CRYPTO_CHACHA20_H 27 | -------------------------------------------------------------------------------- /src/crypto/hmac_sha256.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_HMAC_SHA256_H 6 | #define BITCOIN_CRYPTO_HMAC_SHA256_H 7 | 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | /** A hasher class for HMAC-SHA-256. */ 14 | class CHMAC_SHA256 15 | { 16 | private: 17 | CSHA256 outer; 18 | CSHA256 inner; 19 | 20 | public: 21 | static const size_t OUTPUT_SIZE = 32; 22 | 23 | CHMAC_SHA256(const unsigned char* key, size_t keylen); 24 | CHMAC_SHA256& Write(const unsigned char* data, size_t len) 25 | { 26 | inner.Write(data, len); 27 | return *this; 28 | } 29 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 30 | }; 31 | 32 | #endif // BITCOIN_CRYPTO_HMAC_SHA256_H 33 | -------------------------------------------------------------------------------- /src/crypto/hmac_sha512.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_HMAC_SHA512_H 6 | #define BITCOIN_CRYPTO_HMAC_SHA512_H 7 | 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | /** A hasher class for HMAC-SHA-512. */ 14 | class CHMAC_SHA512 15 | { 16 | private: 17 | CSHA512 outer; 18 | CSHA512 inner; 19 | 20 | public: 21 | static const size_t OUTPUT_SIZE = 64; 22 | 23 | CHMAC_SHA512(const unsigned char* key, size_t keylen); 24 | CHMAC_SHA512& Write(const unsigned char* data, size_t len) 25 | { 26 | inner.Write(data, len); 27 | return *this; 28 | } 29 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 30 | }; 31 | 32 | #endif // BITCOIN_CRYPTO_HMAC_SHA512_H 33 | -------------------------------------------------------------------------------- /src/crypto/ripemd160.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014-2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_RIPEMD160_H 6 | #define BITCOIN_CRYPTO_RIPEMD160_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for RIPEMD-160. */ 12 | class CRIPEMD160 13 | { 14 | private: 15 | uint32_t s[5]; 16 | unsigned char buf[64]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 20; 21 | 22 | CRIPEMD160(); 23 | CRIPEMD160& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CRIPEMD160& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_RIPEMD160_H 29 | -------------------------------------------------------------------------------- /src/crypto/sha1.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014-2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_SHA1_H 6 | #define BITCOIN_CRYPTO_SHA1_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for SHA1. */ 12 | class CSHA1 13 | { 14 | private: 15 | uint32_t s[5]; 16 | unsigned char buf[64]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 20; 21 | 22 | CSHA1(); 23 | CSHA1& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CSHA1& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_SHA1_H 29 | -------------------------------------------------------------------------------- /src/crypto/sha512.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014-2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_SHA512_H 6 | #define BITCOIN_CRYPTO_SHA512_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for SHA-512. */ 12 | class CSHA512 13 | { 14 | private: 15 | uint64_t s[8]; 16 | unsigned char buf[128]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 64; 21 | 22 | CSHA512(); 23 | CSHA512& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CSHA512& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_SHA512_H 29 | -------------------------------------------------------------------------------- /src/fs.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace fsbridge { 4 | 5 | FILE *fopen(const fs::path& p, const char *mode) 6 | { 7 | return ::fopen(p.string().c_str(), mode); 8 | } 9 | 10 | FILE *freopen(const fs::path& p, const char *mode, FILE *stream) 11 | { 12 | return ::freopen(p.string().c_str(), mode, stream); 13 | } 14 | 15 | } // fsbridge 16 | -------------------------------------------------------------------------------- /src/fs.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_FS_H 6 | #define BITCOIN_FS_H 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | /** Filesystem operations and types */ 16 | namespace fs = boost::filesystem; 17 | 18 | /** Bridge operations to C stdio */ 19 | namespace fsbridge { 20 | FILE *fopen(const fs::path& p, const char *mode); 21 | FILE *freopen(const fs::path& p, const char *mode, FILE *stream); 22 | }; 23 | 24 | #endif // BITCOIN_FS_H 25 | -------------------------------------------------------------------------------- /src/insight/rpc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The Bitcoin Confidential Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOINC_INSIGHT_RPC_H 6 | #define BITCOINC_INSIGHT_RPC_H 7 | 8 | class CRPCTable; 9 | 10 | void RegisterInsightRPCCommands(CRPCTable &t); 11 | 12 | #endif // BITCOINC_INSIGHT_RPC_H 13 | -------------------------------------------------------------------------------- /src/interfaces/handler.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include 6 | 7 | #include 8 | 9 | #include 10 | #include 11 | 12 | namespace interfaces { 13 | namespace { 14 | 15 | class HandlerImpl : public Handler 16 | { 17 | public: 18 | HandlerImpl(boost::signals2::connection connection) : m_connection(std::move(connection)) {} 19 | 20 | void disconnect() override { m_connection.disconnect(); } 21 | 22 | boost::signals2::scoped_connection m_connection; 23 | }; 24 | 25 | } // namespace 26 | 27 | std::unique_ptr MakeHandler(boost::signals2::connection connection) 28 | { 29 | return MakeUnique(std::move(connection)); 30 | } 31 | 32 | } // namespace interfaces 33 | -------------------------------------------------------------------------------- /src/key/keyutil.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The BitcoinC developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file license.txt or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOINC_KEY_KEYUTIL_H 6 | #define BITCOINC_KEY_KEYUTIL_H 7 | 8 | #include 9 | #include 10 | 11 | uint32_t BitcoinChecksum(uint8_t *p, uint32_t nBytes); 12 | void AppendChecksum(std::vector &data); 13 | bool VerifyChecksum(const std::vector &data); 14 | 15 | 16 | #endif // BITCOINC_KEY_KEYUTIL_H 17 | -------------------------------------------------------------------------------- /src/key/types.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The ShadowCoin developers 2 | // Copyright (c) 2017 The BitcoinC developers 3 | // Distributed under the MIT/X11 software license, see the accompanying 4 | // file license.txt or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOINC_KEY_TYPES_H 7 | #define BITCOINC_KEY_TYPES_H 8 | 9 | typedef std::vector ec_point; 10 | 11 | const size_t EC_SECRET_SIZE = 32; 12 | const size_t EC_COMPRESSED_SIZE = 33; 13 | const size_t EC_UNCOMPRESSED_SIZE = 65; 14 | 15 | //typedef struct ec_secret { uint8_t e[EC_SECRET_SIZE]; } ec_secret; 16 | 17 | #endif // BITCOINC_KEY_TYPES_H 18 | -------------------------------------------------------------------------------- /src/leveldb/.gitignore: -------------------------------------------------------------------------------- 1 | build_config.mk 2 | *.a 3 | *.o 4 | *.dylib* 5 | *.so 6 | *.so.* 7 | *_test 8 | db_bench 9 | leveldbutil 10 | Release 11 | Debug 12 | Benchmark 13 | vs2010.* 14 | -------------------------------------------------------------------------------- /src/leveldb/.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | compiler: 3 | - clang 4 | - gcc 5 | os: 6 | - linux 7 | - osx 8 | sudo: false 9 | before_install: 10 | - echo $LANG 11 | - echo $LC_ALL 12 | script: 13 | - make -j 4 check 14 | -------------------------------------------------------------------------------- /src/leveldb/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names should be added to this file like so: 2 | # Name or Organization 3 | 4 | Google Inc. 5 | 6 | # Initial version authors: 7 | Jeffrey Dean 8 | Sanjay Ghemawat 9 | 10 | # Partial list of contributors: 11 | Kevin Regan 12 | Johan Bilien 13 | -------------------------------------------------------------------------------- /src/leveldb/NEWS: -------------------------------------------------------------------------------- 1 | Release 1.2 2011-05-16 2 | ---------------------- 3 | 4 | Fixes for larger databases (tested up to one billion 100-byte entries, 5 | i.e., ~100GB). 6 | 7 | (1) Place hard limit on number of level-0 files. This fixes errors 8 | of the form "too many open files". 9 | 10 | (2) Fixed memtable management. Before the fix, a heavy write burst 11 | could cause unbounded memory usage. 12 | 13 | A fix for a logging bug where the reader would incorrectly complain 14 | about corruption. 15 | 16 | Allow public access to WriteBatch contents so that users can easily 17 | wrap a DB. 18 | -------------------------------------------------------------------------------- /src/leveldb/TODO: -------------------------------------------------------------------------------- 1 | ss 2 | - Stats 3 | 4 | db 5 | - Maybe implement DB::BulkDeleteForRange(start_key, end_key) 6 | that would blow away files whose ranges are entirely contained 7 | within [start_key..end_key]? For Chrome, deletion of obsolete 8 | object stores, etc. can be done in the background anyway, so 9 | probably not that important. 10 | - There have been requests for MultiGet. 11 | 12 | After a range is completely deleted, what gets rid of the 13 | corresponding files if we do no future changes to that range. Make 14 | the conditions for triggering compactions fire in more situations? 15 | -------------------------------------------------------------------------------- /src/leveldb/db/db_iter.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_DB_DB_ITER_H_ 6 | #define STORAGE_LEVELDB_DB_DB_ITER_H_ 7 | 8 | #include 9 | #include "leveldb/db.h" 10 | #include "db/dbformat.h" 11 | 12 | namespace leveldb { 13 | 14 | class DBImpl; 15 | 16 | // Return a new iterator that converts internal keys (yielded by 17 | // "*internal_iter") that were live at the specified "sequence" number 18 | // into appropriate user keys. 19 | extern Iterator* NewDBIterator( 20 | DBImpl* db, 21 | const Comparator* user_key_comparator, 22 | Iterator* internal_iter, 23 | SequenceNumber sequence, 24 | uint32_t seed); 25 | 26 | } // namespace leveldb 27 | 28 | #endif // STORAGE_LEVELDB_DB_DB_ITER_H_ 29 | -------------------------------------------------------------------------------- /src/leveldb/helpers/memenv/memenv.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_ 6 | #define STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_ 7 | 8 | namespace leveldb { 9 | 10 | class Env; 11 | 12 | // Returns a new environment that stores its data in memory and delegates 13 | // all non-file-storage tasks to base_env. The caller must delete the result 14 | // when it is no longer needed. 15 | // *base_env must remain live while the result is in use. 16 | Env* NewMemEnv(Env* base_env); 17 | 18 | } // namespace leveldb 19 | 20 | #endif // STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_ 21 | -------------------------------------------------------------------------------- /src/leveldb/port/README: -------------------------------------------------------------------------------- 1 | This directory contains interfaces and implementations that isolate the 2 | rest of the package from platform details. 3 | 4 | Code in the rest of the package includes "port.h" from this directory. 5 | "port.h" in turn includes a platform specific "port_.h" file 6 | that provides the platform specific implementation. 7 | 8 | See port_posix.h for an example of what must be provided in a platform 9 | specific header file. 10 | 11 | -------------------------------------------------------------------------------- /src/leveldb/port/port.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_PORT_PORT_H_ 6 | #define STORAGE_LEVELDB_PORT_PORT_H_ 7 | 8 | #include 9 | 10 | // Include the appropriate platform specific file below. If you are 11 | // porting to a new platform, see "port_example.h" for documentation 12 | // of what the new port_.h file must provide. 13 | #if defined(LEVELDB_PLATFORM_POSIX) 14 | # include "port/port_posix.h" 15 | #elif defined(LEVELDB_PLATFORM_CHROMIUM) 16 | # include "port/port_chromium.h" 17 | #elif defined(LEVELDB_PLATFORM_WINDOWS) 18 | # include "port/port_win.h" 19 | #endif 20 | 21 | #endif // STORAGE_LEVELDB_PORT_PORT_H_ 22 | -------------------------------------------------------------------------------- /src/leveldb/util/filter_policy.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #include "leveldb/filter_policy.h" 6 | 7 | namespace leveldb { 8 | 9 | FilterPolicy::~FilterPolicy() { } 10 | 11 | } // namespace leveldb 12 | -------------------------------------------------------------------------------- /src/leveldb/util/hash.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | // 5 | // Simple hash function used for internal data structures 6 | 7 | #ifndef STORAGE_LEVELDB_UTIL_HASH_H_ 8 | #define STORAGE_LEVELDB_UTIL_HASH_H_ 9 | 10 | #include 11 | #include 12 | 13 | namespace leveldb { 14 | 15 | extern uint32_t Hash(const char* data, size_t n, uint32_t seed); 16 | 17 | } 18 | 19 | #endif // STORAGE_LEVELDB_UTIL_HASH_H_ 20 | -------------------------------------------------------------------------------- /src/noui.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_NOUI_H 6 | #define BITCOIN_NOUI_H 7 | 8 | extern void noui_connect(); 9 | 10 | #endif // BITCOIN_NOUI_H 11 | -------------------------------------------------------------------------------- /src/obj-test/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /src/obj/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /src/qt/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: FORCE 2 | all: FORCE 3 | $(MAKE) -C .. bitcoinc_qt test_bitcoinc_qt 4 | clean: FORCE 5 | $(MAKE) -C .. bitcoinc_qt_clean test_bitcoinc_qt_clean 6 | check: FORCE 7 | $(MAKE) -C .. test_bitcoinc_qt_check 8 | bitcoin-qt bitcoin-qt.exe: FORCE 9 | $(MAKE) -C .. bitcoinc_qt 10 | -------------------------------------------------------------------------------- /src/qt/callback.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_QT_CALLBACK_H 2 | #define BITCOIN_QT_CALLBACK_H 3 | 4 | #include 5 | 6 | class Callback : public QObject 7 | { 8 | Q_OBJECT 9 | public Q_SLOTS: 10 | virtual void call() = 0; 11 | }; 12 | 13 | template 14 | class FunctionCallback : public Callback 15 | { 16 | F f; 17 | 18 | public: 19 | explicit FunctionCallback(F f_) : f(std::move(f_)) {} 20 | ~FunctionCallback() override {} 21 | void call() override { f(this); } 22 | }; 23 | 24 | template 25 | FunctionCallback* makeCallback(F f) 26 | { 27 | return new FunctionCallback(std::move(f)); 28 | } 29 | 30 | #endif // BITCOIN_QT_CALLBACK_H 31 | -------------------------------------------------------------------------------- /src/qt/coincontroltreewidget.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_COINCONTROLTREEWIDGET_H 6 | #define BITCOIN_QT_COINCONTROLTREEWIDGET_H 7 | 8 | #include 9 | #include 10 | 11 | class CoinControlTreeWidget : public QTreeWidget 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit CoinControlTreeWidget(QWidget *parent = 0); 17 | 18 | protected: 19 | virtual void keyPressEvent(QKeyEvent *event); 20 | }; 21 | 22 | #endif // BITCOIN_QT_COINCONTROLTREEWIDGET_H 23 | -------------------------------------------------------------------------------- /src/qt/macnotificationhandler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_MACNOTIFICATIONHANDLER_H 6 | #define BITCOIN_QT_MACNOTIFICATIONHANDLER_H 7 | 8 | #include 9 | 10 | /** Macintosh-specific notification handler (supports UserNotificationCenter). 11 | */ 12 | class MacNotificationHandler : public QObject 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | /** shows a macOS 10.8+ UserNotification in the UserNotificationCenter 18 | */ 19 | void showNotification(const QString &title, const QString &text); 20 | 21 | /** check if OS can handle UserNotifications */ 22 | bool hasUserNotificationCenterSupport(void); 23 | static MacNotificationHandler *instance(); 24 | }; 25 | 26 | 27 | #endif // BITCOIN_QT_MACNOTIFICATIONHANDLER_H 28 | -------------------------------------------------------------------------------- /src/qt/openuridialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_OPENURIDIALOG_H 6 | #define BITCOIN_QT_OPENURIDIALOG_H 7 | 8 | #include 9 | 10 | namespace Ui { 11 | class OpenURIDialog; 12 | } 13 | 14 | class OpenURIDialog : public QDialog 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | explicit OpenURIDialog(QWidget *parent); 20 | ~OpenURIDialog(); 21 | 22 | QString getURI(); 23 | 24 | protected Q_SLOTS: 25 | void accept(); 26 | 27 | private Q_SLOTS: 28 | void on_selectFileButton_clicked(); 29 | 30 | private: 31 | Ui::OpenURIDialog *ui; 32 | }; 33 | 34 | #endif // BITCOIN_QT_OPENURIDIALOG_H 35 | -------------------------------------------------------------------------------- /src/qt/qvaluecombobox.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include 6 | 7 | QValueComboBox::QValueComboBox(QWidget *parent) : 8 | QComboBox(parent), role(Qt::UserRole) 9 | { 10 | connect(this, SIGNAL(currentIndexChanged(int)), this, SLOT(handleSelectionChanged(int))); 11 | } 12 | 13 | QVariant QValueComboBox::value() const 14 | { 15 | return itemData(currentIndex(), role); 16 | } 17 | 18 | void QValueComboBox::setValue(const QVariant &value) 19 | { 20 | setCurrentIndex(findData(value, role)); 21 | } 22 | 23 | void QValueComboBox::setRole(int _role) 24 | { 25 | this->role = _role; 26 | } 27 | 28 | void QValueComboBox::handleSelectionChanged(int idx) 29 | { 30 | Q_EMIT valueChanged(); 31 | } 32 | -------------------------------------------------------------------------------- /src/qt/res/fonts/Lato/Lato-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Lato/Lato-Black.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Lato/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Lato/Lato-Bold.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Lato/Lato-Hairline.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Lato/Lato-Hairline.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Lato/Lato-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Lato/Lato-Italic.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Lato/Lato-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Lato/Lato-Light.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Lato/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Lato/Lato-Regular.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Montserrat/Montserrat-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Montserrat/Montserrat-Bold.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Montserrat/Montserrat-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Montserrat/Montserrat-ExtraLight.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Montserrat/Montserrat-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Montserrat/Montserrat-Italic.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Montserrat/Montserrat-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Montserrat/Montserrat-Light.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Montserrat/Montserrat-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Montserrat/Montserrat-Medium.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Montserrat/Montserrat-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Montserrat/Montserrat-Regular.ttf -------------------------------------------------------------------------------- /src/qt/res/fonts/Montserrat/Montserrat-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/fonts/Montserrat/Montserrat-Thin.ttf -------------------------------------------------------------------------------- /src/qt/res/icons/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/about.png -------------------------------------------------------------------------------- /src/qt/res/icons/about_qt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/about_qt.png -------------------------------------------------------------------------------- /src/qt/res/icons/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/add.png -------------------------------------------------------------------------------- /src/qt/res/icons/add_recipient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/add_recipient.png -------------------------------------------------------------------------------- /src/qt/res/icons/address-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/address-book.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoin.icns -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoin.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoin.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin_testnet.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoin_testnet.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoinc.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoinc.icns -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoinc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoinc.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoinc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoinc.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoinc_testnet.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/bitcoinc_testnet.ico -------------------------------------------------------------------------------- /src/qt/res/icons/chevron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/chevron.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/clock1.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/clock2.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/clock3.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/clock4.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/clock5.png -------------------------------------------------------------------------------- /src/qt/res/icons/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/configure.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/connect0.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/connect1.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/connect2.png -------------------------------------------------------------------------------- /src/qt/res/icons/debugwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/debugwindow.png -------------------------------------------------------------------------------- /src/qt/res/icons/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/edit.png -------------------------------------------------------------------------------- /src/qt/res/icons/editcopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/editcopy.png -------------------------------------------------------------------------------- /src/qt/res/icons/editpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/editpaste.png -------------------------------------------------------------------------------- /src/qt/res/icons/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/export.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/eye.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/eye_minus.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/eye_plus.png -------------------------------------------------------------------------------- /src/qt/res/icons/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/filesave.png -------------------------------------------------------------------------------- /src/qt/res/icons/fontbigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/fontbigger.png -------------------------------------------------------------------------------- /src/qt/res/icons/fontsmaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/fontsmaller.png -------------------------------------------------------------------------------- /src/qt/res/icons/hd_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/hd_disabled.png -------------------------------------------------------------------------------- /src/qt/res/icons/hd_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/hd_enabled.png -------------------------------------------------------------------------------- /src/qt/res/icons/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/history.png -------------------------------------------------------------------------------- /src/qt/res/icons/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/info.png -------------------------------------------------------------------------------- /src/qt/res/icons/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/key.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/lock_closed.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/lock_open.png -------------------------------------------------------------------------------- /src/qt/res/icons/network_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/network_disabled.png -------------------------------------------------------------------------------- /src/qt/res/icons/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/open.png -------------------------------------------------------------------------------- /src/qt/res/icons/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/overview.png -------------------------------------------------------------------------------- /src/qt/res/icons/privacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/privacy.png -------------------------------------------------------------------------------- /src/qt/res/icons/proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/proxy.png -------------------------------------------------------------------------------- /src/qt/res/icons/quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/quit.png -------------------------------------------------------------------------------- /src/qt/res/icons/receive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/receive.png -------------------------------------------------------------------------------- /src/qt/res/icons/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/remove.png -------------------------------------------------------------------------------- /src/qt/res/icons/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/send.png -------------------------------------------------------------------------------- /src/qt/res/icons/smartcash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/smartcash.png -------------------------------------------------------------------------------- /src/qt/res/icons/staking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/staking.png -------------------------------------------------------------------------------- /src/qt/res/icons/synced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/synced.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/transaction0.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/transaction2.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_abandoned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/transaction_abandoned.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_conflicted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/transaction_conflicted.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_inout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/tx_inout.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/tx_input.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_mined.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/tx_mined.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/tx_output.png -------------------------------------------------------------------------------- /src/qt/res/icons/verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/verify.png -------------------------------------------------------------------------------- /src/qt/res/icons/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/icons/warning.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_checked.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_checked_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_checked_hover.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_checked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_checked_pressed.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_disabled.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_disabled_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_disabled_checked.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_normal.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_normal_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_normal_hover.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_normal_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_normal_pressed.png -------------------------------------------------------------------------------- /src/qt/res/images/checkbox_partly_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/checkbox_partly_checked.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/downArrow_hover.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow_hover_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/downArrow_hover_small.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/downArrow_normal.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow_normal_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/downArrow_normal_small.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_checked.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_checked_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_checked_hover.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_checked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_checked_pressed.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_disabled.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_disabled_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_disabled_checked.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_normal.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_normal_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_normal_hover.png -------------------------------------------------------------------------------- /src/qt/res/images/radio_normal_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/radio_normal_pressed.png -------------------------------------------------------------------------------- /src/qt/res/images/rightArrow_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/rightArrow_hover.png -------------------------------------------------------------------------------- /src/qt/res/images/rightArrow_hover_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/rightArrow_hover_small.png -------------------------------------------------------------------------------- /src/qt/res/images/rightArrow_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/rightArrow_normal.png -------------------------------------------------------------------------------- /src/qt/res/images/rightArrow_normal_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/rightArrow_normal_small.png -------------------------------------------------------------------------------- /src/qt/res/images/upArrow_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/upArrow_hover.png -------------------------------------------------------------------------------- /src/qt/res/images/upArrow_hover_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/upArrow_hover_small.png -------------------------------------------------------------------------------- /src/qt/res/images/upArrow_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/upArrow_normal.png -------------------------------------------------------------------------------- /src/qt/res/images/upArrow_normal_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/images/upArrow_normal_small.png -------------------------------------------------------------------------------- /src/qt/res/movies/makespinner.sh: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2015 The Bitcoin Core developers 2 | # Distributed under the MIT software license, see the accompanying 3 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | export LC_ALL=C 6 | FRAMEDIR=$(dirname $0) 7 | for i in {0..35} 8 | do 9 | frame=$(printf "%03d" $i) 10 | angle=$(($i * 10)) 11 | convert $FRAMEDIR/../src/spinner.png -background "rgba(0,0,0,0.0)" -distort SRT $angle $FRAMEDIR/spinner-$frame.png 12 | done 13 | -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-000.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-001.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-002.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-003.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-004.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-005.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-006.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-007.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-008.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-009.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-010.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-011.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-012.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-013.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-014.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-015.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-016.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-017.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-018.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-019.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-020.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-021.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-022.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-023.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-024.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-025.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-026.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-027.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-028.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-029.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-030.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-031.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-032.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-033.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-034.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/movies/spinner-035.png -------------------------------------------------------------------------------- /src/qt/res/src/address-book.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/check-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/cog.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/dot-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/eye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/lock-open.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/paste.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bitcoin-Confidential/BitcoinC-Core/03fb8436af688466c9c58b059d4da4cc0890ec42/src/qt/res/src/spinner.png -------------------------------------------------------------------------------- /src/qt/res/src/spinner.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/tx_in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/qt/res/src/user-plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/user-secret.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/res/src/wifi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qt/test/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | $(MAKE) -C ../../ test_bitcoinc_qt 3 | clean: 4 | $(MAKE) -C ../../ test_bitcoinc_qt_clean 5 | check: 6 | $(MAKE) -C ../../ test_bitcoinc_qt_check 7 | -------------------------------------------------------------------------------- /src/qt/test/addressbooktests.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_QT_TEST_ADDRESSBOOKTESTS_H 2 | #define BITCOIN_QT_TEST_ADDRESSBOOKTESTS_H 3 | 4 | #include 5 | #include 6 | 7 | class AddressBookTests : public QObject 8 | { 9 | Q_OBJECT 10 | 11 | private Q_SLOTS: 12 | void addressBookTests(); 13 | }; 14 | 15 | #endif // BITCOIN_QT_TEST_ADDRESSBOOKTESTS_H 16 | -------------------------------------------------------------------------------- /src/qt/test/compattests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include // this includes protobuf's port.h which defines its own bswap macos 6 | 7 | #include 8 | 9 | #include 10 | 11 | void CompatTests::bswapTests() 12 | { 13 | // Sibling in bitcoin/src/test/bswap_tests.cpp 14 | uint16_t u1 = 0x1234; 15 | uint32_t u2 = 0x56789abc; 16 | uint64_t u3 = 0xdef0123456789abc; 17 | uint16_t e1 = 0x3412; 18 | uint32_t e2 = 0xbc9a7856; 19 | uint64_t e3 = 0xbc9a78563412f0de; 20 | QVERIFY(bswap_16(u1) == e1); 21 | QVERIFY(bswap_32(u2) == e2); 22 | QVERIFY(bswap_64(u3) == e3); 23 | } 24 | -------------------------------------------------------------------------------- /src/qt/test/compattests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_COMPATTESTS_H 6 | #define BITCOIN_QT_TEST_COMPATTESTS_H 7 | 8 | #include 9 | #include 10 | 11 | class CompatTests : public QObject 12 | { 13 | Q_OBJECT 14 | 15 | private Q_SLOTS: 16 | void bswapTests(); 17 | }; 18 | 19 | #endif // BITCOIN_QT_TEST_COMPATTESTS_H 20 | -------------------------------------------------------------------------------- /src/qt/test/rpcnestedtests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_RPCNESTEDTESTS_H 6 | #define BITCOIN_QT_TEST_RPCNESTEDTESTS_H 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | 14 | class RPCNestedTests : public QObject 15 | { 16 | Q_OBJECT 17 | 18 | private Q_SLOTS: 19 | void rpcNestedTests(); 20 | }; 21 | 22 | #endif // BITCOIN_QT_TEST_RPCNESTEDTESTS_H 23 | -------------------------------------------------------------------------------- /src/qt/test/uritests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_URITESTS_H 6 | #define BITCOIN_QT_TEST_URITESTS_H 7 | 8 | #include 9 | #include 10 | 11 | class URITests : public QObject 12 | { 13 | Q_OBJECT 14 | 15 | private Q_SLOTS: 16 | void uriTests(); 17 | }; 18 | 19 | #endif // BITCOIN_QT_TEST_URITESTS_H 20 | -------------------------------------------------------------------------------- /src/qt/test/util.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | void ConfirmMessage(QString* text, int msec) 11 | { 12 | QTimer::singleShot(msec, makeCallback([text](Callback* callback) { 13 | for (QWidget* widget : QApplication::topLevelWidgets()) { 14 | if (widget->inherits("QMessageBox")) { 15 | QMessageBox* messageBox = qobject_cast(widget); 16 | if (text) *text = messageBox->text(); 17 | messageBox->defaultButton()->click(); 18 | } 19 | } 20 | delete callback; 21 | }), SLOT(call())); 22 | } 23 | -------------------------------------------------------------------------------- /src/qt/test/util.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_QT_TEST_UTIL_H 2 | #define BITCOIN_QT_TEST_UTIL_H 3 | 4 | /** 5 | * Press "Ok" button in message box dialog. 6 | * 7 | * @param text - Optionally store dialog text. 8 | * @param msec - Number of miliseconds to pause before triggering the callback. 9 | */ 10 | void ConfirmMessage(QString* text = nullptr, int msec = 0); 11 | 12 | #endif // BITCOIN_QT_TEST_UTIL_H 13 | -------------------------------------------------------------------------------- /src/qt/test/wallettests.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_QT_TEST_WALLETTESTS_H 2 | #define BITCOIN_QT_TEST_WALLETTESTS_H 3 | 4 | #include 5 | #include 6 | 7 | class WalletTests : public QObject 8 | { 9 | Q_OBJECT 10 | 11 | private Q_SLOTS: 12 | void walletTests(); 13 | }; 14 | 15 | #endif // BITCOIN_QT_TEST_WALLETTESTS_H 16 | -------------------------------------------------------------------------------- /src/qt/transactiondescdialog.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "transactiondescdialog.h" 6 | #include 7 | 8 | #include 9 | 10 | #include 11 | 12 | TransactionDescDialog::TransactionDescDialog(const QModelIndex &idx, QWidget *parent) : 13 | QDialog(parent), 14 | ui(new Ui::TransactionDescDialog) 15 | { 16 | ui->setupUi(this); 17 | setWindowTitle(tr("Details for %1").arg(idx.data(TransactionTableModel::TxHashRole).toString())); 18 | QString desc = idx.data(TransactionTableModel::LongDescriptionRole).toString(); 19 | ui->detailText->setHtml(desc); 20 | } 21 | 22 | TransactionDescDialog::~TransactionDescDialog() 23 | { 24 | delete ui; 25 | } 26 | -------------------------------------------------------------------------------- /src/qt/transactiondescdialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TRANSACTIONDESCDIALOG_H 6 | #define BITCOIN_QT_TRANSACTIONDESCDIALOG_H 7 | 8 | #include 9 | 10 | namespace Ui { 11 | class TransactionDescDialog; 12 | } 13 | 14 | QT_BEGIN_NAMESPACE 15 | class QModelIndex; 16 | QT_END_NAMESPACE 17 | 18 | /** Dialog showing transaction details. */ 19 | class TransactionDescDialog : public QDialog 20 | { 21 | Q_OBJECT 22 | 23 | public: 24 | explicit TransactionDescDialog(const QModelIndex &idx, QWidget *parent = 0); 25 | ~TransactionDescDialog(); 26 | 27 | private: 28 | Ui::TransactionDescDialog *ui; 29 | }; 30 | 31 | #endif // BITCOIN_QT_TRANSACTIONDESCDIALOG_H 32 | -------------------------------------------------------------------------------- /src/reverse_iterator.h: -------------------------------------------------------------------------------- 1 | // Taken from https://gist.github.com/arvidsson/7231973 2 | 3 | #ifndef BITCOIN_REVERSE_ITERATOR_H 4 | #define BITCOIN_REVERSE_ITERATOR_H 5 | 6 | /** 7 | * Template used for reverse iteration in C++11 range-based for loops. 8 | * 9 | * std::vector v = {1, 2, 3, 4, 5}; 10 | * for (auto x : reverse_iterate(v)) 11 | * std::cout << x << " "; 12 | */ 13 | 14 | template 15 | class reverse_range 16 | { 17 | T &m_x; 18 | 19 | public: 20 | explicit reverse_range(T &x) : m_x(x) {} 21 | 22 | auto begin() const -> decltype(this->m_x.rbegin()) 23 | { 24 | return m_x.rbegin(); 25 | } 26 | 27 | auto end() const -> decltype(this->m_x.rend()) 28 | { 29 | return m_x.rend(); 30 | } 31 | }; 32 | 33 | template 34 | reverse_range reverse_iterate(T &x) 35 | { 36 | return reverse_range(x); 37 | } 38 | 39 | #endif // BITCOIN_REVERSE_ITERATOR_H 40 | -------------------------------------------------------------------------------- /src/reverselock.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_REVERSELOCK_H 6 | #define BITCOIN_REVERSELOCK_H 7 | 8 | /** 9 | * An RAII-style reverse lock. Unlocks on construction and locks on destruction. 10 | */ 11 | template 12 | class reverse_lock 13 | { 14 | public: 15 | 16 | explicit reverse_lock(Lock& _lock) : lock(_lock) { 17 | _lock.unlock(); 18 | _lock.swap(templock); 19 | } 20 | 21 | ~reverse_lock() { 22 | templock.lock(); 23 | templock.swap(lock); 24 | } 25 | 26 | private: 27 | reverse_lock(reverse_lock const&); 28 | reverse_lock& operator=(reverse_lock const&); 29 | 30 | Lock& lock; 31 | Lock templock; 32 | }; 33 | 34 | #endif // BITCOIN_REVERSELOCK_H 35 | -------------------------------------------------------------------------------- /src/rpc/mining.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_RPC_MINING_H 6 | #define BITCOIN_RPC_MINING_H 7 | 8 | #include