├── .gitattributes ├── .gitignore ├── .travis.yml ├── .tx └── config ├── 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_program_options.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 ├── configure.ac ├── contrib ├── README.md ├── bitcoin-cli.bash-completion ├── bitcoin-qt.pro ├── bitcoin-tx.bash-completion ├── bitcoind.bash-completion ├── debian │ ├── README.md │ ├── bitcoin-qt.desktop │ ├── bitcoin-qt.install │ ├── bitcoin-qt.lintian-overrides │ ├── bitcoin-qt.protocol │ ├── bitcoin-tx.bash-completion │ ├── bitcoin-tx.install │ ├── bitcoind.bash-completion │ ├── bitcoind.examples │ ├── bitcoind.install │ ├── bitcoind.lintian-overrides │ ├── bitcoind.manpages │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── examples │ │ └── bitcoin.conf │ ├── gbp.conf │ ├── manpages │ │ ├── bitcoinplus-cli.1 │ │ ├── bitcoinplus-qt.1 │ │ ├── bitcoinplus-tx.1 │ │ ├── bitcoinplus.conf.5 │ │ └── bitcoinplusd.1 │ ├── patches │ │ ├── README │ │ └── series │ ├── rules │ ├── source │ │ └── format │ └── watch ├── devtools │ ├── README.md │ ├── check-doc.py │ ├── clang-format-diff.py │ ├── clang-format.py │ ├── fix-copyright-headers.py │ ├── git-subtree-check.sh │ ├── github-merge.py │ ├── optimize-pngs.py │ ├── security-check.py │ ├── split-debug.sh.in │ ├── symbol-check.py │ ├── test-security-check.py │ └── update-translations.py ├── gitian-descriptors │ ├── README.md │ ├── gitian-linux.yml │ ├── gitian-osx-signer.yml │ ├── gitian-osx.yml │ ├── gitian-win-signer.yml │ └── gitian-win.yml ├── gitian-keys │ ├── achow101-key.pgp │ ├── aschildbach-key.pgp │ ├── bluematt-key.pgp │ ├── btcdrak-key.pgp │ ├── cdecker-key.pgp │ ├── centaur1-key.pgp │ ├── cfields-key.pgp │ ├── devrandom-key.pgp │ ├── erkmos.pgp │ ├── fanquake-key.pgp │ ├── gavinandresen-key.pgp │ ├── jl2012-key.pgp │ ├── jonasschnelli-key.pgp │ ├── laanwj-key.pgp │ ├── luke-jr-key.pgp │ ├── marcofalke-key.pgp │ ├── michagogo-key.pgp │ ├── petertodd-key.pgp │ ├── prab-key.pgp │ ├── sipa-key.pgp │ ├── tcatm-key.pgp │ └── wtogami-key.pgp ├── init │ ├── README.md │ ├── bitcoind.conf │ ├── bitcoind.init │ ├── bitcoind.openrc │ ├── bitcoind.openrcconf │ ├── bitcoind.service │ └── org.bitcoin.bitcoind.plist ├── 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 │ ├── fancy.plist │ └── macdeployqtplus ├── qos │ ├── README.md │ └── tc.sh ├── qt_translations.py ├── rpm │ ├── README.md │ ├── bitcoin-0.12.0-libressl.patch │ ├── bitcoin.fc │ ├── bitcoin.if │ ├── bitcoin.spec │ └── bitcoin.te ├── seeds │ ├── README.md │ ├── generate-seeds.py │ ├── makeseeds.py │ ├── nodes_main.txt │ └── nodes_test.txt ├── spendfrom │ ├── README.md │ ├── setup.py │ └── spendfrom.py ├── testgen │ ├── README.md │ ├── base58.py │ └── gen_base58_test_vectors.py ├── tidy_datadir.sh ├── verify-commits │ ├── README.md │ ├── allow-revsig-commits │ ├── gpg.sh │ ├── pre-push-hook.sh │ ├── trusted-git-root │ ├── trusted-keys │ └── verify-commits.sh ├── verifybinaries │ ├── README.md │ └── verify.sh └── zmq │ └── zmq_sub.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 │ ├── libICE.mk │ ├── libSM.mk │ ├── libX11.mk │ ├── libXau.mk │ ├── libXext.mk │ ├── libevent.mk │ ├── libxcb.mk │ ├── miniupnpc.mk │ ├── native_biplist.mk │ ├── native_ccache.mk │ ├── native_cctools.mk │ ├── native_cdrkit.mk │ ├── native_comparisontool.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 │ ├── libevent │ ├── libevent-2-fixes.patch │ └── reuseaddr.patch │ ├── native_biplist │ └── sorted_list.patch │ ├── native_cdrkit │ └── cdrkit-deterministic.patch │ └── qt │ ├── fix-cocoahelpers-macos.patch │ ├── fix-xcb-include-order.patch │ ├── fix_qt_pkgconfig.patch │ ├── mac-qmake.conf │ ├── mingw-uuidof.patch │ ├── pidlist_absolute.patch │ └── qfixed-coretext.patch ├── doc ├── Doxyfile ├── README.md ├── README_osx.md ├── README_windows.txt ├── REST-interface.md ├── assets-attribution.md ├── benchmarking.md ├── bips.md ├── bitcoin_logo_doxygen.png ├── build-openbsd.md ├── build-osx.md ├── build-unix.md ├── build-windows.md ├── developer-notes.md ├── dnsseed-policy.md ├── files.md ├── gitian-building.md ├── gitian-building │ ├── all_files_in_one_partition.png │ ├── create_new_vm.png │ ├── create_vm_file_location_size.png │ ├── create_vm_hard_disk.png │ ├── create_vm_hard_disk_file_type.png │ ├── create_vm_memsize.png │ ├── create_vm_storage_physical_hard_disk.png │ ├── debian_install_10_configure_clock.png │ ├── debian_install_11_partition_disks.png │ ├── debian_install_12_choose_disk.png │ ├── debian_install_14_finish.png │ ├── debian_install_15_write_changes.png │ ├── debian_install_16_choose_a_mirror.png │ ├── debian_install_18_proxy_settings.png │ ├── debian_install_19_software_selection.png │ ├── debian_install_1_boot_menu.png │ ├── debian_install_20_install_grub.png │ ├── debian_install_21_install_grub_bootloader.png │ ├── debian_install_22_finish_installation.png │ ├── debian_install_2_select_a_language.png │ ├── debian_install_3_select_location.png │ ├── debian_install_4_configure_keyboard.png │ ├── debian_install_5_configure_the_network.png │ ├── debian_install_6_domain_name.png │ ├── debian_install_6a_set_up_root_password.png │ ├── debian_install_7_set_up_user_fullname.png │ ├── debian_install_8_set_up_username.png │ ├── debian_install_9_user_password.png │ ├── debian_root_login.png │ ├── network_settings.png │ ├── port_forwarding_rules.png │ └── select_startup_disk.png ├── init.md ├── multiwallet-qt.md ├── reduce-traffic.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.13.0.md │ ├── release-notes-0.13.1.md │ ├── release-notes-0.13.2.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.txt ├── unit-tests.md └── zmq.md ├── libbitcoinconsensus.pc.in ├── qa ├── README.md ├── pull-tester │ ├── rpc-tests.py │ ├── run-bitcoind-for-test.sh.in │ └── tests_config.py.in └── rpc-tests │ ├── .gitignore │ ├── README.md │ ├── abandonconflict.py │ ├── bip65-cltv-p2p.py │ ├── bip65-cltv.py │ ├── bip68-112-113-p2p.py │ ├── bip68-sequence.py │ ├── bip9-softforks.py │ ├── bipdersig-p2p.py │ ├── bipdersig.py │ ├── blockchain.py │ ├── create_cache.py │ ├── decodescript.py │ ├── disablewallet.py │ ├── forknotify.py │ ├── fundrawtransaction.py │ ├── getblocktemplate_longpoll.py │ ├── getblocktemplate_proposals.py │ ├── getchaintips.py │ ├── httpbasics.py │ ├── importprunedfunds.py │ ├── invalidateblock.py │ ├── invalidblockrequest.py │ ├── invalidtxrequest.py │ ├── keypool.py │ ├── listtransactions.py │ ├── maxblocksinflight.py │ ├── maxuploadtarget.py │ ├── mempool_limit.py │ ├── mempool_packages.py │ ├── mempool_reorg.py │ ├── mempool_resurrect_test.py │ ├── mempool_spendcoinbase.py │ ├── merkle_blocks.py │ ├── multi_rpc.py │ ├── nodehandling.py │ ├── nulldummy.py │ ├── p2p-acceptblock.py │ ├── p2p-compactblocks.py │ ├── p2p-feefilter.py │ ├── p2p-fullblocktest.py │ ├── p2p-mempool.py │ ├── p2p-segwit.py │ ├── p2p-versionbits-warning.py │ ├── prioritise_transaction.py │ ├── proxy_test.py │ ├── pruning.py │ ├── rawtransactions.py │ ├── receivedby.py │ ├── reindex.py │ ├── replace-by-fee.py │ ├── rest.py │ ├── rpcbind_test.py │ ├── segwit.py │ ├── sendheaders.py │ ├── signmessages.py │ ├── signrawtransactions.py │ ├── smartfees.py │ ├── test_framework │ ├── __init__.py │ ├── address.py │ ├── authproxy.py │ ├── bignum.py │ ├── blockstore.py │ ├── blocktools.py │ ├── comptool.py │ ├── coverage.py │ ├── key.py │ ├── mininode.py │ ├── netutil.py │ ├── script.py │ ├── siphash.py │ ├── socks5.py │ ├── test_framework.py │ └── util.py │ ├── txn_clone.py │ ├── txn_doublespend.py │ ├── wallet-dump.py │ ├── wallet-hd.py │ ├── wallet.py │ ├── walletbackup.py │ ├── zapwallettxes.py │ └── zmq_test.py ├── share ├── certs │ ├── BitcoinFoundation_Apple_Cert.pem │ ├── BitcoinFoundation_Comodo_Cert.pem │ └── PrivateKeyNotes.md ├── genbuild.sh ├── pixmaps │ ├── bitcoin.ico │ ├── bitcoin128.png │ ├── bitcoin16.png │ ├── bitcoin256.png │ ├── bitcoin32.png │ ├── bitcoin64.png │ ├── nsis-header.bmp │ └── nsis-wizard.bmp ├── qt │ ├── Info.plist.in │ ├── extract_strings_qt.py │ └── protobuf.pri ├── rpcuser │ ├── README.md │ └── rpcuser.py └── setup.nsi.in └── src ├── .clang-format ├── Makefile.am ├── Makefile.bench.include ├── Makefile.leveldb.include ├── Makefile.qt.include ├── Makefile.qttest.include ├── Makefile.test.include ├── addrman.cpp ├── addrman.h ├── aes_helper.c ├── amount.cpp ├── amount.h ├── arith_uint256.cpp ├── arith_uint256.h ├── base58.cpp ├── base58.h ├── bench ├── .gitignore ├── Examples.cpp ├── base58.cpp ├── bench.cpp ├── bench.h ├── bench_bitcoin.cpp ├── crypto_hash.cpp └── rollingbloom.cpp ├── bitcoin-cli-res.rc ├── bitcoin-cli.cpp ├── bitcoin-tx-res.rc ├── bitcoin-tx.cpp ├── bitcoind-res.rc ├── bitcoind.cpp ├── blake.c ├── blockencodings.cpp ├── blockencodings.h ├── bloom.cpp ├── bloom.h ├── bmw.c ├── chain.cpp ├── chain.h ├── chainparams.cpp ├── chainparams.h ├── chainparamsbase.cpp ├── chainparamsbase.h ├── chainparamsseeds.h ├── checkpoints.cpp ├── checkpoints.h ├── checkpointsync.cpp ├── checkpointsync.h ├── checkqueue.h ├── clientversion.cpp ├── clientversion.h ├── coincontrol.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 └── validation.h ├── core_io.h ├── core_memusage.h ├── core_read.cpp ├── core_write.cpp ├── crypto ├── aes.cpp ├── aes.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 ├── ripemd160.cpp ├── ripemd160.h ├── sha1.cpp ├── sha1.h ├── sha256.cpp ├── sha256.h ├── sha512.cpp └── sha512.h ├── cubehash.c ├── dbwrapper.cpp ├── dbwrapper.h ├── echo.c ├── fugue.c ├── groestl.c ├── hamsi.c ├── hamsi_helper.c ├── hash.cpp ├── hash.h ├── hashblock.h ├── httprpc.cpp ├── httprpc.h ├── httpserver.cpp ├── httpserver.h ├── indirectmap.h ├── init.cpp ├── init.h ├── jh.c ├── keccak.c ├── key.cpp ├── key.h ├── keystore.cpp ├── keystore.h ├── leveldb ├── .gitignore ├── AUTHORS ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── NEWS ├── README ├── 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 │ ├── filename.cc │ ├── filename.h │ ├── filename_test.cc │ ├── leveldb_main.cc │ ├── log_format.h │ ├── log_reader.cc │ ├── log_reader.h │ ├── log_test.cc │ ├── log_writer.cc │ ├── log_writer.h │ ├── memtable.cc │ ├── memtable.h │ ├── 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 │ ├── doc.css │ ├── impl.html │ ├── index.html │ ├── log_format.txt │ └── table_format.txt ├── 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_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_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 ├── luffa.c ├── lz4 ├── LICENSE ├── lz4.c └── lz4.h ├── main.cpp ├── main.h ├── memusage.h ├── merkleblock.cpp ├── merkleblock.h ├── miner.cpp ├── miner.h ├── net.cpp ├── net.h ├── netbase.cpp ├── netbase.h ├── noui.cpp ├── noui.h ├── obj-test └── .gitignore ├── obj └── .gitignore ├── policy ├── fees.cpp ├── fees.h ├── policy.cpp ├── policy.h ├── rbf.cpp └── rbf.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 ├── addcontactdialog.cpp ├── addcontactdialog.h ├── 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 ├── clientmodel.cpp ├── clientmodel.h ├── coincontroldialog.cpp ├── coincontroldialog.h ├── coincontroltreewidget.cpp ├── coincontroltreewidget.h ├── csvmodelwriter.cpp ├── csvmodelwriter.h ├── editaddressdialog.cpp ├── editaddressdialog.h ├── forms │ ├── addcontactdialog.ui │ ├── addressbookpage.ui │ ├── askpassphrasedialog.ui │ ├── coincontroldialog.ui │ ├── debugwindow.ui │ ├── editaddressdialog.ui │ ├── helpmessagedialog.ui │ ├── intro.ui │ ├── openuridialog.ui │ ├── optionsdialog.ui │ ├── overviewpage.ui │ ├── receivecoinsdialog.ui │ ├── receiverequestdialog.ui │ ├── securemessage.ui │ ├── sendcoinsdialog.ui │ ├── sendcoinsentry.ui │ ├── signverifymessagedialog.ui │ └── transactiondescdialog.ui ├── guiconstants.h ├── guiutil.cpp ├── guiutil.h ├── intro.cpp ├── intro.h ├── listview.h ├── locale │ ├── bitcoin_af.ts │ ├── bitcoin_af_ZA.ts │ ├── bitcoin_ar.ts │ ├── bitcoin_be_BY.ts │ ├── bitcoin_bg.ts │ ├── bitcoin_bg_BG.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_el.ts │ ├── bitcoin_el_GR.ts │ ├── bitcoin_en.ts │ ├── bitcoin_en_GB.ts │ ├── bitcoin_eo.ts │ ├── bitcoin_es.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_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_hi_IN.ts │ ├── bitcoin_hr.ts │ ├── bitcoin_hu.ts │ ├── bitcoin_id_ID.ts │ ├── bitcoin_it.ts │ ├── bitcoin_it_IT.ts │ ├── bitcoin_ja.ts │ ├── bitcoin_ka.ts │ ├── bitcoin_kk_KZ.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_mn.ts │ ├── bitcoin_ms_MY.ts │ ├── bitcoin_nb.ts │ ├── bitcoin_ne.ts │ ├── bitcoin_nl.ts │ ├── bitcoin_pam.ts │ ├── bitcoin_pl.ts │ ├── bitcoin_pt_BR.ts │ ├── bitcoin_pt_PT.ts │ ├── bitcoin_ro.ts │ ├── bitcoin_ro_RO.ts │ ├── bitcoin_ru.ts │ ├── bitcoin_ru_RU.ts │ ├── bitcoin_sk.ts │ ├── bitcoin_sl_SI.ts │ ├── bitcoin_sq.ts │ ├── bitcoin_sr.ts │ ├── bitcoin_sr@latin.ts │ ├── bitcoin_sv.ts │ ├── bitcoin_ta.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.ts │ ├── bitcoin_zh_CN.ts │ ├── bitcoin_zh_HK.ts │ └── bitcoin_zh_TW.ts ├── macdockiconhandler.h ├── macdockiconhandler.mm ├── macnotificationhandler.h ├── macnotificationhandler.mm ├── 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 │ ├── icons │ │ ├── about.png │ │ ├── about_qt.png │ │ ├── add.png │ │ ├── address-book.png │ │ ├── bitcoin.icns │ │ ├── bitcoin.ico │ │ ├── bitcoin.png │ │ ├── bitcoin_testnet.ico │ │ ├── chevron.png │ │ ├── clock1.png │ │ ├── clock2.png │ │ ├── clock3.png │ │ ├── clock4.png │ │ ├── clock5.png │ │ ├── configure.png │ │ ├── connect0.png │ │ ├── connect1.png │ │ ├── connect2.png │ │ ├── connect3.png │ │ ├── connect4.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 │ │ ├── history.png │ │ ├── info.png │ │ ├── key.png │ │ ├── lock_closed.png │ │ ├── lock_open.png │ │ ├── open.png │ │ ├── overview.png │ │ ├── quit.png │ │ ├── receive.png │ │ ├── remove.png │ │ ├── send.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 │ ├── 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 │ │ ├── bitcoin.svg │ │ ├── clock_0.svg │ │ ├── clock_1.svg │ │ ├── clock_2.svg │ │ ├── clock_3.svg │ │ ├── clock_4.svg │ │ ├── connect-0.svg │ │ ├── connect-1.svg │ │ ├── connect-2.svg │ │ ├── connect-3.svg │ │ ├── connect-4.svg │ │ ├── mine.svg │ │ ├── qt.svg │ │ ├── spinner.png │ │ ├── transaction0.svg │ │ ├── tx_in.svg │ │ ├── tx_inout.svg │ │ └── verify.svg ├── rpcconsole.cpp ├── rpcconsole.h ├── securemessage.cpp ├── securemessage.h ├── sendcoinsdialog.cpp ├── sendcoinsdialog.h ├── sendcoinsentry.cpp ├── sendcoinsentry.h ├── signverifymessagedialog.cpp ├── signverifymessagedialog.h ├── splashscreen.cpp ├── splashscreen.h ├── test │ ├── Makefile │ ├── compattests.cpp │ ├── compattests.h │ ├── paymentrequestdata.h │ ├── paymentservertests.cpp │ ├── paymentservertests.h │ ├── test_main.cpp │ ├── uritests.cpp │ └── uritests.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 ├── rest.cpp ├── reverselock.h ├── rpc ├── blockchain.cpp ├── client.cpp ├── client.h ├── mining.cpp ├── misc.cpp ├── net.cpp ├── protocol.cpp ├── protocol.h ├── rawtransaction.cpp ├── register.h ├── server.cpp └── server.h ├── scheduler.cpp ├── scheduler.h ├── script ├── bitcoinconsensus.cpp ├── bitcoinconsensus.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_ecdh.h │ └── secp256k1_recovery.h ├── libsecp256k1.pc.in ├── obj │ └── .gitignore ├── sage │ ├── group_prover.sage │ ├── secp256k1.sage │ └── weierstrass_prover.sage └── src │ ├── asm │ └── field_10x26_arm.s │ ├── basic-config.h │ ├── bench.h │ ├── bench_ecdh.c │ ├── bench_internal.c │ ├── bench_recover.c │ ├── bench_schnorr_verify.c │ ├── bench_sign.c │ ├── bench_verify.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 │ ├── ecdh │ │ ├── Makefile.am.include │ │ ├── main_impl.h │ │ └── tests_impl.h │ └── recovery │ │ ├── Makefile.am.include │ │ ├── main_impl.h │ │ └── tests_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 │ ├── secp256k1.c │ ├── testrand.h │ ├── testrand_impl.h │ ├── tests.c │ ├── tests_exhaustive.c │ └── util.h ├── serialize.h ├── shavite.c ├── simd.c ├── skein.c ├── smessage.cpp ├── smessage.h ├── sph_blake.h ├── sph_bmw.h ├── sph_cubehash.h ├── sph_echo.h ├── sph_fugue.h ├── sph_groestl.h ├── sph_hamsi.h ├── sph_jh.h ├── sph_keccak.h ├── sph_luffa.h ├── sph_shavite.h ├── sph_simd.h ├── sph_skein.h ├── sph_types.h ├── streams.h ├── support ├── allocators │ ├── secure.h │ └── zeroafterfree.h ├── cleanse.cpp ├── cleanse.h ├── pagelocker.cpp └── pagelocker.h ├── sync.cpp ├── sync.h ├── test ├── DoS_tests.cpp ├── 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 ├── bctest.py ├── bip32_tests.cpp ├── bitcoin-util-test.py ├── blockencodings_tests.cpp ├── bloom_tests.cpp ├── bswap_tests.cpp ├── buildenv.py.in ├── coins_tests.cpp ├── compress_tests.cpp ├── crypto_tests.cpp ├── data │ ├── README.md │ ├── base58_encode_decode.json │ ├── base58_keys_invalid.json │ ├── base58_keys_valid.json │ ├── bitcoin-util-test.json │ ├── blanktx.hex │ ├── blanktx.json │ ├── script_tests.json │ ├── sighash.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 │ ├── tx_invalid.json │ ├── tx_valid.json │ ├── 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 │ ├── txcreatesign.hex │ └── txcreatesign.json ├── dbwrapper_tests.cpp ├── getarg_tests.cpp ├── hash_tests.cpp ├── key_tests.cpp ├── limitedmap_tests.cpp ├── main_tests.cpp ├── mempool_tests.cpp ├── merkle_tests.cpp ├── miner_tests.cpp ├── multisig_tests.cpp ├── net_tests.cpp ├── netbase_tests.cpp ├── pmt_tests.cpp ├── policyestimator_tests.cpp ├── pow_tests.cpp ├── prevector_tests.cpp ├── reverselock_tests.cpp ├── rpc_tests.cpp ├── sanity_tests.cpp ├── scheduler_tests.cpp ├── script_P2SH_tests.cpp ├── script_tests.cpp ├── scriptnum10.h ├── scriptnum_tests.cpp ├── serialize_tests.cpp ├── sighash_tests.cpp ├── sigopcount_tests.cpp ├── skiplist_tests.cpp ├── streams_tests.cpp ├── test_bitcoin.cpp ├── test_bitcoin.h ├── testutil.cpp ├── testutil.h ├── timedata_tests.cpp ├── transaction_tests.cpp ├── txvalidationcache_tests.cpp ├── uint256_tests.cpp ├── univalue_tests.cpp ├── util_tests.cpp └── versionbits_tests.cpp ├── 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 ├── univalue ├── .gitignore ├── .travis.yml ├── COPYING ├── Makefile.am ├── README ├── TODO ├── autogen.sh ├── build-aux │ └── m4 │ │ └── .gitignore ├── configure.ac ├── gen │ └── gen.cpp ├── include │ └── univalue.h ├── lib │ ├── .gitignore │ ├── univalue.cpp │ ├── univalue_escapes.h │ ├── 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 │ ├── fail5.json │ ├── fail6.json │ ├── fail7.json │ ├── fail8.json │ ├── fail9.json │ ├── pass1.json │ ├── pass2.json │ ├── pass3.json │ ├── round1.json │ ├── round2.json │ └── unitester.cpp ├── util.cpp ├── util.h ├── utilmoneystr.cpp ├── utilmoneystr.h ├── utilstrencodings.cpp ├── utilstrencodings.h ├── utiltime.cpp ├── utiltime.h ├── validationinterface.cpp ├── validationinterface.h ├── version.h ├── versionbits.cpp ├── versionbits.h ├── wallet ├── crypter.cpp ├── crypter.h ├── db.cpp ├── db.h ├── rpcdump.cpp ├── rpcwallet.cpp ├── rpcwallet.h ├── test │ ├── accounting_tests.cpp │ ├── crypto_tests.cpp │ ├── rpc_wallet_tests.cpp │ ├── wallet_test_fixture.cpp │ ├── wallet_test_fixture.h │ └── wallet_tests.cpp ├── wallet.cpp ├── wallet.h ├── walletdb.cpp └── walletdb.h ├── xxhash ├── xxhash.c └── xxhash.h └── zmq ├── zmqabstractnotifier.cpp ├── zmqabstractnotifier.h ├── zmqconfig.h ├── zmqnotificationinterface.cpp ├── zmqnotificationinterface.h ├── zmqpublishnotifier.cpp └── zmqpublishnotifier.h /.gitattributes: -------------------------------------------------------------------------------- 1 | src/clientversion.cpp export-subst 2 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [bitcoin.qt-translation-013x] 5 | file_filter = src/qt/locale/bitcoin_.ts 6 | source_file = src/qt/locale/bitcoin_en.ts 7 | source_lang = en 8 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2009-2016 The Bitcoin Core developers 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /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 | set -e 7 | srcdir="$(dirname $0)" 8 | cd "$srcdir" 9 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then 10 | LIBTOOLIZE="${GLIBTOOLIZE}" 11 | export LIBTOOLIZE 12 | fi 13 | which autoreconf >/dev/null || \ 14 | (echo "configuration failed, please install autoconf first" && exit 1) 15 | autoreconf --install --force --warnings=all 16 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /contrib/bitcoin-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/signverifymessagedialog.ui \ 18 | ../src/qt/forms/transactiondescdialog.ui \ 19 | 20 | RESOURCES += \ 21 | ../src/qt/bitcoin.qrc 22 | -------------------------------------------------------------------------------- /contrib/debian/README.md: -------------------------------------------------------------------------------- 1 | 2 | Debian 3 | ==================== 4 | This directory contains files used to package bitcoind/bitcoin-qt 5 | for Debian-based Linux systems. If you compile bitcoind/bitcoin-qt yourself, there are some useful files here. 6 | 7 | ## bitcoin: URI support ## 8 | 9 | 10 | bitcoin-qt.desktop (Gnome / Open Desktop) 11 | To install: 12 | 13 | sudo desktop-file-install bitcoin-qt.desktop 14 | sudo update-desktop-database 15 | 16 | If you build yourself, you will either need to modify the paths in 17 | the .desktop file or copy or symlink your bitcoin-qt binary to `/usr/bin` 18 | and the `../../share/pixmaps/bitcoin128.png` to `/usr/share/pixmaps` 19 | 20 | bitcoin-qt.protocol (KDE) 21 | 22 | -------------------------------------------------------------------------------- /contrib/debian/bitcoin-qt.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Name=Bitcoin Core 4 | Comment=Connect to the Bitcoin P2P Network 5 | Comment[de]=Verbinde mit dem Bitcoin peer-to-peer Netzwerk 6 | Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair 7 | Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi 8 | Exec=bitcoin-qt %u 9 | Terminal=false 10 | Type=Application 11 | Icon=bitcoin128 12 | MimeType=x-scheme-handler/bitcoin; 13 | Categories=Office;Finance; 14 | -------------------------------------------------------------------------------- /contrib/debian/bitcoin-qt.install: -------------------------------------------------------------------------------- 1 | usr/local/bin/bitcoin-qt usr/bin 2 | share/pixmaps/bitcoin32.xpm usr/share/pixmaps 3 | share/pixmaps/bitcoin16.xpm usr/share/pixmaps 4 | share/pixmaps/bitcoin128.png usr/share/pixmaps 5 | debian/bitcoin-qt.desktop usr/share/applications 6 | debian/bitcoin-qt.protocol usr/share/kde4/services/ 7 | -------------------------------------------------------------------------------- /contrib/debian/bitcoin-qt.lintian-overrides: -------------------------------------------------------------------------------- 1 | # Linked code is Expat - only Debian packaging is GPL-2+ 2 | bitcoin-qt: possible-gpl-code-linked-with-openssl 3 | -------------------------------------------------------------------------------- /contrib/debian/bitcoin-qt.protocol: -------------------------------------------------------------------------------- 1 | [Protocol] 2 | exec=bitcoin-qt '%u' 3 | protocol=bitcoin 4 | input=none 5 | output=none 6 | helper=true 7 | listing= 8 | reading=false 9 | writing=false 10 | makedir=false 11 | deleting=false 12 | -------------------------------------------------------------------------------- /contrib/debian/bitcoin-tx.bash-completion: -------------------------------------------------------------------------------- 1 | contrib/bitcoin-tx.bash-completion bitcoin-tx 2 | -------------------------------------------------------------------------------- /contrib/debian/bitcoin-tx.install: -------------------------------------------------------------------------------- 1 | usr/local/bin/bitcoin-tx usr/bin 2 | -------------------------------------------------------------------------------- /contrib/debian/bitcoind.bash-completion: -------------------------------------------------------------------------------- 1 | contrib/bitcoind.bash-completion bitcoind 2 | contrib/bitcoin-cli.bash-completion bitcoin-cli 3 | -------------------------------------------------------------------------------- /contrib/debian/bitcoind.examples: -------------------------------------------------------------------------------- 1 | debian/examples/bitcoin.conf 2 | -------------------------------------------------------------------------------- /contrib/debian/bitcoind.install: -------------------------------------------------------------------------------- 1 | usr/local/bin/bitcoind usr/bin 2 | usr/local/bin/bitcoin-cli usr/bin 3 | -------------------------------------------------------------------------------- /contrib/debian/bitcoind.lintian-overrides: -------------------------------------------------------------------------------- 1 | # Linked code is Expat - only Debian packaging is GPL-2+ 2 | bitcoind: possible-gpl-code-linked-with-openssl 3 | -------------------------------------------------------------------------------- /contrib/debian/bitcoind.manpages: -------------------------------------------------------------------------------- 1 | debian/manpages/bitcoind.1 2 | debian/manpages/bitcoin.conf.5 3 | debian/manpages/bitcoin-cli.1 4 | -------------------------------------------------------------------------------- /contrib/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /contrib/debian/gbp.conf: -------------------------------------------------------------------------------- 1 | # Configuration file for git-buildpackage and friends 2 | 3 | [DEFAULT] 4 | pristine-tar = True 5 | sign-tags = True 6 | -------------------------------------------------------------------------------- /contrib/debian/patches/README: -------------------------------------------------------------------------------- 1 | 0xxx: Grabbed from upstream development. 2 | 1xxx: Possibly relevant for upstream adoption. 3 | 2xxx: Only relevant for official Debian release. 4 | -------------------------------------------------------------------------------- /contrib/debian/patches/series: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /contrib/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- mode: makefile; coding: utf-8 -*- 3 | 4 | #DEB_MAKE_CHECK_TARGET = test_bitcoin 5 | #build/bitcoind:: 6 | # $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_bitcoin) 7 | 8 | DEB_INSTALL_EXAMPLES_bitcoind += debian/examples/* 9 | DEB_INSTALL_MANPAGES_bitcoind += debian/manpages/* 10 | 11 | %: 12 | dh --with bash-completion $@ 13 | 14 | override_dh_auto_clean: 15 | if [ -f Makefile ]; then $(MAKE) distclean; fi 16 | rm -rf Makefile.in aclocal.m4 configure src/Makefile.in src/bitcoin-config.h.in src/build-aux src/qt/Makefile.in src/qt/test/Makefile.in src/test/Makefile.in 17 | 18 | # Yea, autogen should be run on the source archive, but I like doing git archive 19 | override_dh_auto_configure: 20 | ./autogen.sh 21 | ./configure 22 | 23 | override_dh_auto_test: 24 | make check 25 | -------------------------------------------------------------------------------- /contrib/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /contrib/debian/watch: -------------------------------------------------------------------------------- 1 | # Run the "uscan" command to check for upstream updates and more. 2 | version=3 3 | # use qa.debian.org redirector; see man uscan 4 | opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/,dversionmangle=s/~dfsg\d*// \ 5 | http://githubredir.debian.net/github/bitcoin/bitcoin v(.*).tar.gz 6 | -------------------------------------------------------------------------------- /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/gitian-keys/aschildbach-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/aschildbach-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/bluematt-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/bluematt-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/btcdrak-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/btcdrak-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/cdecker-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/cdecker-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/devrandom-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/devrandom-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/erkmos.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/erkmos.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/gavinandresen-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/gavinandresen-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/luke-jr-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/luke-jr-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/sipa-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/sipa-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/tcatm-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/gitian-keys/tcatm-key.pgp -------------------------------------------------------------------------------- /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 | OS X: 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/bitcoind.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Bitcoin's distributed currency daemon 3 | After=network.target 4 | 5 | [Service] 6 | User=bitcoin 7 | Group=bitcoin 8 | 9 | Type=forking 10 | PIDFile=/var/lib/bitcoind/bitcoind.pid 11 | ExecStart=/usr/bin/bitcoind -daemon -pid=/var/lib/bitcoind/bitcoind.pid \ 12 | -conf=/etc/bitcoin/bitcoin.conf -datadir=/var/lib/bitcoind -disablewallet 13 | 14 | Restart=always 15 | PrivateTmp=true 16 | TimeoutStopSec=60s 17 | TimeoutStartSec=2s 18 | StartLimitInterval=120s 19 | StartLimitBurst=5 20 | 21 | [Install] 22 | WantedBy=multi-user.target 23 | -------------------------------------------------------------------------------- /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 | -daemon 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /contrib/linearize/example-linearize.cfg: -------------------------------------------------------------------------------- 1 | 2 | # bitcoind RPC settings (linearize-hashes) 3 | rpcuser=someuser 4 | rpcpassword=somepassword 5 | host=127.0.0.1 6 | port=8332 7 | #port=18332 8 | 9 | # bootstrap.dat hashlist settings (linearize-hashes) 10 | max_height=313000 11 | 12 | # bootstrap.dat input/output settings (linearize-data) 13 | 14 | # mainnet 15 | netmagic=f9beb4d9 16 | genesis=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 17 | input=/home/example/.bitcoin/blocks 18 | 19 | # testnet 20 | #netmagic=0b110907 21 | #genesis=000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943 22 | #input=/home/example/.bitcoin/testnet3/blocks 23 | 24 | output_file=/home/example/Downloads/bootstrap.dat 25 | hashlist=hashlist.txt 26 | split_year=1 27 | 28 | # Maxmimum size in bytes of out-of-order blocks cache in memory 29 | out_of_order_cache_sz = 100000000 30 | -------------------------------------------------------------------------------- /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 | BitcoinPlus-Qt.app 26 | 27 | 128 28 | 156 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /contrib/qos/README.md: -------------------------------------------------------------------------------- 1 | ### Qos ### 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 (defined as 192.168.x.x). 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/qt_translations.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Copyright (c) 2011 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 | # Helpful little script that spits out a comma-separated list of 7 | # language codes for Qt icons that should be included 8 | # in binary bitcoin distributions 9 | 10 | import glob 11 | import os 12 | import re 13 | import sys 14 | 15 | if len(sys.argv) != 3: 16 | sys.exit("Usage: %s $QTDIR/translations $BITCOINDIR/src/qt/locale"%sys.argv[0]) 17 | 18 | d1 = sys.argv[1] 19 | d2 = sys.argv[2] 20 | 21 | l1 = set([ re.search(r'qt_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d1, 'qt_*.qm')) ]) 22 | l2 = set([ re.search(r'bitcoin_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'bitcoin_*.qm')) ]) 23 | 24 | print ",".join(sorted(l1.intersection(l2))) 25 | 26 | -------------------------------------------------------------------------------- /contrib/rpm/bitcoin.fc: -------------------------------------------------------------------------------- 1 | /usr/bin/bitcoin-cli -- gen_context(system_u:object_r:bitcoin_exec_t,s0) 2 | /usr/sbin/bitcoind -- gen_context(system_u:object_r:bitcoin_exec_t,s0) 3 | /usr/lib(64)?/bitcoin/bitcoind -- gen_context(system_u:object_r:bitcoin_exec_t,s0) 4 | 5 | /etc/bitcoin(/.*)? gen_context(system_u:object_r:bitcoin_conf_t,s0) 6 | /var/lib/bitcoin(/.*)? gen_context(system_u:object_r:bitcoin_var_lib_t,s0) 7 | 8 | (/var)?/run/bitcoind(/.*)? gen_context(system_u:object_r:bitcoin_var_run_t,s0) 9 | -------------------------------------------------------------------------------- /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 | The seeds compiled into the release are created from sipa's DNS seed data, like this: 7 | 8 | curl -s http://bitcoin.sipa.be/seeds.txt > seeds_main.txt 9 | python makeseeds.py < seeds_main.txt > nodes_main.txt 10 | python generate-seeds.py . > ../../src/chainparamsseeds.h 11 | 12 | -------------------------------------------------------------------------------- /contrib/seeds/nodes_main.txt: -------------------------------------------------------------------------------- 1 | 178.128.157.171:8884 2 | 188.226.146.79:8884 3 | 138.68.88.179:8884 4 | -------------------------------------------------------------------------------- /contrib/seeds/nodes_test.txt: -------------------------------------------------------------------------------- 1 | 178.128.157.171:18884 2 | -------------------------------------------------------------------------------- /contrib/spendfrom/setup.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013 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 | from distutils.core import setup 5 | setup(name='btcspendfrom', 6 | version='1.0', 7 | description='Command-line utility for bitcoin "coin control"', 8 | author='Gavin Andresen', 9 | author_email='gavin@bitcoinfoundation.org', 10 | requires=['jsonrpc'], 11 | scripts=['spendfrom.py'], 12 | ) 13 | -------------------------------------------------------------------------------- /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-revsig-commits: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/contrib/verify-commits/allow-revsig-commits -------------------------------------------------------------------------------- /contrib/verify-commits/pre-push-hook.sh: -------------------------------------------------------------------------------- 1 | #!/bin/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 | if ! [[ "$2" =~ ^(git@)?(www.)?github.com(:|/)bitcoin/bitcoin(.git)?$ ]]; then 7 | exit 0 8 | fi 9 | 10 | while read LINE; do 11 | set -- A $LINE 12 | if [ "$4" != "refs/heads/master" ]; then 13 | continue 14 | fi 15 | if ! ./contrib/verify-commits/verify-commits.sh $3 > /dev/null 2>&1; then 16 | echo "ERROR: A commit is not signed, can't push" 17 | ./contrib/verify-commits/verify-commits.sh 18 | exit 1 19 | fi 20 | done < /dev/stdin 21 | -------------------------------------------------------------------------------- /contrib/verify-commits/trusted-git-root: -------------------------------------------------------------------------------- 1 | 82bcf405f6db1d55b684a1f63a4aabad376cdad7 2 | -------------------------------------------------------------------------------- /contrib/verify-commits/trusted-keys: -------------------------------------------------------------------------------- 1 | 71A3B16735405025D447E8F274810B012346C9A6 2 | 3F1888C6DCA92A6499C4911FDBA1A67379A1A931 3 | 32EE5C4C3FA15CCADB46ABE529D4BCB6416F53EC 4 | FE09B823E6D83A3BC7983EAA2D7F2372E50FE137 5 | -------------------------------------------------------------------------------- /contrib/verifybinaries/README.md: -------------------------------------------------------------------------------- 1 | ### Verify Binaries 2 | This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org. 3 | 4 | It first checks if the signature passes, and then downloads the files specified in the file, and checks if the hashes of these files match those that are specified in the signature file. 5 | 6 | The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2. 7 | 8 | Usage: 9 | 10 | ```sh 11 | ./verify.sh bitcoin-core-0.11.2 12 | ./verify.sh bitcoin-core-0.12.0 13 | ``` 14 | -------------------------------------------------------------------------------- /depends/.gitignore: -------------------------------------------------------------------------------- 1 | SDKs/ 2 | work/ 3 | built/ 4 | sources/ 5 | config.site 6 | x86_64* 7 | i686* 8 | mips* 9 | arm* 10 | -------------------------------------------------------------------------------- /depends/builders/darwin.mk: -------------------------------------------------------------------------------- 1 | build_darwin_CC: = $(shell xcrun -f clang) 2 | build_darwin_CXX: = $(shell xcrun -f clang++) 3 | build_darwin_AR: = $(shell xcrun -f ar) 4 | build_darwin_RANLIB: = $(shell xcrun -f ranlib) 5 | build_darwin_STRIP: = $(shell xcrun -f strip) 6 | build_darwin_OTOOL: = $(shell xcrun -f otool) 7 | build_darwin_NM: = $(shell xcrun -f nm) 8 | build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) 9 | build_darwin_SHA256SUM = shasum -a 256 10 | build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o 11 | 12 | #darwin host on darwin builder. overrides darwin host preferences. 13 | darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) 14 | darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++ 15 | darwin_AR:=$(shell xcrun -f ar) 16 | darwin_RANLIB:=$(shell xcrun -f ranlib) 17 | darwin_STRIP:=$(shell xcrun -f strip) 18 | darwin_LIBTOOL:=$(shell xcrun -f libtool) 19 | darwin_OTOOL:=$(shell xcrun -f otool) 20 | darwin_NM:=$(shell xcrun -f nm) 21 | darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) 22 | darwin_native_toolchain= 23 | -------------------------------------------------------------------------------- /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.7 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.8.6 3 | $(package)_download_path=http://dbus.freedesktop.org/releases/dbus 4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f 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.1.1 3 | $(package)_download_path=https://downloads.sourceforge.net/project/expat/expat/$($(package)_version) 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=aff584e5a2f759dcfc6d48671e9529f6afe1e30b0cd6a4cec200cbe3f793de67 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.6.3 3 | $(package)_download_path=http://download.savannah.gnu.org/releases/$(package) 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=371e707aa522acf5b15ce93f11183c725b8ed1ee8546d7b3af549863045863a2 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/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.0.22 3 | $(package)_download_path=https://github.com/libevent/libevent/releases/download/release-2.0.22-stable 4 | $(package)_file_name=$(package)-$($(package)_version)-stable.tar.gz 5 | $(package)_sha256_hash=71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3 6 | $(package)_patches=reuseaddr.patch libevent-2-fixes.patch 7 | 8 | define $(package)_preprocess_cmds 9 | patch -p1 < $($(package)_patch_dir)/reuseaddr.patch && \ 10 | patch -p1 < $($(package)_patch_dir)/libevent-2-fixes.patch 11 | endef 12 | 13 | define $(package)_set_vars 14 | $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress 15 | $(package)_config_opts_release=--disable-debug-mode 16 | $(package)_config_opts_linux=--with-pic 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 | 31 | define $(package)_postprocess_cmds 32 | endef 33 | -------------------------------------------------------------------------------- /depends/packages/libxcb.mk: -------------------------------------------------------------------------------- 1 | package=libxcb 2 | $(package)_version=1.10 3 | $(package)_download_path=http://xcb.freedesktop.org/dist 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=98d9ab05b636dd088603b64229dd1ab2d2cc02ab807892e107d674f9c3f2d5b5 6 | $(package)_dependencies=xcb_proto libXau xproto 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-static 10 | endef 11 | 12 | define $(package)_preprocess_cmds 13 | sed "s/pthread-stubs//" -i configure 14 | endef 15 | 16 | # Don't install xcb headers to the default path in order to work around a qt 17 | # build issue: https://bugreports.qt.io/browse/QTBUG-34748 18 | # When using qt's internal libxcb, it may end up finding the real headers in 19 | # depends staging. Use a non-default path to avoid that. 20 | 21 | define $(package)_config_cmds 22 | $($(package)_autoconf) --includedir=$(host_prefix)/include/xcb-shared 23 | endef 24 | 25 | define $(package)_build_cmds 26 | $(MAKE) 27 | endef 28 | 29 | define $(package)_stage_cmds 30 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 31 | endef 32 | 33 | define $(package)_postprocess_cmds 34 | rm -rf share/man share/doc 35 | endef 36 | -------------------------------------------------------------------------------- /depends/packages/native_biplist.mk: -------------------------------------------------------------------------------- 1 | package=native_biplist 2 | $(package)_version=0.9 3 | $(package)_download_path=https://pypi.python.org/packages/source/b/biplist 4 | $(package)_file_name=biplist-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604 6 | $(package)_install_libdir=$(build_prefix)/lib/python/dist-packages 7 | $(package)_patches=sorted_list.patch 8 | 9 | define $(package)_preprocess_cmds 10 | patch -p1 < $($(package)_patch_dir)/sorted_list.patch 11 | endef 12 | 13 | define $(package)_build_cmds 14 | python setup.py build 15 | endef 16 | 17 | define $(package)_stage_cmds 18 | mkdir -p $($(package)_install_libdir) && \ 19 | python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) 20 | endef 21 | -------------------------------------------------------------------------------- /depends/packages/native_ccache.mk: -------------------------------------------------------------------------------- 1 | package=native_ccache 2 | $(package)_version=3.2.5 3 | $(package)_download_path=http://samba.org/ftp/ccache 4 | $(package)_file_name=ccache-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=7a553809e90faf9de3a23ee9c5b5f786cfd4836bf502744bedb824a24bee1097 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts= 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 | 23 | define $(package)_postprocess_cmds 24 | rm -rf lib include 25 | endef 26 | -------------------------------------------------------------------------------- /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_comparisontool.mk: -------------------------------------------------------------------------------- 1 | package=native_comparisontool 2 | $(package)_version=8c6666f 3 | $(package)_download_path=https://github.com/theuni/bitcoind-comparisontool/raw/master 4 | $(package)_file_name=pull-tests-$($(package)_version).jar 5 | $(package)_sha256_hash=a865332b3827abcde684ab79f5f43c083b0b6a4c97ff5508c79f29fee24f11cd 6 | $(package)_install_dirname=BitcoindComparisonTool_jar 7 | $(package)_install_filename=BitcoindComparisonTool.jar 8 | 9 | define $(package)_extract_cmds 10 | endef 11 | 12 | define $(package)_configure_cmds 13 | endef 14 | 15 | define $(package)_build_cmds 16 | endef 17 | 18 | define $(package)_stage_cmds 19 | mkdir -p $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname) && \ 20 | cp $($(package)_source) $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname)/$($(package)_install_filename) 21 | endef 22 | -------------------------------------------------------------------------------- /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 2 | darwin_packages:=zeromq 3 | linux_packages:=zeromq 4 | native_packages := native_ccache native_comparisontool 5 | 6 | qt_native_packages = native_protobuf 7 | qt_packages = qrencode protobuf zlib 8 | 9 | qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans 10 | qt_i686_linux_packages:=$(qt_x86_64_linux_packages) 11 | 12 | qt_darwin_packages=qt 13 | qt_mingw32_packages=qt 14 | 15 | 16 | wallet_packages=bdb 17 | 18 | upnp_packages=miniupnpc 19 | 20 | darwin_native_packages = native_biplist native_ds_store native_mac_alias 21 | 22 | ifneq ($(build_os),darwin) 23 | darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus 24 | endif 25 | -------------------------------------------------------------------------------- /depends/packages/protobuf.mk: -------------------------------------------------------------------------------- 1 | package=protobuf 2 | $(package)_version=$(native_$(package)_version) 3 | $(package)_download_path=$(native_$(package)_download_path) 4 | $(package)_file_name=$(native_$(package)_file_name) 5 | $(package)_sha256_hash=$(native_$(package)_sha256_hash) 6 | $(package)_dependencies=native_$(package) 7 | $(package)_cxxflags=-std=c++11 8 | 9 | define $(package)_set_vars 10 | $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc 11 | $(package)_config_opts_linux=--with-pic 12 | endef 13 | 14 | define $(package)_config_cmds 15 | $($(package)_autoconf) 16 | endef 17 | 18 | define $(package)_build_cmds 19 | $(MAKE) -C src libprotobuf.la 20 | endef 21 | 22 | define $(package)_stage_cmds 23 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\ 24 | $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA 25 | endef 26 | 27 | define $(package)_postprocess_cmds 28 | rm lib/libprotoc.a 29 | endef 30 | -------------------------------------------------------------------------------- /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=qrencode-$(qrencode_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)_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/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/packages/zeromq.mk: -------------------------------------------------------------------------------- 1 | package=zeromq 2 | $(package)_version=4.1.4 3 | $(package)_download_path=http://download.zeromq.org 4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=e99f44fde25c2e4cb84ce440f87ca7d3fe3271c2b8cfbc67d55e4de25e6fe378 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--without-documentation --disable-shared --without-libsodium 9 | $(package)_config_opts_linux=--with-pic 10 | $(package)_cxxflags=-std=c++11 11 | endef 12 | 13 | define $(package)_config_cmds 14 | $($(package)_autoconf) 15 | endef 16 | 17 | define $(package)_build_cmds 18 | $(MAKE) libzmq.la 19 | endef 20 | 21 | define $(package)_stage_cmds 22 | $(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-includeHEADERS install-pkgconfigDATA 23 | endef 24 | 25 | define $(package)_postprocess_cmds 26 | rm -rf bin share 27 | endef 28 | -------------------------------------------------------------------------------- /depends/packages/zlib.mk: -------------------------------------------------------------------------------- 1 | package=zlib 2 | $(package)_version=1.2.11 3 | $(package)_download_path=http://www.zlib.net 4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 6 | 7 | define $(package)_set_vars 8 | $(package)_build_opts= CC="$($(package)_cc)" 9 | $(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC" 10 | $(package)_build_opts+=RANLIB="$($(package)_ranlib)" 11 | $(package)_build_opts+=AR="$($(package)_ar)" 12 | $(package)_build_opts_darwin+=AR="$($(package)_libtool)" 13 | $(package)_build_opts_darwin+=ARFLAGS="-o" 14 | endef 15 | 16 | define $(package)_config_cmds 17 | ./configure --static --prefix=$(host_prefix) 18 | endef 19 | 20 | define $(package)_build_cmds 21 | $(MAKE) $($(package)_build_opts) libz.a 22 | endef 23 | 24 | define $(package)_stage_cmds 25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts) 26 | endef 27 | 28 | -------------------------------------------------------------------------------- /depends/patches/libevent/libevent-2-fixes.patch: -------------------------------------------------------------------------------- 1 | --- a/util-internal.h 2013-11-01 12:18:57.000000000 -0600 2 | +++ b/util-internal.h 2015-07-20 20:19:43.199560900 -0500 3 | @@ -299,8 +299,13 @@ HANDLE evutil_load_windows_system_librar 4 | 5 | #if defined(__STDC__) && defined(__STDC_VERSION__) 6 | #if (__STDC_VERSION__ >= 199901L) 7 | -#define EV_SIZE_FMT "%zu" 8 | -#define EV_SSIZE_FMT "%zd" 9 | + #if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__) 10 | + #define EV_SIZE_FMT "%Iu" 11 | + #define EV_SSIZE_FMT "%Id" 12 | + #else 13 | + #define EV_SIZE_FMT "%zu" 14 | + #define EV_SSIZE_FMT "%zd" 15 | + #endif 16 | #define EV_SIZE_ARG(x) (x) 17 | #define EV_SSIZE_ARG(x) (x) 18 | #endif 19 | -------------------------------------------------------------------------------- /depends/patches/libevent/reuseaddr.patch: -------------------------------------------------------------------------------- 1 | --- old/evutil.c 2015-08-28 19:26:23.488765923 -0400 2 | +++ new/evutil.c 2015-08-28 19:27:41.392767019 -0400 3 | @@ -321,15 +321,16 @@ 4 | int 5 | evutil_make_listen_socket_reuseable(evutil_socket_t sock) 6 | { 7 | -#ifndef WIN32 8 | int one = 1; 9 | +#ifndef WIN32 10 | /* REUSEADDR on Unix means, "don't hang on to this address after the 11 | * listener is closed." On Windows, though, it means "don't keep other 12 | * processes from binding to this address while we're using it. */ 13 | return setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void*) &one, 14 | (ev_socklen_t)sizeof(one)); 15 | #else 16 | - return 0; 17 | + return setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char*) &one, 18 | + (ev_socklen_t)sizeof(one)); 19 | #endif 20 | } 21 | 22 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /doc/README_windows.txt: -------------------------------------------------------------------------------- 1 | Bitcoin Core 0.13.2 2 | ===================== 3 | 4 | Intro 5 | ----- 6 | Bitcoin is a free open source peer-to-peer electronic cash system that is 7 | completely decentralized, without the need for a central server or trusted 8 | parties. Users hold the crypto keys to their own money and transact directly 9 | with each other, with the help of a P2P network to check for double-spending. 10 | 11 | 12 | Setup 13 | ----- 14 | Unpack the files into a directory and run bitcoin-qt.exe. 15 | 16 | Bitcoin Core is the original Bitcoin client and it builds the backbone of the network. 17 | However, it downloads and stores the entire history of Bitcoin transactions; 18 | depending on the speed of your computer and network connection, the synchronization 19 | process can take anywhere from a few hours to a day or more. 20 | 21 | See the bitcoin wiki at: 22 | https://en.bitcoin.it/wiki/Main_Page 23 | for more help and information. 24 | -------------------------------------------------------------------------------- /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/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/bitcoin_logo_doxygen.png -------------------------------------------------------------------------------- /doc/gitian-building/all_files_in_one_partition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/all_files_in_one_partition.png -------------------------------------------------------------------------------- /doc/gitian-building/create_new_vm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/create_new_vm.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_file_location_size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/create_vm_file_location_size.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_hard_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/create_vm_hard_disk.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_hard_disk_file_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/create_vm_hard_disk_file_type.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_memsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/create_vm_memsize.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_storage_physical_hard_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/create_vm_storage_physical_hard_disk.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_10_configure_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_10_configure_clock.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_11_partition_disks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_11_partition_disks.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_12_choose_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_12_choose_disk.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_14_finish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_14_finish.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_15_write_changes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_15_write_changes.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_16_choose_a_mirror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_16_choose_a_mirror.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_18_proxy_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_18_proxy_settings.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_19_software_selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_19_software_selection.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_1_boot_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_1_boot_menu.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_20_install_grub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_20_install_grub.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_21_install_grub_bootloader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_21_install_grub_bootloader.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_22_finish_installation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_22_finish_installation.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_2_select_a_language.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_2_select_a_language.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_3_select_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_3_select_location.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_4_configure_keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_4_configure_keyboard.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_5_configure_the_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_5_configure_the_network.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_6_domain_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_6_domain_name.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_6a_set_up_root_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_6a_set_up_root_password.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_7_set_up_user_fullname.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_7_set_up_user_fullname.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_8_set_up_username.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_8_set_up_username.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_9_user_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_install_9_user_password.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_root_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/debian_root_login.png -------------------------------------------------------------------------------- /doc/gitian-building/network_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/network_settings.png -------------------------------------------------------------------------------- /doc/gitian-building/port_forwarding_rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/port_forwarding_rules.png -------------------------------------------------------------------------------- /doc/gitian-building/select_startup_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/doc/gitian-building/select_startup_disk.png -------------------------------------------------------------------------------- /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.20.md: -------------------------------------------------------------------------------- 1 | Please checkout the git integration branch from: 2 | 3 | https://github.com/bitcoin/bitcoin 4 | 5 | ... and help test. The new features that need testing are: 6 | 7 | * -nolisten : https://github.com/bitcoin/bitcoin/pull/11 8 | * -rescan : scan block chain for missing wallet transactions 9 | * -printtoconsole : https://github.com/bitcoin/bitcoin/pull/37 10 | * RPC gettransaction details : https://github.com/bitcoin/bitcoin/pull/24 11 | * listtransactions new features : https://github.com/bitcoin/bitcoin/pull/10 12 | 13 | Bug fixes that also need testing: 14 | 15 | * -maxconnections= : https://github.com/bitcoin/bitcoin/pull/42 16 | * RPC listaccounts minconf : https://github.com/bitcoin/bitcoin/pull/27 17 | * RPC move, add time to output : https://github.com/bitcoin/bitcoin/pull/21 18 | * ...and several improvements to --help output. 19 | 20 | This needs more testing on Windows! Please drop me a quick private message, email, or IRC message if you are able to do some testing. If you find bugs, please open an issue at: 21 | 22 | https://github.com/bitcoin/bitcoin/issues 23 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.22.md: -------------------------------------------------------------------------------- 1 | Download URL: https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.22/ 2 | 3 | This is largely a bugfix and TX fee schedule release. We also hope to make 0.3.23 a quick release, to fix problems that the network has seen due to explosive growth in the past week. 4 | 5 | Notable changes: 6 | * Client will accept and relay TX's with 0.0005 BTC fee schedule (users still pay 0.01 BTC per kb, until next version) 7 | * Non-standard transactions accepted on testnet 8 | * Source code tree reorganized (prep for autotools build) 9 | * Remove "Generate Coins" option from GUI, and remove 4way SSE miner. Internal reference CPU miner remains available, but users are directed to external miners for best hash production. 10 | * IRC is overflowing. Client now bootstraps to channels #bitcoin00 - #bitcoin99 11 | * DNS names now may be used with -addnode, -connect (requires -dns to enable) 12 | 13 | RPC changes: 14 | * 'listtransactions' adds 'from' param, for range queries 15 | * 'move' may take account balances negative 16 | * 'settxfee' added, to manually set TX fee 17 | -------------------------------------------------------------------------------- /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.6.3.md: -------------------------------------------------------------------------------- 1 | Bitcoin version 0.6.3 is now available for download at: 2 | http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.3/ 3 | 4 | This is a bug-fix release, with no new features. 5 | 6 | Please report bugs using the issue tracker at github: 7 | https://github.com/bitcoin/bitcoin/issues 8 | 9 | CHANGE SUMMARY 10 | 11 | Fixed a serious denial-of-service attack that could cause the 12 | bitcoin process to become unresponsive. Thanks to Sergio Lerner 13 | for finding and responsibly reporting the problem. (CVE-2012-3789) 14 | 15 | Optimized the process of checking transaction signatures, to 16 | speed up processing of new block messages and make propagating 17 | blocks across the network faster. 18 | 19 | Fixed an obscure bug that could cause the bitcoin process to get 20 | stuck on an invalid block-chain, if the invalid chain was 21 | hundreds of blocks long. 22 | 23 | Bitcoin-Qt no longer automatically selects the first address 24 | in the address book (Issue #1384). 25 | 26 | Fixed minimize-to-dock behavior of Bitcoin-Qt on the Mac. 27 | 28 | Added a block checkpoint at block 185,333 to speed up initial 29 | blockchain download. 30 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.8.1.md: -------------------------------------------------------------------------------- 1 | Bitcoin-Qt/bitcoind version 0.8.1 is now available from: 2 | http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.1/ 3 | 4 | This is a maintenance release that adds a new network rule to avoid 5 | a chain-forking incompatibility with versions 0.7.2 and earlier. 6 | 7 | Please report bugs using the issue tracker at github: 8 | https://github.com/bitcoin/bitcoin/issues 9 | 10 | 11 | How to Upgrade 12 | -------------- 13 | 14 | If you are running an older version, shut it down. Wait 15 | until it has completely shut down (which might take a few minutes for older 16 | versions), then run the installer (on Windows) or just copy over 17 | /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux). 18 | 19 | If you are upgrading from version 0.7.2 or earlier, the first time you 20 | run 0.8.1 your blockchain files will be re-indexed, which will take 21 | anywhere from 30 minutes to several hours, depending on the speed of 22 | your machine. 23 | -------------------------------------------------------------------------------- /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 bitcoind tests manually, launch `src/test/test_bitcoin`. 10 | 11 | To add more bitcoind 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 | -------------------------------------------------------------------------------- /libbitcoinconsensus.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 Bitcoin consensus protocol. 8 | Version: @PACKAGE_VERSION@ 9 | Libs: -L${libdir} -lbitcoinconsensus 10 | Cflags: -I${includedir} 11 | Requires.private: libcrypto 12 | -------------------------------------------------------------------------------- /qa/pull-tester/tests_config.py.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 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 | SRCDIR="@abs_top_srcdir@" 7 | BUILDDIR="@abs_top_builddir@" 8 | EXEEXT="@EXEEXT@" 9 | 10 | # These will turn into comments if they were disabled when configuring. 11 | @ENABLE_WALLET_TRUE@ENABLE_WALLET=1 12 | @BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=1 13 | @BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=1 14 | @ENABLE_ZMQ_TRUE@ENABLE_ZMQ=1 15 | -------------------------------------------------------------------------------- /qa/rpc-tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | cache 3 | -------------------------------------------------------------------------------- /qa/rpc-tests/create_cache.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 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 | # 7 | # Helper script to create the cache 8 | # (see BitcoinTestFramework.setup_chain) 9 | # 10 | 11 | from test_framework.test_framework import BitcoinTestFramework 12 | 13 | class CreateCache(BitcoinTestFramework): 14 | 15 | def __init__(self): 16 | super().__init__() 17 | 18 | # Test network and test nodes are not required: 19 | self.num_nodes = 0 20 | self.nodes = [] 21 | 22 | def setup_network(self): 23 | pass 24 | 25 | def run_test(self): 26 | pass 27 | 28 | if __name__ == '__main__': 29 | CreateCache().main() 30 | -------------------------------------------------------------------------------- /qa/rpc-tests/test_framework/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/qa/rpc-tests/test_framework/__init__.py -------------------------------------------------------------------------------- /share/pixmaps/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/bitcoin.ico -------------------------------------------------------------------------------- /share/pixmaps/bitcoin128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/bitcoin128.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/bitcoin16.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/bitcoin256.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/bitcoin32.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/bitcoin64.png -------------------------------------------------------------------------------- /share/pixmaps/nsis-header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/nsis-header.bmp -------------------------------------------------------------------------------- /share/pixmaps/nsis-wizard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/share/pixmaps/nsis-wizard.bmp -------------------------------------------------------------------------------- /share/rpcuser/README.md: -------------------------------------------------------------------------------- 1 | RPC Tools 2 | --------------------- 3 | 4 | ### [RPCUser](/share/rpcuser) ### 5 | 6 | Create an RPC user login credential. 7 | 8 | Usage: 9 | 10 | ./rpcuser.py 11 | -------------------------------------------------------------------------------- /src/bench/.gitignore: -------------------------------------------------------------------------------- 1 | bench_bitcoin 2 | -------------------------------------------------------------------------------- /src/bench/Examples.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | #include "bench.h" 6 | #include "main.h" 7 | #include "utiltime.h" 8 | 9 | // Sanity test: this should loop ten times, and 10 | // min/max/average should be close to 100ms. 11 | static void Sleep100ms(benchmark::State& state) 12 | { 13 | while (state.KeepRunning()) { 14 | MilliSleep(100); 15 | } 16 | } 17 | 18 | BENCHMARK(Sleep100ms); 19 | 20 | // Extremely fast-running benchmark: 21 | #include 22 | 23 | volatile double sum = 0.0; // volatile, global so not optimized away 24 | 25 | static void Trig(benchmark::State& state) 26 | { 27 | double d = 0.01; 28 | while (state.KeepRunning()) { 29 | sum += sin(d); 30 | d += 0.000001; 31 | } 32 | } 33 | 34 | BENCHMARK(Trig); 35 | -------------------------------------------------------------------------------- /src/bench/bench_bitcoin.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | #include "bench.h" 6 | 7 | #include "key.h" 8 | #include "main.h" 9 | #include "util.h" 10 | 11 | int 12 | main(int argc, char** argv) 13 | { 14 | ECC_Start(); 15 | SetupEnvironment(); 16 | fPrintToDebugLog = false; // don't want to write to debug.log file 17 | 18 | benchmark::BenchRunner::RunAll(); 19 | 20 | ECC_Stop(); 21 | } 22 | -------------------------------------------------------------------------------- /src/chainparamsseeds.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_CHAINPARAMSSEEDS_H 2 | #define BITCOIN_CHAINPARAMSSEEDS_H 3 | /** 4 | * List of fixed seed nodes for the bitcoin network 5 | * AUTOGENERATED by contrib/seeds/generate-seeds.py 6 | * 7 | * Each line contains a 16-byte IPv6 address and a port. 8 | * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly. 9 | */ 10 | static SeedSpec6 pnSeed6_main[] = { 11 | {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x80,0x9d,0xab}, 8884}, 12 | {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xbc,0xe2,0x92,0x4f}, 8884}, 13 | {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x8a,0x44,0x58,0xb3}, 8884} 14 | }; 15 | 16 | static SeedSpec6 pnSeed6_test[] = { 17 | {{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xb2,0x80,0x9d,0xab}, 18884} 18 | }; 19 | #endif // BITCOIN_CHAINPARAMSSEEDS_H 20 | -------------------------------------------------------------------------------- /src/checkpoints.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_CHECKPOINTS_H 6 | #define BITCOIN_CHECKPOINTS_H 7 | 8 | #include "uint256.h" 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* in mapBlockIndex that is a checkpoint 23 | CBlockIndex* GetLastCheckpoint(const CCheckpointData& data); 24 | 25 | double GuessVerificationProgress(const CCheckpointData& data, CBlockIndex* pindex, bool fSigchecks = true); 26 | 27 | } //namespace Checkpoints 28 | 29 | #endif // BITCOIN_CHECKPOINTS_H 30 | -------------------------------------------------------------------------------- /src/compat/glibc_compat.cpp: -------------------------------------------------------------------------------- 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 | #if defined(HAVE_CONFIG_H) 6 | #include "config/bitcoin-config.h" 7 | #endif 8 | 9 | #include 10 | 11 | #if defined(HAVE_SYS_SELECT_H) 12 | #include 13 | #endif 14 | 15 | // Prior to GLIBC_2.14, memcpy was aliased to memmove. 16 | extern "C" void* memmove(void* a, const void* b, size_t c); 17 | extern "C" void* memcpy(void* a, const void* b, size_t c) 18 | { 19 | return memmove(a, b, c); 20 | } 21 | 22 | extern "C" void __chk_fail(void) __attribute__((__noreturn__)); 23 | extern "C" FDELT_TYPE __fdelt_warn(FDELT_TYPE a) 24 | { 25 | if (a >= FD_SETSIZE) 26 | __chk_fail(); 27 | return a / __NFDBITS; 28 | } 29 | extern "C" FDELT_TYPE __fdelt_chk(FDELT_TYPE) __attribute__((weak, alias("__fdelt_warn"))); 30 | -------------------------------------------------------------------------------- /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-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 | #if defined(HAVE_CONFIG_H) 6 | #include "config/bitcoin-config.h" 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/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/config/.empty -------------------------------------------------------------------------------- /src/crypto/ctaes/COPYING: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Pieter Wuille 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/crypto/hmac_sha256.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | #include "crypto/hmac_sha256.h" 6 | 7 | #include 8 | 9 | CHMAC_SHA256::CHMAC_SHA256(const unsigned char* key, size_t keylen) 10 | { 11 | unsigned char rkey[64]; 12 | if (keylen <= 64) { 13 | memcpy(rkey, key, keylen); 14 | memset(rkey + keylen, 0, 64 - keylen); 15 | } else { 16 | CSHA256().Write(key, keylen).Finalize(rkey); 17 | memset(rkey + 32, 0, 32); 18 | } 19 | 20 | for (int n = 0; n < 64; n++) 21 | rkey[n] ^= 0x5c; 22 | outer.Write(rkey, 64); 23 | 24 | for (int n = 0; n < 64; n++) 25 | rkey[n] ^= 0x5c ^ 0x36; 26 | inner.Write(rkey, 64); 27 | } 28 | 29 | void CHMAC_SHA256::Finalize(unsigned char hash[OUTPUT_SIZE]) 30 | { 31 | unsigned char temp[32]; 32 | inner.Finalize(temp); 33 | outer.Write(temp, 32).Finalize(hash); 34 | } 35 | -------------------------------------------------------------------------------- /src/crypto/hmac_sha256.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_CRYPTO_HMAC_SHA256_H 6 | #define BITCOIN_CRYPTO_HMAC_SHA256_H 7 | 8 | #include "crypto/sha256.h" 9 | 10 | #include 11 | #include 12 | 13 | /** A hasher class for HMAC-SHA-512. */ 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.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | #include "crypto/hmac_sha512.h" 6 | 7 | #include 8 | 9 | CHMAC_SHA512::CHMAC_SHA512(const unsigned char* key, size_t keylen) 10 | { 11 | unsigned char rkey[128]; 12 | if (keylen <= 128) { 13 | memcpy(rkey, key, keylen); 14 | memset(rkey + keylen, 0, 128 - keylen); 15 | } else { 16 | CSHA512().Write(key, keylen).Finalize(rkey); 17 | memset(rkey + 64, 0, 64); 18 | } 19 | 20 | for (int n = 0; n < 128; n++) 21 | rkey[n] ^= 0x5c; 22 | outer.Write(rkey, 128); 23 | 24 | for (int n = 0; n < 128; n++) 25 | rkey[n] ^= 0x5c ^ 0x36; 26 | inner.Write(rkey, 128); 27 | } 28 | 29 | void CHMAC_SHA512::Finalize(unsigned char hash[OUTPUT_SIZE]) 30 | { 31 | unsigned char temp[64]; 32 | inner.Finalize(temp); 33 | outer.Write(temp, 64).Finalize(hash); 34 | } 35 | -------------------------------------------------------------------------------- /src/crypto/hmac_sha512.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_CRYPTO_HMAC_SHA512_H 6 | #define BITCOIN_CRYPTO_HMAC_SHA512_H 7 | 8 | #include "crypto/sha512.h" 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 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 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/sha256.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_CRYPTO_SHA256_H 6 | #define BITCOIN_CRYPTO_SHA256_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for SHA-256. */ 12 | class CSHA256 13 | { 14 | private: 15 | uint32_t s[8]; 16 | unsigned char buf[64]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 32; 21 | 22 | CSHA256(); 23 | CSHA256& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CSHA256& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_SHA256_H 29 | -------------------------------------------------------------------------------- /src/crypto/sha512.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_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/httprpc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_HTTPRPC_H 6 | #define BITCOIN_HTTPRPC_H 7 | 8 | #include 9 | #include 10 | 11 | class HTTPRequest; 12 | 13 | /** Start HTTP RPC subsystem. 14 | * Precondition; HTTP and RPC has been started. 15 | */ 16 | bool StartHTTPRPC(); 17 | /** Interrupt HTTP RPC subsystem. 18 | */ 19 | void InterruptHTTPRPC(); 20 | /** Stop HTTP RPC subsystem. 21 | * Precondition; HTTP and RPC has been stopped. 22 | */ 23 | void StopHTTPRPC(); 24 | 25 | /** Start HTTP REST subsystem. 26 | * Precondition; HTTP and RPC has been started. 27 | */ 28 | bool StartREST(); 29 | /** Interrupt RPC REST subsystem. 30 | */ 31 | void InterruptREST(); 32 | /** Stop HTTP REST subsystem. 33 | * Precondition; HTTP and RPC has been stopped. 34 | */ 35 | void StopREST(); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /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/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/db/log_format.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 | // Log format information shared by reader and writer. 6 | // See ../doc/log_format.txt for more detail. 7 | 8 | #ifndef STORAGE_LEVELDB_DB_LOG_FORMAT_H_ 9 | #define STORAGE_LEVELDB_DB_LOG_FORMAT_H_ 10 | 11 | namespace leveldb { 12 | namespace log { 13 | 14 | enum RecordType { 15 | // Zero is reserved for preallocated files 16 | kZeroType = 0, 17 | 18 | kFullType = 1, 19 | 20 | // For fragments 21 | kFirstType = 2, 22 | kMiddleType = 3, 23 | kLastType = 4 24 | }; 25 | static const int kMaxRecordType = kLastType; 26 | 27 | static const int kBlockSize = 32768; 28 | 29 | // Header is checksum (4 bytes), length (2 bytes), type (1 byte). 30 | static const int kHeaderSize = 4 + 2 + 1; 31 | 32 | } // namespace log 33 | } // namespace leveldb 34 | 35 | #endif // STORAGE_LEVELDB_DB_LOG_FORMAT_H_ 36 | -------------------------------------------------------------------------------- /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/include/leveldb/dumpfile.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 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_INCLUDE_DUMPFILE_H_ 6 | #define STORAGE_LEVELDB_INCLUDE_DUMPFILE_H_ 7 | 8 | #include 9 | #include "leveldb/env.h" 10 | #include "leveldb/status.h" 11 | 12 | namespace leveldb { 13 | 14 | // Dump the contents of the file named by fname in text format to 15 | // *dst. Makes a sequence of dst->Append() calls; each call is passed 16 | // the newline-terminated text corresponding to a single item found 17 | // in the file. 18 | // 19 | // Returns a non-OK result if fname does not name a leveldb storage 20 | // file, or if the file cannot be read. 21 | Status DumpFile(Env* env, const std::string& fname, WritableFile* dst); 22 | 23 | } // namespace leveldb 24 | 25 | #endif // STORAGE_LEVELDB_INCLUDE_DUMPFILE_H_ 26 | -------------------------------------------------------------------------------- /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/port/win/stdint.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 | // MSVC didn't ship with this file until the 2010 version. 6 | 7 | #ifndef STORAGE_LEVELDB_PORT_WIN_STDINT_H_ 8 | #define STORAGE_LEVELDB_PORT_WIN_STDINT_H_ 9 | 10 | #if !defined(_MSC_VER) 11 | #error This file should only be included when compiling with MSVC. 12 | #endif 13 | 14 | // Define C99 equivalent types. 15 | typedef signed char int8_t; 16 | typedef signed short int16_t; 17 | typedef signed int int32_t; 18 | typedef signed long long int64_t; 19 | typedef unsigned char uint8_t; 20 | typedef unsigned short uint16_t; 21 | typedef unsigned int uint32_t; 22 | typedef unsigned long long uint64_t; 23 | 24 | #endif // STORAGE_LEVELDB_PORT_WIN_STDINT_H_ 25 | -------------------------------------------------------------------------------- /src/leveldb/table/merger.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_TABLE_MERGER_H_ 6 | #define STORAGE_LEVELDB_TABLE_MERGER_H_ 7 | 8 | namespace leveldb { 9 | 10 | class Comparator; 11 | class Iterator; 12 | 13 | // Return an iterator that provided the union of the data in 14 | // children[0,n-1]. Takes ownership of the child iterators and 15 | // will delete them when the result iterator is deleted. 16 | // 17 | // The result does no duplicate suppression. I.e., if a particular 18 | // key is present in K child iterators, it will be yielded K times. 19 | // 20 | // REQUIRES: n >= 0 21 | extern Iterator* NewMergingIterator( 22 | const Comparator* comparator, Iterator** children, int n); 23 | 24 | } // namespace leveldb 25 | 26 | #endif // STORAGE_LEVELDB_TABLE_MERGER_H_ 27 | -------------------------------------------------------------------------------- /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/leveldb/util/histogram.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_UTIL_HISTOGRAM_H_ 6 | #define STORAGE_LEVELDB_UTIL_HISTOGRAM_H_ 7 | 8 | #include 9 | 10 | namespace leveldb { 11 | 12 | class Histogram { 13 | public: 14 | Histogram() { } 15 | ~Histogram() { } 16 | 17 | void Clear(); 18 | void Add(double value); 19 | void Merge(const Histogram& other); 20 | 21 | std::string ToString() const; 22 | 23 | private: 24 | double min_; 25 | double max_; 26 | double num_; 27 | double sum_; 28 | double sum_squares_; 29 | 30 | enum { kNumBuckets = 154 }; 31 | static const double kBucketLimit[kNumBuckets]; 32 | double buckets_[kNumBuckets]; 33 | 34 | double Median() const; 35 | double Percentile(double p) const; 36 | double Average() const; 37 | double StandardDeviation() const; 38 | }; 39 | 40 | } // namespace leveldb 41 | 42 | #endif // STORAGE_LEVELDB_UTIL_HISTOGRAM_H_ 43 | -------------------------------------------------------------------------------- /src/leveldb/util/options.cc: -------------------------------------------------------------------------------- 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 | #include "leveldb/options.h" 6 | 7 | #include "leveldb/comparator.h" 8 | #include "leveldb/env.h" 9 | 10 | namespace leveldb { 11 | 12 | Options::Options() 13 | : comparator(BytewiseComparator()), 14 | create_if_missing(false), 15 | error_if_exists(false), 16 | paranoid_checks(false), 17 | env(Env::Default()), 18 | info_log(NULL), 19 | write_buffer_size(4<<20), 20 | max_open_files(1000), 21 | block_cache(NULL), 22 | block_size(4096), 23 | block_restart_interval(16), 24 | compression(kSnappyCompression), 25 | filter_policy(NULL) { 26 | } 27 | 28 | 29 | } // namespace leveldb 30 | -------------------------------------------------------------------------------- /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/policy/rbf.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Bitcoin 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_POLICY_RBF_H 6 | #define BITCOIN_POLICY_RBF_H 7 | 8 | #include "txmempool.h" 9 | 10 | enum RBFTransactionState { 11 | RBF_TRANSACTIONSTATE_UNKNOWN, 12 | RBF_TRANSACTIONSTATE_REPLACEABLE_BIP125, 13 | RBF_TRANSACTIONSTATE_FINAL 14 | }; 15 | 16 | // Check whether the sequence numbers on this transaction are signaling 17 | // opt-in to replace-by-fee, according to BIP 125 18 | bool SignalsOptInRBF(const CTransaction &tx); 19 | 20 | // Determine whether an in-mempool transaction is signaling opt-in to RBF 21 | // according to BIP 125 22 | // This involves checking sequence numbers of the transaction, as well 23 | // as the sequence numbers of all in-mempool ancestors. 24 | RBFTransactionState IsRBFOptIn(const CTransaction &tx, CTxMemPool &pool); 25 | 26 | #endif // BITCOIN_POLICY_RBF_H 27 | -------------------------------------------------------------------------------- /src/pow.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-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 | #ifndef BITCOIN_POW_H 7 | #define BITCOIN_POW_H 8 | 9 | #include "consensus/params.h" 10 | 11 | #include 12 | 13 | class CBlockHeader; 14 | class CBlockIndex; 15 | class uint256; 16 | 17 | unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, bool fProofOfStake, const Consensus::Params& params); 18 | 19 | /** Check whether a block hash satisfies the proof-of-work requirement specified by nBits */ 20 | bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params&); 21 | 22 | #endif // BITCOIN_POW_H 23 | -------------------------------------------------------------------------------- /src/qt/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: FORCE 2 | all: FORCE 3 | $(MAKE) -C .. bitcoin_qt test_bitcoin_qt 4 | clean: FORCE 5 | $(MAKE) -C .. bitcoin_qt_clean test_bitcoin_qt_clean 6 | check: FORCE 7 | $(MAKE) -C .. test_bitcoin_qt_check 8 | bitcoin-qt bitcoin-qt.exe: FORCE 9 | $(MAKE) -C .. bitcoin_qt 10 | -------------------------------------------------------------------------------- /src/qt/bitcoinaddressvalidator.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_BITCOINADDRESSVALIDATOR_H 6 | #define BITCOIN_QT_BITCOINADDRESSVALIDATOR_H 7 | 8 | #include 9 | 10 | /** Base58 entry widget validator, checks for valid characters and 11 | * removes some whitespace. 12 | */ 13 | class BitcoinAddressEntryValidator : public QValidator 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit BitcoinAddressEntryValidator(QObject *parent); 19 | 20 | State validate(QString &input, int &pos) const; 21 | }; 22 | 23 | /** Bitcoin address widget validator, checks for a valid bitcoin address. 24 | */ 25 | class BitcoinAddressCheckValidator : public QValidator 26 | { 27 | Q_OBJECT 28 | 29 | public: 30 | explicit BitcoinAddressCheckValidator(QObject *parent); 31 | 32 | State validate(QString &input, int &pos) const; 33 | }; 34 | 35 | #endif // BITCOIN_QT_BITCOINADDRESSVALIDATOR_H 36 | -------------------------------------------------------------------------------- /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/listview.h: -------------------------------------------------------------------------------- 1 | #ifndef LISTVIEW_H 2 | #define LISTVIEW_H 3 | 4 | class ListView : public QListView { 5 | void paintEvent(QPaintEvent *e) { 6 | QListView::paintEvent(e); 7 | if (model() && model()->rowCount(rootIndex()) > 0) return; 8 | // The view is empty. 9 | QPainter p(this->viewport()); 10 | p.drawText(rect(), Qt::AlignCenter, "No transactions"); 11 | } 12 | public: 13 | ListView(QWidget* parent = 0) : QListView(parent) {} 14 | }; 15 | 16 | #endif // LISTVIEW_H 17 | -------------------------------------------------------------------------------- /src/qt/macdockiconhandler.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_MACDOCKICONHANDLER_H 6 | #define BITCOIN_QT_MACDOCKICONHANDLER_H 7 | 8 | #include 9 | #include 10 | 11 | QT_BEGIN_NAMESPACE 12 | class QIcon; 13 | class QMenu; 14 | class QWidget; 15 | QT_END_NAMESPACE 16 | 17 | /** Macintosh-specific dock icon handler. 18 | */ 19 | class MacDockIconHandler : public QObject 20 | { 21 | Q_OBJECT 22 | 23 | public: 24 | ~MacDockIconHandler(); 25 | 26 | QMenu *dockMenu(); 27 | void setIcon(const QIcon &icon); 28 | void setMainWindow(QMainWindow *window); 29 | static MacDockIconHandler *instance(); 30 | static void cleanup(); 31 | void handleDockIconClickEvent(); 32 | 33 | Q_SIGNALS: 34 | void dockIconClicked(); 35 | 36 | private: 37 | MacDockIconHandler(); 38 | 39 | QWidget *m_dummyWidget; 40 | QMenu *m_dockMenu; 41 | QMainWindow *mainWindow; 42 | }; 43 | 44 | #endif // BITCOIN_QT_MACDOCKICONHANDLER_H 45 | -------------------------------------------------------------------------------- /src/qt/macnotificationhandler.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_MACNOTIFICATIONHANDLER_H 6 | #define BITCOIN_QT_MACNOTIFICATIONHANDLER_H 7 | 8 | #include 9 | 10 | /** Macintosh-specific notification handler (supports UserNotificationCenter and Growl). 11 | */ 12 | class MacNotificationHandler : public QObject 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | /** shows a 10.8+ UserNotification in the UserNotificationCenter 18 | */ 19 | void showNotification(const QString &title, const QString &text); 20 | 21 | /** executes AppleScript */ 22 | void sendAppleScript(const QString &script); 23 | 24 | /** check if OS can handle UserNotifications */ 25 | bool hasUserNotificationCenterSupport(void); 26 | static MacNotificationHandler *instance(); 27 | }; 28 | 29 | 30 | #endif // BITCOIN_QT_MACNOTIFICATIONHANDLER_H 31 | -------------------------------------------------------------------------------- /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-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 | #include "qvaluecombobox.h" 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/qvaluecombobox.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_QVALUECOMBOBOX_H 6 | #define BITCOIN_QT_QVALUECOMBOBOX_H 7 | 8 | #include 9 | #include 10 | 11 | /* QComboBox that can be used with QDataWidgetMapper to select ordinal values from a model. */ 12 | class QValueComboBox : public QComboBox 13 | { 14 | Q_OBJECT 15 | 16 | Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged USER true) 17 | 18 | public: 19 | explicit QValueComboBox(QWidget *parent = 0); 20 | 21 | QVariant value() const; 22 | void setValue(const QVariant &value); 23 | 24 | /** Specify model role to use as ordinal value (defaults to Qt::UserRole) */ 25 | void setRole(int role); 26 | 27 | Q_SIGNALS: 28 | void valueChanged(); 29 | 30 | private: 31 | int role; 32 | 33 | private Q_SLOTS: 34 | void handleSelectionChanged(int idx); 35 | }; 36 | 37 | #endif // BITCOIN_QT_QVALUECOMBOBOX_H 38 | -------------------------------------------------------------------------------- /src/qt/res/icons/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/about.png -------------------------------------------------------------------------------- /src/qt/res/icons/about_qt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/about_qt.png -------------------------------------------------------------------------------- /src/qt/res/icons/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/add.png -------------------------------------------------------------------------------- /src/qt/res/icons/address-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/address-book.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/bitcoin.icns -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/bitcoin.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/bitcoin.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin_testnet.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/bitcoin_testnet.ico -------------------------------------------------------------------------------- /src/qt/res/icons/chevron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/chevron.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/clock1.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/clock2.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/clock3.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/clock4.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/clock5.png -------------------------------------------------------------------------------- /src/qt/res/icons/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/configure.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/connect0.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/connect1.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/connect2.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/connect3.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/connect4.png -------------------------------------------------------------------------------- /src/qt/res/icons/debugwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/debugwindow.png -------------------------------------------------------------------------------- /src/qt/res/icons/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/edit.png -------------------------------------------------------------------------------- /src/qt/res/icons/editcopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/editcopy.png -------------------------------------------------------------------------------- /src/qt/res/icons/editpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/editpaste.png -------------------------------------------------------------------------------- /src/qt/res/icons/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/export.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/eye.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/eye_minus.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/eye_plus.png -------------------------------------------------------------------------------- /src/qt/res/icons/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/filesave.png -------------------------------------------------------------------------------- /src/qt/res/icons/fontbigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/fontbigger.png -------------------------------------------------------------------------------- /src/qt/res/icons/fontsmaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/fontsmaller.png -------------------------------------------------------------------------------- /src/qt/res/icons/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/history.png -------------------------------------------------------------------------------- /src/qt/res/icons/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/info.png -------------------------------------------------------------------------------- /src/qt/res/icons/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/key.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/lock_closed.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/lock_open.png -------------------------------------------------------------------------------- /src/qt/res/icons/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/open.png -------------------------------------------------------------------------------- /src/qt/res/icons/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/overview.png -------------------------------------------------------------------------------- /src/qt/res/icons/quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/quit.png -------------------------------------------------------------------------------- /src/qt/res/icons/receive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/receive.png -------------------------------------------------------------------------------- /src/qt/res/icons/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/remove.png -------------------------------------------------------------------------------- /src/qt/res/icons/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/send.png -------------------------------------------------------------------------------- /src/qt/res/icons/synced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/synced.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/transaction0.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/transaction2.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_abandoned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/transaction_abandoned.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_conflicted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/transaction_conflicted.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_inout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/tx_inout.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/tx_input.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_mined.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/tx_mined.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/tx_output.png -------------------------------------------------------------------------------- /src/qt/res/icons/verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/verify.png -------------------------------------------------------------------------------- /src/qt/res/icons/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/icons/warning.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 | FRAMEDIR=$(dirname $0) 6 | for i in {0..35} 7 | do 8 | frame=$(printf "%03d" $i) 9 | angle=$(($i * 10)) 10 | convert $FRAMEDIR/../src/spinner.png -background "rgba(0,0,0,0.0)" -distort SRT $angle $FRAMEDIR/spinner-$frame.png 11 | done 12 | -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-000.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-001.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-002.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-003.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-004.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-005.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-006.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-007.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-008.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-009.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-010.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-011.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-012.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-013.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-014.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-015.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-016.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-017.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-018.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-019.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-020.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-021.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-022.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-023.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-024.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-025.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-026.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-027.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-028.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-029.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-030.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-031.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-032.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-033.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-034.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/movies/spinner-035.png -------------------------------------------------------------------------------- /src/qt/res/src/clock_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 11 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /src/qt/res/src/clock_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/qt/res/src/spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/qt/res/src/spinner.png -------------------------------------------------------------------------------- /src/qt/res/src/tx_in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /src/qt/res/src/tx_inout.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /src/qt/test/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | $(MAKE) -C ../../ test_bitcoin_qt 3 | clean: 4 | $(MAKE) -C ../../ test_bitcoin_qt_clean 5 | check: 6 | $(MAKE) -C ../../ test_bitcoin_qt_check 7 | -------------------------------------------------------------------------------- /src/qt/test/compattests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | #include "paymentrequestplus.h" // this includes protobuf's port.h which defines its own bswap macos 6 | 7 | #include "compattests.h" 8 | 9 | #include "compat/byteswap.h" 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-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_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/paymentservertests.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_PAYMENTSERVERTESTS_H 6 | #define BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 7 | 8 | #include "../paymentserver.h" 9 | 10 | #include 11 | #include 12 | 13 | class PaymentServerTests : public QObject 14 | { 15 | Q_OBJECT 16 | 17 | private Q_SLOTS: 18 | void paymentServerTests(); 19 | }; 20 | 21 | // Dummy class to receive paymentserver signals. 22 | // If SendCoinsRecipient was a proper QObject, then 23 | // we could use QSignalSpy... but it's not. 24 | class RecipientCatcher : public QObject 25 | { 26 | Q_OBJECT 27 | 28 | public Q_SLOTS: 29 | void getRecipient(SendCoinsRecipient r); 30 | 31 | public: 32 | SendCoinsRecipient recipient; 33 | }; 34 | 35 | #endif // BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 36 | -------------------------------------------------------------------------------- /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/transactiondesc.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_TRANSACTIONDESC_H 6 | #define BITCOIN_QT_TRANSACTIONDESC_H 7 | 8 | #include 9 | #include 10 | 11 | class TransactionRecord; 12 | 13 | class CWallet; 14 | class CWalletTx; 15 | 16 | /** Provide a human-readable extended HTML description of a transaction. 17 | */ 18 | class TransactionDesc: public QObject 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | static QString toHTML(CWallet *wallet, CWalletTx &wtx, TransactionRecord *rec, int unit); 24 | 25 | private: 26 | TransactionDesc() {} 27 | 28 | static QString FormatTxStatus(const CWalletTx& wtx); 29 | }; 30 | 31 | #endif // BITCOIN_QT_TRANSACTIONDESC_H 32 | -------------------------------------------------------------------------------- /src/qt/transactiondescdialog.cpp: -------------------------------------------------------------------------------- 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 | #include "transactiondescdialog.h" 6 | #include "ui_transactiondescdialog.h" 7 | 8 | #include "transactiontablemodel.h" 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::TxIDRole).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/qt/winshutdownmonitor.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_WINSHUTDOWNMONITOR_H 6 | #define BITCOIN_QT_WINSHUTDOWNMONITOR_H 7 | 8 | #ifdef WIN32 9 | #include 10 | #include 11 | 12 | #if QT_VERSION >= 0x050000 13 | #include // for HWND 14 | 15 | #include 16 | 17 | class WinShutdownMonitor : public QAbstractNativeEventFilter 18 | { 19 | public: 20 | /** Implements QAbstractNativeEventFilter interface for processing Windows messages */ 21 | bool nativeEventFilter(const QByteArray &eventType, void *pMessage, long *pnResult); 22 | 23 | /** Register the reason for blocking shutdown on Windows to allow clean client exit */ 24 | static void registerShutdownBlockReason(const QString& strReason, const HWND& mainWinId); 25 | }; 26 | #endif 27 | #endif 28 | 29 | #endif // BITCOIN_QT_WINSHUTDOWNMONITOR_H 30 | -------------------------------------------------------------------------------- /src/reverselock.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_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/client.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-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 | #ifndef BITCOIN_RPCCLIENT_H 7 | #define BITCOIN_RPCCLIENT_H 8 | 9 | #include 10 | 11 | UniValue RPCConvertValues(const std::string& strMethod, const std::vector& strParams); 12 | /** Non-RFC4627 JSON parser, accepts internal values (such as numbers, true, false, null) 13 | * as well as objects and arrays. 14 | */ 15 | UniValue ParseNonRFCJSONValue(const std::string& strVal); 16 | 17 | #endif // BITCOIN_RPCCLIENT_H 18 | -------------------------------------------------------------------------------- /src/script/sigcache.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-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 | #ifndef BITCOIN_SCRIPT_SIGCACHE_H 7 | #define BITCOIN_SCRIPT_SIGCACHE_H 8 | 9 | #include "script/interpreter.h" 10 | 11 | #include 12 | 13 | // DoS prevention: limit cache size to less than 40MB (over 500000 14 | // entries on 64-bit systems). 15 | static const unsigned int DEFAULT_MAX_SIG_CACHE_SIZE = 40; 16 | 17 | class CPubKey; 18 | 19 | class CachingTransactionSignatureChecker : public TransactionSignatureChecker 20 | { 21 | private: 22 | bool store; 23 | 24 | public: 25 | CachingTransactionSignatureChecker(const CTransaction* txToIn, unsigned int nInIn, const CAmount& amount, bool storeIn, PrecomputedTransactionData& txdataIn) : TransactionSignatureChecker(txToIn, nInIn, amount, txdataIn), store(storeIn) {} 26 | 27 | bool VerifySignature(const std::vector& vchSig, const CPubKey& vchPubKey, const uint256& sighash) const; 28 | }; 29 | 30 | #endif // BITCOIN_SCRIPT_SIGCACHE_H 31 | -------------------------------------------------------------------------------- /src/secp256k1/.gitignore: -------------------------------------------------------------------------------- 1 | bench_inv 2 | bench_ecdh 3 | bench_sign 4 | bench_verify 5 | bench_schnorr_verify 6 | bench_recover 7 | bench_internal 8 | tests 9 | exhaustive_tests 10 | gen_context 11 | *.exe 12 | *.so 13 | *.a 14 | !.gitignore 15 | 16 | Makefile 17 | configure 18 | .libs/ 19 | Makefile.in 20 | aclocal.m4 21 | autom4te.cache/ 22 | config.log 23 | config.status 24 | *.tar.gz 25 | *.la 26 | libtool 27 | .deps/ 28 | .dirstamp 29 | *.lo 30 | *.o 31 | *~ 32 | src/libsecp256k1-config.h 33 | src/libsecp256k1-config.h.in 34 | src/ecmult_static_context.h 35 | build-aux/config.guess 36 | build-aux/config.sub 37 | build-aux/depcomp 38 | build-aux/install-sh 39 | build-aux/ltmain.sh 40 | build-aux/m4/libtool.m4 41 | build-aux/m4/lt~obsolete.m4 42 | build-aux/m4/ltoptions.m4 43 | build-aux/m4/ltsugar.m4 44 | build-aux/m4/ltversion.m4 45 | build-aux/missing 46 | build-aux/compile 47 | build-aux/test-driver 48 | src/stamp-h1 49 | libsecp256k1.pc 50 | -------------------------------------------------------------------------------- /src/secp256k1/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Pieter Wuille 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/secp256k1/TODO: -------------------------------------------------------------------------------- 1 | * Unit tests for fieldelem/groupelem, including ones intended to 2 | trigger fieldelem's boundary cases. 3 | * Complete constant-time operations for signing/keygen 4 | -------------------------------------------------------------------------------- /src/secp256k1/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | autoreconf -if --warnings=all 4 | -------------------------------------------------------------------------------- /src/secp256k1/include/secp256k1_ecdh.h: -------------------------------------------------------------------------------- 1 | #ifndef _SECP256K1_ECDH_ 2 | # define _SECP256K1_ECDH_ 3 | 4 | # include "secp256k1.h" 5 | 6 | # ifdef __cplusplus 7 | extern "C" { 8 | # endif 9 | 10 | /** Compute an EC Diffie-Hellman secret in constant time 11 | * Returns: 1: exponentiation was successful 12 | * 0: scalar was invalid (zero or overflow) 13 | * Args: ctx: pointer to a context object (cannot be NULL) 14 | * Out: result: a 32-byte array which will be populated by an ECDH 15 | * secret computed from the point and scalar 16 | * In: pubkey: a pointer to a secp256k1_pubkey containing an 17 | * initialized public key 18 | * privkey: a 32-byte scalar with which to multiply the point 19 | */ 20 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdh( 21 | const secp256k1_context* ctx, 22 | unsigned char *result, 23 | const secp256k1_pubkey *pubkey, 24 | const unsigned char *privkey 25 | ) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); 26 | 27 | # ifdef __cplusplus 28 | } 29 | # endif 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/secp256k1/libsecp256k1.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libsecp256k1 7 | Description: Optimized C library for EC operations on curve secp256k1 8 | URL: https://github.com/bitcoin-core/secp256k1 9 | Version: @PACKAGE_VERSION@ 10 | Cflags: -I${includedir} 11 | Libs.private: @SECP_LIBS@ 12 | Libs: -L${libdir} -lsecp256k1 13 | 14 | -------------------------------------------------------------------------------- /src/secp256k1/obj/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/secp256k1/obj/.gitignore -------------------------------------------------------------------------------- /src/secp256k1/src/basic-config.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_BASIC_CONFIG_ 8 | #define _SECP256K1_BASIC_CONFIG_ 9 | 10 | #ifdef USE_BASIC_CONFIG 11 | 12 | #undef USE_ASM_X86_64 13 | #undef USE_ENDOMORPHISM 14 | #undef USE_FIELD_10X26 15 | #undef USE_FIELD_5X52 16 | #undef USE_FIELD_INV_BUILTIN 17 | #undef USE_FIELD_INV_NUM 18 | #undef USE_NUM_GMP 19 | #undef USE_NUM_NONE 20 | #undef USE_SCALAR_4X64 21 | #undef USE_SCALAR_8X32 22 | #undef USE_SCALAR_INV_BUILTIN 23 | #undef USE_SCALAR_INV_NUM 24 | 25 | #define USE_NUM_NONE 1 26 | #define USE_FIELD_INV_BUILTIN 1 27 | #define USE_SCALAR_INV_BUILTIN 1 28 | #define USE_FIELD_10X26 1 29 | #define USE_SCALAR_8X32 1 30 | 31 | #endif // USE_BASIC_CONFIG 32 | #endif // _SECP256K1_BASIC_CONFIG_ 33 | -------------------------------------------------------------------------------- /src/secp256k1/src/ecmult_const.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_ECMULT_CONST_ 8 | #define _SECP256K1_ECMULT_CONST_ 9 | 10 | #include "scalar.h" 11 | #include "group.h" 12 | 13 | static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *q); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "org_bitcoin_Secp256k1Context.h" 4 | #include "include/secp256k1.h" 5 | 6 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 7 | (JNIEnv* env, jclass classObject) 8 | { 9 | secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY); 10 | 11 | (void)classObject;(void)env; 12 | 13 | return (uintptr_t)ctx; 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h: -------------------------------------------------------------------------------- 1 | /* DO NOT EDIT THIS FILE - it is machine generated */ 2 | #include 3 | #include "include/secp256k1.h" 4 | /* Header for class org_bitcoin_Secp256k1Context */ 5 | 6 | #ifndef _Included_org_bitcoin_Secp256k1Context 7 | #define _Included_org_bitcoin_Secp256k1Context 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | /* 12 | * Class: org_bitcoin_Secp256k1Context 13 | * Method: secp256k1_init_context 14 | * Signature: ()J 15 | */ 16 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 17 | (JNIEnv *, jclass); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | #endif 23 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/ecdh/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_ecdh.h 2 | noinst_HEADERS += src/modules/ecdh/main_impl.h 3 | noinst_HEADERS += src/modules/ecdh/tests_impl.h 4 | if USE_BENCHMARK 5 | noinst_PROGRAMS += bench_ecdh 6 | bench_ecdh_SOURCES = src/bench_ecdh.c 7 | bench_ecdh_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 8 | endif 9 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/recovery/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_recovery.h 2 | noinst_HEADERS += src/modules/recovery/main_impl.h 3 | noinst_HEADERS += src/modules/recovery/tests_impl.h 4 | if USE_BENCHMARK 5 | noinst_PROGRAMS += bench_recover 6 | bench_recover_SOURCES = src/bench_recover.c 7 | bench_recover_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 8 | endif 9 | -------------------------------------------------------------------------------- /src/secp256k1/src/num_gmp.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_NUM_REPR_ 8 | #define _SECP256K1_NUM_REPR_ 9 | 10 | #include 11 | 12 | #define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) 13 | 14 | typedef struct { 15 | mp_limb_t data[2*NUM_LIMBS]; 16 | int neg; 17 | int limbs; 18 | } secp256k1_num; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /src/secp256k1/src/num_impl.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_NUM_IMPL_H_ 8 | #define _SECP256K1_NUM_IMPL_H_ 9 | 10 | #if defined HAVE_CONFIG_H 11 | #include "libsecp256k1-config.h" 12 | #endif 13 | 14 | #include "num.h" 15 | 16 | #if defined(USE_NUM_GMP) 17 | #include "num_gmp_impl.h" 18 | #elif defined(USE_NUM_NONE) 19 | /* Nothing. */ 20 | #else 21 | #error "Please select num implementation" 22 | #endif 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_4x64.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_SCALAR_REPR_ 8 | #define _SECP256K1_SCALAR_REPR_ 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint64_t d[4]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{((uint64_t)(d1)) << 32 | (d0), ((uint64_t)(d3)) << 32 | (d2), ((uint64_t)(d5)) << 32 | (d4), ((uint64_t)(d7)) << 32 | (d6)}} 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_8x32.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_SCALAR_REPR_ 8 | #define _SECP256K1_SCALAR_REPR_ 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint32_t d[8]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{(d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)}} 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_low.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_SCALAR_REPR_ 8 | #define _SECP256K1_SCALAR_REPR_ 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef uint32_t secp256k1_scalar; 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /src/support/cleanse.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-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 | #include "cleanse.h" 7 | 8 | #include 9 | 10 | void memory_cleanse(void *ptr, size_t len) 11 | { 12 | OPENSSL_cleanse(ptr, len); 13 | } 14 | -------------------------------------------------------------------------------- /src/support/cleanse.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-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 | #ifndef BITCOIN_SUPPORT_CLEANSE_H 7 | #define BITCOIN_SUPPORT_CLEANSE_H 8 | 9 | #include 10 | 11 | void memory_cleanse(void *ptr, size_t len); 12 | 13 | #endif // BITCOIN_SUPPORT_CLEANSE_H 14 | -------------------------------------------------------------------------------- /src/test/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | $(MAKE) -C .. bitcoin_test 3 | clean: 4 | $(MAKE) -C .. bitcoin_test_clean 5 | check: 6 | $(MAKE) -C .. bitcoin_test_check 7 | -------------------------------------------------------------------------------- /src/test/base32_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-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 | #include "utilstrencodings.h" 6 | #include "test/test_bitcoin.h" 7 | 8 | #include 9 | 10 | BOOST_FIXTURE_TEST_SUITE(base32_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(base32_testvectors) 13 | { 14 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 15 | static const std::string vstrOut[] = {"","my======","mzxq====","mzxw6===","mzxw6yq=","mzxw6ytb","mzxw6ytboi======"}; 16 | for (unsigned int i=0; i 9 | 10 | BOOST_FIXTURE_TEST_SUITE(base64_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(base64_testvectors) 13 | { 14 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 15 | static const std::string vstrOut[] = {"","Zg==","Zm8=","Zm9v","Zm9vYg==","Zm9vYmE=","Zm9vYmFy"}; 16 | for (unsigned int i=0; i 9 | 10 | BOOST_FIXTURE_TEST_SUITE(bswap_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(bswap_tests) 13 | { 14 | // Sibling in bitcoin/src/qt/test/compattests.cpp 15 | uint16_t u1 = 0x1234; 16 | uint32_t u2 = 0x56789abc; 17 | uint64_t u3 = 0xdef0123456789abc; 18 | uint16_t e1 = 0x3412; 19 | uint32_t e2 = 0xbc9a7856; 20 | uint64_t e3 = 0xbc9a78563412f0de; 21 | BOOST_CHECK(bswap_16(u1) == e1); 22 | BOOST_CHECK(bswap_32(u2) == e2); 23 | BOOST_CHECK(bswap_64(u3) == e3); 24 | } 25 | 26 | BOOST_AUTO_TEST_SUITE_END() 27 | -------------------------------------------------------------------------------- /src/test/buildenv.py.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | exeext="@EXEEXT@" 3 | -------------------------------------------------------------------------------- /src/test/data/README.md: -------------------------------------------------------------------------------- 1 | Description 2 | ------------ 3 | 4 | This directory contains data-driven tests for various aspects of Bitcoin. 5 | 6 | License 7 | -------- 8 | 9 | The data files in this directory are distributed under the MIT software 10 | license, see the accompanying file COPYING or 11 | http://www.opensource.org/licenses/mit-license.php. 12 | 13 | -------------------------------------------------------------------------------- /src/test/data/base58_encode_decode.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["", ""], 3 | ["61", "2g"], 4 | ["626262", "a3gV"], 5 | ["636363", "aPEr"], 6 | ["73696d706c792061206c6f6e6720737472696e67", "2cFupjhnEsSn59qHXstmK2ffpLv2"], 7 | ["00eb15231dfceb60925886b67d065299925915aeb172c06647", "1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L"], 8 | ["516b6fcd0f", "ABnLTmg"], 9 | ["bf4f89001e670274dd", "3SEo3LWLoPntC"], 10 | ["572e4794", "3EFU7m"], 11 | ["ecac89cad93923c02321", "EJDM8drfXA6uyA"], 12 | ["10c8511e", "Rt5zm"], 13 | ["00000000000000000000", "1111111111"] 14 | ] 15 | -------------------------------------------------------------------------------- /src/test/data/blanktx.hex: -------------------------------------------------------------------------------- 1 | 01000000000000000000 2 | -------------------------------------------------------------------------------- /src/test/data/blanktx.json: -------------------------------------------------------------------------------- 1 | { 2 | "txid": "d21633ba23f70118185227be58a63527675641ad37967e2aa461559f577aec43", 3 | "hash": "d21633ba23f70118185227be58a63527675641ad37967e2aa461559f577aec43", 4 | "version": 1, 5 | "locktime": 0, 6 | "vin": [ 7 | ], 8 | "vout": [ 9 | ], 10 | "hex": "01000000000000000000" 11 | } 12 | -------------------------------------------------------------------------------- /src/test/data/txcreate1.hex: -------------------------------------------------------------------------------- 1 | 01000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fffffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d717000000001976a914f2d4db28cad6502226ee484ae24505c2885cb12d88ac00000000 2 | -------------------------------------------------------------------------------- /src/test/data/txcreate2.hex: -------------------------------------------------------------------------------- 1 | 01000000000100000000000000000000000000 2 | -------------------------------------------------------------------------------- /src/test/data/txcreate2.json: -------------------------------------------------------------------------------- 1 | { 2 | "txid": "cf90229625e9eb10f6be8156bf6aa5ec2eca19a42b1e05c11f3029b560a32e13", 3 | "hash": "cf90229625e9eb10f6be8156bf6aa5ec2eca19a42b1e05c11f3029b560a32e13", 4 | "version": 1, 5 | "locktime": 0, 6 | "vin": [ 7 | ], 8 | "vout": [ 9 | { 10 | "value": 0.00, 11 | "n": 0, 12 | "scriptPubKey": { 13 | "asm": "", 14 | "hex": "", 15 | "type": "nonstandard" 16 | } 17 | } 18 | ], 19 | "hex": "01000000000100000000000000000000000000" 20 | } 21 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata1.hex: -------------------------------------------------------------------------------- 1 | 01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d71700000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 2 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata2.hex: -------------------------------------------------------------------------------- 1 | 01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0000000000000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 2 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata_seq0.hex: -------------------------------------------------------------------------------- 1 | 01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000 2 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata_seq1.hex: -------------------------------------------------------------------------------- 1 | 01000000021f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff1f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000010000000180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000 2 | -------------------------------------------------------------------------------- /src/test/data/txcreatesign.hex: -------------------------------------------------------------------------------- 1 | 01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d000000008b48304502210096a75056c9e2cc62b7214777b3d2a592cfda7092520126d4ebfcd6d590c99bd8022051bb746359cf98c0603f3004477eac68701132380db8facba19c89dc5ab5c5e201410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000 2 | -------------------------------------------------------------------------------- /src/test/sanity_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-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 | #include "compat/sanity.h" 6 | #include "key.h" 7 | #include "test/test_bitcoin.h" 8 | 9 | #include 10 | 11 | BOOST_FIXTURE_TEST_SUITE(sanity_tests, BasicTestingSetup) 12 | 13 | BOOST_AUTO_TEST_CASE(basic_sanity) 14 | { 15 | BOOST_CHECK_MESSAGE(glibc_sanity_test() == true, "libc sanity test"); 16 | BOOST_CHECK_MESSAGE(glibcxx_sanity_test() == true, "stdlib sanity test"); 17 | BOOST_CHECK_MESSAGE(ECC_InitSanityCheck() == true, "openssl ECC test"); 18 | } 19 | 20 | BOOST_AUTO_TEST_SUITE_END() 21 | -------------------------------------------------------------------------------- /src/test/testutil.cpp: -------------------------------------------------------------------------------- 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 | #include "testutil.h" 6 | 7 | #ifdef WIN32 8 | #include 9 | #endif 10 | 11 | #include 12 | 13 | boost::filesystem::path GetTempPath() { 14 | #if BOOST_FILESYSTEM_VERSION == 3 15 | return boost::filesystem::temp_directory_path(); 16 | #else 17 | // TODO: remove when we don't support filesystem v2 anymore 18 | boost::filesystem::path path; 19 | #ifdef WIN32 20 | char pszPath[MAX_PATH] = ""; 21 | 22 | if (GetTempPathA(MAX_PATH, pszPath)) 23 | path = boost::filesystem::path(pszPath); 24 | #else 25 | path = boost::filesystem::path("/tmp"); 26 | #endif 27 | if (path.empty() || !boost::filesystem::is_directory(path)) { 28 | LogPrintf("GetTempPath(): failed to find temp path\n"); 29 | return boost::filesystem::path(""); 30 | } 31 | return path; 32 | #endif 33 | } 34 | -------------------------------------------------------------------------------- /src/test/testutil.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 | /** 6 | * Utility functions shared by unit tests 7 | */ 8 | #ifndef BITCOIN_TEST_TESTUTIL_H 9 | #define BITCOIN_TEST_TESTUTIL_H 10 | 11 | #include 12 | 13 | boost::filesystem::path GetTempPath(); 14 | 15 | #endif // BITCOIN_TEST_TESTUTIL_H 16 | -------------------------------------------------------------------------------- /src/torcontrol.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | /** 6 | * Functionality for communicating with Tor. 7 | */ 8 | #ifndef BITCOIN_TORCONTROL_H 9 | #define BITCOIN_TORCONTROL_H 10 | 11 | #include "scheduler.h" 12 | 13 | extern const std::string DEFAULT_TOR_CONTROL; 14 | static const bool DEFAULT_LISTEN_ONION = true; 15 | 16 | void StartTorControl(boost::thread_group& threadGroup, CScheduler& scheduler); 17 | void InterruptTorControl(); 18 | void StopTorControl(); 19 | 20 | #endif /* BITCOIN_TORCONTROL_H */ 21 | -------------------------------------------------------------------------------- /src/ui_interface.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2010-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 | #include "ui_interface.h" 6 | #include "util.h" 7 | 8 | CClientUIInterface uiInterface; 9 | 10 | bool InitError(const std::string& str) 11 | { 12 | uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_ERROR); 13 | return false; 14 | } 15 | 16 | void InitWarning(const std::string& str) 17 | { 18 | uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_WARNING); 19 | } 20 | 21 | std::string AmountErrMsg(const char* const optname, const std::string& strValue) 22 | { 23 | return strprintf(_("Invalid amount for -%s=: '%s'"), optname, strValue); 24 | } 25 | -------------------------------------------------------------------------------- /src/univalue/.gitignore: -------------------------------------------------------------------------------- 1 | .deps/ 2 | INSTALL 3 | Makefile 4 | Makefile.in 5 | aclocal.m4 6 | autom4te.cache/ 7 | compile 8 | config.log 9 | config.status 10 | config.guess 11 | config.sub 12 | configure 13 | depcomp 14 | install-sh 15 | missing 16 | stamp-h1 17 | univalue-config.h* 18 | test-driver 19 | libtool 20 | ltmain.sh 21 | test-suite.log 22 | 23 | *.a 24 | *.la 25 | *.lo 26 | *.logs 27 | *.o 28 | *.pc 29 | *.trs 30 | 31 | .dirstamp 32 | .libs 33 | -------------------------------------------------------------------------------- /src/univalue/COPYING: -------------------------------------------------------------------------------- 1 | 2 | Permission is hereby granted, free of charge, to any person obtaining a copy 3 | of this software and associated documentation files (the "Software"), to deal 4 | in the Software without restriction, including without limitation the rights 5 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 6 | copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in 10 | all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 14 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 16 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 17 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 18 | THE SOFTWARE. 19 | 20 | -------------------------------------------------------------------------------- /src/univalue/README: -------------------------------------------------------------------------------- 1 | 2 | UniValue 3 | 4 | A universal value object, with JSON encoding (output) and decoding (input). 5 | 6 | Built as a single dynamic RAII C++ object class, and no templates. 7 | 8 | -------------------------------------------------------------------------------- /src/univalue/TODO: -------------------------------------------------------------------------------- 1 | 2 | Rearrange tree for easier 'git subtree' style use 3 | 4 | Move towards C++11 etc. 5 | 6 | Namespace support - must come up with useful shorthand, avoiding 7 | long Univalue::Univalue::Univalue usages forced upon library users. 8 | 9 | Improve test suite 10 | 11 | -------------------------------------------------------------------------------- /src/univalue/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | srcdir="$(dirname $0)" 4 | cd "$srcdir" 5 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then 6 | LIBTOOLIZE="${GLIBTOOLIZE}" 7 | export LIBTOOLIZE 8 | fi 9 | autoreconf --install --force 10 | -------------------------------------------------------------------------------- /src/univalue/build-aux/m4/.gitignore: -------------------------------------------------------------------------------- 1 | /*.m4 2 | -------------------------------------------------------------------------------- /src/univalue/lib/.gitignore: -------------------------------------------------------------------------------- 1 | gen 2 | .libs 3 | -------------------------------------------------------------------------------- /src/univalue/pc/libunivalue-uninstalled.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libunivalue 7 | Description: libunivalue, C++ universal value object and JSON library 8 | Version: @VERSION@ 9 | Libs: ${pc_top_builddir}/${pcfiledir}/libunivalue.la 10 | -------------------------------------------------------------------------------- /src/univalue/pc/libunivalue.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libunivalue 7 | Description: libunivalue, C++ universal value object and JSON library 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lunivalue 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /src/univalue/test/.gitignore: -------------------------------------------------------------------------------- 1 | unitester 2 | 3 | *.trs 4 | *.log 5 | -------------------------------------------------------------------------------- /src/univalue/test/fail1.json: -------------------------------------------------------------------------------- 1 | "A JSON payload should be an object or array, not a string." -------------------------------------------------------------------------------- /src/univalue/test/fail10.json: -------------------------------------------------------------------------------- 1 | {"Extra value after close": true} "misplaced quoted value" -------------------------------------------------------------------------------- /src/univalue/test/fail11.json: -------------------------------------------------------------------------------- 1 | {"Illegal expression": 1 + 2} -------------------------------------------------------------------------------- /src/univalue/test/fail12.json: -------------------------------------------------------------------------------- 1 | {"Illegal invocation": alert()} -------------------------------------------------------------------------------- /src/univalue/test/fail13.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot have leading zeroes": 013} -------------------------------------------------------------------------------- /src/univalue/test/fail14.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot be hex": 0x14} -------------------------------------------------------------------------------- /src/univalue/test/fail15.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \x15"] -------------------------------------------------------------------------------- /src/univalue/test/fail16.json: -------------------------------------------------------------------------------- 1 | [\naked] -------------------------------------------------------------------------------- /src/univalue/test/fail17.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \017"] -------------------------------------------------------------------------------- /src/univalue/test/fail18.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /src/univalue/test/fail19.json: -------------------------------------------------------------------------------- 1 | {"Missing colon" null} -------------------------------------------------------------------------------- /src/univalue/test/fail2.json: -------------------------------------------------------------------------------- 1 | ["Unclosed array" -------------------------------------------------------------------------------- /src/univalue/test/fail20.json: -------------------------------------------------------------------------------- 1 | {"Double colon":: null} -------------------------------------------------------------------------------- /src/univalue/test/fail21.json: -------------------------------------------------------------------------------- 1 | {"Comma instead of colon", null} -------------------------------------------------------------------------------- /src/univalue/test/fail22.json: -------------------------------------------------------------------------------- 1 | ["Colon instead of comma": false] -------------------------------------------------------------------------------- /src/univalue/test/fail23.json: -------------------------------------------------------------------------------- 1 | ["Bad value", truth] -------------------------------------------------------------------------------- /src/univalue/test/fail24.json: -------------------------------------------------------------------------------- 1 | ['single quote'] -------------------------------------------------------------------------------- /src/univalue/test/fail25.json: -------------------------------------------------------------------------------- 1 | [" tab character in string "] -------------------------------------------------------------------------------- /src/univalue/test/fail26.json: -------------------------------------------------------------------------------- 1 | ["tab\ character\ in\ string\ "] -------------------------------------------------------------------------------- /src/univalue/test/fail27.json: -------------------------------------------------------------------------------- 1 | ["line 2 | break"] -------------------------------------------------------------------------------- /src/univalue/test/fail28.json: -------------------------------------------------------------------------------- 1 | ["line\ 2 | break"] -------------------------------------------------------------------------------- /src/univalue/test/fail29.json: -------------------------------------------------------------------------------- 1 | [0e] -------------------------------------------------------------------------------- /src/univalue/test/fail3.json: -------------------------------------------------------------------------------- 1 | {unquoted_key: "keys must be quoted"} -------------------------------------------------------------------------------- /src/univalue/test/fail30.json: -------------------------------------------------------------------------------- 1 | [0e+] -------------------------------------------------------------------------------- /src/univalue/test/fail31.json: -------------------------------------------------------------------------------- 1 | [0e+-1] -------------------------------------------------------------------------------- /src/univalue/test/fail32.json: -------------------------------------------------------------------------------- 1 | {"Comma instead if closing brace": true, -------------------------------------------------------------------------------- /src/univalue/test/fail33.json: -------------------------------------------------------------------------------- 1 | ["mismatch"} -------------------------------------------------------------------------------- /src/univalue/test/fail34.json: -------------------------------------------------------------------------------- 1 | {} garbage -------------------------------------------------------------------------------- /src/univalue/test/fail35.json: -------------------------------------------------------------------------------- 1 | [ true true true [] [] [] ] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail36.json: -------------------------------------------------------------------------------- 1 | {"a":} 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail37.json: -------------------------------------------------------------------------------- 1 | {"a":1 "b":2} 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail38.json: -------------------------------------------------------------------------------- 1 | ["\ud834"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail39.json: -------------------------------------------------------------------------------- 1 | ["\udd61"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail4.json: -------------------------------------------------------------------------------- 1 | ["extra comma",] -------------------------------------------------------------------------------- /src/univalue/test/fail40.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/univalue/test/fail40.json -------------------------------------------------------------------------------- /src/univalue/test/fail41.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bitcoinplusorg/xbcwalletsource/ff3be4a029e9f2a2b9ae0440c8a6ad39d4b51d89/src/univalue/test/fail41.json -------------------------------------------------------------------------------- /src/univalue/test/fail5.json: -------------------------------------------------------------------------------- 1 | ["double extra comma",,] -------------------------------------------------------------------------------- /src/univalue/test/fail6.json: -------------------------------------------------------------------------------- 1 | [ , "<-- missing value"] -------------------------------------------------------------------------------- /src/univalue/test/fail7.json: -------------------------------------------------------------------------------- 1 | ["Comma after the close"], -------------------------------------------------------------------------------- /src/univalue/test/fail8.json: -------------------------------------------------------------------------------- 1 | ["Extra close"]] -------------------------------------------------------------------------------- /src/univalue/test/fail9.json: -------------------------------------------------------------------------------- 1 | {"Extra comma": true,} -------------------------------------------------------------------------------- /src/univalue/test/pass2.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /src/univalue/test/pass3.json: -------------------------------------------------------------------------------- 1 | { 2 | "JSON Test Pattern pass3": { 3 | "The outermost value": "must be an object or array.", 4 | "In this test": "It is an object." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/univalue/test/round1.json: -------------------------------------------------------------------------------- 1 | ["\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/round2.json: -------------------------------------------------------------------------------- 1 | ["a§■𐎒𝅘𝅥𝅯"] 2 | -------------------------------------------------------------------------------- /src/utilmoneystr.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-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 | /** 7 | * Money parsing/formatting utilities. 8 | */ 9 | #ifndef BITCOIN_UTILMONEYSTR_H 10 | #define BITCOIN_UTILMONEYSTR_H 11 | 12 | #include 13 | #include 14 | 15 | #include "amount.h" 16 | 17 | std::string FormatMoney(const CAmount& n); 18 | bool ParseMoney(const std::string& str, CAmount& nRet); 19 | bool ParseMoney(const char* pszIn, CAmount& nRet); 20 | 21 | #endif // BITCOIN_UTILMONEYSTR_H 22 | -------------------------------------------------------------------------------- /src/utiltime.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-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 | #ifndef BITCOIN_UTILTIME_H 7 | #define BITCOIN_UTILTIME_H 8 | 9 | #include 10 | #include 11 | 12 | int64_t GetTime(); 13 | int64_t GetTimeMillis(); 14 | int64_t GetTimeMicros(); 15 | int64_t GetLogTimeMicros(); 16 | void SetMockTime(int64_t nMockTimeIn); 17 | void MilliSleep(int64_t n); 18 | 19 | std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime); 20 | 21 | #endif // BITCOIN_UTILTIME_H 22 | -------------------------------------------------------------------------------- /src/wallet/rpcwallet.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_WALLET_RPCWALLET_H 6 | #define BITCOIN_WALLET_RPCWALLET_H 7 | 8 | class CRPCTable; 9 | 10 | void RegisterWalletRPCCommands(CRPCTable &tableRPC); 11 | 12 | #endif //BITCOIN_WALLET_RPCWALLET_H 13 | -------------------------------------------------------------------------------- /src/wallet/test/wallet_test_fixture.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | #include "wallet/test/wallet_test_fixture.h" 6 | 7 | #include "rpc/server.h" 8 | #include "wallet/db.h" 9 | #include "wallet/wallet.h" 10 | 11 | WalletTestingSetup::WalletTestingSetup(const std::string& chainName): 12 | TestingSetup(chainName) 13 | { 14 | bitdb.MakeMock(); 15 | 16 | bool fFirstRun; 17 | pwalletMain = new CWallet("wallet_test.dat"); 18 | pwalletMain->LoadWallet(fFirstRun); 19 | RegisterValidationInterface(pwalletMain); 20 | 21 | RegisterWalletRPCCommands(tableRPC); 22 | } 23 | 24 | WalletTestingSetup::~WalletTestingSetup() 25 | { 26 | UnregisterValidationInterface(pwalletMain); 27 | delete pwalletMain; 28 | pwalletMain = NULL; 29 | 30 | bitdb.Flush(true); 31 | bitdb.Reset(); 32 | } 33 | -------------------------------------------------------------------------------- /src/wallet/test/wallet_test_fixture.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_WALLET_TEST_FIXTURE_H 6 | #define BITCOIN_WALLET_TEST_FIXTURE_H 7 | 8 | #include "test/test_bitcoin.h" 9 | 10 | /** Testing setup and teardown for wallet. 11 | */ 12 | struct WalletTestingSetup: public TestingSetup { 13 | WalletTestingSetup(const std::string& chainName = CBaseChainParams::MAIN); 14 | ~WalletTestingSetup(); 15 | }; 16 | 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /src/zmq/zmqabstractnotifier.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | #include "zmqabstractnotifier.h" 6 | #include "util.h" 7 | 8 | 9 | CZMQAbstractNotifier::~CZMQAbstractNotifier() 10 | { 11 | assert(!psocket); 12 | } 13 | 14 | bool CZMQAbstractNotifier::NotifyBlock(const CBlockIndex * /*CBlockIndex*/) 15 | { 16 | return true; 17 | } 18 | 19 | bool CZMQAbstractNotifier::NotifyTransaction(const CTransaction &/*transaction*/) 20 | { 21 | return true; 22 | } 23 | -------------------------------------------------------------------------------- /src/zmq/zmqconfig.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_ZMQ_ZMQCONFIG_H 6 | #define BITCOIN_ZMQ_ZMQCONFIG_H 7 | 8 | #if defined(HAVE_CONFIG_H) 9 | #include "config/bitcoin-config.h" 10 | #endif 11 | 12 | #include 13 | #include 14 | 15 | #if ENABLE_ZMQ 16 | #include 17 | #endif 18 | 19 | #include "primitives/block.h" 20 | #include "primitives/transaction.h" 21 | 22 | void zmqError(const char *str); 23 | 24 | #endif // BITCOIN_ZMQ_ZMQCONFIG_H 25 | --------------------------------------------------------------------------------