├── .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 10 | 11 | class HTTPRequest; 12 | 13 | /** Start HTTP RPC subsystem. 14 | * Precondition; HTTP and RPC has been started. 15 | */ 16 | bool StartHTTPRPC(); 17 | /** Interrupt HTTP RPC subsystem. 18 | */ 19 | void InterruptHTTPRPC(); 20 | /** Stop HTTP RPC subsystem. 21 | * Precondition; HTTP and RPC has been stopped. 22 | */ 23 | void StopHTTPRPC(); 24 | 25 | /** Start HTTP REST subsystem. 26 | * Precondition; HTTP and RPC has been started. 27 | */ 28 | bool StartREST(); 29 | /** Interrupt RPC REST subsystem. 30 | */ 31 | void InterruptREST(); 32 | /** Stop HTTP REST subsystem. 33 | * Precondition; HTTP and RPC has been stopped. 34 | */ 35 | void StopREST(); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/invalid.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_INVALID_H 6 | #define WISPR_INVALID_H 7 | 8 | #endif //WISPR_INVALID_H 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | namespace invalid_out 15 | { 16 | extern std::set setInvalidSerials; 17 | extern std::set setInvalidOutPoints; 18 | 19 | UniValue read_json(const std::string& jsondata); 20 | 21 | bool ContainsOutPoint(const COutPoint& out); 22 | bool ContainsSerial(const CBigNum& bnSerial); 23 | bool LoadOutpoints(); 24 | bool LoadSerials(); 25 | } -------------------------------------------------------------------------------- /src/invalid_outpoints.json.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_INVALID_OUTPOINTS_JSON_H 6 | #define WISPR_INVALID_OUTPOINTS_JSON_H 7 | #include 8 | 9 | std::string LoadInvalidOutPoints() 10 | { 11 | std::string str = "[\n" 12 | " {\n" 13 | " \"txid\": \"0\",\n" 14 | " \"n\": 0\n" 15 | " }\n" 16 | "]"; 17 | return str; 18 | } 19 | 20 | #endif //WISPR_INVALID_OUTPOINTS_JSON_H 21 | -------------------------------------------------------------------------------- /src/invalid_serials.json.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | 6 | 7 | #ifndef WISPR_INVALID_SERIALS_JSON_H 8 | #define WISPR_INVALID_SERIALS_JSON_H 9 | 10 | #include 11 | 12 | std::string LoadInvalidSerials() 13 | { 14 | std::string str = "[\n" 15 | " {\n" 16 | " \"s\": \"0\"\n" 17 | " }\n" 18 | "]"; 19 | return str; 20 | } 21 | 22 | #endif //WISPR_INVALID_SERIALS_JSON_H 23 | -------------------------------------------------------------------------------- /src/leveldb/.gitignore: -------------------------------------------------------------------------------- 1 | build_config.mk 2 | *.a 3 | *.o 4 | *.dylib* 5 | *.so 6 | *.so.* 7 | *_test 8 | db_bench 9 | leveldbutil 10 | Release 11 | Debug 12 | Benchmark 13 | vs2010.* 14 | -------------------------------------------------------------------------------- /src/leveldb/.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | compiler: 3 | - clang 4 | - gcc 5 | os: 6 | - linux 7 | - osx 8 | sudo: false 9 | before_install: 10 | - echo $LANG 11 | - echo $LC_ALL 12 | script: 13 | - make -j 4 check 14 | -------------------------------------------------------------------------------- /src/leveldb/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names should be added to this file like so: 2 | # Name or Organization 3 | 4 | Google Inc. 5 | 6 | # Initial version authors: 7 | Jeffrey Dean 8 | Sanjay Ghemawat 9 | 10 | # Partial list of contributors: 11 | Kevin Regan 12 | Johan Bilien 13 | -------------------------------------------------------------------------------- /src/leveldb/NEWS: -------------------------------------------------------------------------------- 1 | Release 1.2 2011-05-16 2 | ---------------------- 3 | 4 | Fixes for larger databases (tested up to one billion 100-byte entries, 5 | i.e., ~100GB). 6 | 7 | (1) Place hard limit on number of level-0 files. This fixes errors 8 | of the form "too many open files". 9 | 10 | (2) Fixed memtable management. Before the fix, a heavy write burst 11 | could cause unbounded memory usage. 12 | 13 | A fix for a logging bug where the reader would incorrectly complain 14 | about corruption. 15 | 16 | Allow public access to WriteBatch contents so that users can easily 17 | wrap a DB. 18 | -------------------------------------------------------------------------------- /src/leveldb/TODO: -------------------------------------------------------------------------------- 1 | ss 2 | - Stats 3 | 4 | db 5 | - Maybe implement DB::BulkDeleteForRange(start_key, end_key) 6 | that would blow away files whose ranges are entirely contained 7 | within [start_key..end_key]? For Chrome, deletion of obsolete 8 | object stores, etc. can be done in the background anyway, so 9 | probably not that important. 10 | - There have been requests for MultiGet. 11 | 12 | After a range is completely deleted, what gets rid of the 13 | corresponding files if we do no future changes to that range. Make 14 | the conditions for triggering compactions fire in more situations? 15 | -------------------------------------------------------------------------------- /src/leveldb/db/db_iter.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_DB_DB_ITER_H_ 6 | #define STORAGE_LEVELDB_DB_DB_ITER_H_ 7 | 8 | #include 9 | #include "leveldb/db.h" 10 | #include "db/dbformat.h" 11 | 12 | namespace leveldb { 13 | 14 | class DBImpl; 15 | 16 | // Return a new iterator that converts internal keys (yielded by 17 | // "*internal_iter") that were live at the specified "sequence" number 18 | // into appropriate user keys. 19 | extern Iterator* NewDBIterator( 20 | DBImpl* db, 21 | const Comparator* user_key_comparator, 22 | Iterator* internal_iter, 23 | SequenceNumber sequence, 24 | uint32_t seed); 25 | 26 | } // namespace leveldb 27 | 28 | #endif // STORAGE_LEVELDB_DB_DB_ITER_H_ 29 | -------------------------------------------------------------------------------- /src/leveldb/db/log_format.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | // 5 | // Log format information shared by reader and writer. 6 | // See ../doc/log_format.md for more detail. 7 | 8 | #ifndef STORAGE_LEVELDB_DB_LOG_FORMAT_H_ 9 | #define STORAGE_LEVELDB_DB_LOG_FORMAT_H_ 10 | 11 | namespace leveldb { 12 | namespace log { 13 | 14 | enum RecordType { 15 | // Zero is reserved for preallocated files 16 | kZeroType = 0, 17 | 18 | kFullType = 1, 19 | 20 | // For fragments 21 | kFirstType = 2, 22 | kMiddleType = 3, 23 | kLastType = 4 24 | }; 25 | static const int kMaxRecordType = kLastType; 26 | 27 | static const int kBlockSize = 32768; 28 | 29 | // Header is checksum (4 bytes), length (2 bytes), type (1 byte). 30 | static const int kHeaderSize = 4 + 2 + 1; 31 | 32 | } // namespace log 33 | } // namespace leveldb 34 | 35 | #endif // STORAGE_LEVELDB_DB_LOG_FORMAT_H_ 36 | -------------------------------------------------------------------------------- /src/leveldb/helpers/memenv/memenv.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_ 6 | #define STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_ 7 | 8 | namespace leveldb { 9 | 10 | class Env; 11 | 12 | // Returns a new environment that stores its data in memory and delegates 13 | // all non-file-storage tasks to base_env. The caller must delete the result 14 | // when it is no longer needed. 15 | // *base_env must remain live while the result is in use. 16 | Env* NewMemEnv(Env* base_env); 17 | 18 | } // namespace leveldb 19 | 20 | #endif // STORAGE_LEVELDB_HELPERS_MEMENV_MEMENV_H_ 21 | -------------------------------------------------------------------------------- /src/leveldb/include/leveldb/dumpfile.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_INCLUDE_DUMPFILE_H_ 6 | #define STORAGE_LEVELDB_INCLUDE_DUMPFILE_H_ 7 | 8 | #include 9 | #include "leveldb/env.h" 10 | #include "leveldb/status.h" 11 | 12 | namespace leveldb { 13 | 14 | // Dump the contents of the file named by fname in text format to 15 | // *dst. Makes a sequence of dst->Append() calls; each call is passed 16 | // the newline-terminated text corresponding to a single item found 17 | // in the file. 18 | // 19 | // Returns a non-OK result if fname does not name a leveldb storage 20 | // file, or if the file cannot be read. 21 | Status DumpFile(Env* env, const std::string& fname, WritableFile* dst); 22 | 23 | } // namespace leveldb 24 | 25 | #endif // STORAGE_LEVELDB_INCLUDE_DUMPFILE_H_ 26 | -------------------------------------------------------------------------------- /src/leveldb/port/README: -------------------------------------------------------------------------------- 1 | This directory contains interfaces and implementations that isolate the 2 | rest of the package from platform details. 3 | 4 | Code in the rest of the package includes "port.h" from this directory. 5 | "port.h" in turn includes a platform specific "port_.h" file 6 | that provides the platform specific implementation. 7 | 8 | See port_posix.h for an example of what must be provided in a platform 9 | specific header file. 10 | 11 | -------------------------------------------------------------------------------- /src/leveldb/port/port.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_PORT_PORT_H_ 6 | #define STORAGE_LEVELDB_PORT_PORT_H_ 7 | 8 | #include 9 | 10 | // Include the appropriate platform specific file below. If you are 11 | // porting to a new platform, see "port_example.h" for documentation 12 | // of what the new port_.h file must provide. 13 | #if defined(LEVELDB_PLATFORM_POSIX) 14 | # include "port/port_posix.h" 15 | #elif defined(LEVELDB_PLATFORM_CHROMIUM) 16 | # include "port/port_chromium.h" 17 | #elif defined(LEVELDB_PLATFORM_WINDOWS) 18 | # include "port/port_win.h" 19 | #endif 20 | 21 | #endif // STORAGE_LEVELDB_PORT_PORT_H_ 22 | -------------------------------------------------------------------------------- /src/leveldb/port/win/stdint.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | // MSVC didn't ship with this file until the 2010 version. 6 | 7 | #ifndef STORAGE_LEVELDB_PORT_WIN_STDINT_H_ 8 | #define STORAGE_LEVELDB_PORT_WIN_STDINT_H_ 9 | 10 | #if !defined(_MSC_VER) 11 | #error This file should only be included when compiling with MSVC. 12 | #endif 13 | 14 | // Define C99 equivalent types. 15 | typedef signed char int8_t; 16 | typedef signed short int16_t; 17 | typedef signed int int32_t; 18 | typedef signed long long int64_t; 19 | typedef unsigned char uint8_t; 20 | typedef unsigned short uint16_t; 21 | typedef unsigned int uint32_t; 22 | typedef unsigned long long uint64_t; 23 | 24 | #endif // STORAGE_LEVELDB_PORT_WIN_STDINT_H_ 25 | -------------------------------------------------------------------------------- /src/leveldb/table/merger.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_TABLE_MERGER_H_ 6 | #define STORAGE_LEVELDB_TABLE_MERGER_H_ 7 | 8 | namespace leveldb { 9 | 10 | class Comparator; 11 | class Iterator; 12 | 13 | // Return an iterator that provided the union of the data in 14 | // children[0,n-1]. Takes ownership of the child iterators and 15 | // will delete them when the result iterator is deleted. 16 | // 17 | // The result does no duplicate suppression. I.e., if a particular 18 | // key is present in K child iterators, it will be yielded K times. 19 | // 20 | // REQUIRES: n >= 0 21 | extern Iterator* NewMergingIterator( 22 | const Comparator* comparator, Iterator** children, int n); 23 | 24 | } // namespace leveldb 25 | 26 | #endif // STORAGE_LEVELDB_TABLE_MERGER_H_ 27 | -------------------------------------------------------------------------------- /src/leveldb/util/env_posix_test_helper.h: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_UTIL_ENV_POSIX_TEST_HELPER_H_ 6 | #define STORAGE_LEVELDB_UTIL_ENV_POSIX_TEST_HELPER_H_ 7 | 8 | namespace leveldb { 9 | 10 | class EnvPosixTest; 11 | 12 | // A helper for the POSIX Env to facilitate testing. 13 | class EnvPosixTestHelper { 14 | private: 15 | friend class EnvPosixTest; 16 | 17 | // Set the maximum number of read-only files that will be opened. 18 | // Must be called before creating an Env. 19 | static void SetReadOnlyFDLimit(int limit); 20 | 21 | // Set the maximum number of read-only files that will be mapped via mmap. 22 | // Must be called before creating an Env. 23 | static void SetReadOnlyMMapLimit(int limit); 24 | }; 25 | 26 | } // namespace leveldb 27 | 28 | #endif // STORAGE_LEVELDB_UTIL_ENV_POSIX_TEST_HELPER_H_ 29 | -------------------------------------------------------------------------------- /src/leveldb/util/filter_policy.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #include "leveldb/filter_policy.h" 6 | 7 | namespace leveldb { 8 | 9 | FilterPolicy::~FilterPolicy() { } 10 | 11 | } // namespace leveldb 12 | -------------------------------------------------------------------------------- /src/leveldb/util/hash.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | // 5 | // Simple hash function used for internal data structures 6 | 7 | #ifndef STORAGE_LEVELDB_UTIL_HASH_H_ 8 | #define STORAGE_LEVELDB_UTIL_HASH_H_ 9 | 10 | #include 11 | #include 12 | 13 | namespace leveldb { 14 | 15 | extern uint32_t Hash(const char* data, size_t n, uint32_t seed); 16 | 17 | } 18 | 19 | #endif // STORAGE_LEVELDB_UTIL_HASH_H_ 20 | -------------------------------------------------------------------------------- /src/leveldb/util/histogram.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #ifndef STORAGE_LEVELDB_UTIL_HISTOGRAM_H_ 6 | #define STORAGE_LEVELDB_UTIL_HISTOGRAM_H_ 7 | 8 | #include 9 | 10 | namespace leveldb { 11 | 12 | class Histogram { 13 | public: 14 | Histogram() { } 15 | ~Histogram() { } 16 | 17 | void Clear(); 18 | void Add(double value); 19 | void Merge(const Histogram& other); 20 | 21 | std::string ToString() const; 22 | 23 | private: 24 | double min_; 25 | double max_; 26 | double num_; 27 | double sum_; 28 | double sum_squares_; 29 | 30 | enum { kNumBuckets = 154 }; 31 | static const double kBucketLimit[kNumBuckets]; 32 | double buckets_[kNumBuckets]; 33 | 34 | double Median() const; 35 | double Percentile(double p) const; 36 | double Average() const; 37 | double StandardDeviation() const; 38 | }; 39 | 40 | } // namespace leveldb 41 | 42 | #endif // STORAGE_LEVELDB_UTIL_HISTOGRAM_H_ 43 | -------------------------------------------------------------------------------- /src/leveldb/util/options.cc: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011 The LevelDB Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. See the AUTHORS file for names of contributors. 4 | 5 | #include "leveldb/options.h" 6 | 7 | #include "leveldb/comparator.h" 8 | #include "leveldb/env.h" 9 | 10 | namespace leveldb { 11 | 12 | Options::Options() 13 | : comparator(BytewiseComparator()), 14 | create_if_missing(false), 15 | error_if_exists(false), 16 | paranoid_checks(false), 17 | env(Env::Default()), 18 | info_log(NULL), 19 | write_buffer_size(4<<20), 20 | max_open_files(1000), 21 | block_cache(NULL), 22 | block_size(4096), 23 | block_restart_interval(16), 24 | max_file_size(2<<20), 25 | compression(kSnappyCompression), 26 | reuse_logs(false), 27 | filter_policy(NULL) { 28 | } 29 | 30 | } // namespace leveldb 31 | -------------------------------------------------------------------------------- /src/libzerocoin/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/libzerocoin/SpendType.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_SPENDTYPE_H 6 | #define WISPR_SPENDTYPE_H 7 | 8 | #include 9 | 10 | namespace libzerocoin { 11 | enum SpendType : uint8_t { 12 | SPEND, // Used for a typical spend transaction, zWSP should be unusable after 13 | STAKE, // Used for a spend that occurs as a stake 14 | MN_COLLATERAL, // Used when proving ownership of zWSP that will be used for masternodes (future) 15 | SIGN_MESSAGE // Used to sign messages that do not belong above (future) 16 | }; 17 | } 18 | 19 | #endif //WISPR_SPENDTYPE_H 20 | -------------------------------------------------------------------------------- /src/libzerocoin/documentation/manual/intro.tex: -------------------------------------------------------------------------------- 1 | \section{Introduction} 2 | 3 | This manual describes \textsf{libzerocoin}, an implementation of the cryptographic components of the Zerocoin protocol. -------------------------------------------------------------------------------- /src/libzerocoin/documentation/manual/manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/libzerocoin/documentation/manual/manual.pdf -------------------------------------------------------------------------------- /src/libzerocoin/documentation/manual/manual.tex: -------------------------------------------------------------------------------- 1 | \documentclass[12pt]{article} 2 | \usepackage{fullpage,pstricks,graphicx,url,mdwlist,ifthen} 3 | \usepackage{epsfig,multirow} 4 | \usepackage{latexsym,amssymb,amsmath} 5 | \usepackage{hyperref} 6 | 7 | \begin{document} 8 | 9 | \newcommand{\libzerocoin}{\textsf{libzerocoin}} 10 | 11 | \title{libzerocoin User Guide} 12 | \author{Ian Miers, Christina Garman and Matthew Green} 13 | \date{} 14 | \maketitle 15 | 16 | \input{intro} 17 | \input{using} 18 | 19 | \end{document} 20 | -------------------------------------------------------------------------------- /src/libzerocoin/zerocoin.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: zerocoin 7 | Description: Zerocoin cryptographic routines library 8 | Requires: 9 | Version: @LIBVER@ 10 | Libs: -L${libdir} -lzerocoin -lcrypto 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /src/noui.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 The Bitcoin developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_NOUI_H 6 | #define BITCOIN_NOUI_H 7 | 8 | extern void noui_connect(); 9 | 10 | #endif // BITCOIN_NOUI_H 11 | -------------------------------------------------------------------------------- /src/obj-test/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /src/obj/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /src/qt/bitcoinaddressvalidator.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_BITCOINADDRESSVALIDATOR_H 6 | #define BITCOIN_QT_BITCOINADDRESSVALIDATOR_H 7 | 8 | #include 9 | 10 | /** Base58 entry widget validator, checks for valid characters and 11 | * removes some whitespace. 12 | */ 13 | class BitcoinAddressEntryValidator : public QValidator 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit BitcoinAddressEntryValidator(QObject* parent); 19 | 20 | State validate(QString& input, int& pos) const; 21 | }; 22 | 23 | /** Bitcoin address widget validator, checks for a valid bitcoin address. 24 | */ 25 | class BitcoinAddressCheckValidator : public QValidator 26 | { 27 | Q_OBJECT 28 | 29 | public: 30 | explicit BitcoinAddressCheckValidator(QObject* parent); 31 | 32 | State validate(QString& input, int& pos) const; 33 | }; 34 | 35 | #endif // BITCOIN_QT_BITCOINADDRESSVALIDATOR_H 36 | -------------------------------------------------------------------------------- /src/qt/coincontroltreewidget.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2013 The Bitcoin developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_COINCONTROLTREEWIDGET_H 6 | #define BITCOIN_QT_COINCONTROLTREEWIDGET_H 7 | 8 | #include 9 | #include 10 | 11 | class CoinControlTreeWidget : public QTreeWidget 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit CoinControlTreeWidget(QWidget* parent = nullptr); 17 | 18 | protected: 19 | virtual void keyPressEvent(QKeyEvent* event); 20 | }; 21 | 22 | #endif // BITCOIN_QT_COINCONTROLTREEWIDGET_H 23 | -------------------------------------------------------------------------------- /src/qt/macnotificationhandler.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2013 The Bitcoin developers 2 | // Copyright (c) 2018 The PIVX developers 3 | // Distributed under the MIT/X11 software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_QT_MACNOTIFICATIONHANDLER_H 7 | #define BITCOIN_QT_MACNOTIFICATIONHANDLER_H 8 | 9 | #include 10 | 11 | /** Macintosh-specific notification handler (supports UserNotificationCenter). 12 | */ 13 | class MacNotificationHandler : public QObject 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | /** shows a 10.8+ UserNotification in the UserNotificationCenter 19 | */ 20 | void showNotification(const QString& title, const QString& text); 21 | 22 | /** executes AppleScript */ 23 | void sendAppleScript(const QString& script); 24 | 25 | /** check if OS can handle UserNotifications */ 26 | bool hasUserNotificationCenterSupport(void); 27 | static MacNotificationHandler* instance(); 28 | }; 29 | 30 | 31 | #endif // BITCOIN_QT_MACNOTIFICATIONHANDLER_H 32 | -------------------------------------------------------------------------------- /src/qt/openuridialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2013 The Bitcoin developers 2 | // Copyright (c) 2017-2018 The PIVX developers 3 | // Distributed under the MIT/X11 software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_QT_OPENURIDIALOG_H 7 | #define BITCOIN_QT_OPENURIDIALOG_H 8 | 9 | #include 10 | 11 | namespace Ui 12 | { 13 | class OpenURIDialog; 14 | } 15 | 16 | class OpenURIDialog : public QDialog 17 | { 18 | Q_OBJECT 19 | 20 | public: 21 | explicit OpenURIDialog(QWidget* parent); 22 | ~OpenURIDialog(); 23 | 24 | QString getURI(); 25 | 26 | protected slots: 27 | void accept(); 28 | 29 | private slots: 30 | void on_selectFileButton_clicked(); 31 | 32 | private: 33 | Ui::OpenURIDialog* ui; 34 | }; 35 | 36 | #endif // BITCOIN_QT_OPENURIDIALOG_H 37 | -------------------------------------------------------------------------------- /src/qt/qvaluecombobox.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2013 The Bitcoin developers 2 | // Copyright (c) 2017-2018 The PIVX developers 3 | // Distributed under the MIT/X11 software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #include "qvaluecombobox.h" 7 | 8 | QValueComboBox::QValueComboBox(QWidget* parent) : QComboBox(parent), role(Qt::UserRole) 9 | { 10 | connect(this, SIGNAL(currentIndexChanged(int)), this, SLOT(handleSelectionChanged(int))); 11 | } 12 | 13 | QVariant QValueComboBox::value() const 14 | { 15 | return itemData(currentIndex(), role); 16 | } 17 | 18 | void QValueComboBox::setValue(const QVariant& value) 19 | { 20 | setCurrentIndex(findData(value, role)); 21 | } 22 | 23 | void QValueComboBox::setRole(int role) 24 | { 25 | this->role = role; 26 | } 27 | 28 | void QValueComboBox::handleSelectionChanged(int idx) 29 | { 30 | emit valueChanged(); 31 | } 32 | -------------------------------------------------------------------------------- /src/qt/qvaluecombobox.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2013 The Bitcoin developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_QVALUECOMBOBOX_H 6 | #define BITCOIN_QT_QVALUECOMBOBOX_H 7 | 8 | #include 9 | #include 10 | 11 | /* QComboBox that can be used with QDataWidgetMapper to select ordinal values from a model. */ 12 | class QValueComboBox : public QComboBox 13 | { 14 | Q_OBJECT 15 | 16 | Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged USER true) 17 | 18 | public: 19 | explicit QValueComboBox(QWidget* parent = nullptr); 20 | 21 | QVariant value() const; 22 | void setValue(const QVariant& value); 23 | 24 | /** Specify model role to use as ordinal value (defaults to Qt::UserRole) */ 25 | void setRole(int role); 26 | 27 | signals: 28 | void valueChanged(); 29 | 30 | private: 31 | int role; 32 | 33 | private slots: 34 | void handleSelectionChanged(int idx); 35 | }; 36 | 37 | #endif // BITCOIN_QT_QVALUECOMBOBOX_H 38 | -------------------------------------------------------------------------------- /src/qt/res/icons/abstainvote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/abstainvote.png -------------------------------------------------------------------------------- /src/qt/res/icons/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/add.png -------------------------------------------------------------------------------- /src/qt/res/icons/address-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/address-book.png -------------------------------------------------------------------------------- /src/qt/res/icons/automint_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/automint_active.png -------------------------------------------------------------------------------- /src/qt/res/icons/automint_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/automint_inactive.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/bitcoin.icns -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/bitcoin.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/bitcoin.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin_regtest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/bitcoin_regtest.png -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin_testnet.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/bitcoin_testnet.ico -------------------------------------------------------------------------------- /src/qt/res/icons/bitcoin_testnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/bitcoin_testnet.png -------------------------------------------------------------------------------- /src/qt/res/icons/bittrex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/bittrex.png -------------------------------------------------------------------------------- /src/qt/res/icons/browse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/browse.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/clock1.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/clock2.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/clock3.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/clock4.png -------------------------------------------------------------------------------- /src/qt/res/icons/clock5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/clock5.png -------------------------------------------------------------------------------- /src/qt/res/icons/configure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/configure.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect0_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/connect0_16.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect1_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/connect1_16.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect2_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/connect2_16.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect3_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/connect3_16.png -------------------------------------------------------------------------------- /src/qt/res/icons/connect4_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/connect4_16.png -------------------------------------------------------------------------------- /src/qt/res/icons/debugwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/debugwindow.png -------------------------------------------------------------------------------- /src/qt/res/icons/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/edit.png -------------------------------------------------------------------------------- /src/qt/res/icons/editcopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/editcopy.png -------------------------------------------------------------------------------- /src/qt/res/icons/editpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/editpaste.png -------------------------------------------------------------------------------- /src/qt/res/icons/explorer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/explorer.png -------------------------------------------------------------------------------- /src/qt/res/icons/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/export.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/eye.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/eye_minus.png -------------------------------------------------------------------------------- /src/qt/res/icons/eye_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/eye_plus.png -------------------------------------------------------------------------------- /src/qt/res/icons/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/filesave.png -------------------------------------------------------------------------------- /src/qt/res/icons/governance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/governance.png -------------------------------------------------------------------------------- /src/qt/res/icons/governance_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/governance_dark.png -------------------------------------------------------------------------------- /src/qt/res/icons/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/history.png -------------------------------------------------------------------------------- /src/qt/res/icons/import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/import.png -------------------------------------------------------------------------------- /src/qt/res/icons/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/key.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/lock_closed.png -------------------------------------------------------------------------------- /src/qt/res/icons/lock_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/lock_open.png -------------------------------------------------------------------------------- /src/qt/res/icons/masternodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/masternodes.png -------------------------------------------------------------------------------- /src/qt/res/icons/notsynced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/notsynced.png -------------------------------------------------------------------------------- /src/qt/res/icons/novote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/novote.png -------------------------------------------------------------------------------- /src/qt/res/icons/onion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/onion.png -------------------------------------------------------------------------------- /src/qt/res/icons/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/overview.png -------------------------------------------------------------------------------- /src/qt/res/icons/privacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/privacy.png -------------------------------------------------------------------------------- /src/qt/res/icons/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/qrcode.png -------------------------------------------------------------------------------- /src/qt/res/icons/quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/quit.png -------------------------------------------------------------------------------- /src/qt/res/icons/receive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/receive.png -------------------------------------------------------------------------------- /src/qt/res/icons/receive_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/receive_dark.png -------------------------------------------------------------------------------- /src/qt/res/icons/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/remove.png -------------------------------------------------------------------------------- /src/qt/res/icons/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/send.png -------------------------------------------------------------------------------- /src/qt/res/icons/send_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/send_dark.png -------------------------------------------------------------------------------- /src/qt/res/icons/staking_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/staking_active.png -------------------------------------------------------------------------------- /src/qt/res/icons/staking_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/staking_inactive.png -------------------------------------------------------------------------------- /src/qt/res/icons/staking_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/staking_off.png -------------------------------------------------------------------------------- /src/qt/res/icons/staking_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/staking_on.png -------------------------------------------------------------------------------- /src/qt/res/icons/synced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/synced.png -------------------------------------------------------------------------------- /src/qt/res/icons/trade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/trade.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/transaction0.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction0_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/transaction0_dark.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/transaction2.png -------------------------------------------------------------------------------- /src/qt/res/icons/transaction_conflicted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/transaction_conflicted.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_inout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/tx_inout.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/tx_input.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_mined.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/tx_mined.png -------------------------------------------------------------------------------- /src/qt/res/icons/tx_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/tx_output.png -------------------------------------------------------------------------------- /src/qt/res/icons/unit_mwispr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/unit_mwispr.png -------------------------------------------------------------------------------- /src/qt/res/icons/unit_tmwispr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/unit_tmwispr.png -------------------------------------------------------------------------------- /src/qt/res/icons/unit_tuwispr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/unit_tuwispr.png -------------------------------------------------------------------------------- /src/qt/res/icons/unit_twispr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/unit_twispr.png -------------------------------------------------------------------------------- /src/qt/res/icons/unit_uwispr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/unit_uwispr.png -------------------------------------------------------------------------------- /src/qt/res/icons/unit_wispr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/unit_wispr.png -------------------------------------------------------------------------------- /src/qt/res/icons/wispr-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/wispr-128.png -------------------------------------------------------------------------------- /src/qt/res/icons/wispr-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/wispr-16.png -------------------------------------------------------------------------------- /src/qt/res/icons/wispr-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/wispr-32.png -------------------------------------------------------------------------------- /src/qt/res/icons/wispr-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/wispr-48.png -------------------------------------------------------------------------------- /src/qt/res/icons/wispr-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/wispr-80.png -------------------------------------------------------------------------------- /src/qt/res/icons/wispr.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/wispr.ico -------------------------------------------------------------------------------- /src/qt/res/icons/yesvote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/icons/yesvote.png -------------------------------------------------------------------------------- /src/qt/res/images/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/about.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/downArrow.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/downArrow_dark.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/downArrow_small.png -------------------------------------------------------------------------------- /src/qt/res/images/downArrow_small_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/downArrow_small_dark.png -------------------------------------------------------------------------------- /src/qt/res/images/header2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/header2.png -------------------------------------------------------------------------------- /src/qt/res/images/leftArrow_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/leftArrow_small.png -------------------------------------------------------------------------------- /src/qt/res/images/leftArrow_small_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/leftArrow_small_dark.png -------------------------------------------------------------------------------- /src/qt/res/images/qtreeview_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/qtreeview_selected.png -------------------------------------------------------------------------------- /src/qt/res/images/rightArrow_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/rightArrow_small.png -------------------------------------------------------------------------------- /src/qt/res/images/rightArrow_small_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/rightArrow_small_dark.png -------------------------------------------------------------------------------- /src/qt/res/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/splash.png -------------------------------------------------------------------------------- /src/qt/res/images/splash_regtest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/splash_regtest.png -------------------------------------------------------------------------------- /src/qt/res/images/splash_testnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/splash_testnet.png -------------------------------------------------------------------------------- /src/qt/res/images/upArrow_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/upArrow_small.png -------------------------------------------------------------------------------- /src/qt/res/images/upArrow_small_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/upArrow_small_dark.png -------------------------------------------------------------------------------- /src/qt/res/images/wispr_logo_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/images/wispr_logo_horizontal.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-000.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-001.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-002.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-003.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-004.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-005.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-006.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-007.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-008.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-009.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-010.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-011.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-012.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-013.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-014.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-015.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-016.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-017.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-018.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-019.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-020.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-021.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-022.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-023.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-024.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-025.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-026.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-027.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-028.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-029.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-030.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-031.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-032.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-033.png -------------------------------------------------------------------------------- /src/qt/res/movies/spinner-034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/qt/res/movies/spinner-034.png -------------------------------------------------------------------------------- /src/qt/test/paymentservertests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2014 The Bitcoin developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 6 | #define BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 7 | 8 | #include "../paymentserver.h" 9 | 10 | #include 11 | #include 12 | 13 | class PaymentServerTests : public QObject 14 | { 15 | Q_OBJECT 16 | 17 | private slots: 18 | void paymentServerTests(); 19 | }; 20 | 21 | // Dummy class to receive paymentserver signals. 22 | // If SendCoinsRecipient was a proper QObject, then 23 | // we could use QSignalSpy... but it's not. 24 | class RecipientCatcher : public QObject 25 | { 26 | Q_OBJECT 27 | 28 | public slots: 29 | void getRecipient(SendCoinsRecipient r); 30 | 31 | public: 32 | SendCoinsRecipient recipient; 33 | }; 34 | 35 | #endif // BITCOIN_QT_TEST_PAYMENTSERVERTESTS_H 36 | -------------------------------------------------------------------------------- /src/qt/test/uritests.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2014 The Bitcoin developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TEST_URITESTS_H 6 | #define BITCOIN_QT_TEST_URITESTS_H 7 | 8 | #include 9 | #include 10 | 11 | class URITests : public QObject 12 | { 13 | Q_OBJECT 14 | 15 | private slots: 16 | void uriTests(); 17 | }; 18 | 19 | #endif // BITCOIN_QT_TEST_URITESTS_H 20 | -------------------------------------------------------------------------------- /src/qt/transactiondesc.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2013 The Bitcoin developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_TRANSACTIONDESC_H 6 | #define BITCOIN_QT_TRANSACTIONDESC_H 7 | 8 | #include 9 | #include 10 | 11 | class TransactionRecord; 12 | 13 | class CWallet; 14 | class CWalletTx; 15 | 16 | /** Provide a human-readable extended HTML description of a transaction. 17 | */ 18 | class TransactionDesc : public QObject 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | static QString toHTML(CWallet* wallet, CWalletTx& wtx, TransactionRecord* rec, int unit); 24 | 25 | private: 26 | TransactionDesc() {} 27 | 28 | static QString FormatTxStatus(const CWalletTx& wtx); 29 | }; 30 | 31 | #endif // BITCOIN_QT_TRANSACTIONDESC_H 32 | -------------------------------------------------------------------------------- /src/qt/transactiondescdialog.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2011-2014 The Bitcoin developers 2 | // Copyright (c) 2017-2018 The PIVX developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_QT_TRANSACTIONDESCDIALOG_H 7 | #define BITCOIN_QT_TRANSACTIONDESCDIALOG_H 8 | 9 | #include 10 | 11 | namespace Ui 12 | { 13 | class TransactionDescDialog; 14 | } 15 | 16 | QT_BEGIN_NAMESPACE 17 | class QModelIndex; 18 | QT_END_NAMESPACE 19 | 20 | /** Dialog showing transaction details. */ 21 | class TransactionDescDialog : public QDialog 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | explicit TransactionDescDialog(const QModelIndex& idx, QWidget* parent = nullptr); 27 | ~TransactionDescDialog(); 28 | 29 | private: 30 | Ui::TransactionDescDialog* ui; 31 | }; 32 | 33 | #endif // BITCOIN_QT_TRANSACTIONDESCDIALOG_H 34 | -------------------------------------------------------------------------------- /src/qt/winshutdownmonitor.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2014 The Bitcoin developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef BITCOIN_QT_WINSHUTDOWNMONITOR_H 6 | #define BITCOIN_QT_WINSHUTDOWNMONITOR_H 7 | 8 | #ifdef WIN32 9 | #include 10 | #include 11 | 12 | #include // for HWND 13 | 14 | #include 15 | 16 | class WinShutdownMonitor : public QAbstractNativeEventFilter 17 | { 18 | public: 19 | /** Implements QAbstractNativeEventFilter interface for processing Windows messages */ 20 | bool nativeEventFilter(const QByteArray& eventType, void* pMessage, long* pnResult); 21 | 22 | /** Register the reason for blocking shutdown on Windows to allow clean client exit */ 23 | static void registerShutdownBlockReason(const QString& strReason, const HWND& mainWinId); 24 | }; 25 | #endif 26 | 27 | #endif // BITCOIN_QT_WINSHUTDOWNMONITOR_H 28 | -------------------------------------------------------------------------------- /src/reverse_iterate.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 | #pragma once 6 | /* 7 | Template used for reverse iteration in C++11 range-based for loops. 8 | std::vector v = {1, 2, 3, 4, 5}; 9 | for (auto x : reverse_iterate(v)) 10 | std::cout << x << " "; 11 | */ 12 | 13 | template 14 | class reverse_range 15 | { 16 | T &x; 17 | 18 | public: 19 | reverse_range(T &x) : x(x) {} 20 | 21 | auto begin() const -> decltype(this->x.rbegin()) 22 | { 23 | return x.rbegin(); 24 | } 25 | 26 | auto end() const -> decltype(this->x.rend()) 27 | { 28 | return x.rend(); 29 | } 30 | }; 31 | 32 | template 33 | reverse_range reverse_iterate(T &x) 34 | { 35 | return reverse_range(x); 36 | } 37 | 38 | -------------------------------------------------------------------------------- /src/reverselock.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Copyright (c) 2017-2018 The PIVX developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_REVERSELOCK_H 7 | #define BITCOIN_REVERSELOCK_H 8 | 9 | /** 10 | * An RAII-style reverse lock. Unlocks on construction and locks on destruction. 11 | */ 12 | template 13 | class reverse_lock 14 | { 15 | public: 16 | 17 | explicit reverse_lock(Lock& lock) : lock(lock) { 18 | lock.unlock(); 19 | lock.swap(templock); 20 | } 21 | 22 | ~reverse_lock() { 23 | templock.lock(); 24 | templock.swap(lock); 25 | } 26 | 27 | private: 28 | reverse_lock(reverse_lock const&); 29 | reverse_lock& operator=(reverse_lock const&); 30 | 31 | Lock& lock; 32 | Lock templock; 33 | }; 34 | 35 | #endif // BITCOIN_REVERSELOCK_H 36 | -------------------------------------------------------------------------------- /src/rpc/client.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2016 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 | #ifndef BITCOIN_RPCCLIENT_H 8 | #define BITCOIN_RPCCLIENT_H 9 | 10 | #include 11 | 12 | UniValue RPCConvertValues(const std::string& strMethod, const std::vector& strParams); 13 | /** Non-RFC4627 JSON parser, accepts internal values (such as numbers, true, false, null) 14 | * as well as objects and arrays. 15 | */ 16 | UniValue ParseNonRFCJSONValue(const std::string& strVal); 17 | 18 | #endif // BITCOIN_RPCCLIENT_H 19 | -------------------------------------------------------------------------------- /src/script/sigcache.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 The Bitcoin developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_SCRIPT_SIGCACHE_H 7 | #define BITCOIN_SCRIPT_SIGCACHE_H 8 | 9 | #include "script/interpreter.h" 10 | 11 | #include 12 | 13 | class CPubKey; 14 | 15 | class CachingTransactionSignatureChecker : public TransactionSignatureChecker 16 | { 17 | private: 18 | bool store; 19 | 20 | public: 21 | CachingTransactionSignatureChecker(const CTransaction* txToIn, unsigned int nInIn, bool storeIn=true) : TransactionSignatureChecker(txToIn, nInIn), store(storeIn) {} 22 | 23 | bool VerifySignature(const std::vector& vchSig, const CPubKey& vchPubKey, const uint256& sighash) const; 24 | }; 25 | 26 | #endif // BITCOIN_SCRIPT_SIGCACHE_H 27 | -------------------------------------------------------------------------------- /src/secp256k1/.gitignore: -------------------------------------------------------------------------------- 1 | bench_inv 2 | bench_ecdh 3 | bench_ecmult 4 | bench_sign 5 | bench_verify 6 | bench_schnorr_verify 7 | bench_recover 8 | bench_internal 9 | tests 10 | exhaustive_tests 11 | gen_context 12 | *.exe 13 | *.so 14 | *.a 15 | !.gitignore 16 | 17 | Makefile 18 | configure 19 | .libs/ 20 | Makefile.in 21 | aclocal.m4 22 | autom4te.cache/ 23 | config.log 24 | config.status 25 | *.tar.gz 26 | *.la 27 | libtool 28 | .deps/ 29 | .dirstamp 30 | *.lo 31 | *.o 32 | *~ 33 | src/libsecp256k1-config.h 34 | src/libsecp256k1-config.h.in 35 | src/ecmult_static_context.h 36 | build-aux/config.guess 37 | build-aux/config.sub 38 | build-aux/depcomp 39 | build-aux/install-sh 40 | build-aux/ltmain.sh 41 | build-aux/m4/libtool.m4 42 | build-aux/m4/lt~obsolete.m4 43 | build-aux/m4/ltoptions.m4 44 | build-aux/m4/ltsugar.m4 45 | build-aux/m4/ltversion.m4 46 | build-aux/missing 47 | build-aux/compile 48 | build-aux/test-driver 49 | src/stamp-h1 50 | libsecp256k1.pc 51 | -------------------------------------------------------------------------------- /src/secp256k1/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Pieter Wuille 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /src/secp256k1/TODO: -------------------------------------------------------------------------------- 1 | * Unit tests for fieldelem/groupelem, including ones intended to 2 | trigger fieldelem's boundary cases. 3 | * Complete constant-time operations for signing/keygen 4 | -------------------------------------------------------------------------------- /src/secp256k1/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | autoreconf -if --warnings=all 4 | -------------------------------------------------------------------------------- /src/secp256k1/libsecp256k1.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libsecp256k1 7 | Description: Optimized C library for EC operations on curve secp256k1 8 | URL: https://github.com/bitcoin-core/secp256k1 9 | Version: @PACKAGE_VERSION@ 10 | Cflags: -I${includedir} 11 | Libs.private: @SECP_LIBS@ 12 | Libs: -L${libdir} -lsecp256k1 13 | 14 | -------------------------------------------------------------------------------- /src/secp256k1/obj/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/secp256k1/obj/.gitignore -------------------------------------------------------------------------------- /src/secp256k1/src/basic-config.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef SECP256K1_BASIC_CONFIG_H 8 | #define SECP256K1_BASIC_CONFIG_H 9 | 10 | #ifdef USE_BASIC_CONFIG 11 | 12 | #undef USE_ASM_X86_64 13 | #undef USE_ENDOMORPHISM 14 | #undef USE_FIELD_10X26 15 | #undef USE_FIELD_5X52 16 | #undef USE_FIELD_INV_BUILTIN 17 | #undef USE_FIELD_INV_NUM 18 | #undef USE_NUM_GMP 19 | #undef USE_NUM_NONE 20 | #undef USE_SCALAR_4X64 21 | #undef USE_SCALAR_8X32 22 | #undef USE_SCALAR_INV_BUILTIN 23 | #undef USE_SCALAR_INV_NUM 24 | 25 | #define USE_NUM_NONE 1 26 | #define USE_FIELD_INV_BUILTIN 1 27 | #define USE_SCALAR_INV_BUILTIN 1 28 | #define USE_FIELD_10X26 1 29 | #define USE_SCALAR_8X32 1 30 | 31 | #endif /* USE_BASIC_CONFIG */ 32 | 33 | #endif /* SECP256K1_BASIC_CONFIG_H */ 34 | -------------------------------------------------------------------------------- /src/secp256k1/src/ecmult_const.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef SECP256K1_ECMULT_CONST_H 8 | #define SECP256K1_ECMULT_CONST_H 9 | 10 | #include "scalar.h" 11 | #include "group.h" 12 | 13 | /* Here `bits` should be set to the maximum bitlength of the _absolute value_ of `q`, plus 14 | * one because we internally sometimes add 2 to the number during the WNAF conversion. */ 15 | static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *q, int bits); 16 | 17 | #endif /* SECP256K1_ECMULT_CONST_H */ 18 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_Secp256k1Context.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "org_bitcoin_Secp256k1Context.h" 4 | #include "include/secp256k1.h" 5 | 6 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 7 | (JNIEnv* env, jclass classObject) 8 | { 9 | secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY); 10 | 11 | (void)classObject;(void)env; 12 | 13 | return (uintptr_t)ctx; 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/secp256k1/src/java/org_bitcoin_Secp256k1Context.h: -------------------------------------------------------------------------------- 1 | /* DO NOT EDIT THIS FILE - it is machine generated */ 2 | #include 3 | #include "include/secp256k1.h" 4 | /* Header for class org_bitcoin_Secp256k1Context */ 5 | 6 | #ifndef _Included_org_bitcoin_Secp256k1Context 7 | #define _Included_org_bitcoin_Secp256k1Context 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | /* 12 | * Class: org_bitcoin_Secp256k1Context 13 | * Method: secp256k1_init_context 14 | * Signature: ()J 15 | */ 16 | SECP256K1_API jlong JNICALL Java_org_bitcoin_Secp256k1Context_secp256k1_1init_1context 17 | (JNIEnv *, jclass); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | #endif 23 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/ecdh/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_ecdh.h 2 | noinst_HEADERS += src/modules/ecdh/main_impl.h 3 | noinst_HEADERS += src/modules/ecdh/tests_impl.h 4 | if USE_BENCHMARK 5 | noinst_PROGRAMS += bench_ecdh 6 | bench_ecdh_SOURCES = src/bench_ecdh.c 7 | bench_ecdh_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 8 | endif 9 | -------------------------------------------------------------------------------- /src/secp256k1/src/modules/recovery/Makefile.am.include: -------------------------------------------------------------------------------- 1 | include_HEADERS += include/secp256k1_recovery.h 2 | noinst_HEADERS += src/modules/recovery/main_impl.h 3 | noinst_HEADERS += src/modules/recovery/tests_impl.h 4 | if USE_BENCHMARK 5 | noinst_PROGRAMS += bench_recover 6 | bench_recover_SOURCES = src/bench_recover.c 7 | bench_recover_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB) 8 | endif 9 | -------------------------------------------------------------------------------- /src/secp256k1/src/num_gmp.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef SECP256K1_NUM_REPR_H 8 | #define SECP256K1_NUM_REPR_H 9 | 10 | #include 11 | 12 | #define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) 13 | 14 | typedef struct { 15 | mp_limb_t data[2*NUM_LIMBS]; 16 | int neg; 17 | int limbs; 18 | } secp256k1_num; 19 | 20 | #endif /* SECP256K1_NUM_REPR_H */ 21 | -------------------------------------------------------------------------------- /src/secp256k1/src/num_impl.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2013, 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef SECP256K1_NUM_IMPL_H 8 | #define SECP256K1_NUM_IMPL_H 9 | 10 | #if defined HAVE_CONFIG_H 11 | #include "libsecp256k1-config.h" 12 | #endif 13 | 14 | #include "num.h" 15 | 16 | #if defined(USE_NUM_GMP) 17 | #include "num_gmp_impl.h" 18 | #elif defined(USE_NUM_NONE) 19 | /* Nothing. */ 20 | #else 21 | #error "Please select num implementation" 22 | #endif 23 | 24 | #endif /* SECP256K1_NUM_IMPL_H */ 25 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_4x64.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef SECP256K1_SCALAR_REPR_H 8 | #define SECP256K1_SCALAR_REPR_H 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint64_t d[4]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{((uint64_t)(d1)) << 32 | (d0), ((uint64_t)(d3)) << 32 | (d2), ((uint64_t)(d5)) << 32 | (d4), ((uint64_t)(d7)) << 32 | (d6)}} 18 | 19 | #endif /* SECP256K1_SCALAR_REPR_H */ 20 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_8x32.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2014 Pieter Wuille * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef SECP256K1_SCALAR_REPR_H 8 | #define SECP256K1_SCALAR_REPR_H 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef struct { 14 | uint32_t d[8]; 15 | } secp256k1_scalar; 16 | 17 | #define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{(d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)}} 18 | 19 | #endif /* SECP256K1_SCALAR_REPR_H */ 20 | -------------------------------------------------------------------------------- /src/secp256k1/src/scalar_low.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * Copyright (c) 2015 Andrew Poelstra * 3 | * Distributed under the MIT software license, see the accompanying * 4 | * file COPYING or http://www.opensource.org/licenses/mit-license.php.* 5 | **********************************************************************/ 6 | 7 | #ifndef SECP256K1_SCALAR_REPR_H 8 | #define SECP256K1_SCALAR_REPR_H 9 | 10 | #include 11 | 12 | /** A scalar modulo the group order of the secp256k1 curve. */ 13 | typedef uint32_t secp256k1_scalar; 14 | 15 | #endif /* SECP256K1_SCALAR_REPR_H */ 16 | -------------------------------------------------------------------------------- /src/sporkdb.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The PIVX developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "sporkdb.h" 6 | #include "spork.h" 7 | 8 | CSporkDB::CSporkDB(size_t nCacheSize, bool fMemory, bool fWipe) : CLevelDBWrapper(GetDataDir() / "sporks", nCacheSize, fMemory, fWipe) {} 9 | 10 | bool CSporkDB::WriteSpork(const int nSporkId, const CSporkMessage& spork) 11 | { 12 | LogPrintf("Wrote spork %s to database\n", sporkManager.GetSporkNameByID(nSporkId)); 13 | return Write(nSporkId, spork); 14 | 15 | } 16 | 17 | bool CSporkDB::ReadSpork(const int nSporkId, CSporkMessage& spork) 18 | { 19 | return Read(nSporkId, spork); 20 | } 21 | 22 | bool CSporkDB::SporkExists(const int nSporkId) 23 | { 24 | return Exists(nSporkId); 25 | } 26 | -------------------------------------------------------------------------------- /src/sporkdb.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017 The PIVX developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #ifndef WISPR_CSPORKDB_H 6 | #define WISPR_CSPORKDB_H 7 | 8 | #include 9 | #include "leveldbwrapper.h" 10 | #include "spork.h" 11 | 12 | class CSporkDB : public CLevelDBWrapper 13 | { 14 | public: 15 | CSporkDB(size_t nCacheSize, bool fMemory = false, bool fWipe = false); 16 | 17 | private: 18 | CSporkDB(const CSporkDB&); 19 | void operator=(const CSporkDB&); 20 | 21 | public: 22 | bool WriteSpork(const int nSporkId, const CSporkMessage& spork); 23 | bool ReadSpork(const int nSporkId, CSporkMessage& spork); 24 | bool SporkExists(const int nSporkId); 25 | }; 26 | 27 | 28 | #endif //WISPR_CSPORKDB_H 29 | -------------------------------------------------------------------------------- /src/support/cleanse.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2018 The Bitcoin Core developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | #ifndef BITCOIN_SUPPORT_CLEANSE_H 7 | #define BITCOIN_SUPPORT_CLEANSE_H 8 | 9 | #include 10 | 11 | /** Secure overwrite a buffer (possibly containing secret data) with zero-bytes. The write 12 | * operation will not be optimized out by the compiler. */ 13 | void memory_cleanse(void *ptr, size_t len); 14 | 15 | #endif // BITCOIN_SUPPORT_CLEANSE_H 16 | -------------------------------------------------------------------------------- /src/test/base32_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2013 The Bitcoin Core developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "utilstrencodings.h" 6 | #include "test/test_wispr.h" 7 | 8 | #include 9 | 10 | BOOST_FIXTURE_TEST_SUITE(base32_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(base32_testvectors) 13 | { 14 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 15 | static const std::string vstrOut[] = {"","my======","mzxq====","mzxw6===","mzxw6yq=","mzxw6ytb","mzxw6ytboi======"}; 16 | for (unsigned int i=0; i 9 | 10 | BOOST_FIXTURE_TEST_SUITE(base64_tests, BasicTestingSetup) 11 | 12 | BOOST_AUTO_TEST_CASE(base64_testvectors) 13 | { 14 | static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"}; 15 | static const std::string vstrOut[] = {"","Zg==","Zm8=","Zm9v","Zm9vYg==","Zm9vYmE=","Zm9vYmFy"}; 16 | for (unsigned int i=0; i 10 | 11 | BOOST_FIXTURE_TEST_SUITE(sanity_tests, TestingSetup) 12 | 13 | BOOST_AUTO_TEST_CASE(basic_sanity) 14 | { 15 | BOOST_CHECK_MESSAGE(glibc_sanity_test() == true, "libc sanity test"); 16 | BOOST_CHECK_MESSAGE(glibcxx_sanity_test() == true, "stdlib sanity test"); 17 | BOOST_CHECK_MESSAGE(ECC_InitSanityCheck() == true, "openssl ECC test"); 18 | } 19 | 20 | BOOST_AUTO_TEST_SUITE_END() 21 | -------------------------------------------------------------------------------- /src/test/test_wispr.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 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_TEST_TEST_WISPR_H 6 | #define WISPR_TEST_TEST_WISPR_H 7 | 8 | #include "txdb.h" 9 | 10 | #include 11 | #include 12 | 13 | /** Basic testing setup. 14 | * This just configures logging and chain parameters. 15 | */ 16 | struct BasicTestingSetup { 17 | BasicTestingSetup(); 18 | ~BasicTestingSetup(); 19 | }; 20 | 21 | /** Testing setup that configures a complete environment. 22 | * Included are data directory, coins database, script check threads 23 | * and wallet (if enabled) setup. 24 | */ 25 | struct TestingSetup: public BasicTestingSetup { 26 | CCoinsViewDB *pcoinsdbview; 27 | boost::filesystem::path pathTemp; 28 | boost::thread_group threadGroup; 29 | ECCVerifyHandle globalVerifyHandle; 30 | 31 | TestingSetup(); 32 | ~TestingSetup(); 33 | }; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/test/test_zerocoin.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2017-2018 The PIVX developers 2 | // Distributed under the MIT/X11 software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #define BOOST_TEST_MODULE Zerocoin Test Suite 6 | #define BOOST_TEST_MAIN 7 | 8 | #include "libzerocoin/Denominations.h" 9 | #include "amount.h" 10 | #include "chainparams.h" 11 | #include "main.h" 12 | #include "txdb.h" 13 | 14 | #include 15 | #include 16 | 17 | struct ZeroSetup { 18 | ZeroSetup() { 19 | std::cout << "global setup\n"; 20 | } 21 | ~ZeroSetup() 22 | { 23 | std::cout << "global teardown\n"; 24 | } 25 | }; 26 | 27 | BOOST_GLOBAL_FIXTURE(ZeroSetup); 28 | 29 | -------------------------------------------------------------------------------- /src/test/zerocoin_chain_tests.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | // Created by tom on 2/11/18. 6 | // 7 | 8 | -------------------------------------------------------------------------------- /src/torcontrol.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015-2017 The Bitcoin Core developers 2 | // Copyright (c) 2017-2018 The PIVX developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | /** 7 | * Functionality for communicating with Tor. 8 | */ 9 | #ifndef BITCOIN_TORCONTROL_H 10 | #define BITCOIN_TORCONTROL_H 11 | 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | extern const std::string DEFAULT_TOR_CONTROL; 19 | static const bool DEFAULT_LISTEN_ONION = true; 20 | 21 | void StartTorControl(boost::thread_group& threadGroup); 22 | void InterruptTorControl(); 23 | void StopTorControl(); 24 | 25 | #endif /* BITCOIN_TORCONTROL_H */ 26 | -------------------------------------------------------------------------------- /src/univalue/.gitignore: -------------------------------------------------------------------------------- 1 | .deps/ 2 | INSTALL 3 | Makefile 4 | Makefile.in 5 | aclocal.m4 6 | autom4te.cache/ 7 | compile 8 | config.log 9 | config.status 10 | config.guess 11 | config.sub 12 | configure 13 | depcomp 14 | install-sh 15 | missing 16 | stamp-h1 17 | univalue-config.h* 18 | test-driver 19 | libtool 20 | ltmain.sh 21 | test-suite.log 22 | 23 | *.a 24 | *.la 25 | *.lo 26 | *.logs 27 | *.o 28 | *.pc 29 | *.trs 30 | 31 | .dirstamp 32 | .libs 33 | -------------------------------------------------------------------------------- /src/univalue/COPYING: -------------------------------------------------------------------------------- 1 | 2 | Permission is hereby granted, free of charge, to any person obtaining a copy 3 | of this software and associated documentation files (the "Software"), to deal 4 | in the Software without restriction, including without limitation the rights 5 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 6 | copies of the Software, and to permit persons to whom the Software is 7 | furnished to do so, subject to the following conditions: 8 | 9 | The above copyright notice and this permission notice shall be included in 10 | all copies or substantial portions of the Software. 11 | 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 14 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 15 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 16 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 17 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 18 | THE SOFTWARE. 19 | 20 | -------------------------------------------------------------------------------- /src/univalue/README.md: -------------------------------------------------------------------------------- 1 | 2 | # UniValue 3 | 4 | ## Summary 5 | 6 | A universal value class, with JSON encoding and decoding. 7 | 8 | UniValue is an abstract data type that may be a null, boolean, string, 9 | number, array container, or a key/value dictionary container, nested to 10 | an arbitrary depth. 11 | 12 | This class is aligned with the JSON standard, [RFC 13 | 7159](https://tools.ietf.org/html/rfc7159.html). 14 | 15 | ## Installation 16 | 17 | This project is a standard GNU 18 | [autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html) 19 | project. Build and install instructions are available in the `INSTALL` 20 | file provided with GNU autotools. 21 | 22 | ``` 23 | $ ./autogen.sh 24 | $ ./configure 25 | $ make 26 | ``` 27 | 28 | ## Design 29 | 30 | UniValue provides a single dynamic RAII C++ object class, 31 | and minimizes template use (contra json_spirit). 32 | 33 | -------------------------------------------------------------------------------- /src/univalue/TODO: -------------------------------------------------------------------------------- 1 | 2 | Rearrange tree for easier 'git subtree' style use 3 | 4 | Move towards C++11 etc. 5 | 6 | Namespace support - must come up with useful shorthand, avoiding 7 | long Univalue::Univalue::Univalue usages forced upon library users. 8 | 9 | Improve test suite 10 | 11 | -------------------------------------------------------------------------------- /src/univalue/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | srcdir="$(dirname $0)" 4 | cd "$srcdir" 5 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then 6 | LIBTOOLIZE="${GLIBTOOLIZE}" 7 | export LIBTOOLIZE 8 | fi 9 | autoreconf --install --force 10 | -------------------------------------------------------------------------------- /src/univalue/build-aux/m4/.gitignore: -------------------------------------------------------------------------------- 1 | /*.m4 2 | -------------------------------------------------------------------------------- /src/univalue/lib/.gitignore: -------------------------------------------------------------------------------- 1 | gen 2 | .libs 3 | -------------------------------------------------------------------------------- /src/univalue/pc/libunivalue-uninstalled.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libunivalue 7 | Description: libunivalue, C++ universal value object and JSON library 8 | Version: @VERSION@ 9 | Libs: ${pc_top_builddir}/${pcfiledir}/libunivalue.la 10 | -------------------------------------------------------------------------------- /src/univalue/pc/libunivalue.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libunivalue 7 | Description: libunivalue, C++ universal value object and JSON library 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lunivalue 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /src/univalue/test/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | object 3 | unitester 4 | test_json 5 | no_nul 6 | 7 | *.trs 8 | *.log 9 | -------------------------------------------------------------------------------- /src/univalue/test/fail1.json: -------------------------------------------------------------------------------- 1 | "This is a string that never ends, yes it goes on and on, my friends. 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail10.json: -------------------------------------------------------------------------------- 1 | {"Extra value after close": true} "misplaced quoted value" -------------------------------------------------------------------------------- /src/univalue/test/fail11.json: -------------------------------------------------------------------------------- 1 | {"Illegal expression": 1 + 2} -------------------------------------------------------------------------------- /src/univalue/test/fail12.json: -------------------------------------------------------------------------------- 1 | {"Illegal invocation": alert()} -------------------------------------------------------------------------------- /src/univalue/test/fail13.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot have leading zeroes": 013} -------------------------------------------------------------------------------- /src/univalue/test/fail14.json: -------------------------------------------------------------------------------- 1 | {"Numbers cannot be hex": 0x14} -------------------------------------------------------------------------------- /src/univalue/test/fail15.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \x15"] -------------------------------------------------------------------------------- /src/univalue/test/fail16.json: -------------------------------------------------------------------------------- 1 | [\naked] -------------------------------------------------------------------------------- /src/univalue/test/fail17.json: -------------------------------------------------------------------------------- 1 | ["Illegal backslash escape: \017"] -------------------------------------------------------------------------------- /src/univalue/test/fail18.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /src/univalue/test/fail19.json: -------------------------------------------------------------------------------- 1 | {"Missing colon" null} -------------------------------------------------------------------------------- /src/univalue/test/fail2.json: -------------------------------------------------------------------------------- 1 | ["Unclosed array" -------------------------------------------------------------------------------- /src/univalue/test/fail20.json: -------------------------------------------------------------------------------- 1 | {"Double colon":: null} -------------------------------------------------------------------------------- /src/univalue/test/fail21.json: -------------------------------------------------------------------------------- 1 | {"Comma instead of colon", null} -------------------------------------------------------------------------------- /src/univalue/test/fail22.json: -------------------------------------------------------------------------------- 1 | ["Colon instead of comma": false] -------------------------------------------------------------------------------- /src/univalue/test/fail23.json: -------------------------------------------------------------------------------- 1 | ["Bad value", truth] -------------------------------------------------------------------------------- /src/univalue/test/fail24.json: -------------------------------------------------------------------------------- 1 | ['single quote'] -------------------------------------------------------------------------------- /src/univalue/test/fail25.json: -------------------------------------------------------------------------------- 1 | [" tab character in string "] -------------------------------------------------------------------------------- /src/univalue/test/fail26.json: -------------------------------------------------------------------------------- 1 | ["tab\ character\ in\ string\ "] -------------------------------------------------------------------------------- /src/univalue/test/fail27.json: -------------------------------------------------------------------------------- 1 | ["line 2 | break"] -------------------------------------------------------------------------------- /src/univalue/test/fail28.json: -------------------------------------------------------------------------------- 1 | ["line\ 2 | break"] -------------------------------------------------------------------------------- /src/univalue/test/fail29.json: -------------------------------------------------------------------------------- 1 | [0e] -------------------------------------------------------------------------------- /src/univalue/test/fail3.json: -------------------------------------------------------------------------------- 1 | {unquoted_key: "keys must be quoted"} -------------------------------------------------------------------------------- /src/univalue/test/fail30.json: -------------------------------------------------------------------------------- 1 | [0e+] -------------------------------------------------------------------------------- /src/univalue/test/fail31.json: -------------------------------------------------------------------------------- 1 | [0e+-1] -------------------------------------------------------------------------------- /src/univalue/test/fail32.json: -------------------------------------------------------------------------------- 1 | {"Comma instead if closing brace": true, -------------------------------------------------------------------------------- /src/univalue/test/fail33.json: -------------------------------------------------------------------------------- 1 | ["mismatch"} -------------------------------------------------------------------------------- /src/univalue/test/fail34.json: -------------------------------------------------------------------------------- 1 | {} garbage -------------------------------------------------------------------------------- /src/univalue/test/fail35.json: -------------------------------------------------------------------------------- 1 | [ true true true [] [] [] ] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail36.json: -------------------------------------------------------------------------------- 1 | {"a":} 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail37.json: -------------------------------------------------------------------------------- 1 | {"a":1 "b":2} 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail38.json: -------------------------------------------------------------------------------- 1 | ["\ud834"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail39.json: -------------------------------------------------------------------------------- 1 | ["\udd61"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail4.json: -------------------------------------------------------------------------------- 1 | ["extra comma",] -------------------------------------------------------------------------------- /src/univalue/test/fail40.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/univalue/test/fail40.json -------------------------------------------------------------------------------- /src/univalue/test/fail41.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/src/univalue/test/fail41.json -------------------------------------------------------------------------------- /src/univalue/test/fail42.json: -------------------------------------------------------------------------------- 1 | ["before nul byte"]"after nul byte" 2 | -------------------------------------------------------------------------------- /src/univalue/test/fail44.json: -------------------------------------------------------------------------------- 1 | "This file ends without a newline or close-quote. -------------------------------------------------------------------------------- /src/univalue/test/fail5.json: -------------------------------------------------------------------------------- 1 | ["double extra comma",,] -------------------------------------------------------------------------------- /src/univalue/test/fail6.json: -------------------------------------------------------------------------------- 1 | [ , "<-- missing value"] -------------------------------------------------------------------------------- /src/univalue/test/fail7.json: -------------------------------------------------------------------------------- 1 | ["Comma after the close"], -------------------------------------------------------------------------------- /src/univalue/test/fail8.json: -------------------------------------------------------------------------------- 1 | ["Extra close"]] -------------------------------------------------------------------------------- /src/univalue/test/fail9.json: -------------------------------------------------------------------------------- 1 | {"Extra comma": true,} -------------------------------------------------------------------------------- /src/univalue/test/no_nul.cpp: -------------------------------------------------------------------------------- 1 | #include "univalue.h" 2 | 3 | int main (int argc, char *argv[]) 4 | { 5 | char buf[] = "___[1,2,3]___"; 6 | UniValue val; 7 | return val.read(buf + 3, 7) ? 0 : 1; 8 | } 9 | -------------------------------------------------------------------------------- /src/univalue/test/pass2.json: -------------------------------------------------------------------------------- 1 | [[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] -------------------------------------------------------------------------------- /src/univalue/test/pass3.json: -------------------------------------------------------------------------------- 1 | { 2 | "JSON Test Pattern pass3": { 3 | "The outermost value": "must be an object or array.", 4 | "In this test": "It is an object." 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/univalue/test/round1.json: -------------------------------------------------------------------------------- 1 | ["\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/round2.json: -------------------------------------------------------------------------------- 1 | ["a§■𐎒𝅘𝅥𝅯"] 2 | -------------------------------------------------------------------------------- /src/univalue/test/round3.json: -------------------------------------------------------------------------------- 1 | "abcdefghijklmnopqrstuvwxyz" 2 | -------------------------------------------------------------------------------- /src/univalue/test/round4.json: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /src/univalue/test/round5.json: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /src/univalue/test/round6.json: -------------------------------------------------------------------------------- 1 | false 2 | -------------------------------------------------------------------------------- /src/univalue/test/round7.json: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /src/univalue/test/test_json.cpp: -------------------------------------------------------------------------------- 1 | // Test program that can be called by the JSON test suite at 2 | // https://github.com/nst/JSONTestSuite. 3 | // 4 | // It reads JSON input from stdin and exits with code 0 if it can be parsed 5 | // successfully. It also pretty prints the parsed JSON value to stdout. 6 | 7 | #include 8 | #include 9 | #include "univalue.h" 10 | 11 | using namespace std; 12 | 13 | int main (int argc, char *argv[]) 14 | { 15 | UniValue val; 16 | if (val.read(string(istreambuf_iterator(cin), 17 | istreambuf_iterator()))) { 18 | cout << val.write(1 /* prettyIndent */, 4 /* indentLevel */) << endl; 19 | return 0; 20 | } else { 21 | cerr << "JSON Parse Error." << endl; 22 | return 1; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/utilmoneystr.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 The Bitcoin developers 3 | // Distributed under the MIT software license, see the accompanying 4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | 6 | /** 7 | * Money parsing/formatting utilities. 8 | */ 9 | #ifndef BITCOIN_UTILMONEYSTR_H 10 | #define BITCOIN_UTILMONEYSTR_H 11 | 12 | #include 13 | #include 14 | 15 | #include "amount.h" 16 | 17 | std::string FormatMoney(const CAmount& n, bool fPlus = false); 18 | bool ParseMoney(const std::string& str, CAmount& nRet); 19 | bool ParseMoney(const char* pszIn, CAmount& nRet); 20 | 21 | #endif // BITCOIN_UTILMONEYSTR_H 22 | -------------------------------------------------------------------------------- /src/utiltime.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2009-2010 Satoshi Nakamoto 2 | // Copyright (c) 2009-2014 The Bitcoin developers 3 | // Copyright (c) 2016-2017 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 | #ifndef BITCOIN_UTILTIME_H 8 | #define BITCOIN_UTILTIME_H 9 | 10 | #include 11 | #include 12 | 13 | int64_t GetTime(); 14 | int64_t GetTimeMillis(); 15 | int64_t GetTimeMicros(); 16 | void SetMockTime(int64_t nMockTimeIn); 17 | void MilliSleep(int64_t n); 18 | 19 | std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime); 20 | std::string DurationToDHMS(int64_t nDurationTime); 21 | 22 | #endif // BITCOIN_UTILTIME_H 23 | -------------------------------------------------------------------------------- /src/zmq/zmqabstractnotifier.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 The Bitcoin Core developers 2 | // Distributed under the MIT software license, see the accompanying 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | #include "zmqabstractnotifier.h" 6 | #include "util.h" 7 | 8 | 9 | CZMQAbstractNotifier::~CZMQAbstractNotifier() 10 | { 11 | assert(!psocket); 12 | } 13 | 14 | bool CZMQAbstractNotifier::NotifyBlock(const CBlockIndex * /*CBlockIndex*/) 15 | { 16 | return true; 17 | } 18 | 19 | bool CZMQAbstractNotifier::NotifyTransaction(const CTransaction &/*transaction*/) 20 | { 21 | return true; 22 | } 23 | 24 | bool CZMQAbstractNotifier::NotifyTransactionLock(const CTransaction &/*transaction*/) 25 | { 26 | return true; 27 | } 28 | -------------------------------------------------------------------------------- /src/zmq/zmqconfig.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_ZMQ_ZMQCONFIG_H 6 | #define BITCOIN_ZMQ_ZMQCONFIG_H 7 | 8 | #if defined(HAVE_CONFIG_H) 9 | #include "config/wispr-config.h" 10 | #endif 11 | 12 | #include 13 | #include 14 | 15 | #if ENABLE_ZMQ 16 | #include 17 | #endif 18 | 19 | #include "primitives/block.h" 20 | #include "primitives/transaction.h" 21 | 22 | void zmqError(const char *str); 23 | 24 | #endif // BITCOIN_ZMQ_ZMQCONFIG_H 25 | -------------------------------------------------------------------------------- /src/zpiv/accumulatorcheckpoints.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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_ACCUMULATORCHECKPOINTS_H 6 | #define WISPR_ACCUMULATORCHECKPOINTS_H 7 | 8 | #include 9 | #include 10 | 11 | namespace AccumulatorCheckpoints 12 | { 13 | using Checkpoint = std::map; 14 | extern std::map mapCheckpoints; 15 | 16 | UniValue read_json(const std::string& jsondata); 17 | bool LoadCheckpoints(const std::string& strNetwork); 18 | Checkpoint GetClosestCheckpoint(const int& nHeight, int& nHeightCheckpoint); 19 | } 20 | 21 | #endif //WISPR_ACCUMULATORCHECKPOINTS_H 22 | -------------------------------------------------------------------------------- /test/config.ini.in: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013-2016 The Bitcoin Core developers 2 | # Distributed under the MIT software license, see the accompanying 3 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 | 5 | # These environment variables are set by the build process and read by 6 | # test/functional/test_runner.py and test/util/bitcoin-util-test.py 7 | 8 | [environment] 9 | SRCDIR=@abs_top_srcdir@ 10 | BUILDDIR=@abs_top_builddir@ 11 | EXEEXT=@EXEEXT@ 12 | RPCAUTH=@abs_top_srcdir@/share/rpcauth/rpcauth.py 13 | 14 | [components] 15 | # Which components are enabled. These are commented out by `configure` if they were disabled when running config. 16 | @ENABLE_WALLET_TRUE@ENABLE_WALLET=true 17 | @BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=true 18 | @BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=true 19 | @ENABLE_ZMQ_TRUE@ENABLE_ZMQ=true 20 | -------------------------------------------------------------------------------- /test/functional/combined_log_template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{ title }} 4 | 32 | 33 | 34 |
    35 | {% for event in log_events %} 36 |
  • {{ event.source }} {{ event.timestamp }} {{event.event}}
  • 37 | {% endfor %} 38 |
39 | 40 | 41 | -------------------------------------------------------------------------------- /test/functional/create_cache.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 2016-2017 The Bitcoin Core developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | """Create a blockchain cache. 6 | 7 | Creating a cache of the blockchain speeds up test execution when running 8 | multiple functional tests. This helper script is executed by test_runner when multiple 9 | tests are being run in parallel. 10 | """ 11 | 12 | from test_framework.test_framework import BitcoinTestFramework 13 | 14 | class CreateCache(BitcoinTestFramework): 15 | # Test network and test nodes are not required: 16 | 17 | def set_test_params(self): 18 | self.num_nodes = 0 19 | self.supports_cli = True 20 | 21 | def setup_network(self): 22 | pass 23 | 24 | def run_test(self): 25 | pass 26 | 27 | if __name__ == '__main__': 28 | CreateCache().main() 29 | -------------------------------------------------------------------------------- /test/functional/rpc_bip38.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) 2018 The WISPR developers 3 | # Distributed under the MIT software license, see the accompanying 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php. 5 | """Test RPC commands for BIP38 encrypting and decrypting addresses.""" 6 | 7 | from test_framework.test_framework import BitcoinTestFramework 8 | from test_framework.util import assert_equal 9 | 10 | class Bip38Test(BitcoinTestFramework): 11 | def set_test_params(self): 12 | self.setup_clean_chain = True 13 | self.num_nodes = 2 14 | 15 | def run_test(self): 16 | password = 'test' 17 | address = self.nodes[0].getnewaddress() 18 | privkey = self.nodes[0].dumpprivkey(address) 19 | 20 | self.log.info('encrypt address %s' % (address)) 21 | bip38key = self.nodes[0].bip38encrypt(address, password)['Encrypted Key'] 22 | 23 | self.log.info('decrypt bip38 key %s' % (bip38key)) 24 | assert_equal(self.nodes[1].bip38decrypt(bip38key, password)['Address'], address) 25 | 26 | if __name__ == '__main__': 27 | Bip38Test().main() 28 | -------------------------------------------------------------------------------- /test/functional/test_framework/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WisprProject/core/39ca7d215383e18f0259e27b74bc74b9ea96a882/test/functional/test_framework/__init__.py -------------------------------------------------------------------------------- /test/util/data/blanktxv1.hex: -------------------------------------------------------------------------------- 1 | 02000000000000000000 2 | -------------------------------------------------------------------------------- /test/util/data/blanktxv1.json: -------------------------------------------------------------------------------- 1 | { 2 | "txid": "4ebd325a4b394cff8c57e8317ccf5a8d0e2bdf1b8526f8aad6c8e43d8240621a", 3 | "version": 2, 4 | "size": 10, 5 | "locktime": 0, 6 | "vin": [ 7 | ], 8 | "vout": [ 9 | ], 10 | "hex": "02000000000000000000" 11 | } 12 | -------------------------------------------------------------------------------- /test/util/data/txcreate1.hex: -------------------------------------------------------------------------------- 1 | 02000000031f5c38dfcf6f1a5f5a87c416076d392c87e6d41970d5ad5e477a02d66bde97580000000000ffffffff7cca453133921c50d5025878f7f738d1df891fd359763331935784cf6b9c82bf1200000000fffffffffccd319e04a996c96cfc0bf4c07539aa90bd0b1a700ef72fae535d6504f9a6220100000000ffffffff0280a81201000000001976a9147cf96244dec7cfc76c8e54ea9979c69bfc9d823d88ac0084d717000000001976a914efbb910519d75b51718299b746d7163a3a1c082988ac00000000 2 | -------------------------------------------------------------------------------- /test/util/data/txcreate2.hex: -------------------------------------------------------------------------------- 1 | 02000000000100000000000000000000000000 2 | -------------------------------------------------------------------------------- /test/util/data/txcreate2.json: -------------------------------------------------------------------------------- 1 | { 2 | "txid": "0481afb29931341d0d7861d8a2f6f26456fa042abf54a23e96440ed7946e0715", 3 | "version": 2, 4 | "size": 19, 5 | "locktime": 0, 6 | "vin": [ 7 | ], 8 | "vout": [ 9 | { 10 | "value": 0.00, 11 | "n": 0, 12 | "scriptPubKey": { 13 | "asm": "", 14 | "hex": "", 15 | "type": "nonstandard" 16 | } 17 | } 18 | ], 19 | "hex": "02000000000100000000000000000000000000" 20 | } 21 | -------------------------------------------------------------------------------- /test/util/data/txcreatescript1.hex: -------------------------------------------------------------------------------- 1 | 0200000000010000000000000000017500000000 2 | -------------------------------------------------------------------------------- /test/util/data/txcreatescript1.json: -------------------------------------------------------------------------------- 1 | { 2 | "txid": "e67afdb292b68a7bc68a1da71c42db89722e69394f57b2bee54c4d5a4c9b0d7d", 3 | "version": 2, 4 | "size": 20, 5 | "locktime": 0, 6 | "vin": [ 7 | ], 8 | "vout": [ 9 | { 10 | "value": 0.00, 11 | "n": 0, 12 | "scriptPubKey": { 13 | "asm": "OP_DROP", 14 | "hex": "75", 15 | "type": "nonstandard" 16 | } 17 | } 18 | ], 19 | "hex": "0200000000010000000000000000017500000000" 20 | } 21 | -------------------------------------------------------------------------------- /test/util/data/txcreatesign.hex: -------------------------------------------------------------------------------- 1 | 02000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d0000000000ffffffff01a0860100000000001976a914efbb910519d75b51718299b746d7163a3a1c082988ac00000000 2 | --------------------------------------------------------------------------------