├── src ├── config │ └── .empty ├── secp256k1 │ ├── obj │ │ └── .gitignore │ ├── autogen.sh │ ├── TODO │ ├── src │ │ ├── modules │ │ │ ├── extrakeys │ │ │ │ └── Makefile.am.include │ │ │ ├── ecdh │ │ │ │ └── Makefile.am.include │ │ │ ├── recovery │ │ │ │ └── Makefile.am.include │ │ │ ├── schnorrsig │ │ │ │ └── Makefile.am.include │ │ │ └── schnorr │ │ │ │ └── Makefile.am.include │ │ ├── java │ │ │ ├── org_bitcoin_Secp256k1Context.c │ │ │ └── org_bitcoin_Secp256k1Context.h │ │ ├── basic-config.h │ │ ├── num_gmp.h │ │ ├── scalar_low.h │ │ ├── num_impl.h │ │ ├── scalar_8x32.h │ │ ├── scalar_4x64.h │ │ └── ecmult_const.h │ ├── libsecp256k1.pc.in │ ├── ci │ │ └── linux-debian.Dockerfile │ ├── SECURITY.md │ └── .gitignore ├── univalue │ ├── test │ │ ├── fail29.json │ │ ├── fail16.json │ │ ├── fail30.json │ │ ├── fail31.json │ │ ├── round4.json │ │ ├── round5.json │ │ ├── round7.json │ │ ├── fail33.json │ │ ├── fail34.json │ │ ├── fail36.json │ │ ├── round6.json │ │ ├── fail2.json │ │ ├── fail24.json │ │ ├── fail27.json │ │ ├── fail28.json │ │ ├── fail37.json │ │ ├── fail38.json │ │ ├── fail39.json │ │ ├── fail4.json │ │ ├── fail8.json │ │ ├── round2.json │ │ ├── fail19.json │ │ ├── fail20.json │ │ ├── fail23.json │ │ ├── fail5.json │ │ ├── fail9.json │ │ ├── fail11.json │ │ ├── fail25.json │ │ ├── fail6.json │ │ ├── fail7.json │ │ ├── fail12.json │ │ ├── fail14.json │ │ ├── fail15.json │ │ ├── fail17.json │ │ ├── fail21.json │ │ ├── fail22.json │ │ ├── fail35.json │ │ ├── round3.json │ │ ├── fail26.json │ │ ├── fail3.json │ │ ├── fail13.json │ │ ├── fail32.json │ │ ├── fail42.json │ │ ├── fail44.json │ │ ├── fail18.json │ │ ├── pass2.json │ │ ├── fail10.json │ │ ├── fail1.json │ │ ├── .gitignore │ │ ├── fail40.json │ │ ├── fail41.json │ │ ├── pass3.json │ │ ├── no_nul.cpp │ │ ├── round1.json │ │ ├── test_json.cpp │ │ ├── pass4.json │ │ └── fail45.json │ ├── build-aux │ │ └── m4 │ │ │ └── .gitignore │ ├── lib │ │ └── .gitignore │ ├── README │ ├── autogen.sh │ ├── TODO │ ├── pc │ │ ├── libunivalue.pc.in │ │ └── libunivalue-uninstalled.pc.in │ ├── .gitignore │ └── README.md ├── bench │ ├── .gitignore │ ├── bench_bitcoin.cpp │ └── Examples.cpp ├── obj │ └── .gitignore ├── obj-test │ └── .gitignore ├── test │ ├── data │ │ ├── blanktx.hex │ │ ├── txcreate2.hex │ │ ├── txcreatedata_seq0.hex │ │ ├── txcreatedata_seq1.hex │ │ ├── blanktx.json │ │ ├── README.md │ │ ├── txcreatedata1.hex │ │ ├── txcreatedata2.hex │ │ ├── txcreate1.hex │ │ ├── txcreatesign.hex │ │ ├── base58_encode_decode.json │ │ └── txcreate2.json │ ├── buildenv.py.in │ ├── Makefile │ ├── bitcoin-util-test.py │ ├── testutil.h │ ├── sanity_tests.cpp │ ├── bswap_tests.cpp │ ├── base64_tests.cpp │ └── base32_tests.cpp ├── leveldb │ ├── cmake │ │ └── leveldbConfig.cmake │ ├── .gitignore │ ├── AUTHORS │ ├── util │ │ ├── filter_policy.cc │ │ ├── options.cc │ │ ├── hash.h │ │ ├── env_windows_test_helper.h │ │ └── env_posix_test_helper.h │ ├── port │ │ ├── README │ │ ├── README.md │ │ ├── port.h │ │ └── win │ │ │ └── stdint.h │ ├── NEWS │ ├── TODO │ ├── .clang-format │ ├── helpers │ │ └── memenv │ │ │ └── memenv.h │ ├── db │ │ ├── db_iter.h │ │ └── log_format.h │ └── table │ │ └── merger.h ├── qt │ ├── res │ │ ├── icons │ │ │ ├── add.png │ │ │ ├── edit.png │ │ │ ├── eye.png │ │ │ ├── info.png │ │ │ ├── key.png │ │ │ ├── open.png │ │ │ ├── quit.png │ │ │ ├── send.png │ │ │ ├── about.png │ │ │ ├── bitcoin.ico │ │ │ ├── bitcoin.png │ │ │ ├── chevron.png │ │ │ ├── clock1.png │ │ │ ├── clock2.png │ │ │ ├── clock3.png │ │ │ ├── clock4.png │ │ │ ├── clock5.png │ │ │ ├── export.png │ │ │ ├── history.png │ │ │ ├── receive.png │ │ │ ├── remove.png │ │ │ ├── synced.png │ │ │ ├── verify.png │ │ │ ├── warning.png │ │ │ ├── about_qt.png │ │ │ ├── bitcoin.icns │ │ │ ├── configure.png │ │ │ ├── connect0.png │ │ │ ├── connect1.png │ │ │ ├── connect2.png │ │ │ ├── connect3.png │ │ │ ├── connect4.png │ │ │ ├── editcopy.png │ │ │ ├── editpaste.png │ │ │ ├── eye_minus.png │ │ │ ├── eye_plus.png │ │ │ ├── filesave.png │ │ │ ├── lock_open.png │ │ │ ├── overview.png │ │ │ ├── tx_inout.png │ │ │ ├── tx_input.png │ │ │ ├── tx_mined.png │ │ │ ├── tx_output.png │ │ │ ├── address-book.png │ │ │ ├── debugwindow.png │ │ │ ├── fontbigger.png │ │ │ ├── fontsmaller.png │ │ │ ├── hd_disabled.png │ │ │ ├── hd_enabled.png │ │ │ ├── lock_closed.png │ │ │ ├── staking_off.png │ │ │ ├── staking_on.png │ │ │ ├── transaction0.png │ │ │ ├── transaction2.png │ │ │ ├── bitcoin_testnet.ico │ │ │ ├── bitcoin_testnet.png │ │ │ ├── transaction_abandoned.png │ │ │ └── transaction_conflicted.png │ │ ├── src │ │ │ ├── spinner.png │ │ │ ├── tx_in.svg │ │ │ └── tx_inout.svg │ │ └── movies │ │ │ ├── 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 │ │ │ └── makespinner.sh │ ├── test │ │ ├── Makefile │ │ ├── compattests.h │ │ ├── bitcoinaddressvalidatortests.h │ │ ├── guiutiltests.h │ │ ├── uritests.h │ │ ├── rpcnestedtests.h │ │ ├── compattests.cpp │ │ └── paymentservertests.h │ ├── Makefile │ ├── coincontroltreewidget.h │ ├── macdockiconhandler.h │ ├── transactiondescdialog.h │ ├── transactiondesc.h │ ├── openuridialog.h │ ├── qvaluecombobox.cpp │ ├── transactiondescdialog.cpp │ ├── macnotificationhandler.h │ └── winshutdownmonitor.h ├── noui.h ├── compat │ ├── sanity.h │ ├── strnlen.cpp │ └── glibc_compat.cpp ├── wallet │ ├── rpcwallet.h │ └── test │ │ ├── wallet_test_fixture.h │ │ └── wallet_test_fixture.cpp ├── support │ └── cleanse.h ├── zmq │ ├── zmqabstractnotifier.cpp │ └── zmqconfig.h ├── torcontrol.h ├── utiltime.h ├── rpc │ └── client.h ├── utilmoneystr.h ├── fs.h ├── crypto │ ├── sha1.h │ ├── sha256.h │ ├── sha512.h │ ├── ripemd160.h │ ├── hmac_sha256.h │ ├── hmac_sha512.h │ ├── hmac_sha256.cpp │ └── hmac_sha512.cpp ├── config.cpp ├── ui_interface.cpp ├── pow.h ├── cashaddr.h ├── checkpoints.h ├── reverselock.h ├── dstencode.h ├── httprpc.h └── cashaddrenc.h ├── contrib ├── debian │ ├── compat │ ├── patches │ │ ├── series │ │ └── README │ ├── source │ │ └── format │ ├── bitcoind.examples │ ├── bitcoin-tx.install │ ├── bitcoin-tx.bash-completion │ ├── bitcoind.install │ ├── bitcoind.manpages │ ├── bitcoind.bash-completion │ ├── gbp.conf │ ├── bitcoin-qt.lintian-overrides │ ├── bitcoind.lintian-overrides │ ├── bitcoin-qt.protocol │ ├── watch │ ├── bitcoin-qt.install │ ├── bitcoin-qt.desktop │ ├── README.md │ └── rules ├── seeds │ ├── nodes_main.txt │ ├── nodes_test.txt │ └── README.md ├── verify-commits │ ├── allow-revsig-commits │ ├── trusted-git-root │ ├── trusted-keys │ └── pre-push-hook.sh ├── gitian-keys │ ├── erkmos.pgp │ ├── sipa-key.pgp │ ├── tcatm-key.pgp │ ├── btcdrak-key.pgp │ ├── cdecker-key.pgp │ ├── luke-jr-key.pgp │ ├── bluematt-key.pgp │ ├── devrandom-key.pgp │ ├── aschildbach-key.pgp │ └── gavinandresen-key.pgp ├── testgen │ └── README.md ├── init │ ├── README.md │ ├── org.bitcoin.bitcoind.plist │ └── bitcoind.service ├── devtools │ └── split-debug.sh.in ├── qos │ └── README.md ├── rpm │ └── bitcoin.fc ├── macdeploy │ ├── README.md │ └── fancy.plist ├── spendfrom │ └── setup.py ├── verifybinaries │ └── README.md ├── bitcoin-qt.pro └── linearize │ └── example-linearize.cfg ├── qa ├── rpc-tests │ ├── .gitignore │ ├── test_framework │ │ └── __init__.py │ ├── create_cache.py │ └── uptime.py └── pull-tester │ └── tests_config.py.in ├── doc ├── release-notes │ ├── release-notes-0.3.16.md │ ├── release-notes-0.6.1.md │ ├── release-notes-0.4.2.md │ ├── release-notes-0.4.5.md │ ├── release-notes-0.3.20.1.md │ ├── release-notes-0.3.14.md │ ├── release-notes-0.3.15.md │ ├── release-notes-0.3.18.md │ ├── release-notes-0.3.17.md │ ├── release-notes-0.8.3.md │ ├── release-notes-0.3.20.2.md │ ├── release-notes-0.3.23.md │ ├── release-notes-0.3.12.md │ ├── release-notes-0.3.19.md │ └── release-notes-0.8.1.md ├── man │ └── Makefile.am ├── bitcoin_logo_doxygen.png ├── gitian-building │ ├── create_new_vm.png │ ├── network_settings.png │ ├── create_vm_hard_disk.png │ ├── create_vm_memsize.png │ ├── debian_root_login.png │ ├── select_startup_disk.png │ ├── port_forwarding_rules.png │ ├── debian_install_14_finish.png │ ├── all_files_in_one_partition.png │ ├── debian_install_1_boot_menu.png │ ├── create_vm_file_location_size.png │ ├── create_vm_hard_disk_file_type.png │ ├── debian_install_12_choose_disk.png │ ├── debian_install_6_domain_name.png │ ├── debian_install_15_write_changes.png │ ├── debian_install_20_install_grub.png │ ├── debian_install_9_user_password.png │ ├── debian_install_10_configure_clock.png │ ├── debian_install_11_partition_disks.png │ ├── debian_install_16_choose_a_mirror.png │ ├── debian_install_18_proxy_settings.png │ ├── debian_install_2_select_a_language.png │ ├── debian_install_3_select_location.png │ ├── debian_install_8_set_up_username.png │ ├── create_vm_storage_physical_hard_disk.png │ ├── debian_install_19_software_selection.png │ ├── debian_install_4_configure_keyboard.png │ ├── debian_install_22_finish_installation.png │ ├── debian_install_5_configure_the_network.png │ ├── debian_install_6a_set_up_root_password.png │ ├── debian_install_7_set_up_user_fullname.png │ └── debian_install_21_install_grub_bootloader.png ├── assets-attribution.md ├── unit-tests.md └── README_windows.txt ├── share ├── pixmaps │ ├── bitcoin.ico │ ├── bitcoin128.png │ ├── bitcoin16.png │ ├── bitcoin256.png │ ├── bitcoin32.png │ ├── bitcoin64.png │ ├── nsis-header.bmp │ └── nsis-wizard.bmp └── rpcuser │ └── README.md ├── depends ├── patches │ ├── qt │ │ ├── qttools_src.pro │ │ ├── qt.pro │ │ ├── fix_android_qmake_conf.patch │ │ ├── fix_no_printer.patch │ │ ├── fix_android_pch.patch │ │ ├── fix_android_jni_static.patch │ │ ├── fix_powerpc_libpng.patch │ │ ├── fix_riscv64_arch.patch │ │ ├── fix_rcc_determinism.patch │ │ ├── dont_hardcode_pwd.patch │ │ ├── xkb-default.patch │ │ ├── qtbase-moc-ignore-gcc-macro.patch │ │ ├── no_sdk_version_check.patch │ │ ├── drop_lrelease_dependency.patch │ │ └── fix_montery_include.patch │ ├── bdb │ │ └── winioctl.patch │ ├── libevent │ │ └── 0001-fix-windows-getaddrinfo.patch │ ├── boost │ │ └── unused_var_in_process.patch │ ├── fontconfig │ │ └── gperf_header_regen.patch │ ├── native_cctools │ │ └── ld64_disable_threading.patch │ └── zeromq │ │ ├── 0001-fix-build-with-older-mingw64.patch │ │ └── remove_libstd_link.patch ├── .gitignore ├── builders │ ├── linux.mk │ └── default.mk ├── hosts │ ├── mingw32.mk │ └── linux.mk └── packages │ ├── xcb_proto.mk │ ├── native_ds_store.mk │ ├── native_mac_alias.mk │ ├── native_biplist.mk │ ├── native_ccache.mk │ ├── native_b2.mk │ ├── xextproto.mk │ ├── xtrans.mk │ ├── libXext.mk │ ├── native_libtapi.mk │ ├── packages.mk │ ├── native_protobuf.mk │ ├── libX11.mk │ ├── xproto.mk │ ├── dbus.mk │ ├── freetype.mk │ ├── libxkbcommon.mk │ ├── expat.mk │ ├── native_libdmg-hfsplus.mk │ └── protobuf.mk ├── INSTALL.md ├── .tx └── config ├── libbitcoinconsensus.pc.in └── autogen.sh /src/config/.empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /contrib/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /contrib/seeds/nodes_main.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /contrib/seeds/nodes_test.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/secp256k1/obj/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/univalue/test/fail29.json: -------------------------------------------------------------------------------- 1 | [0e] -------------------------------------------------------------------------------- /contrib/debian/patches/series: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/bench/.gitignore: -------------------------------------------------------------------------------- 1 | bench_bitcoin 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail16.json: -------------------------------------------------------------------------------- 1 | [\naked] -------------------------------------------------------------------------------- /src/univalue/test/fail30.json: -------------------------------------------------------------------------------- 1 | [0e+] -------------------------------------------------------------------------------- /src/univalue/test/fail31.json: -------------------------------------------------------------------------------- 1 | [0e+-1] -------------------------------------------------------------------------------- /src/univalue/test/round4.json: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /src/univalue/test/round5.json: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /src/univalue/test/round7.json: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /contrib/verify-commits/allow-revsig-commits: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /qa/rpc-tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | cache 3 | -------------------------------------------------------------------------------- /qa/rpc-tests/test_framework/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/obj/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /src/univalue/test/fail33.json: -------------------------------------------------------------------------------- 1 | ["mismatch"} -------------------------------------------------------------------------------- /src/univalue/test/fail34.json: -------------------------------------------------------------------------------- 1 | {} garbage -------------------------------------------------------------------------------- /src/univalue/test/fail36.json: -------------------------------------------------------------------------------- 1 | {"a":} 2 | -------------------------------------------------------------------------------- /src/univalue/test/round6.json: -------------------------------------------------------------------------------- 1 | false 2 | -------------------------------------------------------------------------------- /contrib/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /src/obj-test/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /src/univalue/build-aux/m4/.gitignore: -------------------------------------------------------------------------------- 1 | /*.m4 2 | -------------------------------------------------------------------------------- /src/univalue/lib/.gitignore: -------------------------------------------------------------------------------- 1 | gen 2 | .libs 3 | -------------------------------------------------------------------------------- /src/univalue/test/fail2.json: -------------------------------------------------------------------------------- 1 | ["Unclosed array" -------------------------------------------------------------------------------- /src/univalue/test/fail24.json: -------------------------------------------------------------------------------- 1 | ['single quote'] -------------------------------------------------------------------------------- /src/univalue/test/fail27.json: -------------------------------------------------------------------------------- 1 | ["line 2 | break"] -------------------------------------------------------------------------------- /src/univalue/test/fail28.json: -------------------------------------------------------------------------------- 1 | ["line\ 2 | break"] -------------------------------------------------------------------------------- /src/univalue/test/fail37.json: -------------------------------------------------------------------------------- 1 | {"a":1 "b":2} 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail38.json: -------------------------------------------------------------------------------- 1 | ["\ud834"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail39.json: -------------------------------------------------------------------------------- 1 | ["\udd61"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail4.json: -------------------------------------------------------------------------------- 1 | ["extra comma",] -------------------------------------------------------------------------------- /src/univalue/test/fail8.json: -------------------------------------------------------------------------------- 1 | ["Extra close"]] -------------------------------------------------------------------------------- /src/univalue/test/round2.json: -------------------------------------------------------------------------------- 1 | ["a§■𐎒𝅘𝅥𝅯"] 2 | -------------------------------------------------------------------------------- /src/test/data/blanktx.hex: -------------------------------------------------------------------------------- 1 | 01000000000000000000 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail19.json: -------------------------------------------------------------------------------- 1 | {"Missing colon" null} -------------------------------------------------------------------------------- /src/univalue/test/fail20.json: -------------------------------------------------------------------------------- 1 | {"Double colon":: null} -------------------------------------------------------------------------------- /src/univalue/test/fail23.json: -------------------------------------------------------------------------------- 1 | ["Bad value", truth] -------------------------------------------------------------------------------- /src/univalue/test/fail5.json: -------------------------------------------------------------------------------- 1 | ["double extra comma",,] -------------------------------------------------------------------------------- /src/univalue/test/fail9.json: -------------------------------------------------------------------------------- 1 | {"Extra comma": true,} -------------------------------------------------------------------------------- /src/univalue/test/fail11.json: -------------------------------------------------------------------------------- 1 | {"Illegal expression": 1 + 2} -------------------------------------------------------------------------------- /src/univalue/test/fail25.json: -------------------------------------------------------------------------------- 1 | [" tab character in string "] -------------------------------------------------------------------------------- /src/univalue/test/fail6.json: -------------------------------------------------------------------------------- 1 | [ , "<-- missing value"] -------------------------------------------------------------------------------- /src/univalue/test/fail7.json: -------------------------------------------------------------------------------- 1 | ["Comma after the close"], -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.16.md: -------------------------------------------------------------------------------- 1 | Never released. 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail12.json: -------------------------------------------------------------------------------- 1 | {"Illegal invocation": alert()} -------------------------------------------------------------------------------- /src/univalue/test/fail14.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot be hex": 0x14} -------------------------------------------------------------------------------- /src/univalue/test/fail15.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \x15"] -------------------------------------------------------------------------------- /src/univalue/test/fail17.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \017"] -------------------------------------------------------------------------------- /src/univalue/test/fail21.json: -------------------------------------------------------------------------------- 1 | {"Comma instead of colon", null} -------------------------------------------------------------------------------- /src/univalue/test/fail22.json: -------------------------------------------------------------------------------- 1 | ["Colon instead of comma": false] -------------------------------------------------------------------------------- /src/univalue/test/fail35.json: -------------------------------------------------------------------------------- 1 | [ true true true [] [] [] ] 2 | -------------------------------------------------------------------------------- /src/univalue/test/round3.json: -------------------------------------------------------------------------------- 1 | "abcdefghijklmnopqrstuvwxyz" 2 | -------------------------------------------------------------------------------- /contrib/debian/bitcoind.examples: -------------------------------------------------------------------------------- 1 | debian/examples/bitcoin.conf 2 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.6.1.md: -------------------------------------------------------------------------------- 1 | Never released 2 | 3 | -------------------------------------------------------------------------------- /src/test/buildenv.py.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | exeext="@EXEEXT@" 3 | -------------------------------------------------------------------------------- /src/univalue/test/fail26.json: -------------------------------------------------------------------------------- 1 | ["tab\ character\ in\ string\ "] -------------------------------------------------------------------------------- /src/univalue/test/fail3.json: -------------------------------------------------------------------------------- 1 | {unquoted_key: "keys must be quoted"} -------------------------------------------------------------------------------- /contrib/debian/bitcoin-tx.install: -------------------------------------------------------------------------------- 1 | usr/local/bin/bitcoin-tx usr/bin 2 | -------------------------------------------------------------------------------- /src/test/data/txcreate2.hex: -------------------------------------------------------------------------------- 1 | 01000000000100000000000000000000000000 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail13.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot have leading zeroes": 013} -------------------------------------------------------------------------------- /src/univalue/test/fail32.json: -------------------------------------------------------------------------------- 1 | {"Comma instead if closing brace": true, -------------------------------------------------------------------------------- /src/univalue/test/fail42.json: -------------------------------------------------------------------------------- 1 | ["before nul byte"]"after nul byte" 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail44.json: -------------------------------------------------------------------------------- 1 | "This file ends without a newline or close-quote. -------------------------------------------------------------------------------- /src/secp256k1/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | autoreconf -if --warnings=all 4 | -------------------------------------------------------------------------------- /src/univalue/test/fail18.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /src/univalue/test/pass2.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /contrib/verify-commits/trusted-git-root: -------------------------------------------------------------------------------- 1 | 82bcf405f6db1d55b684a1f63a4aabad376cdad7 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/univalue/test/fail10.json: -------------------------------------------------------------------------------- 1 | {"Extra value after close": true} "misplaced quoted value" -------------------------------------------------------------------------------- /contrib/debian/bitcoin-tx.bash-completion: -------------------------------------------------------------------------------- 1 | contrib/bitcoin-tx.bash-completion bitcoin-tx 2 | -------------------------------------------------------------------------------- /doc/man/Makefile.am: -------------------------------------------------------------------------------- 1 | dist_man1_MANS=bitcoind.1 bitcoin-qt.1 bitcoin-cli.1 bitcoin-tx.1 2 | -------------------------------------------------------------------------------- /doc/release-notes/release-notes-0.3.20.1.md: -------------------------------------------------------------------------------- 1 | Never released or release notes were lost. 2 | -------------------------------------------------------------------------------- /share/pixmaps/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/bitcoin.ico -------------------------------------------------------------------------------- /src/leveldb/cmake/leveldbConfig.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/leveldbTargets.cmake") 2 | -------------------------------------------------------------------------------- /src/qt/res/icons/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/add.png -------------------------------------------------------------------------------- /src/qt/res/icons/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/edit.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/eye.png -------------------------------------------------------------------------------- /src/qt/res/icons/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/info.png -------------------------------------------------------------------------------- /src/qt/res/icons/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/key.png -------------------------------------------------------------------------------- /src/qt/res/icons/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/open.png -------------------------------------------------------------------------------- /src/qt/res/icons/quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/quit.png -------------------------------------------------------------------------------- /src/qt/res/icons/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/send.png -------------------------------------------------------------------------------- /src/univalue/test/fail1.json: -------------------------------------------------------------------------------- 1 | "This is a string that never ends, yes it goes on and on, my friends. 2 | -------------------------------------------------------------------------------- /contrib/debian/bitcoind.install: -------------------------------------------------------------------------------- 1 | usr/local/bin/bitcoind usr/bin 2 | usr/local/bin/bitcoin-cli usr/bin 3 | -------------------------------------------------------------------------------- /doc/bitcoin_logo_doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/bitcoin_logo_doxygen.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/bitcoin128.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/bitcoin16.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/bitcoin256.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/bitcoin32.png -------------------------------------------------------------------------------- /share/pixmaps/bitcoin64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/bitcoin64.png -------------------------------------------------------------------------------- /src/qt/res/icons/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/about.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/bitcoin.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/bitcoin.png -------------------------------------------------------------------------------- /src/qt/res/icons/chevron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/chevron.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/clock1.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/clock2.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/clock3.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/clock4.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/clock5.png -------------------------------------------------------------------------------- /src/qt/res/icons/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/export.png -------------------------------------------------------------------------------- /src/qt/res/icons/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/history.png -------------------------------------------------------------------------------- /src/qt/res/icons/receive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/receive.png -------------------------------------------------------------------------------- /src/qt/res/icons/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/remove.png -------------------------------------------------------------------------------- /src/qt/res/icons/synced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/synced.png -------------------------------------------------------------------------------- /src/qt/res/icons/verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/verify.png -------------------------------------------------------------------------------- /src/qt/res/icons/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/warning.png -------------------------------------------------------------------------------- /src/qt/res/src/spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/src/spinner.png -------------------------------------------------------------------------------- /src/univalue/test/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | object 3 | unitester 4 | test_json 5 | no_nul 6 | 7 | *.trs 8 | *.log 9 | -------------------------------------------------------------------------------- /contrib/gitian-keys/erkmos.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/erkmos.pgp -------------------------------------------------------------------------------- /share/pixmaps/nsis-header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/nsis-header.bmp -------------------------------------------------------------------------------- /share/pixmaps/nsis-wizard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/share/pixmaps/nsis-wizard.bmp -------------------------------------------------------------------------------- /src/qt/res/icons/about_qt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/about_qt.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/bitcoin.icns -------------------------------------------------------------------------------- /src/qt/res/icons/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/configure.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/connect0.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/connect1.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/connect2.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/connect3.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/connect4.png -------------------------------------------------------------------------------- /src/qt/res/icons/editcopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/editcopy.png -------------------------------------------------------------------------------- /src/qt/res/icons/editpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/editpaste.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/eye_minus.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/eye_plus.png -------------------------------------------------------------------------------- /src/qt/res/icons/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/filesave.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/lock_open.png -------------------------------------------------------------------------------- /src/qt/res/icons/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/overview.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_inout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/tx_inout.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/tx_input.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_mined.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/tx_mined.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/tx_output.png -------------------------------------------------------------------------------- /src/univalue/test/fail40.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/univalue/test/fail40.json -------------------------------------------------------------------------------- /src/univalue/test/fail41.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/univalue/test/fail41.json -------------------------------------------------------------------------------- /contrib/gitian-keys/sipa-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/sipa-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/tcatm-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/tcatm-key.pgp -------------------------------------------------------------------------------- /src/qt/res/icons/address-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/address-book.png -------------------------------------------------------------------------------- /src/qt/res/icons/debugwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/debugwindow.png -------------------------------------------------------------------------------- /src/qt/res/icons/fontbigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/fontbigger.png -------------------------------------------------------------------------------- /src/qt/res/icons/fontsmaller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/fontsmaller.png -------------------------------------------------------------------------------- /src/qt/res/icons/hd_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/hd_disabled.png -------------------------------------------------------------------------------- /src/qt/res/icons/hd_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/hd_enabled.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/lock_closed.png -------------------------------------------------------------------------------- /src/qt/res/icons/staking_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/staking_off.png -------------------------------------------------------------------------------- /src/qt/res/icons/staking_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/staking_on.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/transaction0.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/transaction2.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-000.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-001.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-002.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-003.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-004.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-005.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-006.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-007.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-008.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-009.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-010.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-011.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-012.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-013.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-014.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-015.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-016.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-017.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-018.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-019.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-020.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-021.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-022.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-023.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-024.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-025.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-026.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-027.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-028.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-029.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-030.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-031.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-032.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-033.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-034.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/movies/spinner-035.png -------------------------------------------------------------------------------- /contrib/gitian-keys/btcdrak-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/btcdrak-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/cdecker-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/cdecker-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/luke-jr-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/luke-jr-key.pgp -------------------------------------------------------------------------------- /src/leveldb/.gitignore: -------------------------------------------------------------------------------- 1 | # Editors. 2 | *.sw* 3 | .vscode 4 | .DS_Store 5 | 6 | # Build directory. 7 | build/ 8 | out/ 9 | -------------------------------------------------------------------------------- /contrib/gitian-keys/bluematt-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/bluematt-key.pgp -------------------------------------------------------------------------------- /contrib/gitian-keys/devrandom-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/devrandom-key.pgp -------------------------------------------------------------------------------- /doc/gitian-building/create_new_vm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/create_new_vm.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin_testnet.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/bitcoin_testnet.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin_testnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/bitcoin_testnet.png -------------------------------------------------------------------------------- /contrib/debian/bitcoind.manpages: -------------------------------------------------------------------------------- 1 | debian/manpages/bitcoind.1 2 | debian/manpages/bitcoin.conf.5 3 | debian/manpages/bitcoin-cli.1 4 | -------------------------------------------------------------------------------- /contrib/gitian-keys/aschildbach-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/aschildbach-key.pgp -------------------------------------------------------------------------------- /doc/gitian-building/network_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/network_settings.png -------------------------------------------------------------------------------- /contrib/debian/bitcoind.bash-completion: -------------------------------------------------------------------------------- 1 | contrib/bitcoind.bash-completion bitcoind 2 | contrib/bitcoin-cli.bash-completion bitcoin-cli 3 | -------------------------------------------------------------------------------- /contrib/gitian-keys/gavinandresen-key.pgp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/contrib/gitian-keys/gavinandresen-key.pgp -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_hard_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/create_vm_hard_disk.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_memsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/create_vm_memsize.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_root_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_root_login.png -------------------------------------------------------------------------------- /doc/gitian-building/select_startup_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/select_startup_disk.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_abandoned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/transaction_abandoned.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_conflicted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/src/qt/res/icons/transaction_conflicted.png -------------------------------------------------------------------------------- /doc/gitian-building/port_forwarding_rules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/port_forwarding_rules.png -------------------------------------------------------------------------------- /contrib/debian/gbp.conf: -------------------------------------------------------------------------------- 1 | # Configuration file for git-buildpackage and friends 2 | 3 | [DEFAULT] 4 | pristine-tar = True 5 | sign-tags = True 6 | -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_14_finish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_14_finish.png -------------------------------------------------------------------------------- /doc/gitian-building/all_files_in_one_partition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/all_files_in_one_partition.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_1_boot_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_1_boot_menu.png -------------------------------------------------------------------------------- /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/bitcoind.lintian-overrides: -------------------------------------------------------------------------------- 1 | # Linked code is Expat - only Debian packaging is GPL-2+ 2 | bitcoind: possible-gpl-code-linked-with-openssl 3 | -------------------------------------------------------------------------------- /depends/patches/qt/qttools_src.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS = linguist 3 | 4 | fb = force_bootstrap 5 | CONFIG += $$fb 6 | cache(CONFIG, add, fb) 7 | -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_file_location_size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/create_vm_file_location_size.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_hard_disk_file_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/create_vm_hard_disk_file_type.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_12_choose_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_12_choose_disk.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_6_domain_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_6_domain_name.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_15_write_changes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_15_write_changes.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_20_install_grub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_20_install_grub.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_9_user_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_9_user_password.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_10_configure_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_10_configure_clock.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_11_partition_disks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_11_partition_disks.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_16_choose_a_mirror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_16_choose_a_mirror.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_18_proxy_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_18_proxy_settings.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_2_select_a_language.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_2_select_a_language.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_3_select_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_3_select_location.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_8_set_up_username.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_8_set_up_username.png -------------------------------------------------------------------------------- /doc/gitian-building/create_vm_storage_physical_hard_disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/create_vm_storage_physical_hard_disk.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_19_software_selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_19_software_selection.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_4_configure_keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_4_configure_keyboard.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /doc/assets-attribution.md: -------------------------------------------------------------------------------- 1 | The list of assets used in the bitcoin source and their attribution can now be found in [contrib/debian/copyright](../contrib/debian/copyright). 2 | -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_22_finish_installation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_22_finish_installation.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_5_configure_the_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_5_configure_the_network.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_6a_set_up_root_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/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/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_7_set_up_user_fullname.png -------------------------------------------------------------------------------- /doc/gitian-building/debian_install_21_install_grub_bootloader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ODUWAX/oduwacoin/HEAD/doc/gitian-building/debian_install_21_install_grub_bootloader.png -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /INSTALL.md: -------------------------------------------------------------------------------- 1 | Building Oduwacoin 2 | ================ 3 | 4 | See doc/build-*.md for instructions on building the various 5 | elements of the OduwaCoin reference implementation of Oduwacoin. 6 | -------------------------------------------------------------------------------- /depends/.gitignore: -------------------------------------------------------------------------------- 1 | SDKs/ 2 | work/ 3 | built/ 4 | sources/ 5 | config.site 6 | x86_64* 7 | i686* 8 | mips* 9 | arm* 10 | aarch64* 11 | powerpc* 12 | riscv32* 13 | riscv64* 14 | s390x* -------------------------------------------------------------------------------- /depends/builders/linux.mk: -------------------------------------------------------------------------------- 1 | build_linux_SHA256SUM = sha256sum 2 | build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o 3 | -------------------------------------------------------------------------------- /src/univalue/test/pass3.json: -------------------------------------------------------------------------------- 1 | { 2 | "JSON Test Pattern pass3": { 3 | "The outermost value": "must be an object or array.", 4 | "In this test": "It is an object." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/univalue/README: -------------------------------------------------------------------------------- 1 | 2 | UniValue 3 | 4 | A universal value object, with JSON encoding (output) and decoding (input). 5 | 6 | Built as a single dynamic RAII C++ object class, and no templates. 7 | 8 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata_seq0.hex: -------------------------------------------------------------------------------- 1 | 01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff0180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000 2 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [bitcoin.qt-translation-013x] 5 | file_filter = src/qt/locale/bitcoin_.ts 6 | source_file = src/qt/locale/bitcoin_en.ts 7 | source_lang = en 8 | -------------------------------------------------------------------------------- /contrib/verify-commits/trusted-keys: -------------------------------------------------------------------------------- 1 | 71A3B16735405025D447E8F274810B012346C9A6 2 | 3F1888C6DCA92A6499C4911FDBA1A67379A1A931 3 | 32EE5C4C3FA15CCADB46ABE529D4BCB6416F53EC 4 | FE09B823E6D83A3BC7983EAA2D7F2372E50FE137 5 | -------------------------------------------------------------------------------- /share/rpcuser/README.md: -------------------------------------------------------------------------------- 1 | RPC Tools 2 | --------------------- 3 | 4 | ### [RPCUser](/share/rpcuser) ### 5 | 6 | Create an RPC user login credential. 7 | 8 | Usage: 9 | 10 | ./rpcuser.py 11 | -------------------------------------------------------------------------------- /src/univalue/test/no_nul.cpp: -------------------------------------------------------------------------------- 1 | #include "univalue.h" 2 | 3 | int main (int argc, char *argv[]) 4 | { 5 | char buf[] = "___[1,2,3]___"; 6 | UniValue val; 7 | return val.read(buf + 3, 7) ? 0 : 1; 8 | } 9 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/univalue/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | srcdir="$(dirname $0)" 4 | cd "$srcdir" 5 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then 6 | LIBTOOLIZE="${GLIBTOOLIZE}" 7 | export LIBTOOLIZE 8 | fi 9 | autoreconf --install --force 10 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/extrakeys/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_extrakeys.h 2 | noinst_HEADERS += src/modules/extrakeys/tests_impl.h 3 | noinst_HEADERS += src/modules/extrakeys/tests_exhaustive_impl.h 4 | noinst_HEADERS += src/modules/extrakeys/main_impl.h 5 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata_seq1.hex: -------------------------------------------------------------------------------- 1 | 01000000021f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000fdffffff1f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000010000000180a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac00000000 2 | -------------------------------------------------------------------------------- /src/univalue/TODO: -------------------------------------------------------------------------------- 1 | 2 | Rearrange tree for easier 'git subtree' style use 3 | 4 | Move towards C++11 etc. 5 | 6 | Namespace support - must come up with useful shorthand, avoiding 7 | long Univalue::Univalue::Univalue usages forced upon library users. 8 | 9 | Improve test suite 10 | 11 | -------------------------------------------------------------------------------- /contrib/debian/watch: -------------------------------------------------------------------------------- 1 | # Run the "uscan" command to check for upstream updates and more. 2 | version=3 3 | # use qa.debian.org redirector; see man uscan 4 | opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/,dversionmangle=s/~dfsg\d*// \ 5 | http://githubredir.debian.net/github/bitcoin/bitcoin v(.*).tar.gz 6 | -------------------------------------------------------------------------------- /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/univalue/test/round1.json: -------------------------------------------------------------------------------- 1 | ["\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f"] 2 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /src/univalue/pc/libunivalue.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libunivalue 7 | Description: libunivalue, C++ universal value object and JSON library 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lunivalue 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/univalue/pc/libunivalue-uninstalled.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libunivalue 7 | Description: libunivalue, C++ universal value object and JSON library 8 | Version: @VERSION@ 9 | Libs: ${pc_top_builddir}/${pcfiledir}/libunivalue.la 10 | -------------------------------------------------------------------------------- /src/noui.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_NOUI_H 6 | #define BITCOIN_NOUI_H 7 | 8 | extern void noui_connect(); 9 | 10 | #endif // BITCOIN_NOUI_H 11 | -------------------------------------------------------------------------------- /src/test/data/blanktx.json: -------------------------------------------------------------------------------- 1 | { 2 | "txid": "d21633ba23f70118185227be58a63527675641ad37967e2aa461559f577aec43", 3 | "hash": "d21633ba23f70118185227be58a63527675641ad37967e2aa461559f577aec43", 4 | "version": 1, 5 | "locktime": 0, 6 | "vin": [ 7 | ], 8 | "vout": [ 9 | ], 10 | "hex": "01000000000000000000" 11 | } 12 | -------------------------------------------------------------------------------- /src/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 | -------------------------------------------------------------------------------- /libbitcoinconsensus.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: @PACKAGE_NAME@ consensus library 7 | Description: Library for the Bitcoin consensus protocol. 8 | Version: @PACKAGE_VERSION@ 9 | Libs: -L${libdir} -lbitcoinconsensus 10 | Cflags: -I${includedir} 11 | Requires.private: libcrypto 12 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/ecdh/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_ecdh.h 2 | noinst_HEADERS += src/modules/ecdh/main_impl.h 3 | noinst_HEADERS += src/modules/ecdh/tests_impl.h 4 | if USE_BENCHMARK 5 | noinst_PROGRAMS += bench_ecdh 6 | bench_ecdh_SOURCES = src/bench_ecdh.c 7 | bench_ecdh_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 8 | endif 9 | -------------------------------------------------------------------------------- /src/test/data/README.md: -------------------------------------------------------------------------------- 1 | Description 2 | ------------ 3 | 4 | This directory contains data-driven tests for various aspects of Bitcoin. 5 | 6 | License 7 | -------- 8 | 9 | The data files in this directory are distributed under the MIT software 10 | license, see the accompanying file COPYING or 11 | http://www.opensource.org/licenses/mit-license.php. 12 | 13 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata1.hex: -------------------------------------------------------------------------------- 1 | 01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d71700000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 2 | -------------------------------------------------------------------------------- /src/test/data/txcreatedata2.hex: -------------------------------------------------------------------------------- 1 | 01000000011f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0000000000000000526a4c4f54686973204f505f52455455524e207472616e73616374696f6e206f7574707574207761732063726561746564206279206d6f646966696564206372656174657261777472616e73616374696f6e2e00000000 2 | -------------------------------------------------------------------------------- /contrib/init/README.md: -------------------------------------------------------------------------------- 1 | Sample configuration files for: 2 | 3 | SystemD: bitcoind.service 4 | Upstart: bitcoind.conf 5 | OpenRC: bitcoind.openrc 6 | bitcoind.openrcconf 7 | CentOS: bitcoind.init 8 | OS X: org.bitcoin.bitcoind.plist 9 | 10 | have been made available to assist packagers in creating node packages here. 11 | 12 | See doc/init.md for more information. 13 | -------------------------------------------------------------------------------- /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/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/secp256k1/libsecp256k1.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libsecp256k1 7 | Description: Optimized C library for EC operations on curve secp256k1 8 | URL: https://github.com/bitcoin-core/secp256k1 9 | Version: @PACKAGE_VERSION@ 10 | Cflags: -I${includedir} 11 | Libs: -L${libdir} -lsecp256k1 12 | Libs.private: @SECP_LIBS@ 13 | 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 | -------------------------------------------------------------------------------- /contrib/devtools/split-debug.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ $# -ne 3 ]; 4 | then echo "usage: $0 " 5 | fi 6 | 7 | @OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3 8 | @OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2 9 | @STRIP@ --enable-deterministic-archives -p -s $2 10 | @OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2 11 | -------------------------------------------------------------------------------- /src/test/data/txcreate1.hex: -------------------------------------------------------------------------------- 1 | 01000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fffffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000ffffffff0280a81201000000001976a9141fc11f39be1729bf973a7ab6a615ca4729d6457488ac0084d717000000001976a914f2d4db28cad6502226ee484ae24505c2885cb12d88ac00000000 2 | -------------------------------------------------------------------------------- /depends/patches/qt/qt.pro: -------------------------------------------------------------------------------- 1 | # Create the super cache so modules will add themselves to it. 2 | cache(, super) 3 | 4 | !QTDIR_build: cache(CONFIG, add, $$list(QTDIR_build)) 5 | 6 | prl = no_install_prl 7 | CONFIG += $$prl 8 | cache(CONFIG, add stash, prl) 9 | 10 | TEMPLATE = subdirs 11 | SUBDIRS = qtbase qttools qttranslations 12 | 13 | qttools.depends = qtbase 14 | qttranslations.depends = qttools 15 | 16 | load(qt_configure) 17 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/wallet/rpcwallet.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_WALLET_RPCWALLET_H 6 | #define BITCOIN_WALLET_RPCWALLET_H 7 | 8 | class CRPCTable; 9 | 10 | void RegisterWalletRPCCommands(CRPCTable &tableRPC); 11 | 12 | #endif //BITCOIN_WALLET_RPCWALLET_H 13 | -------------------------------------------------------------------------------- /src/univalue/.gitignore: -------------------------------------------------------------------------------- 1 | .deps/ 2 | INSTALL 3 | Makefile 4 | Makefile.in 5 | aclocal.m4 6 | autom4te.cache/ 7 | compile 8 | config.log 9 | config.status 10 | config.guess 11 | config.sub 12 | configure 13 | depcomp 14 | install-sh 15 | missing 16 | stamp-h1 17 | univalue-config.h* 18 | test-driver 19 | libtool 20 | ltmain.sh 21 | test-suite.log 22 | 23 | *.a 24 | *.la 25 | *.lo 26 | *.logs 27 | *.o 28 | *.pc 29 | *.trs 30 | 31 | .dirstamp 32 | .libs 33 | -------------------------------------------------------------------------------- /src/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/README.md: -------------------------------------------------------------------------------- 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_stdcxx.h for an example of what must be provided in a platform 9 | specific header file. 10 | 11 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/recovery/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_recovery.h 2 | noinst_HEADERS += src/modules/recovery/main_impl.h 3 | noinst_HEADERS += src/modules/recovery/tests_impl.h 4 | noinst_HEADERS += src/modules/recovery/tests_exhaustive_impl.h 5 | if USE_BENCHMARK 6 | noinst_PROGRAMS += bench_recover 7 | bench_recover_SOURCES = src/bench_recover.c 8 | bench_recover_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 9 | endif 10 | -------------------------------------------------------------------------------- /src/test/data/txcreatesign.hex: -------------------------------------------------------------------------------- 1 | 01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d000000008b48304502210096a75056c9e2cc62b7214777b3d2a592cfda7092520126d4ebfcd6d590c99bd8022051bb746359cf98c0603f3004477eac68701132380db8facba19c89dc5ab5c5e201410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/support/cleanse.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2015 The Bitcoin Core developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_SUPPORT_CLEANSE_H 7 | #define BITCOIN_SUPPORT_CLEANSE_H 8 | 9 | #include 10 | 11 | void memory_cleanse(void *ptr, size_t len); 12 | 13 | #endif // BITCOIN_SUPPORT_CLEANSE_H 14 | -------------------------------------------------------------------------------- /src/qt/res/movies/makespinner.sh: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2015 The Bitcoin Core developers 2 | # Distributed under the MIT software license, see the accompanying 3 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | FRAMEDIR=$(dirname $0) 6 | for i in {0..35} 7 | do 8 | frame=$(printf "%03d" $i) 9 | angle=$(($i * 10)) 10 | convert $FRAMEDIR/../src/spinner.png -background "rgba(0,0,0,0.0)" -distort SRT $angle $FRAMEDIR/spinner-$frame.png 11 | done 12 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/schnorrsig/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_schnorrsig.h 2 | noinst_HEADERS += src/modules/schnorrsig/main_impl.h 3 | noinst_HEADERS += src/modules/schnorrsig/tests_impl.h 4 | noinst_HEADERS += src/modules/schnorrsig/tests_exhaustive_impl.h 5 | if USE_BENCHMARK 6 | noinst_PROGRAMS += bench_schnorrsig 7 | bench_schnorrsig_SOURCES = src/bench_schnorrsig.c 8 | bench_schnorrsig_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 9 | endif 10 | -------------------------------------------------------------------------------- /contrib/debian/bitcoin-qt.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Name=Bitcoin Core 4 | Comment=Connect to the Bitcoin P2P Network 5 | Comment[de]=Verbinde mit dem Bitcoin peer-to-peer Netzwerk 6 | Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair 7 | Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi 8 | Exec=bitcoin-qt %u 9 | Terminal=false 10 | Type=Application 11 | Icon=bitcoin128 12 | MimeType=x-scheme-handler/bitcoin; 13 | Categories=Office;Finance; 14 | -------------------------------------------------------------------------------- /src/test/bitcoin-util-test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # Copyright 2014 BitPay, Inc. 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | from __future__ import division,print_function,unicode_literals 6 | import os 7 | import bctest 8 | import buildenv 9 | 10 | if __name__ == '__main__': 11 | bctest.bctester(os.environ["srcdir"] + "/test/data", 12 | "bitcoin-util-test.json",buildenv) 13 | 14 | -------------------------------------------------------------------------------- /contrib/init/org.bitcoin.bitcoind.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.bitcoin.bitcoind 7 | ProgramArguments 8 | 9 | /usr/local/bin/bitcoind 10 | -daemon 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /contrib/rpm/bitcoin.fc: -------------------------------------------------------------------------------- 1 | /usr/bin/bitcoin-cli -- gen_context(system_u:object_r:bitcoin_exec_t,s0) 2 | /usr/sbin/bitcoind -- gen_context(system_u:object_r:bitcoin_exec_t,s0) 3 | /usr/lib(64)?/bitcoin/bitcoind -- gen_context(system_u:object_r:bitcoin_exec_t,s0) 4 | 5 | /etc/bitcoin(/.*)? gen_context(system_u:object_r:bitcoin_conf_t,s0) 6 | /var/lib/bitcoin(/.*)? gen_context(system_u:object_r:bitcoin_var_lib_t,s0) 7 | 8 | (/var)?/run/bitcoind(/.*)? gen_context(system_u:object_r:bitcoin_var_run_t,s0) 9 | -------------------------------------------------------------------------------- /src/test/testutil.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | /** 6 | * Utility functions shared by unit tests 7 | */ 8 | #ifndef BITCOIN_TEST_TESTUTIL_H 9 | #define BITCOIN_TEST_TESTUTIL_H 10 | 11 | #include 12 | 13 | boost::filesystem::path GetTempPath(); 14 | 15 | #endif // BITCOIN_TEST_TESTUTIL_H 16 | -------------------------------------------------------------------------------- /depends/hosts/mingw32.mk: -------------------------------------------------------------------------------- 1 | ifneq ($(shell $(SHELL) $(.SHELLFLAGS) "command -v $(host)-g++-posix"),) 2 | mingw32_CXX := $(host)-g++-posix 3 | endif 4 | 5 | mingw32_CFLAGS=-pipe 6 | mingw32_CXXFLAGS=$(mingw32_CFLAGS) 7 | 8 | mingw32_release_CFLAGS=-O2 9 | mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS) 10 | 11 | mingw32_debug_CFLAGS=-O1 12 | mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS) 13 | 14 | mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC 15 | 16 | mingw_cmake_system=Windows 17 | -------------------------------------------------------------------------------- /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() : comparator(BytewiseComparator()), env(Env::Default()) {} 13 | 14 | } // namespace leveldb 15 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "org_bitcoin_Secp256k1Context.h" 4 | #include "include/secp256k1.h" 5 | 6 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 7 | (JNIEnv* env, jclass classObject) 8 | { 9 | secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY); 10 | 11 | (void)classObject;(void)env; 12 | 13 | return (uintptr_t)ctx; 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/schnorr/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_schnorr.h 2 | noinst_HEADERS += src/modules/schnorr/main_impl.h 3 | noinst_HEADERS += src/modules/schnorr/schnorr.h 4 | noinst_HEADERS += src/modules/schnorr/schnorr_impl.h 5 | noinst_HEADERS += src/modules/schnorr/tests_impl.h 6 | if USE_BENCHMARK 7 | noinst_PROGRAMS += bench_schnorr_verify 8 | bench_schnorr_verify_SOURCES = src/bench_schnorr_verify.c 9 | bench_schnorr_verify_LDADD = libsecp256k1.la $(SECP_LIBS) 10 | endif 11 | -------------------------------------------------------------------------------- /src/test/data/base58_encode_decode.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["", ""], 3 | ["61", "2g"], 4 | ["626262", "a3gV"], 5 | ["636363", "aPEr"], 6 | ["73696d706c792061206c6f6e6720737472696e67", "2cFupjhnEsSn59qHXstmK2ffpLv2"], 7 | ["00eb15231dfceb60925886b67d065299925915aeb172c06647", "1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L"], 8 | ["516b6fcd0f", "ABnLTmg"], 9 | ["bf4f89001e670274dd", "3SEo3LWLoPntC"], 10 | ["572e4794", "3EFU7m"], 11 | ["ecac89cad93923c02321", "EJDM8drfXA6uyA"], 12 | ["10c8511e", "Rt5zm"], 13 | ["00000000000000000000", "1111111111"] 14 | ] 15 | -------------------------------------------------------------------------------- /contrib/seeds/README.md: -------------------------------------------------------------------------------- 1 | ### Seeds ### 2 | 3 | Utility to generate the seeds.txt list that is compiled into the client 4 | (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)). 5 | 6 | The seeds compiled into the release are created from sipa's DNS seed data, like this: 7 | 8 | curl -s http://bitcoin.sipa.be/seeds.txt > seeds_main.txt 9 | python makeseeds.py < seeds_main.txt > nodes_main.txt 10 | python generate-seeds.py . > ../../src/chainparamsseeds.h 11 | 12 | -------------------------------------------------------------------------------- /contrib/macdeploy/README.md: -------------------------------------------------------------------------------- 1 | ### MacDeploy ### 2 | 3 | For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package: 4 | 5 | sudo easy_install argparse 6 | 7 | This script should not be run manually, instead, after building as usual: 8 | 9 | make deploy 10 | 11 | During the process, the disk image window will pop up briefly where the fancy 12 | settings are applied. This is normal, please do not interfere. 13 | 14 | When finished, it will produce `Bitcoin-Core.dmg`. 15 | 16 | -------------------------------------------------------------------------------- /depends/patches/bdb/winioctl.patch: -------------------------------------------------------------------------------- 1 | commit b2c9b538fed1aa1d65b85b372f7a49f1878e9e3b 2 | Author: Fabien 3 | Date: Mon Oct 5 11:45:28 2020 +0200 4 | 5 | Fix winioctl.h case for MinGw 6 | 7 | diff --git a/dbinc/win_db.h b/dbinc/win_db.h 8 | index 6544558..6cb6878 100644 9 | --- a/dbinc/win_db.h 10 | +++ b/dbinc/win_db.h 11 | @@ -46,7 +46,7 @@ 12 | #include 13 | #include 14 | #ifndef DB_WINCE 15 | -#include 16 | +#include 17 | #endif 18 | 19 | #ifdef HAVE_GETADDRINFO 20 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_android_qmake_conf.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/mkspecs/android-clang/qmake.conf 2 | +++ new/qtbase/mkspecs/android-clang/qmake.conf 3 | @@ -47,7 +47,7 @@ ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so 4 | ANDROID_USE_LLVM = true 5 | 6 | exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \ 7 | - ANDROID_CXX_STL_LIBS = -lc++ 8 | + ANDROID_CXX_STL_LIBS = -lc++_shared 9 | else: \ 10 | ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "") 11 | -------------------------------------------------------------------------------- /src/qt/test/compattests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_COMPATTESTS_H 6 | #define BITCOIN_QT_TEST_COMPATTESTS_H 7 | 8 | #include 9 | #include 10 | 11 | class CompatTests : public QObject 12 | { 13 | Q_OBJECT 14 | 15 | private Q_SLOTS: 16 | void bswapTests(); 17 | }; 18 | 19 | #endif // BITCOIN_QT_TEST_COMPATTESTS_H 20 | -------------------------------------------------------------------------------- /contrib/spendfrom/setup.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013 The Bitcoin Core developers 2 | # Distributed under the MIT software license, see the accompanying 3 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | from distutils.core import setup 5 | setup(name='btcspendfrom', 6 | version='1.0', 7 | description='Command-line utility for bitcoin "coin control"', 8 | author='Gavin Andresen', 9 | author_email='gavin@bitcoinfoundation.org', 10 | requires=['jsonrpc'], 11 | scripts=['spendfrom.py'], 12 | ) 13 | -------------------------------------------------------------------------------- /src/qt/test/bitcoinaddressvalidatortests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 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_TEST_BITCOINADDRESSVALIDATORTESTS_H 6 | #define BITCOIN_QT_TEST_BITCOINADDRESSVALIDATORTESTS_H 7 | 8 | #include 9 | #include 10 | 11 | class BitcoinAddressValidatorTests : public QObject { 12 | Q_OBJECT 13 | 14 | private Q_SLOTS: 15 | void inputTests(); 16 | }; 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/secp256k1/ci/linux-debian.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:stable 2 | 3 | RUN dpkg --add-architecture i386 4 | RUN dpkg --add-architecture s390x 5 | RUN apt-get update 6 | 7 | # dkpg-dev: to make pkg-config work in cross-builds 8 | RUN apt-get install --no-install-recommends --no-upgrade -y \ 9 | git ca-certificates \ 10 | make automake libtool pkg-config dpkg-dev valgrind qemu-user \ 11 | gcc clang libc6-dbg \ 12 | gcc-i686-linux-gnu libc6-dev-i386-cross libc6-dbg:i386 \ 13 | gcc-s390x-linux-gnu libc6-dev-s390x-cross libc6-dbg:s390x 14 | -------------------------------------------------------------------------------- /depends/patches/libevent/0001-fix-windows-getaddrinfo.patch: -------------------------------------------------------------------------------- 1 | diff -ur libevent-2.1.8-stable.orig/configure.ac libevent-2.1.8-stable/configure.ac 2 | --- libevent-2.1.8-stable.orig/configure.ac 2017-01-29 17:51:00.000000000 +0000 3 | +++ libevent-2.1.8-stable/configure.ac 2020-03-07 01:11:16.311335005 +0000 4 | @@ -389,6 +389,10 @@ 5 | #ifdef HAVE_NETDB_H 6 | #include 7 | #endif 8 | +#ifdef _WIN32 9 | +#include 10 | +#include 11 | +#endif 12 | ]], 13 | [[ 14 | getaddrinfo; 15 | Only in libevent-2.1.8-stable: configure.ac~ 16 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/bench/bench_bitcoin.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "bench.h" 6 | 7 | #include "key.h" 8 | #include "main.h" 9 | #include "util.h" 10 | 11 | int 12 | main(int argc, char** argv) 13 | { 14 | ECC_Start(); 15 | SetupEnvironment(); 16 | fPrintToDebugLog = false; // don't want to write to debug.log file 17 | 18 | benchmark::BenchRunner::RunAll(); 19 | 20 | ECC_Stop(); 21 | } 22 | -------------------------------------------------------------------------------- /src/qt/test/guiutiltests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 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_TEST_GUIUTILTESTS_H 6 | #define BITCOIN_QT_TEST_GUIUTILTESTS_H 7 | 8 | #include 9 | #include 10 | 11 | class GUIUtilTests : public QObject { 12 | Q_OBJECT 13 | 14 | private Q_SLOTS: 15 | void dummyAddressTest(); 16 | void toCurrentEncodingTest(); 17 | }; 18 | 19 | #endif // BITCOIN_QT_TEST_GUIUTILTESTS_H 20 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Copyright (c) 2013-2016 The Bitcoin Core developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | set -e 7 | srcdir="$(dirname $0)" 8 | cd "$srcdir" 9 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then 10 | LIBTOOLIZE="${GLIBTOOLIZE}" 11 | export LIBTOOLIZE 12 | fi 13 | which autoreconf >/dev/null || \ 14 | (echo "configuration failed, please install autoconf first" && exit 1) 15 | autoreconf --install --force --warnings=all 16 | -------------------------------------------------------------------------------- /qa/pull-tester/tests_config.py.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 2013-2016 The Bitcoin Core developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | SRCDIR="@abs_top_srcdir@" 7 | BUILDDIR="@abs_top_builddir@" 8 | EXEEXT="@EXEEXT@" 9 | 10 | # These will turn into comments if they were disabled when configuring. 11 | @ENABLE_WALLET_TRUE@ENABLE_WALLET=1 12 | @BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=1 13 | @BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=1 14 | @ENABLE_ZMQ_TRUE@ENABLE_ZMQ=1 15 | -------------------------------------------------------------------------------- /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/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/test/data/txcreate2.json: -------------------------------------------------------------------------------- 1 | { 2 | "txid": "cf90229625e9eb10f6be8156bf6aa5ec2eca19a42b1e05c11f3029b560a32e13", 3 | "hash": "cf90229625e9eb10f6be8156bf6aa5ec2eca19a42b1e05c11f3029b560a32e13", 4 | "version": 1, 5 | "locktime": 0, 6 | "vin": [ 7 | ], 8 | "vout": [ 9 | { 10 | "value": 0.00, 11 | "n": 0, 12 | "scriptPubKey": { 13 | "asm": "", 14 | "hex": "", 15 | "type": "nonstandard" 16 | } 17 | } 18 | ], 19 | "hex": "01000000000100000000000000000000000000" 20 | } 21 | -------------------------------------------------------------------------------- /src/wallet/test/wallet_test_fixture.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_WALLET_TEST_FIXTURE_H 6 | #define BITCOIN_WALLET_TEST_FIXTURE_H 7 | 8 | #include "test/test_bitcoin.h" 9 | 10 | /** Testing setup and teardown for wallet. 11 | */ 12 | struct WalletTestingSetup: public TestingSetup { 13 | WalletTestingSetup(const std::string& chainName = CBaseChainParams::MAIN); 14 | ~WalletTestingSetup(); 15 | }; 16 | 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_no_printer.patch: -------------------------------------------------------------------------------- 1 | --- x/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h 2 | +++ y/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h 3 | @@ -52,6 +52,7 @@ 4 | // 5 | 6 | #include 7 | +#include 8 | 9 | #ifndef QT_NO_PRINTER 10 | 11 | --- x/qtbase/src/plugins/plugins.pro 12 | +++ y/qtbase/src/plugins/plugins.pro 13 | @@ -9,6 +9,3 @@ qtHaveModule(gui) { 14 | !android:qtConfig(library): SUBDIRS *= generic 15 | } 16 | qtHaveModule(widgets): SUBDIRS += styles 17 | - 18 | -!winrt:qtHaveModule(printsupport): \ 19 | - SUBDIRS += printsupport 20 | -------------------------------------------------------------------------------- /src/qt/test/uritests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_URITESTS_H 6 | #define BITCOIN_QT_TEST_URITESTS_H 7 | 8 | #include 9 | #include 10 | 11 | class URITests : public QObject 12 | { 13 | Q_OBJECT 14 | 15 | private Q_SLOTS: 16 | void uriTestsBase58(); 17 | void uriTestsCashAddr(); 18 | void uriTestFormatURI(); 19 | void uriTestScheme(); 20 | }; 21 | 22 | #endif // BITCOIN_QT_TEST_URITESTS_H 23 | -------------------------------------------------------------------------------- /contrib/verifybinaries/README.md: -------------------------------------------------------------------------------- 1 | ### Verify Binaries 2 | This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org. 3 | 4 | It first checks if the signature passes, and then downloads the files specified in the file, and checks if the hashes of these files match those that are specified in the signature file. 5 | 6 | The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2. 7 | 8 | Usage: 9 | 10 | ```sh 11 | ./verify.sh bitcoin-core-0.11.2 12 | ./verify.sh bitcoin-core-0.12.0 13 | ``` 14 | -------------------------------------------------------------------------------- /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 | uint32_t Hash(const char* data, size_t n, uint32_t seed); 16 | 17 | } // namespace leveldb 18 | 19 | #endif // STORAGE_LEVELDB_UTIL_HASH_H_ 20 | -------------------------------------------------------------------------------- /src/zmq/zmqabstractnotifier.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "zmqabstractnotifier.h" 6 | #include "util.h" 7 | 8 | 9 | CZMQAbstractNotifier::~CZMQAbstractNotifier() 10 | { 11 | assert(!psocket); 12 | } 13 | 14 | bool CZMQAbstractNotifier::NotifyBlock(const CBlockIndex * /*CBlockIndex*/) 15 | { 16 | return true; 17 | } 18 | 19 | bool CZMQAbstractNotifier::NotifyTransaction(const CTransaction &/*transaction*/) 20 | { 21 | return true; 22 | } 23 | -------------------------------------------------------------------------------- /src/zmq/zmqconfig.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_ZMQ_ZMQCONFIG_H 6 | #define BITCOIN_ZMQ_ZMQCONFIG_H 7 | 8 | #if defined(HAVE_CONFIG_H) 9 | #include "config/bitcoin-config.h" 10 | #endif 11 | 12 | #include 13 | #include 14 | 15 | #if ENABLE_ZMQ 16 | #include 17 | #endif 18 | 19 | #include "primitives/block.h" 20 | #include "primitives/transaction.h" 21 | 22 | void zmqError(const char *str); 23 | 24 | #endif // BITCOIN_ZMQ_ZMQCONFIG_H 25 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_android_pch.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/mkspecs/common/android-base-head.conf 2 | +++ new/qtbase/mkspecs/common/android-base-head.conf 3 | @@ -73,6 +73,6 @@ CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX- 4 | QMAKE_PCH_OUTPUT_EXT = .gch 5 | 6 | QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} 7 | -QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} 8 | +QMAKE_CFLAGS_USE_PRECOMPILE = -include-pch ${QMAKE_PCH_OUTPUT} 9 | QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} 10 | QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE 11 | -------------------------------------------------------------------------------- /depends/packages/xcb_proto.mk: -------------------------------------------------------------------------------- 1 | package=xcb_proto 2 | $(package)_version=1.15.2 3 | $(package)_download_path=https://xcb.freedesktop.org/dist 4 | $(package)_file_name=xcb-proto-$($(package)_version).tar.xz 5 | $(package)_sha256_hash=7072beb1f680a2fe3f9e535b797c146d22528990c72f63ddb49d2f350a3653ed 6 | 7 | define $(package)_config_cmds 8 | $($(package)_autoconf) 9 | endef 10 | 11 | define $(package)_build_cmds 12 | $(MAKE) 13 | endef 14 | 15 | define $(package)_stage_cmds 16 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 17 | endef 18 | 19 | define $(package)_postprocess_cmds 20 | find -name "*.pyc" -delete && \ 21 | find -name "*.pyo" -delete 22 | endef 23 | -------------------------------------------------------------------------------- /src/qt/test/rpcnestedtests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_RPC_NESTED_TESTS_H 6 | #define BITCOIN_QT_TEST_RPC_NESTED_TESTS_H 7 | 8 | #include 9 | #include 10 | 11 | #include "txdb.h" 12 | #include "txmempool.h" 13 | 14 | class RPCNestedTests : public QObject 15 | { 16 | Q_OBJECT 17 | 18 | private Q_SLOTS: 19 | void rpcNestedTests(); 20 | 21 | private: 22 | CCoinsViewDB *pcoinsdbview; 23 | }; 24 | 25 | #endif // BITCOIN_QT_TEST_RPC_NESTED_TESTS_H 26 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h: -------------------------------------------------------------------------------- 1 | /* DO NOT EDIT THIS FILE - it is machine generated */ 2 | #include 3 | #include "include/secp256k1.h" 4 | /* Header for class org_bitcoin_Secp256k1Context */ 5 | 6 | #ifndef _Included_org_bitcoin_Secp256k1Context 7 | #define _Included_org_bitcoin_Secp256k1Context 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | /* 12 | * Class: org_bitcoin_Secp256k1Context 13 | * Method: secp256k1_init_context 14 | * Signature: ()J 15 | */ 16 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 17 | (JNIEnv *, jclass); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | #endif 23 | -------------------------------------------------------------------------------- /src/torcontrol.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | /** 6 | * Functionality for communicating with Tor. 7 | */ 8 | #ifndef BITCOIN_TORCONTROL_H 9 | #define BITCOIN_TORCONTROL_H 10 | 11 | #include "scheduler.h" 12 | 13 | extern const std::string DEFAULT_TOR_CONTROL; 14 | static const bool DEFAULT_LISTEN_ONION = true; 15 | 16 | void StartTorControl(boost::thread_group& threadGroup, CScheduler& scheduler); 17 | void InterruptTorControl(); 18 | void StopTorControl(); 19 | 20 | #endif /* BITCOIN_TORCONTROL_H */ 21 | -------------------------------------------------------------------------------- /src/secp256k1/src/basic-config.h: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or https://www.opensource.org/licenses/mit-license.php.* 5 | ***********************************************************************/ 6 | 7 | #ifndef SECP256K1_BASIC_CONFIG_H 8 | #define SECP256K1_BASIC_CONFIG_H 9 | 10 | #ifdef USE_BASIC_CONFIG 11 | 12 | #define ECMULT_WINDOW_SIZE 15 13 | #define ECMULT_GEN_PREC_BITS 4 14 | 15 | #endif /* USE_BASIC_CONFIG */ 16 | 17 | #endif /* SECP256K1_BASIC_CONFIG_H */ 18 | -------------------------------------------------------------------------------- /src/qt/coincontroltreewidget.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_COINCONTROLTREEWIDGET_H 6 | #define BITCOIN_QT_COINCONTROLTREEWIDGET_H 7 | 8 | #include 9 | #include 10 | 11 | class CoinControlTreeWidget : public QTreeWidget 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit CoinControlTreeWidget(QWidget *parent = 0); 17 | 18 | protected: 19 | virtual void keyPressEvent(QKeyEvent *event); 20 | }; 21 | 22 | #endif // BITCOIN_QT_COINCONTROLTREEWIDGET_H 23 | -------------------------------------------------------------------------------- /depends/packages/native_ds_store.mk: -------------------------------------------------------------------------------- 1 | package=native_ds_store 2 | $(package)_version=1.3.0 3 | $(package)_download_path=https://github.com/al45tair/ds_store/archive/ 4 | $(package)_file_name=v$($(package)_version).tar.gz 5 | $(package)_sha256_hash=76b3280cd4e19e5179defa23fb594a9dd32643b0c80d774bd3108361d94fb46d 6 | $(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages 7 | 8 | define $(package)_build_cmds 9 | python3 setup.py build 10 | endef 11 | 12 | define $(package)_stage_cmds 13 | mkdir -p $($(package)_install_libdir) && \ 14 | python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) 15 | endef 16 | -------------------------------------------------------------------------------- /depends/packages/native_mac_alias.mk: -------------------------------------------------------------------------------- 1 | package=native_mac_alias 2 | $(package)_version=2.2.0 3 | $(package)_download_path=https://github.com/al45tair/mac_alias/archive/ 4 | $(package)_file_name=v$($(package)_version).tar.gz 5 | $(package)_sha256_hash=421e6d7586d1f155c7db3e7da01ca0dacc9649a509a253ad7077b70174426499 6 | $(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages 7 | 8 | define $(package)_build_cmds 9 | python3 setup.py build 10 | endef 11 | 12 | define $(package)_stage_cmds 13 | mkdir -p $($(package)_install_libdir) && \ 14 | python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) 15 | endef 16 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_android_jni_static.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp 2 | +++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp 3 | @@ -898,6 +898,14 @@ 4 | __android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed"); 5 | return -1; 6 | } 7 | + 8 | + const jint ret = QT_PREPEND_NAMESPACE(QtAndroidPrivate::initJNI(vm, env)); 9 | + if (ret != 0) 10 | + { 11 | + __android_log_print(ANDROID_LOG_FATAL, "Qt", "initJNI failed"); 12 | + return ret; 13 | + } 14 | + 15 | QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse(false); 16 | 17 | m_javaVM = vm; 18 | 19 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/utiltime.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2015 The Bitcoin Core developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_UTILTIME_H 7 | #define BITCOIN_UTILTIME_H 8 | 9 | #include 10 | #include 11 | 12 | int64_t GetTime(); 13 | int64_t GetTimeMillis(); 14 | int64_t GetTimeMicros(); 15 | int64_t GetLogTimeMicros(); 16 | void SetMockTime(int64_t nMockTimeIn); 17 | void MilliSleep(int64_t n); 18 | 19 | std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime); 20 | 21 | #endif // BITCOIN_UTILTIME_H 22 | -------------------------------------------------------------------------------- /depends/packages/native_biplist.mk: -------------------------------------------------------------------------------- 1 | package=native_biplist 2 | $(package)_version=1.0.3 3 | $(package)_download_path=https://bitbucket.org/wooster/biplist/downloads 4 | $(package)_file_name=biplist-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=4c0549764c5fe50b28042ec21aa2e14fe1a2224e239a1dae77d9e7f3932aa4c6 6 | $(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages 7 | 8 | define $(package)_build_cmds 9 | python3 setup.py build 10 | endef 11 | 12 | define $(package)_stage_cmds 13 | mkdir -p $($(package)_install_libdir) && \ 14 | python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) 15 | endef 16 | -------------------------------------------------------------------------------- /depends/packages/native_ccache.mk: -------------------------------------------------------------------------------- 1 | package=native_ccache 2 | $(package)_version=3.5 3 | $(package)_download_path=https://samba.org/ftp/ccache 4 | $(package)_file_name=ccache-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=3a4c81a05b6c98d4e671e00b15f09718da6afabfbeeace9030b067aee1395e66 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 | -------------------------------------------------------------------------------- /src/secp256k1/src/num_gmp.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef _SECP256K1_NUM_REPR_ 8 | #define _SECP256K1_NUM_REPR_ 9 | 10 | #include 11 | 12 | #define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) 13 | 14 | typedef struct { 15 | mp_limb_t data[2*NUM_LIMBS]; 16 | int neg; 17 | int limbs; 18 | } secp256k1_num; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /src/rpc/client.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2015 The Bitcoin Core developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_RPCCLIENT_H 7 | #define BITCOIN_RPCCLIENT_H 8 | 9 | #include 10 | 11 | UniValue RPCConvertValues(const std::string& strMethod, const std::vector& strParams); 12 | /** Non-RFC4627 JSON parser, accepts internal values (such as numbers, true, false, null) 13 | * as well as objects and arrays. 14 | */ 15 | UniValue ParseNonRFCJSONValue(const std::string& strVal); 16 | 17 | #endif // BITCOIN_RPCCLIENT_H 18 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/utilmoneystr.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2015 The Bitcoin Core developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | /** 7 | * Money parsing/formatting utilities. 8 | */ 9 | #ifndef BITCOIN_UTILMONEYSTR_H 10 | #define BITCOIN_UTILMONEYSTR_H 11 | 12 | #include 13 | #include 14 | 15 | #include "amount.h" 16 | #include "utilstrencodings.h" 17 | 18 | std::string FormatMoney(const CAmount& n); 19 | bool ParseMoney(const std::string& str, CAmount& nRet); 20 | bool ParseMoney(const char* pszIn, CAmount& nRet); 21 | 22 | #endif // BITCOIN_UTILMONEYSTR_H 23 | -------------------------------------------------------------------------------- /src/qt/macdockiconhandler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_MACDOCKICONHANDLER_H 6 | #define BITCOIN_QT_MACDOCKICONHANDLER_H 7 | 8 | #include 9 | 10 | /** macOS-specific Dock icon handler. 11 | */ 12 | class MacDockIconHandler : public QObject 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | static MacDockIconHandler *instance(); 18 | static void cleanup(); 19 | 20 | Q_SIGNALS: 21 | void dockIconClicked(); 22 | 23 | private: 24 | MacDockIconHandler(); 25 | }; 26 | 27 | #endif // BITCOIN_QT_MACDOCKICONHANDLER_H 28 | -------------------------------------------------------------------------------- /contrib/verify-commits/pre-push-hook.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (c) 2014-2015 The Bitcoin Core developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | if ! [[ "$2" =~ ^(git@)?(www.)?github.com(:|/)bitcoin/bitcoin(.git)?$ ]]; then 7 | exit 0 8 | fi 9 | 10 | while read LINE; do 11 | set -- A $LINE 12 | if [ "$4" != "refs/heads/master" ]; then 13 | continue 14 | fi 15 | if ! ./contrib/verify-commits/verify-commits.sh $3 > /dev/null 2>&1; then 16 | echo "ERROR: A commit is not signed, can't push" 17 | ./contrib/verify-commits/verify-commits.sh 18 | exit 1 19 | fi 20 | done < /dev/stdin 21 | -------------------------------------------------------------------------------- /depends/packages/native_b2.mk: -------------------------------------------------------------------------------- 1 | package=native_b2 2 | $(package)_version=$(boost_version) 3 | $(package)_download_path=$(boost_download_path) 4 | $(package)_file_name=$(boost_file_name) 5 | $(package)_sha256_hash=$(boost_sha256_hash) 6 | $(package)_build_subdir=tools/build/src/engine 7 | ifneq (,$(findstring clang,$($(package)_cxx))) 8 | $(package)_toolset_$(host_os)=clang 9 | else 10 | $(package)_toolset_$(host_os)=gcc 11 | endif 12 | 13 | define $(package)_build_cmds 14 | CXX="$($(package)_cxx)" CXXFLAGS="$($(package)_cxxflags)" ./build.sh "$($(package)_toolset_$(host_os))" 15 | endef 16 | 17 | define $(package)_stage_cmds 18 | mkdir -p "$($(package)_staging_prefix_dir)"/bin/ && \ 19 | cp b2 "$($(package)_staging_prefix_dir)"/bin/ 20 | endef 21 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_low.h: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or https://www.opensource.org/licenses/mit-license.php.* 5 | ***********************************************************************/ 6 | 7 | #ifndef SECP256K1_SCALAR_REPR_H 8 | #define SECP256K1_SCALAR_REPR_H 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef uint32_t secp256k1_scalar; 14 | 15 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) (d0) 16 | 17 | #endif /* SECP256K1_SCALAR_REPR_H */ 18 | -------------------------------------------------------------------------------- /src/univalue/README.md: -------------------------------------------------------------------------------- 1 | 2 | # UniValue 3 | 4 | ## Summary 5 | 6 | A universal value class, with JSON encoding and decoding. 7 | 8 | UniValue is an abstract data type that may be a null, boolean, string, 9 | number, array container, or a key/value dictionary container, nested to 10 | an arbitrary depth. 11 | 12 | This class is aligned with the JSON standard, [RFC 13 | 7159](https://tools.ietf.org/html/rfc7159.html). 14 | 15 | ## Library usage 16 | 17 | This is a fork of univalue used by Bitcoin Core. It is not maintained for usage 18 | by other projects. Notably, the API may break in non-backward-compatible ways. 19 | 20 | Other projects looking for a maintained library should use the upstream 21 | univalue at https://github.com/jgarzik/univalue. 22 | -------------------------------------------------------------------------------- /src/secp256k1/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | To report security issues send an email to secp256k1-security@bitcoincore.org (not for support). 6 | 7 | The following keys may be used to communicate sensitive information to developers: 8 | 9 | | Name | Fingerprint | 10 | |------|-------------| 11 | | Pieter Wuille | 133E AC17 9436 F14A 5CF1 B794 860F EB80 4E66 9320 | 12 | | Andrew Poelstra | 699A 63EF C17A D3A9 A34C FFC0 7AD0 A91C 40BD 0091 | 13 | | Tim Ruffing | 09E0 3F87 1092 E40E 106E 902B 33BC 86AB 80FF 5516 | 14 | 15 | You can import a key by running the following command with that individual’s fingerprint: `gpg --recv-keys ""` Ensure that you put quotes around fingerprints containing spaces. 16 | -------------------------------------------------------------------------------- /src/test/sanity_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "compat/sanity.h" 6 | #include "key.h" 7 | #include "test/test_bitcoin.h" 8 | 9 | #include 10 | 11 | BOOST_FIXTURE_TEST_SUITE(sanity_tests, BasicTestingSetup) 12 | 13 | BOOST_AUTO_TEST_CASE(basic_sanity) 14 | { 15 | BOOST_CHECK_MESSAGE(glibc_sanity_test() == true, "libc sanity test"); 16 | BOOST_CHECK_MESSAGE(glibcxx_sanity_test() == true, "stdlib sanity test"); 17 | BOOST_CHECK_MESSAGE(ECC_InitSanityCheck() == true, "openssl ECC test"); 18 | } 19 | 20 | BOOST_AUTO_TEST_SUITE_END() 21 | -------------------------------------------------------------------------------- /depends/packages/xextproto.mk: -------------------------------------------------------------------------------- 1 | package=xextproto 2 | $(package)_version=7.3.0 3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/proto 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0 6 | 7 | define $(package)_preprocess_cmds 8 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . 9 | endef 10 | 11 | define $(package)_set_vars 12 | $(package)_config_opts=--disable-shared 13 | endef 14 | 15 | define $(package)_config_cmds 16 | $($(package)_autoconf) 17 | endef 18 | 19 | define $(package)_build_cmds 20 | $(MAKE) 21 | endef 22 | 23 | define $(package)_stage_cmds 24 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 25 | endef 26 | -------------------------------------------------------------------------------- /src/fs.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_FS_H 6 | #define BITCOIN_FS_H 7 | 8 | #include 9 | #include 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | /** Filesystem operations and types */ 16 | namespace fs = boost::filesystem; 17 | 18 | /** Bridge operations to C stdio */ 19 | namespace fsbridge { 20 | FILE *fopen(const fs::path& p, const char *mode); 21 | FILE *freopen(const fs::path& p, const char *mode, FILE *stream); 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /doc/unit-tests.md: -------------------------------------------------------------------------------- 1 | Compiling/running unit tests 2 | ------------------------------------ 3 | 4 | Unit tests will be automatically compiled if dependencies were met in `./configure` 5 | and tests weren't explicitly disabled. 6 | 7 | After configuring, they can be run with `make check`. 8 | 9 | To run the bitcoind tests manually, launch `src/test/test_bitcoin`. 10 | 11 | To add more bitcoind tests, add `BOOST_AUTO_TEST_CASE` functions to the existing 12 | .cpp files in the `test/` directory or add new .cpp files that 13 | implement new BOOST_AUTO_TEST_SUITE sections. 14 | 15 | To run the bitcoin-qt tests manually, launch `src/qt/test/test_bitcoin-qt` 16 | 17 | To add more bitcoin-qt tests, add them to the `src/qt/test/` directory and 18 | the `src/qt/test/test_main.cpp` file. 19 | -------------------------------------------------------------------------------- /src/crypto/sha1.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_SHA1_H 6 | #define BITCOIN_CRYPTO_SHA1_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for SHA1. */ 12 | class CSHA1 13 | { 14 | private: 15 | uint32_t s[5]; 16 | unsigned char buf[64]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 20; 21 | 22 | CSHA1(); 23 | CSHA1& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CSHA1& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_SHA1_H 29 | -------------------------------------------------------------------------------- /src/config.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 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 | #include "config.h" 6 | #include "chainparams.h" 7 | #include "consensus/consensus.h" 8 | 9 | GlobalConfig::GlobalConfig() : useCashAddr(false) {} 10 | const CChainParams &GlobalConfig::GetChainParams() const { return Params(); } 11 | static GlobalConfig gConfig; 12 | 13 | const Config &GetConfig() { return gConfig; } 14 | void GlobalConfig::SetCashAddrEncoding(bool c) { useCashAddr = c; } 15 | bool GlobalConfig::UseCashAddrEncoding() const { return useCashAddr; } 16 | const CChainParams &DummyConfig::GetChainParams() const { return Params(CBaseChainParams::REGTEST); } 17 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/crypto/sha256.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_SHA256_H 6 | #define BITCOIN_CRYPTO_SHA256_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for SHA-256. */ 12 | class CSHA256 13 | { 14 | private: 15 | uint32_t s[8]; 16 | unsigned char buf[64]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 32; 21 | 22 | CSHA256(); 23 | CSHA256& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CSHA256& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_SHA256_H 29 | -------------------------------------------------------------------------------- /src/crypto/sha512.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_SHA512_H 6 | #define BITCOIN_CRYPTO_SHA512_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for SHA-512. */ 12 | class CSHA512 13 | { 14 | private: 15 | uint64_t s[8]; 16 | unsigned char buf[128]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 64; 21 | 22 | CSHA512(); 23 | CSHA512& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CSHA512& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_SHA512_H 29 | -------------------------------------------------------------------------------- /src/leveldb/.clang-format: -------------------------------------------------------------------------------- 1 | # Run manually to reformat a file: 2 | # clang-format -i --style=file 3 | # find . -iname '*.cc' -o -iname '*.h' -o -iname '*.h.in' | xargs clang-format -i --style=file 4 | BasedOnStyle: Google 5 | DerivePointerAlignment: false 6 | 7 | # Public headers are in a different location in the internal Google repository. 8 | # Order them so that when imported to the authoritative repository they will be 9 | # in correct alphabetical order. 10 | IncludeCategories: 11 | - Regex: '^(<|"(benchmarks|db|helpers)/)' 12 | Priority: 1 13 | - Regex: '^"(leveldb)/' 14 | Priority: 2 15 | - Regex: '^(<|"(issues|port|table|third_party|util)/)' 16 | Priority: 3 17 | - Regex: '.*' 18 | Priority: 4 19 | -------------------------------------------------------------------------------- /depends/packages/xtrans.mk: -------------------------------------------------------------------------------- 1 | package=xtrans 2 | $(package)_version=1.3.4 3 | $(package)_download_path=https://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)_preprocess_cmds 13 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . 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 | -------------------------------------------------------------------------------- /src/qt/test/compattests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "paymentrequestplus.h" // this includes protobuf's port.h which defines its own bswap macos 6 | 7 | #include "compattests.h" 8 | 9 | #include "compat/byteswap.h" 10 | 11 | void CompatTests::bswapTests() 12 | { 13 | // Sibling in bitcoin/src/test/bswap_tests.cpp 14 | uint16_t u1 = 0x1234; 15 | uint32_t u2 = 0x56789abc; 16 | uint64_t u3 = 0xdef0123456789abc; 17 | uint16_t e1 = 0x3412; 18 | uint32_t e2 = 0xbc9a7856; 19 | uint64_t e3 = 0xbc9a78563412f0de; 20 | QVERIFY(bswap_16(u1) == e1); 21 | QVERIFY(bswap_32(u2) == e2); 22 | QVERIFY(bswap_64(u3) == e3); 23 | } 24 | -------------------------------------------------------------------------------- /src/univalue/test/test_json.cpp: -------------------------------------------------------------------------------- 1 | // Test program that can be called by the JSON test suite at 2 | // https://github.com/nst/JSONTestSuite. 3 | // 4 | // It reads JSON input from stdin and exits with code 0 if it can be parsed 5 | // successfully. It also pretty prints the parsed JSON value to stdout. 6 | 7 | #include 8 | #include 9 | #include "univalue.h" 10 | 11 | using namespace std; 12 | 13 | int main (int argc, char *argv[]) 14 | { 15 | UniValue val; 16 | if (val.read(string(istreambuf_iterator(cin), 17 | istreambuf_iterator()))) { 18 | cout << val.write(1 /* prettyIndent */, 4 /* indentLevel */) << endl; 19 | return 0; 20 | } else { 21 | cerr << "JSON Parse Error." << endl; 22 | return 1; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_powerpc_libpng.patch: -------------------------------------------------------------------------------- 1 | commit 6f9feb773a43c5abfa3455da2e324180e789285b 2 | Author: fanquake 3 | Date: Tue Sep 15 21:44:31 2020 +0800 4 | 5 | Fix PowerPC build of libpng 6 | 7 | See https://bugreports.qt.io/browse/QTBUG-66388. 8 | 9 | Can be dropped when we are building qt 5.12.0 or later. 10 | 11 | diff --git a/qtbase/src/3rdparty/libpng/libpng.pro b/qtbase/src/3rdparty/libpng/libpng.pro 12 | index 577b61d8..a2f56669 100644 13 | --- a/qtbase/src/3rdparty/libpng/libpng.pro 14 | +++ b/qtbase/src/3rdparty/libpng/libpng.pro 15 | @@ -10,7 +10,7 @@ MODULE_INCLUDEPATH = $$PWD 16 | 17 | load(qt_helper_lib) 18 | 19 | -DEFINES += PNG_ARM_NEON_OPT=0 20 | +DEFINES += PNG_ARM_NEON_OPT=0 PNG_POWERPC_VSX_OPT=0 21 | SOURCES += \ 22 | png.c \ 23 | pngerror.c \ 24 | -------------------------------------------------------------------------------- /src/crypto/ripemd160.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CRYPTO_RIPEMD160_H 6 | #define BITCOIN_CRYPTO_RIPEMD160_H 7 | 8 | #include 9 | #include 10 | 11 | /** A hasher class for RIPEMD-160. */ 12 | class CRIPEMD160 13 | { 14 | private: 15 | uint32_t s[5]; 16 | unsigned char buf[64]; 17 | uint64_t bytes; 18 | 19 | public: 20 | static const size_t OUTPUT_SIZE = 20; 21 | 22 | CRIPEMD160(); 23 | CRIPEMD160& Write(const unsigned char* data, size_t len); 24 | void Finalize(unsigned char hash[OUTPUT_SIZE]); 25 | CRIPEMD160& Reset(); 26 | }; 27 | 28 | #endif // BITCOIN_CRYPTO_RIPEMD160_H 29 | -------------------------------------------------------------------------------- /depends/packages/libXext.mk: -------------------------------------------------------------------------------- 1 | package=libXext 2 | $(package)_version=1.3.2 3 | $(package)_download_path=https://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)_preprocess_cmds 13 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . 14 | endef 15 | 16 | define $(package)_config_cmds 17 | $($(package)_autoconf) 18 | endef 19 | 20 | define $(package)_build_cmds 21 | $(MAKE) 22 | endef 23 | 24 | define $(package)_stage_cmds 25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 26 | endef 27 | -------------------------------------------------------------------------------- /depends/packages/native_libtapi.mk: -------------------------------------------------------------------------------- 1 | package=native_libtapi 2 | $(package)_version=664b8414f89612f2dfd35a9b679c345aa5389026 3 | $(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive 4 | $(package)_file_name=$($(package)_version).tar.gz 5 | $(package)_sha256_hash=62e419c12d1c9fad67cc1cd523132bc00db050998337c734c15bc8d73cc02b61 6 | 7 | ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),) 8 | $(package)_dependencies=native_clang 9 | endif 10 | 11 | define $(package)_build_cmds 12 | CC=$(clang_prog) CXX=$(clangxx_prog) INSTALLPREFIX=$($(package)_staging_prefix_dir) ./build.sh 13 | endef 14 | 15 | define $(package)_stage_cmds 16 | ./install.sh && \ 17 | mkdir -p $($(package)_staging_prefix_dir)/include/llvm-c && \ 18 | cp src/llvm/include/llvm-c/lto.h $($(package)_staging_prefix_dir)/include/llvm-c 19 | endef 20 | -------------------------------------------------------------------------------- /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) || defined(LEVELDB_PLATFORM_WINDOWS) 14 | #include "port/port_stdcxx.h" 15 | #elif defined(LEVELDB_PLATFORM_CHROMIUM) 16 | #include "port/port_chromium.h" 17 | #endif 18 | 19 | #endif // STORAGE_LEVELDB_PORT_PORT_H_ 20 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_8x32.h: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | * Copyright (c) 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or https://www.opensource.org/licenses/mit-license.php.* 5 | ***********************************************************************/ 6 | 7 | #ifndef SECP256K1_SCALAR_REPR_H 8 | #define SECP256K1_SCALAR_REPR_H 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint32_t d[8]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{(d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)}} 18 | 19 | #endif /* SECP256K1_SCALAR_REPR_H */ 20 | -------------------------------------------------------------------------------- /src/ui_interface.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2010-2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "ui_interface.h" 6 | #include "util.h" 7 | 8 | CClientUIInterface uiInterface; 9 | 10 | bool InitError(const std::string& str) 11 | { 12 | uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_ERROR); 13 | return false; 14 | } 15 | 16 | void InitWarning(const std::string& str) 17 | { 18 | uiInterface.ThreadSafeMessageBox(str, "", CClientUIInterface::MSG_WARNING); 19 | } 20 | 21 | std::string AmountErrMsg(const char* const optname, const std::string& strValue) 22 | { 23 | return strprintf(_("Invalid amount for -%s=: '%s'"), optname, strValue); 24 | } 25 | -------------------------------------------------------------------------------- /src/pow.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2015 The Bitcoin Core developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_POW_H 7 | #define BITCOIN_POW_H 8 | 9 | #include "consensus/params.h" 10 | 11 | #include 12 | 13 | class CBlockHeader; 14 | class CBlockIndex; 15 | class uint256; 16 | 17 | unsigned int GetNextTargetRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params&, bool fProofOfStake); 18 | 19 | /** Check whether a block hash satisfies the proof-of-work requirement specified by nBits */ 20 | bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params&); 21 | 22 | #endif // BITCOIN_POW_H 23 | -------------------------------------------------------------------------------- /depends/packages/packages.mk: -------------------------------------------------------------------------------- 1 | packages:=boost openssl libevent 2 | 3 | protobuf_native_packages = native_protobuf 4 | protobuf_packages = protobuf 5 | 6 | qrencode_packages = qrencode 7 | 8 | qt_linux_packages:=qt expat libxcb xcb_proto libXau xproto freetype fontconfig libxkbcommon 9 | 10 | qt_android_packages=qt 11 | qt_darwin_packages=qt 12 | qt_mingw32_packages=qt 13 | 14 | wallet_packages=bdb 15 | 16 | zmq_packages=zeromq 17 | 18 | upnp_packages=miniupnpc 19 | 20 | darwin_native_packages = native_ds_store native_mac_alias 21 | 22 | $(host_arch)_$(host_os)_native_packages += native_b2 23 | 24 | ifneq ($(build_os),darwin) 25 | darwin_native_packages += native_cctools native_libtapi native_libdmg-hfsplus 26 | 27 | ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),) 28 | darwin_native_packages+= native_clang 29 | endif 30 | 31 | endif 32 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /qa/rpc-tests/create_cache.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 2016 The Bitcoin Core developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | # 7 | # Helper script to create the cache 8 | # (see BitcoinTestFramework.setup_chain) 9 | # 10 | 11 | from test_framework.test_framework import BitcoinTestFramework 12 | 13 | class CreateCache(BitcoinTestFramework): 14 | 15 | def __init__(self): 16 | super().__init__() 17 | 18 | # Test network and test nodes are not required: 19 | self.num_nodes = 0 20 | self.nodes = [] 21 | 22 | def setup_network(self): 23 | pass 24 | 25 | def run_test(self): 26 | pass 27 | 28 | if __name__ == '__main__': 29 | CreateCache().main() 30 | -------------------------------------------------------------------------------- /depends/packages/native_protobuf.mk: -------------------------------------------------------------------------------- 1 | package=native_protobuf 2 | $(package)_version=3.20.2 3 | $(package)_download_path=https://github.com/google/protobuf/releases/download/v$($(package)_version) 4 | $(package)_file_name=protobuf-cpp-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=a0167e2ba24bba0a180fbc9392f3a43e749d7a26e630fe9c1a1ba32a53675ac3 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--disable-shared --without-zlib 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) -C src protoc 18 | endef 19 | 20 | define $(package)_stage_cmds 21 | $(MAKE) -C src DESTDIR=$($(package)_staging_dir) install-strip 22 | endef 23 | 24 | define $(package)_postprocess_cmds 25 | rm -rf lib include 26 | endef 27 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_riscv64_arch.patch: -------------------------------------------------------------------------------- 1 | diff --git a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h 2 | index 20bfd36..93729fa 100644 3 | --- a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h 4 | +++ b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h 5 | @@ -65,7 +65,8 @@ 6 | defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ 7 | defined(__SH4__) || defined(__alpha__) || \ 8 | defined(_MIPS_ARCH_MIPS32R2) || \ 9 | - defined(__AARCH64EL__) 10 | + defined(__AARCH64EL__) || defined(__aarch64__) || \ 11 | + defined(__riscv) 12 | #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 13 | #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) 14 | #if defined(_WIN32) 15 | -------------------------------------------------------------------------------- /src/qt/res/src/tx_in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /contrib/bitcoin-qt.pro: -------------------------------------------------------------------------------- 1 | FORMS += \ 2 | ../src/qt/forms/aboutdialog.ui \ 3 | ../src/qt/forms/addressbookpage.ui \ 4 | ../src/qt/forms/askpassphrasedialog.ui \ 5 | ../src/qt/forms/coincontroldialog.ui \ 6 | ../src/qt/forms/editaddressdialog.ui \ 7 | ../src/qt/forms/helpmessagedialog.ui \ 8 | ../src/qt/forms/intro.ui \ 9 | ../src/qt/forms/openuridialog.ui \ 10 | ../src/qt/forms/optionsdialog.ui \ 11 | ../src/qt/forms/overviewpage.ui \ 12 | ../src/qt/forms/receivecoinsdialog.ui \ 13 | ../src/qt/forms/receiverequestdialog.ui \ 14 | ../src/qt/forms/debugwindow.ui \ 15 | ../src/qt/forms/sendcoinsdialog.ui \ 16 | ../src/qt/forms/sendcoinsentry.ui \ 17 | ../src/qt/forms/signverifymessagedialog.ui \ 18 | ../src/qt/forms/transactiondescdialog.ui \ 19 | 20 | RESOURCES += \ 21 | ../src/qt/bitcoin.qrc 22 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_rcc_determinism.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/src/tools/rcc/rcc.cpp 2 | +++ new/qtbase/src/tools/rcc/rcc.cpp 3 | @@ -207,7 +207,11 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib) 4 | if (lib.formatVersion() >= 2) { 5 | // last modified time stamp 6 | const QDateTime lastModified = m_fileInfo.lastModified(); 7 | - lib.writeNumber8(quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0)); 8 | + quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0); 9 | + static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong(); 10 | + if (sourceDate != 0) 11 | + lastmod = sourceDate; 12 | + lib.writeNumber8(lastmod); 13 | if (text || pass1) 14 | lib.writeChar('\n'); 15 | } 16 | -------------------------------------------------------------------------------- /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 | #include "leveldb/export.h" 9 | 10 | namespace leveldb { 11 | 12 | class Env; 13 | 14 | // Returns a new environment that stores its data in memory and delegates 15 | // all non-file-storage tasks to base_env. The caller must delete the result 16 | // when it is no longer needed. 17 | // *base_env must remain live while the result is in use. 18 | LEVELDB_EXPORT Env* NewMemEnv(Env* base_env); 19 | 20 | } // namespace leveldb 21 | 22 | #endif // STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_ 23 | -------------------------------------------------------------------------------- /src/test/bswap_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "compat/byteswap.h" 6 | #include "test/test_bitcoin.h" 7 | 8 | #include 9 | 10 | BOOST_FIXTURE_TEST_SUITE(bswap_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(bswap_tests) 13 | { 14 | // Sibling in bitcoin/src/qt/test/compattests.cpp 15 | uint16_t u1 = 0x1234; 16 | uint32_t u2 = 0x56789abc; 17 | uint64_t u3 = 0xdef0123456789abc; 18 | uint16_t e1 = 0x3412; 19 | uint32_t e2 = 0xbc9a7856; 20 | uint64_t e3 = 0xbc9a78563412f0de; 21 | BOOST_CHECK(bswap_16(u1) == e1); 22 | BOOST_CHECK(bswap_32(u2) == e2); 23 | BOOST_CHECK(bswap_64(u3) == e3); 24 | } 25 | 26 | BOOST_AUTO_TEST_SUITE_END() 27 | -------------------------------------------------------------------------------- /depends/patches/boost/unused_var_in_process.patch: -------------------------------------------------------------------------------- 1 | commit dbd95cdaefdea95307d004f019a1c394cf9389f0 2 | Author: fanquake 3 | Date: Mon Aug 17 20:15:17 2020 +0800 4 | 5 | Remove unused variable in Boost Process 6 | 7 | This causes issues with our linters / CI. 8 | 9 | Can be removed once depends Boost is 1.71.0 or later. 10 | 11 | diff --git a/boost/process/detail/posix/wait_group.hpp b/boost/process/detail/posix/wait_group.hpp 12 | index 9dc249803..2502d9772 100644 13 | --- a/boost/process/detail/posix/wait_group.hpp 14 | +++ b/boost/process/detail/posix/wait_group.hpp 15 | @@ -137,7 +137,6 @@ inline bool wait_until( 16 | 17 | do 18 | { 19 | - int ret_sig = 0; 20 | int status; 21 | if ((::waitpid(timeout_pid, &status, WNOHANG) != 0) 22 | && (WIFEXITED(status) || WIFSIGNALED(status))) 23 | -------------------------------------------------------------------------------- /depends/patches/qt/dont_hardcode_pwd.patch: -------------------------------------------------------------------------------- 1 | commit 0e953866fc4672486e29e1ba6d83b4207e7b2f0b 2 | Author: fanquake 3 | Date: Tue Aug 18 15:09:06 2020 +0800 4 | 5 | Don't hardcode pwd path 6 | 7 | Let a man use his builtins if he wants to! Also, removes the unnecessary 8 | assumption that pwd lives under /bin/pwd. 9 | 10 | See #15581. 11 | 12 | diff --git a/qtbase/configure b/qtbase/configure 13 | index 08b49a8d..faea5b55 100755 14 | --- a/qtbase/configure 15 | +++ b/qtbase/configure 16 | @@ -36,9 +36,9 @@ 17 | relconf=`basename $0` 18 | # the directory of this script is the "source tree" 19 | relpath=`dirname $0` 20 | -relpath=`(cd "$relpath"; /bin/pwd)` 21 | +relpath=`(cd "$relpath"; pwd)` 22 | # the current directory is the "build tree" or "object tree" 23 | -outpath=`/bin/pwd` 24 | +outpath=`pwd` 25 | 26 | WHICH="which" 27 | 28 | -------------------------------------------------------------------------------- /depends/packages/libX11.mk: -------------------------------------------------------------------------------- 1 | package=libX11 2 | $(package)_version=1.6.2 3 | $(package)_download_path=https://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)_preprocess_cmds 14 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . 15 | endef 16 | 17 | define $(package)_config_cmds 18 | $($(package)_autoconf) 19 | endef 20 | 21 | define $(package)_build_cmds 22 | $(MAKE) 23 | endef 24 | 25 | define $(package)_stage_cmds 26 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 27 | endef 28 | -------------------------------------------------------------------------------- /contrib/linearize/example-linearize.cfg: -------------------------------------------------------------------------------- 1 | 2 | # bitcoind RPC settings (linearize-hashes) 3 | rpcuser=someuser 4 | rpcpassword=somepassword 5 | host=127.0.0.1 6 | port=8332 7 | #port=18332 8 | 9 | # bootstrap.dat hashlist settings (linearize-hashes) 10 | max_height=313000 11 | 12 | # bootstrap.dat input/output settings (linearize-data) 13 | 14 | # mainnet 15 | netmagic=f9beb4d9 16 | genesis=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 17 | input=/home/example/.bitcoin/blocks 18 | 19 | # testnet 20 | #netmagic=0b110907 21 | #genesis=000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943 22 | #input=/home/example/.bitcoin/testnet3/blocks 23 | 24 | output_file=/home/example/Downloads/bootstrap.dat 25 | hashlist=hashlist.txt 26 | split_year=1 27 | 28 | # Maxmimum size in bytes of out-of-order blocks cache in memory 29 | out_of_order_cache_sz = 100000000 30 | -------------------------------------------------------------------------------- /src/qt/transactiondescdialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TRANSACTIONDESCDIALOG_H 6 | #define BITCOIN_QT_TRANSACTIONDESCDIALOG_H 7 | 8 | #include 9 | 10 | namespace Ui { 11 | class TransactionDescDialog; 12 | } 13 | 14 | QT_BEGIN_NAMESPACE 15 | class QModelIndex; 16 | QT_END_NAMESPACE 17 | 18 | /** Dialog showing transaction details. */ 19 | class TransactionDescDialog : public QDialog 20 | { 21 | Q_OBJECT 22 | 23 | public: 24 | explicit TransactionDescDialog(const QModelIndex &idx, QWidget *parent = 0); 25 | ~TransactionDescDialog(); 26 | 27 | private: 28 | Ui::TransactionDescDialog *ui; 29 | }; 30 | 31 | #endif // BITCOIN_QT_TRANSACTIONDESCDIALOG_H 32 | -------------------------------------------------------------------------------- /depends/patches/qt/xkb-default.patch: -------------------------------------------------------------------------------- 1 | --- old/qtbase/src/gui/configure.pri 2018-06-06 17:28:10.000000000 -0400 2 | +++ new/qtbase/src/gui/configure.pri 2018-08-17 18:43:01.589384567 -0400 3 | @@ -43,18 +43,11 @@ 4 | } 5 | 6 | defineTest(qtConfTest_xkbConfigRoot) { 7 | - qtConfTest_getPkgConfigVariable($${1}): return(true) 8 | - 9 | - for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) { 10 | - exists($$dir) { 11 | - $${1}.value = $$dir 12 | - export($${1}.value) 13 | - $${1}.cache += value 14 | - export($${1}.cache) 15 | - return(true) 16 | - } 17 | - } 18 | - return(false) 19 | + $${1}.value = "/usr/share/X11/xkb" 20 | + export($${1}.value) 21 | + $${1}.cache += value 22 | + export($${1}.cache) 23 | + return(true) 24 | } 25 | 26 | defineTest(qtConfTest_qpaDefaultPlatform) { 27 | -------------------------------------------------------------------------------- /doc/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 | -------------------------------------------------------------------------------- /src/qt/transactiondesc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TRANSACTIONDESC_H 6 | #define BITCOIN_QT_TRANSACTIONDESC_H 7 | 8 | #include 9 | #include 10 | 11 | class TransactionRecord; 12 | 13 | class CWallet; 14 | class CWalletTx; 15 | 16 | /** Provide a human-readable extended HTML description of a transaction. 17 | */ 18 | class TransactionDesc: public QObject 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | static QString toHTML(CWallet *wallet, CWalletTx &wtx, TransactionRecord *rec, int unit); 24 | 25 | private: 26 | TransactionDesc() {} 27 | 28 | static QString FormatTxStatus(const CWalletTx& wtx); 29 | }; 30 | 31 | #endif // BITCOIN_QT_TRANSACTIONDESC_H 32 | -------------------------------------------------------------------------------- /contrib/macdeploy/fancy.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | window_bounds 6 | 7 | 300 8 | 300 9 | 800 10 | 620 11 | 12 | background_picture 13 | background.tiff 14 | icon_size 15 | 96 16 | applications_symlink 17 | 18 | items_position 19 | 20 | Applications 21 | 22 | 370 23 | 156 24 | 25 | Oduwacoin-Qt.app 26 | 27 | 128 28 | 156 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/qt/openuridialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_OPENURIDIALOG_H 6 | #define BITCOIN_QT_OPENURIDIALOG_H 7 | 8 | #include 9 | 10 | class Config; 11 | 12 | namespace Ui { 13 | class OpenURIDialog; 14 | } 15 | 16 | class OpenURIDialog : public QDialog 17 | { 18 | Q_OBJECT 19 | 20 | public: 21 | explicit OpenURIDialog(const Config *cfg, QWidget *parent); 22 | ~OpenURIDialog(); 23 | 24 | QString getURI(); 25 | 26 | protected Q_SLOTS: 27 | void accept(); 28 | 29 | private Q_SLOTS: 30 | void on_selectFileButton_clicked(); 31 | 32 | private: 33 | Ui::OpenURIDialog *ui; 34 | const Config *cfg; 35 | }; 36 | 37 | #endif // BITCOIN_QT_OPENURIDIALOG_H 38 | -------------------------------------------------------------------------------- /depends/packages/xproto.mk: -------------------------------------------------------------------------------- 1 | package=xproto 2 | $(package)_version=7.0.31 3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/proto 4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2 5 | $(package)_sha256_hash=c6f9747da0bd3a95f86b17fb8dd5e717c8f3ab7f0ece3ba1b247899ec1ef7747 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--without-fop --without-xmlto --without-xsltproc --disable-specs 9 | $(package)_config_opts += --disable-dependency-tracking --enable-option-checking 10 | endef 11 | 12 | define $(package)_preprocess_cmds 13 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . 14 | endef 15 | 16 | define $(package)_config_cmds 17 | $($(package)_autoconf) 18 | endef 19 | 20 | define $(package)_build_cmds 21 | $(MAKE) 22 | endef 23 | 24 | define $(package)_stage_cmds 25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 26 | endef 27 | -------------------------------------------------------------------------------- /depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch: -------------------------------------------------------------------------------- 1 | The moc executable loops through headers on CPLUS_INCLUDE_PATH and stumbles 2 | on the GCC internal _GLIBCXX_VISIBILITY macro. Tell it to ignore it as it is 3 | not supposed to be looking there to begin with. 4 | 5 | Upstream report: https://bugreports.qt.io/browse/QTBUG-83160 6 | 7 | diff --git a/qtbase/src/tools/moc/main.cpp b/qtbase/src/tools/moc/main.cpp 8 | --- a/qtbase/src/tools/moc/main.cpp 9 | +++ b/qtbase/src/tools/moc/main.cpp 10 | @@ -188,6 +188,7 @@ int runMoc(int argc, char **argv) 11 | dummyVariadicFunctionMacro.arguments += Symbol(0, PP_IDENTIFIER, "__VA_ARGS__"); 12 | pp.macros["__attribute__"] = dummyVariadicFunctionMacro; 13 | pp.macros["__declspec"] = dummyVariadicFunctionMacro; 14 | + pp.macros["_GLIBCXX_VISIBILITY"] = dummyVariadicFunctionMacro; 15 | 16 | QString filename; 17 | QString output; 18 | -------------------------------------------------------------------------------- /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 https://www.opensource.org/licenses/mit-license.php.* 5 | ***********************************************************************/ 6 | 7 | #ifndef SECP256K1_SCALAR_REPR_H 8 | #define SECP256K1_SCALAR_REPR_H 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint64_t d[4]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{((uint64_t)(d1)) << 32 | (d0), ((uint64_t)(d3)) << 32 | (d2), ((uint64_t)(d5)) << 32 | (d4), ((uint64_t)(d7)) << 32 | (d6)}} 18 | 19 | #endif /* SECP256K1_SCALAR_REPR_H */ 20 | -------------------------------------------------------------------------------- /depends/patches/fontconfig/gperf_header_regen.patch: -------------------------------------------------------------------------------- 1 | commit 7b6eb33ecd88768b28c67ce5d2d68a7eed5936b6 2 | Author: fanquake 3 | Date: Tue Aug 25 14:34:53 2020 +0800 4 | 5 | Remove rule that causes inadvertent header regeneration 6 | 7 | Otherwise the makefile will needlessly attempt to re-generate the 8 | headers with gperf. This can be dropped once the upstream build is fixed. 9 | 10 | See #10851. 11 | 12 | diff --git a/src/Makefile.in b/src/Makefile.in 13 | index f4626ad..4ae1b00 100644 14 | --- a/src/Makefile.in 15 | +++ b/src/Makefile.in 16 | @@ -912,7 +912,7 @@ 17 | ' - > $@.tmp && \ 18 | mv -f $@.tmp fcobjshash.gperf && touch $@ || ( $(RM) $@.tmp && false ) 19 | 20 | -fcobjshash.h: Makefile fcobjshash.gperf 21 | +fcobjshash.h: 22 | $(AM_V_GEN) $(GPERF) --pic -m 100 fcobjshash.gperf > $@.tmp && \ 23 | mv -f $@.tmp $@ || ( $(RM) $@.tmp && false ) 24 | 25 | -------------------------------------------------------------------------------- /src/cashaddr.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 Pieter Wuille 2 | // Copyright (c) 2017 The Bitcoin 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 | // Cashaddr is an address format inspired by bech32. 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | namespace cashaddr 13 | { 14 | /** 15 | * Encode a cashaddr string. Returns the empty string in case of failure. 16 | */ 17 | std::string Encode(const std::string &prefix, const std::vector &values); 18 | 19 | /** 20 | * Decode a cashaddr string. Returns (prefix, data). Empty prefix means failure. 21 | */ 22 | std::pair > Decode(const std::string &str, const std::string &default_prefix); 23 | 24 | std::vector EncodingCharset(); 25 | 26 | } // namespace cashaddr 27 | -------------------------------------------------------------------------------- /src/checkpoints.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_CHECKPOINTS_H 6 | #define BITCOIN_CHECKPOINTS_H 7 | 8 | #include "uint256.h" 9 | 10 | #include 11 | 12 | class CBlockIndex; 13 | struct CCheckpointData; 14 | 15 | /** 16 | * Block-chain checkpoints are compiled-in sanity checks. 17 | * They are updated every release or three. 18 | */ 19 | namespace Checkpoints 20 | { 21 | 22 | //! Returns last CBlockIndex* in mapBlockIndex that is a checkpoint 23 | CBlockIndex* GetLastCheckpoint(const CCheckpointData& data); 24 | 25 | double GuessVerificationProgress(const CCheckpointData& data, CBlockIndex* pindex, bool fSigchecks = true); 26 | 27 | } //namespace Checkpoints 28 | 29 | #endif // BITCOIN_CHECKPOINTS_H 30 | -------------------------------------------------------------------------------- /depends/builders/default.mk: -------------------------------------------------------------------------------- 1 | default_build_CC = gcc 2 | default_build_CXX = g++ 3 | default_build_AR = ar 4 | default_build_TAR = tar 5 | default_build_RANLIB = ranlib 6 | default_build_STRIP = strip 7 | default_build_NM = nm 8 | default_build_OTOOL = otool 9 | default_build_INSTALL_NAME_TOOL = install_name_tool 10 | 11 | define add_build_tool_func 12 | build_$(build_os)_$1 ?= $$(default_build_$1) 13 | build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1) 14 | build_$1=$$(build_$(build_arch)_$(build_os)_$1) 15 | endef 16 | $(foreach var,CC CXX AR TAR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var)))) 17 | define add_build_flags_func 18 | build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1) 19 | build_$1=$$(build_$(build_arch)_$(build_os)_$1) 20 | endef 21 | $(foreach flags, CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags)))) 22 | -------------------------------------------------------------------------------- /doc/README_windows.txt: -------------------------------------------------------------------------------- 1 | OduwaCoin 2 | ============= 3 | 4 | Intro 5 | ----- 6 | Oduwacoin 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 oduwacoin-qt.exe. 15 | 16 | OduwaCoin is the original Oduwacoin client and it builds the backbone of the network. 17 | However, it downloads and stores the entire history of Oduwacoin 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 OduwaCoin website at https://oduwacoin.io for more help and information. 22 | -------------------------------------------------------------------------------- /src/qt/qvaluecombobox.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "qvaluecombobox.h" 6 | 7 | QValueComboBox::QValueComboBox(QWidget *parent) : 8 | QComboBox(parent), role(Qt::UserRole) 9 | { 10 | connect(this, SIGNAL(currentIndexChanged(int)), this, SLOT(handleSelectionChanged(int))); 11 | } 12 | 13 | QVariant QValueComboBox::value() const 14 | { 15 | return itemData(currentIndex(), role); 16 | } 17 | 18 | void QValueComboBox::setValue(const QVariant &value) 19 | { 20 | setCurrentIndex(findData(value, role)); 21 | } 22 | 23 | void QValueComboBox::setRole(int role) 24 | { 25 | this->role = role; 26 | } 27 | 28 | void QValueComboBox::handleSelectionChanged(int idx) 29 | { 30 | Q_EMIT valueChanged(); 31 | } 32 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/qt/transactiondescdialog.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "transactiondescdialog.h" 6 | #include "ui_transactiondescdialog.h" 7 | 8 | #include "transactiontablemodel.h" 9 | 10 | #include 11 | 12 | TransactionDescDialog::TransactionDescDialog(const QModelIndex &idx, QWidget *parent) : 13 | QDialog(parent), 14 | ui(new Ui::TransactionDescDialog) 15 | { 16 | ui->setupUi(this); 17 | setWindowTitle(tr("Details for %1").arg(idx.data(TransactionTableModel::TxIDRole).toString())); 18 | QString desc = idx.data(TransactionTableModel::LongDescriptionRole).toString(); 19 | ui->detailText->setHtml(desc); 20 | } 21 | 22 | TransactionDescDialog::~TransactionDescDialog() 23 | { 24 | delete ui; 25 | } 26 | -------------------------------------------------------------------------------- /src/reverselock.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_REVERSELOCK_H 6 | #define BITCOIN_REVERSELOCK_H 7 | 8 | /** 9 | * An RAII-style reverse lock. Unlocks on construction and locks on destruction. 10 | */ 11 | template 12 | class reverse_lock 13 | { 14 | public: 15 | 16 | explicit reverse_lock(Lock& lock) : lock(lock) { 17 | lock.unlock(); 18 | lock.swap(templock); 19 | } 20 | 21 | ~reverse_lock() { 22 | templock.lock(); 23 | templock.swap(lock); 24 | } 25 | 26 | private: 27 | reverse_lock(reverse_lock const&); 28 | reverse_lock& operator=(reverse_lock const&); 29 | 30 | Lock& lock; 31 | Lock templock; 32 | }; 33 | 34 | #endif // BITCOIN_REVERSELOCK_H 35 | -------------------------------------------------------------------------------- /depends/packages/dbus.mk: -------------------------------------------------------------------------------- 1 | package=dbus 2 | $(package)_version=1.12.20 3 | $(package)_download_path=https://dbus.freedesktop.org/releases/dbus 4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz 5 | $(package)_sha256_hash=F77620140ECB4CDC67F37FB444F8A6BEA70B5B6461F12F1CBE2CEC60FA7DE5FE 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/freetype.mk: -------------------------------------------------------------------------------- 1 | package=freetype 2 | $(package)_version=2.11.0 3 | $(package)_download_path=https://download.savannah.gnu.org/releases/$(package) 4 | $(package)_file_name=$(package)-$($(package)_version).tar.xz 5 | $(package)_sha256_hash=8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7 6 | 7 | define $(package)_set_vars 8 | $(package)_config_opts=--without-zlib --without-png --without-harfbuzz --without-bzip2 --disable-static 9 | $(package)_config_opts += --enable-option-checking --without-brotli 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 | 25 | define $(package)_postprocess_cmds 26 | rm -rf share/man lib/*.la 27 | endef 28 | -------------------------------------------------------------------------------- /src/leveldb/util/env_windows_test_helper.h: -------------------------------------------------------------------------------- 1 | // Copyright 2018 (c) 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_ENV_WINDOWS_TEST_HELPER_H_ 6 | #define STORAGE_LEVELDB_UTIL_ENV_WINDOWS_TEST_HELPER_H_ 7 | 8 | namespace leveldb { 9 | 10 | class EnvWindowsTest; 11 | 12 | // A helper for the Windows Env to facilitate testing. 13 | class EnvWindowsTestHelper { 14 | private: 15 | friend class CorruptionTest; 16 | friend class EnvWindowsTest; 17 | 18 | // Set the maximum number of read-only files that will be mapped via mmap. 19 | // Must be called before creating an Env. 20 | static void SetReadOnlyMMapLimit(int limit); 21 | }; 22 | 23 | } // namespace leveldb 24 | 25 | #endif // STORAGE_LEVELDB_UTIL_ENV_WINDOWS_TEST_HELPER_H_ 26 | -------------------------------------------------------------------------------- /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.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 | -------------------------------------------------------------------------------- /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 -D_LIBCPP_DEBUG=1 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 | linux_cmake_system=Linux 33 | -------------------------------------------------------------------------------- /depends/patches/native_cctools/ld64_disable_threading.patch: -------------------------------------------------------------------------------- 1 | commit 584668415039adeed073decee7e04de28248afd3 2 | Author: fanquake 3 | Date: Tue Aug 18 01:20:24 2020 +0000 4 | 5 | Disable threading to fix non-determinism 6 | 7 | A bug in the file parser can cause dependencies to be calculated 8 | differently based on which files have already been parsed. This is more 9 | likely to occur on systems with more CPUs. 10 | 11 | Just disable threading for now. There is no noticable slowdown. 12 | 13 | See #9891. 14 | 15 | diff --git a/cctools/ld64/src/ld/InputFiles.h b/cctools/ld64/src/ld/InputFiles.h 16 | index ef9c756..90a70b6 100644 17 | --- a/cctools/ld64/src/ld/InputFiles.h 18 | +++ b/cctools/ld64/src/ld/InputFiles.h 19 | @@ -25,7 +25,6 @@ 20 | #ifndef __INPUT_FILES_H__ 21 | #define __INPUT_FILES_H__ 22 | 23 | -#define HAVE_PTHREADS 1 24 | 25 | #include 26 | #include 27 | -------------------------------------------------------------------------------- /src/qt/macnotificationhandler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2018 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_MACNOTIFICATIONHANDLER_H 6 | #define BITCOIN_QT_MACNOTIFICATIONHANDLER_H 7 | 8 | #include 9 | 10 | /** Macintosh-specific notification handler (supports UserNotificationCenter). 11 | */ 12 | class MacNotificationHandler : public QObject 13 | { 14 | Q_OBJECT 15 | 16 | public: 17 | /** shows a macOS 10.8+ UserNotification in the UserNotificationCenter 18 | */ 19 | void showNotification(const QString &title, const QString &text); 20 | 21 | /** check if OS can handle UserNotifications */ 22 | bool hasUserNotificationCenterSupport(); 23 | static MacNotificationHandler *instance(); 24 | }; 25 | 26 | 27 | #endif // BITCOIN_QT_MACNOTIFICATIONHANDLER_H 28 | -------------------------------------------------------------------------------- /src/bench/Examples.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "bench.h" 6 | #include "main.h" 7 | #include "utiltime.h" 8 | 9 | // Sanity test: this should loop ten times, and 10 | // min/max/average should be close to 100ms. 11 | static void Sleep100ms(benchmark::State& state) 12 | { 13 | while (state.KeepRunning()) { 14 | MilliSleep(100); 15 | } 16 | } 17 | 18 | BENCHMARK(Sleep100ms); 19 | 20 | // Extremely fast-running benchmark: 21 | #include 22 | 23 | volatile double sum = 0.0; // volatile, global so not optimized away 24 | 25 | static void Trig(benchmark::State& state) 26 | { 27 | double d = 0.01; 28 | while (state.KeepRunning()) { 29 | sum += sin(d); 30 | d += 0.000001; 31 | } 32 | } 33 | 34 | BENCHMARK(Trig); 35 | -------------------------------------------------------------------------------- /src/dstencode.h: -------------------------------------------------------------------------------- 1 | #ifndef BITCOIN_DSTENCODE_H 2 | #define BITCOIN_DSTENCODE_H 3 | 4 | // key.h and pubkey.h are not used here, but gcc doesn't want to instantiate 5 | // CTxDestination if types are unknown 6 | #include "key.h" 7 | #include "pubkey.h" 8 | #include "script/standard.h" 9 | #include 10 | 11 | class Config; 12 | class CChainParams; 13 | 14 | std::string EncodeDestination(const CTxDestination &, const CChainParams &, const Config &); 15 | CTxDestination DecodeDestination(const std::string &addr, const CChainParams &); 16 | bool IsValidDestinationString(const std::string &addr, const CChainParams ¶ms); 17 | 18 | // Temporary workaround. Don't rely on global state, pass all parameters in new 19 | // code. 20 | std::string EncodeDestination(const CTxDestination &); 21 | CTxDestination DecodeDestination(const std::string &addr); 22 | bool IsValidDestinationString(const std::string &addr); 23 | 24 | #endif // BITCOIN_DSTENCODE_H 25 | -------------------------------------------------------------------------------- /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 | 10 | #include "db/dbformat.h" 11 | #include "leveldb/db.h" 12 | 13 | namespace leveldb { 14 | 15 | class DBImpl; 16 | 17 | // Return a new iterator that converts internal keys (yielded by 18 | // "*internal_iter") that were live at the specified "sequence" number 19 | // into appropriate user keys. 20 | Iterator* NewDBIterator(DBImpl* db, const Comparator* user_key_comparator, 21 | Iterator* internal_iter, SequenceNumber sequence, 22 | uint32_t seed); 23 | 24 | } // namespace leveldb 25 | 26 | #endif // STORAGE_LEVELDB_DB_DB_ITER_H_ 27 | -------------------------------------------------------------------------------- /depends/patches/qt/no_sdk_version_check.patch: -------------------------------------------------------------------------------- 1 | commit f5eb142cd04be2bc4ca610ed3b5b7e8ce3520ee3 2 | Author: fanquake 3 | Date: Tue Jan 5 16:08:49 2021 +0800 4 | 5 | Don't invoke macOS SDK version checking 6 | 7 | This tries to use xcrun which is not available when cross-compiling. 8 | 9 | diff --git a/qtbase/mkspecs/features/mac/default_post.prf b/qtbase/mkspecs/features/mac/default_post.prf 10 | index 92a9112bca6..447e186eb26 100644 11 | --- a/qtbase/mkspecs/features/mac/default_post.prf 12 | +++ b/qtbase/mkspecs/features/mac/default_post.prf 13 | @@ -8,7 +8,6 @@ contains(TEMPLATE, .*app) { 14 | !macx-xcode:if(isEmpty(BUILDS)|build_pass) { 15 | # Detect changes to the platform SDK 16 | QMAKE_EXTRA_VARIABLES += QMAKE_MAC_SDK QMAKE_MAC_SDK_VERSION QMAKE_XCODE_DEVELOPER_PATH 17 | - QMAKE_EXTRA_INCLUDES += $$shell_quote($$PWD/sdk.mk) 18 | } 19 | 20 | # Detect incompatible SDK versions 21 | -------------------------------------------------------------------------------- /src/secp256k1/src/ecmult_const.h: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or https://www.opensource.org/licenses/mit-license.php.* 5 | ***********************************************************************/ 6 | 7 | #ifndef SECP256K1_ECMULT_CONST_H 8 | #define SECP256K1_ECMULT_CONST_H 9 | 10 | #include "scalar.h" 11 | #include "group.h" 12 | 13 | /** 14 | * Multiply: R = q*A (in constant-time) 15 | * Here `bits` should be set to the maximum bitlength of the _absolute value_ of `q`, plus 16 | * one because we internally sometimes add 2 to the number during the WNAF conversion. 17 | */ 18 | static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *q, int bits); 19 | 20 | #endif /* SECP256K1_ECMULT_CONST_H */ 21 | -------------------------------------------------------------------------------- /depends/patches/qt/drop_lrelease_dependency.patch: -------------------------------------------------------------------------------- 1 | commit 67b3ed7406e1d0762188dbad2c44a06824ba0778 2 | Author: fanquake 3 | Date: Tue Aug 18 15:24:01 2020 +0800 4 | 5 | Drop dependency on lrelease 6 | 7 | Qts buildsystem insists on using the installed lrelease, but gets 8 | confused about how to find it. Since we manually control the build 9 | order, just drop the dependency. 10 | 11 | See #9469 12 | 13 | diff --git a/qttranslations/translations/translations.pro b/qttranslations/translations/translations.pro 14 | index 694544c..eff339d 100644 15 | --- a/qttranslations/translations/translations.pro 16 | +++ b/qttranslations/translations/translations.pro 17 | @@ -109,3 +109,2 @@ updateqm.commands = $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT} 18 | silent:updateqm.commands = @echo lrelease ${QMAKE_FILE_IN} && $$updateqm.commands 19 | -updateqm.depends = $$LRELEASE_EXE 20 | updateqm.name = LRELEASE ${QMAKE_FILE_IN} 21 | -------------------------------------------------------------------------------- /depends/patches/qt/fix_montery_include.patch: -------------------------------------------------------------------------------- 1 | From dece6f5840463ae2ddf927d65eb1b3680e34a547 2 | From: Øystein Heskestad 3 | Date: Wed, 27 Oct 2021 13:07:46 +0200 4 | Subject: [PATCH] Add missing macOS header file that was indirectly included before 5 | 6 | See: https://bugreports.qt.io/browse/QTBUG-97855 7 | 8 | Upstream Commits: 9 | - Qt 6.2: c884bf138a21dd7320e35cef34d24e22e74d7ce0 10 | 11 | diff --git a/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h b/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h 12 | index e070ba97..07c75b04 100644 13 | --- a/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h 14 | +++ b/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h 15 | @@ -40,6 +40,7 @@ 16 | #ifndef QIOSURFACEGRAPHICSBUFFER_H 17 | #define QIOSURFACEGRAPHICSBUFFER_H 18 | 19 | +#include 20 | #include 21 | #include 22 | -------------------------------------------------------------------------------- /qa/rpc-tests/uptime.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 2017 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 | """Test the RPC call related to the uptime command. 6 | 7 | Test corresponds to code in rpc/server.cpp. 8 | """ 9 | 10 | import time 11 | 12 | from test_framework.test_framework import BitcoinTestFramework 13 | 14 | 15 | class UptimeTest(BitcoinTestFramework): 16 | def __init__(self): 17 | super().__init__() 18 | 19 | self.num_nodes = 1 20 | self.setup_clean_chain = True 21 | 22 | def run_test(self): 23 | self._test_uptime() 24 | 25 | def _test_uptime(self): 26 | wait_time = 10 27 | self.nodes[0].setmocktime(int(time.time() + wait_time)) 28 | assert(self.nodes[0].uptime() >= wait_time) 29 | 30 | 31 | if __name__ == '__main__': 32 | UptimeTest().main() 33 | -------------------------------------------------------------------------------- /depends/packages/libxkbcommon.mk: -------------------------------------------------------------------------------- 1 | package=libxkbcommon 2 | $(package)_version=0.8.4 3 | $(package)_download_path=https://xkbcommon.org/download/ 4 | $(package)_file_name=$(package)-$($(package)_version).tar.xz 5 | $(package)_sha256_hash=60ddcff932b7fd352752d51a5c4f04f3d0403230a584df9a2e0d5ed87c486c8b 6 | $(package)_dependencies=libxcb 7 | 8 | define $(package)_set_vars 9 | $(package)_config_opts = --enable-option-checking --disable-dependency-tracking 10 | $(package)_config_opts += --disable-static --disable-docs 11 | endef 12 | 13 | define $(package)_preprocess_cmds 14 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux 15 | endef 16 | 17 | define $(package)_config_cmds 18 | $($(package)_autoconf) 19 | endef 20 | 21 | define $(package)_build_cmds 22 | $(MAKE) 23 | endef 24 | 25 | define $(package)_stage_cmds 26 | $(MAKE) DESTDIR=$($(package)_staging_dir) install 27 | endef 28 | 29 | define $(package)_postprocess_cmds 30 | rm lib/*.la 31 | endef 32 | 33 | -------------------------------------------------------------------------------- /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/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/wallet/test/wallet_test_fixture.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "wallet/test/wallet_test_fixture.h" 6 | 7 | #include "rpc/server.h" 8 | #include "wallet/db.h" 9 | #include "wallet/wallet.h" 10 | 11 | WalletTestingSetup::WalletTestingSetup(const std::string& chainName): 12 | TestingSetup(chainName) 13 | { 14 | bitdb.MakeMock(); 15 | 16 | bool fFirstRun; 17 | pwalletMain = new CWallet("wallet_test.dat"); 18 | pwalletMain->LoadWallet(fFirstRun); 19 | RegisterValidationInterface(pwalletMain); 20 | 21 | RegisterWalletRPCCommands(tableRPC); 22 | } 23 | 24 | WalletTestingSetup::~WalletTestingSetup() 25 | { 26 | UnregisterValidationInterface(pwalletMain); 27 | delete pwalletMain; 28 | pwalletMain = NULL; 29 | 30 | bitdb.Flush(true); 31 | bitdb.Reset(); 32 | } 33 | -------------------------------------------------------------------------------- /depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch: -------------------------------------------------------------------------------- 1 | From 1a159c128c69a42d90819375c06a39994f3fbfc1 Mon Sep 17 00:00:00 2001 2 | From: Cory Fields 3 | Date: Tue, 28 Nov 2017 20:33:25 -0500 4 | Subject: [PATCH] fix build with older mingw64 5 | 6 | --- 7 | src/windows.hpp | 7 +++++++ 8 | 1 file changed, 7 insertions(+) 9 | 10 | diff --git a/src/windows.hpp b/src/windows.hpp 11 | index 99e889d..e69038e 100644 12 | --- a/src/windows.hpp 13 | +++ b/src/windows.hpp 14 | @@ -55,6 +55,13 @@ 15 | #include 16 | #include 17 | #include 18 | + 19 | +#if defined __MINGW64_VERSION_MAJOR && __MINGW64_VERSION_MAJOR < 4 20 | +// Workaround for mingw-w64 < v4.0 which did not include ws2ipdef.h in iphlpapi.h. 21 | +// Fixed in mingw-w64 by 9bd8fe9148924840d315b4c915dd099955ea89d1. 22 | +#include 23 | +#include 24 | +#endif 25 | #include 26 | 27 | #if !defined __MINGW32__ 28 | -- 29 | 2.7.4 30 | 31 | -------------------------------------------------------------------------------- /src/qt/test/paymentservertests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 6 | #define BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 7 | 8 | #include "../paymentserver.h" 9 | 10 | #include 11 | #include 12 | 13 | class PaymentServerTests : public QObject 14 | { 15 | Q_OBJECT 16 | 17 | private Q_SLOTS: 18 | void paymentServerTests(); 19 | }; 20 | 21 | // Dummy class to receive paymentserver signals. 22 | // If SendCoinsRecipient was a proper QObject, then 23 | // we could use QSignalSpy... but it's not. 24 | class RecipientCatcher : public QObject 25 | { 26 | Q_OBJECT 27 | 28 | public Q_SLOTS: 29 | void getRecipient(SendCoinsRecipient r); 30 | 31 | public: 32 | SendCoinsRecipient recipient; 33 | }; 34 | 35 | #endif // BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 36 | -------------------------------------------------------------------------------- /src/httprpc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_HTTPRPC_H 6 | #define BITCOIN_HTTPRPC_H 7 | 8 | #include 9 | #include 10 | 11 | class HTTPRequest; 12 | 13 | /** Start HTTP RPC subsystem. 14 | * Precondition; HTTP and RPC has been started. 15 | */ 16 | bool StartHTTPRPC(); 17 | /** Interrupt HTTP RPC subsystem. 18 | */ 19 | void InterruptHTTPRPC(); 20 | /** Stop HTTP RPC subsystem. 21 | * Precondition; HTTP and RPC has been stopped. 22 | */ 23 | void StopHTTPRPC(); 24 | 25 | /** Start HTTP REST subsystem. 26 | * Precondition; HTTP and RPC has been started. 27 | */ 28 | bool StartREST(); 29 | /** Interrupt RPC REST subsystem. 30 | */ 31 | void InterruptREST(); 32 | /** Stop HTTP REST subsystem. 33 | * Precondition; HTTP and RPC has been stopped. 34 | */ 35 | void StopREST(); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/secp256k1/.gitignore: -------------------------------------------------------------------------------- 1 | bench_inv 2 | bench_ecdh 3 | bench_ecmult 4 | bench_schnorrsig 5 | bench_sign 6 | bench_verify 7 | bench_recover 8 | bench_internal 9 | tests 10 | exhaustive_tests 11 | gen_context 12 | valgrind_ctime_test 13 | *.exe 14 | *.so 15 | *.a 16 | !.gitignore 17 | 18 | Makefile 19 | configure 20 | .libs/ 21 | Makefile.in 22 | aclocal.m4 23 | autom4te.cache/ 24 | config.log 25 | config.status 26 | *.tar.gz 27 | *.la 28 | libtool 29 | .deps/ 30 | .dirstamp 31 | *.lo 32 | *.o 33 | *~ 34 | *.log 35 | *.trs 36 | src/libsecp256k1-config.h 37 | src/libsecp256k1-config.h.in 38 | src/ecmult_static_context.h 39 | build-aux/config.guess 40 | build-aux/config.sub 41 | build-aux/depcomp 42 | build-aux/install-sh 43 | build-aux/ltmain.sh 44 | build-aux/m4/libtool.m4 45 | build-aux/m4/lt~obsolete.m4 46 | build-aux/m4/ltoptions.m4 47 | build-aux/m4/ltsugar.m4 48 | build-aux/m4/ltversion.m4 49 | build-aux/missing 50 | build-aux/compile 51 | build-aux/test-driver 52 | src/stamp-h1 53 | libsecp256k1.pc 54 | -------------------------------------------------------------------------------- /depends/patches/zeromq/remove_libstd_link.patch: -------------------------------------------------------------------------------- 1 | commit 47d4cd12a2c051815ddda78adebdb3923b260d8a 2 | Author: fanquake 3 | Date: Tue Aug 18 14:45:40 2020 +0800 4 | 5 | Remove needless linking against libstdc++ 6 | 7 | This is broken for a number of reasons, including: 8 | - g++ understands "static-libstdc++ -lstdc++" to mean "link against 9 | whatever libstdc++ exists, probably shared", which in itself is buggy. 10 | - another stdlib (libc++ for example) may be in use 11 | 12 | See #11981. 13 | 14 | diff --git a/src/libzmq.pc.in b/src/libzmq.pc.in 15 | index 233bc3a..3c2bf0d 100644 16 | --- a/src/libzmq.pc.in 17 | +++ b/src/libzmq.pc.in 18 | @@ -7,6 +7,6 @@ Name: libzmq 19 | Description: 0MQ c++ library 20 | Version: @VERSION@ 21 | Libs: -L${libdir} -lzmq 22 | -Libs.private: -lstdc++ @pkg_config_libs_private@ 23 | +Libs.private: @pkg_config_libs_private@ 24 | Requires.private: @pkg_config_names_private@ 25 | Cflags: -I${includedir} @pkg_config_defines@ 26 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/test/base64_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "utilstrencodings.h" 6 | #include "test/test_bitcoin.h" 7 | 8 | #include 9 | 10 | BOOST_FIXTURE_TEST_SUITE(base64_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(base64_testvectors) 13 | { 14 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 15 | static const std::string vstrOut[] = {"","Zg==","Zm8=","Zm9v","Zm9vYg==","Zm9vYmE=","Zm9vYmFy"}; 16 | for (unsigned int i=0; i= 0 21 | Iterator* NewMergingIterator(const Comparator* comparator, Iterator** children, 22 | int n); 23 | 24 | } // namespace leveldb 25 | 26 | #endif // STORAGE_LEVELDB_TABLE_MERGER_H_ 27 | -------------------------------------------------------------------------------- /src/univalue/test/pass4.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] 2 | -------------------------------------------------------------------------------- /src/test/base32_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "utilstrencodings.h" 6 | #include "test/test_bitcoin.h" 7 | 8 | #include 9 | 10 | BOOST_FIXTURE_TEST_SUITE(base32_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(base32_testvectors) 13 | { 14 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 15 | static const std::string vstrOut[] = {"","my======","mzxq====","mzxw6===","mzxw6yq=","mzxw6ytb","mzxw6ytboi======"}; 16 | for (unsigned int i=0; i 10 | #include 11 | 12 | class CChainParams; 13 | 14 | enum CashAddrType : uint8_t 15 | { 16 | PUBKEY_TYPE = 0, 17 | SCRIPT_TYPE = 1 18 | }; 19 | 20 | std::string EncodeCashAddr(const CTxDestination &, const CChainParams &); 21 | 22 | struct CashAddrContent 23 | { 24 | CashAddrType type; 25 | std::vector hash; 26 | }; 27 | 28 | CTxDestination DecodeCashAddr(const std::string &addr, const CChainParams ¶ms); 29 | CashAddrContent DecodeCashAddrContent(const std::string &addr, const CChainParams ¶ms); 30 | CTxDestination DecodeCashAddrDestination(const CashAddrContent &content); 31 | 32 | std::vector PackCashAddrContent(const CashAddrContent &content); 33 | #endif 34 | -------------------------------------------------------------------------------- /src/qt/res/src/tx_inout.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /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/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/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/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.md 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 | --------------------------------------------------------------------------------