├── .cproject ├── .gitattributes ├── .gitignore ├── .project ├── .settings └── org.eclipse.cdt.core.prefs ├── .travis.yml ├── .tx └── config ├── COPYING ├── INSTALL ├── 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_gcc_func_attribute.m4 │ ├── ax_pthread.m4 │ ├── bitcoin_find_bdb48.m4 │ ├── bitcoin_qt.m4 │ └── bitcoin_subdir_to_include.m4 ├── buildscript ├── altcoin.sh ├── build.sh ├── coin-autobuild_linux_native.sh ├── coin_autobuild_win32.sh ├── defaultconfig.sh └── unix_path_to_win_path.sh ├── configure.ac ├── contrib ├── README.md ├── bitcoin-qt.pro ├── bitcoind.bash-completion ├── bitrpc │ ├── README.md │ └── bitrpc.py ├── debian │ ├── README.md │ ├── bitcoin-qt.desktop │ ├── bitcoin-qt.install │ ├── bitcoin-qt.lintian-overrides │ ├── bitcoin-qt.protocol │ ├── bitcoind.bash-completion │ ├── bitcoind.examples │ ├── bitcoind.install │ ├── bitcoind.lintian-overrides │ ├── bitcoind.manpages │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── examples │ │ └── bitcoin.conf │ ├── gbp.conf │ ├── manpages │ │ ├── bitcoin-qt.1 │ │ ├── bitcoin.conf.5 │ │ └── bitcoind.1 │ ├── patches │ │ ├── README │ │ └── series │ ├── rules │ ├── source │ │ └── format │ └── watch ├── devtools │ ├── README.md │ ├── fix-copyright-headers.py │ ├── github-merge.sh │ ├── optimize-pngs.py │ ├── symbol-check.py │ └── update-translations.py ├── gitian-descriptors │ ├── README.md │ ├── gitian-linux.yml │ ├── gitian-osx-signer.yml │ ├── gitian-osx.yml │ └── gitian-win.yml ├── gitian-downloader │ ├── aschildbach-key.pgp │ ├── bluematt-key.pgp │ ├── cfields-key.pgp │ ├── devrandom-key.pgp │ ├── gavinandresen-key.pgp │ ├── jonasschnelli.pgp │ ├── laanwj-key.pgp │ ├── linux-download-config │ ├── luke-jr-key.pgp │ ├── michagogo-key.pgp │ ├── sipa-key.pgp │ ├── tcatm-key.pgp │ ├── win32-download-config │ └── wtogami-key.pgp ├── init │ ├── README.md │ ├── bitcoind.conf │ ├── bitcoind.openrc │ ├── bitcoind.openrcconf │ └── bitcoind.service ├── linearize │ ├── README.md │ ├── example-linearize.cfg │ ├── linearize-data.py │ └── linearize-hashes.py ├── macdeploy │ ├── DS_Store │ ├── LICENSE │ ├── README.md │ ├── background.png │ ├── background.psd │ ├── detached-sig-apply.sh │ ├── detached-sig-create.sh │ ├── fancy.plist │ └── macdeployqtplus ├── qos │ ├── README.md │ └── tc.sh ├── qt_translations.py ├── seeds │ ├── README.md │ └── makeseeds.py ├── spendfrom │ ├── README.md │ ├── setup.py │ └── spendfrom.py ├── test-patches │ ├── README.md │ └── temp-revert-2.patch ├── testgen │ ├── README.md │ ├── base58.py │ └── gen_base58_test_vectors.py ├── tidy_datadir.sh └── verifysfbinaries │ ├── README.md │ └── verify.sh ├── depends ├── .gitignore ├── Makefile ├── README ├── README.packages ├── README.usage ├── builders │ ├── darwin.mk │ ├── default.mk │ └── linux.mk ├── config.guess ├── config.site.in ├── config.sub ├── funcs.mk ├── hosts │ ├── darwin.mk │ ├── default.mk │ ├── linux.mk │ └── mingw32.mk ├── packages │ ├── bdb.mk │ ├── boost.mk │ ├── dbus.mk │ ├── expat.mk │ ├── fontconfig.mk │ ├── freetype.mk │ ├── libICE.mk │ ├── libSM.mk │ ├── libX11.mk │ ├── libXau.mk │ ├── libXext.mk │ ├── libxcb.mk │ ├── miniupnpc.mk │ ├── native_ccache.mk │ ├── native_cctools.mk │ ├── native_cdrkit.mk │ ├── native_comparisontool.mk │ ├── native_libdmg-hfsplus.mk │ ├── native_protobuf.mk │ ├── openssl.mk │ ├── packages.mk │ ├── protobuf.mk │ ├── qrencode.mk │ ├── qt.mk │ ├── qt46.mk │ ├── xcb_proto.mk │ ├── xextproto.mk │ ├── xproto.mk │ └── xtrans.mk ├── patches │ ├── boost │ │ ├── darwin_boost_atomic-1.patch │ │ └── darwin_boost_atomic-2.patch │ ├── native_cdrkit │ │ └── cdrkit-deterministic.patch │ ├── qt │ │ ├── fix-xcb-include-order.patch │ │ ├── mac-qmake.conf │ │ ├── qt5-tablet-osx.patch │ │ └── qt5-yosemite.patch │ └── qt46 │ │ └── stlfix.patch └── sdk-sources │ ├── MacOSX10.7.sdk.tar.gz │ └── MacOSX10.9.sdk.tar.gz ├── doc ├── Doxyfile ├── README.md ├── README_osx.txt ├── README_windows.txt ├── REST-interface.md ├── assets-attribution.md ├── bitcoin_logo_doxygen.png ├── bootstrap.md ├── build-osx.md ├── build-unix.md ├── developer-notes.md ├── dnsseed-policy.md ├── files.md ├── gitian-building.md ├── gitian-building │ ├── create_vm_file_location_size.png │ ├── create_vm_hard_drive.png │ ├── create_vm_hard_drive_file_type.png │ ├── create_vm_memsize.png │ ├── create_vm_page1.png │ ├── create_vm_storage_physical_hard_drive.png │ ├── debian_install_10_configure_clock.png │ ├── debian_install_11_partition_disks.png │ ├── debian_install_12_choose_disk.png │ ├── debian_install_13_partition_scheme.png │ ├── debian_install_14_finish.png │ ├── debian_install_15_write_changes.png │ ├── debian_install_16_choose_a_mirror.png │ ├── debian_install_17_choose_a_mirror2.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_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 │ ├── network_settings.png │ ├── port_forwarding_rules.png │ └── select_startup_disk.png ├── img │ ├── bootstrap1.png │ ├── bootstrap2.png │ ├── bootstrap4.png │ └── bootstrap5.png ├── init.md ├── multiwallet-qt.md ├── release-notes.md ├── release-notes │ ├── 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-process.md ├── tor.md ├── translation_process.md ├── travis-ci.txt └── unit-tests.md ├── exchange └── projects.list ├── genesis ├── README.md └── genesis.py ├── libbitcoinconsensus.pc.in ├── miningpool ├── client │ ├── bfgminer │ │ └── README.md │ ├── cpuminer │ │ └── cmdline.txt │ └── poclbm │ │ └── README.md └── server │ └── README.md ├── model ├── atcoin │ ├── coin.cfg │ ├── share │ │ └── pixmaps │ │ │ ├── bitcoin.ico │ │ │ ├── nsis-header.bmp │ │ │ └── nsis-wizard.bmp │ └── src │ │ └── qt │ │ └── res │ │ ├── icons │ │ ├── bitcoin.ico │ │ └── bitcoin.png │ │ ├── images │ │ └── splash.png │ │ └── src │ │ └── bitcoin.svg └── fastcoin │ ├── coin.cfg │ ├── share │ └── pixmaps │ │ ├── bitcoin.ico │ │ ├── nsis-header.bmp │ │ └── nsis-wizard.bmp │ └── src │ └── qt │ └── res │ ├── icons │ ├── bitcoin.ico │ └── bitcoin.png │ ├── images │ └── splash.png │ └── src │ └── bitcoin.svg ├── qa ├── pull-tester │ ├── rpc-tests.sh │ ├── run-bitcoin-cli │ ├── run-bitcoind-for-test.sh.in │ └── tests-config.sh.in └── rpc-tests │ ├── .gitignore │ ├── README.md │ ├── conflictedbalance.sh │ ├── forknotify.py │ ├── getblocktemplate_longpoll.py │ ├── getblocktemplate_proposals.py │ ├── getchaintips.py │ ├── httpbasics.py │ ├── keypool.py │ ├── listtransactions.py │ ├── mempool_coinbase_spends.py │ ├── mempool_resurrect_test.py │ ├── mempool_spendcoinbase.py │ ├── netutil.py │ ├── python-bitcoinrpc │ ├── bitcoinrpc │ │ ├── .gitignore │ │ ├── __init__.py │ │ └── authproxy.py │ └── setup.py │ ├── receivedby.py │ ├── rest.py │ ├── rpcbind_test.py │ ├── send.sh │ ├── smartfees.py │ ├── test_framework.py │ ├── txn_doublespend.py │ ├── util.py │ ├── util.sh │ ├── wallet.py │ ├── walletbackup.py │ └── zapwallettxes.py ├── share ├── certs │ ├── BitcoinFoundation_Apple_Cert.pem │ ├── BitcoinFoundation_Comodo_Cert.pem │ └── PrivateKeyNotes.md ├── genbuild.sh ├── pixmaps │ ├── addressbook16.bmp │ ├── addressbook16mask.bmp │ ├── addressbook20.bmp │ ├── addressbook20mask.bmp │ ├── bitcoin-bc.ico │ ├── bitcoin.ico │ ├── bitcoin128.png │ ├── bitcoin128.xpm │ ├── bitcoin16.png │ ├── bitcoin16.xpm │ ├── bitcoin256.png │ ├── bitcoin256.xpm │ ├── bitcoin32.png │ ├── bitcoin32.xpm │ ├── bitcoin64.png │ ├── bitcoin64.xpm │ ├── check.ico │ ├── favicon.ico │ ├── nsis-header.bmp │ ├── nsis-wizard.bmp │ ├── send16.bmp │ ├── send16mask.bmp │ ├── send16masknoshadow.bmp │ ├── send20.bmp │ └── send20mask.bmp ├── qt │ ├── Info.plist.in │ ├── extract_strings_qt.py │ ├── img │ │ ├── reload.png │ │ └── reload.xcf │ ├── make_spinner.py │ ├── make_windows_icon.sh │ └── protobuf.pri ├── seeds │ ├── generate-seeds.py │ ├── nodes_main.txt │ └── nodes_test.txt ├── setup.nsi.in └── ui.rc ├── src ├── .clang-format ├── Makefile.am ├── Makefile.qt.include ├── Makefile.qttest.include ├── Makefile.test.include ├── addrman.cpp ├── addrman.h ├── alert.cpp ├── alert.h ├── allocators.cpp ├── allocators.h ├── amount.cpp ├── amount.h ├── arith_uint256.cpp ├── arith_uint256.h ├── base58.cpp ├── base58.h ├── bitcoin-cli-res.rc ├── bitcoin-cli.cpp ├── bitcoin-tx.cpp ├── bitcoind-res.rc ├── bitcoind.cpp ├── bloom.cpp ├── bloom.h ├── chain.cpp ├── chain.h ├── chainparams.cpp ├── chainparams.h ├── chainparamsbase.cpp ├── chainparamsbase.h ├── chainparamsseeds.h ├── checkpoints.cpp ├── checkpoints.h ├── checkqueue.h ├── clientversion.cpp ├── clientversion.h ├── coincontrol.h ├── coins.cpp ├── coins.h ├── compat.h ├── compat │ ├── glibc_compat.cpp │ ├── glibc_sanity.cpp │ ├── glibcxx_compat.cpp │ ├── glibcxx_sanity.cpp │ ├── sanity.h │ └── strnlen.cpp ├── compressor.cpp ├── compressor.h ├── config │ └── .empty ├── core_io.h ├── core_read.cpp ├── core_write.cpp ├── crypter.cpp ├── crypter.h ├── crypto │ ├── common.h │ ├── hmac_sha256.cpp │ ├── hmac_sha256.h │ ├── hmac_sha512.cpp │ ├── hmac_sha512.h │ ├── keccak256.cpp │ ├── keccak256.h │ ├── rfc6979_hmac_sha256.cpp │ ├── rfc6979_hmac_sha256.h │ ├── ripemd160.cpp │ ├── ripemd160.h │ ├── scrypt.cpp │ ├── scrypt.h │ ├── sha1.cpp │ ├── sha1.h │ ├── sha256.cpp │ ├── sha256.h │ ├── sha512.cpp │ └── sha512.h ├── db.cpp ├── db.h ├── eccryptoverify.cpp ├── eccryptoverify.h ├── ecwrapper.cpp ├── ecwrapper.h ├── hash.cpp ├── hash.h ├── init.cpp ├── init.h ├── json │ ├── LICENSE.txt │ ├── json_spirit.h │ ├── json_spirit_error_position.h │ ├── json_spirit_reader.cpp │ ├── json_spirit_reader.h │ ├── json_spirit_reader_template.h │ ├── json_spirit_stream_reader.h │ ├── json_spirit_utils.h │ ├── json_spirit_value.cpp │ ├── json_spirit_value.h │ ├── json_spirit_writer.cpp │ ├── json_spirit_writer.h │ └── json_spirit_writer_template.h ├── 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 ├── leveldbwrapper.cpp ├── leveldbwrapper.h ├── limitedmap.h ├── main.cpp ├── main.h ├── merkleblock.cpp ├── merkleblock.h ├── miner.cpp ├── miner.h ├── mruset.h ├── net.cpp ├── net.h ├── netbase.cpp ├── netbase.h ├── noui.cpp ├── noui.h ├── obj-test │ └── .gitignore ├── obj │ └── .gitignore ├── pow.cpp ├── pow.h ├── primitives │ ├── block.cpp │ ├── block.h │ ├── transaction.cpp │ └── transaction.h ├── protocol.cpp ├── protocol.h ├── pubkey.cpp ├── pubkey.h ├── qt │ ├── Makefile │ ├── addressbookpage.cpp │ ├── addressbookpage.h │ ├── addresstablemodel.cpp │ ├── addresstablemodel.h │ ├── askpassphrasedialog.cpp │ ├── askpassphrasedialog.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 │ │ ├── addressbookpage.ui │ │ ├── askpassphrasedialog.ui │ │ ├── coincontroldialog.ui │ │ ├── editaddressdialog.ui │ │ ├── helpmessagedialog.ui │ │ ├── intro.ui │ │ ├── openuridialog.ui │ │ ├── optionsdialog.ui │ │ ├── overviewpage.ui │ │ ├── receivecoinsdialog.ui │ │ ├── receiverequestdialog.ui │ │ ├── rpcconsole.ui │ │ ├── sendcoinsdialog.ui │ │ ├── sendcoinsentry.ui │ │ ├── signverifymessagedialog.ui │ │ └── transactiondescdialog.ui │ ├── guiconstants.h │ ├── guiutil.cpp │ ├── guiutil.h │ ├── intro.cpp │ ├── intro.h │ ├── locale │ │ ├── bitcoin_ach.ts │ │ ├── bitcoin_af_ZA.ts │ │ ├── bitcoin_ar.ts │ │ ├── bitcoin_be_BY.ts │ │ ├── bitcoin_bg.ts │ │ ├── bitcoin_bs.ts │ │ ├── bitcoin_ca.ts │ │ ├── bitcoin_ca@valencia.ts │ │ ├── bitcoin_ca_ES.ts │ │ ├── bitcoin_cmn.ts │ │ ├── bitcoin_cs.ts │ │ ├── bitcoin_cy.ts │ │ ├── bitcoin_da.ts │ │ ├── bitcoin_de.ts │ │ ├── bitcoin_el_GR.ts │ │ ├── bitcoin_en.ts │ │ ├── bitcoin_eo.ts │ │ ├── bitcoin_es.ts │ │ ├── bitcoin_es_CL.ts │ │ ├── bitcoin_es_DO.ts │ │ ├── bitcoin_es_MX.ts │ │ ├── bitcoin_es_UY.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_gl.ts │ │ ├── bitcoin_gu_IN.ts │ │ ├── bitcoin_he.ts │ │ ├── bitcoin_hi_IN.ts │ │ ├── bitcoin_hr.ts │ │ ├── bitcoin_hu.ts │ │ ├── bitcoin_id_ID.ts │ │ ├── bitcoin_it.ts │ │ ├── bitcoin_ja.ts │ │ ├── bitcoin_ka.ts │ │ ├── bitcoin_kk_KZ.ts │ │ ├── bitcoin_ko_KR.ts │ │ ├── bitcoin_ky.ts │ │ ├── bitcoin_la.ts │ │ ├── bitcoin_lt.ts │ │ ├── bitcoin_lv_LV.ts │ │ ├── bitcoin_mn.ts │ │ ├── bitcoin_ms_MY.ts │ │ ├── bitcoin_nb.ts │ │ ├── bitcoin_nl.ts │ │ ├── bitcoin_pam.ts │ │ ├── bitcoin_pl.ts │ │ ├── bitcoin_pt_BR.ts │ │ ├── bitcoin_pt_PT.ts │ │ ├── bitcoin_ro_RO.ts │ │ ├── bitcoin_ru.ts │ │ ├── bitcoin_sah.ts │ │ ├── bitcoin_sk.ts │ │ ├── bitcoin_sl_SI.ts │ │ ├── bitcoin_sq.ts │ │ ├── bitcoin_sr.ts │ │ ├── bitcoin_sv.ts │ │ ├── bitcoin_th_TH.ts │ │ ├── bitcoin_tr.ts │ │ ├── bitcoin_uk.ts │ │ ├── bitcoin_ur_PK.ts │ │ ├── bitcoin_uz@Cyrl.ts │ │ ├── bitcoin_vi.ts │ │ ├── bitcoin_vi_VN.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 │ ├── 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 │ │ │ ├── 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 │ │ │ ├── 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_conflicted.png │ │ │ ├── tx_inout.png │ │ │ ├── tx_input.png │ │ │ ├── tx_mined.png │ │ │ ├── tx_output.png │ │ │ └── verify.png │ │ ├── images │ │ │ └── splash.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 │ │ ├── spinner.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 │ │ │ ├── mine.svg │ │ │ ├── qt.svg │ │ │ ├── tx_in.svg │ │ │ ├── tx_inout.svg │ │ │ └── verify.svg │ ├── rpcconsole.cpp │ ├── rpcconsole.h │ ├── scicon.cpp │ ├── scicon.h │ ├── sendcoinsdialog.cpp │ ├── sendcoinsdialog.h │ ├── sendcoinsentry.cpp │ ├── sendcoinsentry.h │ ├── signverifymessagedialog.cpp │ ├── signverifymessagedialog.h │ ├── splashscreen.cpp │ ├── splashscreen.h │ ├── test │ │ ├── Makefile │ │ ├── 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 ├── rpcblockchain.cpp ├── rpcclient.cpp ├── rpcclient.h ├── rpcdump.cpp ├── rpcmining.cpp ├── rpcmisc.cpp ├── rpcnet.cpp ├── rpcprotocol.cpp ├── rpcprotocol.h ├── rpcrawtransaction.cpp ├── rpcserver.cpp ├── rpcserver.h ├── rpcwallet.cpp ├── script │ ├── bitcoinconsensus.cpp │ ├── bitcoinconsensus.h │ ├── interpreter.cpp │ ├── interpreter.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 │ │ │ └── bitcoin_secp.m4 │ ├── configure.ac │ ├── include │ │ └── secp256k1.h │ ├── libsecp256k1.pc.in │ ├── obj │ │ └── .gitignore │ └── src │ │ ├── bench.h │ │ ├── bench_inv.c │ │ ├── bench_recover.c │ │ ├── bench_sign.c │ │ ├── bench_verify.c │ │ ├── ecdsa.h │ │ ├── ecdsa_impl.h │ │ ├── eckey.h │ │ ├── eckey_impl.h │ │ ├── ecmult.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_gmp.h │ │ ├── field_gmp_impl.h │ │ ├── field_impl.h │ │ ├── group.h │ │ ├── group_impl.h │ │ ├── java │ │ ├── org │ │ │ └── bitcoin │ │ │ │ └── NativeSecp256k1.java │ │ ├── org_bitcoin_NativeSecp256k1.c │ │ └── org_bitcoin_NativeSecp256k1.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 │ │ ├── secp256k1.c │ │ ├── testrand.h │ │ ├── testrand_impl.h │ │ ├── tests.c │ │ └── util.h ├── serialize.h ├── streams.h ├── sync.cpp ├── sync.h ├── test │ ├── Checkpoints_tests.cpp │ ├── DoS_tests.cpp │ ├── Makefile │ ├── README.md │ ├── accounting_tests.cpp │ ├── alert_tests.cpp │ ├── allocator_tests.cpp │ ├── arith_uint256_tests.cpp │ ├── base32_tests.cpp │ ├── base58_tests.cpp │ ├── base64_tests.cpp │ ├── bctest.py │ ├── bignum.h │ ├── bip32_tests.cpp │ ├── bitcoin-util-test.py │ ├── bloom_tests.cpp │ ├── buildenv.py.in │ ├── checkblock_tests.cpp │ ├── coins_tests.cpp │ ├── compress_tests.cpp │ ├── crypto_tests.cpp │ ├── data │ │ ├── README.md │ │ ├── alertTests.raw │ │ ├── base58_encode_decode.json │ │ ├── base58_keys_invalid.json │ │ ├── base58_keys_valid.json │ │ ├── bitcoin-util-test.json │ │ ├── blanktx.hex │ │ ├── script_invalid.json │ │ ├── script_valid.json │ │ ├── sig_canonical.json │ │ ├── sig_noncanonical.json │ │ ├── sighash.json │ │ ├── tt-delin1-out.hex │ │ ├── tt-delout1-out.hex │ │ ├── tt-locktime317000-out.hex │ │ ├── tx394b54bb.hex │ │ ├── tx_invalid.json │ │ ├── tx_valid.json │ │ ├── txcreate1.hex │ │ ├── txcreate2.hex │ │ └── txcreatesign.hex │ ├── getarg_tests.cpp │ ├── hash_tests.cpp │ ├── keccak256_tests.cpp │ ├── key_tests.cpp │ ├── main_tests.cpp │ ├── miner_tests.cpp │ ├── mruset_tests.cpp │ ├── multisig_tests.cpp │ ├── netbase_tests.cpp │ ├── pmt_tests.cpp │ ├── rpc_tests.cpp │ ├── rpc_wallet_tests.cpp │ ├── sanity_tests.cpp │ ├── script_P2SH_tests.cpp │ ├── script_tests.cpp │ ├── scriptnum_tests.cpp │ ├── serialize_tests.cpp │ ├── sighash_tests.cpp │ ├── sigopcount_tests.cpp │ ├── skiplist_tests.cpp │ ├── test_bitcoin.cpp │ ├── timedata_tests.cpp │ ├── transaction_tests.cpp │ ├── uint256_tests.cpp │ ├── univalue_tests.cpp │ ├── util_tests.cpp │ └── wallet_tests.cpp ├── threadsafety.h ├── timedata.cpp ├── timedata.h ├── tinyformat.h ├── txdb.cpp ├── txdb.h ├── txmempool.cpp ├── txmempool.h ├── ui_interface.h ├── uint256.cpp ├── uint256.h ├── undo.h ├── univalue │ ├── gen.cpp │ ├── univalue.cpp │ ├── univalue.h │ ├── univalue_escapes.h │ ├── univalue_read.cpp │ └── univalue_write.cpp ├── util.cpp ├── util.h ├── utilmoneystr.cpp ├── utilmoneystr.h ├── utilstrencodings.cpp ├── utilstrencodings.h ├── utiltime.cpp ├── utiltime.h ├── version.h ├── wallet.cpp ├── wallet.h ├── wallet_ismine.cpp ├── wallet_ismine.h ├── walletdb.cpp └── walletdb.h └── travis.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | src/clientversion.cpp export-subst 2 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | bitcoin2 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder 10 | clean,full,incremental, 11 | 12 | 13 | 14 | 15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder 16 | full,incremental, 17 | 18 | 19 | 20 | 21 | 22 | org.eclipse.cdt.core.cnature 23 | org.eclipse.cdt.core.ccnature 24 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 25 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature 26 | 27 | 28 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [bitcoin.qt-translation-010x] 5 | file_filter = src/qt/locale/bitcoin_.ts 6 | source_file = src/qt/locale/bitcoin_en.ts 7 | source_lang = en 8 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2015 Bitcoin Developers 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 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | Building Bitcoin 2 | 3 | See doc/build-*.md for instructions on building bitcoind, 4 | the intended-for-services, no-graphical-interface, reference 5 | implementation of Bitcoin. -------------------------------------------------------------------------------- /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 --warnings=all 10 | -------------------------------------------------------------------------------- /build-aux/m4/bitcoin_subdir_to_include.m4: -------------------------------------------------------------------------------- 1 | dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE]) 2 | dnl SUBDIRECTORY-NAME must end with a path separator 3 | AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[ 4 | if test "x$2" = "x"; then 5 | AC_MSG_RESULT([default]) 6 | else 7 | echo "#include <$2$3.h>" >conftest.cpp 8 | 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`] 9 | AC_MSG_RESULT([${newinclpath}]) 10 | if test "x${newinclpath}" != "x"; then 11 | eval "$1=\"\$$1\"' -I${newinclpath}'" 12 | fi 13 | fi 14 | ]) 15 | -------------------------------------------------------------------------------- /buildscript/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export MAKENSIS_HOME=${DEPEND_HOME}/nsis-2.46 3 | #Notice, use the cygwin hexdump tool to test. 4 | #http://gnuwin32.sourceforge.net/packages/util-linux-ng.htm 5 | export HEXTOOLS_BIN_HOME=${DEPEND_HOME}/hexdump/bin 6 | export GIT_BIN_HOME="/c/Git/bin" 7 | 8 | export PATH=${PATH}:${MAKENSIS_HOME}:${GIT_BIN_HOME}:${HEXTOOLS_BIN_HOME} 9 | 10 | make deploy -------------------------------------------------------------------------------- /buildscript/unix_path_to_win_path.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | UNIX_PATH_PREFIX="$1" 3 | SOURCE_NSI=share/setup.nsi 4 | TEMP_NSI=share/setup.nsi.temp 5 | 6 | cp $SOURCE_NSI $TEMP_NSI 7 | 8 | while read -r line; do 9 | matchline=$(echo -ne $line | grep "$UNIX_PATH_PREFIX") 10 | if ! [ -z "$matchline" ] ; then 11 | unix_path=$(echo -n $line | sed -ne "s@^.*\(${UNIX_PATH_PREFIX}[^ \*\\\"]*\).*\$@\1@p") 12 | echo "[*] "$unix_path 13 | win_path=$(echo -n $unix_path | sed -e 's@^/\([a-zA-Z]\)@\1:@g') 14 | win_path=$(echo -n $win_path | sed -e 's@/@\\@g') 15 | win_path=$(echo -n $win_path | sed -e 's@\\@\\\\@g') 16 | echo " >> "$win_path 17 | sed -i -e "s@$unix_path@$win_path@g" $TEMP_NSI 18 | fi; 19 | done < $SOURCE_NSI 20 | 21 | mv $TEMP_NSI $SOURCE_NSI 22 | -------------------------------------------------------------------------------- /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/rpcconsole.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/bitrpc/README.md: -------------------------------------------------------------------------------- 1 | ### BitRPC 2 | Allows for sending of all standard Bitcoin commands via RPC rather than as command line args. 3 | 4 | ### Looking for Wallet Tools? 5 | BitRPC.py is able to do the exact same thing as `walletchangepass.py` and `walletunlock.py`. Their respective commands in BitRPC.py are: 6 | 7 | bitrpc.py walletpassphrasechange 8 | bitrpc.py walletpassphrase -------------------------------------------------------------------------------- /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 4 | Comment=Bitcoin P2P Cryptocurrency 5 | Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair 6 | Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi 7 | Exec=bitcoin-qt %u 8 | Terminal=false 9 | Type=Application 10 | Icon=bitcoin128 11 | MimeType=x-scheme-handler/bitcoin; 12 | Categories=Office;Finance; 13 | -------------------------------------------------------------------------------- /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/bitcoind.bash-completion: -------------------------------------------------------------------------------- 1 | contrib/bitcoind.bash-completion bitcoind 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/;s/\-src//,dversionmangle=s/~dfsg\d*// \ 5 | http://sf.net/bitcoin/bitcoin-(\d.*)-linux\.tar\.gz debian 6 | opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/,dversionmangle=s/~dfsg\d*// \ 7 | http://githubredir.debian.net/github/bitcoin/bitcoin v(.*).tar.gz 8 | -------------------------------------------------------------------------------- /contrib/gitian-downloader/aschildbach-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/aschildbach-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-downloader/bluematt-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/bluematt-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-downloader/devrandom-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/devrandom-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-downloader/gavinandresen-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/gavinandresen-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-downloader/jonasschnelli.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/jonasschnelli.pgp -------------------------------------------------------------------------------- /contrib/gitian-downloader/luke-jr-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/luke-jr-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-downloader/sipa-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/sipa-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-downloader/tcatm-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/gitian-downloader/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 | 8 | have been made available to assist packagers in creating node packages here. 9 | 10 | See doc/init.md for more information. 11 | -------------------------------------------------------------------------------- /contrib/init/bitcoind.openrcconf: -------------------------------------------------------------------------------- 1 | # /etc/conf.d/bitcoind: config file for /etc/init.d/bitcoind 2 | 3 | # Config file location 4 | #BITCOIND_CONFIGFILE="/etc/bitcoin/bitcoin.conf" 5 | 6 | # What directory to write pidfile to? (created and owned by $BITCOIND_USER) 7 | #BITCOIND_PIDDIR="/var/run/bitcoind" 8 | 9 | # What filename to give the pidfile 10 | #BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/bitcoind.pid" 11 | 12 | # Where to write bitcoind data (be mindful that the blockchain is large) 13 | #BITCOIND_DATADIR="/var/lib/bitcoind" 14 | 15 | # User and group to own bitcoind process 16 | #BITCOIND_USER="bitcoin" 17 | #BITCOIND_GROUP="bitcoin" 18 | 19 | # Path to bitcoind executable 20 | #BITCOIND_BIN="/usr/bin/bitcoind" 21 | 22 | # Nice value to run bitcoind under 23 | #BITCOIND_NICE=0 24 | 25 | # Additional options (avoid -conf and -datadir, use flags above) 26 | BITCOIND_OPTS="-disablewallet" 27 | 28 | -------------------------------------------------------------------------------- /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/linearize/README.md: -------------------------------------------------------------------------------- 1 | # Linearize 2 | Construct a linear, no-fork, best version of the blockchain. 3 | 4 | ## Step 1: Download hash list 5 | 6 | $ ./linearize-hashes.py linearize.cfg > hashlist.txt 7 | 8 | Required configuration file settings for linearize-hashes: 9 | * RPC: rpcuser, rpcpassword 10 | 11 | Optional config file setting for linearize-hashes: 12 | * RPC: host, port 13 | * Block chain: min_height, max_height 14 | 15 | ## Step 2: Copy local block data 16 | 17 | $ ./linearize-data.py linearize.cfg 18 | 19 | Required configuration file settings: 20 | * "input": bitcoind blocks/ directory containing blkNNNNN.dat 21 | * "hashlist": text file containing list of block hashes, linearized-hashes.py 22 | output. 23 | * "output_file": bootstrap.dat 24 | or 25 | * "output": output directory for linearized blocks/blkNNNNN.dat output 26 | 27 | Optional config file setting for linearize-data: 28 | * "netmagic": network magic number 29 | * "max_out_sz": maximum output file size (default 1000*1000*1000) 30 | * "split_timestamp": Split files when a new month is first seen, in addition to 31 | reaching a maximum file size. 32 | * "file_timestamp": Set each file's last-modified time to that of the 33 | most recent block in that file. 34 | -------------------------------------------------------------------------------- /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 | 8 | # bootstrap.dat hashlist settings (linearize-hashes) 9 | max_height=313000 10 | 11 | # bootstrap.dat input/output settings (linearize-data) 12 | netmagic=f9beb4d9 13 | input=/home/example/.bitcoin/blocks 14 | output_file=/home/example/Downloads/bootstrap.dat 15 | hashlist=hashlist.txt 16 | split_year=1 17 | 18 | # Maxmimum size in bytes of out-of-order blocks cache in memory 19 | out_of_order_cache_sz = 100000000 20 | -------------------------------------------------------------------------------- /contrib/macdeploy/DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/macdeploy/DS_Store -------------------------------------------------------------------------------- /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-Qt.dmg`. 15 | 16 | -------------------------------------------------------------------------------- /contrib/macdeploy/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/macdeploy/background.png -------------------------------------------------------------------------------- /contrib/macdeploy/background.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/contrib/macdeploy/background.psd -------------------------------------------------------------------------------- /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.png 14 | icon_size 15 | 96 16 | applications_symlink 17 | 18 | items_position 19 | 20 | Applications 21 | 22 | 370 23 | 156 24 | 25 | Bitcoin-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 | 3 | # Helpful little script that spits out a comma-separated list of 4 | # language codes for Qt icons that should be included 5 | # in binary bitcoin distributions 6 | 7 | import glob 8 | import os 9 | import re 10 | import sys 11 | 12 | if len(sys.argv) != 3: 13 | sys.exit("Usage: %s $QTDIR/translations $BITCOINDIR/src/qt/locale"%sys.argv[0]) 14 | 15 | d1 = sys.argv[1] 16 | d2 = sys.argv[2] 17 | 18 | l1 = set([ re.search(r'qt_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d1, 'qt_*.qm')) ]) 19 | l2 = set([ re.search(r'bitcoin_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'bitcoin_*.qm')) ]) 20 | 21 | print ",".join(sorted(l1.intersection(l2))) 22 | 23 | -------------------------------------------------------------------------------- /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 [share/seeds](/share/seeds)). 5 | 6 | The 512 seeds compiled into the 0.10 release were created from sipa's DNS seed data, like this: 7 | 8 | curl -s http://bitcoin.sipa.be/seeds.txt | makeseeds.py 9 | -------------------------------------------------------------------------------- /contrib/spendfrom/setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | setup(name='btcspendfrom', 3 | version='1.0', 4 | description='Command-line utility for bitcoin "coin control"', 5 | author='Gavin Andresen', 6 | author_email='gavin@bitcoinfoundation.org', 7 | requires=['jsonrpc'], 8 | scripts=['spendfrom.py'], 9 | ) 10 | -------------------------------------------------------------------------------- /contrib/test-patches/README.md: -------------------------------------------------------------------------------- 1 | ### Test Patches ### 2 | 3 | These patches are applied when the automated pull-tester 4 | tests each pull and when master is tested using jenkins. 5 | You can find more information about the tests run at 6 | [http://jenkins.bluematt.me/pull-tester/files/ 7 | ](http://jenkins.bluematt.me/pull-tester/files/) -------------------------------------------------------------------------------- /contrib/test-patches/temp-revert-2.patch: -------------------------------------------------------------------------------- 1 | commit cfae26916dba311f6f75d444301c1f9362267c3e 2 | Author: Matt Corallo 3 | Date: Sun Mar 24 20:45:50 2013 -0400 4 | 5 | Revert "Checkpoint at first block in 11 March chain fork" 6 | 7 | This reverts commit f817c496a1482d05b22c8e539de67f07db1c09d9. 8 | 9 | diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp 10 | index 62234b9..9b11f0b 100644 11 | --- a/src/checkpoints.cpp 12 | +++ b/src/checkpoints.cpp 13 | @@ -44,7 +44,6 @@ namespace Checkpoints 14 | (193000, uint256("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")) 15 | (210000, uint256("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")) 16 | (216116, uint256("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")) 17 | - (225430, uint256("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")) 18 | ; 19 | static const CCheckpointData data = { 20 | &mapCheckpoints, 21 | -------------------------------------------------------------------------------- /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/verifysfbinaries/README.md: -------------------------------------------------------------------------------- 1 | ### Verify SF 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. -------------------------------------------------------------------------------- /depends/.gitignore: -------------------------------------------------------------------------------- 1 | SDKs/ 2 | work/ 3 | built/ 4 | sources/ 5 | config.site 6 | !sdk-sources/MacOSX10.7.sdk.tar.gz 7 | !sdk-sources/MacOSX10.9.sdk.tar.gz 8 | -------------------------------------------------------------------------------- /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 --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -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) 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 = wget --timeout=$(DOWNLOAD_CONNECT_TIMEOUT) --tries=$(DOWNLOAD_RETRIES) -nv -O 3 | -------------------------------------------------------------------------------- /depends/hosts/darwin.mk: -------------------------------------------------------------------------------- 1 | OSX_MIN_VERSION=10.7 2 | OSX_SDK_VERSION=10.9 3 | OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk 4 | LD64_VERSION=241.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) 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/default.mk: -------------------------------------------------------------------------------- 1 | default_host_CC = $(host_toolchain)gcc 2 | default_host_CXX = $(host_toolchain)g++ 3 | default_host_AR = $(host_toolchain)ar 4 | default_host_RANLIB = $(host_toolchain)ranlib 5 | default_host_STRIP = $(host_toolchain)strip 6 | default_host_LIBTOOL = $(host_toolchain)libtool 7 | default_host_INSTALL_NAME_TOOL = $(host_toolchain)install_name_tool 8 | default_host_OTOOL = $(host_toolchain)otool 9 | default_host_NM = $(host_toolchain)nm 10 | 11 | define add_host_tool_func 12 | $(host_os)_$1?=$$(default_host_$1) 13 | $(host_arch)_$(host_os)_$1?=$$($(host_os)_$1) 14 | $(host_arch)_$(host_os)_$(release_type)_$1?=$$($(host_os)_$1) 15 | host_$1=$$($(host_arch)_$(host_os)_$1) 16 | endef 17 | 18 | define add_host_flags_func 19 | $(host_arch)_$(host_os)_$1 += $($(host_os)_$1) 20 | $(host_arch)_$(host_os)_$(release_type)_$1 += $($(host_os)_$(release_type)_$1) 21 | host_$1 = $$($(host_arch)_$(host_os)_$1) 22 | host_$(release_type)_$1 = $$($(host_arch)_$(host_os)_$(release_type)_$1) 23 | endef 24 | 25 | $(foreach tool,CC CXX AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL,$(eval $(call add_host_tool_func,$(tool)))) 26 | $(foreach flags,CFLAGS CXXFLAGS CPPFLAGS LDFLAGS, $(eval $(call add_host_flags_func,$(flags)))) 27 | -------------------------------------------------------------------------------- /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/bdb.mk: -------------------------------------------------------------------------------- 1 | package=bdb 2 | $(package)_version=4.8.30 3 | $(package)_download_path=http://download.oracle.com/berkeley-db 4 | $(package)_file_name=db-$($(package)_version).NC.tar.gz 5 | $(package)_sha256_hash=12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef 6 | $(package)_build_subdir=build_unix 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-shared --enable-cxx --disable-replication 10 | $(package)_config_opts_mingw32=--enable-mingw 11 | $(package)_config_opts_linux=--with-pic 12 | endef 13 | 14 | define $(package)_preprocess_cmds 15 | sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h 16 | endef 17 | 18 | define $(package)_config_cmds 19 | ../dist/$($(package)_autoconf) 20 | endef 21 | 22 | define $(package)_build_cmds 23 | $(MAKE) libdb_cxx-4.8.a libdb-4.8.a 24 | endef 25 | 26 | define $(package)_stage_cmds 27 | $(MAKE) DESTDIR=$($(package)_staging_dir) install_lib install_include 28 | endef 29 | -------------------------------------------------------------------------------- /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.0 3 | $(package)_download_path=http://sourceforge.net/projects/expat/files/expat/$($(package)_version) 4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86 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/fontconfig.mk: -------------------------------------------------------------------------------- 1 | package=fontconfig 2 | $(package)_version=2.11.1 3 | $(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 6 | $(package)_dependencies=freetype expat 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-docs --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/freetype.mk: -------------------------------------------------------------------------------- 1 | package=freetype 2 | $(package)_version=2.5.3 3 | $(package)_download_path=http://downloads.sourceforge.net/$(package) 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=c0848b29d52ef3ca27ad92e08351f023c5e24ce8cea7d8fe69fc96358e65f75e 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/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 | define $(package)_config_cmds 17 | $($(package)_autoconf) 18 | endef 19 | 20 | define $(package)_build_cmds 21 | $(MAKE) 22 | endef 23 | 24 | define $(package)_stage_cmds 25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 26 | endef 27 | 28 | define $(package)_postprocess_cmds 29 | rm -rf share/man share/doc 30 | endef 31 | -------------------------------------------------------------------------------- /depends/packages/native_ccache.mk: -------------------------------------------------------------------------------- 1 | package=native_ccache 2 | $(package)_version=3.1.9 3 | $(package)_download_path=http://samba.org/ftp/ccache 4 | $(package)_file_name=ccache-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=04d3e2e438ac8d4cc4b110b68cdd61bd59226c6588739a4a386869467f5ced7c 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=0f7b5d8 3 | $(package)_download_path=https://github.com/TheBlueMatt/test-scripts/raw/38b490a2599d422b12d5ce8f165792f63fd8f54f 4 | $(package)_file_name=pull-tests-$($(package)_version).jar 5 | $(package)_sha256_hash=ecd43b988a8b673b483e4f69f931596360a5e90fc415c75c4c259faa690df198 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_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_protobuf.mk: -------------------------------------------------------------------------------- 1 | package=native_protobuf 2 | $(package)_version=2.5.0 3 | $(package)_download_path=https://protobuf.googlecode.com/files 4 | $(package)_file_name=protobuf-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 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 2 | native_packages := native_ccache native_comparisontool 3 | 4 | qt_native_packages = native_protobuf 5 | qt_packages = qrencode protobuf 6 | 7 | qt46_linux_packages = qt46 expat dbus libxcb xcb_proto libXau xproto freetype libX11 xextproto libXext xtrans libICE libSM 8 | qt5_linux_packages= qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans 9 | 10 | qt_darwin_packages=qt 11 | qt_mingw32_packages=qt 12 | 13 | qt_linux_$(USE_LINUX_STATIC_QT5):=$(qt5_linux_packages) 14 | qt_linux_:=$(qt46_linux_packages) 15 | qt_linux_packages:=$(qt_linux_$(USE_LINUX_STATIC_QT5)) 16 | 17 | wallet_packages=bdb 18 | 19 | upnp_packages=miniupnpc 20 | 21 | ifneq ($(build_os),darwin) 22 | darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus 23 | endif 24 | -------------------------------------------------------------------------------- /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 | 8 | define $(package)_set_vars 9 | $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc 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) -C src libprotobuf.la 19 | endef 20 | 21 | define $(package)_stage_cmds 22 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\ 23 | $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA 24 | endef 25 | 26 | define $(package)_postprocess_cmds 27 | rm lib/libprotoc.a 28 | endef 29 | -------------------------------------------------------------------------------- /depends/packages/qrencode.mk: -------------------------------------------------------------------------------- 1 | package=qrencode 2 | $(package)_version=3.4.3 3 | $(package)_download_path=https://fukuchi.org/works/qrencode/ 4 | $(package)_file_name=qrencode-$(qrencode_version).tar.bz2 5 | $(package)_sha256_hash=dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 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/patches/qt/fix-xcb-include-order.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:17:27.384458441 -0400 2 | +++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:18:28.620459303 -0400 3 | @@ -101,10 +101,6 @@ 4 | } 5 | } 6 | 7 | -DEFINES += $$QMAKE_DEFINES_XCB 8 | -LIBS += $$QMAKE_LIBS_XCB 9 | -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB 10 | - 11 | CONFIG += qpa/genericunixfontdatabase 12 | 13 | contains(QT_CONFIG, dbus) { 14 | @@ -141,3 +137,7 @@ 15 | INCLUDEPATH += ../../../3rdparty/xkbcommon/xkbcommon/ 16 | } 17 | } 18 | + 19 | +DEFINES += $$QMAKE_DEFINES_XCB 20 | +LIBS += $$QMAKE_LIBS_XCB 21 | +INCLUDEPATH += $$QMAKE_CFLAGS_XCB 22 | -------------------------------------------------------------------------------- /depends/patches/qt/mac-qmake.conf: -------------------------------------------------------------------------------- 1 | MAKEFILE_GENERATOR = UNIX 2 | CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname 3 | QMAKE_INCREMENTAL_STYLE = sublib 4 | include(../common/macx.conf) 5 | include(../common/gcc-base-mac.conf) 6 | include(../common/clang.conf) 7 | include(../common/clang-mac.conf) 8 | QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH} 9 | QMAKE_XCODE_VERSION=4.3 10 | QMAKE_XCODE_DEVELOPER_PATH=/Developer 11 | QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION} 12 | QMAKE_MAC_SDK=macosx 13 | QMAKE_MAC_SDK.macosx.path = $$QMAKE_MAC_SDK_PATH 14 | QMAKE_MAC_SDK.macosx.platform_name = macosx 15 | QMAKE_CFLAGS += -target $${MAC_TARGET} 16 | QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS 17 | QMAKE_CXXFLAGS += $$QMAKE_CFLAGS 18 | QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION} 19 | QMAKE_AR = $${CROSS_COMPILE}ar cq 20 | QMAKE_RANLIB=$${CROSS_COMPILE}ranlib 21 | QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool 22 | QMAKE_INSTALL_NAME_TOOL=$${CROSS_COMPILE}install_name_tool 23 | load(qt_config) 24 | -------------------------------------------------------------------------------- /depends/patches/qt/qt5-tablet-osx.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/src/widgets/kernel/qwidgetwindow.cpp 2014-09-05 20:45:18.717570370 -0400 2 | +++ new/qtbase/src/widgets/kernel/qwidgetwindow.cpp 2014-09-05 20:52:38.653576561 -0400 3 | @@ -57,7 +57,7 @@ 4 | Q_WIDGETS_EXPORT extern bool qt_tab_all_widgets(); 5 | 6 | QWidget *qt_button_down = 0; // widget got last button-down 7 | -static QWidget *qt_tablet_target = 0; 8 | +static QPointer qt_tablet_target = 0; 9 | 10 | // popup control 11 | QWidget *qt_popup_down = 0; // popup that contains the pressed widget 12 | @@ -96,8 +96,6 @@ 13 | 14 | QWidgetWindow::~QWidgetWindow() 15 | { 16 | - if (m_widget == qt_tablet_target) 17 | - qt_tablet_target = 0; 18 | } 19 | 20 | #ifndef QT_NO_ACCESSIBILITY 21 | -------------------------------------------------------------------------------- /depends/patches/qt46/stlfix.patch: -------------------------------------------------------------------------------- 1 | --- old/config.tests/unix/stl/stltest.cpp 2011-06-23 03:45:23.000000000 -0400 2 | +++ new/config.tests/unix/stl/stltest.cpp 2014-08-28 00:54:04.154837604 -0400 3 | @@ -49,6 +49,7 @@ 4 | #include 5 | #include 6 | #include 7 | +#include 8 | 9 | // something mean to see if the compiler and C++ standard lib are good enough 10 | template 11 | -------------------------------------------------------------------------------- /depends/sdk-sources/MacOSX10.7.sdk.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/depends/sdk-sources/MacOSX10.7.sdk.tar.gz -------------------------------------------------------------------------------- /depends/sdk-sources/MacOSX10.9.sdk.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/depends/sdk-sources/MacOSX10.9.sdk.tar.gz -------------------------------------------------------------------------------- /doc/README_windows.txt: -------------------------------------------------------------------------------- 1 | Bitcoin Core 0.10.99 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/bitcoin_logo_doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/bitcoin_logo_doxygen.png -------------------------------------------------------------------------------- /doc/files.md: -------------------------------------------------------------------------------- 1 | Used in 0.8.0 2 | --------------------- 3 | * wallet.dat: personal wallet (BDB) with keys and transactions 4 | * peers.dat: peer IP address database (custom format); since 0.7.0 5 | * blocks/blk000??.dat: block data (custom, 128 MiB per file); since 0.8.0 6 | * blocks/rev000??.dat; block undo data (custom); since 0.8.0 (format changed since pre-0.8) 7 | * blocks/index/*; block index (LevelDB); since 0.8.0 8 | * chainstate/*; block chain state database (LevelDB); since 0.8.0 9 | * database/*: BDB database environment; only used for wallet since 0.8.0 10 | 11 | Only used in pre-0.8.0 12 | --------------------- 13 | * blktree/*; block chain index (LevelDB); since pre-0.8, replaced by blocks/index/* in 0.8.0 14 | * coins/*; unspent transaction output database (LevelDB); since pre-0.8, replaced by chainstate/* in 0.8.0 15 | 16 | Only used before 0.8.0 17 | --------------------- 18 | * blkindex.dat: block chain index database (BDB); replaced by {chainstate/*,blocks/index/*,blocks/rev000??.dat} in 0.8.0 19 | * blk000?.dat: block data (custom, 2 GiB per file); replaced by blocks/blk000??.dat in 0.8.0 20 | 21 | Only used before 0.7.0 22 | --------------------- 23 | * addr.dat: peer IP address database (BDB); replaced by peers.dat in 0.7.0 24 | -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_file_location_size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/create_vm_file_location_size.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_hard_drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/create_vm_hard_drive.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_hard_drive_file_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/create_vm_hard_drive_file_type.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_memsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/create_vm_memsize.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_page1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/create_vm_page1.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_storage_physical_hard_drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/create_vm_storage_physical_hard_drive.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_10_configure_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_10_configure_clock.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_11_partition_disks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_11_partition_disks.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_12_choose_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_12_choose_disk.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_13_partition_scheme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_13_partition_scheme.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_14_finish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_14_finish.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_15_write_changes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_15_write_changes.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_16_choose_a_mirror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_16_choose_a_mirror.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_17_choose_a_mirror2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_17_choose_a_mirror2.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_18_proxy_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_18_proxy_settings.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_19_software_selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_19_software_selection.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_1_boot_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_1_boot_menu.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_20_install_grub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_20_install_grub.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_21_finish_installation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_21_finish_installation.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_2_select_a_language.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_2_select_a_language.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_3_select_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_3_select_location.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_4_configure_keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_4_configure_keyboard.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_5_configure_the_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_5_configure_the_network.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_6_domain_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_6_domain_name.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_6a_set_up_root_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/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/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/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/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_8_set_up_username.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_9_user_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/debian_install_9_user_password.png -------------------------------------------------------------------------------- /doc/gitian-building/network_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/network_settings.png -------------------------------------------------------------------------------- /doc/gitian-building/port_forwarding_rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/port_forwarding_rules.png -------------------------------------------------------------------------------- /doc/gitian-building/select_startup_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/gitian-building/select_startup_disk.png -------------------------------------------------------------------------------- /doc/img/bootstrap1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/img/bootstrap1.png -------------------------------------------------------------------------------- /doc/img/bootstrap2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/img/bootstrap2.png -------------------------------------------------------------------------------- /doc/img/bootstrap4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/img/bootstrap4.png -------------------------------------------------------------------------------- /doc/img/bootstrap5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/doc/img/bootstrap5.png -------------------------------------------------------------------------------- /doc/release-notes.md: -------------------------------------------------------------------------------- 1 | (note: this is a temporary file, to be added-to by anybody, and moved to 2 | release-notes at release time) 3 | 4 | -------------------------------------------------------------------------------- /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 Bitcon-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/bitcoin-qt_test 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 | -------------------------------------------------------------------------------- /exchange/projects.list: -------------------------------------------------------------------------------- 1 | http://bitcoin.stackexchange.com/questions/1447/is-there-an-open-source-bitcoin-exchange 2 | https://github.com/davout/bitcoin-central 3 | https://gitorious.org/intersango 4 | https://github.com/dooglus/intersango 5 | -------------------------------------------------------------------------------- /libbitcoinconsensus.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: Bitcoin Core 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 | -------------------------------------------------------------------------------- /miningpool/client/cpuminer/cmdline.txt: -------------------------------------------------------------------------------- 1 | ./minerd -a sha256d -o http://127.0.0.1:8332/ -u bitcoinrpc -p bitcoinrpcpassword --no-getwork --no-longpoll --no-stratum -D -P --coinbase-addr=FAHoSFokABfFGNML2ykaCP1Pnp5burbJ13 --coinbase-sig="/MinedByMinerd/" 2 | -------------------------------------------------------------------------------- /model/atcoin/coin.cfg: -------------------------------------------------------------------------------- 1 | publickey=04805d8d16161e029dfcc3d3f544bfd6b730d23321d7f99faac80a91dcb990c8fbdc1ba012a3f54f3b93c4e84f16b9419c2e77cdb6ee02b89ed2fca68b7228ef91 2 | timestamp=Winnie the Pooh was born in winnipeg manitoba Canada R3Y0K7, When NASDAQ closed at 4566.14 Oct., 30th 2014. 3 | nonce= 4 | bits=0x1d00ffff 5 | unixtime=1414743233 6 | merklehash= 7 | blockhash= 8 | 9 | name=AtCoin 10 | name_zh_CN=艾特币 11 | unit=atc 12 | unit_upper=ATC 13 | algorithm=SHA256 14 | award=10000000000 15 | mineconfirm=14 16 | txconfirm=7 -------------------------------------------------------------------------------- /model/atcoin/share/pixmaps/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/atcoin/share/pixmaps/bitcoin.ico -------------------------------------------------------------------------------- /model/atcoin/share/pixmaps/nsis-header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/atcoin/share/pixmaps/nsis-header.bmp -------------------------------------------------------------------------------- /model/atcoin/share/pixmaps/nsis-wizard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/atcoin/share/pixmaps/nsis-wizard.bmp -------------------------------------------------------------------------------- /model/atcoin/src/qt/res/icons/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/atcoin/src/qt/res/icons/bitcoin.ico -------------------------------------------------------------------------------- /model/atcoin/src/qt/res/icons/bitcoin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/atcoin/src/qt/res/icons/bitcoin.png -------------------------------------------------------------------------------- /model/atcoin/src/qt/res/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/atcoin/src/qt/res/images/splash.png -------------------------------------------------------------------------------- /model/fastcoin/coin.cfg: -------------------------------------------------------------------------------- 1 | name=FastCoin 2 | name_lower=fastcoin 3 | name_zh_CN=快钱 4 | unit=ftc 5 | unit_upper=FTC -------------------------------------------------------------------------------- /model/fastcoin/share/pixmaps/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/fastcoin/share/pixmaps/bitcoin.ico -------------------------------------------------------------------------------- /model/fastcoin/share/pixmaps/nsis-header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/fastcoin/share/pixmaps/nsis-header.bmp -------------------------------------------------------------------------------- /model/fastcoin/share/pixmaps/nsis-wizard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/fastcoin/share/pixmaps/nsis-wizard.bmp -------------------------------------------------------------------------------- /model/fastcoin/src/qt/res/icons/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/fastcoin/src/qt/res/icons/bitcoin.ico -------------------------------------------------------------------------------- /model/fastcoin/src/qt/res/icons/bitcoin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/fastcoin/src/qt/res/icons/bitcoin.png -------------------------------------------------------------------------------- /model/fastcoin/src/qt/res/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/model/fastcoin/src/qt/res/images/splash.png -------------------------------------------------------------------------------- /qa/pull-tester/run-bitcoin-cli: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This is a thin wrapper around bitcoin-cli that strips the Windows-style EOLs 4 | # from the output if present. It is necessary when using bitcoin-cli.exe on 5 | # Linux since shells will interpret the line-endings as part of the result. 6 | 7 | CURDIR=$(cd $(dirname "$0"); pwd) 8 | # Get BUILDDIR and REAL_BITCOIND 9 | 10 | # Grab the value of $REAL_BITCOINCLI which may be bitcoin-cli.exe. 11 | . "${CURDIR}/tests-config.sh" 12 | 13 | "${REAL_BITCOINCLI}" "$@" | sed 's/\r//' 14 | -------------------------------------------------------------------------------- /qa/pull-tester/tests-config.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (c) 2013-2014 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 | BUILDDIR="@abs_top_builddir@" 7 | EXEEXT="@EXEEXT@" 8 | 9 | # These will turn into comments if they were disabled when configuring. 10 | @ENABLE_WALLET_TRUE@ENABLE_WALLET=1 11 | @BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=1 12 | @BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=1 13 | 14 | REAL_BITCOIND="$BUILDDIR/src/bitcoind${EXEEXT}" 15 | REAL_BITCOINCLI="$BUILDDIR/src/bitcoin-cli${EXEEXT}" 16 | 17 | -------------------------------------------------------------------------------- /qa/rpc-tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | cache 3 | -------------------------------------------------------------------------------- /qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/__init__.py -------------------------------------------------------------------------------- /qa/rpc-tests/python-bitcoinrpc/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2 2 | 3 | from distutils.core import setup 4 | 5 | setup(name='python-bitcoinrpc', 6 | version='0.1', 7 | description='Enhanced version of python-jsonrpc for use with Bitcoin', 8 | long_description=open('README').read(), 9 | author='Jeff Garzik', 10 | author_email='', 11 | maintainer='Jeff Garzik', 12 | maintainer_email='', 13 | url='http://www.github.com/jgarzik/python-bitcoinrpc', 14 | packages=['bitcoinrpc'], 15 | classifiers=['License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)', 'Operating System :: OS Independent']) 16 | -------------------------------------------------------------------------------- /qa/rpc-tests/send.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (c) 2014 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 | TIMEOUT=10 6 | SIGNAL=HUP 7 | PIDFILE=.send.pid 8 | if [ $# -eq 0 ]; then 9 | echo -e "Usage:\t$0 " 10 | echo -e "\tRuns and wait ${TIMEOUT} seconds or until SIG${SIGNAL} is received." 11 | echo -e "\tReturns: 0 if SIG${SIGNAL} is received, 1 otherwise." 12 | echo -e "Or:\t$0 -STOP" 13 | echo -e "\tsends SIG${SIGNAL} to running send.sh" 14 | exit 0 15 | fi 16 | 17 | if [ $1 = "-STOP" ]; then 18 | if [ -s ${PIDFILE} ]; then 19 | kill -s ${SIGNAL} $(<$PIDFILE 2>/dev/null) 2>/dev/null 20 | fi 21 | exit 0 22 | fi 23 | 24 | trap '[[ ${PID} ]] && kill ${PID}' ${SIGNAL} 25 | trap 'rm -f ${PIDFILE}' EXIT 26 | echo $$ > ${PIDFILE} 27 | "$@" 28 | sleep ${TIMEOUT} & PID=$! 29 | wait ${PID} && exit 1 30 | 31 | exit 0 32 | -------------------------------------------------------------------------------- /share/pixmaps/addressbook16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/addressbook16.bmp -------------------------------------------------------------------------------- /share/pixmaps/addressbook16mask.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/addressbook16mask.bmp -------------------------------------------------------------------------------- /share/pixmaps/addressbook20.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/addressbook20.bmp -------------------------------------------------------------------------------- /share/pixmaps/addressbook20mask.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/addressbook20mask.bmp -------------------------------------------------------------------------------- /share/pixmaps/bitcoin-bc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/bitcoin-bc.ico -------------------------------------------------------------------------------- /share/pixmaps/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/bitcoin.ico -------------------------------------------------------------------------------- /share/pixmaps/bitcoin128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/bitcoin128.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/bitcoin16.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/bitcoin256.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/bitcoin32.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/bitcoin64.png -------------------------------------------------------------------------------- /share/pixmaps/check.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/check.ico -------------------------------------------------------------------------------- /share/pixmaps/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/favicon.ico -------------------------------------------------------------------------------- /share/pixmaps/nsis-header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/nsis-header.bmp -------------------------------------------------------------------------------- /share/pixmaps/nsis-wizard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/nsis-wizard.bmp -------------------------------------------------------------------------------- /share/pixmaps/send16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/send16.bmp -------------------------------------------------------------------------------- /share/pixmaps/send16mask.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/send16mask.bmp -------------------------------------------------------------------------------- /share/pixmaps/send16masknoshadow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/send16masknoshadow.bmp -------------------------------------------------------------------------------- /share/pixmaps/send20.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/send20.bmp -------------------------------------------------------------------------------- /share/pixmaps/send20mask.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/pixmaps/send20mask.bmp -------------------------------------------------------------------------------- /share/qt/img/reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/qt/img/reload.png -------------------------------------------------------------------------------- /share/qt/img/reload.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/share/qt/img/reload.xcf -------------------------------------------------------------------------------- /share/qt/make_spinner.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # W.J. van der Laan, 2011 3 | # Make spinning animation from a .png 4 | # Requires imagemagick 6.7+ 5 | from __future__ import division 6 | from os import path 7 | from PIL import Image 8 | from subprocess import Popen 9 | 10 | SRC='img/reload.png' 11 | TMPDIR='../../src/qt/res/movies/' 12 | TMPNAME='spinner-%03i.png' 13 | NUMFRAMES=35 14 | FRAMERATE=10.0 15 | CONVERT='convert' 16 | CLOCKWISE=True 17 | DSIZE=(16,16) 18 | 19 | im_src = Image.open(SRC) 20 | 21 | if CLOCKWISE: 22 | im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT) 23 | 24 | def frame_to_filename(frame): 25 | return path.join(TMPDIR, TMPNAME % frame) 26 | 27 | frame_files = [] 28 | for frame in xrange(NUMFRAMES): 29 | rotation = (frame + 0.5) / NUMFRAMES * 360.0 30 | if CLOCKWISE: 31 | rotation = -rotation 32 | im_new = im_src.rotate(rotation, Image.BICUBIC) 33 | im_new.thumbnail(DSIZE, Image.ANTIALIAS) 34 | outfile = frame_to_filename(frame) 35 | im_new.save(outfile, 'png') 36 | frame_files.append(outfile) 37 | 38 | 39 | -------------------------------------------------------------------------------- /share/qt/make_windows_icon.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # create multiresolution windows icon 3 | ICON_SRC=../../src/qt/res/icons/bitcoin.png 4 | ICON_DST=../../src/qt/res/icons/bitcoin.ico 5 | convert ${ICON_SRC} -resize 16x16 bitcoin-16.png 6 | convert ${ICON_SRC} -resize 32x32 bitcoin-32.png 7 | convert ${ICON_SRC} -resize 48x48 bitcoin-48.png 8 | convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST} 9 | 10 | -------------------------------------------------------------------------------- /share/seeds/nodes_test.txt: -------------------------------------------------------------------------------- 1 | # List of fixed seed nodes for testnet 2 | 3 | # Onion nodes 4 | thfsmmn2jbitcoin.onion 5 | it2pj4f7657g3rhi.onion 6 | -------------------------------------------------------------------------------- /share/ui.rc: -------------------------------------------------------------------------------- 1 | bitcoin ICON "pixmaps/bitcoin.ico" 2 | 3 | #include "wx/msw/wx.rc" 4 | 5 | check ICON "pixmaps/check.ico" 6 | send16 BITMAP "pixmaps/send16.bmp" 7 | send16mask BITMAP "pixmaps/send16mask.bmp" 8 | send16masknoshadow BITMAP "pixmaps/send16masknoshadow.bmp" 9 | send20 BITMAP "pixmaps/send20.bmp" 10 | send20mask BITMAP "pixmaps/send20mask.bmp" 11 | addressbook16 BITMAP "pixmaps/addressbook16.bmp" 12 | addressbook16mask BITMAP "pixmaps/addressbook16mask.bmp" 13 | addressbook20 BITMAP "pixmaps/addressbook20.bmp" 14 | addressbook20mask BITMAP "pixmaps/addressbook20mask.bmp" 15 | favicon ICON "pixmaps/favicon.ico" 16 | -------------------------------------------------------------------------------- /src/amount.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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 "amount.h" 7 | 8 | #include "tinyformat.h" 9 | 10 | CFeeRate::CFeeRate(const CAmount& nFeePaid, size_t nSize) 11 | { 12 | if (nSize > 0) 13 | nSatoshisPerK = nFeePaid*1000/nSize; 14 | else 15 | nSatoshisPerK = 0; 16 | } 17 | 18 | CAmount CFeeRate::GetFee(size_t nSize) const 19 | { 20 | CAmount nFee = nSatoshisPerK*nSize / 1000; 21 | 22 | if (nFee == 0 && nSatoshisPerK > 0) 23 | nFee = nSatoshisPerK; 24 | 25 | return nFee; 26 | } 27 | 28 | std::string CFeeRate::ToString() const 29 | { 30 | return strprintf("%d.%08d BTC/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN); 31 | } 32 | -------------------------------------------------------------------------------- /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/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/config/.empty -------------------------------------------------------------------------------- /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/keccak256.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_CRYPTO_KECCAK_H 2 | #define BITCOIN_CRYPTO_KECCAK_H 3 | #include 4 | #include 5 | #include 6 | 7 | /** A hasher class for SHA3-256. */ 8 | class CKeccak_256 9 | { 10 | private: 11 | std::vector m_vchBuf; 12 | public: 13 | static const size_t OUTPUT_SIZE = 32; 14 | 15 | CKeccak_256(); 16 | CKeccak_256& Write(const unsigned char* data, size_t len); 17 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 18 | CKeccak_256& Reset(); 19 | }; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /src/crypto/rfc6979_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_RFC6979_HMAC_SHA256_H 6 | #define BITCOIN_RFC6979_HMAC_SHA256_H 7 | 8 | #include "crypto/hmac_sha256.h" 9 | 10 | #include 11 | #include 12 | 13 | /** The RFC 6979 PRNG using HMAC-SHA256. */ 14 | class RFC6979_HMAC_SHA256 15 | { 16 | private: 17 | unsigned char V[CHMAC_SHA256::OUTPUT_SIZE]; 18 | unsigned char K[CHMAC_SHA256::OUTPUT_SIZE]; 19 | bool retry; 20 | 21 | public: 22 | /** 23 | * Construct a new RFC6979 PRNG, using the given key and message. 24 | * The message is assumed to be already hashed. 25 | */ 26 | RFC6979_HMAC_SHA256(const unsigned char* key, size_t keylen, const unsigned char* msg, size_t msglen); 27 | 28 | /** 29 | * Generate a byte array. 30 | */ 31 | void Generate(unsigned char* output, size_t outputlen); 32 | 33 | ~RFC6979_HMAC_SHA256(); 34 | }; 35 | 36 | #endif // BITCOIN_RFC6979_HMAC_SHA256_H 37 | -------------------------------------------------------------------------------- /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 | size_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/scrypt.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_CRYPTO_SCRYPT_H 2 | #define BITCOIN_CRYPTO_SCRYPT_H 3 | #include 4 | #include 5 | #include 6 | 7 | /** A hasher class for Scrypt-256. */ 8 | class CScrypt256 9 | { 10 | private: 11 | std::vector m_vchBuf; 12 | public: 13 | static const size_t OUTPUT_SIZE = 32; 14 | 15 | CScrypt256(); 16 | CScrypt256& Write(const unsigned char* data, size_t len); 17 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 18 | CScrypt256& Reset(); 19 | }; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /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 | size_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 | size_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 | size_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/eccryptoverify.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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_ECCRYPTOVERIFY_H 7 | #define BITCOIN_ECCRYPTOVERIFY_H 8 | 9 | #include 10 | #include 11 | 12 | class uint256; 13 | 14 | namespace eccrypto { 15 | 16 | bool Check(const unsigned char *vch); 17 | bool CheckSignatureElement(const unsigned char *vch, int len, bool half); 18 | 19 | } // eccrypto namespace 20 | 21 | #endif // BITCOIN_ECCRYPTOVERIFY_H 22 | -------------------------------------------------------------------------------- /src/init.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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_INIT_H 7 | #define BITCOIN_INIT_H 8 | 9 | #include 10 | 11 | class CWallet; 12 | 13 | namespace boost 14 | { 15 | class thread_group; 16 | } // namespace boost 17 | 18 | extern CWallet* pwalletMain; 19 | 20 | void StartShutdown(); 21 | bool ShutdownRequested(); 22 | void Shutdown(); 23 | bool AppInit2(boost::thread_group& threadGroup); 24 | 25 | /** The help message mode determines what help message to show */ 26 | enum HelpMessageMode { 27 | HMM_BITCOIND, 28 | HMM_BITCOIN_QT 29 | }; 30 | 31 | /** Help for options shared between UI and daemon (for -help) */ 32 | std::string HelpMessage(HelpMessageMode mode); 33 | /** Returns licensing information (for -version) */ 34 | std::string LicenseInfo(); 35 | 36 | #endif // BITCOIN_INIT_H 37 | -------------------------------------------------------------------------------- /src/json/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2007 - 2009 John W. Wilkinson 4 | 5 | Permission is hereby granted, free of charge, to any person 6 | obtaining a copy of this software and associated documentation 7 | files (the "Software"), to deal in the Software without 8 | restriction, including without limitation the rights to use, 9 | copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the 11 | Software is furnished to do so, subject to the following 12 | conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 19 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 21 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 22 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 23 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 24 | OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /src/json/json_spirit.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_SPIRIT 2 | #define JSON_SPIRIT 3 | 4 | // Copyright John W. Wilkinson 2007 - 2009. 5 | // Distributed under the MIT License, see accompanying file LICENSE.txt 6 | 7 | // json spirit version 4.03 8 | 9 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) 10 | # pragma once 11 | #endif 12 | 13 | #include "json_spirit_value.h" 14 | #include "json_spirit_reader.h" 15 | #include "json_spirit_writer.h" 16 | #include "json_spirit_utils.h" 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /src/json/json_spirit_value.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2007 John W Wilkinson 2 | 3 | This source code can be used for any purpose as long as 4 | this comment is retained. */ 5 | 6 | // json spirit version 2.00 7 | 8 | #include "json_spirit_value.h" 9 | -------------------------------------------------------------------------------- /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/builder.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_BUILDER_H_ 6 | #define STORAGE_LEVELDB_DB_BUILDER_H_ 7 | 8 | #include "leveldb/status.h" 9 | 10 | namespace leveldb { 11 | 12 | struct Options; 13 | struct FileMetaData; 14 | 15 | class Env; 16 | class Iterator; 17 | class TableCache; 18 | class VersionEdit; 19 | 20 | // Build a Table file from the contents of *iter. The generated file 21 | // will be named according to meta->number. On success, the rest of 22 | // *meta will be filled with metadata about the generated table. 23 | // If no data is present in *iter, meta->file_size will be set to 24 | // zero, and no Table file will be produced. 25 | extern Status BuildTable(const std::string& dbname, 26 | Env* env, 27 | const Options& options, 28 | TableCache* table_cache, 29 | Iterator* iter, 30 | FileMetaData* meta); 31 | 32 | } // namespace leveldb 33 | 34 | #endif // STORAGE_LEVELDB_DB_BUILDER_H_ 35 | -------------------------------------------------------------------------------- /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/block.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_BLOCK_H_ 6 | #define STORAGE_LEVELDB_TABLE_BLOCK_H_ 7 | 8 | #include 9 | #include 10 | #include "leveldb/iterator.h" 11 | 12 | namespace leveldb { 13 | 14 | struct BlockContents; 15 | class Comparator; 16 | 17 | class Block { 18 | public: 19 | // Initialize the block with the specified contents. 20 | explicit Block(const BlockContents& contents); 21 | 22 | ~Block(); 23 | 24 | size_t size() const { return size_; } 25 | Iterator* NewIterator(const Comparator* comparator); 26 | 27 | private: 28 | uint32_t NumRestarts() const; 29 | 30 | const char* data_; 31 | size_t size_; 32 | uint32_t restart_offset_; // Offset in data_ of restart array 33 | bool owned_; // Block owns data_[] 34 | 35 | // No copying allowed 36 | Block(const Block&); 37 | void operator=(const Block&); 38 | 39 | class Iter; 40 | }; 41 | 42 | } // namespace leveldb 43 | 44 | #endif // STORAGE_LEVELDB_TABLE_BLOCK_H_ 45 | -------------------------------------------------------------------------------- /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/miner.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2013 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_MINER_H 7 | #define BITCOIN_MINER_H 8 | 9 | #include "primitives/block.h" 10 | 11 | #include 12 | 13 | class CBlockIndex; 14 | class CReserveKey; 15 | class CScript; 16 | class CWallet; 17 | 18 | struct CBlockTemplate 19 | { 20 | CBlock block; 21 | std::vector vTxFees; 22 | std::vector vTxSigOps; 23 | }; 24 | 25 | /** Run the miner threads */ 26 | void GenerateBitcoins(bool fGenerate, CWallet* pwallet, int nThreads); 27 | /** Generate a new block, without valid proof-of-work */ 28 | CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn); 29 | CBlockTemplate* CreateNewBlockWithKey(CReserveKey& reservekey); 30 | /** Modify the extranonce in a block */ 31 | void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce); 32 | void UpdateTime(CBlockHeader* block, const CBlockIndex* pindexPrev); 33 | 34 | #endif // BITCOIN_MINER_H 35 | -------------------------------------------------------------------------------- /src/noui.h: -------------------------------------------------------------------------------- 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 | 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/pow.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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 10 | 11 | class CBlockHeader; 12 | class CBlockIndex; 13 | class uint256; 14 | class arith_uint256; 15 | 16 | unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock); 17 | 18 | /** Check whether a block hash satisfies the proof-of-work requirement specified by nBits */ 19 | bool CheckProofOfWork(uint256 hash, unsigned int nBits); 20 | arith_uint256 GetBlockProof(const CBlockIndex& block); 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.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 5 | #include "coincontroltreewidget.h" 6 | #include "coincontroldialog.h" 7 | 8 | CoinControlTreeWidget::CoinControlTreeWidget(QWidget *parent) : 9 | QTreeWidget(parent) 10 | { 11 | 12 | } 13 | 14 | void CoinControlTreeWidget::keyPressEvent(QKeyEvent *event) 15 | { 16 | if (event->key() == Qt::Key_Space) // press spacebar -> select checkbox 17 | { 18 | event->ignore(); 19 | int COLUMN_CHECKBOX = 0; 20 | if(this->currentItem()) 21 | this->currentItem()->setCheckState(COLUMN_CHECKBOX, ((this->currentItem()->checkState(COLUMN_CHECKBOX) == Qt::Checked) ? Qt::Unchecked : Qt::Checked)); 22 | } 23 | else if (event->key() == Qt::Key_Escape) // press esc -> close dialog 24 | { 25 | event->ignore(); 26 | CoinControlDialog *coinControlDialog = (CoinControlDialog*)this->parentWidget(); 27 | coinControlDialog->done(QDialog::Accepted); 28 | } 29 | else 30 | { 31 | this->QTreeWidget::keyPressEvent(event); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/qt/coincontroltreewidget.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 5 | #ifndef BITCOIN_QT_COINCONTROLTREEWIDGET_H 6 | #define BITCOIN_QT_COINCONTROLTREEWIDGET_H 7 | 8 | #include 9 | #include 10 | 11 | class CoinControlTreeWidget : public QTreeWidget 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit CoinControlTreeWidget(QWidget *parent = 0); 17 | 18 | protected: 19 | virtual void keyPressEvent(QKeyEvent *event); 20 | }; 21 | 22 | #endif // BITCOIN_QT_COINCONTROLTREEWIDGET_H 23 | -------------------------------------------------------------------------------- /src/qt/macnotificationhandler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 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/networkstyle.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_NETWORKSTYLE_H 6 | #define BITCOIN_QT_NETWORKSTYLE_H 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | /* Coin network-specific GUI style information */ 13 | class NetworkStyle 14 | { 15 | public: 16 | /** Get style associated with provided BIP70 network id, or 0 if not known */ 17 | static const NetworkStyle *instantiate(const QString &networkId); 18 | 19 | const QString &getAppName() const { return appName; } 20 | const QIcon &getAppIcon() const { return appIcon; } 21 | const QIcon &getTrayAndWindowIcon() const { return trayAndWindowIcon; } 22 | const QString &getTitleAddText() const { return titleAddText; } 23 | 24 | private: 25 | NetworkStyle(const QString &appName, const int iconColorHueShift, const int iconColorSaturationReduction, const char *titleAddText); 26 | 27 | QString appName; 28 | QIcon appIcon; 29 | QIcon trayAndWindowIcon; 30 | QString titleAddText; 31 | }; 32 | 33 | #endif // BITCOIN_QT_NETWORKSTYLE_H 34 | -------------------------------------------------------------------------------- /src/qt/openuridialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 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 slots: 25 | void accept(); 26 | 27 | private slots: 28 | void on_selectFileButton_clicked(); 29 | 30 | private: 31 | Ui::OpenURIDialog *ui; 32 | }; 33 | 34 | #endif // BITCOIN_QT_OPENURIDIALOG_H 35 | -------------------------------------------------------------------------------- /src/qt/qvalidatedlineedit.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 5 | #ifndef BITCOIN_QT_QVALIDATEDLINEEDIT_H 6 | #define BITCOIN_QT_QVALIDATEDLINEEDIT_H 7 | 8 | #include 9 | 10 | /** Line edit that can be marked as "invalid" to show input validation feedback. When marked as invalid, 11 | it will get a red background until it is focused. 12 | */ 13 | class QValidatedLineEdit : public QLineEdit 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit QValidatedLineEdit(QWidget *parent); 19 | void clear(); 20 | void setCheckValidator(const QValidator *v); 21 | 22 | protected: 23 | void focusInEvent(QFocusEvent *evt); 24 | void focusOutEvent(QFocusEvent *evt); 25 | 26 | private: 27 | bool valid; 28 | const QValidator *checkValidator; 29 | 30 | public slots: 31 | void setValid(bool valid); 32 | void setEnabled(bool enabled); 33 | 34 | private slots: 35 | void markValid(); 36 | void checkValidity(); 37 | }; 38 | 39 | #endif // BITCOIN_QT_QVALIDATEDLINEEDIT_H 40 | -------------------------------------------------------------------------------- /src/qt/qvaluecombobox.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 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 | emit valueChanged(); 31 | } 32 | -------------------------------------------------------------------------------- /src/qt/qvaluecombobox.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 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 | signals: 28 | void valueChanged(); 29 | 30 | private: 31 | int role; 32 | 33 | private 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/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/about.png -------------------------------------------------------------------------------- /src/qt/res/icons/about_qt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/about_qt.png -------------------------------------------------------------------------------- /src/qt/res/icons/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/add.png -------------------------------------------------------------------------------- /src/qt/res/icons/address-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/address-book.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/bitcoin.icns -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/bitcoin.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/bitcoin.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/clock1.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/clock2.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/clock3.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/clock4.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/clock5.png -------------------------------------------------------------------------------- /src/qt/res/icons/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/configure.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/connect0.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/connect1.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/connect2.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/connect3.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/connect4.png -------------------------------------------------------------------------------- /src/qt/res/icons/debugwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/debugwindow.png -------------------------------------------------------------------------------- /src/qt/res/icons/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/edit.png -------------------------------------------------------------------------------- /src/qt/res/icons/editcopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/editcopy.png -------------------------------------------------------------------------------- /src/qt/res/icons/editpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/editpaste.png -------------------------------------------------------------------------------- /src/qt/res/icons/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/export.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/eye.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/eye_minus.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/eye_plus.png -------------------------------------------------------------------------------- /src/qt/res/icons/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/filesave.png -------------------------------------------------------------------------------- /src/qt/res/icons/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/history.png -------------------------------------------------------------------------------- /src/qt/res/icons/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/info.png -------------------------------------------------------------------------------- /src/qt/res/icons/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/key.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/lock_closed.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/lock_open.png -------------------------------------------------------------------------------- /src/qt/res/icons/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/open.png -------------------------------------------------------------------------------- /src/qt/res/icons/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/overview.png -------------------------------------------------------------------------------- /src/qt/res/icons/quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/quit.png -------------------------------------------------------------------------------- /src/qt/res/icons/receive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/receive.png -------------------------------------------------------------------------------- /src/qt/res/icons/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/remove.png -------------------------------------------------------------------------------- /src/qt/res/icons/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/send.png -------------------------------------------------------------------------------- /src/qt/res/icons/synced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/synced.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/transaction0.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/transaction2.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_conflicted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/transaction_conflicted.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_inout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/tx_inout.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/tx_input.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_mined.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/tx_mined.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/tx_output.png -------------------------------------------------------------------------------- /src/qt/res/icons/verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/icons/verify.png -------------------------------------------------------------------------------- /src/qt/res/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/images/splash.png -------------------------------------------------------------------------------- /src/qt/res/movies/makespinner.sh: -------------------------------------------------------------------------------- 1 | for i in {1..35} 2 | do 3 | value=$(printf "%03d" $i) 4 | angle=$(($i * 10)) 5 | convert spinner-000.png -background "rgba(0,0,0,0.0)" -distort SRT $angle spinner-$value.png 6 | done 7 | -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-000.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-001.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-002.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-003.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-004.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-005.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-006.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-007.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-008.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-009.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-010.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-011.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-012.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-013.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-014.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-015.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-016.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-017.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-018.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-019.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-020.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-021.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-022.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-023.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-024.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-025.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-026.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-027.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-028.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-029.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-030.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-031.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-032.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-033.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-034.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/movies/spinner-035.png -------------------------------------------------------------------------------- /src/qt/res/spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/qt/res/spinner.png -------------------------------------------------------------------------------- /src/qt/res/src/clock_0.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 11 | 12 | 14 | 15 | -------------------------------------------------------------------------------- /src/qt/res/src/clock_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/qt/res/src/clock_2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/qt/res/src/clock_3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/qt/res/src/connect-0.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 11 | 12 | -------------------------------------------------------------------------------- /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/scicon.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 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_QT_SCICON_H 6 | #define BITCOIN_QT_SCICON_H 7 | 8 | #include 9 | 10 | QT_BEGIN_NAMESPACE 11 | class QColor; 12 | class QIcon; 13 | class QString; 14 | QT_END_NAMESPACE 15 | 16 | QImage SingleColorImage(const QString& filename, const QColor&); 17 | QIcon SingleColorIcon(const QIcon&, const QColor&); 18 | QIcon SingleColorIcon(const QString& filename, const QColor&); 19 | QColor SingleColor(); 20 | QIcon SingleColorIcon(const QString& filename); 21 | QIcon TextColorIcon(const QIcon&); 22 | QIcon TextColorIcon(const QString& filename); 23 | 24 | #endif // BITCOIN_QT_SCICON_H 25 | -------------------------------------------------------------------------------- /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/paymentservertests.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_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 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 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-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_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 slots: 16 | void uriTests(); 17 | }; 18 | 19 | #endif // BITCOIN_QT_TEST_URITESTS_H 20 | -------------------------------------------------------------------------------- /src/qt/transactiondesc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 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-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 | 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 | QString desc = idx.data(TransactionTableModel::LongDescriptionRole).toString(); 18 | ui->detailText->setHtml(desc); 19 | } 20 | 21 | TransactionDescDialog::~TransactionDescDialog() 22 | { 23 | delete ui; 24 | } 25 | -------------------------------------------------------------------------------- /src/qt/transactiondescdialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-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 | 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/rpcclient.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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 "json/json_spirit_reader_template.h" 10 | #include "json/json_spirit_utils.h" 11 | #include "json/json_spirit_writer_template.h" 12 | 13 | json_spirit::Array RPCConvertValues(const std::string& strMethod, const std::vector& strParams); 14 | 15 | #endif // BITCOIN_RPCCLIENT_H 16 | -------------------------------------------------------------------------------- /src/script/sigcache.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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 | class CPubKey; 14 | 15 | class CachingSignatureChecker : public SignatureChecker 16 | { 17 | private: 18 | bool store; 19 | 20 | public: 21 | CachingSignatureChecker(const CTransaction& txToIn, unsigned int nInIn, bool storeIn=true) : SignatureChecker(txToIn, nInIn), store(storeIn) {} 22 | 23 | bool VerifySignature(const std::vector& vchSig, const CPubKey& vchPubKey, const uint256& sighash) const; 24 | }; 25 | 26 | #endif // BITCOIN_SCRIPT_SIGCACHE_H 27 | -------------------------------------------------------------------------------- /src/script/sign.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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_SIGN_H 7 | #define BITCOIN_SCRIPT_SIGN_H 8 | 9 | #include "script/interpreter.h" 10 | 11 | class CKeyStore; 12 | class CScript; 13 | class CTransaction; 14 | 15 | struct CMutableTransaction; 16 | 17 | bool SignSignature(const CKeyStore& keystore, const CScript& fromPubKey, CMutableTransaction& txTo, unsigned int nIn, int nHashType=SIGHASH_ALL); 18 | bool SignSignature(const CKeyStore& keystore, const CTransaction& txFrom, CMutableTransaction& txTo, unsigned int nIn, int nHashType=SIGHASH_ALL); 19 | 20 | /** 21 | * Given two sets of signatures for scriptPubKey, possibly with OP_0 placeholders, 22 | * combine them intelligently and return the result. 23 | */ 24 | CScript CombineSignatures(const CScript& scriptPubKey, const CTransaction& txTo, unsigned int nIn, const CScript& scriptSig1, const CScript& scriptSig2); 25 | 26 | #endif // BITCOIN_SCRIPT_SIGN_H 27 | -------------------------------------------------------------------------------- /src/secp256k1/.gitignore: -------------------------------------------------------------------------------- 1 | bench_inv 2 | bench_sign 3 | bench_verify 4 | tests 5 | *.exe 6 | *.so 7 | *.a 8 | !.gitignore 9 | 10 | Makefile 11 | configure 12 | .libs/ 13 | Makefile.in 14 | aclocal.m4 15 | autom4te.cache/ 16 | config.log 17 | config.status 18 | *.tar.gz 19 | *.la 20 | libtool 21 | .deps/ 22 | .dirstamp 23 | build-aux/ 24 | *.lo 25 | *.o 26 | *~ 27 | src/libsecp256k1-config.h 28 | src/libsecp256k1-config.h.in 29 | m4/libtool.m4 30 | m4/ltoptions.m4 31 | m4/ltsugar.m4 32 | m4/ltversion.m4 33 | m4/lt~obsolete.m4 34 | src/stamp-h1 35 | libsecp256k1.pc 36 | -------------------------------------------------------------------------------- /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/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/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/imharrywu/fastcoin/ed7f9152c1409cb88fadd9c1c4b903a194681a94/src/secp256k1/obj/.gitignore -------------------------------------------------------------------------------- /src/secp256k1/src/ecmult.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_ECMULT_ 8 | #define _SECP256K1_ECMULT_ 9 | 10 | #include "num.h" 11 | #include "group.h" 12 | 13 | static void secp256k1_ecmult_start(void); 14 | static void secp256k1_ecmult_stop(void); 15 | 16 | /** Double multiply: R = na*A + ng*G */ 17 | static void secp256k1_ecmult(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_scalar_t *na, const secp256k1_scalar_t *ng); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/secp256k1/src/ecmult_gen.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_ECMULT_GEN_ 8 | #define _SECP256K1_ECMULT_GEN_ 9 | 10 | #include "scalar.h" 11 | #include "group.h" 12 | 13 | static void secp256k1_ecmult_gen_start(void); 14 | static void secp256k1_ecmult_gen_stop(void); 15 | 16 | /** Multiply with the generator: R = a*G */ 17 | static void secp256k1_ecmult_gen(secp256k1_gej_t *r, const secp256k1_scalar_t *a); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/secp256k1/src/field_10x26.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_FIELD_REPR_ 8 | #define _SECP256K1_FIELD_REPR_ 9 | 10 | #include 11 | 12 | typedef struct { 13 | /* X = sum(i=0..9, elem[i]*2^26) mod n */ 14 | uint32_t n[10]; 15 | #ifdef VERIFY 16 | int magnitude; 17 | int normalized; 18 | #endif 19 | } secp256k1_fe_t; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /src/secp256k1/src/field_5x52.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_FIELD_REPR_ 8 | #define _SECP256K1_FIELD_REPR_ 9 | 10 | #include 11 | 12 | typedef struct { 13 | /* X = sum(i=0..4, elem[i]*2^52) mod n */ 14 | uint64_t n[5]; 15 | #ifdef VERIFY 16 | int magnitude; 17 | int normalized; 18 | #endif 19 | } secp256k1_fe_t; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /src/secp256k1/src/field_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_FIELD_REPR_ 8 | #define _SECP256K1_FIELD_REPR_ 9 | 10 | #include 11 | 12 | #define FIELD_LIMBS ((256 + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS) 13 | 14 | typedef struct { 15 | mp_limb_t n[FIELD_LIMBS+1]; 16 | } secp256k1_fe_t; 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c: -------------------------------------------------------------------------------- 1 | #include "org_bitcoin_NativeSecp256k1.h" 2 | #include "include/secp256k1.h" 3 | 4 | JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify 5 | (JNIEnv* env, jclass classObject, jobject byteBufferObject) 6 | { 7 | unsigned char* data = (unsigned char*) (*env)->GetDirectBufferAddress(env, byteBufferObject); 8 | int sigLen = *((int*)(data + 32)); 9 | int pubLen = *((int*)(data + 32 + 4)); 10 | 11 | return secp256k1_ecdsa_verify(data, 32, data+32+8, sigLen, data+32+8+sigLen, pubLen); 12 | } 13 | 14 | static void __javasecp256k1_attach(void) __attribute__((constructor)); 15 | static void __javasecp256k1_detach(void) __attribute__((destructor)); 16 | 17 | static void __javasecp256k1_attach(void) { 18 | secp256k1_start(SECP256K1_START_VERIFY); 19 | } 20 | 21 | static void __javasecp256k1_detach(void) { 22 | secp256k1_stop(); 23 | } 24 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h: -------------------------------------------------------------------------------- 1 | /* DO NOT EDIT THIS FILE - it is machine generated */ 2 | #include 3 | /* Header for class org_bitcoin_NativeSecp256k1 */ 4 | 5 | #ifndef _Included_org_bitcoin_NativeSecp256k1 6 | #define _Included_org_bitcoin_NativeSecp256k1 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | /* 11 | * Class: org_bitcoin_NativeSecp256k1 12 | * Method: secp256k1_ecdsa_verify 13 | * Signature: (Ljava/nio/ByteBuffer;)I 14 | */ 15 | JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify 16 | (JNIEnv *, jclass, jobject); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | #endif 22 | -------------------------------------------------------------------------------- /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_t; 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_t; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /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_t; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /src/secp256k1/src/testrand.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_TESTRAND_H_ 8 | #define _SECP256K1_TESTRAND_H_ 9 | 10 | #if defined HAVE_CONFIG_H 11 | #include "libsecp256k1-config.h" 12 | #endif 13 | 14 | /** Seed the pseudorandom number generator. */ 15 | SECP256K1_INLINE static void secp256k1_rand_seed(uint64_t v); 16 | 17 | /** Generate a pseudorandom 32-bit number. */ 18 | static uint32_t secp256k1_rand32(void); 19 | 20 | /** Generate a pseudorandom 32-byte array. */ 21 | static void secp256k1_rand256(unsigned char *b32); 22 | 23 | /** Generate a pseudorandom 32-byte array with long sequences of zero and one bits. */ 24 | static void secp256k1_rand256_test(unsigned char *b32); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /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-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 | 5 | #include "utilstrencodings.h" 6 | 7 | #include 8 | 9 | BOOST_AUTO_TEST_SUITE(base32_tests) 10 | 11 | BOOST_AUTO_TEST_CASE(base32_testvectors) 12 | { 13 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 14 | static const std::string vstrOut[] = {"","my======","mzxq====","mzxw6===","mzxw6yq=","mzxw6ytb","mzxw6ytboi======"}; 15 | for (unsigned int i=0; i 8 | 9 | BOOST_AUTO_TEST_SUITE(base64_tests) 10 | 11 | BOOST_AUTO_TEST_CASE(base64_testvectors) 12 | { 13 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 14 | static const std::string vstrOut[] = {"","Zg==","Zm8=","Zm9v","Zm9vYg==","Zm9vYmE=","Zm9vYmFy"}; 15 | for (unsigned int i=0; i 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | void Sha3Hash256(const std::string & sHex) 8 | { 9 | CKeccak_256 hasher; 10 | for(int i = 0; i < sHex.size(); i+=2) 11 | { 12 | char c1 = sHex[i]; char c2 = sHex[i+1]; 13 | char value = '\0'; 14 | if (isdigit(c1)) value += c1-'0'; if (!isdigit(c1)) value += c1-'A' + 10; 15 | value <<=4; 16 | if (isdigit(c2)) value += c2-'0'; if (!isdigit(c2)) value += c2-'A' + 10; 17 | hasher.Write((unsigned char *)&value, 1); 18 | } 19 | unsigned char powHash [33] = ""; 20 | hasher.Finalize(powHash); 21 | for(int i = 0; i < 32; i ++) 22 | printf("%02X", powHash[i]); 23 | } 24 | 25 | int main(int argc, char * argv []) 26 | { 27 | std::string sHex; 28 | while(!feof(stdin)){ 29 | unsigned char c = (unsigned char )fgetc(stdin); 30 | if ('0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F') 31 | { 32 | sHex += (unsigned char )toupper(c); 33 | } 34 | } 35 | Sha3Hash256(sHex); 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /src/test/main_tests.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 "primitives/transaction.h" 6 | #include "main.h" 7 | 8 | #include 9 | 10 | BOOST_AUTO_TEST_SUITE(main_tests) 11 | 12 | BOOST_AUTO_TEST_CASE(subsidy_limit_test) 13 | { 14 | CAmount nSum = 0; 15 | for (int nHeight = 0; nHeight < 14000000; nHeight += 1000) { 16 | CAmount nSubsidy = GetBlockValue(nHeight, 0); 17 | BOOST_CHECK(nSubsidy <= 50 * COIN); 18 | nSum += nSubsidy * 1000; 19 | BOOST_CHECK(MoneyRange(nSum)); 20 | } 21 | BOOST_CHECK(nSum == 2099999997690000ULL); 22 | } 23 | 24 | BOOST_AUTO_TEST_SUITE_END() 25 | -------------------------------------------------------------------------------- /src/test/sanity_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-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 | 5 | #include "compat/sanity.h" 6 | #include "key.h" 7 | 8 | #include 9 | BOOST_AUTO_TEST_SUITE(sanity_tests) 10 | 11 | BOOST_AUTO_TEST_CASE(basic_sanity) 12 | { 13 | BOOST_CHECK_MESSAGE(glibc_sanity_test() == true, "libc sanity test"); 14 | BOOST_CHECK_MESSAGE(glibcxx_sanity_test() == true, "stdlib sanity test"); 15 | BOOST_CHECK_MESSAGE(ECC_InitSanityCheck() == true, "openssl ECC test"); 16 | } 17 | 18 | BOOST_AUTO_TEST_SUITE_END() 19 | -------------------------------------------------------------------------------- /src/test/timedata_tests.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 "timedata.h" 6 | 7 | #include 8 | 9 | using namespace std; 10 | 11 | BOOST_AUTO_TEST_SUITE(timedata_tests) 12 | 13 | BOOST_AUTO_TEST_CASE(util_MedianFilter) 14 | { 15 | CMedianFilter filter(5, 15); 16 | 17 | BOOST_CHECK_EQUAL(filter.median(), 15); 18 | 19 | filter.input(20); // [15 20] 20 | BOOST_CHECK_EQUAL(filter.median(), 17); 21 | 22 | filter.input(30); // [15 20 30] 23 | BOOST_CHECK_EQUAL(filter.median(), 20); 24 | 25 | filter.input(3); // [3 15 20 30] 26 | BOOST_CHECK_EQUAL(filter.median(), 17); 27 | 28 | filter.input(7); // [3 7 15 20 30] 29 | BOOST_CHECK_EQUAL(filter.median(), 15); 30 | 31 | filter.input(18); // [3 7 18 20 30] 32 | BOOST_CHECK_EQUAL(filter.median(), 18); 33 | 34 | filter.input(0); // [0 3 7 18 30] 35 | BOOST_CHECK_EQUAL(filter.median(), 7); 36 | } 37 | 38 | BOOST_AUTO_TEST_SUITE_END() 39 | -------------------------------------------------------------------------------- /src/utilmoneystr.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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, bool fPlus=false); 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-2014 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 | void SetMockTime(int64_t nMockTimeIn); 16 | void MilliSleep(int64_t n); 17 | 18 | std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime); 19 | 20 | #endif // BITCOIN_UTILTIME_H 21 | -------------------------------------------------------------------------------- /src/wallet_ismine.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 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_WALLET_ISMINE_H 7 | #define BITCOIN_WALLET_ISMINE_H 8 | 9 | #include "key.h" 10 | #include "script/standard.h" 11 | 12 | class CKeyStore; 13 | class CScript; 14 | 15 | /** IsMine() return codes */ 16 | enum isminetype 17 | { 18 | ISMINE_NO = 0, 19 | ISMINE_WATCH_ONLY = 1, 20 | ISMINE_SPENDABLE = 2, 21 | ISMINE_ALL = ISMINE_WATCH_ONLY | ISMINE_SPENDABLE 22 | }; 23 | /** used for bitflags of isminetype */ 24 | typedef uint8_t isminefilter; 25 | 26 | isminetype IsMine(const CKeyStore& keystore, const CScript& scriptPubKey); 27 | isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest); 28 | 29 | #endif // BITCOIN_WALLET_ISMINE_H 30 | --------------------------------------------------------------------------------