├── .circleci
└── config.yml
├── .gitattributes
├── .github
└── ISSUE_TEMPLATE.md
├── .gitignore
├── .python-version
├── .travis.yml
├── .travis
├── README.md
├── lint_04_install.sh
├── lint_05_before_script.sh
├── lint_06_script.sh
├── test_03_before_install.sh
├── test_04_install.sh
├── test_05_before_script.sh
├── test_06_script_a.sh
└── test_06_script_b.sh
├── CMakeLists.txt
├── CONTRIBUTING.md
├── COPYING
├── INSTALL
├── Makefile.am
├── README.md
├── autogen.sh
├── build-aux
└── m4
│ ├── ax_boost_base.m4
│ ├── ax_boost_chrono.m4
│ ├── ax_boost_filesystem.m4
│ ├── ax_boost_program_options.m4
│ ├── ax_boost_system.m4
│ ├── ax_boost_thread.m4
│ ├── ax_boost_unit_test_framework.m4
│ ├── ax_check_compile_flag.m4
│ ├── ax_check_link_flag.m4
│ ├── ax_check_preproc_flag.m4
│ ├── ax_cxx_compile_stdcxx.m4
│ ├── ax_gcc_func_attribute.m4
│ ├── ax_pthread.m4
│ ├── bitcoin_find_bdb48.m4
│ ├── bitcoin_qt.m4
│ ├── bitcoin_subdir_to_include.m4
│ ├── gmp.m4
│ └── l_atomic.m4
├── configure.ac
├── contrib
├── README.md
├── bitrpc
│ ├── README.md
│ └── bitrpc.py
├── cmake
│ ├── FindBerkeleyDB.cmake
│ ├── FindGMP.cmake
│ ├── FindLibEvent.cmake
│ ├── FindQrcode.cmake
│ ├── FindZMQ.cmake
│ └── TestSuite.cmake
├── debian
│ ├── README.md
│ ├── changelog
│ ├── compat
│ ├── control
│ ├── copyright
│ ├── examples
│ │ └── wispr.conf
│ ├── gbp.conf
│ ├── patches
│ │ ├── README
│ │ └── series
│ ├── rules
│ ├── source
│ │ └── format
│ ├── watch
│ ├── wispr-qt.desktop
│ ├── wispr-qt.install
│ ├── wispr-qt.lintian-overrides
│ ├── wispr-qt.manpages
│ ├── wispr-qt.protocol
│ ├── wisprd.bash-completion
│ ├── wisprd.examples
│ ├── wisprd.install
│ ├── wisprd.lintian-overrides
│ ├── wisprd.manpages
│ ├── wisprd.postinst
│ ├── wisprd.postrm
│ └── wisprd.service
├── devtools
│ ├── README.md
│ ├── check-doc.py
│ ├── circular-dependencies.py
│ ├── clang-format-diff.py
│ ├── commit-script-check.sh
│ ├── copyright_header.py
│ ├── gen-manpages.sh
│ ├── git-subtree-check.sh
│ ├── github-merge.py
│ ├── lint-whitespace.sh
│ ├── logprint-scanner.py
│ ├── optimize-pngs.py
│ ├── security-check.py
│ ├── split-debug.sh.in
│ ├── symbol-check.py
│ ├── test-security-check.py
│ └── update-translations.py
├── filter-lcov.py
├── gitian-build.py
├── gitian-descriptors
│ ├── gitian-linux.yml
│ ├── gitian-osx-signer.yml
│ ├── gitian-osx.yml
│ ├── gitian-win-signer.yml
│ └── gitian-win.yml
├── gitian-keys
│ ├── README.md
│ ├── guusseldenthuis-key.gpg
│ ├── keys.txt
│ ├── lud0v1c-key.gpg
│ └── thetcr-key.gpg
├── init
│ ├── README.md
│ ├── org.wispr.wisprd.plist
│ ├── wisprd.conf
│ ├── wisprd.init
│ ├── wisprd.openrc
│ ├── wisprd.openrcconf
│ └── wisprd.service
├── install_db4.sh
├── linearize
│ ├── README.md
│ ├── example-linearize.cfg
│ ├── linearize-data.py
│ └── linearize-hashes.py
├── macdeploy
│ ├── LICENSE
│ ├── README.md
│ ├── background.svg
│ ├── custom_dsstore.py
│ ├── detached-sig-apply.sh
│ ├── detached-sig-create.sh
│ ├── extract-osx-sdk.sh
│ ├── fancy.plist
│ └── macdeployqtplus
├── qos
│ ├── README.md
│ └── tc.sh
├── qt_translations.py
├── rpm
│ ├── README.md
│ ├── wispr.fc
│ ├── wispr.if
│ ├── wispr.spec
│ └── wispr.te
├── seeds
│ ├── README.md
│ ├── generate-seeds.py
│ └── makeseeds.py
├── spendfrom
│ ├── README.md
│ ├── setup.py
│ └── spendfrom.py
├── test-patches
│ └── README.md
├── testgen
│ ├── README.md
│ ├── base58.py
│ └── gen_base58_test_vectors.py
├── tidy_datadir.sh
├── valgrind.supp
├── verifysfbinaries
│ ├── README.md
│ └── verify.sh
├── windeploy
│ └── detached-sig-create.sh
├── wispr-cli.bash-completion
├── wispr-qt.pro
├── wispr-tx.bash-completion
├── wisprd.bash-completion
└── zmq
│ └── zmq_sub.py
├── depends
├── .gitignore
├── Makefile
├── README.md
├── builders
│ ├── darwin.mk
│ ├── default.mk
│ └── linux.mk
├── config.guess
├── config.site.in
├── config.sub
├── description.md
├── funcs.mk
├── hosts
│ ├── darwin.mk
│ ├── default.mk
│ ├── linux.mk
│ └── mingw32.mk
├── packages.md
├── packages
│ ├── bdb.mk
│ ├── boost.mk
│ ├── expat.mk
│ ├── fontconfig.mk
│ ├── freetype.mk
│ ├── gmp.mk
│ ├── libXau.mk
│ ├── libevent.mk
│ ├── libxcb.mk
│ ├── miniupnpc.mk
│ ├── native_biplist.mk
│ ├── native_cctools.mk
│ ├── native_cdrkit.mk
│ ├── native_ds_store.mk
│ ├── native_libdmg-hfsplus.mk
│ ├── native_mac_alias.mk
│ ├── native_protobuf.mk
│ ├── openssl.mk
│ ├── packages.mk
│ ├── protobuf.mk
│ ├── qrencode.mk
│ ├── qt.mk
│ ├── rapidcheck.mk
│ ├── xcb_proto.mk
│ ├── xproto.mk
│ ├── zeromq.mk
│ └── zlib.mk
└── patches
│ ├── native_cdrkit
│ └── cdrkit-deterministic.patch
│ ├── qt
│ ├── fix_configure_mac.patch
│ ├── fix_no_printer.patch
│ ├── fix_qt_pkgconfig.patch
│ ├── fix_rcc_determinism.patch
│ ├── fix_riscv64_arch.patch
│ ├── fix_s390x_powerpc_mips_mipsel_architectures.patch
│ ├── mac-qmake.conf
│ ├── no-xlib.patch
│ └── xkb-default.patch
│ └── zeromq
│ ├── 0001-fix-build-with-older-mingw64.patch
│ └── 0002-disable-pthread_set_name_np.patch
├── doc
├── .gitignore
├── Doxyfile.in
├── README.md
├── README_windows.txt
├── REST-interface.md
├── assets-attribution.md
├── bitcoin_logo_doxygen.png
├── build-osx.md
├── build-unix.md
├── build-windows.md
├── dependencies.md
├── developer-notes.md
├── dnsseed-policy.md
├── files.md
├── gitian-building.md
├── gitian-building
│ ├── create_vm_file_location_size.png
│ ├── create_vm_hard_drive.png
│ ├── create_vm_hard_drive_file_type.png
│ ├── create_vm_memsize.png
│ ├── create_vm_page1.png
│ ├── create_vm_storage_physical_hard_drive.png
│ ├── debian_install_10_configure_clock.png
│ ├── debian_install_11_partition_disks.png
│ ├── debian_install_12_choose_disk.png
│ ├── debian_install_13_partition_scheme.png
│ ├── debian_install_14_finish.png
│ ├── debian_install_15_write_changes.png
│ ├── debian_install_16_choose_a_mirror.png
│ ├── debian_install_17_choose_a_mirror2.png
│ ├── debian_install_18_proxy_settings.png
│ ├── debian_install_19_software_selection.png
│ ├── debian_install_1_boot_menu.png
│ ├── debian_install_20_install_grub.png
│ ├── debian_install_21_finish_installation.png
│ ├── debian_install_2_select_a_language.png
│ ├── debian_install_3_select_location.png
│ ├── debian_install_4_configure_keyboard.png
│ ├── debian_install_5_configure_the_network.png
│ ├── debian_install_6_domain_name.png
│ ├── debian_install_6a_set_up_root_password.png
│ ├── debian_install_7_set_up_user_fullname.png
│ ├── debian_install_8_set_up_username.png
│ ├── debian_install_9_user_password.png
│ ├── network_settings.png
│ ├── port_forwarding_rules.png
│ └── select_startup_disk.png
├── init.md
├── man
│ ├── Makefile.am
│ ├── wispr-cli.1
│ ├── wispr-qt.1
│ ├── wispr-tx.1
│ └── wisprd.1
├── release-notes.md
├── release-notes
│ ├── release-notes-0.1.0.md
│ ├── release-notes-0.2.0.md
│ ├── release-notes-0.3.0.md
│ ├── release-notes-3.1.0.2.md
│ ├── release-notes-3.1.1.md
│ └── release-notes-3.2.0.md
├── release-process.md
├── tor.md
├── translation_process.md
├── translation_strings_policy.md
├── travis-ci.txt
└── zmq.md
├── libbitcoinconsensus.pc.in
├── share
├── certs
│ ├── BitcoinFoundation_Apple_Cert.pem
│ ├── BitcoinFoundation_Comodo_Cert.pem
│ └── PrivateKeyNotes.md
├── genbuild.sh
├── pixmaps
│ ├── addressbook16.bmp
│ ├── addressbook16mask.bmp
│ ├── addressbook20.bmp
│ ├── addressbook20mask.bmp
│ ├── bitcoin-bc.ico
│ ├── check.ico
│ ├── favicon.ico
│ ├── nsis-header.bmp
│ ├── nsis-wizard.bmp
│ ├── send16.bmp
│ ├── send16mask.bmp
│ ├── send16masknoshadow.bmp
│ ├── send20.bmp
│ ├── send20mask.bmp
│ ├── wispr.ico
│ ├── wispr128.png
│ ├── wispr128.xpm
│ ├── wispr16.png
│ ├── wispr16.xpm
│ ├── wispr256.png
│ ├── wispr256.xpm
│ ├── wispr32.png
│ ├── wispr32.xpm
│ ├── wispr64.png
│ └── wispr64.xpm
├── qt
│ ├── Info.plist.in
│ ├── extract_strings_qt.py
│ ├── img
│ │ ├── reload.png
│ │ └── reload.xcf
│ ├── make_spinner.py
│ ├── make_windows_icon.sh
│ └── protobuf.pri
├── rpcauth
│ ├── README.md
│ └── rpcauth.py
├── setup.nsi.in
└── ui.rc
├── src
├── .clang-format
├── Makefile.am
├── Makefile.leveldb.include
├── Makefile.qt.include
├── Makefile.qttest.include
├── Makefile.test.include
├── activemasternode.cpp
├── activemasternode.h
├── addrman.cpp
├── addrman.h
├── alert.cpp
├── alert.h
├── allocators.cpp
├── allocators.h
├── amount.cpp
├── amount.h
├── base58.cpp
├── base58.h
├── bip38.cpp
├── bip38.h
├── blocksignature.cpp
├── blocksignature.h
├── bloom.cpp
├── bloom.h
├── chain.cpp
├── chain.h
├── chainparams.cpp
├── chainparams.h
├── chainparamsbase.cpp
├── chainparamsbase.h
├── chainparamsseeds.h
├── checkpoints.cpp
├── checkpoints.h
├── checkqueue.h
├── clientversion.cpp
├── clientversion.h
├── coincontrol.h
├── coins.cpp
├── coins.h
├── compat.h
├── compat
│ ├── byteswap.h
│ ├── endian.h
│ ├── glibc_compat.cpp
│ ├── glibc_sanity.cpp
│ ├── glibcxx_sanity.cpp
│ ├── sanity.h
│ └── strnlen.cpp
├── compressor.cpp
├── compressor.h
├── concurrentqueue.h
├── config
│ └── .empty
├── consensus
│ └── params.h
├── core_io.h
├── core_read.cpp
├── core_write.cpp
├── crypter.cpp
├── crypter.h
├── crypto
│ ├── aes_helper.c
│ ├── common.h
│ ├── hmac_sha256.cpp
│ ├── hmac_sha256.h
│ ├── hmac_sha512.cpp
│ ├── hmac_sha512.h
│ ├── rfc6979_hmac_sha256.cpp
│ ├── rfc6979_hmac_sha256.h
│ ├── ripemd160.cpp
│ ├── ripemd160.h
│ ├── scrypt.cpp
│ ├── scrypt.h
│ ├── sha1.cpp
│ ├── sha1.h
│ ├── sha256.cpp
│ ├── sha256.h
│ ├── sha512.cpp
│ ├── sha512.h
│ └── sph_types.h
├── denomination_functions.cpp
├── denomination_functions.h
├── genwit.cpp
├── genwit.h
├── guiinterface.h
├── hash.cpp
├── hash.h
├── httprpc.cpp
├── httprpc.h
├── httpserver.cpp
├── httpserver.h
├── init.cpp
├── init.h
├── invalid.cpp
├── invalid.h
├── invalid_outpoints.json.h
├── invalid_serials.json.h
├── kernel.cpp
├── kernel.h
├── key.cpp
├── key.h
├── keystore.cpp
├── keystore.h
├── leveldb
│ ├── .gitignore
│ ├── .travis.yml
│ ├── AUTHORS
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── Makefile
│ ├── NEWS
│ ├── README.md
│ ├── TODO
│ ├── WINDOWS.md
│ ├── build_detect_platform
│ ├── db
│ │ ├── autocompact_test.cc
│ │ ├── builder.cc
│ │ ├── builder.h
│ │ ├── c.cc
│ │ ├── c_test.c
│ │ ├── corruption_test.cc
│ │ ├── db_bench.cc
│ │ ├── db_impl.cc
│ │ ├── db_impl.h
│ │ ├── db_iter.cc
│ │ ├── db_iter.h
│ │ ├── db_test.cc
│ │ ├── dbformat.cc
│ │ ├── dbformat.h
│ │ ├── dbformat_test.cc
│ │ ├── dumpfile.cc
│ │ ├── fault_injection_test.cc
│ │ ├── filename.cc
│ │ ├── filename.h
│ │ ├── filename_test.cc
│ │ ├── leveldbutil.cc
│ │ ├── log_format.h
│ │ ├── log_reader.cc
│ │ ├── log_reader.h
│ │ ├── log_test.cc
│ │ ├── log_writer.cc
│ │ ├── log_writer.h
│ │ ├── memtable.cc
│ │ ├── memtable.h
│ │ ├── recovery_test.cc
│ │ ├── repair.cc
│ │ ├── skiplist.h
│ │ ├── skiplist_test.cc
│ │ ├── snapshot.h
│ │ ├── table_cache.cc
│ │ ├── table_cache.h
│ │ ├── version_edit.cc
│ │ ├── version_edit.h
│ │ ├── version_edit_test.cc
│ │ ├── version_set.cc
│ │ ├── version_set.h
│ │ ├── version_set_test.cc
│ │ ├── write_batch.cc
│ │ ├── write_batch_internal.h
│ │ └── write_batch_test.cc
│ ├── doc
│ │ ├── bench
│ │ │ ├── db_bench_sqlite3.cc
│ │ │ └── db_bench_tree_db.cc
│ │ ├── benchmark.html
│ │ ├── impl.md
│ │ ├── index.md
│ │ ├── log_format.md
│ │ └── table_format.md
│ ├── helpers
│ │ └── memenv
│ │ │ ├── memenv.cc
│ │ │ ├── memenv.h
│ │ │ └── memenv_test.cc
│ ├── include
│ │ └── leveldb
│ │ │ ├── c.h
│ │ │ ├── cache.h
│ │ │ ├── comparator.h
│ │ │ ├── db.h
│ │ │ ├── dumpfile.h
│ │ │ ├── env.h
│ │ │ ├── filter_policy.h
│ │ │ ├── iterator.h
│ │ │ ├── options.h
│ │ │ ├── slice.h
│ │ │ ├── status.h
│ │ │ ├── table.h
│ │ │ ├── table_builder.h
│ │ │ └── write_batch.h
│ ├── issues
│ │ ├── issue178_test.cc
│ │ └── issue200_test.cc
│ ├── port
│ │ ├── README
│ │ ├── atomic_pointer.h
│ │ ├── port.h
│ │ ├── port_example.h
│ │ ├── port_posix.cc
│ │ ├── port_posix.h
│ │ ├── port_posix_sse.cc
│ │ ├── port_win.cc
│ │ ├── port_win.h
│ │ ├── thread_annotations.h
│ │ └── win
│ │ │ └── stdint.h
│ ├── table
│ │ ├── block.cc
│ │ ├── block.h
│ │ ├── block_builder.cc
│ │ ├── block_builder.h
│ │ ├── filter_block.cc
│ │ ├── filter_block.h
│ │ ├── filter_block_test.cc
│ │ ├── format.cc
│ │ ├── format.h
│ │ ├── iterator.cc
│ │ ├── iterator_wrapper.h
│ │ ├── merger.cc
│ │ ├── merger.h
│ │ ├── table.cc
│ │ ├── table_builder.cc
│ │ ├── table_test.cc
│ │ ├── two_level_iterator.cc
│ │ └── two_level_iterator.h
│ └── util
│ │ ├── arena.cc
│ │ ├── arena.h
│ │ ├── arena_test.cc
│ │ ├── bloom.cc
│ │ ├── bloom_test.cc
│ │ ├── cache.cc
│ │ ├── cache_test.cc
│ │ ├── coding.cc
│ │ ├── coding.h
│ │ ├── coding_test.cc
│ │ ├── comparator.cc
│ │ ├── crc32c.cc
│ │ ├── crc32c.h
│ │ ├── crc32c_test.cc
│ │ ├── env.cc
│ │ ├── env_posix.cc
│ │ ├── env_posix_test.cc
│ │ ├── env_posix_test_helper.h
│ │ ├── env_test.cc
│ │ ├── env_win.cc
│ │ ├── filter_policy.cc
│ │ ├── hash.cc
│ │ ├── hash.h
│ │ ├── hash_test.cc
│ │ ├── histogram.cc
│ │ ├── histogram.h
│ │ ├── logging.cc
│ │ ├── logging.h
│ │ ├── mutexlock.h
│ │ ├── options.cc
│ │ ├── posix_logger.h
│ │ ├── random.h
│ │ ├── status.cc
│ │ ├── testharness.cc
│ │ ├── testharness.h
│ │ ├── testutil.cc
│ │ └── testutil.h
├── leveldbwrapper.cpp
├── leveldbwrapper.h
├── libzerocoin
│ ├── Accumulator.cpp
│ ├── Accumulator.h
│ ├── AccumulatorProofOfKnowledge.cpp
│ ├── AccumulatorProofOfKnowledge.h
│ ├── Coin.cpp
│ ├── Coin.h
│ ├── CoinSpend.cpp
│ ├── CoinSpend.h
│ ├── Commitment.cpp
│ ├── Commitment.h
│ ├── Denominations.cpp
│ ├── Denominations.h
│ ├── LICENSE
│ ├── ParamGeneration.cpp
│ ├── ParamGeneration.h
│ ├── Params.cpp
│ ├── Params.h
│ ├── SerialNumberSignatureOfKnowledge.cpp
│ ├── SerialNumberSignatureOfKnowledge.h
│ ├── SpendType.h
│ ├── ZerocoinDefines.h
│ ├── bignum.cpp
│ ├── bignum.h
│ ├── bignum_gmp.cpp
│ ├── bignum_openssl.cpp
│ ├── documentation
│ │ ├── Doxyfile
│ │ └── manual
│ │ │ ├── intro.tex
│ │ │ ├── manual.pdf
│ │ │ ├── manual.tex
│ │ │ └── using.tex
│ ├── paramgen.cpp
│ └── zerocoin.pc.in
├── lightzwspthread.cpp
├── lightzwspthread.h
├── limitedmap.h
├── main.cpp
├── main.h
├── masternode-budget.cpp
├── masternode-budget.h
├── masternode-payments.cpp
├── masternode-payments.h
├── masternode-sync.cpp
├── masternode-sync.h
├── masternode.cpp
├── masternode.h
├── masternodeconfig.cpp
├── masternodeconfig.h
├── masternodeman.cpp
├── masternodeman.h
├── merkleblock.cpp
├── merkleblock.h
├── miner.cpp
├── miner.h
├── mruset.h
├── net.cpp
├── net.h
├── netbase.cpp
├── netbase.h
├── noui.cpp
├── noui.h
├── obfuscation-relay.cpp
├── obfuscation-relay.h
├── obfuscation.cpp
├── obfuscation.h
├── obj-test
│ └── .gitignore
├── obj
│ └── .gitignore
├── pow.cpp
├── pow.h
├── primitives
│ ├── block.cpp
│ ├── block.h
│ ├── transaction.cpp
│ └── transaction.h
├── protocol.cpp
├── protocol.h
├── pubkey.cpp
├── pubkey.h
├── qt
│ ├── CMakeLists.txt
│ ├── addressbookpage.cpp
│ ├── addressbookpage.h
│ ├── addresstablemodel.cpp
│ ├── addresstablemodel.h
│ ├── askpassphrasedialog.cpp
│ ├── askpassphrasedialog.h
│ ├── bantablemodel.cpp
│ ├── bantablemodel.h
│ ├── bip38tooldialog.cpp
│ ├── bip38tooldialog.h
│ ├── bitcoinaddressvalidator.cpp
│ ├── bitcoinaddressvalidator.h
│ ├── bitcoinamountfield.cpp
│ ├── bitcoinamountfield.h
│ ├── bitcoingui.cpp
│ ├── bitcoingui.h
│ ├── bitcoinunits.cpp
│ ├── bitcoinunits.h
│ ├── blockexplorer.cpp
│ ├── blockexplorer.h
│ ├── clientmodel.cpp
│ ├── clientmodel.h
│ ├── coincontroldialog.cpp
│ ├── coincontroldialog.h
│ ├── coincontroltreewidget.cpp
│ ├── coincontroltreewidget.h
│ ├── csvmodelwriter.cpp
│ ├── csvmodelwriter.h
│ ├── editaddressdialog.cpp
│ ├── editaddressdialog.h
│ ├── forms
│ │ ├── addressbookpage.ui
│ │ ├── askpassphrasedialog.ui
│ │ ├── bip38tooldialog.ui
│ │ ├── blockexplorer.ui
│ │ ├── coincontroldialog.ui
│ │ ├── editaddressdialog.ui
│ │ ├── governancepage.ui
│ │ ├── helpmessagedialog.ui
│ │ ├── intro.ui
│ │ ├── masternodelist.ui
│ │ ├── multisenddialog.ui
│ │ ├── multisigdialog.ui
│ │ ├── obfuscationconfig.ui
│ │ ├── openuridialog.ui
│ │ ├── optionsdialog.ui
│ │ ├── overviewpage.ui
│ │ ├── privacydialog.ui
│ │ ├── receivecoinsdialog.ui
│ │ ├── receiverequestdialog.ui
│ │ ├── rpcconsole.ui
│ │ ├── sendcoinsdialog.ui
│ │ ├── sendcoinsentry.ui
│ │ ├── signverifymessagedialog.ui
│ │ ├── transactiondescdialog.ui
│ │ └── zwspcontroldialog.ui
│ ├── governancepage.cpp
│ ├── governancepage.h
│ ├── guiconstants.h
│ ├── guiutil.cpp
│ ├── guiutil.h
│ ├── intro.cpp
│ ├── intro.h
│ ├── locale
│ │ ├── wispr_bg.ts
│ │ ├── wispr_ca.ts
│ │ ├── wispr_cs.ts
│ │ ├── wispr_da.ts
│ │ ├── wispr_de.ts
│ │ ├── wispr_en.ts
│ │ ├── wispr_en_GB.ts
│ │ ├── wispr_en_US.ts
│ │ ├── wispr_eo.ts
│ │ ├── wispr_es.ts
│ │ ├── wispr_es_ES.ts
│ │ ├── wispr_fi.ts
│ │ ├── wispr_fr_FR.ts
│ │ ├── wispr_hi_IN.ts
│ │ ├── wispr_hr.ts
│ │ ├── wispr_hr_HR.ts
│ │ ├── wispr_it.ts
│ │ ├── wispr_ja.ts
│ │ ├── wispr_ko_KR.ts
│ │ ├── wispr_lt_LT.ts
│ │ ├── wispr_nl.ts
│ │ ├── wispr_pl.ts
│ │ ├── wispr_pt.ts
│ │ ├── wispr_pt_BR.ts
│ │ ├── wispr_ro_RO.ts
│ │ ├── wispr_ru.ts
│ │ ├── wispr_sk.ts
│ │ ├── wispr_sv.ts
│ │ ├── wispr_tr.ts
│ │ ├── wispr_uk.ts
│ │ ├── wispr_vi.ts
│ │ ├── wispr_zh_CN.ts
│ │ └── wispr_zh_TW.ts
│ ├── macdockiconhandler.h
│ ├── macdockiconhandler.mm
│ ├── macnotificationhandler.h
│ ├── macnotificationhandler.mm
│ ├── masternodelist.cpp
│ ├── masternodelist.h
│ ├── multisenddialog.cpp
│ ├── multisenddialog.h
│ ├── multisigdialog.cpp
│ ├── multisigdialog.h
│ ├── networkstyle.cpp
│ ├── networkstyle.h
│ ├── notificator.cpp
│ ├── notificator.h
│ ├── openuridialog.cpp
│ ├── openuridialog.h
│ ├── optionsdialog.cpp
│ ├── optionsdialog.h
│ ├── optionsmodel.cpp
│ ├── optionsmodel.h
│ ├── overviewpage.cpp
│ ├── overviewpage.h
│ ├── paymentrequest.proto
│ ├── paymentrequestplus.cpp
│ ├── paymentrequestplus.h
│ ├── paymentserver.cpp
│ ├── paymentserver.h
│ ├── peertablemodel.cpp
│ ├── peertablemodel.h
│ ├── platformstyle.cpp
│ ├── platformstyle.h
│ ├── privacydialog.cpp
│ ├── privacydialog.h
│ ├── proposalframe.cpp
│ ├── proposalframe.h
│ ├── qvalidatedlineedit.cpp
│ ├── qvalidatedlineedit.h
│ ├── qvaluecombobox.cpp
│ ├── qvaluecombobox.h
│ ├── receivecoinsdialog.cpp
│ ├── receivecoinsdialog.h
│ ├── receiverequestdialog.cpp
│ ├── receiverequestdialog.h
│ ├── recentrequeststablemodel.cpp
│ ├── recentrequeststablemodel.h
│ ├── res
│ │ ├── css
│ │ │ └── default.css
│ │ ├── icons
│ │ │ ├── abstainvote.png
│ │ │ ├── add.png
│ │ │ ├── address-book.png
│ │ │ ├── automint_active.png
│ │ │ ├── automint_inactive.png
│ │ │ ├── bitcoin.icns
│ │ │ ├── bitcoin.ico
│ │ │ ├── bitcoin.png
│ │ │ ├── bitcoin_regtest.png
│ │ │ ├── bitcoin_testnet.ico
│ │ │ ├── bitcoin_testnet.png
│ │ │ ├── bittrex.png
│ │ │ ├── browse.png
│ │ │ ├── clock1.png
│ │ │ ├── clock2.png
│ │ │ ├── clock3.png
│ │ │ ├── clock4.png
│ │ │ ├── clock5.png
│ │ │ ├── configure.png
│ │ │ ├── connect0_16.png
│ │ │ ├── connect1_16.png
│ │ │ ├── connect2_16.png
│ │ │ ├── connect3_16.png
│ │ │ ├── connect4_16.png
│ │ │ ├── debugwindow.png
│ │ │ ├── edit.png
│ │ │ ├── editcopy.png
│ │ │ ├── editpaste.png
│ │ │ ├── explorer.png
│ │ │ ├── export.png
│ │ │ ├── eye.png
│ │ │ ├── eye_minus.png
│ │ │ ├── eye_plus.png
│ │ │ ├── filesave.png
│ │ │ ├── governance.png
│ │ │ ├── governance_dark.png
│ │ │ ├── history.png
│ │ │ ├── import.png
│ │ │ ├── key.png
│ │ │ ├── lock_closed.png
│ │ │ ├── lock_open.png
│ │ │ ├── masternodes.png
│ │ │ ├── notsynced.png
│ │ │ ├── novote.png
│ │ │ ├── onion.png
│ │ │ ├── overview.png
│ │ │ ├── privacy.png
│ │ │ ├── qrcode.png
│ │ │ ├── quit.png
│ │ │ ├── receive.png
│ │ │ ├── receive_dark.png
│ │ │ ├── remove.png
│ │ │ ├── send.png
│ │ │ ├── send_dark.png
│ │ │ ├── staking_active.png
│ │ │ ├── staking_inactive.png
│ │ │ ├── staking_off.png
│ │ │ ├── staking_on.png
│ │ │ ├── synced.png
│ │ │ ├── trade.png
│ │ │ ├── transaction0.png
│ │ │ ├── transaction0_dark.png
│ │ │ ├── transaction2.png
│ │ │ ├── transaction_conflicted.png
│ │ │ ├── tx_inout.png
│ │ │ ├── tx_input.png
│ │ │ ├── tx_mined.png
│ │ │ ├── tx_output.png
│ │ │ ├── unit_mwispr.png
│ │ │ ├── unit_tmwispr.png
│ │ │ ├── unit_tuwispr.png
│ │ │ ├── unit_twispr.png
│ │ │ ├── unit_uwispr.png
│ │ │ ├── unit_wispr.png
│ │ │ ├── wispr-128.png
│ │ │ ├── wispr-16.png
│ │ │ ├── wispr-32.png
│ │ │ ├── wispr-48.png
│ │ │ ├── wispr-80.png
│ │ │ ├── wispr.ico
│ │ │ └── yesvote.png
│ │ ├── images
│ │ │ ├── about.png
│ │ │ ├── downArrow.png
│ │ │ ├── downArrow_dark.png
│ │ │ ├── downArrow_small.png
│ │ │ ├── downArrow_small_dark.png
│ │ │ ├── header2.png
│ │ │ ├── leftArrow_small.png
│ │ │ ├── leftArrow_small_dark.png
│ │ │ ├── qtreeview_selected.png
│ │ │ ├── rightArrow_small.png
│ │ │ ├── rightArrow_small_dark.png
│ │ │ ├── splash.png
│ │ │ ├── splash_regtest.png
│ │ │ ├── splash_testnet.png
│ │ │ ├── upArrow_small.png
│ │ │ ├── upArrow_small_dark.png
│ │ │ └── wispr_logo_horizontal.png
│ │ ├── 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
│ │ ├── src
│ │ │ ├── bitcoin.svg
│ │ │ ├── clock1.svg
│ │ │ ├── clock2.svg
│ │ │ ├── clock3.svg
│ │ │ ├── clock4.svg
│ │ │ ├── clock5.svg
│ │ │ ├── clock_green.svg
│ │ │ ├── inout.svg
│ │ │ └── questionmark.svg
│ │ └── wispr-qt-res.rc
│ ├── rpcconsole.cpp
│ ├── rpcconsole.h
│ ├── sendcoinsdialog.cpp
│ ├── sendcoinsdialog.h
│ ├── sendcoinsentry.cpp
│ ├── sendcoinsentry.h
│ ├── signverifymessagedialog.cpp
│ ├── signverifymessagedialog.h
│ ├── splashscreen.cpp
│ ├── splashscreen.h
│ ├── test
│ │ ├── paymentrequestdata.h
│ │ ├── paymentservertests.cpp
│ │ ├── paymentservertests.h
│ │ ├── test_main.cpp
│ │ ├── uritests.cpp
│ │ └── uritests.h
│ ├── trafficgraphwidget.cpp
│ ├── trafficgraphwidget.h
│ ├── transactiondesc.cpp
│ ├── transactiondesc.h
│ ├── transactiondescdialog.cpp
│ ├── transactiondescdialog.h
│ ├── transactionfilterproxy.cpp
│ ├── transactionfilterproxy.h
│ ├── transactionrecord.cpp
│ ├── transactionrecord.h
│ ├── transactiontablemodel.cpp
│ ├── transactiontablemodel.h
│ ├── transactionview.cpp
│ ├── transactionview.h
│ ├── utilitydialog.cpp
│ ├── utilitydialog.h
│ ├── walletframe.cpp
│ ├── walletframe.h
│ ├── walletmodel.cpp
│ ├── walletmodel.h
│ ├── walletmodeltransaction.cpp
│ ├── walletmodeltransaction.h
│ ├── walletview.cpp
│ ├── walletview.h
│ ├── winshutdownmonitor.cpp
│ ├── winshutdownmonitor.h
│ ├── wispr.cpp
│ ├── wispr.qrc
│ ├── wispr_locale.qrc
│ ├── wisprstrings.cpp
│ ├── zwspcontroldialog.cpp
│ └── zwspcontroldialog.h
├── random.cpp
├── random.h
├── rest.cpp
├── reverse_iterate.h
├── reverselock.h
├── rpc
│ ├── blockchain.cpp
│ ├── budget.cpp
│ ├── client.cpp
│ ├── client.h
│ ├── masternode.cpp
│ ├── mining.cpp
│ ├── misc.cpp
│ ├── net.cpp
│ ├── protocol.cpp
│ ├── protocol.h
│ ├── rawtransaction.cpp
│ ├── server.cpp
│ └── server.h
├── scheduler.cpp
├── scheduler.h
├── script
│ ├── bitcoinconsensus.cpp
│ ├── bitcoinconsensus.h
│ ├── interpreter.cpp
│ ├── interpreter.h
│ ├── script.cpp
│ ├── script.h
│ ├── script_error.cpp
│ ├── script_error.h
│ ├── sigcache.cpp
│ ├── sigcache.h
│ ├── sign.cpp
│ ├── sign.h
│ ├── standard.cpp
│ └── standard.h
├── secp256k1
│ ├── .gitignore
│ ├── .travis.yml
│ ├── COPYING
│ ├── Makefile.am
│ ├── README.md
│ ├── TODO
│ ├── autogen.sh
│ ├── build-aux
│ │ └── m4
│ │ │ ├── ax_jni_include_dir.m4
│ │ │ ├── ax_prog_cc_for_build.m4
│ │ │ └── bitcoin_secp.m4
│ ├── configure.ac
│ ├── contrib
│ │ ├── lax_der_parsing.c
│ │ ├── lax_der_parsing.h
│ │ ├── lax_der_privatekey_parsing.c
│ │ └── lax_der_privatekey_parsing.h
│ ├── include
│ │ ├── secp256k1.h
│ │ ├── secp256k1_ecdh.h
│ │ └── secp256k1_recovery.h
│ ├── libsecp256k1.pc.in
│ ├── obj
│ │ └── .gitignore
│ ├── sage
│ │ ├── group_prover.sage
│ │ ├── secp256k1.sage
│ │ └── weierstrass_prover.sage
│ └── src
│ │ ├── asm
│ │ └── field_10x26_arm.s
│ │ ├── basic-config.h
│ │ ├── bench.h
│ │ ├── bench_ecdh.c
│ │ ├── bench_ecmult.c
│ │ ├── bench_internal.c
│ │ ├── bench_recover.c
│ │ ├── bench_sign.c
│ │ ├── bench_verify.c
│ │ ├── ecdsa.h
│ │ ├── ecdsa_impl.h
│ │ ├── eckey.h
│ │ ├── eckey_impl.h
│ │ ├── ecmult.h
│ │ ├── ecmult_const.h
│ │ ├── ecmult_const_impl.h
│ │ ├── ecmult_gen.h
│ │ ├── ecmult_gen_impl.h
│ │ ├── ecmult_impl.h
│ │ ├── field.h
│ │ ├── field_10x26.h
│ │ ├── field_10x26_impl.h
│ │ ├── field_5x52.h
│ │ ├── field_5x52_asm_impl.h
│ │ ├── field_5x52_impl.h
│ │ ├── field_5x52_int128_impl.h
│ │ ├── field_impl.h
│ │ ├── gen_context.c
│ │ ├── group.h
│ │ ├── group_impl.h
│ │ ├── hash.h
│ │ ├── hash_impl.h
│ │ ├── java
│ │ ├── org
│ │ │ └── bitcoin
│ │ │ │ ├── NativeSecp256k1.java
│ │ │ │ ├── NativeSecp256k1Test.java
│ │ │ │ ├── NativeSecp256k1Util.java
│ │ │ │ └── Secp256k1Context.java
│ │ ├── org_bitcoin_NativeSecp256k1.c
│ │ ├── org_bitcoin_NativeSecp256k1.h
│ │ ├── org_bitcoin_Secp256k1Context.c
│ │ └── org_bitcoin_Secp256k1Context.h
│ │ ├── modules
│ │ ├── ecdh
│ │ │ ├── Makefile.am.include
│ │ │ ├── main_impl.h
│ │ │ └── tests_impl.h
│ │ └── recovery
│ │ │ ├── Makefile.am.include
│ │ │ ├── main_impl.h
│ │ │ └── tests_impl.h
│ │ ├── num.h
│ │ ├── num_gmp.h
│ │ ├── num_gmp_impl.h
│ │ ├── num_impl.h
│ │ ├── scalar.h
│ │ ├── scalar_4x64.h
│ │ ├── scalar_4x64_impl.h
│ │ ├── scalar_8x32.h
│ │ ├── scalar_8x32_impl.h
│ │ ├── scalar_impl.h
│ │ ├── scalar_low.h
│ │ ├── scalar_low_impl.h
│ │ ├── scratch.h
│ │ ├── scratch_impl.h
│ │ ├── secp256k1.c
│ │ ├── testrand.h
│ │ ├── testrand_impl.h
│ │ ├── tests.c
│ │ ├── tests_exhaustive.c
│ │ └── util.h
├── serialize.h
├── spork.cpp
├── spork.h
├── sporkdb.cpp
├── sporkdb.h
├── stakeinput.cpp
├── stakeinput.h
├── streams.h
├── support
│ ├── cleanse.cpp
│ └── cleanse.h
├── swifttx.cpp
├── swifttx.h
├── sync.cpp
├── sync.h
├── test
│ ├── CMakeLists.txt
│ ├── Checkpoints_tests.cpp
│ ├── DoS_tests.cpp
│ ├── README.md
│ ├── accounting_tests.cpp
│ ├── addrman_tests.cpp
│ ├── alert_tests.cpp
│ ├── allocator_tests.cpp
│ ├── arith_uint256_tests.cpp
│ ├── base32_tests.cpp
│ ├── base58_tests.cpp
│ ├── base64_tests.cpp
│ ├── benchmark_zerocoin.cpp
│ ├── bip32_tests.cpp
│ ├── bloom_tests.cpp
│ ├── budget_tests.cpp
│ ├── checkblock_tests.cpp
│ ├── coins_tests.cpp
│ ├── compress_tests.cpp
│ ├── crypto_tests.cpp
│ ├── data
│ │ ├── README.md
│ │ ├── alertTests.raw
│ │ ├── base58_encode_decode.json
│ │ ├── base58_keys_invalid.json
│ │ ├── base58_keys_valid.json
│ │ ├── script_invalid.json
│ │ ├── script_valid.json
│ │ ├── sig_canonical.json
│ │ ├── sig_noncanonical.json
│ │ ├── sighash.json
│ │ ├── tx_invalid.json
│ │ └── tx_valid.json
│ ├── getarg_tests.cpp
│ ├── hash_tests.cpp
│ ├── key_tests.cpp
│ ├── libzerocoin_tests.cpp
│ ├── main_tests.cpp
│ ├── mempool_tests.cpp
│ ├── miner_tests.cpp
│ ├── mruset_tests.cpp
│ ├── multisig_tests.cpp
│ ├── netbase_tests.cpp
│ ├── pmt_tests.cpp
│ ├── reverselock_tests.cpp
│ ├── rpc_tests.cpp
│ ├── rpc_wallet_tests.cpp
│ ├── sanity_tests.cpp
│ ├── scheduler_tests.cpp
│ ├── script_P2SH_tests.cpp
│ ├── script_tests.cpp
│ ├── scriptnum_tests.cpp
│ ├── serialize_tests.cpp
│ ├── sighash_tests.cpp
│ ├── sigopcount_tests.cpp
│ ├── skiplist_tests.cpp
│ ├── test_wispr.cpp
│ ├── test_wispr.h
│ ├── test_zerocoin.cpp
│ ├── timedata_tests.cpp
│ ├── torcontrol_tests.cpp
│ ├── transaction_tests.cpp
│ ├── tutorial_zerocoin.cpp
│ ├── uint256_tests.cpp
│ ├── univalue_tests.cpp
│ ├── util_tests.cpp
│ ├── zerocoin_bignum_tests.cpp
│ ├── zerocoin_chain_tests.cpp
│ ├── zerocoin_coinspend_tests.cpp
│ ├── zerocoin_denomination_tests.cpp
│ ├── zerocoin_implementation_tests.cpp
│ └── zerocoin_transactions_tests.cpp
├── threadsafety.h
├── timedata.cpp
├── timedata.h
├── tinyformat.h
├── torcontrol.cpp
├── torcontrol.h
├── txdb.cpp
├── txdb.h
├── txmempool.cpp
├── txmempool.h
├── uint256.cpp
├── uint256.h
├── uint512.h
├── undo.h
├── univalue
│ ├── .gitignore
│ ├── .travis.yml
│ ├── COPYING
│ ├── Makefile.am
│ ├── README.md
│ ├── TODO
│ ├── autogen.sh
│ ├── build-aux
│ │ └── m4
│ │ │ └── .gitignore
│ ├── configure.ac
│ ├── gen
│ │ └── gen.cpp
│ ├── include
│ │ └── univalue.h
│ ├── lib
│ │ ├── .gitignore
│ │ ├── univalue.cpp
│ │ ├── univalue_escapes.h
│ │ ├── univalue_read.cpp
│ │ ├── univalue_utffilter.h
│ │ └── univalue_write.cpp
│ ├── pc
│ │ ├── libunivalue-uninstalled.pc.in
│ │ └── libunivalue.pc.in
│ └── test
│ │ ├── .gitignore
│ │ ├── fail1.json
│ │ ├── fail10.json
│ │ ├── fail11.json
│ │ ├── fail12.json
│ │ ├── fail13.json
│ │ ├── fail14.json
│ │ ├── fail15.json
│ │ ├── fail16.json
│ │ ├── fail17.json
│ │ ├── fail18.json
│ │ ├── fail19.json
│ │ ├── fail2.json
│ │ ├── fail20.json
│ │ ├── fail21.json
│ │ ├── fail22.json
│ │ ├── fail23.json
│ │ ├── fail24.json
│ │ ├── fail25.json
│ │ ├── fail26.json
│ │ ├── fail27.json
│ │ ├── fail28.json
│ │ ├── fail29.json
│ │ ├── fail3.json
│ │ ├── fail30.json
│ │ ├── fail31.json
│ │ ├── fail32.json
│ │ ├── fail33.json
│ │ ├── fail34.json
│ │ ├── fail35.json
│ │ ├── fail36.json
│ │ ├── fail37.json
│ │ ├── fail38.json
│ │ ├── fail39.json
│ │ ├── fail4.json
│ │ ├── fail40.json
│ │ ├── fail41.json
│ │ ├── fail42.json
│ │ ├── fail44.json
│ │ ├── fail5.json
│ │ ├── fail6.json
│ │ ├── fail7.json
│ │ ├── fail8.json
│ │ ├── fail9.json
│ │ ├── no_nul.cpp
│ │ ├── object.cpp
│ │ ├── pass1.json
│ │ ├── pass2.json
│ │ ├── pass3.json
│ │ ├── round1.json
│ │ ├── round2.json
│ │ ├── round3.json
│ │ ├── round4.json
│ │ ├── round5.json
│ │ ├── round6.json
│ │ ├── round7.json
│ │ ├── test_json.cpp
│ │ └── unitester.cpp
├── util.cpp
├── util.h
├── utilmoneystr.cpp
├── utilmoneystr.h
├── utilstrencodings.cpp
├── utilstrencodings.h
├── utiltime.cpp
├── utiltime.h
├── validationinterface.cpp
├── validationinterface.h
├── version.h
├── wallet
│ ├── db.cpp
│ ├── db.h
│ ├── rpcdump.cpp
│ ├── rpcwallet.cpp
│ ├── test
│ │ └── wallet_tests.cpp
│ ├── wallet.cpp
│ ├── wallet.h
│ ├── wallet_ismine.cpp
│ ├── wallet_ismine.h
│ ├── walletdb.cpp
│ └── walletdb.h
├── wispr-cli-res.rc
├── wispr-cli.cpp
├── wispr-tx-res.rc
├── wispr-tx.cpp
├── wisprd-res.rc
├── wisprd.cpp
├── zmq
│ ├── zmqabstractnotifier.cpp
│ ├── zmqabstractnotifier.h
│ ├── zmqconfig.h
│ ├── zmqnotificationinterface.cpp
│ ├── zmqnotificationinterface.h
│ ├── zmqpublishnotifier.cpp
│ └── zmqpublishnotifier.h
├── zpiv
│ ├── accumulatorcheckpoints.cpp
│ ├── accumulatorcheckpoints.h
│ ├── accumulatorcheckpoints.json.h
│ ├── accumulatormap.cpp
│ ├── accumulatormap.h
│ ├── accumulators.cpp
│ ├── accumulators.h
│ ├── deterministicmint.cpp
│ ├── deterministicmint.h
│ ├── mintpool.cpp
│ ├── mintpool.h
│ ├── witness.cpp
│ ├── witness.h
│ ├── zerocoin.cpp
│ ├── zerocoin.h
│ ├── zwspmodule.cpp
│ ├── zwspmodule.h
│ ├── zwsptracker.cpp
│ ├── zwsptracker.h
│ ├── zwspwallet.cpp
│ └── zwspwallet.h
├── zwspchain.cpp
└── zwspchain.h
└── test
├── README.md
├── config.ini.in
├── functional
├── README.md
├── combine_logs.py
├── combined_log_template.html
├── create_cache.py
├── example_test.py
├── fake_stake
│ ├── base_test.py
│ └── util.py
├── feature_block.py
├── feature_cltv.py
├── feature_config_args.py
├── feature_fee_estimation.py
├── feature_help.py
├── feature_minchainwork.py
├── feature_notifications.py
├── feature_nulldummy.py
├── feature_proxy.py
├── feature_reindex.py
├── feature_uacomment.py
├── interface_bitcoin_cli.py
├── interface_http.py
├── interface_rest.py
├── interface_zmq.py
├── mempool_limit.py
├── mempool_persist.py
├── mempool_reorg.py
├── mempool_resurrect.py
├── mempool_spend_coinbase.py
├── mining_basic.py
├── mining_getblocktemplate_longpoll.py
├── mining_prioritisetransaction.py
├── p2p_disconnect_ban.py
├── p2p_feefilter.py
├── p2p_fingerprint.py
├── p2p_invalid_block.py
├── p2p_invalid_tx.py
├── p2p_leak.py
├── p2p_mempool.py
├── p2p_pos_doublespend.py
├── p2p_pos_fakestake.py
├── p2p_pos_fakestake_accepted.py
├── p2p_sendheaders.py
├── p2p_timeouts.py
├── p2p_unrequested_blocks.py
├── p2p_zpos_fakestake.py
├── p2p_zpos_fakestake_accepted.py
├── rpc_bind.py
├── rpc_bip38.py
├── rpc_blockchain.py
├── rpc_decodescript.py
├── rpc_deprecated.py
├── rpc_fundrawtransaction.py
├── rpc_getchaintips.py
├── rpc_invalidateblock.py
├── rpc_listtransactions.py
├── rpc_net.py
├── rpc_rawtransaction.py
├── rpc_signmessage.py
├── rpc_signrawtransaction.py
├── rpc_spork.py
├── rpc_users.py
├── test_framework
│ ├── __init__.py
│ ├── address.py
│ ├── authproxy.py
│ ├── bignum.py
│ ├── blockstore.py
│ ├── blocktools.py
│ ├── comptool.py
│ ├── coverage.py
│ ├── key.py
│ ├── messages.py
│ ├── mininode.py
│ ├── netutil.py
│ ├── script.py
│ ├── siphash.py
│ ├── socks5.py
│ ├── test_framework.py
│ ├── test_node.py
│ └── util.py
├── test_runner.py
├── wallet_abandonconflict.py
├── wallet_accounts.py
├── wallet_backup.py
├── wallet_basic.py
├── wallet_bumpfee.py
├── wallet_disable.py
├── wallet_dump.py
├── wallet_encryption.py
├── wallet_import_rescan.py
├── wallet_importmulti.py
├── wallet_keypool.py
├── wallet_keypool_topup.py
├── wallet_listreceivedby.py
├── wallet_listsinceblock.py
├── wallet_resendwallettransactions.py
├── wallet_txn_clone.py
├── wallet_txn_doublespend.py
├── wallet_zapwallettxes.py
├── zerocoin_publicSpend_reorg.py
├── zerocoin_valid_public_spend.py
└── zerocoin_wrapped_serials.py
└── util
├── bitcoin-util-test.py
├── data
├── bitcoin-util-test.json
├── blanktxv1.hex
├── blanktxv1.json
├── tt-delin1-out.hex
├── tt-delin1-out.json
├── tt-delout1-out.hex
├── tt-delout1-out.json
├── tt-locktime317000-out.hex
├── tt-locktime317000-out.json
├── tx394b54bb.hex
├── txcreate1.hex
├── txcreate1.json
├── txcreate2.hex
├── txcreate2.json
├── txcreatescript1.hex
├── txcreatescript1.json
├── txcreatesign.hex
└── txcreatesign.json
└── rpcauth-test.py
/.gitattributes:
--------------------------------------------------------------------------------
1 | src/clientversion.cpp export-subst
2 |
--------------------------------------------------------------------------------
/.python-version:
--------------------------------------------------------------------------------
1 | 3.5.6
2 |
--------------------------------------------------------------------------------
/.travis/README.md:
--------------------------------------------------------------------------------
1 | ## travis build scripts
2 |
3 | The `.travis` directory contains scripts for each build step in each build stage.
4 | Currently the travis build defines two stages `lint` and `test`. Each stage has
5 | it's own [lifecycle](https://docs.travis-ci.com/user/customizing-the-build/#the-build-lifecycle).
6 | Every script in here is named and numbered according to which stage and lifecycle
7 | step it belongs to.
8 |
9 |
--------------------------------------------------------------------------------
/.travis/lint_04_install.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Copyright (c) 2018 The Bitcoin Core developers
4 | # Distributed under the MIT software license, see the accompanying
5 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 |
7 | export LC_ALL=C
8 |
9 | travis_retry pip install codespell==1.13.0
10 | travis_retry pip install flake8==3.5.0
11 | travis_retry pip install vulture==0.29
12 |
13 | SHELLCHECK_VERSION=v0.6.0
14 | curl -s "https://storage.googleapis.com/shellcheck/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/
15 | export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}"
16 |
--------------------------------------------------------------------------------
/.travis/lint_05_before_script.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Copyright (c) 2018 The Bitcoin Core developers
4 | # Distributed under the MIT software license, see the accompanying
5 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 |
7 | export LC_ALL=C
8 |
9 | git fetch --unshallow
10 |
--------------------------------------------------------------------------------
/.travis/lint_06_script.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Copyright (c) 2018 The Bitcoin Core developers
4 | # Distributed under the MIT software license, see the accompanying
5 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 |
7 | export LC_ALL=C
8 |
9 |
10 | contrib/devtools/git-subtree-check.sh src/secp256k1
11 | contrib/devtools/git-subtree-check.sh src/univalue
12 | contrib/devtools/git-subtree-check.sh src/leveldb
13 | contrib/devtools/check-doc.py
14 | contrib/devtools/logprint-scanner.py
15 |
16 | if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ]; then
17 | contrib/devtools/lint-whitespace.sh
18 | fi
19 |
--------------------------------------------------------------------------------
/.travis/test_03_before_install.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Copyright (c) 2018 The Bitcoin Core developers
4 | # Distributed under the MIT software license, see the accompanying
5 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 |
7 | export LC_ALL=C.UTF-8
8 |
9 | PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
10 | # Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
11 | PATH=$PATH:/usr/lib/llvm-6.0/bin/
12 | export PATH
13 |
14 | BEGIN_FOLD () {
15 | echo ""
16 | CURRENT_FOLD_NAME=$1
17 | echo "travis_fold:start:${CURRENT_FOLD_NAME}"
18 | }
19 |
20 | END_FOLD () {
21 | RET=$?
22 | echo "travis_fold:end:${CURRENT_FOLD_NAME}"
23 | if [ $RET != 0 ]; then
24 | echo "${CURRENT_FOLD_NAME} failed with status code ${RET}"
25 | fi
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/.travis/test_05_before_script.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Copyright (c) 2018 The Bitcoin Core developers
4 | # Distributed under the MIT software license, see the accompanying
5 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 |
7 | export LC_ALL=C.UTF-8
8 |
9 | #DOCKER_EXEC echo \> \$HOME/.wispr # Make sure default datadir does not exist and is never read by creating a dummy file
10 |
11 | mkdir -p depends/SDKs depends/sdk-sources
12 |
13 | if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
14 | curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
15 | fi
16 | if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then
17 | tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz
18 | fi
19 | if [[ $HOST = *-mingw32 ]]; then
20 | DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\)
21 | fi
22 | if [ -z "$NO_DEPENDS" ]; then
23 | DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
24 | fi
25 |
26 |
--------------------------------------------------------------------------------
/.travis/test_06_script_b.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #
3 | # Copyright (c) 2018 The Bitcoin Core developers
4 | # Distributed under the MIT software license, see the accompanying
5 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 |
7 | export LC_ALL=C.UTF-8
8 |
9 | cd "build/wispr-$HOST" || (echo "could not enter distdir build/wispr-$HOST"; exit 1)
10 |
11 | if [ "$RUN_UNIT_TESTS" = "true" ]; then
12 | BEGIN_FOLD unit-tests
13 | DOCKER_EXEC LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib make $MAKEJOBS check VERBOSE=1
14 | END_FOLD
15 | fi
16 |
17 | if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then
18 | BEGIN_FOLD functional-tests
19 | DOCKER_EXEC test/functional/test_runner.py --combinedlogslen=4000 ${TEST_RUNNER_EXTRA}
20 | END_FOLD
21 | fi
22 |
23 | cd ${TRAVIS_BUILD_DIR} || (echo "could not enter travis build dir $TRAVIS_BUILD_DIR"; exit 1)
24 |
--------------------------------------------------------------------------------
/INSTALL:
--------------------------------------------------------------------------------
1 | Building WISPR
2 |
3 | Use the autogen script to prepare the build environment.
4 |
5 | ./autogen.sh
6 | ./configure
7 | make
8 |
9 | Always verify the signatures and checksums.
10 |
11 | See doc/build-*.md for instructions on building wisprd,
12 | the intended-for-services, no-graphical-interface, reference
13 | implementation of WISPR.
14 |
--------------------------------------------------------------------------------
/autogen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Copyright (c) 2013-2016 The Bitcoin Core developers
3 | # Distributed under the MIT software license, see the accompanying
4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 |
6 | export LC_ALL=C
7 | set -e
8 | srcdir="$(dirname $0)"
9 | cd "$srcdir"
10 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="$(command -v glibtoolize)"; then
11 | LIBTOOLIZE="${GLIBTOOLIZE}"
12 | export LIBTOOLIZE
13 | fi
14 | command -v autoreconf >/dev/null || \
15 | (echo "configuration failed, please install autoconf first" && exit 1)
16 | autoreconf --install --force --warnings=all
17 |
--------------------------------------------------------------------------------
/build-aux/m4/bitcoin_subdir_to_include.m4:
--------------------------------------------------------------------------------
1 | dnl Copyright (c) 2013-2014 The Bitcoin Core developers
2 | dnl Distributed under the MIT software license, see the accompanying
3 | dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE])
6 | dnl SUBDIRECTORY-NAME must end with a path separator
7 | AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[
8 | if test "x$2" = "x"; then
9 | AC_MSG_RESULT([default])
10 | else
11 | echo "#include <$2$3.h>" >conftest.cpp
12 | newinclpath=`${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | [ tr -d '\\n\\r\\\\' | sed -e 's/^.*[[:space:]:]\(\/[^[:space:]]*\)]$3[\.h[[:space:]].*$/\1/' -e t -e d`]
13 | AC_MSG_RESULT([${newinclpath}])
14 | if test "x${newinclpath}" != "x"; then
15 | eval "$1=\"\$$1\"' -I${newinclpath}'"
16 | fi
17 | fi
18 | ])
19 |
--------------------------------------------------------------------------------
/build-aux/m4/gmp.m4:
--------------------------------------------------------------------------------
1 | dnl Copyright (c) 2018 The WISPR Core developers
2 | dnl Distributed under the MIT software license, see the accompanying
3 | dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | dnl
6 | AC_DEFUN([GMP_CHECK],[
7 | if test x"$has_gmp" != x"yes"; then
8 | AC_CHECK_HEADER(gmp.h,[
9 | AC_CHECK_LIB(gmp, __gmpz_init,[
10 | has_gmp=yes;
11 | LIBS="$LIBS -lgmp";
12 | AC_DEFINE(HAVE_LIBGMP, 1, [Define this symbol if libgmp is installed])
13 | ])
14 | ])
15 | fi
16 | ])
17 |
--------------------------------------------------------------------------------
/contrib/bitrpc/README.md:
--------------------------------------------------------------------------------
1 | ### BitRPC
2 | Allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
3 |
4 | ### Looking for Wallet Tools?
5 | BitRPC.py is able to do the exact same thing as `walletchangepass.py` and `walletunlock.py`. Their respective commands in BitRPC.py are:
6 |
7 | bitrpc.py walletpassphrasechange
8 | bitrpc.py walletpassphrase
--------------------------------------------------------------------------------
/contrib/cmake/FindGMP.cmake:
--------------------------------------------------------------------------------
1 | # - Find GMP
2 | # This module defines
3 | # GMP_INCLUDE_DIR, where to find GMP headers
4 | # GMP_LIBRARY, LibEvent libraries
5 | # GMP_FOUND, If false, do not try to use GMP
6 |
7 | set(GMP_PREFIX "" CACHE PATH "path ")
8 |
9 | find_path(GMP_INCLUDE_DIR gmp.h gmpxx.h
10 | PATHS ${GMP_PREFIX}/include /usr/include /usr/local/include )
11 |
12 | find_library(GMP_LIBRARY NAMES gmp libgmp
13 | PATHS ${GMP_PREFIX}/lib /usr/lib /usr/local/lib)
14 |
15 | if(GMP_INCLUDE_DIR AND GMP_LIBRARY)
16 | get_filename_component(GMP_LIBRARY_DIR ${GMP_LIBRARY} PATH)
17 | set(GMP_FOUND TRUE)
18 | endif()
19 |
20 | if(GMP_FOUND)
21 | if(NOT GMP_FIND_QUIETLY)
22 | MESSAGE(STATUS "Found GMP: ${GMP_LIBRARY}")
23 | endif()
24 | elseif(GMP_FOUND)
25 | if(GMP_FIND_REQUIRED)
26 | message(FATAL_ERROR "Could not find GMP")
27 | endif()
28 | endif()
29 |
30 | mark_as_advanced(
31 | GMP_LIB
32 | GMP_INCLUDE_DIR
33 | )
34 |
--------------------------------------------------------------------------------
/contrib/cmake/FindZMQ.cmake:
--------------------------------------------------------------------------------
1 | # - Find ZeroMQ
2 | # This module defines
3 | # ZMQ_INCLUDE_DIR, where to find ZMQ headers
4 | # ZMQ_LIB, ZMQ libraries
5 | # ZMQ_FOUND, If false, do not try to use ZeroMQ
6 |
7 | set(ZMQ_EXTRA_PREFIXES /usr/local /opt/local "$ENV{HOME}")
8 | foreach(prefix ${ZMQ_EXTRA_PREFIXES})
9 | list(APPEND ZMQ_INCLUDE_PATHS "${prefix}/include")
10 | list(APPEND ZMQ_LIB_PATHS "${prefix}/lib")
11 | endforeach()
12 |
13 | find_path(ZMQ_INCLUDE_DIR zmq.h PATHS ${ZMQ_INCLUDE_PATHS})
14 | find_library(ZMQ_LIB NAMES zmq PATHS ${ZMQ_LIB_PATHS})
15 |
16 | if (ZMQ_LIB AND ZMQ_INCLUDE_DIR)
17 | set(ZMQ_FOUND TRUE)
18 | else ()
19 | set(ZMQ_FOUND FALSE)
20 | endif ()
21 |
22 | if (ZMQ_FOUND)
23 | if (NOT ZMQ_FIND_QUIETLY)
24 | message(STATUS "Found ZeroMQ: ${ZMQ_LIB}")
25 | include_directories(${ZMQ_INCLUDE_DIR})
26 | endif ()
27 | else ()
28 | if (ZMQ_FIND_REQUIRED)
29 | message(FATAL_ERROR "Could NOT find ZeroMQ.")
30 | endif ()
31 | message(STATUS "ZeroMQ NOT found.")
32 | endif ()
33 |
34 | mark_as_advanced(
35 | ZMQ_LIB
36 | ZMQ_INCLUDE_DIR
37 | )
38 |
--------------------------------------------------------------------------------
/contrib/cmake/TestSuite.cmake:
--------------------------------------------------------------------------------
1 | # Allow to easily build test suites
2 |
3 | macro(create_test_suite NAME)
4 | enable_testing()
5 | set(TARGET "check-${NAME}")
6 | add_custom_target(${TARGET} COMMAND ${CMAKE_CTEST_COMMAND})
7 |
8 | # If the magic target check-all exists, attach to it.
9 | if(TARGET check-all)
10 | add_dependencies(check-all ${TARGET})
11 | endif()
12 | endmacro(create_test_suite)
13 |
14 | function(add_test_to_suite SUITE NAME)
15 | add_executable(${NAME} EXCLUDE_FROM_ALL ${ARGN})
16 | add_test(${NAME} ${NAME})
17 | add_dependencies("check-${SUITE}" ${NAME})
18 | endfunction(add_test_to_suite)
19 |
--------------------------------------------------------------------------------
/contrib/debian/README.md:
--------------------------------------------------------------------------------
1 |
2 | Debian
3 | ====================
4 | This directory contains files used to package wisprd/wispr-qt
5 | for Debian-based Linux systems. If you compile wisprd/wispr-qt yourself, there are some useful files here.
6 |
7 | ## wispr: URI support ##
8 |
9 |
10 | wispr-qt.desktop (Gnome / Open Desktop)
11 | To install:
12 |
13 | sudo desktop-file-install wispr-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 wispr-qt binary to `/usr/bin`
18 | and the `../../share/pixmaps/wispr128.png` to `/usr/share/pixmaps`
19 |
20 | wispr-qt.protocol (KDE)
21 |
22 |
--------------------------------------------------------------------------------
/contrib/debian/changelog:
--------------------------------------------------------------------------------
1 | wispr (0.3.2-trusty1) trusty; urgency=medium
2 |
3 | * WISPR Core v0.3.2 (trusty).
4 |
5 | -- THETCR Tu, 25 June 2019 16:19:00 +0100
6 |
--------------------------------------------------------------------------------
/contrib/debian/compat:
--------------------------------------------------------------------------------
1 | 7
2 |
--------------------------------------------------------------------------------
/contrib/debian/gbp.conf:
--------------------------------------------------------------------------------
1 | # Configuration file for git-buildpackage and friends
2 |
3 | [DEFAULT]
4 | pristine-tar = True
5 | sign-tags = True
6 |
--------------------------------------------------------------------------------
/contrib/debian/patches/README:
--------------------------------------------------------------------------------
1 | 0xxx: Grabbed from upstream development.
2 | 1xxx: Possibly relevant for upstream adoption.
3 | 2xxx: Only relevant for official Debian release.
4 |
--------------------------------------------------------------------------------
/contrib/debian/patches/series:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/contrib/debian/source/format:
--------------------------------------------------------------------------------
1 | 3.0 (quilt)
2 |
--------------------------------------------------------------------------------
/contrib/debian/watch:
--------------------------------------------------------------------------------
1 | # Run the "uscan" command to check for upstream updates and more.
2 | version=3
3 | # use qa.debian.org redirector; see man uscan
4 | opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/,dversionmangle=s/~dfsg\d*// \
5 | http://githubredir.debian.net/github/WisprProject/core v(.*).tar.gz
6 |
--------------------------------------------------------------------------------
/contrib/debian/wispr-qt.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Version=1.0
3 | Name=WISPR Core
4 | Comment=WISPR P2P Cryptocurrency
5 | Comment[fr]=WISPR, monnaie virtuelle cryptographique pair à pair
6 | Comment[tr]=WISPR, eşten eşe kriptografik sanal para birimi
7 | Exec=wispr-qt %u
8 | Terminal=false
9 | Type=Application
10 | Icon=wispr128
11 | MimeType=x-scheme-handler/wispr;
12 | Categories=Office;Finance;
13 | StartupWMClass=Wispr-qt
14 |
--------------------------------------------------------------------------------
/contrib/debian/wispr-qt.install:
--------------------------------------------------------------------------------
1 | usr/local/bin/wispr-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/wispr-qt.desktop usr/share/applications
6 | debian/wispr-qt.protocol usr/share/kde4/services/
7 |
--------------------------------------------------------------------------------
/contrib/debian/wispr-qt.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | wispr-qt: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/debian/wispr-qt.manpages:
--------------------------------------------------------------------------------
1 | doc/man/wispr-qt.1
2 |
--------------------------------------------------------------------------------
/contrib/debian/wispr-qt.protocol:
--------------------------------------------------------------------------------
1 | [Protocol]
2 | exec=wispr-qt '%u'
3 | protocol=wispr
4 | input=none
5 | output=none
6 | helper=true
7 | listing=
8 | reading=false
9 | writing=false
10 | makedir=false
11 | deleting=false
12 |
--------------------------------------------------------------------------------
/contrib/debian/wisprd.bash-completion:
--------------------------------------------------------------------------------
1 | contrib/wisprd.bash-completion wisprd
2 | contrib/wispr-cli.bash-completion wispr-cli
3 |
--------------------------------------------------------------------------------
/contrib/debian/wisprd.examples:
--------------------------------------------------------------------------------
1 | debian/examples/wispr.conf
2 |
--------------------------------------------------------------------------------
/contrib/debian/wisprd.install:
--------------------------------------------------------------------------------
1 | usr/local/bin/wisprd usr/bin
2 | usr/local/bin/wispr-cli usr/bin
3 | debian/examples/wispr.conf etc/wispr
4 |
--------------------------------------------------------------------------------
/contrib/debian/wisprd.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | wisprd: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/debian/wisprd.manpages:
--------------------------------------------------------------------------------
1 | doc/man/wisprd.1
2 | doc/man/wispr-cli.1
3 |
--------------------------------------------------------------------------------
/contrib/debian/wisprd.postinst:
--------------------------------------------------------------------------------
1 |
2 | #!/bin/sh
3 |
4 | # setup wispr account, homedir etc
5 |
6 | set -e
7 |
8 | BCUSER="wispr"
9 | BCHOME="/var/lib/wispr"
10 |
11 | if [ "$1" = "configure" ]; then
12 | # Add wispr user/group - this will gracefully abort if the user already exists.
13 | # A homedir is never created.
14 | set +e
15 | adduser --system --home "${BCHOME}" --no-create-home --group "${BCUSER}" 2>/dev/null
16 | set -e
17 |
18 | # If the homedir does not already exist, create it with proper
19 | # ownership and permissions.
20 | if [ ! -d "${BCHOME}" ]; then
21 | mkdir -m 0750 -p "${BCHOME}"
22 | chown "${BCUSER}:${BCUSER}" "${BCHOME}"
23 | fi
24 | fi
25 |
26 | #DEBHELPER#
27 |
28 | exit 0
29 |
--------------------------------------------------------------------------------
/contrib/debian/wisprd.postrm:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # setup wispr account, homedir etc
4 |
5 | set -e
6 |
7 | BCUSER="wispr"
8 | BCHOME="/var/lib/wispr"
9 |
10 | if [ "$1" = "purge" ]; then
11 |
12 | # The wispr user is left in place for now - This is to ensure that a new user
13 | # will not inherit the users UID/GID and inadvertently gain access to wallets etc
14 |
15 | # The homedir is also left intact to ensure that we don't accidentally delete a
16 | # wallet or something equally important
17 |
18 | echo
19 | echo "#"
20 | echo "# The wispr user (${BCUSER}) and data dir (${BCHOME})"
21 | echo "# were left intact."
22 | echo "#"
23 | echo "# Make sure to check \"${BCHOME}\" for wallets and other"
24 | echo "# important bits."
25 | echo "#"
26 | echo "# After backing up all vital data, cleanup can be completed"
27 | echo "# by running: sudo userdel -r ${BCUSER}"
28 | echo "#"
29 | echo
30 |
31 | fi
32 |
33 | #DEBHELPER#
34 |
35 | exit 0
36 |
--------------------------------------------------------------------------------
/contrib/devtools/split-debug.sh.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | set -e
3 | if [ $# -ne 3 ];
4 | then echo "usage: $0 "
5 | fi
6 |
7 | @OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3
8 | @OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2
9 | @STRIP@ --enable-deterministic-archives -p -s $2
10 | @OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2
11 |
--------------------------------------------------------------------------------
/contrib/filter-lcov.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import argparse
4 |
5 | parser = argparse.ArgumentParser(description='Remove the coverage data from a tracefile for all files matching the pattern.')
6 | parser.add_argument('--pattern', '-p', action='append', help='the pattern of files to remove', required=True)
7 | parser.add_argument('tracefile', help='the tracefile to remove the coverage data from')
8 | parser.add_argument('outfile', help='filename for the output to be written to')
9 |
10 | args = parser.parse_args()
11 | tracefile = args.tracefile
12 | pattern = args.pattern
13 | outfile = args.outfile
14 |
15 | in_remove = False
16 | with open(tracefile, 'r', encoding="utf8") as f:
17 | with open(outfile, 'w', encoding="utf8") as wf:
18 | for line in f:
19 | for p in pattern:
20 | if line.startswith("SF:") and p in line:
21 | in_remove = True
22 | if not in_remove:
23 | wf.write(line)
24 | if line == 'end_of_record\n':
25 | in_remove = False
26 |
--------------------------------------------------------------------------------
/contrib/gitian-keys/README.md:
--------------------------------------------------------------------------------
1 | ## PGP keys of Gitian builders and Developers
2 |
3 | The file `keys.txt` contains fingerprints of the public keys of Gitian builders
4 | and active developers.
5 |
6 | The associated keys are mainly used to sign git commits or the build results
7 | of Gitian builds.
8 |
9 | The most recent version of each pgp key can be found on most pgp key servers.
10 |
11 | Fetch the latest version from the key server to see if any key was revoked in
12 | the meantime.
13 | To fetch the latest version of all pgp keys in your gpg homedir,
14 |
15 | ```sh
16 | gpg --refresh-keys
17 | ```
18 |
19 | To fetch keys of Gitian builders and active developers, feed the list of
20 | fingerprints of the primary keys into gpg:
21 |
22 | ```sh
23 | while read fingerprint keyholder_name; do gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys ${fingerprint}; done < ./keys.txt
24 | ```
25 |
26 | Add your key to the list if you provided Gitian signatures for two major or
27 | minor releases of PIVX Core.
28 |
--------------------------------------------------------------------------------
/contrib/gitian-keys/keys.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/contrib/init/README.md:
--------------------------------------------------------------------------------
1 | Sample configuration files for:
2 | ```
3 | SystemD: wisprd.service
4 | Upstart: wisprd.conf
5 | OpenRC: wisprd.openrc
6 | wisprd.openrcconf
7 | CentOS: wisprd.init
8 | macOS: org.wispr.wisprd.plist
9 | ```
10 | have been made available to assist packagers in creating node packages here.
11 |
12 | See doc/init.md for more information.
13 |
--------------------------------------------------------------------------------
/contrib/init/org.wispr.wisprd.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Label
6 | org.wispr.wisprd
7 | ProgramArguments
8 |
9 | /usr/local/bin/wisprd
10 |
11 | RunAtLoad
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/contrib/macdeploy/README.md:
--------------------------------------------------------------------------------
1 | ### MacDeploy ###
2 |
3 | For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package:
4 |
5 | sudo easy_install argparse
6 |
7 | This script should not be run manually, instead, after building as usual:
8 |
9 | make deploy
10 |
11 | During the process, the disk image window will pop up briefly where the fancy
12 | settings are applied. This is normal, please do not interfere.
13 |
14 | When finished, it will produce `WISPR-Qt.dmg`.
15 |
16 |
--------------------------------------------------------------------------------
/contrib/macdeploy/fancy.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | window_bounds
6 |
7 | 300
8 | 300
9 | 800
10 | 620
11 |
12 | background_picture
13 | background.tiff
14 | icon_size
15 | 96
16 | applications_symlink
17 |
18 | items_position
19 |
20 | Applications
21 |
22 | 370
23 | 156
24 |
25 | WISPR-Qt.app
26 |
27 | 128
28 | 156
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/contrib/qos/README.md:
--------------------------------------------------------------------------------
1 | ### Qos ###
2 |
3 | This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Bitcoin network. It limits outbound TCP traffic with a source or destination port of 17000, 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 wisprd instance running, and another local wisprd/wispr-qt instance which connects to this node and receives blocks from it.
6 |
--------------------------------------------------------------------------------
/contrib/qt_translations.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | # Helpful little script that spits out a comma-separated list of
4 | # language codes for Qt icons that should be included
5 | # in binary bitcoin distributions
6 |
7 | import glob
8 | import os
9 | import re
10 | import sys
11 |
12 | if len(sys.argv) != 3:
13 | sys.exit("Usage: %s $QTDIR/translations $BITCOINDIR/src/qt/locale"%sys.argv[0])
14 |
15 | d1 = sys.argv[1]
16 | d2 = sys.argv[2]
17 |
18 | l1 = set([ re.search(r'qt_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d1, 'qt_*.qm')) ])
19 | l2 = set([ re.search(r'bitcoin_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'bitcoin_*.qm')) ])
20 |
21 | print ",".join(sorted(l1.intersection(l2)))
22 |
23 |
--------------------------------------------------------------------------------
/contrib/rpm/wispr.fc:
--------------------------------------------------------------------------------
1 | /usr/bin/wispr-cli -- gen_context(system_u:object_r:wispr_exec_t,s0)
2 | /usr/sbin/wisprd -- gen_context(system_u:object_r:wispr_exec_t,s0)
3 | /usr/lib(64)?/wispr/wisprd -- gen_context(system_u:object_r:wispr_exec_t,s0)
4 |
5 | /etc/wispr(/.*)? gen_context(system_u:object_r:wispr_conf_t,s0)
6 | /var/lib/wispr(/.*)? gen_context(system_u:object_r:wispr_var_lib_t,s0)
7 |
8 | (/var)?/run/wisprd(/.*)? gen_context(system_u:object_r:wispr_var_run_t,s0)
9 |
--------------------------------------------------------------------------------
/contrib/seeds/README.md:
--------------------------------------------------------------------------------
1 | # Seeds
2 |
3 | Utility to generate the seeds.txt list that is compiled into the client
4 | (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)).
5 |
6 | Be sure to update `PATTERN_AGENT` in `makeseeds.py` to include the current version,
7 | and remove old versions as necessary.
8 |
9 | The seeds compiled into the release are created from fuzzbawls' DNS seed data, like this:
10 |
11 | curl -s http://seeder.fuzzbawls.pw/wispr-mainnet.txt > seeds_main.txt
12 | python3 makeseeds.py < seeds_main.txt > nodes_main.txt
13 | python3 generate-seeds.py . > ../../src/chainparamsseeds.h
14 |
15 | ## Dependencies
16 |
17 | Ubuntu:
18 |
19 | sudo apt-get install python3-dnspython
20 |
--------------------------------------------------------------------------------
/contrib/spendfrom/setup.py:
--------------------------------------------------------------------------------
1 | from distutils.core import setup
2 | setup(name='btcspendfrom',
3 | version='1.0',
4 | description='Command-line utility for bitcoin "coin control"',
5 | author='Gavin Andresen',
6 | author_email='gavin@bitcoinfoundation.org',
7 | requires=['jsonrpc'],
8 | scripts=['spendfrom.py'],
9 | )
10 |
--------------------------------------------------------------------------------
/contrib/test-patches/README.md:
--------------------------------------------------------------------------------
1 | ### Test Patches ###
2 |
3 | These patches are applied when the automated pull-tester
4 | tests each pull and when master is tested using jenkins.
5 | You can find more information about the tests run at
6 | [http://jenkins.bluematt.me/pull-tester/files/
7 | ](http://jenkins.bluematt.me/pull-tester/files/)
--------------------------------------------------------------------------------
/contrib/testgen/README.md:
--------------------------------------------------------------------------------
1 | ### TestGen ###
2 |
3 | Utilities to generate test vectors for the data-driven Bitcoin tests.
4 |
5 | Usage:
6 |
7 | gen_base58_test_vectors.py valid 50 > ../../src/test/data/base58_keys_valid.json
8 | gen_base58_test_vectors.py invalid 50 > ../../src/test/data/base58_keys_invalid.json
--------------------------------------------------------------------------------
/contrib/verifysfbinaries/README.md:
--------------------------------------------------------------------------------
1 | ### Verify SF Binaries ###
2 | This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org.
3 |
4 | It first checks if the signature passes, and then downloads the files specified in the file, and checks if the hashes of these files match those that are specified in the signature file.
5 |
6 | The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2.
--------------------------------------------------------------------------------
/depends/.gitignore:
--------------------------------------------------------------------------------
1 | SDKs/
2 | work/
3 | built/
4 | sources/
5 | config.site
6 | x86_64*
7 | i686*
8 | mips*
9 | arm*
10 | aarch64*
11 | riscv32*
12 | riscv64*
13 |
--------------------------------------------------------------------------------
/depends/builders/default.mk:
--------------------------------------------------------------------------------
1 | default_build_CC = gcc
2 | default_build_CXX = g++
3 | default_build_AR = ar
4 | default_build_RANLIB = ranlib
5 | default_build_STRIP = strip
6 | default_build_NM = nm
7 | default_build_OTOOL = otool
8 | default_build_INSTALL_NAME_TOOL = install_name_tool
9 |
10 | define add_build_tool_func
11 | build_$(build_os)_$1 ?= $$(default_build_$1)
12 | build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1)
13 | build_$1=$$(build_$(build_arch)_$(build_os)_$1)
14 | endef
15 | $(foreach var,CC CXX AR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var))))
16 | define add_build_flags_func
17 | build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1)
18 | build_$1=$$(build_$(build_arch)_$(build_os)_$1)
19 | endef
20 | $(foreach flags, CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags))))
21 |
--------------------------------------------------------------------------------
/depends/builders/linux.mk:
--------------------------------------------------------------------------------
1 | build_linux_SHA256SUM = sha256sum
2 | build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
3 |
--------------------------------------------------------------------------------
/depends/hosts/darwin.mk:
--------------------------------------------------------------------------------
1 | OSX_MIN_VERSION=10.10
2 | OSX_SDK_VERSION=10.11
3 | OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
4 | LD64_VERSION=253.9
5 | darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
6 | darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++
7 |
8 | darwin_CFLAGS=-pipe
9 | darwin_CXXFLAGS=$(darwin_CFLAGS)
10 |
11 | darwin_release_CFLAGS=-O2
12 | darwin_release_CXXFLAGS=$(darwin_release_CFLAGS)
13 |
14 | darwin_debug_CFLAGS=-O1
15 | darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS)
16 |
17 | darwin_native_toolchain=native_cctools
18 |
--------------------------------------------------------------------------------
/depends/hosts/linux.mk:
--------------------------------------------------------------------------------
1 | linux_CFLAGS=-pipe
2 | linux_CXXFLAGS=$(linux_CFLAGS)
3 |
4 | linux_release_CFLAGS=-O2
5 | linux_release_CXXFLAGS=$(linux_release_CFLAGS)
6 |
7 | linux_debug_CFLAGS=-O1
8 | linux_debug_CXXFLAGS=$(linux_debug_CFLAGS)
9 |
10 | linux_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
11 |
12 | ifeq (86,$(findstring 86,$(build_arch)))
13 | i686_linux_CC=gcc -m32
14 | i686_linux_CXX=g++ -m32
15 | i686_linux_AR=ar
16 | i686_linux_RANLIB=ranlib
17 | i686_linux_NM=nm
18 | i686_linux_STRIP=strip
19 |
20 | x86_64_linux_CC=gcc -m64
21 | x86_64_linux_CXX=g++ -m64
22 | x86_64_linux_AR=ar
23 | x86_64_linux_RANLIB=ranlib
24 | x86_64_linux_NM=nm
25 | x86_64_linux_STRIP=strip
26 | else
27 | i686_linux_CC=$(default_host_CC) -m32
28 | i686_linux_CXX=$(default_host_CXX) -m32
29 | x86_64_linux_CC=$(default_host_CC) -m64
30 | x86_64_linux_CXX=$(default_host_CXX) -m64
31 | endif
32 |
--------------------------------------------------------------------------------
/depends/hosts/mingw32.mk:
--------------------------------------------------------------------------------
1 | mingw32_CFLAGS=-pipe
2 | mingw32_CXXFLAGS=$(mingw32_CFLAGS)
3 |
4 | mingw32_release_CFLAGS=-O2
5 | mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS)
6 |
7 | mingw32_debug_CFLAGS=-O1
8 | mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS)
9 |
10 | mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
11 |
--------------------------------------------------------------------------------
/depends/packages/expat.mk:
--------------------------------------------------------------------------------
1 | package=expat
2 | $(package)_version=2.2.7
3 | $(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_2_2_7/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=cbc9102f4a31a8dafd42d642e9a3aa31e79a0aedaa1f6efd2795ebc83174ec18
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared --without-docbook --without-tests --without-examples
9 | $(package)_config_opts_linux=--with-pic
10 | endef
11 |
12 | define $(package)_config_cmds
13 | $($(package)_autoconf)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE)
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
22 | endef
23 |
24 | define $(package)_postprocess_cmds
25 | rm lib/*.la
26 | endef
27 |
--------------------------------------------------------------------------------
/depends/packages/freetype.mk:
--------------------------------------------------------------------------------
1 | package=freetype
2 | $(package)_version=2.7.1
3 | $(package)_download_path=https://download.savannah.gnu.org/releases/$(package)
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--without-zlib --without-png --without-harfbuzz --without-bzip2 --disable-static
9 | $(package)_config_opts_linux=--with-pic
10 | endef
11 |
12 | define $(package)_config_cmds
13 | $($(package)_autoconf)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE)
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
22 | endef
23 |
24 | define $(package)_postprocess_cmds
25 | rm lib/*.la
26 | endef
27 |
--------------------------------------------------------------------------------
/depends/packages/gmp.mk:
--------------------------------------------------------------------------------
1 | package=gmp
2 | $(package)_version=6.1.2
3 | $(package)_download_path=https://gmplib.org/download/gmp
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared
9 | $(package)_config_opts_mingw32=--enable-mingw
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 |
--------------------------------------------------------------------------------
/depends/packages/libXau.mk:
--------------------------------------------------------------------------------
1 | package=libXau
2 | $(package)_version=1.0.8
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2
6 | $(package)_dependencies=xproto
7 |
8 | define $(package)_set_vars
9 | $(package)_config_opts=--disable-shared
10 | $(package)_config_opts_linux=--with-pic
11 | endef
12 |
13 | define $(package)_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 |
29 | define $(package)_postprocess_cmds
30 | rm lib/*.la
31 | endef
32 |
--------------------------------------------------------------------------------
/depends/packages/libevent.mk:
--------------------------------------------------------------------------------
1 | package=libevent
2 | $(package)_version=2.1.8-stable
3 | $(package)_download_path=https://github.com/libevent/libevent/archive/
4 | $(package)_file_name=release-$($(package)_version).tar.gz
5 | $(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d
6 |
7 | define $(package)_preprocess_cmds
8 | ./autogen.sh
9 | endef
10 |
11 | define $(package)_set_vars
12 | $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples
13 | $(package)_config_opts_release=--disable-debug-mode
14 | $(package)_config_opts_linux=--with-pic
15 | endef
16 |
17 | define $(package)_config_cmds
18 | $($(package)_autoconf)
19 | endef
20 |
21 | define $(package)_build_cmds
22 | $(MAKE)
23 | endef
24 |
25 | define $(package)_stage_cmds
26 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
27 | endef
28 |
29 | define $(package)_postprocess_cmds
30 | rm lib/*.la
31 | endef
32 |
--------------------------------------------------------------------------------
/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_cdrkit.mk:
--------------------------------------------------------------------------------
1 | package=native_cdrkit
2 | $(package)_version=1.1.11
3 | $(package)_download_path=https://distro.ibiblio.org/fatdog/source/600/c
4 | $(package)_file_name=cdrkit-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=b50d64c214a65b1a79afe3a964c691931a4233e2ba605d793eb85d0ac3652564
6 | $(package)_patches=cdrkit-deterministic.patch
7 |
8 | define $(package)_preprocess_cmds
9 | patch -p1 < $($(package)_patch_dir)/cdrkit-deterministic.patch
10 | endef
11 |
12 | define $(package)_config_cmds
13 | cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE) genisoimage
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C genisoimage install
22 | endef
23 |
24 | define $(package)_postprocess_cmds
25 | rm bin/isovfy bin/isoinfo bin/isodump bin/isodebug bin/devdump
26 | endef
27 |
--------------------------------------------------------------------------------
/depends/packages/native_ds_store.mk:
--------------------------------------------------------------------------------
1 | package=native_ds_store
2 | $(package)_version=1.1.2
3 | $(package)_download_path=https://github.com/al45tair/ds_store/archive/
4 | $(package)_file_name=v$($(package)_version).tar.gz
5 | $(package)_sha256_hash=3b3ecb7bf0a5157f5b6010bc3af7c141fb0ad3527084e63336220d22744bc20c
6 | $(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages
7 | $(package)_dependencies=native_biplist
8 |
9 | define $(package)_build_cmds
10 | python3 setup.py build
11 | endef
12 |
13 | define $(package)_stage_cmds
14 | mkdir -p $($(package)_install_libdir) && \
15 | python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
16 | endef
17 |
--------------------------------------------------------------------------------
/depends/packages/native_libdmg-hfsplus.mk:
--------------------------------------------------------------------------------
1 | package=native_libdmg-hfsplus
2 | $(package)_version=0.1
3 | $(package)_download_path=https://github.com/theuni/libdmg-hfsplus/archive
4 | $(package)_file_name=libdmg-hfsplus-v$($(package)_version).tar.gz
5 | $(package)_sha256_hash=6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3
6 | $(package)_build_subdir=build
7 |
8 | define $(package)_preprocess_cmds
9 | mkdir build
10 | endef
11 |
12 | define $(package)_config_cmds
13 | cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix)/bin ..
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE) -C dmg
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C dmg install
22 | endef
23 |
--------------------------------------------------------------------------------
/depends/packages/native_mac_alias.mk:
--------------------------------------------------------------------------------
1 | package=native_mac_alias
2 | $(package)_version=2.0.7
3 | $(package)_download_path=https://github.com/al45tair/mac_alias/archive/
4 | $(package)_file_name=v$($(package)_version).tar.gz
5 | $(package)_sha256_hash=6f606d3b6bccd2112aeabf1a063f5b5ece87005a5d7e97c8faca23b916e88838
6 | $(package)_install_libdir=$(build_prefix)/lib/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_protobuf.mk:
--------------------------------------------------------------------------------
1 | package=native_protobuf
2 | $(package)_version=2.6.1
3 | $(package)_download_path=https://github.com/google/protobuf/releases/download/v$($(package)_version)
4 | $(package)_file_name=protobuf-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared --without-zlib
9 | endef
10 |
11 | define $(package)_config_cmds
12 | $($(package)_autoconf)
13 | endef
14 |
15 | define $(package)_build_cmds
16 | $(MAKE) -C src protoc
17 | endef
18 |
19 | define $(package)_stage_cmds
20 | $(MAKE) -C src DESTDIR=$($(package)_staging_dir) install-strip
21 | endef
22 |
23 | define $(package)_postprocess_cmds
24 | rm -rf lib include
25 | endef
26 |
--------------------------------------------------------------------------------
/depends/packages/packages.mk:
--------------------------------------------------------------------------------
1 | packages:=boost openssl libevent gmp
2 |
3 | qt_native_packages = native_protobuf
4 | qt_packages = qrencode protobuf zlib
5 |
6 | qt_linux_packages:=qt expat libxcb xcb_proto libXau xproto freetype fontconfig
7 |
8 | rapidcheck_packages = rapidcheck
9 |
10 | qt_darwin_packages=qt
11 | qt_mingw32_packages=qt
12 |
13 | wallet_packages=bdb
14 |
15 | zmq_packages=zeromq
16 |
17 | upnp_packages=miniupnpc
18 |
19 | darwin_native_packages = native_biplist native_ds_store native_mac_alias
20 |
21 | ifneq ($(build_os),darwin)
22 | darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
23 | endif
24 |
--------------------------------------------------------------------------------
/depends/packages/qrencode.mk:
--------------------------------------------------------------------------------
1 | package=qrencode
2 | $(package)_version=3.4.4
3 | $(package)_download_path=https://fukuchi.org/works/qrencode/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=efe5188b1ddbcbf98763b819b146be6a90481aac30cfc8d858ab78a19cde1fa5
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared -without-tools --disable-sdltest
9 | $(package)_config_opts_linux=--with-pic
10 | endef
11 |
12 | define $(package)_preprocess_cmds
13 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub use
14 | endef
15 |
16 | define $(package)_config_cmds
17 | $($(package)_autoconf)
18 | endef
19 |
20 | define $(package)_build_cmds
21 | $(MAKE)
22 | endef
23 |
24 | define $(package)_stage_cmds
25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
26 | endef
27 |
28 | define $(package)_postprocess_cmds
29 | rm lib/*.la
30 | endef
31 |
--------------------------------------------------------------------------------
/depends/packages/rapidcheck.mk:
--------------------------------------------------------------------------------
1 | package=rapidcheck
2 | $(package)_version=d9482c683429fe79122e3dcab14c9655874aeb8e
3 | $(package)_download_path=https://github.com/emil-e/rapidcheck/archive
4 | $(package)_file_name=$($(package)_version).tar.gz
5 | $(package)_sha256_hash=b9ee8955b175fd3c0757ebd887bb075541761af08b0c28391b7c6c0685351f6b
6 |
7 | define $(package)_config_cmds
8 | cmake -DCMAKE_INSTALL_PREFIX=$($(package)_staging_dir)$(host_prefix) -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true -DRC_ENABLE_BOOST_TEST=ON -B .
9 | endef
10 |
11 | define $(package)_preprocess_cmds
12 | sed -i.old 's/ -Wall//' CMakeLists.txt
13 | endef
14 |
15 | define $(package)_build_cmds
16 | $(MAKE) rapidcheck
17 | endef
18 |
19 | define $(package)_stage_cmds
20 | $(MAKE) rapidcheck install
21 | endef
22 |
--------------------------------------------------------------------------------
/depends/packages/xcb_proto.mk:
--------------------------------------------------------------------------------
1 | package=xcb_proto
2 | $(package)_version=1.10
3 | $(package)_download_path=https://xcb.freedesktop.org/dist
4 | $(package)_file_name=xcb-proto-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=7ef40ddd855b750bc597d2a435da21e55e502a0fefa85b274f2c922800baaf05
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared
9 | $(package)_config_opts_linux=--with-pic
10 | endef
11 |
12 | define $(package)_config_cmds
13 | $($(package)_autoconf)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE)
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
22 | endef
23 |
24 | define $(package)_postprocess_cmds
25 | find -name "*.pyc" -delete && \
26 | find -name "*.pyo" -delete
27 | endef
28 |
--------------------------------------------------------------------------------
/depends/packages/xproto.mk:
--------------------------------------------------------------------------------
1 | package=xproto
2 | $(package)_version=7.0.26
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/proto
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=636162c1759805a5a0114a369dffdeccb8af8c859ef6e1445f26a4e6e046514f
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared
9 | endef
10 |
11 | define $(package)_preprocess_cmds
12 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
13 | endef
14 |
15 | define $(package)_config_cmds
16 | $($(package)_autoconf)
17 | endef
18 |
19 | define $(package)_build_cmds
20 | $(MAKE)
21 | endef
22 |
23 | define $(package)_stage_cmds
24 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
25 | endef
26 |
--------------------------------------------------------------------------------
/depends/packages/zlib.mk:
--------------------------------------------------------------------------------
1 | package=zlib
2 | $(package)_version=1.2.11
3 | $(package)_download_path=https://www.zlib.net
4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz
5 | $(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
6 |
7 | define $(package)_set_vars
8 | $(package)_build_opts= CC="$($(package)_cc)"
9 | $(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
10 | $(package)_build_opts+=RANLIB="$($(package)_ranlib)"
11 | $(package)_build_opts+=AR="$($(package)_ar)"
12 | $(package)_build_opts_darwin+=AR="$($(package)_libtool)"
13 | $(package)_build_opts_darwin+=ARFLAGS="-o"
14 | endef
15 |
16 | define $(package)_config_cmds
17 | ./configure --static --prefix=$(host_prefix)
18 | endef
19 |
20 | define $(package)_build_cmds
21 | $(MAKE) $($(package)_build_opts) libz.a
22 | endef
23 |
24 | define $(package)_stage_cmds
25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts)
26 | endef
27 |
28 |
--------------------------------------------------------------------------------
/depends/patches/qt/fix_no_printer.patch:
--------------------------------------------------------------------------------
1 | --- x/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
2 | +++ y/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
3 | @@ -52,6 +52,7 @@
4 | //
5 |
6 | #include
7 | +#include
8 |
9 | #ifndef QT_NO_PRINTER
10 |
11 | --- x/qtbase/src/plugins/plugins.pro
12 | +++ y/qtbase/src/plugins/plugins.pro
13 | @@ -8,6 +8,3 @@ qtHaveModule(gui) {
14 | qtConfig(imageformatplugin): SUBDIRS *= imageformats
15 | !android:qtConfig(library): SUBDIRS *= generic
16 | }
17 | -
18 | -!winrt:qtHaveModule(printsupport): \
19 | - SUBDIRS += printsupport
20 |
--------------------------------------------------------------------------------
/depends/patches/qt/fix_qt_pkgconfig.patch:
--------------------------------------------------------------------------------
1 | --- old/qtbase/mkspecs/features/qt_module.prf
2 | +++ new/qtbase/mkspecs/features/qt_module.prf
3 | @@ -245,7 +245,7 @@
4 | load(qt_targets)
5 |
6 | # this builds on top of qt_common
7 | -!internal_module:!lib_bundle:if(unix|mingw) {
8 | +unix|mingw {
9 | CONFIG += create_pc
10 | QMAKE_PKGCONFIG_DESTDIR = pkgconfig
11 | host_build: \
12 |
--------------------------------------------------------------------------------
/depends/patches/qt/fix_rcc_determinism.patch:
--------------------------------------------------------------------------------
1 | --- old/qtbase/src/tools/rcc/rcc.cpp
2 | +++ new/qtbase/src/tools/rcc/rcc.cpp
3 | @@ -207,7 +207,11 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
4 | if (lib.formatVersion() >= 2) {
5 | // last modified time stamp
6 | const QDateTime lastModified = m_fileInfo.lastModified();
7 | - lib.writeNumber8(quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0));
8 | + quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0);
9 | + static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong();
10 | + if (sourceDate != 0)
11 | + lastmod = sourceDate;
12 | + lib.writeNumber8(lastmod);
13 | if (text || pass1)
14 | lib.writeChar('\n');
15 | }
16 |
--------------------------------------------------------------------------------
/depends/patches/qt/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch:
--------------------------------------------------------------------------------
1 | From f6866b0f166ad168618aae64c7fbee8775d3eb23 Mon Sep 17 00:00:00 2001
2 | From: mruddy <6440430+mruddy@users.noreply.github.com>
3 | Date: Sat, 30 Jun 2018 09:44:58 -0400
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 6c3839fd..2c32ec79 100644
12 | --- a/src/windows.hpp
13 | +++ b/src/windows.hpp
14 | @@ -58,6 +58,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.17.1
30 |
31 |
--------------------------------------------------------------------------------
/depends/patches/zeromq/0002-disable-pthread_set_name_np.patch:
--------------------------------------------------------------------------------
1 | From c9bbdd6581d07acfe8971e4bcebe278a3676cf03 Mon Sep 17 00:00:00 2001
2 | From: mruddy <6440430+mruddy@users.noreply.github.com>
3 | Date: Sat, 30 Jun 2018 09:57:18 -0400
4 | Subject: [PATCH] disable pthread_set_name_np
5 |
6 | pthread_set_name_np adds a Glibc requirement on >= 2.12.
7 | ---
8 | src/thread.cpp | 4 +++-
9 | 1 file changed, 3 insertions(+), 1 deletion(-)
10 |
11 | diff --git a/src/thread.cpp b/src/thread.cpp
12 | index a1086b0c..9943f354 100644
13 | --- a/src/thread.cpp
14 | +++ b/src/thread.cpp
15 | @@ -307,7 +307,7 @@ void zmq::thread_t::setThreadName (const char *name_)
16 | */
17 | if (!name_)
18 | return;
19 | -
20 | +#if 0
21 | #if defined(ZMQ_HAVE_PTHREAD_SETNAME_1)
22 | int rc = pthread_setname_np (name_);
23 | if (rc)
24 | @@ -323,6 +323,8 @@ void zmq::thread_t::setThreadName (const char *name_)
25 | #elif defined(ZMQ_HAVE_PTHREAD_SET_NAME)
26 | pthread_set_name_np (descriptor, name_);
27 | #endif
28 | +#endif
29 | + return;
30 | }
31 |
32 | #endif
33 | --
34 | 2.17.1
35 |
36 |
--------------------------------------------------------------------------------
/doc/.gitignore:
--------------------------------------------------------------------------------
1 | Doxyfile
--------------------------------------------------------------------------------
/doc/README_windows.txt:
--------------------------------------------------------------------------------
1 | WISPR Core
2 | =====================
3 |
4 | Intro
5 | -----
6 | WISPR 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 wispr-qt.exe.
15 |
16 | WISPR Core is the original WISPR client and it builds the backbone of the network.
17 | However, it downloads and stores the entire history of WISPR 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 |
--------------------------------------------------------------------------------
/doc/bitcoin_logo_doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/bitcoin_logo_doxygen.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_file_location_size.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/create_vm_file_location_size.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_hard_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/create_vm_hard_drive.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_hard_drive_file_type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/create_vm_hard_drive_file_type.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_memsize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/create_vm_memsize.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_page1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/create_vm_page1.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_storage_physical_hard_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/create_vm_storage_physical_hard_drive.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_10_configure_clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_10_configure_clock.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_11_partition_disks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_11_partition_disks.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_12_choose_disk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_12_choose_disk.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_13_partition_scheme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_13_partition_scheme.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_14_finish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_14_finish.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_15_write_changes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_15_write_changes.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_16_choose_a_mirror.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_16_choose_a_mirror.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_17_choose_a_mirror2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_17_choose_a_mirror2.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_18_proxy_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_18_proxy_settings.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_19_software_selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_19_software_selection.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_1_boot_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_1_boot_menu.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_20_install_grub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_20_install_grub.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_21_finish_installation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_21_finish_installation.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_2_select_a_language.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_2_select_a_language.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_3_select_location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_3_select_location.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_4_configure_keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_4_configure_keyboard.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_5_configure_the_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_5_configure_the_network.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_6_domain_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_6_domain_name.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_6a_set_up_root_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/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/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_7_set_up_user_fullname.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_8_set_up_username.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_8_set_up_username.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_9_user_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/debian_install_9_user_password.png
--------------------------------------------------------------------------------
/doc/gitian-building/network_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/network_settings.png
--------------------------------------------------------------------------------
/doc/gitian-building/port_forwarding_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/port_forwarding_rules.png
--------------------------------------------------------------------------------
/doc/gitian-building/select_startup_disk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/doc/gitian-building/select_startup_disk.png
--------------------------------------------------------------------------------
/doc/man/Makefile.am:
--------------------------------------------------------------------------------
1 | dist_man1_MANS=
2 |
3 | if BUILD_BITCOIND
4 | dist_man1_MANS+=wisprd.1
5 | endif
6 |
7 | if ENABLE_QT
8 | dist_man1_MANS+=wispr-qt.1
9 | endif
10 |
11 | if BUILD_BITCOIN_UTILS
12 | dist_man1_MANS+=wispr-cli.1 wispr-tx.1
13 | endif
14 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/share/pixmaps/addressbook16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/addressbook16.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook16mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/addressbook16mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook20.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/addressbook20.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook20mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/addressbook20mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin-bc.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/bitcoin-bc.ico
--------------------------------------------------------------------------------
/share/pixmaps/check.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/check.ico
--------------------------------------------------------------------------------
/share/pixmaps/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/favicon.ico
--------------------------------------------------------------------------------
/share/pixmaps/nsis-header.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/nsis-header.bmp
--------------------------------------------------------------------------------
/share/pixmaps/nsis-wizard.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/nsis-wizard.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/send16.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/send16mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16masknoshadow.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/send16masknoshadow.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send20.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/send20.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send20mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/send20mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/wispr.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/wispr.ico
--------------------------------------------------------------------------------
/share/pixmaps/wispr128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/wispr128.png
--------------------------------------------------------------------------------
/share/pixmaps/wispr16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/wispr16.png
--------------------------------------------------------------------------------
/share/pixmaps/wispr16.xpm:
--------------------------------------------------------------------------------
1 | /* XPM */
2 | static char *_8943cd7f23d4e7ecd3b62d5d0da1e9d[] = {
3 | /* columns rows colors chars-per-pixel */
4 | "16 16 5 1 ",
5 | " c #D0DFE5",
6 | ". c #D1E0E4",
7 | "X c #D0E0E5",
8 | "o c #D1E0E5",
9 | "O c None",
10 | /* pixels */
11 | "OOOOOOXXX OOOOOO",
12 | "OOOOooXooXXoOOOO",
13 | "OOOXooXoXoXooOOO",
14 | "OOXXXoXoXoXooXOO",
15 | "OXXOXoXOXXoOOOXO",
16 | "OXOOOoOOOoOOOOoo",
17 | "XooOOooOOooOOOoo",
18 | "XXoOOOOOOOXXXooX",
19 | "oXooOOOOOO XXoXX",
20 | "oXoXOOOOOOOXXXoo",
21 | "OXXXXOOOoOOOoooX",
22 | "OXXXoOOOXOOOooXO",
23 | "OOXoooOXXXOXooOO",
24 | "OOOoXooXXoXXoOOO",
25 | "OOOOXXXoooXXOOOO",
26 | "OOOOOOooXXoOOOOO"
27 | };
28 |
--------------------------------------------------------------------------------
/share/pixmaps/wispr256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/wispr256.png
--------------------------------------------------------------------------------
/share/pixmaps/wispr32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/wispr32.png
--------------------------------------------------------------------------------
/share/pixmaps/wispr64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/pixmaps/wispr64.png
--------------------------------------------------------------------------------
/share/qt/img/reload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/qt/img/reload.png
--------------------------------------------------------------------------------
/share/qt/img/reload.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/share/qt/img/reload.xcf
--------------------------------------------------------------------------------
/share/qt/make_spinner.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # W.J. van der Laan, 2011
3 | # Make spinning animation from a .png
4 | # Requires imagemagick 6.7+
5 | from __future__ import division
6 | from os import path
7 | from PIL import Image
8 | from subprocess import Popen
9 |
10 | SRC='img/reload.png'
11 | TMPDIR='../../src/qt/res/movies/'
12 | TMPNAME='spinner-%03i.png'
13 | NUMFRAMES=35
14 | FRAMERATE=10.0
15 | CONVERT='convert'
16 | CLOCKWISE=True
17 | DSIZE=(16,16)
18 |
19 | im_src = Image.open(SRC)
20 |
21 | if CLOCKWISE:
22 | im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT)
23 |
24 | def frame_to_filename(frame):
25 | return path.join(TMPDIR, TMPNAME % frame)
26 |
27 | frame_files = []
28 | for frame in xrange(NUMFRAMES):
29 | rotation = (frame + 0.5) / NUMFRAMES * 360.0
30 | if CLOCKWISE:
31 | rotation = -rotation
32 | im_new = im_src.rotate(rotation, Image.BICUBIC)
33 | im_new.thumbnail(DSIZE, Image.ANTIALIAS)
34 | outfile = frame_to_filename(frame)
35 | im_new.save(outfile, 'png')
36 | frame_files.append(outfile)
37 |
38 |
39 |
--------------------------------------------------------------------------------
/share/qt/make_windows_icon.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # create multiresolution windows icon
3 | #mainnet
4 | ICON_SRC=../../src/qt/res/icons/bitcoin.png
5 | ICON_DST=../../src/qt/res/icons/bitcoin.ico
6 | convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
7 | convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
8 | convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
9 | convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}
10 | #testnet
11 | ICON_SRC=../../src/qt/res/icons/bitcoin_testnet.png
12 | ICON_DST=../../src/qt/res/icons/bitcoin_testnet.ico
13 | convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
14 | convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
15 | convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
16 | convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}
17 | rm bitcoin-16.png bitcoin-32.png bitcoin-48.png
18 |
--------------------------------------------------------------------------------
/share/rpcauth/README.md:
--------------------------------------------------------------------------------
1 | RPC Tools
2 | ---------------------
3 |
4 | ### [RPCAuth](/share/rpcauth) ###
5 |
6 | Create login credentials for a JSON-RPC user.
7 |
8 | Usage:
9 |
10 | ./rpcauth.py
11 |
12 | in which case the script will generate a password. To specify a custom password do:
13 |
14 | ./rpcauth.py
15 |
--------------------------------------------------------------------------------
/share/ui.rc:
--------------------------------------------------------------------------------
1 | bitcoin ICON "pixmaps/wispr.ico"
2 |
3 | #include "wx/msw/wx.rc"
4 |
5 | check ICON "pixmaps/check.ico"
6 | send16 BITMAP "pixmaps/send16.bmp"
7 | send16mask BITMAP "pixmaps/send16mask.bmp"
8 | send16masknoshadow BITMAP "pixmaps/send16masknoshadow.bmp"
9 | send20 BITMAP "pixmaps/send20.bmp"
10 | send20mask BITMAP "pixmaps/send20mask.bmp"
11 | addressbook16 BITMAP "pixmaps/addressbook16.bmp"
12 | addressbook16mask BITMAP "pixmaps/addressbook16mask.bmp"
13 | addressbook20 BITMAP "pixmaps/addressbook20.bmp"
14 | addressbook20mask BITMAP "pixmaps/addressbook20mask.bmp"
15 | favicon ICON "pixmaps/favicon.ico"
16 |
--------------------------------------------------------------------------------
/src/amount.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2010 Satoshi Nakamoto
2 | // Copyright (c) 2009-2014 The Bitcoin developers
3 | // Copyright (c) 2017-2018 The PIVX developers
4 | // Distributed under the MIT software license, see the accompanying
5 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 |
7 | #include "amount.h"
8 |
9 | #include "tinyformat.h"
10 |
11 | CFeeRate::CFeeRate(const CAmount& nFeePaid, size_t nSize)
12 | {
13 | if (nSize > 0) {
14 | nSatoshisPerK = nFeePaid * 1000 / nSize;
15 | } else {
16 | nSatoshisPerK = 0;
17 | }
18 | }
19 |
20 | CAmount CFeeRate::GetFee(size_t nSize) const
21 | {
22 | CAmount nFee = nSatoshisPerK * nSize / 1000;
23 |
24 | if (nFee == 0 && nSatoshisPerK > 0) {
25 | nFee = nSatoshisPerK;
26 | }
27 |
28 | return nFee;
29 | }
30 |
31 | std::string CFeeRate::ToString() const
32 | {
33 | return strprintf("%d.%08d WSP/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN);
34 | }
35 |
--------------------------------------------------------------------------------
/src/blocksignature.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2017-2018 The PIVX 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 WISPR_BLOCKSIGNATURE_H
6 | #define WISPR_BLOCKSIGNATURE_H
7 |
8 | #include "key.h"
9 | #include "primitives/block.h"
10 | #include "keystore.h"
11 |
12 | bool SignBlockWithKey(CBlock& block, const CKey& key);
13 | bool SignBlock(CBlock& block, const CKeyStore& keystore);
14 | bool CheckBlockSignature(const CBlock& block);
15 |
16 | #endif //WISPR_BLOCKSIGNATURE_H
17 |
--------------------------------------------------------------------------------
/src/compat/sanity.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2014 The Bitcoin Core developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_COMPAT_SANITY_H
6 | #define BITCOIN_COMPAT_SANITY_H
7 |
8 | bool glibc_sanity_test();
9 | bool glibcxx_sanity_test();
10 |
11 | #endif // BITCOIN_COMPAT_SANITY_H
12 |
--------------------------------------------------------------------------------
/src/compat/strnlen.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-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 | #if defined(HAVE_CONFIG_H)
6 | #include "config/wispr-config.h"
7 | #endif
8 |
9 | #include
10 |
11 | #if HAVE_DECL_STRNLEN == 0
12 | size_t strnlen( const char *start, size_t max_len)
13 | {
14 | const char *end = (const char *)memchr(start, '\0', max_len);
15 |
16 | return end ? (size_t)(end - start) : max_len;
17 | }
18 | #endif // HAVE_DECL_STRNLEN
19 |
--------------------------------------------------------------------------------
/src/config/.empty:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/config/.empty
--------------------------------------------------------------------------------
/src/crypto/hmac_sha256.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #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 (unsigned char & n : rkey)
21 | n ^= 0x5c;
22 | outer.Write(rkey, 64);
23 |
24 | for (unsigned char & n : rkey)
25 | n ^= 0x5c ^ 0x36;
26 | inner.Write(rkey, 64);
27 | }
28 |
29 | void CHMAC_SHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
30 | {
31 | unsigned char temp[32];
32 | inner.Finalize(temp);
33 | outer.Write(temp, 32).Finalize(hash);
34 | }
35 |
--------------------------------------------------------------------------------
/src/crypto/hmac_sha256.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin 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-256. */
14 | class CHMAC_SHA256
15 | {
16 | private:
17 | CSHA256 outer;
18 | CSHA256 inner;
19 |
20 | public:
21 | static const size_t OUTPUT_SIZE = 32;
22 |
23 | CHMAC_SHA256(const unsigned char* key, size_t keylen);
24 | CHMAC_SHA256& Write(const unsigned char* data, size_t len)
25 | {
26 | inner.Write(data, len);
27 | return *this;
28 | }
29 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
30 | };
31 |
32 | #endif // BITCOIN_CRYPTO_HMAC_SHA256_H
33 |
--------------------------------------------------------------------------------
/src/crypto/hmac_sha512.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #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 (unsigned char & n : rkey)
21 | n ^= 0x5c;
22 | outer.Write(rkey, 128);
23 |
24 | for (unsigned char & n : rkey)
25 | n ^= 0x5c ^ 0x36;
26 | inner.Write(rkey, 128);
27 | }
28 |
29 | void CHMAC_SHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
30 | {
31 | unsigned char temp[64];
32 | inner.Finalize(temp);
33 | outer.Write(temp, 64).Finalize(hash);
34 | }
35 |
--------------------------------------------------------------------------------
/src/crypto/hmac_sha512.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_HMAC_SHA512_H
6 | #define BITCOIN_CRYPTO_HMAC_SHA512_H
7 |
8 | #include "crypto/sha512.h"
9 |
10 | #include
11 | #include
12 |
13 | /** A hasher class for HMAC-SHA-512. */
14 | class CHMAC_SHA512
15 | {
16 | private:
17 | CSHA512 outer;
18 | CSHA512 inner;
19 |
20 | public:
21 | static const size_t OUTPUT_SIZE = 64;
22 |
23 | CHMAC_SHA512(const unsigned char* key, size_t keylen);
24 | CHMAC_SHA512& Write(const unsigned char* data, size_t len)
25 | {
26 | inner.Write(data, len);
27 | return *this;
28 | }
29 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
30 | };
31 |
32 | #endif // BITCOIN_CRYPTO_HMAC_SHA512_H
33 |
--------------------------------------------------------------------------------
/src/crypto/rfc6979_hmac_sha256.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_RFC6979_HMAC_SHA256_H
6 | #define BITCOIN_RFC6979_HMAC_SHA256_H
7 |
8 | #include "crypto/hmac_sha256.h"
9 |
10 | #include
11 | #include
12 |
13 | /** The RFC 6979 PRNG using HMAC-SHA256. */
14 | class RFC6979_HMAC_SHA256
15 | {
16 | private:
17 | unsigned char V[CHMAC_SHA256::OUTPUT_SIZE];
18 | unsigned char K[CHMAC_SHA256::OUTPUT_SIZE];
19 | bool retry;
20 |
21 | public:
22 | /**
23 | * Construct a new RFC6979 PRNG, using the given key and message.
24 | * The message is assumed to be already hashed.
25 | */
26 | RFC6979_HMAC_SHA256(const unsigned char* key, size_t keylen, const unsigned char* msg, size_t msglen);
27 |
28 | /**
29 | * Generate a byte array.
30 | */
31 | void Generate(unsigned char* output, size_t outputlen);
32 |
33 | ~RFC6979_HMAC_SHA256();
34 | };
35 |
36 | #endif // BITCOIN_RFC6979_HMAC_SHA256_H
37 |
--------------------------------------------------------------------------------
/src/crypto/ripemd160.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_RIPEMD160_H
6 | #define BITCOIN_CRYPTO_RIPEMD160_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for RIPEMD-160. */
12 | class CRIPEMD160
13 | {
14 | private:
15 | uint32_t s[5];
16 | unsigned char buf[64];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 20;
21 |
22 | CRIPEMD160();
23 | CRIPEMD160& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CRIPEMD160& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_RIPEMD160_H
29 |
--------------------------------------------------------------------------------
/src/crypto/scrypt.h:
--------------------------------------------------------------------------------
1 | #ifndef SCRYPT_H
2 | #define SCRYPT_H
3 | #include
4 | #include
5 | #include
6 | #include "uint256.h"
7 |
8 | void scrypt(const char *pass, unsigned int pLen, const char *salt, unsigned int sLen, char *output, unsigned int N,
9 | unsigned int r, unsigned int p, unsigned int dkLen);
10 |
11 | uint256 scrypt_salted_multiround_hash(const void *input, size_t inputlen, const void *salt, size_t saltlen,
12 | const unsigned int nRounds);
13 |
14 | uint256 scrypt_salted_hash(const void *input, size_t inputlen, const void *salt, size_t saltlen);
15 | uint256 scrypt_hash(const void *input, size_t inputlen);
16 |
17 | uint256 scrypt_blockhash(const void *input);
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/src/crypto/sha1.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_SHA1_H
6 | #define BITCOIN_CRYPTO_SHA1_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for SHA1. */
12 | class CSHA1
13 | {
14 | private:
15 | uint32_t s[5];
16 | unsigned char buf[64];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 20;
21 |
22 | CSHA1();
23 | CSHA1& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CSHA1& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_SHA1_H
29 |
--------------------------------------------------------------------------------
/src/crypto/sha256.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_SHA256_H
6 | #define BITCOIN_CRYPTO_SHA256_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for SHA-256. */
12 | class CSHA256
13 | {
14 | private:
15 | uint32_t s[8];
16 | unsigned char buf[64];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 32;
21 |
22 | CSHA256();
23 | CSHA256& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CSHA256& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_SHA256_H
29 |
--------------------------------------------------------------------------------
/src/crypto/sha512.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_SHA512_H
6 | #define BITCOIN_CRYPTO_SHA512_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for SHA-512. */
12 | class CSHA512
13 | {
14 | private:
15 | uint64_t s[8];
16 | unsigned char buf[128];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 64;
21 |
22 | CSHA512();
23 | CSHA512& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CSHA512& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_SHA512_H
29 |
--------------------------------------------------------------------------------
/src/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