From 2ad0bfe41489c1d43163652d65d2163e78b23a61 Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Wed, 30 Aug 2017 13:53:26 -0600 Subject: [PATCH 1/9] Added dumpbootstrap RPC command --- src/bitcoinrpc.cpp | 2 ++ src/bitcoinrpc.h | 1 + src/rpcblockchain.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 4d4bd170..e2838763 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -245,6 +245,7 @@ static const CRPCCommand vRPCCommands[] = { "getpeerinfo", &getpeerinfo, true, false }, { "gethashespersec", &gethashespersec, true, false }, { "addnode", &addnode, true, true }, + { "dumpbootstrap", &dumpbootstrap, false, false }, { "getdifficulty", &getdifficulty, true, false }, { "getinfo", &getinfo, true, false }, { "getsubsidy", &getsubsidy, true, false }, @@ -1231,6 +1232,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "getblockbynumber" && n > 1) ConvertTo(params[1]); if (strMethod == "getblockhash" && n > 0) ConvertTo(params[0]); + if (strMethod == "dumpbootstrap" && n > 1) ConvertTo(params[1]); if (strMethod == "move" && n > 2) ConvertTo(params[2]); if (strMethod == "move" && n > 3) ConvertTo(params[3]); if (strMethod == "sendfrom" && n > 2) ConvertTo(params[2]); diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 3b2be747..b84cef6a 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -213,6 +213,7 @@ extern json_spirit::Value sendrawtransaction(const json_spirit::Array& params, b extern json_spirit::Value getbestblockhash(const json_spirit::Array& params, bool fHelp); // in rpcblockchain.cpp extern json_spirit::Value getblockcount(const json_spirit::Array& params, bool fHelp); // in rpcblockchain.cpp extern json_spirit::Value getdifficulty(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value dumpbootstrap(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value settxfee(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawmempool(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getblockhash(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 097a17dc..19153982 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -147,6 +147,45 @@ Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool fPri return result; } +Value dumpbootstrap(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + "dumpbootstrap \"destination\" \"blocks\"\n" + "\nCreates a bootstrap format block dump of the blockchain in destination, which can be a directory or a path with filename, up to the given block number."); + + string strDest = params[0].get_str(); + int nBlocks = params[1].get_int(); + if (nBlocks < 0 || nBlocks > nBestHeight) + throw runtime_error("Block number out of range."); + + boost::filesystem::path pathDest(strDest); + if (boost::filesystem::is_directory(pathDest)) + pathDest /= "bootstrap.dat"; + + try { + FILE* file = fopen(pathDest.string().c_str(), "wb"); + if (!file) + throw JSONRPCError(RPC_MISC_ERROR, "Error: Could not open bootstrap file for writing."); + + CAutoFile fileout = CAutoFile(file, SER_DISK, CLIENT_VERSION); + if (!fileout) + throw JSONRPCError(RPC_MISC_ERROR, "Error: Could not open bootstrap file for writing."); + + for (int nHeight = 0; nHeight <= nBlocks; nHeight++) + { + CBlock block; + CBlockIndex* pblockindex = FindBlockByHeight(nHeight); + block.ReadFromDisk(pblockindex, true); + fileout << FLATDATA(pchMessageStart) << fileout.GetSerializeSize(block) << block; + } + } catch(const boost::filesystem::filesystem_error &e) { + throw JSONRPCError(RPC_MISC_ERROR, "Error: Bootstrap dump failed!"); + } + + return Value::null; +} + Value getbestblockhash(const Array& params, bool fHelp) { if (fHelp || params.size() != 0) From b8f5ea57fa2c70ff87fee016ef15d26b4cb3554f Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 02:21:50 -0600 Subject: [PATCH 2/9] Added Intro Datadir Dialog --- .gitignore | 2 + Makefile | 3694 ++--------------------------------------- Makefile.Debug | 94 +- Makefile.Release | 94 +- denarius-qt.pro | 3 + src/qt/bitcoin.cpp | 42 +- src/qt/bitcoin.qrc | 1 + src/qt/forms/intro.ui | 282 ++++ src/qt/guiutil.cpp | 29 + src/qt/guiutil.h | 10 + src/qt/intro.cpp | 292 ++++ src/qt/intro.h | 73 + 12 files changed, 1017 insertions(+), 3599 deletions(-) create mode 100644 src/qt/forms/intro.ui create mode 100644 src/qt/intro.cpp create mode 100644 src/qt/intro.h diff --git a/.gitignore b/.gitignore index b19a86af..2ed0af77 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ src/denarius src/denariusd src/test_denarius src/build.h +src/leveldb/*.a +src/leveldb/build_config.mk object_script.Denarius.Release object_script.Denarius.Debug release diff --git a/Makefile b/Makefile index 73d35c59..0cb1761d 100644 --- a/Makefile +++ b/Makefile @@ -1,3563 +1,163 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.7) on: Sun Aug 20 19:11:45 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 01:31:48 2017 # Project: denarius-qt.pro # Template: app -# Command: /usr/lib/x86_64-linux-gnu/qt4/bin/qmake -o Makefile denarius-qt.pro +# Command: c:\Qt\4.8.6\bin\qmake.exe USE_QRCODE=1 USE_UPNP=1 -o Makefile denarius-qt.pro ############################################################################# -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DHAVE_BUILD_INFO -DLINUX -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -m64 -pipe -O2 -D_REENTRANT -Wall -W $(DEFINES) -CXXFLAGS = -fpermissive -fstack-protector-all --param ssp-buffer-size=1 -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector $(DEFINES) -INCPATH = -I/usr/share/qt4/mkspecs/linux-g++-64 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/json -Isrc/qt -Isrc/qt/plugins/mrichtexteditor -Isrc/leveldb/include -Isrc/leveldb/helpers -Ibuild -Ibuild -LINK = g++ -LFLAGS = -m64 -fstack-protector-all --param ssp-buffer-size=1 -Wl,-O1 -LIBS = $(SUBLIBS) -L/usr/lib/x86_64-linux-gnu -lminiupnpc /home/ubuntu/Desktop/denarius/src/leveldb/libleveldb.a /home/ubuntu/Desktop/denarius/src/leveldb/libmemenv.a -lrt -lssl -lcrypto -ldb_cxx -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lpthread -lQtGui -lQtNetwork -lQtCore -AR = ar cqs -RANLIB = -QMAKE = /usr/lib/x86_64-linux-gnu/qt4/bin/qmake -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed +first: release +install: release-install +uninstall: release-uninstall +MAKEFILE = Makefile +QMAKE = c:\Qt\4.8.6\bin\qmake.exe +DEL_FILE = del +CHK_DIR_EXISTS= if not exist +MKDIR = mkdir +COPY = copy /y COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = strip -INSTALL_FILE = install -m 644 -p +COPY_DIR = xcopy /s /q /y /i +INSTALL_FILE = $(COPY_FILE) +INSTALL_PROGRAM = $(COPY_FILE) INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s +DEL_FILE = del +SYMLINK = DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = build/ - -####### Files - -SOURCES = src/txdb-leveldb.cpp \ - src/bloom.cpp \ - src/hash.cpp \ - src/echo.c \ - src/jh.c \ - src/keccak.c \ - src/qt/bitcoin.cpp \ - src/qt/bitcoingui.cpp \ - src/qt/transactiontablemodel.cpp \ - src/qt/addresstablemodel.cpp \ - src/qt/optionsdialog.cpp \ - src/qt/sendcoinsdialog.cpp \ - src/qt/coincontroldialog.cpp \ - src/qt/coincontroltreewidget.cpp \ - src/qt/addressbookpage.cpp \ - src/qt/signverifymessagedialog.cpp \ - src/qt/aboutdialog.cpp \ - src/qt/editaddressdialog.cpp \ - src/qt/bitcoinaddressvalidator.cpp \ - src/qt/statisticspage.cpp \ - src/qt/blockbrowser.cpp \ - src/qt/marketbrowser.cpp \ - src/alert.cpp \ - src/version.cpp \ - src/sync.cpp \ - src/smessage.cpp \ - src/util.cpp \ - src/netbase.cpp \ - src/key.cpp \ - src/script.cpp \ - src/main.cpp \ - src/miner.cpp \ - src/init.cpp \ - src/net.cpp \ - src/irc.cpp \ - src/checkpoints.cpp \ - src/addrman.cpp \ - src/db.cpp \ - src/walletdb.cpp \ - src/qt/clientmodel.cpp \ - src/qt/guiutil.cpp \ - src/qt/transactionrecord.cpp \ - src/qt/optionsmodel.cpp \ - src/qt/monitoreddatamapper.cpp \ - src/qt/transactiondesc.cpp \ - src/qt/transactiondescdialog.cpp \ - src/qt/bitcoinstrings.cpp \ - src/qt/bitcoinamountfield.cpp \ - src/wallet.cpp \ - src/keystore.cpp \ - src/qt/transactionfilterproxy.cpp \ - src/qt/transactionview.cpp \ - src/qt/walletmodel.cpp \ - src/bitcoinrpc.cpp \ - src/rpcdump.cpp \ - src/rpcnet.cpp \ - src/rpcmining.cpp \ - src/rpcwallet.cpp \ - src/rpcblockchain.cpp \ - src/rpcrawtransaction.cpp \ - src/rpcsmessage.cpp \ - src/qt/overviewpage.cpp \ - src/qt/csvmodelwriter.cpp \ - src/crypter.cpp \ - src/qt/sendcoinsentry.cpp \ - src/qt/qvalidatedlineedit.cpp \ - src/qt/bitcoinunits.cpp \ - src/qt/qvaluecombobox.cpp \ - src/qt/askpassphrasedialog.cpp \ - src/protocol.cpp \ - src/qt/notificator.cpp \ - src/qt/qtipcserver.cpp \ - src/qt/rpcconsole.cpp \ - src/qt/trafficgraphwidget.cpp \ - src/qt/messagepage.cpp \ - src/qt/messagemodel.cpp \ - src/qt/sendmessagesdialog.cpp \ - src/qt/sendmessagesentry.cpp \ - src/qt/qvalidatedtextedit.cpp \ - src/qt/plugins/mrichtexteditor/mrichtextedit.cpp \ - src/noui.cpp \ - src/kernel.cpp \ - src/scrypt-arm.S \ - src/scrypt-x86.S \ - src/scrypt-x86_64.S \ - src/scrypt.cpp \ - src/pbkdf2.cpp \ - src/stealth.cpp build/moc_bitcoingui.cpp \ - build/moc_transactiontablemodel.cpp \ - build/moc_addresstablemodel.cpp \ - build/moc_optionsdialog.cpp \ - build/moc_coincontroldialog.cpp \ - build/moc_coincontroltreewidget.cpp \ - build/moc_sendcoinsdialog.cpp \ - build/moc_addressbookpage.cpp \ - build/moc_signverifymessagedialog.cpp \ - build/moc_aboutdialog.cpp \ - build/moc_editaddressdialog.cpp \ - build/moc_bitcoinaddressvalidator.cpp \ - build/moc_clientmodel.cpp \ - build/moc_guiutil.cpp \ - build/moc_optionsmodel.cpp \ - build/moc_monitoreddatamapper.cpp \ - build/moc_transactiondesc.cpp \ - build/moc_transactiondescdialog.cpp \ - build/moc_bitcoinamountfield.cpp \ - build/moc_transactionfilterproxy.cpp \ - build/moc_transactionview.cpp \ - build/moc_walletmodel.cpp \ - build/moc_overviewpage.cpp \ - build/moc_csvmodelwriter.cpp \ - build/moc_sendcoinsentry.cpp \ - build/moc_qvalidatedlineedit.cpp \ - build/moc_qvaluecombobox.cpp \ - build/moc_askpassphrasedialog.cpp \ - build/moc_notificator.cpp \ - build/moc_rpcconsole.cpp \ - build/moc_trafficgraphwidget.cpp \ - build/moc_blockbrowser.cpp \ - build/moc_statisticspage.cpp \ - build/moc_marketbrowser.cpp \ - build/moc_messagepage.cpp \ - build/moc_messagemodel.cpp \ - build/moc_sendmessagesdialog.cpp \ - build/moc_sendmessagesentry.cpp \ - build/moc_mrichtextedit.cpp \ - build/moc_qvalidatedtextedit.cpp \ - qrc_bitcoin.cpp \ - qrc_style.cpp -OBJECTS = build/txdb-leveldb.o \ - build/bloom.o \ - build/hash.o \ - build/echo.o \ - build/jh.o \ - build/keccak.o \ - build/bitcoin.o \ - build/bitcoingui.o \ - build/transactiontablemodel.o \ - build/addresstablemodel.o \ - build/optionsdialog.o \ - build/sendcoinsdialog.o \ - build/coincontroldialog.o \ - build/coincontroltreewidget.o \ - build/addressbookpage.o \ - build/signverifymessagedialog.o \ - build/aboutdialog.o \ - build/editaddressdialog.o \ - build/bitcoinaddressvalidator.o \ - build/statisticspage.o \ - build/blockbrowser.o \ - build/marketbrowser.o \ - build/alert.o \ - build/version.o \ - build/sync.o \ - build/smessage.o \ - build/util.o \ - build/netbase.o \ - build/key.o \ - build/script.o \ - build/main.o \ - build/miner.o \ - build/init.o \ - build/net.o \ - build/irc.o \ - build/checkpoints.o \ - build/addrman.o \ - build/db.o \ - build/walletdb.o \ - build/clientmodel.o \ - build/guiutil.o \ - build/transactionrecord.o \ - build/optionsmodel.o \ - build/monitoreddatamapper.o \ - build/transactiondesc.o \ - build/transactiondescdialog.o \ - build/bitcoinstrings.o \ - build/bitcoinamountfield.o \ - build/wallet.o \ - build/keystore.o \ - build/transactionfilterproxy.o \ - build/transactionview.o \ - build/walletmodel.o \ - build/bitcoinrpc.o \ - build/rpcdump.o \ - build/rpcnet.o \ - build/rpcmining.o \ - build/rpcwallet.o \ - build/rpcblockchain.o \ - build/rpcrawtransaction.o \ - build/rpcsmessage.o \ - build/overviewpage.o \ - build/csvmodelwriter.o \ - build/crypter.o \ - build/sendcoinsentry.o \ - build/qvalidatedlineedit.o \ - build/bitcoinunits.o \ - build/qvaluecombobox.o \ - build/askpassphrasedialog.o \ - build/protocol.o \ - build/notificator.o \ - build/qtipcserver.o \ - build/rpcconsole.o \ - build/trafficgraphwidget.o \ - build/messagepage.o \ - build/messagemodel.o \ - build/sendmessagesdialog.o \ - build/sendmessagesentry.o \ - build/qvalidatedtextedit.o \ - build/mrichtextedit.o \ - build/noui.o \ - build/kernel.o \ - build/scrypt-arm.o \ - build/scrypt-x86.o \ - build/scrypt-x86_64.o \ - build/scrypt.o \ - build/pbkdf2.o \ - build/stealth.o \ - build/moc_bitcoingui.o \ - build/moc_transactiontablemodel.o \ - build/moc_addresstablemodel.o \ - build/moc_optionsdialog.o \ - build/moc_coincontroldialog.o \ - build/moc_coincontroltreewidget.o \ - build/moc_sendcoinsdialog.o \ - build/moc_addressbookpage.o \ - build/moc_signverifymessagedialog.o \ - build/moc_aboutdialog.o \ - build/moc_editaddressdialog.o \ - build/moc_bitcoinaddressvalidator.o \ - build/moc_clientmodel.o \ - build/moc_guiutil.o \ - build/moc_optionsmodel.o \ - build/moc_monitoreddatamapper.o \ - build/moc_transactiondesc.o \ - build/moc_transactiondescdialog.o \ - build/moc_bitcoinamountfield.o \ - build/moc_transactionfilterproxy.o \ - build/moc_transactionview.o \ - build/moc_walletmodel.o \ - build/moc_overviewpage.o \ - build/moc_csvmodelwriter.o \ - build/moc_sendcoinsentry.o \ - build/moc_qvalidatedlineedit.o \ - build/moc_qvaluecombobox.o \ - build/moc_askpassphrasedialog.o \ - build/moc_notificator.o \ - build/moc_rpcconsole.o \ - build/moc_trafficgraphwidget.o \ - build/moc_blockbrowser.o \ - build/moc_statisticspage.o \ - build/moc_marketbrowser.o \ - build/moc_messagepage.o \ - build/moc_messagemodel.o \ - build/moc_sendmessagesdialog.o \ - build/moc_sendmessagesentry.o \ - build/moc_mrichtextedit.o \ - build/moc_qvalidatedtextedit.o \ - build/qrc_bitcoin.o \ - build/qrc_style.o -DIST = /usr/share/qt4/mkspecs/common/unix.conf \ - /usr/share/qt4/mkspecs/common/linux.conf \ - /usr/share/qt4/mkspecs/common/gcc-base.conf \ - /usr/share/qt4/mkspecs/common/gcc-base-unix.conf \ - /usr/share/qt4/mkspecs/common/g++-base.conf \ - /usr/share/qt4/mkspecs/common/g++-unix.conf \ - /usr/share/qt4/mkspecs/qconfig.pri \ - /usr/share/qt4/mkspecs/features/qt_functions.prf \ - /usr/share/qt4/mkspecs/features/qt_config.prf \ - /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ - /usr/share/qt4/mkspecs/features/default_pre.prf \ - /usr/share/qt4/mkspecs/features/release.prf \ - /usr/share/qt4/mkspecs/features/default_post.prf \ - /usr/share/qt4/mkspecs/features/static.prf \ - /usr/share/qt4/mkspecs/features/unix/thread.prf \ - /usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ - /usr/share/qt4/mkspecs/features/warn_on.prf \ - /usr/share/qt4/mkspecs/features/qt.prf \ - /usr/share/qt4/mkspecs/features/moc.prf \ - /usr/share/qt4/mkspecs/features/resources.prf \ - /usr/share/qt4/mkspecs/features/uic.prf \ - /usr/share/qt4/mkspecs/features/yacc.prf \ - /usr/share/qt4/mkspecs/features/lex.prf \ - denarius-qt.pro -QMAKE_TARGET = Denarius -DESTDIR = -TARGET = Denarius - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile $(TARGET) - -$(TARGET): /home/ubuntu/Desktop/denarius/src/leveldb/libleveldb.a /home/ubuntu/Desktop/denarius/build/build.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -Makefile: denarius-qt.pro /usr/share/qt4/mkspecs/linux-g++-64/qmake.conf /usr/share/qt4/mkspecs/common/unix.conf \ - /usr/share/qt4/mkspecs/common/linux.conf \ - /usr/share/qt4/mkspecs/common/gcc-base.conf \ - /usr/share/qt4/mkspecs/common/gcc-base-unix.conf \ - /usr/share/qt4/mkspecs/common/g++-base.conf \ - /usr/share/qt4/mkspecs/common/g++-unix.conf \ - /usr/share/qt4/mkspecs/qconfig.pri \ - /usr/share/qt4/mkspecs/features/qt_functions.prf \ - /usr/share/qt4/mkspecs/features/qt_config.prf \ - /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ - /usr/share/qt4/mkspecs/features/default_pre.prf \ - /usr/share/qt4/mkspecs/features/release.prf \ - /usr/share/qt4/mkspecs/features/default_post.prf \ - /usr/share/qt4/mkspecs/features/static.prf \ - /usr/share/qt4/mkspecs/features/unix/thread.prf \ - /usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ - /usr/share/qt4/mkspecs/features/warn_on.prf \ - /usr/share/qt4/mkspecs/features/qt.prf \ - /usr/share/qt4/mkspecs/features/moc.prf \ - /usr/share/qt4/mkspecs/features/resources.prf \ - /usr/share/qt4/mkspecs/features/uic.prf \ - /usr/share/qt4/mkspecs/features/yacc.prf \ - /usr/share/qt4/mkspecs/features/lex.prf \ - /usr/lib/x86_64-linux-gnu/libQtGui.prl \ - /usr/lib/x86_64-linux-gnu/libQtNetwork.prl \ - /usr/lib/x86_64-linux-gnu/libQtCore.prl - $(QMAKE) -o Makefile denarius-qt.pro -/usr/share/qt4/mkspecs/common/unix.conf: -/usr/share/qt4/mkspecs/common/linux.conf: -/usr/share/qt4/mkspecs/common/gcc-base.conf: -/usr/share/qt4/mkspecs/common/gcc-base-unix.conf: -/usr/share/qt4/mkspecs/common/g++-base.conf: -/usr/share/qt4/mkspecs/common/g++-unix.conf: -/usr/share/qt4/mkspecs/qconfig.pri: -/usr/share/qt4/mkspecs/features/qt_functions.prf: -/usr/share/qt4/mkspecs/features/qt_config.prf: -/usr/share/qt4/mkspecs/features/exclusive_builds.prf: -/usr/share/qt4/mkspecs/features/default_pre.prf: -/usr/share/qt4/mkspecs/features/release.prf: -/usr/share/qt4/mkspecs/features/default_post.prf: -/usr/share/qt4/mkspecs/features/static.prf: -/usr/share/qt4/mkspecs/features/unix/thread.prf: -/usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf: -/usr/share/qt4/mkspecs/features/warn_on.prf: -/usr/share/qt4/mkspecs/features/qt.prf: -/usr/share/qt4/mkspecs/features/moc.prf: -/usr/share/qt4/mkspecs/features/resources.prf: -/usr/share/qt4/mkspecs/features/uic.prf: -/usr/share/qt4/mkspecs/features/yacc.prf: -/usr/share/qt4/mkspecs/features/lex.prf: -/usr/lib/x86_64-linux-gnu/libQtGui.prl: -/usr/lib/x86_64-linux-gnu/libQtNetwork.prl: -/usr/lib/x86_64-linux-gnu/libQtCore.prl: -qmake: FORCE - @$(QMAKE) -o Makefile denarius-qt.pro - -dist: - @$(CHK_DIR_EXISTS) build/Denarius1.0.5 || $(MKDIR) build/Denarius1.0.5 - $(COPY_FILE) --parents $(SOURCES) $(DIST) build/Denarius1.0.5/ && $(COPY_FILE) --parents src/qt/locale/bitcoin_af_ZA.ts src/qt/locale/bitcoin_ar.ts src/qt/locale/bitcoin_be_BY.ts src/qt/locale/bitcoin_bg.ts src/qt/locale/bitcoin_bs.ts src/qt/locale/bitcoin_ca.ts src/qt/locale/bitcoin_ca_ES.ts src/qt/locale/bitcoin_cs.ts src/qt/locale/bitcoin_cy.ts src/qt/locale/bitcoin_da.ts src/qt/locale/bitcoin_de.ts src/qt/locale/bitcoin_el_GR.ts src/qt/locale/bitcoin_en.ts src/qt/locale/bitcoin_eo.ts src/qt/locale/bitcoin_es(1).ts src/qt/locale/bitcoin_es.ts src/qt/locale/bitcoin_es_CL.ts src/qt/locale/bitcoin_es_DO.ts src/qt/locale/bitcoin_es_MX.ts src/qt/locale/bitcoin_es_UY.ts src/qt/locale/bitcoin_et.ts src/qt/locale/bitcoin_eu_ES.ts src/qt/locale/bitcoin_fa.ts src/qt/locale/bitcoin_fa_IR.ts src/qt/locale/bitcoin_fi.ts src/qt/locale/bitcoin_fr.ts src/qt/locale/bitcoin_fr_CA.ts src/qt/locale/bitcoin_gl.ts src/qt/locale/bitcoin_he.ts src/qt/locale/bitcoin_hi_IN.ts src/qt/locale/bitcoin_hr.ts src/qt/locale/bitcoin_hu.ts src/qt/locale/bitcoin_id_ID.ts src/qt/locale/bitcoin_it.ts src/qt/locale/bitcoin_ja.ts src/qt/locale/bitcoin_ka.ts src/qt/locale/bitcoin_kk_KZ.ts src/qt/locale/bitcoin_ko_KR.ts src/qt/locale/bitcoin_ky.ts src/qt/locale/bitcoin_la.ts src/qt/locale/bitcoin_lt.ts src/qt/locale/bitcoin_lv_LV.ts src/qt/locale/bitcoin_ms_MY.ts src/qt/locale/bitcoin_nb.ts src/qt/locale/bitcoin_nl.ts src/qt/locale/bitcoin_pam.ts src/qt/locale/bitcoin_pl.ts src/qt/locale/bitcoin_pt_BR.ts src/qt/locale/bitcoin_pt_PT.ts src/qt/locale/bitcoin_ro_RO.ts src/qt/locale/bitcoin_ru.ts src/qt/locale/bitcoin_sah.ts src/qt/locale/bitcoin_sk.ts src/qt/locale/bitcoin_sl_SI.ts src/qt/locale/bitcoin_sq.ts src/qt/locale/bitcoin_sr.ts src/qt/locale/bitcoin_sv.ts src/qt/locale/bitcoin_th_TH.ts src/qt/locale/bitcoin_tr.ts src/qt/locale/bitcoin_uk.ts src/qt/locale/bitcoin_ur_PK.ts src/qt/locale/bitcoin_vi.ts src/qt/locale/bitcoin_vi_VN.ts src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.ts build/Denarius1.0.5/ && $(COPY_FILE) --parents src/qt/bitcoingui.h src/qt/transactiontablemodel.h src/qt/addresstablemodel.h src/qt/optionsdialog.h src/qt/coincontroldialog.h src/qt/coincontroltreewidget.h src/qt/sendcoinsdialog.h src/qt/addressbookpage.h src/qt/signverifymessagedialog.h src/qt/aboutdialog.h src/qt/editaddressdialog.h src/qt/bitcoinaddressvalidator.h src/alert.h src/addrman.h src/base58.h src/bignum.h src/checkpoints.h src/compat.h src/coincontrol.h src/sync.h src/util.h src/uint256.h src/kernel.h src/scrypt.h src/pbkdf2.h src/serialize.h src/strlcpy.h src/smessage.h src/main.h src/miner.h src/net.h src/key.h src/db.h src/txdb.h src/walletdb.h src/script.h src/stealth.h src/init.h src/irc.h src/mruset.h src/json/json_spirit_writer_template.h src/json/json_spirit_writer.h src/json/json_spirit_value.h src/json/json_spirit_utils.h src/json/json_spirit_stream_reader.h src/json/json_spirit_reader_template.h src/json/json_spirit_reader.h src/json/json_spirit_error_position.h src/json/json_spirit.h src/qt/clientmodel.h src/qt/guiutil.h src/qt/transactionrecord.h src/qt/guiconstants.h src/qt/optionsmodel.h src/qt/monitoreddatamapper.h src/qt/transactiondesc.h src/qt/transactiondescdialog.h src/qt/bitcoinamountfield.h src/wallet.h src/keystore.h src/qt/transactionfilterproxy.h src/qt/transactionview.h src/qt/walletmodel.h src/bitcoinrpc.h src/qt/overviewpage.h src/qt/csvmodelwriter.h src/crypter.h src/qt/sendcoinsentry.h src/qt/qvalidatedlineedit.h src/qt/bitcoinunits.h src/qt/qvaluecombobox.h src/qt/askpassphrasedialog.h src/protocol.h src/qt/notificator.h src/qt/qtipcserver.h src/allocators.h src/ui_interface.h src/qt/rpcconsole.h src/qt/trafficgraphwidget.h src/qt/blockbrowser.h src/qt/statisticspage.h src/qt/marketbrowser.h src/version.h src/bloom.h src/netbase.h src/clientversion.h src/hash.h src/hashblock.h src/sph_echo.h src/sph_keccak.h src/sph_jh.h src/sph_types.h src/threadsafety.h src/qt/messagepage.h src/qt/messagemodel.h src/qt/sendmessagesdialog.h src/qt/sendmessagesentry.h src/qt/plugins/mrichtexteditor/mrichtextedit.h src/qt/qvalidatedtextedit.h build/Denarius1.0.5/ && $(COPY_FILE) --parents src/qt/bitcoin.qrc src/qt/res/themes/qdarkstyle/style.qrc build/Denarius1.0.5/ && $(COPY_FILE) --parents src/txdb-leveldb.cpp src/bloom.cpp src/hash.cpp src/echo.c src/jh.c src/keccak.c src/qt/bitcoin.cpp src/qt/bitcoingui.cpp src/qt/transactiontablemodel.cpp src/qt/addresstablemodel.cpp src/qt/optionsdialog.cpp src/qt/sendcoinsdialog.cpp src/qt/coincontroldialog.cpp src/qt/coincontroltreewidget.cpp src/qt/addressbookpage.cpp src/qt/signverifymessagedialog.cpp src/qt/aboutdialog.cpp src/qt/editaddressdialog.cpp src/qt/bitcoinaddressvalidator.cpp src/qt/statisticspage.cpp src/qt/blockbrowser.cpp src/qt/marketbrowser.cpp src/alert.cpp src/version.cpp src/sync.cpp src/smessage.cpp src/util.cpp src/netbase.cpp src/key.cpp src/script.cpp src/main.cpp src/miner.cpp src/init.cpp src/net.cpp src/irc.cpp src/checkpoints.cpp src/addrman.cpp src/db.cpp src/walletdb.cpp src/qt/clientmodel.cpp src/qt/guiutil.cpp src/qt/transactionrecord.cpp src/qt/optionsmodel.cpp src/qt/monitoreddatamapper.cpp src/qt/transactiondesc.cpp src/qt/transactiondescdialog.cpp src/qt/bitcoinstrings.cpp src/qt/bitcoinamountfield.cpp src/wallet.cpp src/keystore.cpp src/qt/transactionfilterproxy.cpp src/qt/transactionview.cpp src/qt/walletmodel.cpp src/bitcoinrpc.cpp src/rpcdump.cpp src/rpcnet.cpp src/rpcmining.cpp src/rpcwallet.cpp src/rpcblockchain.cpp src/rpcrawtransaction.cpp src/rpcsmessage.cpp src/qt/overviewpage.cpp src/qt/csvmodelwriter.cpp src/crypter.cpp src/qt/sendcoinsentry.cpp src/qt/qvalidatedlineedit.cpp src/qt/bitcoinunits.cpp src/qt/qvaluecombobox.cpp src/qt/askpassphrasedialog.cpp src/protocol.cpp src/qt/notificator.cpp src/qt/qtipcserver.cpp src/qt/rpcconsole.cpp src/qt/trafficgraphwidget.cpp src/qt/messagepage.cpp src/qt/messagemodel.cpp src/qt/sendmessagesdialog.cpp src/qt/sendmessagesentry.cpp src/qt/qvalidatedtextedit.cpp src/qt/plugins/mrichtexteditor/mrichtextedit.cpp src/noui.cpp src/kernel.cpp src/scrypt-arm.S src/scrypt-x86.S src/scrypt-x86_64.S src/scrypt.cpp src/pbkdf2.cpp src/stealth.cpp build/Denarius1.0.5/ && $(COPY_FILE) --parents src/qt/forms/coincontroldialog.ui src/qt/forms/sendcoinsdialog.ui src/qt/forms/addressbookpage.ui src/qt/forms/signverifymessagedialog.ui src/qt/forms/aboutdialog.ui src/qt/forms/editaddressdialog.ui src/qt/forms/transactiondescdialog.ui src/qt/forms/overviewpage.ui src/qt/forms/sendcoinsentry.ui src/qt/forms/askpassphrasedialog.ui src/qt/forms/rpcconsole.ui src/qt/forms/optionsdialog.ui src/qt/forms/messagepage.ui src/qt/forms/statisticspage.ui src/qt/forms/blockbrowser.ui src/qt/forms/marketbrowser.ui src/qt/forms/sendmessagesentry.ui src/qt/forms/sendmessagesdialog.ui src/qt/plugins/mrichtexteditor/mrichtextedit.ui build/Denarius1.0.5/ && $(COPY_FILE) --parents src/qt/locale/bitcoin_af_ZA.ts src/qt/locale/bitcoin_ar.ts src/qt/locale/bitcoin_be_BY.ts src/qt/locale/bitcoin_bg.ts src/qt/locale/bitcoin_bs.ts src/qt/locale/bitcoin_ca.ts src/qt/locale/bitcoin_ca_ES.ts src/qt/locale/bitcoin_cs.ts src/qt/locale/bitcoin_cy.ts src/qt/locale/bitcoin_da.ts src/qt/locale/bitcoin_de.ts src/qt/locale/bitcoin_el_GR.ts src/qt/locale/bitcoin_en.ts src/qt/locale/bitcoin_eo.ts src/qt/locale/bitcoin_es(1).ts src/qt/locale/bitcoin_es.ts src/qt/locale/bitcoin_es_CL.ts src/qt/locale/bitcoin_es_DO.ts src/qt/locale/bitcoin_es_MX.ts src/qt/locale/bitcoin_es_UY.ts src/qt/locale/bitcoin_et.ts src/qt/locale/bitcoin_eu_ES.ts src/qt/locale/bitcoin_fa.ts src/qt/locale/bitcoin_fa_IR.ts src/qt/locale/bitcoin_fi.ts src/qt/locale/bitcoin_fr.ts src/qt/locale/bitcoin_fr_CA.ts src/qt/locale/bitcoin_gl.ts src/qt/locale/bitcoin_he.ts src/qt/locale/bitcoin_hi_IN.ts src/qt/locale/bitcoin_hr.ts src/qt/locale/bitcoin_hu.ts src/qt/locale/bitcoin_id_ID.ts src/qt/locale/bitcoin_it.ts src/qt/locale/bitcoin_ja.ts src/qt/locale/bitcoin_ka.ts src/qt/locale/bitcoin_kk_KZ.ts src/qt/locale/bitcoin_ko_KR.ts src/qt/locale/bitcoin_ky.ts src/qt/locale/bitcoin_la.ts src/qt/locale/bitcoin_lt.ts src/qt/locale/bitcoin_lv_LV.ts src/qt/locale/bitcoin_ms_MY.ts src/qt/locale/bitcoin_nb.ts src/qt/locale/bitcoin_nl.ts src/qt/locale/bitcoin_pam.ts src/qt/locale/bitcoin_pl.ts src/qt/locale/bitcoin_pt_BR.ts src/qt/locale/bitcoin_pt_PT.ts src/qt/locale/bitcoin_ro_RO.ts src/qt/locale/bitcoin_ru.ts src/qt/locale/bitcoin_sah.ts src/qt/locale/bitcoin_sk.ts src/qt/locale/bitcoin_sl_SI.ts src/qt/locale/bitcoin_sq.ts src/qt/locale/bitcoin_sr.ts src/qt/locale/bitcoin_sv.ts src/qt/locale/bitcoin_th_TH.ts src/qt/locale/bitcoin_tr.ts src/qt/locale/bitcoin_uk.ts src/qt/locale/bitcoin_ur_PK.ts src/qt/locale/bitcoin_vi.ts src/qt/locale/bitcoin_vi_VN.ts src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.ts build/Denarius1.0.5/ && (cd `dirname build/Denarius1.0.5` && $(TAR) Denarius1.0.5.tar Denarius1.0.5 && $(COMPRESS) Denarius1.0.5.tar) && $(MOVE) `dirname build/Denarius1.0.5`/Denarius1.0.5.tar.gz . && $(DEL_FILE) -r build/Denarius1.0.5 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) /home/ubuntu/Desktop/denarius/src/leveldb/libleveldb.a; cd /home/ubuntu/Desktop/denarius/src/leveldb ; $(MAKE) clean - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) +MOVE = move +CHK_DIR_EXISTS= if not exist +MKDIR = mkdir +SUBTARGETS = \ + release \ + debug + +release: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release +release-make_default: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release +release-make_first: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release first +release-all: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release all +release-clean: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release clean +release-distclean: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release distclean +release-install: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release install +release-uninstall: $(MAKEFILE).Release FORCE + $(MAKE) -f $(MAKEFILE).Release uninstall +debug: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug +debug-make_default: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug +debug-make_first: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug first +debug-all: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug all +debug-clean: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug clean +debug-distclean: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug distclean +debug-install: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug install +debug-uninstall: $(MAKEFILE).Debug FORCE + $(MAKE) -f $(MAKEFILE).Debug uninstall + +Makefile: denarius-qt.pro ../../../../Qt/4.8.6/mkspecs/default/qmake.conf ../../../../Qt/4.8.6/mkspecs/features/device_config.prf \ + ../../../../Qt/4.8.6/mkspecs/qconfig.pri \ + ../../../../Qt/4.8.6/mkspecs/features/qt_functions.prf \ + ../../../../Qt/4.8.6/mkspecs/features/qt_config.prf \ + ../../../../Qt/4.8.6/mkspecs/win32-g++/qmake.conf \ + ../../../../Qt/4.8.6/mkspecs/win32-g++-4.6/qmake.conf \ + ../../../../Qt/4.8.6/mkspecs/features/exclusive_builds.prf \ + ../../../../Qt/4.8.6/mkspecs/features/default_pre.prf \ + ../../../../Qt/4.8.6/mkspecs/features/win32/default_pre.prf \ + ../../../../Qt/4.8.6/mkspecs/features/release.prf \ + ../../../../Qt/4.8.6/mkspecs/features/debug_and_release.prf \ + ../../../../Qt/4.8.6/mkspecs/features/default_post.prf \ + ../../../../Qt/4.8.6/mkspecs/features/win32/default_post.prf \ + ../../../../Qt/4.8.6/mkspecs/features/static.prf \ + ../../../../Qt/4.8.6/mkspecs/features/win32/thread.prf \ + ../../../../Qt/4.8.6/mkspecs/features/win32/rtti.prf \ + ../../../../Qt/4.8.6/mkspecs/features/win32/exceptions.prf \ + ../../../../Qt/4.8.6/mkspecs/features/win32/stl.prf \ + ../../../../Qt/4.8.6/mkspecs/features/warn_on.prf \ + ../../../../Qt/4.8.6/mkspecs/features/qt.prf \ + ../../../../Qt/4.8.6/mkspecs/features/moc.prf \ + ../../../../Qt/4.8.6/mkspecs/features/win32/windows.prf \ + ../../../../Qt/4.8.6/mkspecs/features/resources.prf \ + ../../../../Qt/4.8.6/mkspecs/features/uic.prf \ + ../../../../Qt/4.8.6/mkspecs/features/yacc.prf \ + ../../../../Qt/4.8.6/mkspecs/features/lex.prf \ + c:/Qt/4.8.6/lib/qtmain.prl \ + c:/Qt/4.8.6/lib/QtGui.prl \ + c:/Qt/4.8.6/lib/QtNetwork.prl \ + c:/Qt/4.8.6/lib/QtCore.prl + $(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile denarius-qt.pro +..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf: +..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri: +..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\qt_config.prf: +..\..\..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf: +..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf: +..\..\..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\default_pre.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\release.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\default_post.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\static.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\warn_on.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\qt.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\moc.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\resources.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\uic.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\yacc.prf: +..\..\..\..\Qt\4.8.6\mkspecs\features\lex.prf: +c:\Qt\4.8.6\lib\qtmain.prl: +c:\Qt\4.8.6\lib\QtGui.prl: +c:\Qt\4.8.6\lib\QtNetwork.prl: +c:\Qt\4.8.6\lib\QtCore.prl: +qmake: qmake_all FORCE + @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile denarius-qt.pro + +qmake_all: FORCE + +make_default: release-make_default debug-make_default FORCE +make_first: release-make_first debug-make_first FORCE +all: release-all debug-all FORCE +clean: release-clean debug-clean FORCE + -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a; + -$(DEL_FILE) cd + -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb + -$(DEL_FILE) ; + -$(DEL_FILE) $(MAKE) + -$(DEL_FILE) clean +distclean: release-distclean debug-distclean FORCE -$(DEL_FILE) Makefile - -/home/ubuntu/Desktop/denarius/src/leveldb/libleveldb.a: FORCE - cd /home/ubuntu/Desktop/denarius/src/leveldb && CC=gcc CXX=g++ $(MAKE) OPT="-fpermissive -fstack-protector-all --param ssp-buffer-size=1 -O2" libleveldb.a libmemenv.a - -/home/ubuntu/Desktop/denarius/build/build.h: FORCE - cd /home/ubuntu/Desktop/denarius; /bin/sh share/genbuild.sh /home/ubuntu/Desktop/denarius/build/build.h +C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a: FORCE check: first -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_TSQM_make_all: src/qt/locale/bitcoin_af_ZA.qm src/qt/locale/bitcoin_ar.qm src/qt/locale/bitcoin_be_BY.qm src/qt/locale/bitcoin_bg.qm src/qt/locale/bitcoin_bs.qm src/qt/locale/bitcoin_ca.qm src/qt/locale/bitcoin_ca_ES.qm src/qt/locale/bitcoin_cs.qm src/qt/locale/bitcoin_cy.qm src/qt/locale/bitcoin_da.qm src/qt/locale/bitcoin_de.qm src/qt/locale/bitcoin_el_GR.qm src/qt/locale/bitcoin_en.qm src/qt/locale/bitcoin_eo.qm src/qt/locale/bitcoin_es(1).qm src/qt/locale/bitcoin_es.qm src/qt/locale/bitcoin_es_CL.qm src/qt/locale/bitcoin_es_DO.qm src/qt/locale/bitcoin_es_MX.qm src/qt/locale/bitcoin_es_UY.qm src/qt/locale/bitcoin_et.qm src/qt/locale/bitcoin_eu_ES.qm src/qt/locale/bitcoin_fa.qm src/qt/locale/bitcoin_fa_IR.qm src/qt/locale/bitcoin_fi.qm src/qt/locale/bitcoin_fr.qm src/qt/locale/bitcoin_fr_CA.qm src/qt/locale/bitcoin_gl.qm src/qt/locale/bitcoin_he.qm src/qt/locale/bitcoin_hi_IN.qm src/qt/locale/bitcoin_hr.qm src/qt/locale/bitcoin_hu.qm src/qt/locale/bitcoin_id_ID.qm src/qt/locale/bitcoin_it.qm src/qt/locale/bitcoin_ja.qm src/qt/locale/bitcoin_ka.qm src/qt/locale/bitcoin_kk_KZ.qm src/qt/locale/bitcoin_ko_KR.qm src/qt/locale/bitcoin_ky.qm src/qt/locale/bitcoin_la.qm src/qt/locale/bitcoin_lt.qm src/qt/locale/bitcoin_lv_LV.qm src/qt/locale/bitcoin_ms_MY.qm src/qt/locale/bitcoin_nb.qm src/qt/locale/bitcoin_nl.qm src/qt/locale/bitcoin_pam.qm src/qt/locale/bitcoin_pl.qm src/qt/locale/bitcoin_pt_BR.qm src/qt/locale/bitcoin_pt_PT.qm src/qt/locale/bitcoin_ro_RO.qm src/qt/locale/bitcoin_ru.qm src/qt/locale/bitcoin_sah.qm src/qt/locale/bitcoin_sk.qm src/qt/locale/bitcoin_sl_SI.qm src/qt/locale/bitcoin_sq.qm src/qt/locale/bitcoin_sr.qm src/qt/locale/bitcoin_sv.qm src/qt/locale/bitcoin_th_TH.qm src/qt/locale/bitcoin_tr.qm src/qt/locale/bitcoin_uk.qm src/qt/locale/bitcoin_ur_PK.qm src/qt/locale/bitcoin_vi.qm src/qt/locale/bitcoin_vi_VN.qm src/qt/locale/bitcoin_zh_CN.qm src/qt/locale/bitcoin_zh_TW.qm -compiler_TSQM_clean: - -$(DEL_FILE) src/qt/locale/bitcoin_af_ZA.qm src/qt/locale/bitcoin_ar.qm src/qt/locale/bitcoin_be_BY.qm src/qt/locale/bitcoin_bg.qm src/qt/locale/bitcoin_bs.qm src/qt/locale/bitcoin_ca.qm src/qt/locale/bitcoin_ca_ES.qm src/qt/locale/bitcoin_cs.qm src/qt/locale/bitcoin_cy.qm src/qt/locale/bitcoin_da.qm src/qt/locale/bitcoin_de.qm src/qt/locale/bitcoin_el_GR.qm src/qt/locale/bitcoin_en.qm src/qt/locale/bitcoin_eo.qm src/qt/locale/bitcoin_es(1).qm src/qt/locale/bitcoin_es.qm src/qt/locale/bitcoin_es_CL.qm src/qt/locale/bitcoin_es_DO.qm src/qt/locale/bitcoin_es_MX.qm src/qt/locale/bitcoin_es_UY.qm src/qt/locale/bitcoin_et.qm src/qt/locale/bitcoin_eu_ES.qm src/qt/locale/bitcoin_fa.qm src/qt/locale/bitcoin_fa_IR.qm src/qt/locale/bitcoin_fi.qm src/qt/locale/bitcoin_fr.qm src/qt/locale/bitcoin_fr_CA.qm src/qt/locale/bitcoin_gl.qm src/qt/locale/bitcoin_he.qm src/qt/locale/bitcoin_hi_IN.qm src/qt/locale/bitcoin_hr.qm src/qt/locale/bitcoin_hu.qm src/qt/locale/bitcoin_id_ID.qm src/qt/locale/bitcoin_it.qm src/qt/locale/bitcoin_ja.qm src/qt/locale/bitcoin_ka.qm src/qt/locale/bitcoin_kk_KZ.qm src/qt/locale/bitcoin_ko_KR.qm src/qt/locale/bitcoin_ky.qm src/qt/locale/bitcoin_la.qm src/qt/locale/bitcoin_lt.qm src/qt/locale/bitcoin_lv_LV.qm src/qt/locale/bitcoin_ms_MY.qm src/qt/locale/bitcoin_nb.qm src/qt/locale/bitcoin_nl.qm src/qt/locale/bitcoin_pam.qm src/qt/locale/bitcoin_pl.qm src/qt/locale/bitcoin_pt_BR.qm src/qt/locale/bitcoin_pt_PT.qm src/qt/locale/bitcoin_ro_RO.qm src/qt/locale/bitcoin_ru.qm src/qt/locale/bitcoin_sah.qm src/qt/locale/bitcoin_sk.qm src/qt/locale/bitcoin_sl_SI.qm src/qt/locale/bitcoin_sq.qm src/qt/locale/bitcoin_sr.qm src/qt/locale/bitcoin_sv.qm src/qt/locale/bitcoin_th_TH.qm src/qt/locale/bitcoin_tr.qm src/qt/locale/bitcoin_uk.qm src/qt/locale/bitcoin_ur_PK.qm src/qt/locale/bitcoin_vi.qm src/qt/locale/bitcoin_vi_VN.qm src/qt/locale/bitcoin_zh_CN.qm src/qt/locale/bitcoin_zh_TW.qm -src/qt/locale/bitcoin_af_ZA.qm: src/qt/locale/bitcoin_af_ZA.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_af_ZA.ts -qm src/qt/locale/bitcoin_af_ZA.qm - -src/qt/locale/bitcoin_ar.qm: src/qt/locale/bitcoin_ar.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ar.ts -qm src/qt/locale/bitcoin_ar.qm - -src/qt/locale/bitcoin_be_BY.qm: src/qt/locale/bitcoin_be_BY.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_be_BY.ts -qm src/qt/locale/bitcoin_be_BY.qm - -src/qt/locale/bitcoin_bg.qm: src/qt/locale/bitcoin_bg.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_bg.ts -qm src/qt/locale/bitcoin_bg.qm - -src/qt/locale/bitcoin_bs.qm: src/qt/locale/bitcoin_bs.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_bs.ts -qm src/qt/locale/bitcoin_bs.qm - -src/qt/locale/bitcoin_ca.qm: src/qt/locale/bitcoin_ca.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ca.ts -qm src/qt/locale/bitcoin_ca.qm - -src/qt/locale/bitcoin_ca_ES.qm: src/qt/locale/bitcoin_ca_ES.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ca_ES.ts -qm src/qt/locale/bitcoin_ca_ES.qm - -src/qt/locale/bitcoin_cs.qm: src/qt/locale/bitcoin_cs.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_cs.ts -qm src/qt/locale/bitcoin_cs.qm - -src/qt/locale/bitcoin_cy.qm: src/qt/locale/bitcoin_cy.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_cy.ts -qm src/qt/locale/bitcoin_cy.qm - -src/qt/locale/bitcoin_da.qm: src/qt/locale/bitcoin_da.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_da.ts -qm src/qt/locale/bitcoin_da.qm - -src/qt/locale/bitcoin_de.qm: src/qt/locale/bitcoin_de.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_de.ts -qm src/qt/locale/bitcoin_de.qm - -src/qt/locale/bitcoin_el_GR.qm: src/qt/locale/bitcoin_el_GR.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_el_GR.ts -qm src/qt/locale/bitcoin_el_GR.qm - -src/qt/locale/bitcoin_en.qm: src/qt/locale/bitcoin_en.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_en.ts -qm src/qt/locale/bitcoin_en.qm - -src/qt/locale/bitcoin_eo.qm: src/qt/locale/bitcoin_eo.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_eo.ts -qm src/qt/locale/bitcoin_eo.qm - -src/qt/locale/bitcoin_es(1).qm: src/qt/locale/bitcoin_es(1).ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_es(1).ts -qm src/qt/locale/bitcoin_es(1).qm - -src/qt/locale/bitcoin_es.qm: src/qt/locale/bitcoin_es.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_es.ts -qm src/qt/locale/bitcoin_es.qm - -src/qt/locale/bitcoin_es_CL.qm: src/qt/locale/bitcoin_es_CL.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_es_CL.ts -qm src/qt/locale/bitcoin_es_CL.qm - -src/qt/locale/bitcoin_es_DO.qm: src/qt/locale/bitcoin_es_DO.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_es_DO.ts -qm src/qt/locale/bitcoin_es_DO.qm - -src/qt/locale/bitcoin_es_MX.qm: src/qt/locale/bitcoin_es_MX.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_es_MX.ts -qm src/qt/locale/bitcoin_es_MX.qm - -src/qt/locale/bitcoin_es_UY.qm: src/qt/locale/bitcoin_es_UY.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_es_UY.ts -qm src/qt/locale/bitcoin_es_UY.qm - -src/qt/locale/bitcoin_et.qm: src/qt/locale/bitcoin_et.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_et.ts -qm src/qt/locale/bitcoin_et.qm - -src/qt/locale/bitcoin_eu_ES.qm: src/qt/locale/bitcoin_eu_ES.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_eu_ES.ts -qm src/qt/locale/bitcoin_eu_ES.qm - -src/qt/locale/bitcoin_fa.qm: src/qt/locale/bitcoin_fa.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_fa.ts -qm src/qt/locale/bitcoin_fa.qm - -src/qt/locale/bitcoin_fa_IR.qm: src/qt/locale/bitcoin_fa_IR.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_fa_IR.ts -qm src/qt/locale/bitcoin_fa_IR.qm - -src/qt/locale/bitcoin_fi.qm: src/qt/locale/bitcoin_fi.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_fi.ts -qm src/qt/locale/bitcoin_fi.qm - -src/qt/locale/bitcoin_fr.qm: src/qt/locale/bitcoin_fr.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_fr.ts -qm src/qt/locale/bitcoin_fr.qm - -src/qt/locale/bitcoin_fr_CA.qm: src/qt/locale/bitcoin_fr_CA.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_fr_CA.ts -qm src/qt/locale/bitcoin_fr_CA.qm - -src/qt/locale/bitcoin_gl.qm: src/qt/locale/bitcoin_gl.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_gl.ts -qm src/qt/locale/bitcoin_gl.qm - -src/qt/locale/bitcoin_he.qm: src/qt/locale/bitcoin_he.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_he.ts -qm src/qt/locale/bitcoin_he.qm - -src/qt/locale/bitcoin_hi_IN.qm: src/qt/locale/bitcoin_hi_IN.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_hi_IN.ts -qm src/qt/locale/bitcoin_hi_IN.qm - -src/qt/locale/bitcoin_hr.qm: src/qt/locale/bitcoin_hr.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_hr.ts -qm src/qt/locale/bitcoin_hr.qm - -src/qt/locale/bitcoin_hu.qm: src/qt/locale/bitcoin_hu.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_hu.ts -qm src/qt/locale/bitcoin_hu.qm - -src/qt/locale/bitcoin_id_ID.qm: src/qt/locale/bitcoin_id_ID.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_id_ID.ts -qm src/qt/locale/bitcoin_id_ID.qm - -src/qt/locale/bitcoin_it.qm: src/qt/locale/bitcoin_it.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_it.ts -qm src/qt/locale/bitcoin_it.qm - -src/qt/locale/bitcoin_ja.qm: src/qt/locale/bitcoin_ja.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ja.ts -qm src/qt/locale/bitcoin_ja.qm - -src/qt/locale/bitcoin_ka.qm: src/qt/locale/bitcoin_ka.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ka.ts -qm src/qt/locale/bitcoin_ka.qm - -src/qt/locale/bitcoin_kk_KZ.qm: src/qt/locale/bitcoin_kk_KZ.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_kk_KZ.ts -qm src/qt/locale/bitcoin_kk_KZ.qm - -src/qt/locale/bitcoin_ko_KR.qm: src/qt/locale/bitcoin_ko_KR.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ko_KR.ts -qm src/qt/locale/bitcoin_ko_KR.qm - -src/qt/locale/bitcoin_ky.qm: src/qt/locale/bitcoin_ky.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ky.ts -qm src/qt/locale/bitcoin_ky.qm - -src/qt/locale/bitcoin_la.qm: src/qt/locale/bitcoin_la.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_la.ts -qm src/qt/locale/bitcoin_la.qm - -src/qt/locale/bitcoin_lt.qm: src/qt/locale/bitcoin_lt.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_lt.ts -qm src/qt/locale/bitcoin_lt.qm - -src/qt/locale/bitcoin_lv_LV.qm: src/qt/locale/bitcoin_lv_LV.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_lv_LV.ts -qm src/qt/locale/bitcoin_lv_LV.qm - -src/qt/locale/bitcoin_ms_MY.qm: src/qt/locale/bitcoin_ms_MY.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ms_MY.ts -qm src/qt/locale/bitcoin_ms_MY.qm - -src/qt/locale/bitcoin_nb.qm: src/qt/locale/bitcoin_nb.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_nb.ts -qm src/qt/locale/bitcoin_nb.qm - -src/qt/locale/bitcoin_nl.qm: src/qt/locale/bitcoin_nl.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_nl.ts -qm src/qt/locale/bitcoin_nl.qm - -src/qt/locale/bitcoin_pam.qm: src/qt/locale/bitcoin_pam.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_pam.ts -qm src/qt/locale/bitcoin_pam.qm - -src/qt/locale/bitcoin_pl.qm: src/qt/locale/bitcoin_pl.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_pl.ts -qm src/qt/locale/bitcoin_pl.qm - -src/qt/locale/bitcoin_pt_BR.qm: src/qt/locale/bitcoin_pt_BR.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_pt_BR.ts -qm src/qt/locale/bitcoin_pt_BR.qm - -src/qt/locale/bitcoin_pt_PT.qm: src/qt/locale/bitcoin_pt_PT.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_pt_PT.ts -qm src/qt/locale/bitcoin_pt_PT.qm - -src/qt/locale/bitcoin_ro_RO.qm: src/qt/locale/bitcoin_ro_RO.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ro_RO.ts -qm src/qt/locale/bitcoin_ro_RO.qm - -src/qt/locale/bitcoin_ru.qm: src/qt/locale/bitcoin_ru.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ru.ts -qm src/qt/locale/bitcoin_ru.qm - -src/qt/locale/bitcoin_sah.qm: src/qt/locale/bitcoin_sah.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_sah.ts -qm src/qt/locale/bitcoin_sah.qm - -src/qt/locale/bitcoin_sk.qm: src/qt/locale/bitcoin_sk.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_sk.ts -qm src/qt/locale/bitcoin_sk.qm - -src/qt/locale/bitcoin_sl_SI.qm: src/qt/locale/bitcoin_sl_SI.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_sl_SI.ts -qm src/qt/locale/bitcoin_sl_SI.qm - -src/qt/locale/bitcoin_sq.qm: src/qt/locale/bitcoin_sq.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_sq.ts -qm src/qt/locale/bitcoin_sq.qm - -src/qt/locale/bitcoin_sr.qm: src/qt/locale/bitcoin_sr.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_sr.ts -qm src/qt/locale/bitcoin_sr.qm - -src/qt/locale/bitcoin_sv.qm: src/qt/locale/bitcoin_sv.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_sv.ts -qm src/qt/locale/bitcoin_sv.qm - -src/qt/locale/bitcoin_th_TH.qm: src/qt/locale/bitcoin_th_TH.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_th_TH.ts -qm src/qt/locale/bitcoin_th_TH.qm - -src/qt/locale/bitcoin_tr.qm: src/qt/locale/bitcoin_tr.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_tr.ts -qm src/qt/locale/bitcoin_tr.qm - -src/qt/locale/bitcoin_uk.qm: src/qt/locale/bitcoin_uk.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_uk.ts -qm src/qt/locale/bitcoin_uk.qm - -src/qt/locale/bitcoin_ur_PK.qm: src/qt/locale/bitcoin_ur_PK.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_ur_PK.ts -qm src/qt/locale/bitcoin_ur_PK.qm - -src/qt/locale/bitcoin_vi.qm: src/qt/locale/bitcoin_vi.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_vi.ts -qm src/qt/locale/bitcoin_vi.qm - -src/qt/locale/bitcoin_vi_VN.qm: src/qt/locale/bitcoin_vi_VN.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_vi_VN.ts -qm src/qt/locale/bitcoin_vi_VN.qm - -src/qt/locale/bitcoin_zh_CN.qm: src/qt/locale/bitcoin_zh_CN.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_zh_CN.ts -qm src/qt/locale/bitcoin_zh_CN.qm - -src/qt/locale/bitcoin_zh_TW.qm: src/qt/locale/bitcoin_zh_TW.ts - /usr/lib/x86_64-linux-gnu/qt4/bin/lrelease src/qt/locale/bitcoin_zh_TW.ts -qm src/qt/locale/bitcoin_zh_TW.qm - -compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp -compiler_moc_header_clean: - -$(DEL_FILE) build/moc_bitcoingui.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp -build/moc_bitcoingui.cpp: src/qt/bitcoingui.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/bitcoingui.h -o build/moc_bitcoingui.cpp - -build/moc_transactiontablemodel.cpp: src/qt/transactiontablemodel.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/transactiontablemodel.h -o build/moc_transactiontablemodel.cpp - -build/moc_addresstablemodel.cpp: src/qt/addresstablemodel.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/addresstablemodel.h -o build/moc_addresstablemodel.cpp - -build/moc_optionsdialog.cpp: src/qt/optionsdialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/optionsdialog.h -o build/moc_optionsdialog.cpp - -build/moc_coincontroldialog.cpp: src/qt/coincontroldialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/coincontroldialog.h -o build/moc_coincontroldialog.cpp - -build/moc_coincontroltreewidget.cpp: src/qt/coincontroltreewidget.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/coincontroltreewidget.h -o build/moc_coincontroltreewidget.cpp - -build/moc_sendcoinsdialog.cpp: src/qt/sendcoinsdialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/sendcoinsdialog.h -o build/moc_sendcoinsdialog.cpp - -build/moc_addressbookpage.cpp: src/qt/addressbookpage.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/addressbookpage.h -o build/moc_addressbookpage.cpp - -build/moc_signverifymessagedialog.cpp: src/qt/signverifymessagedialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/signverifymessagedialog.h -o build/moc_signverifymessagedialog.cpp - -build/moc_aboutdialog.cpp: src/qt/aboutdialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/aboutdialog.h -o build/moc_aboutdialog.cpp - -build/moc_editaddressdialog.cpp: src/qt/editaddressdialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/editaddressdialog.h -o build/moc_editaddressdialog.cpp - -build/moc_bitcoinaddressvalidator.cpp: src/qt/bitcoinaddressvalidator.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/bitcoinaddressvalidator.h -o build/moc_bitcoinaddressvalidator.cpp - -build/moc_clientmodel.cpp: src/qt/clientmodel.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/clientmodel.h -o build/moc_clientmodel.cpp - -build/moc_guiutil.cpp: src/qt/guiutil.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/guiutil.h -o build/moc_guiutil.cpp - -build/moc_optionsmodel.cpp: src/qt/optionsmodel.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/optionsmodel.h -o build/moc_optionsmodel.cpp - -build/moc_monitoreddatamapper.cpp: src/qt/monitoreddatamapper.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/monitoreddatamapper.h -o build/moc_monitoreddatamapper.cpp - -build/moc_transactiondesc.cpp: src/qt/transactiondesc.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/transactiondesc.h -o build/moc_transactiondesc.cpp - -build/moc_transactiondescdialog.cpp: src/qt/transactiondescdialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/transactiondescdialog.h -o build/moc_transactiondescdialog.cpp - -build/moc_bitcoinamountfield.cpp: src/qt/bitcoinamountfield.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/bitcoinamountfield.h -o build/moc_bitcoinamountfield.cpp - -build/moc_transactionfilterproxy.cpp: src/qt/transactionfilterproxy.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/transactionfilterproxy.h -o build/moc_transactionfilterproxy.cpp - -build/moc_transactionview.cpp: src/qt/transactionview.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/transactionview.h -o build/moc_transactionview.cpp - -build/moc_walletmodel.cpp: src/allocators.h \ - src/qt/walletmodel.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/walletmodel.h -o build/moc_walletmodel.cpp - -build/moc_overviewpage.cpp: src/qt/overviewpage.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/overviewpage.h -o build/moc_overviewpage.cpp - -build/moc_csvmodelwriter.cpp: src/qt/csvmodelwriter.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/csvmodelwriter.h -o build/moc_csvmodelwriter.cpp - -build/moc_sendcoinsentry.cpp: src/qt/sendcoinsentry.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/sendcoinsentry.h -o build/moc_sendcoinsentry.cpp - -build/moc_qvalidatedlineedit.cpp: src/qt/qvalidatedlineedit.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/qvalidatedlineedit.h -o build/moc_qvalidatedlineedit.cpp - -build/moc_qvaluecombobox.cpp: src/qt/qvaluecombobox.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/qvaluecombobox.h -o build/moc_qvaluecombobox.cpp - -build/moc_askpassphrasedialog.cpp: src/qt/askpassphrasedialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/askpassphrasedialog.h -o build/moc_askpassphrasedialog.cpp - -build/moc_notificator.cpp: src/qt/notificator.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/notificator.h -o build/moc_notificator.cpp - -build/moc_rpcconsole.cpp: src/qt/rpcconsole.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/rpcconsole.h -o build/moc_rpcconsole.cpp - -build/moc_trafficgraphwidget.cpp: src/qt/trafficgraphwidget.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/trafficgraphwidget.h -o build/moc_trafficgraphwidget.cpp - -build/moc_blockbrowser.cpp: src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/blockbrowser.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/blockbrowser.h -o build/moc_blockbrowser.cpp - -build/moc_statisticspage.cpp: src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/statisticspage.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/statisticspage.h -o build/moc_statisticspage.cpp - -build/moc_marketbrowser.cpp: src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/marketbrowser.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/marketbrowser.h -o build/moc_marketbrowser.cpp - -build/moc_messagepage.cpp: src/qt/messagepage.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/messagepage.h -o build/moc_messagepage.cpp - -build/moc_messagemodel.cpp: src/uint256.h \ - src/allocators.h \ - src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/qt/messagemodel.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/messagemodel.h -o build/moc_messagemodel.cpp - -build/moc_sendmessagesdialog.cpp: src/qt/sendmessagesdialog.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/sendmessagesdialog.h -o build/moc_sendmessagesdialog.cpp - -build/moc_sendmessagesentry.cpp: src/qt/sendmessagesentry.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/sendmessagesentry.h -o build/moc_sendmessagesentry.cpp - -build/moc_mrichtextedit.cpp: build/ui_mrichtextedit.h \ - src/qt/plugins/mrichtexteditor/mrichtextedit.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/plugins/mrichtexteditor/mrichtextedit.h -o build/moc_mrichtextedit.cpp - -build/moc_qvalidatedtextedit.cpp: src/qt/qvalidatedtextedit.h - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/qvalidatedtextedit.h -o build/moc_qvalidatedtextedit.cpp - -compiler_rcc_make_all: qrc_bitcoin.cpp qrc_style.cpp -compiler_rcc_clean: - -$(DEL_FILE) qrc_bitcoin.cpp qrc_style.cpp -qrc_bitcoin.cpp: src/qt/bitcoin.qrc \ - src/qt/locale/bitcoin_ka.qm \ - src/qt/locale/bitcoin_ko_KR.qm \ - src/qt/locale/bitcoin_fr.qm \ - src/qt/locale/bitcoin_sk.qm \ - src/qt/locale/bitcoin_gl.qm \ - src/qt/locale/bitcoin_sv.qm \ - src/qt/locale/bitcoin_pt_BR.qm \ - src/qt/locale/bitcoin_da.qm \ - src/qt/locale/bitcoin_zh_CN.qm \ - src/qt/locale/bitcoin_he.qm \ - src/qt/locale/bitcoin_pl.qm \ - src/qt/locale/bitcoin_cs.qm \ - src/qt/locale/bitcoin_de.qm \ - src/qt/locale/bitcoin_tr.qm \ - src/qt/locale/bitcoin_fr_CA.qm \ - src/qt/locale/bitcoin_ca_ES.qm \ - src/qt/locale/bitcoin_lt.qm \ - src/qt/locale/bitcoin_zh_TW.qm \ - src/qt/locale/bitcoin_hr.qm \ - src/qt/locale/bitcoin_uk.qm \ - src/qt/locale/bitcoin_sl_SI.qm \ - src/qt/locale/bitcoin_hu.qm \ - src/qt/locale/bitcoin_es_CL.qm \ - src/qt/locale/bitcoin_pt_PT.qm \ - src/qt/locale/bitcoin_ro_RO.qm \ - src/qt/locale/bitcoin_nb.qm \ - src/qt/locale/bitcoin_pam.qm \ - src/qt/locale/bitcoin_el_GR.qm \ - src/qt/locale/bitcoin_ja.qm \ - src/qt/locale/bitcoin_en.qm \ - src/qt/locale/bitcoin_eo.qm \ - src/qt/locale/bitcoin_it.qm \ - src/qt/locale/bitcoin_fa.qm \ - src/qt/locale/bitcoin_es.qm \ - src/qt/locale/bitcoin_ar.qm \ - src/qt/locale/bitcoin_nl.qm \ - src/qt/locale/bitcoin_es_DO.qm \ - src/qt/locale/bitcoin_fi.qm \ - src/qt/locale/bitcoin_ru.qm \ - src/qt/res/images/vertical.png \ - src/qt/res/images/dbg.jpg \ - src/qt/res/images/about.png \ - src/qt/res/images/splash.png \ - src/qt/res/images/horizontal.png \ - src/qt/res/movies/update_spinner.mng \ - src/qt/res/icons/add.png \ - src/qt/res/icons/staking_on.png \ - src/qt/res/icons/connect0_16.png \ - src/qt/res/icons/connect1_16.png \ - src/qt/res/icons/quit.png \ - src/qt/res/icons/connect2_16.png \ - src/qt/res/icons/overview.png \ - src/qt/res/icons/tx_mined.png \ - src/qt/res/icons/connect3_16.png \ - src/qt/res/icons/connect4_16.png \ - src/qt/res/icons/denarius-256.png \ - src/qt/res/icons/address-book.png \ - src/qt/res/icons/mark.png \ - src/qt/res/icons/send.png \ - src/qt/res/icons/configure.png \ - src/qt/res/icons/export.png \ - src/qt/res/icons/synced.png \ - src/qt/res/icons/history.png \ - src/qt/res/icons/filesave.png \ - src/qt/res/icons/transaction2.png \ - src/qt/res/icons/editpaste.png \ - src/qt/res/icons/edit.png \ - src/qt/res/icons/face.png \ - src/qt/res/icons/message.png \ - src/qt/res/icons/block.png \ - src/qt/res/icons/transaction_conflicted.png \ - src/qt/res/icons/lock_closed.png \ - src/qt/res/icons/editcopy.png \ - src/qt/res/icons/receive.png \ - src/qt/res/icons/transaction0.png \ - src/qt/res/icons/clock1.png \ - src/qt/res/icons/clock2.png \ - src/qt/res/icons/btc.png \ - src/qt/res/icons/clock3.png \ - src/qt/res/icons/reddit.png \ - src/qt/res/icons/clock4.png \ - src/qt/res/icons/clock5.png \ - src/qt/res/icons/qrcode.png \ - src/qt/res/icons/denarius-16.png \ - src/qt/res/icons/stats.png \ - src/qt/res/icons/denarius-80.png \ - src/qt/res/icons/remove.png \ - src/qt/res/icons/tx_inout.png \ - src/qt/res/icons/key.png \ - src/qt/res/icons/denarius-16.png \ - src/qt/res/icons/lock_open.png \ - src/qt/res/icons/denarius_testnet.png \ - src/qt/res/icons/TW.png \ - src/qt/res/icons/tx_input.png \ - src/qt/res/icons/debugwindow.png \ - src/qt/res/icons/tx_output.png \ - src/qt/res/icons/staking_off.png - /usr/lib/x86_64-linux-gnu/qt4/bin/rcc -name bitcoin src/qt/bitcoin.qrc -o qrc_bitcoin.cpp - -qrc_style.cpp: src/qt/res/themes/qdarkstyle/style.qrc \ - src/qt/res/themes/qdarkstyle/style.qss \ - src/qt/res/themes/qdarkstyle/rc/dbg.jpg \ - src/qt/res/themes/qdarkstyle/rc/branch_open-on.png \ - src/qt/res/themes/qdarkstyle/rc/close.png \ - src/qt/res/themes/qdarkstyle/rc/branch_closed-on.png \ - src/qt/res/themes/qdarkstyle/rc/right_arrow_disabled.png \ - src/qt/res/themes/qdarkstyle/rc/Hsepartoolbar.png \ - src/qt/res/themes/qdarkstyle/rc/stylesheet-branch-more.png \ - src/qt/res/themes/qdarkstyle/rc/left_arrow_disabled.png \ - src/qt/res/themes/qdarkstyle/rc/branch_open.png \ - src/qt/res/themes/qdarkstyle/rc/Hmovetoolbar.png \ - src/qt/res/themes/qdarkstyle/rc/right_arrow.png \ - src/qt/res/themes/qdarkstyle/rc/down_arrow_disabled.png \ - src/qt/res/themes/qdarkstyle/rc/Vmovetoolbar.png \ - src/qt/res/themes/qdarkstyle/rc/transparent.png \ - src/qt/res/themes/qdarkstyle/rc/down_arrow.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_checked_focus.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked_focus.png \ - src/qt/res/themes/qdarkstyle/rc/branch_closed.png \ - src/qt/res/themes/qdarkstyle/rc/undock.png \ - src/qt/res/themes/qdarkstyle/rc/up_arrow.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_checked.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png \ - src/qt/res/themes/qdarkstyle/rc/Vsepartoolbar.png \ - src/qt/res/themes/qdarkstyle/rc/up_arrow_disabled.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_indeterminate.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png \ - src/qt/res/themes/qdarkstyle/rc/stylesheet-vline.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox_checked_disabled.png \ - src/qt/res/themes/qdarkstyle/rc/left_arrow.png \ - src/qt/res/themes/qdarkstyle/rc/stylesheet-branch-end.png \ - src/qt/res/themes/qdarkstyle/rc/sizegrip.png - /usr/lib/x86_64-linux-gnu/qt4/bin/rcc -name style src/qt/res/themes/qdarkstyle/style.qrc -o qrc_style.cpp - -compiler_image_collection_make_all: build/qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) build/qmake_image_collection.cpp -compiler_moc_source_make_all: build/overviewpage.moc build/rpcconsole.moc -compiler_moc_source_clean: - -$(DEL_FILE) build/overviewpage.moc build/rpcconsole.moc -build/overviewpage.moc: src/qt/overviewpage.h \ - build/ui_overviewpage.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/bitcoinunits.h \ - src/qt/optionsmodel.h \ - src/qt/transactiontablemodel.h \ - src/qt/transactionfilterproxy.h \ - src/qt/guiutil.h \ - src/qt/guiconstants.h \ - src/qt/marketbrowser.h \ - src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/overviewpage.cpp - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/overviewpage.cpp -o build/overviewpage.moc - -build/rpcconsole.moc: src/qt/rpcconsole.h \ - build/ui_rpcconsole.h \ - src/qt/trafficgraphwidget.h \ - src/qt/clientmodel.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/checkpoints.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/sync.h \ - src/threadsafety.h \ - src/qt/guiutil.h \ - src/qt/rpcconsole.cpp - /usr/lib/x86_64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) src/qt/rpcconsole.cpp -o build/rpcconsole.moc - -compiler_uic_make_all: build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h -compiler_uic_clean: - -$(DEL_FILE) build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h -build/ui_coincontroldialog.h: src/qt/forms/coincontroldialog.ui \ - src/qt/coincontroltreewidget.h - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/coincontroldialog.ui -o build/ui_coincontroldialog.h - -build/ui_sendcoinsdialog.h: src/qt/forms/sendcoinsdialog.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/sendcoinsdialog.ui -o build/ui_sendcoinsdialog.h - -build/ui_addressbookpage.h: src/qt/forms/addressbookpage.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/addressbookpage.ui -o build/ui_addressbookpage.h - -build/ui_signverifymessagedialog.h: src/qt/forms/signverifymessagedialog.ui \ - src/qt/qvalidatedlineedit.h - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/signverifymessagedialog.ui -o build/ui_signverifymessagedialog.h - -build/ui_aboutdialog.h: src/qt/forms/aboutdialog.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/aboutdialog.ui -o build/ui_aboutdialog.h - -build/ui_editaddressdialog.h: src/qt/forms/editaddressdialog.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/editaddressdialog.ui -o build/ui_editaddressdialog.h - -build/ui_transactiondescdialog.h: src/qt/forms/transactiondescdialog.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/transactiondescdialog.ui -o build/ui_transactiondescdialog.h - -build/ui_overviewpage.h: src/qt/forms/overviewpage.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/overviewpage.ui -o build/ui_overviewpage.h - -build/ui_sendcoinsentry.h: src/qt/forms/sendcoinsentry.ui \ - src/qt/qvalidatedlineedit.h \ - src/qt/bitcoinamountfield.h - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/sendcoinsentry.ui -o build/ui_sendcoinsentry.h - -build/ui_askpassphrasedialog.h: src/qt/forms/askpassphrasedialog.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/askpassphrasedialog.ui -o build/ui_askpassphrasedialog.h - -build/ui_rpcconsole.h: src/qt/forms/rpcconsole.ui \ - src/qt/trafficgraphwidget.h - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/rpcconsole.ui -o build/ui_rpcconsole.h - -build/ui_optionsdialog.h: src/qt/forms/optionsdialog.ui \ - src/qt/bitcoinamountfield.h \ - src/qt/qvaluecombobox.h \ - src/qt/qvalidatedlineedit.h - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/optionsdialog.ui -o build/ui_optionsdialog.h - -build/ui_messagepage.h: src/qt/forms/messagepage.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/messagepage.ui -o build/ui_messagepage.h - -build/ui_statisticspage.h: src/qt/forms/statisticspage.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/statisticspage.ui -o build/ui_statisticspage.h - -build/ui_blockbrowser.h: src/qt/forms/blockbrowser.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/blockbrowser.ui -o build/ui_blockbrowser.h - -build/ui_marketbrowser.h: src/qt/forms/marketbrowser.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/marketbrowser.ui -o build/ui_marketbrowser.h - -build/ui_sendmessagesentry.h: src/qt/forms/sendmessagesentry.ui \ - src/qt/qvalidatedlineedit.h \ - src/qt/qvalidatedtextedit.h - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/sendmessagesentry.ui -o build/ui_sendmessagesentry.h - -build/ui_sendmessagesdialog.h: src/qt/forms/sendmessagesdialog.ui \ - src/qt/qvalidatedlineedit.h - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/forms/sendmessagesdialog.ui -o build/ui_sendmessagesdialog.h - -build/ui_mrichtextedit.h: src/qt/plugins/mrichtexteditor/mrichtextedit.ui - /usr/lib/x86_64-linux-gnu/qt4/bin/uic src/qt/plugins/mrichtexteditor/mrichtextedit.ui -o build/ui_mrichtextedit.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_TSQM_clean compiler_moc_header_clean compiler_rcc_clean compiler_moc_source_clean compiler_uic_clean - -####### Compile - -build/txdb-leveldb.o: src/txdb-leveldb.cpp src/kernel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/checkpoints.h \ - src/txdb.h \ - src/txdb-leveldb.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/txdb-leveldb.o src/txdb-leveldb.cpp - -build/bloom.o: src/bloom.cpp src/bloom.h \ - src/uint256.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/main.h \ - src/bignum.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/hash.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bloom.o src/bloom.cpp - -build/hash.o: src/hash.cpp src/hash.h \ - src/uint256.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/hash.o src/hash.cpp - -build/echo.o: src/echo.c src/sph_echo.h \ - src/sph_types.h \ - src/aes_helper.c - $(CC) -c $(CFLAGS) $(INCPATH) -o build/echo.o src/echo.c - -build/jh.o: src/jh.c src/sph_jh.h \ - src/sph_types.h - $(CC) -c $(CFLAGS) $(INCPATH) -o build/jh.o src/jh.c - -build/keccak.o: src/keccak.c src/sph_keccak.h \ - src/sph_types.h - $(CC) -c $(CFLAGS) $(INCPATH) -o build/keccak.o src/keccak.c - -build/bitcoin.o: src/qt/bitcoin.cpp src/qt/bitcoingui.h \ - src/qt/clientmodel.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/optionsmodel.h \ - src/qt/messagemodel.h \ - src/uint256.h \ - src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/qt/guiutil.h \ - src/qt/guiconstants.h \ - src/init.h \ - src/qt/qtipcserver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bitcoin.o src/qt/bitcoin.cpp - -build/bitcoingui.o: src/qt/bitcoingui.cpp src/qt/bitcoingui.h \ - src/qt/transactiontablemodel.h \ - src/qt/addressbookpage.h \ - src/qt/messagepage.h \ - src/qt/sendcoinsdialog.h \ - src/qt/signverifymessagedialog.h \ - src/qt/optionsdialog.h \ - src/qt/aboutdialog.h \ - src/qt/clientmodel.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/messagemodel.h \ - src/uint256.h \ - src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/qt/editaddressdialog.h \ - src/qt/optionsmodel.h \ - src/qt/transactiondescdialog.h \ - src/qt/addresstablemodel.h \ - src/qt/transactionview.h \ - src/qt/overviewpage.h \ - src/qt/statisticspage.h \ - src/qt/blockbrowser.h \ - src/qt/marketbrowser.h \ - src/qt/bitcoinunits.h \ - src/qt/guiconstants.h \ - src/qt/askpassphrasedialog.h \ - src/qt/notificator.h \ - src/qt/guiutil.h \ - src/qt/rpcconsole.h \ - src/qt/macdockiconhandler.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bitcoingui.o src/qt/bitcoingui.cpp - -build/transactiontablemodel.o: src/qt/transactiontablemodel.cpp src/qt/transactiontablemodel.h \ - src/qt/guiutil.h \ - src/qt/transactionrecord.h \ - src/uint256.h \ - src/qt/guiconstants.h \ - src/qt/transactiondesc.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/optionsmodel.h \ - src/qt/addresstablemodel.h \ - src/qt/bitcoinunits.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/transactiontablemodel.o src/qt/transactiontablemodel.cpp - -build/addresstablemodel.o: src/qt/addresstablemodel.cpp src/qt/addresstablemodel.h \ - src/qt/guiutil.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/addresstablemodel.o src/qt/addresstablemodel.cpp - -build/optionsdialog.o: src/qt/optionsdialog.cpp src/qt/optionsdialog.h \ - build/ui_optionsdialog.h \ - src/qt/bitcoinamountfield.h \ - src/qt/qvalidatedlineedit.h \ - src/qt/qvaluecombobox.h \ - src/qt/bitcoinunits.h \ - src/qt/monitoreddatamapper.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/qt/optionsmodel.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/optionsdialog.o src/qt/optionsdialog.cpp - -build/sendcoinsdialog.o: src/qt/sendcoinsdialog.cpp src/qt/sendcoinsdialog.h \ - build/ui_sendcoinsdialog.h \ - src/init.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/walletmodel.h \ - src/qt/addresstablemodel.h \ - src/qt/addressbookpage.h \ - src/qt/bitcoinunits.h \ - src/qt/optionsmodel.h \ - src/qt/sendcoinsentry.h \ - src/qt/guiutil.h \ - src/qt/askpassphrasedialog.h \ - src/coincontrol.h \ - src/qt/coincontroldialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/sendcoinsdialog.o src/qt/sendcoinsdialog.cpp - -build/coincontroldialog.o: src/qt/coincontroldialog.cpp src/qt/coincontroldialog.h \ - build/ui_coincontroldialog.h \ - src/qt/coincontroltreewidget.h \ - src/init.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/bitcoinunits.h \ - src/qt/walletmodel.h \ - src/qt/addresstablemodel.h \ - src/qt/optionsmodel.h \ - src/coincontrol.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/coincontroldialog.o src/qt/coincontroldialog.cpp - -build/coincontroltreewidget.o: src/qt/coincontroltreewidget.cpp src/qt/coincontroltreewidget.h \ - src/qt/coincontroldialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/coincontroltreewidget.o src/qt/coincontroltreewidget.cpp - -build/addressbookpage.o: src/qt/addressbookpage.cpp src/qt/addressbookpage.h \ - build/ui_addressbookpage.h \ - src/qt/addresstablemodel.h \ - src/qt/optionsmodel.h \ - src/qt/bitcoingui.h \ - src/qt/editaddressdialog.h \ - src/qt/csvmodelwriter.h \ - src/qt/guiutil.h \ - src/qt/qrcodedialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/addressbookpage.o src/qt/addressbookpage.cpp - -build/signverifymessagedialog.o: src/qt/signverifymessagedialog.cpp src/qt/signverifymessagedialog.h \ - build/ui_signverifymessagedialog.h \ - src/qt/qvalidatedlineedit.h \ - src/qt/addressbookpage.h \ - src/base58.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/key.h \ - src/util.h \ - src/netbase.h \ - src/compat.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/sync.h \ - src/threadsafety.h \ - src/stealth.h \ - src/qt/guiutil.h \ - src/init.h \ - src/wallet.h \ - src/main.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/optionsmodel.h \ - src/qt/walletmodel.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/signverifymessagedialog.o src/qt/signverifymessagedialog.cpp - -build/aboutdialog.o: src/qt/aboutdialog.cpp src/qt/aboutdialog.h \ - build/ui_aboutdialog.h \ - src/qt/clientmodel.h \ - src/version.h \ - src/clientversion.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/aboutdialog.o src/qt/aboutdialog.cpp - -build/editaddressdialog.o: src/qt/editaddressdialog.cpp src/qt/editaddressdialog.h \ - build/ui_editaddressdialog.h \ - src/qt/addresstablemodel.h \ - src/qt/guiutil.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/editaddressdialog.o src/qt/editaddressdialog.cpp - -build/bitcoinaddressvalidator.o: src/qt/bitcoinaddressvalidator.cpp src/qt/bitcoinaddressvalidator.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bitcoinaddressvalidator.o src/qt/bitcoinaddressvalidator.cpp - -build/statisticspage.o: src/qt/statisticspage.cpp src/qt/statisticspage.h \ - src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - build/ui_statisticspage.h \ - src/init.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h \ - src/qt/marketbrowser.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/statisticspage.o src/qt/statisticspage.cpp - -build/blockbrowser.o: src/qt/blockbrowser.cpp src/qt/blockbrowser.h \ - src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - build/ui_blockbrowser.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h \ - src/qt/transactionrecord.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/blockbrowser.o src/qt/blockbrowser.cpp - -build/marketbrowser.o: src/qt/marketbrowser.cpp src/qt/marketbrowser.h \ - src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - build/ui_marketbrowser.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/marketbrowser.o src/qt/marketbrowser.cpp - -build/alert.o: src/alert.cpp src/alert.h \ - src/uint256.h \ - src/util.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/key.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/sync.h \ - src/threadsafety.h \ - src/ui_interface.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/alert.o src/alert.cpp - -build/version.o: src/version.cpp src/version.h \ - src/clientversion.h \ - build/build.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/version.o src/version.cpp - -build/sync.o: src/sync.cpp src/sync.h \ - src/threadsafety.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/sync.o src/sync.cpp - -build/smessage.o: src/smessage.cpp src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/uint256.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/init.h \ - src/txdb.h \ - src/txdb-leveldb.h \ - src/lz4/lz4.c \ - src/xxhash/xxhash.h \ - src/xxhash/xxhash.c - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/smessage.o src/smessage.cpp - -build/util.o: src/util.cpp src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/sync.h \ - src/threadsafety.h \ - src/strlcpy.h \ - src/ui_interface.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/util.o src/util.cpp - -build/netbase.o: src/netbase.cpp src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/util.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/strlcpy.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/netbase.o src/netbase.cpp - -build/key.o: src/key.cpp src/key.h \ - src/allocators.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/util.h \ - src/netbase.h \ - src/compat.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/key.o src/key.cpp - -build/script.o: src/script.cpp src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/allocators.h \ - src/key.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/util.h \ - src/netbase.h \ - src/compat.h \ - src/sync.h \ - src/threadsafety.h \ - src/bignum.h \ - src/stealth.h \ - src/main.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/script.o src/script.cpp - -build/main.o: src/main.cpp src/alert.h \ - src/uint256.h \ - src/util.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/checkpoints.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/txdb.h \ - src/txdb-leveldb.h \ - src/init.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/kernel.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/main.o src/main.cpp - -build/miner.o: src/miner.cpp src/txdb.h \ - src/txdb-leveldb.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/miner.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/kernel.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/miner.o src/miner.cpp - -build/init.o: src/init.cpp src/txdb.h \ - src/txdb-leveldb.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h \ - src/init.h \ - src/wallet.h \ - src/ui_interface.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/init.o src/init.cpp - -build/net.o: src/net.cpp src/irc.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/init.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/strlcpy.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/net.o src/net.cpp - -build/irc.o: src/irc.cpp src/irc.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/uint256.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/strlcpy.h \ - src/base58.h \ - src/bignum.h \ - src/key.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/stealth.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/irc.o src/irc.cpp - -build/checkpoints.o: src/checkpoints.cpp src/checkpoints.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/uint256.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/txdb.h \ - src/txdb-leveldb.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/checkpoints.o src/checkpoints.cpp - -build/addrman.o: src/addrman.cpp src/addrman.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/uint256.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/addrman.o src/addrman.cpp - -build/db.o: src/db.cpp src/db.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/db.o src/db.cpp - -build/walletdb.o: src/walletdb.cpp src/walletdb.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/base58.h \ - src/wallet.h \ - src/ui_interface.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/walletdb.o src/walletdb.cpp - -build/clientmodel.o: src/qt/clientmodel.cpp src/qt/clientmodel.h \ - src/qt/guiconstants.h \ - src/qt/optionsmodel.h \ - src/qt/addresstablemodel.h \ - src/qt/transactiontablemodel.h \ - src/alert.h \ - src/uint256.h \ - src/util.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/main.h \ - src/bignum.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/clientmodel.o src/qt/clientmodel.cpp - -build/guiutil.o: src/qt/guiutil.cpp src/qt/guiutil.h \ - src/qt/bitcoinaddressvalidator.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/bitcoinunits.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/init.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/guiutil.o src/qt/guiutil.cpp - -build/transactionrecord.o: src/qt/transactionrecord.cpp src/qt/transactionrecord.h \ - src/uint256.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/transactionrecord.o src/qt/transactionrecord.cpp - -build/optionsmodel.o: src/qt/optionsmodel.cpp src/qt/optionsmodel.h \ - src/qt/bitcoinunits.h \ - src/init.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/qt/guiutil.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/optionsmodel.o src/qt/optionsmodel.cpp - -build/monitoreddatamapper.o: src/qt/monitoreddatamapper.cpp src/qt/monitoreddatamapper.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/monitoreddatamapper.o src/qt/monitoreddatamapper.cpp - -build/transactiondesc.o: src/qt/transactiondesc.cpp src/qt/transactiondesc.h \ - src/qt/guiutil.h \ - src/qt/bitcoinunits.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/txdb.h \ - src/txdb-leveldb.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/transactiondesc.o src/qt/transactiondesc.cpp - -build/transactiondescdialog.o: src/qt/transactiondescdialog.cpp src/qt/transactiondescdialog.h \ - build/ui_transactiondescdialog.h \ - src/qt/transactiontablemodel.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/transactiondescdialog.o src/qt/transactiondescdialog.cpp - -build/bitcoinstrings.o: src/qt/bitcoinstrings.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bitcoinstrings.o src/qt/bitcoinstrings.cpp - -build/bitcoinamountfield.o: src/qt/bitcoinamountfield.cpp src/qt/bitcoinamountfield.h \ - src/qt/qvaluecombobox.h \ - src/qt/bitcoinunits.h \ - src/qt/guiconstants.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bitcoinamountfield.o src/qt/bitcoinamountfield.cpp - -build/wallet.o: src/wallet.cpp src/txdb.h \ - src/txdb-leveldb.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/kernel.h \ - src/coincontrol.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/wallet.o src/wallet.cpp - -build/keystore.o: src/keystore.cpp src/keystore.h \ - src/crypter.h \ - src/allocators.h \ - src/key.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/util.h \ - src/netbase.h \ - src/compat.h \ - src/sync.h \ - src/threadsafety.h \ - src/script.h \ - src/bignum.h \ - src/stealth.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/keystore.o src/keystore.cpp - -build/transactionfilterproxy.o: src/qt/transactionfilterproxy.cpp src/qt/transactionfilterproxy.h \ - src/qt/transactiontablemodel.h \ - src/qt/transactionrecord.h \ - src/uint256.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/transactionfilterproxy.o src/qt/transactionfilterproxy.cpp - -build/transactionview.o: src/qt/transactionview.cpp src/qt/transactionview.h \ - src/qt/transactionfilterproxy.h \ - src/qt/transactionrecord.h \ - src/uint256.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/addresstablemodel.h \ - src/qt/transactiontablemodel.h \ - src/qt/bitcoinunits.h \ - src/qt/csvmodelwriter.h \ - src/qt/transactiondescdialog.h \ - src/qt/editaddressdialog.h \ - src/qt/optionsmodel.h \ - src/qt/guiutil.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/transactionview.o src/qt/transactionview.cpp - -build/walletmodel.o: src/qt/walletmodel.cpp src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/guiconstants.h \ - src/qt/optionsmodel.h \ - src/qt/addresstablemodel.h \ - src/qt/transactiontablemodel.h \ - src/ui_interface.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/walletmodel.o src/qt/walletmodel.cpp - -build/bitcoinrpc.o: src/bitcoinrpc.cpp src/init.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bitcoinrpc.o src/bitcoinrpc.cpp - -build/rpcdump.o: src/rpcdump.cpp src/init.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcdump.o src/rpcdump.cpp - -build/rpcnet.o: src/rpcnet.cpp src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/uint256.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h \ - src/alert.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcnet.o src/rpcnet.cpp - -build/rpcmining.o: src/rpcmining.cpp src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/db.h \ - src/txdb.h \ - src/txdb-leveldb.h \ - src/init.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/miner.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcmining.o src/rpcmining.cpp - -build/rpcwallet.o: src/rpcwallet.cpp src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h \ - src/init.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcwallet.o src/rpcwallet.cpp - -build/rpcblockchain.o: src/rpcblockchain.cpp src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcblockchain.o src/rpcblockchain.cpp - -build/rpcrawtransaction.o: src/rpcrawtransaction.cpp src/base58.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/key.h \ - src/util.h \ - src/netbase.h \ - src/compat.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/sync.h \ - src/threadsafety.h \ - src/stealth.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/txdb.h \ - src/txdb-leveldb.h \ - src/main.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/init.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/smessage.h \ - src/lz4/lz4.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcrawtransaction.o src/rpcrawtransaction.cpp - -build/rpcsmessage.o: src/rpcsmessage.cpp src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h \ - src/smessage.h \ - src/db.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/init.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcsmessage.o src/rpcsmessage.cpp - -build/overviewpage.o: src/qt/overviewpage.cpp src/qt/overviewpage.h \ - build/ui_overviewpage.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/bitcoinunits.h \ - src/qt/optionsmodel.h \ - src/qt/transactiontablemodel.h \ - src/qt/transactionfilterproxy.h \ - src/qt/guiutil.h \ - src/qt/guiconstants.h \ - src/qt/marketbrowser.h \ - src/qt/clientmodel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - build/overviewpage.moc - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/overviewpage.o src/qt/overviewpage.cpp - -build/csvmodelwriter.o: src/qt/csvmodelwriter.cpp src/qt/csvmodelwriter.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/csvmodelwriter.o src/qt/csvmodelwriter.cpp - -build/crypter.o: src/crypter.cpp src/crypter.h \ - src/allocators.h \ - src/key.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/util.h \ - src/netbase.h \ - src/compat.h \ - src/scrypt.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/sync.h \ - src/threadsafety.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/crypter.o src/crypter.cpp - -build/sendcoinsentry.o: src/qt/sendcoinsentry.cpp src/qt/sendcoinsentry.h \ - build/ui_sendcoinsentry.h \ - src/qt/bitcoinamountfield.h \ - src/qt/qvalidatedlineedit.h \ - src/qt/guiutil.h \ - src/qt/bitcoinunits.h \ - src/qt/addressbookpage.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/optionsmodel.h \ - src/qt/addresstablemodel.h \ - src/stealth.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/sendcoinsentry.o src/qt/sendcoinsentry.cpp - -build/qvalidatedlineedit.o: src/qt/qvalidatedlineedit.cpp src/qt/qvalidatedlineedit.h \ - src/qt/guiconstants.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/qvalidatedlineedit.o src/qt/qvalidatedlineedit.cpp - -build/bitcoinunits.o: src/qt/bitcoinunits.cpp src/qt/bitcoinunits.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/bitcoinunits.o src/qt/bitcoinunits.cpp - -build/qvaluecombobox.o: src/qt/qvaluecombobox.cpp src/qt/qvaluecombobox.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/qvaluecombobox.o src/qt/qvaluecombobox.cpp - -build/askpassphrasedialog.o: src/qt/askpassphrasedialog.cpp src/qt/askpassphrasedialog.h \ - build/ui_askpassphrasedialog.h \ - src/qt/guiconstants.h \ - src/qt/walletmodel.h \ - src/allocators.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/askpassphrasedialog.o src/qt/askpassphrasedialog.cpp - -build/protocol.o: src/protocol.cpp src/protocol.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/netbase.h \ - src/compat.h \ - src/uint256.h \ - src/util.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/protocol.o src/protocol.cpp - -build/notificator.o: src/qt/notificator.cpp src/qt/notificator.h \ - src/qt/macnotificationhandler.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/notificator.o src/qt/notificator.cpp - -build/qtipcserver.o: src/qt/qtipcserver.cpp src/qt/qtipcserver.h \ - src/qt/guiconstants.h \ - src/ui_interface.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/qtipcserver.o src/qt/qtipcserver.cpp - -build/rpcconsole.o: src/qt/rpcconsole.cpp src/qt/rpcconsole.h \ - build/ui_rpcconsole.h \ - src/qt/trafficgraphwidget.h \ - src/qt/clientmodel.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/checkpoints.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/sync.h \ - src/threadsafety.h \ - src/qt/guiutil.h \ - build/rpcconsole.moc - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/rpcconsole.o src/qt/rpcconsole.cpp - -build/trafficgraphwidget.o: src/qt/trafficgraphwidget.cpp src/qt/trafficgraphwidget.h \ - src/qt/clientmodel.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/trafficgraphwidget.o src/qt/trafficgraphwidget.cpp - -build/messagepage.o: src/qt/messagepage.cpp src/qt/messagepage.h \ - build/ui_messagepage.h \ - src/qt/sendmessagesdialog.h \ - src/qt/messagemodel.h \ - src/uint256.h \ - src/allocators.h \ - src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/qt/bitcoingui.h \ - src/qt/csvmodelwriter.h \ - src/qt/guiutil.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/messagepage.o src/qt/messagepage.cpp - -build/messagemodel.o: src/qt/messagemodel.cpp src/qt/guiutil.h \ - src/qt/guiconstants.h \ - src/qt/bitcoinunits.h \ - src/qt/optionsmodel.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/messagemodel.h \ - src/uint256.h \ - src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/qt/addresstablemodel.h \ - src/json/json_spirit.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_reader.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer.h \ - src/json/json_spirit_utils.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/messagemodel.o src/qt/messagemodel.cpp - -build/sendmessagesdialog.o: src/qt/sendmessagesdialog.cpp src/qt/sendmessagesdialog.h \ - build/ui_sendmessagesdialog.h \ - src/qt/qvalidatedlineedit.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/messagemodel.h \ - src/uint256.h \ - src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/qt/addressbookpage.h \ - src/qt/optionsmodel.h \ - src/qt/sendmessagesentry.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/sendmessagesdialog.o src/qt/sendmessagesdialog.cpp - -build/sendmessagesentry.o: src/qt/sendmessagesentry.cpp src/qt/sendmessagesentry.h \ - build/ui_sendmessagesentry.h \ - src/qt/qvalidatedlineedit.h \ - src/qt/qvalidatedtextedit.h \ - src/qt/guiutil.h \ - src/qt/addressbookpage.h \ - src/qt/walletmodel.h \ - src/allocators.h \ - src/qt/messagemodel.h \ - src/uint256.h \ - src/smessage.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/serialize.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/sync.h \ - src/threadsafety.h \ - src/db.h \ - src/main.h \ - src/bignum.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/wallet.h \ - src/ui_interface.h \ - src/walletdb.h \ - src/base58.h \ - src/lz4/lz4.h \ - src/qt/optionsmodel.h \ - src/qt/addresstablemodel.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/sendmessagesentry.o src/qt/sendmessagesentry.cpp - -build/qvalidatedtextedit.o: src/qt/qvalidatedtextedit.cpp src/qt/qvalidatedtextedit.h \ - src/qt/guiconstants.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/qvalidatedtextedit.o src/qt/qvalidatedtextedit.cpp - -build/mrichtextedit.o: src/qt/plugins/mrichtexteditor/mrichtextedit.cpp src/qt/plugins/mrichtexteditor/mrichtextedit.h \ - build/ui_mrichtextedit.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/mrichtextedit.o src/qt/plugins/mrichtexteditor/mrichtextedit.cpp - -build/noui.o: src/noui.cpp src/ui_interface.h \ - src/init.h \ - src/wallet.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/walletdb.h \ - src/db.h \ - src/base58.h \ - src/smessage.h \ - src/lz4/lz4.h \ - src/bitcoinrpc.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_utils.h \ - src/checkpoints.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/noui.o src/noui.cpp - -build/kernel.o: src/kernel.cpp src/kernel.h \ - src/main.h \ - src/bignum.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/uint256.h \ - src/sync.h \ - src/threadsafety.h \ - src/net.h \ - src/mruset.h \ - src/netbase.h \ - src/compat.h \ - src/protocol.h \ - src/addrman.h \ - src/util.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/key.h \ - src/stealth.h \ - src/scrypt.h \ - src/hashblock.h \ - src/sph_jh.h \ - src/sph_types.h \ - src/sph_keccak.h \ - src/sph_echo.h \ - src/txdb.h \ - src/txdb-leveldb.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/kernel.o src/kernel.cpp - -build/scrypt-arm.o: src/scrypt-arm.S - $(CC) -c $(CFLAGS) $(INCPATH) -o build/scrypt-arm.o src/scrypt-arm.S - -build/scrypt-x86.o: src/scrypt-x86.S - $(CC) -c $(CFLAGS) $(INCPATH) -o build/scrypt-x86.o src/scrypt-x86.S - -build/scrypt-x86_64.o: src/scrypt-x86_64.S - $(CC) -c $(CFLAGS) $(INCPATH) -o build/scrypt-x86_64.o src/scrypt-x86_64.S - -build/scrypt.o: src/scrypt.cpp src/scrypt.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/net.h \ - src/mruset.h \ - src/protocol.h \ - src/addrman.h \ - src/sync.h \ - src/threadsafety.h \ - src/pbkdf2.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/scrypt.o src/scrypt.cpp - -build/pbkdf2.o: src/pbkdf2.cpp src/pbkdf2.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/pbkdf2.o src/pbkdf2.cpp - -build/stealth.o: src/stealth.cpp src/stealth.h \ - src/util.h \ - src/uint256.h \ - src/netbase.h \ - src/serialize.h \ - src/allocators.h \ - src/version.h \ - src/clientversion.h \ - src/compat.h \ - src/base58.h \ - src/bignum.h \ - src/key.h \ - src/script.h \ - src/keystore.h \ - src/crypter.h \ - src/sync.h \ - src/threadsafety.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/stealth.o src/stealth.cpp - -build/moc_bitcoingui.o: build/moc_bitcoingui.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_bitcoingui.o build/moc_bitcoingui.cpp - -build/moc_transactiontablemodel.o: build/moc_transactiontablemodel.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_transactiontablemodel.o build/moc_transactiontablemodel.cpp - -build/moc_addresstablemodel.o: build/moc_addresstablemodel.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_addresstablemodel.o build/moc_addresstablemodel.cpp - -build/moc_optionsdialog.o: build/moc_optionsdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_optionsdialog.o build/moc_optionsdialog.cpp - -build/moc_coincontroldialog.o: build/moc_coincontroldialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_coincontroldialog.o build/moc_coincontroldialog.cpp - -build/moc_coincontroltreewidget.o: build/moc_coincontroltreewidget.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_coincontroltreewidget.o build/moc_coincontroltreewidget.cpp - -build/moc_sendcoinsdialog.o: build/moc_sendcoinsdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_sendcoinsdialog.o build/moc_sendcoinsdialog.cpp - -build/moc_addressbookpage.o: build/moc_addressbookpage.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_addressbookpage.o build/moc_addressbookpage.cpp - -build/moc_signverifymessagedialog.o: build/moc_signverifymessagedialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_signverifymessagedialog.o build/moc_signverifymessagedialog.cpp - -build/moc_aboutdialog.o: build/moc_aboutdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_aboutdialog.o build/moc_aboutdialog.cpp - -build/moc_editaddressdialog.o: build/moc_editaddressdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_editaddressdialog.o build/moc_editaddressdialog.cpp - -build/moc_bitcoinaddressvalidator.o: build/moc_bitcoinaddressvalidator.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_bitcoinaddressvalidator.o build/moc_bitcoinaddressvalidator.cpp - -build/moc_clientmodel.o: build/moc_clientmodel.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_clientmodel.o build/moc_clientmodel.cpp - -build/moc_guiutil.o: build/moc_guiutil.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_guiutil.o build/moc_guiutil.cpp - -build/moc_optionsmodel.o: build/moc_optionsmodel.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_optionsmodel.o build/moc_optionsmodel.cpp - -build/moc_monitoreddatamapper.o: build/moc_monitoreddatamapper.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_monitoreddatamapper.o build/moc_monitoreddatamapper.cpp - -build/moc_transactiondesc.o: build/moc_transactiondesc.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_transactiondesc.o build/moc_transactiondesc.cpp - -build/moc_transactiondescdialog.o: build/moc_transactiondescdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_transactiondescdialog.o build/moc_transactiondescdialog.cpp - -build/moc_bitcoinamountfield.o: build/moc_bitcoinamountfield.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_bitcoinamountfield.o build/moc_bitcoinamountfield.cpp - -build/moc_transactionfilterproxy.o: build/moc_transactionfilterproxy.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_transactionfilterproxy.o build/moc_transactionfilterproxy.cpp - -build/moc_transactionview.o: build/moc_transactionview.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_transactionview.o build/moc_transactionview.cpp - -build/moc_walletmodel.o: build/moc_walletmodel.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_walletmodel.o build/moc_walletmodel.cpp - -build/moc_overviewpage.o: build/moc_overviewpage.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_overviewpage.o build/moc_overviewpage.cpp - -build/moc_csvmodelwriter.o: build/moc_csvmodelwriter.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_csvmodelwriter.o build/moc_csvmodelwriter.cpp - -build/moc_sendcoinsentry.o: build/moc_sendcoinsentry.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_sendcoinsentry.o build/moc_sendcoinsentry.cpp - -build/moc_qvalidatedlineedit.o: build/moc_qvalidatedlineedit.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_qvalidatedlineedit.o build/moc_qvalidatedlineedit.cpp - -build/moc_qvaluecombobox.o: build/moc_qvaluecombobox.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_qvaluecombobox.o build/moc_qvaluecombobox.cpp - -build/moc_askpassphrasedialog.o: build/moc_askpassphrasedialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_askpassphrasedialog.o build/moc_askpassphrasedialog.cpp - -build/moc_notificator.o: build/moc_notificator.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_notificator.o build/moc_notificator.cpp - -build/moc_rpcconsole.o: build/moc_rpcconsole.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_rpcconsole.o build/moc_rpcconsole.cpp - -build/moc_trafficgraphwidget.o: build/moc_trafficgraphwidget.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_trafficgraphwidget.o build/moc_trafficgraphwidget.cpp - -build/moc_blockbrowser.o: build/moc_blockbrowser.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_blockbrowser.o build/moc_blockbrowser.cpp - -build/moc_statisticspage.o: build/moc_statisticspage.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_statisticspage.o build/moc_statisticspage.cpp - -build/moc_marketbrowser.o: build/moc_marketbrowser.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_marketbrowser.o build/moc_marketbrowser.cpp - -build/moc_messagepage.o: build/moc_messagepage.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_messagepage.o build/moc_messagepage.cpp - -build/moc_messagemodel.o: build/moc_messagemodel.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_messagemodel.o build/moc_messagemodel.cpp - -build/moc_sendmessagesdialog.o: build/moc_sendmessagesdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_sendmessagesdialog.o build/moc_sendmessagesdialog.cpp - -build/moc_sendmessagesentry.o: build/moc_sendmessagesentry.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_sendmessagesentry.o build/moc_sendmessagesentry.cpp - -build/moc_mrichtextedit.o: build/moc_mrichtextedit.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_mrichtextedit.o build/moc_mrichtextedit.cpp - -build/moc_qvalidatedtextedit.o: build/moc_qvalidatedtextedit.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/moc_qvalidatedtextedit.o build/moc_qvalidatedtextedit.cpp - -build/qrc_bitcoin.o: qrc_bitcoin.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/qrc_bitcoin.o qrc_bitcoin.cpp - -build/qrc_style.o: qrc_style.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build/qrc_style.o qrc_style.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - +release-mocclean: $(MAKEFILE).Release + $(MAKE) -f $(MAKEFILE).Release mocclean +debug-mocclean: $(MAKEFILE).Debug + $(MAKE) -f $(MAKEFILE).Debug mocclean +mocclean: release-mocclean debug-mocclean + +release-mocables: $(MAKEFILE).Release + $(MAKE) -f $(MAKEFILE).Release mocables +debug-mocables: $(MAKEFILE).Debug + $(MAKE) -f $(MAKEFILE).Debug mocables +mocables: release-mocables debug-mocables FORCE: +$(MAKEFILE).Release: Makefile +$(MAKEFILE).Debug: Makefile diff --git a/Makefile.Debug b/Makefile.Debug index 40e43a94..91bdc54c 100644 --- a/Makefile.Debug +++ b/Makefile.Debug @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Jul 31 14:04:07 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 01:31:41 2017 # Project: denarius-qt.pro # Template: app ############################################################################# @@ -9,13 +9,13 @@ CC = gcc CXX = g++ -DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_IPV6=1 -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 +DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 CFLAGS = -pipe -fno-keep-inline-dllexport -g -Wall -Wextra $(DEFINES) CXXFLAGS = -fpermissive -g -frtti -fexceptions -mthreads -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector $(DEFINES) -INCPATH = -I"..\..\..\..\Qt\4.8.6\include\QtCore" -I"..\..\..\..\Qt\4.8.6\include\QtNetwork" -I"..\..\..\..\Qt\4.8.6\include\QtGui" -I"..\..\..\..\Qt\4.8.6\include" -I"src" -I"src\json" -I"src\qt" -I"src\qt\plugins\mrichtexteditor" -I"src\leveldb\include" -I"src\leveldb\helpers" -I"..\..\..\..\deps\boost_1_55_0" -I"..\..\..\..\deps\db-4.8.30.NC\build_unix" -I"..\..\..\..\deps\openssl-1.0.1j\include" -I"..\..\..\..\deps\qrencode-3.4.4" -I"..\..\..\..\Qt\4.8.6\include\ActiveQt" -I"build" -I"build" -I"..\..\..\..\Qt\4.8.6\mkspecs\default" +INCPATH = -I"..\..\..\..\Qt\4.8.6\include\QtCore" -I"..\..\..\..\Qt\4.8.6\include\QtNetwork" -I"..\..\..\..\Qt\4.8.6\include\QtGui" -I"..\..\..\..\Qt\4.8.6\include" -I"src" -I"src\json" -I"src\qt" -I"src\qt\plugins\mrichtexteditor" -I"..\..\..\..\deps" -I"src\leveldb\include" -I"src\leveldb\helpers" -I"..\..\..\..\deps\boost_1_55_0" -I"..\..\..\..\deps\db-4.8.30.NC\build_unix" -I"..\..\..\..\deps\openssl-1.0.1j\include" -I"..\..\..\..\deps\qrencode-3.4.4" -I"..\..\..\..\Qt\4.8.6\include\ActiveQt" -I"build" -I"build" -I"..\..\..\..\Qt\4.8.6\mkspecs\default" LINK = g++ LFLAGS = -Wl,--large-address-aware -static -static-libgcc -static-libstdc++ -mthreads -Wl,-subsystem,windows -LIBS = -L"c:\Qt\4.8.6\lib" -lmingwthrd -lmingw32 -lqtmaind build\bitcoin-qt_res.o -lqrencode C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libmemenv.a -lshlwapi -LC:/deps/boost_1_55_0/stage/lib -LC:/deps/db-4.8.30.NC/build_unix -LC:/deps/openssl-1.0.1j -LC:/deps/qrencode-3.4.4/.libs -lssl -lcrypto -ldb_cxx -lshlwapi -lmswsock -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 -lboost_chrono-mgw48-mt-s-1_55 -lQtGuid -lQtNetworkd -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 +LIBS = -L"c:\Qt\4.8.6\lib" -lmingwthrd -lmingw32 -lqtmaind build\bitcoin-qt_res.o -lqrencode -LC:/deps/miniupnpc -lminiupnpc -liphlpapi C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libmemenv.a -lshlwapi -LC:/deps/boost_1_55_0/stage/lib -LC:/deps/db-4.8.30.NC/build_unix -LC:/deps/openssl-1.0.1j -LC:/deps/qrencode-3.4.4/.libs -lssl -lcrypto -ldb_cxx -lshlwapi -lmswsock -lboost_system-mgw49-mt-s-1_55 -lboost_filesystem-mgw49-mt-s-1_55 -lboost_program_options-mgw49-mt-s-1_55 -lboost_thread-mgw49-mt-s-1_55 -lboost_chrono-mgw49-mt-s-1_55 -lQtGuid -lQtNetworkd -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCored -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 QMAKE = c:\Qt\4.8.6\bin\qmake.exe IDC = c:\Qt\4.8.6\bin\idc.exe IDL = midl @@ -49,6 +49,7 @@ SOURCES = src\txdb-leveldb.cpp \ src\keccak.c \ src\qt\bitcoin.cpp \ src\qt\bitcoingui.cpp \ + src\qt\intro.cpp \ src\qt\transactiontablemodel.cpp \ src\qt\addresstablemodel.cpp \ src\qt\optionsdialog.cpp \ @@ -130,6 +131,7 @@ SOURCES = src\txdb-leveldb.cpp \ src\pbkdf2.cpp \ src\stealth.cpp \ src\qt\qrcodedialog.cpp build\moc_bitcoingui.cpp \ + build\moc_intro.cpp \ build\moc_transactiontablemodel.cpp \ build\moc_addresstablemodel.cpp \ build\moc_optionsdialog.cpp \ @@ -180,6 +182,7 @@ OBJECTS = build/txdb-leveldb.o \ build/keccak.o \ build/bitcoin.o \ build/bitcoingui.o \ + build/intro.o \ build/transactiontablemodel.o \ build/addresstablemodel.o \ build/optionsdialog.o \ @@ -262,6 +265,7 @@ OBJECTS = build/txdb-leveldb.o \ build/stealth.o \ build/qrcodedialog.o \ build/moc_bitcoingui.o \ + build/moc_intro.o \ build/moc_transactiontablemodel.o \ build/moc_addresstablemodel.o \ build/moc_optionsdialog.o \ @@ -331,21 +335,21 @@ DESTDIR_TARGET = debug\Denarius.exe first: all all: Makefile.Debug $(DESTDIR_TARGET) -$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o +$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.Denarius.Debug $(LIBS) build/bitcoin-qt_res.o: src\qt\res\bitcoin-qt.rc windres -i src\qt\res\bitcoin-qt.rc -o build\bitcoin-qt_res.o --include-dir=./src/qt/res $(DEFINES) qmake: FORCE - @$(QMAKE) USE_QRCODE=1 USE_UPNP=- -o Makefile.Debug denarius-qt.pro + @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile.Debug denarius-qt.pro dist: $(ZIP) Denarius.zip $(SOURCES) $(DIST) denarius-qt.pro ..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\static.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\lex.prf c:\Qt\4.8.6\lib\qtmaind.prl c:\Qt\4.8.6\lib\QtGuid.prl c:\Qt\4.8.6\lib\QtNetworkd.prl c:\Qt\4.8.6\lib\QtCored.prl src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts TRANSLATIONS HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean - -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o - -$(DEL_FILE) build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o + -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o + -$(DEL_FILE) build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a; cd C:/Users/Carsen/Desktop/denariusdev/src/leveldb ; $(MAKE) clean -$(DEL_FILE) build\bitcoin-qt_res.o @@ -559,12 +563,15 @@ src/qt/locale/bitcoin_zh_CN.qm: src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.qm: src/qt/locale/bitcoin_zh_TW.ts c:\Qt\4.8.6\bin\lrelease.exe src\qt\locale\bitcoin_zh_TW.ts -qm src\qt\locale\bitcoin_zh_TW.qm -compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp +compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp + -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp build/moc_bitcoingui.cpp: src/qt/bitcoingui.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoingui.h -o build\moc_bitcoingui.cpp +build/moc_intro.cpp: src/qt/intro.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\intro.h -o build\moc_intro.cpp + build/moc_transactiontablemodel.cpp: src/qt/transactiontablemodel.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\transactiontablemodel.h -o build\moc_transactiontablemodel.cpp @@ -946,24 +953,45 @@ debug/qrc_style.cpp: src/qt/res/themes/qdarkstyle/style.qrc \ src/qt/res/themes/qdarkstyle/rc/Vmovetoolbar.png \ src/qt/res/themes/qdarkstyle/rc/transparent.png \ src/qt/res/themes/qdarkstyle/rc/down_arrow.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_checked_focus.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked_focus.png \ src/qt/res/themes/qdarkstyle/rc/branch_closed.png \ src/qt/res/themes/qdarkstyle/rc/undock.png \ src/qt/res/themes/qdarkstyle/rc/up_arrow.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_checked.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png \ src/qt/res/themes/qdarkstyle/rc/Vsepartoolbar.png \ src/qt/res/themes/qdarkstyle/rc/up_arrow_disabled.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_indeterminate.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png \ src/qt/res/themes/qdarkstyle/rc/stylesheet-vline.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_checked_disabled.png \ src/qt/res/themes/qdarkstyle/rc/left_arrow.png \ src/qt/res/themes/qdarkstyle/rc/stylesheet-branch-end.png \ - src/qt/res/themes/qdarkstyle/rc/sizegrip.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox.png + src/qt/res/themes/qdarkstyle/rc/sizegrip.png c:\Qt\4.8.6\bin\rcc.exe -name style src\qt\res\themes\qdarkstyle\style.qrc -o debug\qrc_style.cpp compiler_image_collection_make_all: build/qmake_image_collection.cpp compiler_image_collection_clean: -$(DEL_FILE) build\qmake_image_collection.cpp -compiler_moc_source_make_all: build/overviewpage.moc build/rpcconsole.moc +compiler_moc_source_make_all: build/intro.moc build/overviewpage.moc build/rpcconsole.moc compiler_moc_source_clean: - -$(DEL_FILE) build\overviewpage.moc build\rpcconsole.moc + -$(DEL_FILE) build\intro.moc build\overviewpage.moc build\rpcconsole.moc +build/intro.moc: src/qt/intro.h \ + build/ui_intro.h \ + src/qt/guiutil.h \ + src/util.h \ + src/uint256.h \ + src/netbase.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/compat.h \ + src/qt/intro.cpp + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\intro.cpp -o build\intro.moc + build/overviewpage.moc: src/qt/overviewpage.h \ build/ui_overviewpage.h \ src/qt/walletmodel.h \ @@ -1014,6 +1042,7 @@ build/overviewpage.moc: src/qt/overviewpage.h \ build/rpcconsole.moc: src/qt/rpcconsole.h \ build/ui_rpcconsole.h \ + src/qt/trafficgraphwidget.h \ src/qt/clientmodel.h \ src/bitcoinrpc.h \ src/json/json_spirit_reader_template.h \ @@ -1040,9 +1069,12 @@ build/rpcconsole.moc: src/qt/rpcconsole.h \ src/qt/rpcconsole.cpp C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\rpcconsole.cpp -o build\rpcconsole.moc -compiler_uic_make_all: build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h +compiler_uic_make_all: build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h compiler_uic_clean: - -$(DEL_FILE) build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h + -$(DEL_FILE) build\ui_intro.h build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h +build/ui_intro.h: src/qt/forms/intro.ui + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\intro.ui -o build\ui_intro.h + build/ui_coincontroldialog.h: src/qt/forms/coincontroldialog.ui \ src/qt/coincontroltreewidget.h c:\Qt\4.8.6\bin\uic.exe src\qt\forms\coincontroldialog.ui -o build\ui_coincontroldialog.h @@ -1253,6 +1285,7 @@ build/bitcoin.o: src/qt/bitcoin.cpp src/qt/bitcoingui.h \ src/lz4/lz4.h \ src/qt/guiutil.h \ src/qt/guiconstants.h \ + src/qt/intro.h \ src/init.h \ src/qt/qtipcserver.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\bitcoin.o src\qt\bitcoin.cpp @@ -1320,6 +1353,20 @@ build/bitcoingui.o: src/qt/bitcoingui.cpp src/qt/bitcoingui.h \ src/qt/macdockiconhandler.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\bitcoingui.o src\qt\bitcoingui.cpp +build/intro.o: src/qt/intro.cpp src/qt/intro.h \ + build/ui_intro.h \ + src/qt/guiutil.h \ + src/util.h \ + src/uint256.h \ + src/netbase.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/compat.h \ + build/intro.moc + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\intro.o src\qt\intro.cpp + build/transactiontablemodel.o: src/qt/transactiontablemodel.cpp src/qt/transactiontablemodel.h \ src/qt/guiutil.h \ src/qt/transactionrecord.h \ @@ -1406,6 +1453,9 @@ build/addresstablemodel.o: src/qt/addresstablemodel.cpp src/qt/addresstablemodel build/optionsdialog.o: src/qt/optionsdialog.cpp src/qt/optionsdialog.h \ build/ui_optionsdialog.h \ + src/qt/bitcoinamountfield.h \ + src/qt/qvalidatedlineedit.h \ + src/qt/qvaluecombobox.h \ src/qt/bitcoinunits.h \ src/qt/monitoreddatamapper.h \ src/netbase.h \ @@ -1468,6 +1518,7 @@ build/sendcoinsdialog.o: src/qt/sendcoinsdialog.cpp src/qt/sendcoinsdialog.h \ build/coincontroldialog.o: src/qt/coincontroldialog.cpp src/qt/coincontroldialog.h \ build/ui_coincontroldialog.h \ + src/qt/coincontroltreewidget.h \ src/init.h \ src/wallet.h \ src/main.h \ @@ -1527,6 +1578,7 @@ build/addressbookpage.o: src/qt/addressbookpage.cpp src/qt/addressbookpage.h \ build/signverifymessagedialog.o: src/qt/signverifymessagedialog.cpp src/qt/signverifymessagedialog.h \ build/ui_signverifymessagedialog.h \ + src/qt/qvalidatedlineedit.h \ src/qt/addressbookpage.h \ src/base58.h \ src/bignum.h \ @@ -2928,6 +2980,8 @@ build/crypter.o: src/crypter.cpp src/crypter.h \ build/sendcoinsentry.o: src/qt/sendcoinsentry.cpp src/qt/sendcoinsentry.h \ build/ui_sendcoinsentry.h \ + src/qt/bitcoinamountfield.h \ + src/qt/qvalidatedlineedit.h \ src/qt/guiutil.h \ src/qt/bitcoinunits.h \ src/qt/addressbookpage.h \ @@ -2992,6 +3046,7 @@ build/qtipcserver.o: src/qt/qtipcserver.cpp src/qt/qtipcserver.h \ build/rpcconsole.o: src/qt/rpcconsole.cpp src/qt/rpcconsole.h \ build/ui_rpcconsole.h \ + src/qt/trafficgraphwidget.h \ src/qt/clientmodel.h \ src/bitcoinrpc.h \ src/json/json_spirit_reader_template.h \ @@ -3116,6 +3171,7 @@ build/messagemodel.o: src/qt/messagemodel.cpp src/qt/guiutil.h \ build/sendmessagesdialog.o: src/qt/sendmessagesdialog.cpp src/qt/sendmessagesdialog.h \ build/ui_sendmessagesdialog.h \ + src/qt/qvalidatedlineedit.h \ src/qt/walletmodel.h \ src/allocators.h \ src/qt/messagemodel.h \ @@ -3159,6 +3215,8 @@ build/sendmessagesdialog.o: src/qt/sendmessagesdialog.cpp src/qt/sendmessagesdia build/sendmessagesentry.o: src/qt/sendmessagesentry.cpp src/qt/sendmessagesentry.h \ build/ui_sendmessagesentry.h \ + src/qt/qvalidatedlineedit.h \ + src/qt/qvalidatedtextedit.h \ src/qt/guiutil.h \ src/qt/addressbookpage.h \ src/qt/walletmodel.h \ @@ -3336,6 +3394,7 @@ build/stealth.o: src/stealth.cpp src/stealth.h \ build/qrcodedialog.o: src/qt/qrcodedialog.cpp src/qt/qrcodedialog.h \ build/ui_qrcodedialog.h \ + src/qt/bitcoinamountfield.h \ src/qt/bitcoinunits.h \ src/qt/guiconstants.h \ src/qt/guiutil.h \ @@ -3345,6 +3404,9 @@ build/qrcodedialog.o: src/qt/qrcodedialog.cpp src/qt/qrcodedialog.h \ build/moc_bitcoingui.o: build/moc_bitcoingui.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_bitcoingui.o build\moc_bitcoingui.cpp +build/moc_intro.o: build/moc_intro.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_intro.o build\moc_intro.cpp + build/moc_transactiontablemodel.o: build/moc_transactiontablemodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_transactiontablemodel.o build\moc_transactiontablemodel.cpp diff --git a/Makefile.Release b/Makefile.Release index e41fc177..c0170786 100644 --- a/Makefile.Release +++ b/Makefile.Release @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Jul 31 14:03:53 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 01:31:33 2017 # Project: denarius-qt.pro # Template: app ############################################################################# @@ -9,13 +9,13 @@ CC = gcc CXX = g++ -DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_IPV6=1 -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 +DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 CFLAGS = -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra $(DEFINES) CXXFLAGS = -fpermissive -O2 -frtti -fexceptions -mthreads -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector $(DEFINES) -INCPATH = -I"..\..\..\..\Qt\4.8.6\include\QtCore" -I"..\..\..\..\Qt\4.8.6\include\QtNetwork" -I"..\..\..\..\Qt\4.8.6\include\QtGui" -I"..\..\..\..\Qt\4.8.6\include" -I"src" -I"src\json" -I"src\qt" -I"src\qt\plugins\mrichtexteditor" -I"src\leveldb\include" -I"src\leveldb\helpers" -I"..\..\..\..\deps\boost_1_55_0" -I"..\..\..\..\deps\db-4.8.30.NC\build_unix" -I"..\..\..\..\deps\openssl-1.0.1j\include" -I"..\..\..\..\deps\qrencode-3.4.4" -I"..\..\..\..\Qt\4.8.6\include\ActiveQt" -I"build" -I"build" -I"..\..\..\..\Qt\4.8.6\mkspecs\default" +INCPATH = -I"..\..\..\..\Qt\4.8.6\include\QtCore" -I"..\..\..\..\Qt\4.8.6\include\QtNetwork" -I"..\..\..\..\Qt\4.8.6\include\QtGui" -I"..\..\..\..\Qt\4.8.6\include" -I"src" -I"src\json" -I"src\qt" -I"src\qt\plugins\mrichtexteditor" -I"..\..\..\..\deps" -I"src\leveldb\include" -I"src\leveldb\helpers" -I"..\..\..\..\deps\boost_1_55_0" -I"..\..\..\..\deps\db-4.8.30.NC\build_unix" -I"..\..\..\..\deps\openssl-1.0.1j\include" -I"..\..\..\..\deps\qrencode-3.4.4" -I"..\..\..\..\Qt\4.8.6\include\ActiveQt" -I"build" -I"build" -I"..\..\..\..\Qt\4.8.6\mkspecs\default" LINK = g++ LFLAGS = -Wl,--large-address-aware -static -static-libgcc -static-libstdc++ -Wl,-s -mthreads -Wl,-subsystem,windows -LIBS = -L"c:\Qt\4.8.6\lib" -lmingwthrd -lmingw32 -lqtmain build\bitcoin-qt_res.o -lqrencode C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libmemenv.a -lshlwapi -LC:/deps/boost_1_55_0/stage/lib -LC:/deps/db-4.8.30.NC/build_unix -LC:/deps/openssl-1.0.1j -LC:/deps/qrencode-3.4.4/.libs -lssl -lcrypto -ldb_cxx -lshlwapi -lmswsock -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 -lboost_chrono-mgw48-mt-s-1_55 -lQtGui -lQtNetwork -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 +LIBS = -L"c:\Qt\4.8.6\lib" -lmingwthrd -lmingw32 -lqtmain build\bitcoin-qt_res.o -lqrencode -LC:/deps/miniupnpc -lminiupnpc -liphlpapi C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libmemenv.a -lshlwapi -LC:/deps/boost_1_55_0/stage/lib -LC:/deps/db-4.8.30.NC/build_unix -LC:/deps/openssl-1.0.1j -LC:/deps/qrencode-3.4.4/.libs -lssl -lcrypto -ldb_cxx -lshlwapi -lmswsock -lboost_system-mgw49-mt-s-1_55 -lboost_filesystem-mgw49-mt-s-1_55 -lboost_program_options-mgw49-mt-s-1_55 -lboost_thread-mgw49-mt-s-1_55 -lboost_chrono-mgw49-mt-s-1_55 -lQtGui -lQtNetwork -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 QMAKE = c:\Qt\4.8.6\bin\qmake.exe IDC = c:\Qt\4.8.6\bin\idc.exe IDL = midl @@ -49,6 +49,7 @@ SOURCES = src\txdb-leveldb.cpp \ src\keccak.c \ src\qt\bitcoin.cpp \ src\qt\bitcoingui.cpp \ + src\qt\intro.cpp \ src\qt\transactiontablemodel.cpp \ src\qt\addresstablemodel.cpp \ src\qt\optionsdialog.cpp \ @@ -130,6 +131,7 @@ SOURCES = src\txdb-leveldb.cpp \ src\pbkdf2.cpp \ src\stealth.cpp \ src\qt\qrcodedialog.cpp build\moc_bitcoingui.cpp \ + build\moc_intro.cpp \ build\moc_transactiontablemodel.cpp \ build\moc_addresstablemodel.cpp \ build\moc_optionsdialog.cpp \ @@ -180,6 +182,7 @@ OBJECTS = build/txdb-leveldb.o \ build/keccak.o \ build/bitcoin.o \ build/bitcoingui.o \ + build/intro.o \ build/transactiontablemodel.o \ build/addresstablemodel.o \ build/optionsdialog.o \ @@ -262,6 +265,7 @@ OBJECTS = build/txdb-leveldb.o \ build/stealth.o \ build/qrcodedialog.o \ build/moc_bitcoingui.o \ + build/moc_intro.o \ build/moc_transactiontablemodel.o \ build/moc_addresstablemodel.o \ build/moc_optionsdialog.o \ @@ -331,21 +335,21 @@ DESTDIR_TARGET = release\Denarius.exe first: all all: Makefile.Release $(DESTDIR_TARGET) -$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o +$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.Denarius.Release $(LIBS) build/bitcoin-qt_res.o: src\qt\res\bitcoin-qt.rc windres -i src\qt\res\bitcoin-qt.rc -o build\bitcoin-qt_res.o --include-dir=./src/qt/res $(DEFINES) qmake: FORCE - @$(QMAKE) USE_QRCODE=1 USE_UPNP=- -o Makefile.Release denarius-qt.pro + @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile.Release denarius-qt.pro dist: $(ZIP) Denarius.zip $(SOURCES) $(DIST) denarius-qt.pro ..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\static.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\lex.prf c:\Qt\4.8.6\lib\qtmain.prl c:\Qt\4.8.6\lib\QtGui.prl c:\Qt\4.8.6\lib\QtNetwork.prl c:\Qt\4.8.6\lib\QtCore.prl src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts TRANSLATIONS HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean - -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o - -$(DEL_FILE) build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o + -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o + -$(DEL_FILE) build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a; cd C:/Users/Carsen/Desktop/denariusdev/src/leveldb ; $(MAKE) clean -$(DEL_FILE) build\bitcoin-qt_res.o @@ -559,12 +563,15 @@ src/qt/locale/bitcoin_zh_CN.qm: src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.qm: src/qt/locale/bitcoin_zh_TW.ts c:\Qt\4.8.6\bin\lrelease.exe src\qt\locale\bitcoin_zh_TW.ts -qm src\qt\locale\bitcoin_zh_TW.qm -compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp +compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp + -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp build/moc_bitcoingui.cpp: src/qt/bitcoingui.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoingui.h -o build\moc_bitcoingui.cpp +build/moc_intro.cpp: src/qt/intro.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\intro.h -o build\moc_intro.cpp + build/moc_transactiontablemodel.cpp: src/qt/transactiontablemodel.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\transactiontablemodel.h -o build\moc_transactiontablemodel.cpp @@ -946,24 +953,45 @@ release/qrc_style.cpp: src/qt/res/themes/qdarkstyle/style.qrc \ src/qt/res/themes/qdarkstyle/rc/Vmovetoolbar.png \ src/qt/res/themes/qdarkstyle/rc/transparent.png \ src/qt/res/themes/qdarkstyle/rc/down_arrow.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_checked_focus.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked_focus.png \ src/qt/res/themes/qdarkstyle/rc/branch_closed.png \ src/qt/res/themes/qdarkstyle/rc/undock.png \ src/qt/res/themes/qdarkstyle/rc/up_arrow.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_checked.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_indeterminate_focus.png \ src/qt/res/themes/qdarkstyle/rc/Vsepartoolbar.png \ src/qt/res/themes/qdarkstyle/rc/up_arrow_disabled.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_indeterminate.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked_disabled.png \ src/qt/res/themes/qdarkstyle/rc/stylesheet-vline.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_unchecked.png \ + src/qt/res/themes/qdarkstyle/rc/checkbox_checked_disabled.png \ src/qt/res/themes/qdarkstyle/rc/left_arrow.png \ src/qt/res/themes/qdarkstyle/rc/stylesheet-branch-end.png \ - src/qt/res/themes/qdarkstyle/rc/sizegrip.png \ - src/qt/res/themes/qdarkstyle/rc/checkbox.png + src/qt/res/themes/qdarkstyle/rc/sizegrip.png c:\Qt\4.8.6\bin\rcc.exe -name style src\qt\res\themes\qdarkstyle\style.qrc -o release\qrc_style.cpp compiler_image_collection_make_all: build/qmake_image_collection.cpp compiler_image_collection_clean: -$(DEL_FILE) build\qmake_image_collection.cpp -compiler_moc_source_make_all: build/overviewpage.moc build/rpcconsole.moc +compiler_moc_source_make_all: build/intro.moc build/overviewpage.moc build/rpcconsole.moc compiler_moc_source_clean: - -$(DEL_FILE) build\overviewpage.moc build\rpcconsole.moc + -$(DEL_FILE) build\intro.moc build\overviewpage.moc build\rpcconsole.moc +build/intro.moc: src/qt/intro.h \ + build/ui_intro.h \ + src/qt/guiutil.h \ + src/util.h \ + src/uint256.h \ + src/netbase.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/compat.h \ + src/qt/intro.cpp + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\intro.cpp -o build\intro.moc + build/overviewpage.moc: src/qt/overviewpage.h \ build/ui_overviewpage.h \ src/qt/walletmodel.h \ @@ -1014,6 +1042,7 @@ build/overviewpage.moc: src/qt/overviewpage.h \ build/rpcconsole.moc: src/qt/rpcconsole.h \ build/ui_rpcconsole.h \ + src/qt/trafficgraphwidget.h \ src/qt/clientmodel.h \ src/bitcoinrpc.h \ src/json/json_spirit_reader_template.h \ @@ -1040,9 +1069,12 @@ build/rpcconsole.moc: src/qt/rpcconsole.h \ src/qt/rpcconsole.cpp C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\rpcconsole.cpp -o build\rpcconsole.moc -compiler_uic_make_all: build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h +compiler_uic_make_all: build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h compiler_uic_clean: - -$(DEL_FILE) build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h + -$(DEL_FILE) build\ui_intro.h build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h +build/ui_intro.h: src/qt/forms/intro.ui + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\intro.ui -o build\ui_intro.h + build/ui_coincontroldialog.h: src/qt/forms/coincontroldialog.ui \ src/qt/coincontroltreewidget.h c:\Qt\4.8.6\bin\uic.exe src\qt\forms\coincontroldialog.ui -o build\ui_coincontroldialog.h @@ -1253,6 +1285,7 @@ build/bitcoin.o: src/qt/bitcoin.cpp src/qt/bitcoingui.h \ src/lz4/lz4.h \ src/qt/guiutil.h \ src/qt/guiconstants.h \ + src/qt/intro.h \ src/init.h \ src/qt/qtipcserver.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\bitcoin.o src\qt\bitcoin.cpp @@ -1320,6 +1353,20 @@ build/bitcoingui.o: src/qt/bitcoingui.cpp src/qt/bitcoingui.h \ src/qt/macdockiconhandler.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\bitcoingui.o src\qt\bitcoingui.cpp +build/intro.o: src/qt/intro.cpp src/qt/intro.h \ + build/ui_intro.h \ + src/qt/guiutil.h \ + src/util.h \ + src/uint256.h \ + src/netbase.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/compat.h \ + build/intro.moc + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\intro.o src\qt\intro.cpp + build/transactiontablemodel.o: src/qt/transactiontablemodel.cpp src/qt/transactiontablemodel.h \ src/qt/guiutil.h \ src/qt/transactionrecord.h \ @@ -1406,6 +1453,9 @@ build/addresstablemodel.o: src/qt/addresstablemodel.cpp src/qt/addresstablemodel build/optionsdialog.o: src/qt/optionsdialog.cpp src/qt/optionsdialog.h \ build/ui_optionsdialog.h \ + src/qt/bitcoinamountfield.h \ + src/qt/qvalidatedlineedit.h \ + src/qt/qvaluecombobox.h \ src/qt/bitcoinunits.h \ src/qt/monitoreddatamapper.h \ src/netbase.h \ @@ -1468,6 +1518,7 @@ build/sendcoinsdialog.o: src/qt/sendcoinsdialog.cpp src/qt/sendcoinsdialog.h \ build/coincontroldialog.o: src/qt/coincontroldialog.cpp src/qt/coincontroldialog.h \ build/ui_coincontroldialog.h \ + src/qt/coincontroltreewidget.h \ src/init.h \ src/wallet.h \ src/main.h \ @@ -1527,6 +1578,7 @@ build/addressbookpage.o: src/qt/addressbookpage.cpp src/qt/addressbookpage.h \ build/signverifymessagedialog.o: src/qt/signverifymessagedialog.cpp src/qt/signverifymessagedialog.h \ build/ui_signverifymessagedialog.h \ + src/qt/qvalidatedlineedit.h \ src/qt/addressbookpage.h \ src/base58.h \ src/bignum.h \ @@ -2928,6 +2980,8 @@ build/crypter.o: src/crypter.cpp src/crypter.h \ build/sendcoinsentry.o: src/qt/sendcoinsentry.cpp src/qt/sendcoinsentry.h \ build/ui_sendcoinsentry.h \ + src/qt/bitcoinamountfield.h \ + src/qt/qvalidatedlineedit.h \ src/qt/guiutil.h \ src/qt/bitcoinunits.h \ src/qt/addressbookpage.h \ @@ -2992,6 +3046,7 @@ build/qtipcserver.o: src/qt/qtipcserver.cpp src/qt/qtipcserver.h \ build/rpcconsole.o: src/qt/rpcconsole.cpp src/qt/rpcconsole.h \ build/ui_rpcconsole.h \ + src/qt/trafficgraphwidget.h \ src/qt/clientmodel.h \ src/bitcoinrpc.h \ src/json/json_spirit_reader_template.h \ @@ -3116,6 +3171,7 @@ build/messagemodel.o: src/qt/messagemodel.cpp src/qt/guiutil.h \ build/sendmessagesdialog.o: src/qt/sendmessagesdialog.cpp src/qt/sendmessagesdialog.h \ build/ui_sendmessagesdialog.h \ + src/qt/qvalidatedlineedit.h \ src/qt/walletmodel.h \ src/allocators.h \ src/qt/messagemodel.h \ @@ -3159,6 +3215,8 @@ build/sendmessagesdialog.o: src/qt/sendmessagesdialog.cpp src/qt/sendmessagesdia build/sendmessagesentry.o: src/qt/sendmessagesentry.cpp src/qt/sendmessagesentry.h \ build/ui_sendmessagesentry.h \ + src/qt/qvalidatedlineedit.h \ + src/qt/qvalidatedtextedit.h \ src/qt/guiutil.h \ src/qt/addressbookpage.h \ src/qt/walletmodel.h \ @@ -3336,6 +3394,7 @@ build/stealth.o: src/stealth.cpp src/stealth.h \ build/qrcodedialog.o: src/qt/qrcodedialog.cpp src/qt/qrcodedialog.h \ build/ui_qrcodedialog.h \ + src/qt/bitcoinamountfield.h \ src/qt/bitcoinunits.h \ src/qt/guiconstants.h \ src/qt/guiutil.h \ @@ -3345,6 +3404,9 @@ build/qrcodedialog.o: src/qt/qrcodedialog.cpp src/qt/qrcodedialog.h \ build/moc_bitcoingui.o: build/moc_bitcoingui.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_bitcoingui.o build\moc_bitcoingui.cpp +build/moc_intro.o: build/moc_intro.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_intro.o build\moc_intro.cpp + build/moc_transactiontablemodel.o: build/moc_transactiontablemodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_transactiontablemodel.o build\moc_transactiontablemodel.cpp diff --git a/denarius-qt.pro b/denarius-qt.pro index cb48a9e3..231b5312 100644 --- a/denarius-qt.pro +++ b/denarius-qt.pro @@ -194,6 +194,7 @@ QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qu # Input DEPENDPATH += src src/json src/qt HEADERS += src/qt/bitcoingui.h \ + src/qt/intro.h \ src/qt/transactiontablemodel.h \ src/qt/addresstablemodel.h \ src/qt/optionsdialog.h \ @@ -294,6 +295,7 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/qvalidatedtextedit.h SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ + src/qt/intro.cpp \ src/qt/transactiontablemodel.cpp \ src/qt/addresstablemodel.cpp \ src/qt/optionsdialog.cpp \ @@ -382,6 +384,7 @@ RESOURCES += \ src/qt/res/themes/qdarkstyle/style.qrc FORMS += \ + src/qt/forms/intro.ui \ src/qt/forms/coincontroldialog.ui \ src/qt/forms/sendcoinsdialog.ui \ src/qt/forms/addressbookpage.ui \ diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index ee58f242..e196b154 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -8,6 +8,7 @@ #include "messagemodel.h" #include "guiutil.h" #include "guiconstants.h" +#include "intro.h" #include "init.h" #include "ui_interface.h" @@ -126,23 +127,6 @@ int main(int argc, char *argv[]) Q_INIT_RESOURCE(bitcoin); QApplication app(argc, argv); - // Install global event filter that makes sure that long tooltips can be word-wrapped - app.installEventFilter(new GUIUtil::ToolTipToRichTextFilter(TOOLTIP_WRAP_THRESHOLD, &app)); - - // Command-line options take precedence: - ParseParameters(argc, argv); - - // ... then bitcoin.conf: - if (!boost::filesystem::is_directory(GetDataDir(false))) - { - // This message can not be translated, as translation is not initialized yet - // (which not yet possible because lang=XX can be overridden in bitcoin.conf in the data directory) - QMessageBox::critical(0, "Denarius", - QString("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"]))); - return 1; - } - ReadConfigFile(mapArgs, mapMultiArgs); - // Application identification (must be set before OptionsModel is initialized, // as it is used to locate QSettings) app.setOrganizationName("Denarius"); @@ -152,9 +136,6 @@ int main(int argc, char *argv[]) else app.setApplicationName("Denarius-Qt"); - // ... then GUI settings: - OptionsModel optionsModel; - // Get desired locale (e.g. "de_DE") from command line or use system locale QString lang_territory = QString::fromStdString(GetArg("-lang", QLocale::system().name().toStdString())); QString lang = lang_territory; @@ -182,6 +163,27 @@ int main(int argc, char *argv[]) if (translator.load(lang_territory, ":/translations/")) app.installTranslator(&translator); + // Command-line options take precedence: + ParseParameters(argc, argv); + + // User language is set up: pick a data directory + Intro::pickDataDirectory(); + + // Install global event filter that makes sure that long tooltips can be word-wrapped + app.installEventFilter(new GUIUtil::ToolTipToRichTextFilter(TOOLTIP_WRAP_THRESHOLD, &app)); + + // ... then bitcoin.conf: + if (!boost::filesystem::is_directory(GetDataDir(false))) + { + QMessageBox::critical(0, "NovaCoin", + QObject::tr("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"]))); + return 1; + } + ReadConfigFile(mapArgs, mapMultiArgs); + + // ... then GUI settings: + OptionsModel optionsModel; + // Subscribe to global signals from core uiInterface.ThreadSafeMessageBox.connect(ThreadSafeMessageBox); uiInterface.ThreadSafeAskFee.connect(ThreadSafeAskFee); diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 95c04b48..03d40f32 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -2,6 +2,7 @@ res/icons/denarius-80.png res/icons/denarius-256.png + res/icons/denarius-128.png res/icons/denarius_testnet.png res/icons/denarius-16.png res/icons/denarius-16.png diff --git a/src/qt/forms/intro.ui b/src/qt/forms/intro.ui new file mode 100644 index 00000000..ccfa215b --- /dev/null +++ b/src/qt/forms/intro.ui @@ -0,0 +1,282 @@ + + + Intro + + + + 0 + 0 + 480 + 351 + + + + Welcome + + + + + + + 13 + 75 + true + true + + + + QLabel { font-style:italic; } + + + Welcome to Denarius! + + + true + + + + + + + QLayout::SetDefaultConstraint + + + + + + + This is the first time <strong>Denarius</strong> has launched on this computer, so you can choose where Denarius will store its data. + + + true + + + + + + + Denarius will download and store a copy of the Denarius block chain. At least <strong>%1GB</strong> of data will need to be available to be stored in this directory, as it will grow over time. The wallet data will also be stored in this directory. + + + true + + + + + + + + + + + + :/icons/denarius128 + + + Qt::AlignCenter + + + + + + + + + Use the default data directory + + + + + + + Use a custom data directory: + + + + + + + 0 + + + QLayout::SetDefaultConstraint + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 60 + 20 + + + + + + + + QLayout::SetDefaultConstraint + + + + + + + + + + + 0 + 0 + + + + + 30 + 16777215 + + + + … + + + false + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + 1 + 0 + + + + + + + true + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + 0 + 0 + + + + Qt::RichText + + + true + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + Intro + accept() + + + 20 + 20 + + + 20 + 20 + + + + + buttonBox + rejected() + Intro + reject() + + + 20 + 20 + + + 20 + 20 + + + + + diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 513e005c..90c36a36 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -19,8 +19,13 @@ #include #include +#ifndef Q_MOC_RUN #include #include +#if BOOST_FILESYSTEM_VERSION >= 3 +#include +#endif +#endif #ifdef WIN32 #ifdef _WIN32_WINNT @@ -40,7 +45,31 @@ #include "shellapi.h" #endif +#if BOOST_FILESYSTEM_VERSION >= 3 +static boost::filesystem::detail::utf8_codecvt_facet utf8; +#endif + namespace GUIUtil { +#if BOOST_FILESYSTEM_VERSION >= 3 +boost::filesystem::path qstringToBoostPath(const QString &path) +{ + return boost::filesystem::path(path.toStdString(), utf8); +} +QString boostPathToQString(const boost::filesystem::path &path) +{ + return QString::fromStdString(path.string(utf8)); +} +#else +#warning Conversion between boost path and QString can use invalid character encoding with boost_filesystem v2 and older +boost::filesystem::path qstringToBoostPath(const QString &path) +{ + return boost::filesystem::path(path.toStdString()); +} +QString boostPathToQString(const boost::filesystem::path &path) +{ + return QString::fromStdString(path.string()); +} +#endif QString dateTimeStr(const QDateTime &date) { diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 6982c8e4..4a45bf94 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -4,6 +4,11 @@ #include #include #include +#include +#include +#include + +#include QT_BEGIN_NAMESPACE class QFont; @@ -19,6 +24,11 @@ class SendCoinsRecipient; */ namespace GUIUtil { + /* Convert QString to OS specific boost path through UTF-8 */ + boost::filesystem::path qstringToBoostPath(const QString &path); + /* Convert OS specific boost path to QString through UTF-8 */ + QString boostPathToQString(const boost::filesystem::path &path); + // Create human-readable string from date QString dateTimeStr(const QDateTime &datetime); QString dateTimeStr(qint64 nTime); diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp new file mode 100644 index 00000000..add9ba2b --- /dev/null +++ b/src/qt/intro.cpp @@ -0,0 +1,292 @@ +// Copyright (c) 2011-2014 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "intro.h" +#include "ui_intro.h" + +#include "guiutil.h" + +#include "util.h" + +#include + +#include +#include +#include + +/* Minimum free space (in bytes) needed for data directory */ +static const uint64_t GB_BYTES = 1000000000LL; // 1 Billion Bytes, 1GB Required +static const uint64_t BLOCK_CHAIN_SIZE = 1LL * GB_BYTES; + +/* Check free space asynchronously to prevent hanging the UI thread. + + Up to one request to check a path is in flight to this thread; when the check() + function runs, the current path is requested from the associated Intro object. + The reply is sent back through a signal. + + This ensures that no queue of checking requests is built up while the user is + still entering the path, and that always the most recently entered path is checked as + soon as the thread becomes available. +*/ +class FreespaceChecker : public QObject +{ + Q_OBJECT + +public: + FreespaceChecker(Intro *intro); + + enum Status { + ST_OK, + ST_ERROR + }; + +public slots: + void check(); + +signals: + void reply(int status, const QString &message, quint64 available); + +private: + Intro *intro; +}; + +#include "intro.moc" + +FreespaceChecker::FreespaceChecker(Intro *intro) +{ + this->intro = intro; +} + +void FreespaceChecker::check() +{ + namespace fs = boost::filesystem; + QString dataDirStr = intro->getPathToCheck(); + fs::path dataDir = GUIUtil::qstringToBoostPath(dataDirStr); + uint64_t freeBytesAvailable = 0; + int replyStatus = ST_OK; + QString replyMessage = tr("A new data directory will be created."); + + /* Find first parent that exists, so that fs::space does not fail */ + fs::path parentDir = dataDir; + fs::path parentDirOld = fs::path(); + while(parentDir.has_parent_path() && !fs::exists(parentDir)) + { + parentDir = parentDir.parent_path(); + + /* Check if we make any progress, break if not to prevent an infinite loop here */ + if (parentDirOld == parentDir) + break; + + parentDirOld = parentDir; + } + + try { + freeBytesAvailable = fs::space(parentDir).available; + if(fs::exists(dataDir)) + { + if(fs::is_directory(dataDir)) + { + QString separator = "" + QDir::toNativeSeparators("/") + tr("name") + ""; + replyStatus = ST_OK; + replyMessage = tr("Directory already exists. Add %1 if you intend to create a new directory here.").arg(separator); + } else { + replyStatus = ST_ERROR; + replyMessage = tr("Path already exists, and is not a directory."); + } + } + } catch (const fs::filesystem_error&) + { + /* Parent directory does not exist or is not accessible */ + replyStatus = ST_ERROR; + replyMessage = tr("Cannot create data directory here."); + } + emit reply(replyStatus, replyMessage, freeBytesAvailable); +} + + +Intro::Intro(QWidget *parent) : + QDialog(parent), + ui(new Ui::Intro), + thread(0), + signalled(false) +{ + ui->setupUi(this); + ui->sizeWarningLabel->setText(ui->sizeWarningLabel->text().arg(BLOCK_CHAIN_SIZE/GB_BYTES)); + startThread(); +} + +Intro::~Intro() +{ + delete ui; + /* Ensure thread is finished before it is deleted */ + emit stopThread(); + thread->wait(); +} + +QString Intro::getDataDirectory() +{ + return ui->dataDirectory->text(); +} + +void Intro::setDataDirectory(const QString &dataDir) +{ + ui->dataDirectory->setText(dataDir); + if(dataDir == getDefaultDataDirectory()) + { + ui->dataDirDefault->setChecked(true); + ui->dataDirectory->setEnabled(false); + ui->ellipsisButton->setEnabled(false); + } else { + ui->dataDirCustom->setChecked(true); + ui->dataDirectory->setEnabled(true); + ui->ellipsisButton->setEnabled(true); + } +} + +QString Intro::getDefaultDataDirectory() +{ + return GUIUtil::boostPathToQString(GetDefaultDataDir()); +} + +void Intro::pickDataDirectory() +{ + namespace fs = boost::filesystem; + QSettings settings; + /* If data directory provided on command line, no need to look at settings + or show a picking dialog */ + if(!GetArg("-datadir", "").empty()) + return; + /* 1) Default data directory for operating system */ + QString dataDir = getDefaultDataDirectory(); + /* 2) Allow QSettings to override default dir */ + dataDir = settings.value("strDataDir", dataDir).toString(); + + if(!fs::exists(GUIUtil::qstringToBoostPath(dataDir)) || GetBoolArg("-choosedatadir", false)) + { + /* If current default data directory does not exist, let the user choose one */ + Intro intro; + intro.setDataDirectory(dataDir); + intro.setWindowIcon(QIcon(":icons/denarius")); + + for ( ; ; ) + { + if(!intro.exec()) + { + /* Cancel clicked */ + exit(0); + } + dataDir = intro.getDataDirectory(); + try { + boost::filesystem::create_directory(GUIUtil::qstringToBoostPath(dataDir)); + break; + } catch (const fs::filesystem_error&) { + QMessageBox::critical(0, tr("Denarius"), + tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir)); + /* fall through, back to choosing screen */ + } + } + + settings.setValue("strDataDir", dataDir); + } + /* Only override -datadir if different from the default, to make it possible to + * override -datadir in the bitcoin.conf file in the default data directory + * (to be consistent with bitcoind behavior) + */ + if(dataDir != getDefaultDataDirectory()) + SoftSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); // use OS locale for path setting +} + +void Intro::setStatus(int status, const QString &message, quint64 bytesAvailable) +{ + switch(status) + { + case FreespaceChecker::ST_OK: + ui->errorMessage->setText(message); + ui->errorMessage->setStyleSheet(""); + break; + case FreespaceChecker::ST_ERROR: + ui->errorMessage->setText(tr("Error") + ": " + message); + ui->errorMessage->setStyleSheet("QLabel { color: #800000 }"); + break; + } + /* Indicate number of bytes available */ + if(status == FreespaceChecker::ST_ERROR) + { + ui->freeSpace->setText(""); + } else { + QString freeString = tr("%n GB of free space available", "", bytesAvailable/GB_BYTES); + if(bytesAvailable < BLOCK_CHAIN_SIZE) + { + freeString += " " + tr("(of %n GB needed)", "", BLOCK_CHAIN_SIZE/GB_BYTES); + ui->freeSpace->setStyleSheet("QLabel { color: #800000 }"); + } else { + ui->freeSpace->setStyleSheet(""); + } + ui->freeSpace->setText(freeString + "."); + } + /* Don't allow confirm in ERROR state */ + ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(status != FreespaceChecker::ST_ERROR); +} + +void Intro::on_dataDirectory_textChanged(const QString &dataDirStr) +{ + /* Disable OK button until check result comes in */ + ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); + checkPath(dataDirStr); +} + +void Intro::on_ellipsisButton_clicked() +{ + QString dir = QDir::toNativeSeparators(QFileDialog::getExistingDirectory(0, "Choose data directory", ui->dataDirectory->text())); + if(!dir.isEmpty()) + ui->dataDirectory->setText(dir); +} + +void Intro::on_dataDirDefault_clicked() +{ + setDataDirectory(getDefaultDataDirectory()); +} + +void Intro::on_dataDirCustom_clicked() +{ + ui->dataDirectory->setEnabled(true); + ui->ellipsisButton->setEnabled(true); +} + +void Intro::startThread() +{ + thread = new QThread(this); + FreespaceChecker *executor = new FreespaceChecker(this); + executor->moveToThread(thread); + + connect(executor, SIGNAL(reply(int,QString,quint64)), this, SLOT(setStatus(int,QString,quint64))); + connect(this, SIGNAL(requestCheck()), executor, SLOT(check())); + /* make sure executor object is deleted in its own thread */ + connect(this, SIGNAL(stopThread()), executor, SLOT(deleteLater())); + connect(this, SIGNAL(stopThread()), thread, SLOT(quit())); + + thread->start(); +} + +void Intro::checkPath(const QString &dataDir) +{ + mutex.lock(); + pathToCheck = dataDir; + if(!signalled) + { + signalled = true; + emit requestCheck(); + } + mutex.unlock(); +} + +QString Intro::getPathToCheck() +{ + QString retval; + mutex.lock(); + retval = pathToCheck; + signalled = false; /* new request can be queued now */ + mutex.unlock(); + return retval; +} diff --git a/src/qt/intro.h b/src/qt/intro.h new file mode 100644 index 00000000..c9735615 --- /dev/null +++ b/src/qt/intro.h @@ -0,0 +1,73 @@ +// Copyright (c) 2011-2013 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_QT_INTRO_H +#define BITCOIN_QT_INTRO_H + +#include +#include +#include + +class FreespaceChecker; + +namespace Ui { + class Intro; +} + +/** Introduction screen (pre-GUI startup). + Allows the user to choose a data directory, + in which the wallet and block chain will be stored. + */ +class Intro : public QDialog +{ + Q_OBJECT + +public: + explicit Intro(QWidget *parent = 0); + ~Intro(); + + QString getDataDirectory(); + void setDataDirectory(const QString &dataDir); + + /** + * Determine data directory. Let the user choose if the current one doesn't exist. + * + * @note do NOT call global GetDataDir() before calling this function, this + * will cause the wrong path to be cached. + */ + static void pickDataDirectory(); + + /** + * Determine default data directory for operating system. + */ + static QString getDefaultDataDirectory(); + +signals: + void requestCheck(); + void stopThread(); + +public slots: + void setStatus(int status, const QString &message, quint64 bytesAvailable); + +private slots: + void on_dataDirectory_textChanged(const QString &arg1); + void on_ellipsisButton_clicked(); + void on_dataDirDefault_clicked(); + void on_dataDirCustom_clicked(); + +private: + Ui::Intro *ui; + QThread *thread; + QMutex mutex; + bool signalled; + QString pathToCheck; + + void startThread(); + void checkPath(const QString &dataDir); + QString getPathToCheck(); + + friend class FreespaceChecker; +}; + +#endif // BITCOIN_QT_INTRO_H From d4c0e4727b0cf455e552fb80eb93f1884a243754 Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 02:24:00 -0600 Subject: [PATCH 3/9] Fix --- src/qt/bitcoin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index e196b154..632e6232 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -175,7 +175,7 @@ int main(int argc, char *argv[]) // ... then bitcoin.conf: if (!boost::filesystem::is_directory(GetDataDir(false))) { - QMessageBox::critical(0, "NovaCoin", + QMessageBox::critical(0, "Denarius", QObject::tr("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"]))); return 1; } From 8e2d3d402100f6ae8be8b0652e2c0e027cc349f6 Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 14:02:22 -0600 Subject: [PATCH 4/9] Staking Tab --- Makefile | 2 +- Makefile.Debug | 147 +++++- Makefile.Release | 147 +++++- denarius-qt.pro | 8 + src/kernelrecord.cpp | 139 ++++++ src/kernelrecord.h | 54 +++ src/qt/bitcoin.qrc | 1 + src/qt/bitcoingui.cpp | 43 +- src/qt/bitcoingui.h | 6 + src/qt/guiconstants.h | 5 + src/qt/mintingfilterproxy.cpp | 7 + src/qt/mintingfilterproxy.h | 13 + src/qt/mintingtablemodel.cpp | 503 +++++++++++++++++++++ src/qt/mintingtablemodel.h | 64 +++ src/qt/mintingview.cpp | 253 +++++++++++ src/qt/mintingview.h | 55 +++ src/qt/res/icons/stake.png | Bin 0 -> 20052 bytes src/qt/res/themes/qdarkstyle/rc/arrows.png | Bin 0 -> 15493 bytes src/qt/res/themes/qdarkstyle/style.qrc | 1 + src/qt/res/themes/qdarkstyle/style.qss | 2 +- src/qt/walletmodel.cpp | 7 + src/qt/walletmodel.h | 3 + src/util.h | 4 + src/wallet.cpp | 6 + src/wallet.h | 1 + 25 files changed, 1452 insertions(+), 19 deletions(-) create mode 100644 src/kernelrecord.cpp create mode 100644 src/kernelrecord.h create mode 100644 src/qt/mintingfilterproxy.cpp create mode 100644 src/qt/mintingfilterproxy.h create mode 100644 src/qt/mintingtablemodel.cpp create mode 100644 src/qt/mintingtablemodel.h create mode 100644 src/qt/mintingview.cpp create mode 100644 src/qt/mintingview.h create mode 100644 src/qt/res/icons/stake.png create mode 100644 src/qt/res/themes/qdarkstyle/rc/arrows.png diff --git a/Makefile b/Makefile index 0cb1761d..1293c2a1 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 01:31:48 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 03:51:34 2017 # Project: denarius-qt.pro # Template: app # Command: c:\Qt\4.8.6\bin\qmake.exe USE_QRCODE=1 USE_UPNP=1 -o Makefile denarius-qt.pro diff --git a/Makefile.Debug b/Makefile.Debug index 91bdc54c..e3612f01 100644 --- a/Makefile.Debug +++ b/Makefile.Debug @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 01:31:41 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 03:51:27 2017 # Project: denarius-qt.pro # Template: app ############################################################################# @@ -64,6 +64,10 @@ SOURCES = src\txdb-leveldb.cpp \ src\qt\statisticspage.cpp \ src\qt\blockbrowser.cpp \ src\qt\marketbrowser.cpp \ + src\kernelrecord.cpp \ + src\qt\mintingfilterproxy.cpp \ + src\qt\mintingtablemodel.cpp \ + src\qt\mintingview.cpp \ src\alert.cpp \ src\version.cpp \ src\sync.cpp \ @@ -143,6 +147,9 @@ SOURCES = src\txdb-leveldb.cpp \ build\moc_aboutdialog.cpp \ build\moc_editaddressdialog.cpp \ build\moc_bitcoinaddressvalidator.cpp \ + build\moc_mintingfilterproxy.cpp \ + build\moc_mintingtablemodel.cpp \ + build\moc_mintingview.cpp \ build\moc_clientmodel.cpp \ build\moc_guiutil.cpp \ build\moc_optionsmodel.cpp \ @@ -197,6 +204,10 @@ OBJECTS = build/txdb-leveldb.o \ build/statisticspage.o \ build/blockbrowser.o \ build/marketbrowser.o \ + build/kernelrecord.o \ + build/mintingfilterproxy.o \ + build/mintingtablemodel.o \ + build/mintingview.o \ build/alert.o \ build/version.o \ build/sync.o \ @@ -277,6 +288,9 @@ OBJECTS = build/txdb-leveldb.o \ build/moc_aboutdialog.o \ build/moc_editaddressdialog.o \ build/moc_bitcoinaddressvalidator.o \ + build/moc_mintingfilterproxy.o \ + build/moc_mintingtablemodel.o \ + build/moc_mintingview.o \ build/moc_clientmodel.o \ build/moc_guiutil.o \ build/moc_optionsmodel.o \ @@ -348,8 +362,8 @@ dist: $(ZIP) Denarius.zip $(SOURCES) $(DIST) denarius-qt.pro ..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\static.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\lex.prf c:\Qt\4.8.6\lib\qtmaind.prl c:\Qt\4.8.6\lib\QtGuid.prl c:\Qt\4.8.6\lib\QtNetworkd.prl c:\Qt\4.8.6\lib\QtCored.prl src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts TRANSLATIONS HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean - -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o - -$(DEL_FILE) build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o + -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\kernelrecord.o build\mintingfilterproxy.o build\mintingtablemodel.o build\mintingview.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o + -$(DEL_FILE) build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_mintingfilterproxy.o build\moc_mintingtablemodel.o build\moc_mintingview.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a; cd C:/Users/Carsen/Desktop/denariusdev/src/leveldb ; $(MAKE) clean -$(DEL_FILE) build\bitcoin-qt_res.o @@ -563,9 +577,9 @@ src/qt/locale/bitcoin_zh_CN.qm: src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.qm: src/qt/locale/bitcoin_zh_TW.ts c:\Qt\4.8.6\bin\lrelease.exe src\qt\locale\bitcoin_zh_TW.ts -qm src\qt\locale\bitcoin_zh_TW.qm -compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp +compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_mintingfilterproxy.cpp build/moc_mintingtablemodel.cpp build/moc_mintingview.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp + -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_mintingfilterproxy.cpp build\moc_mintingtablemodel.cpp build\moc_mintingview.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp build/moc_bitcoingui.cpp: src/qt/bitcoingui.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoingui.h -o build\moc_bitcoingui.cpp @@ -605,6 +619,16 @@ build/moc_editaddressdialog.cpp: src/qt/editaddressdialog.h build/moc_bitcoinaddressvalidator.cpp: src/qt/bitcoinaddressvalidator.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoinaddressvalidator.h -o build\moc_bitcoinaddressvalidator.cpp +build/moc_mintingfilterproxy.cpp: src/qt/mintingfilterproxy.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingfilterproxy.h -o build\moc_mintingfilterproxy.cpp + +build/moc_mintingtablemodel.cpp: src/qt/mintingtablemodel.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingtablemodel.h -o build\moc_mintingtablemodel.cpp + +build/moc_mintingview.cpp: src/qt/mintingfilterproxy.h \ + src/qt/mintingview.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingview.h -o build\moc_mintingview.cpp + build/moc_clientmodel.cpp: src/qt/clientmodel.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\clientmodel.h -o build\moc_clientmodel.cpp @@ -896,6 +920,7 @@ debug/qrc_bitcoin.cpp: src/qt/bitcoin.qrc \ src/qt/res/icons/address-book.png \ src/qt/res/icons/mark.png \ src/qt/res/icons/send.png \ + src/qt/res/icons/denarius-128.png \ src/qt/res/icons/configure.png \ src/qt/res/icons/export.png \ src/qt/res/icons/synced.png \ @@ -941,6 +966,7 @@ debug/qrc_style.cpp: src/qt/res/themes/qdarkstyle/style.qrc \ src/qt/res/themes/qdarkstyle/rc/dbg.jpg \ src/qt/res/themes/qdarkstyle/rc/branch_open-on.png \ src/qt/res/themes/qdarkstyle/rc/close.png \ + src/qt/res/themes/qdarkstyle/rc/arrows.png \ src/qt/res/themes/qdarkstyle/rc/branch_closed-on.png \ src/qt/res/themes/qdarkstyle/rc/right_arrow_disabled.png \ src/qt/res/themes/qdarkstyle/rc/Hsepartoolbar.png \ @@ -1344,6 +1370,8 @@ build/bitcoingui.o: src/qt/bitcoingui.cpp src/qt/bitcoingui.h \ src/qt/statisticspage.h \ src/qt/blockbrowser.h \ src/qt/marketbrowser.h \ + src/qt/mintingview.h \ + src/qt/mintingfilterproxy.h \ src/qt/bitcoinunits.h \ src/qt/guiconstants.h \ src/qt/askpassphrasedialog.h \ @@ -1777,6 +1805,106 @@ build/marketbrowser.o: src/qt/marketbrowser.cpp src/qt/marketbrowser.h \ src/checkpoints.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\marketbrowser.o src\qt\marketbrowser.cpp +build/kernelrecord.o: src/kernelrecord.cpp src/kernelrecord.h \ + src/uint256.h \ + src/wallet.h \ + src/main.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/sync.h \ + src/threadsafety.h \ + src/net.h \ + src/mruset.h \ + src/netbase.h \ + src/compat.h \ + src/protocol.h \ + src/addrman.h \ + src/util.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/key.h \ + src/stealth.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/base58.h \ + src/smessage.h \ + src/lz4/lz4.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\kernelrecord.o src\kernelrecord.cpp + +build/mintingfilterproxy.o: src/qt/mintingfilterproxy.cpp src/qt/mintingfilterproxy.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingfilterproxy.o src\qt\mintingfilterproxy.cpp + +build/mintingtablemodel.o: src/qt/mintingtablemodel.cpp src/qt/mintingtablemodel.h \ + src/qt/mintingfilterproxy.h \ + src/qt/transactiontablemodel.h \ + src/qt/guiutil.h \ + src/kernelrecord.h \ + src/uint256.h \ + src/qt/guiconstants.h \ + src/qt/transactiondesc.h \ + src/qt/walletmodel.h \ + src/allocators.h \ + src/qt/optionsmodel.h \ + src/qt/addresstablemodel.h \ + src/qt/bitcoinunits.h \ + src/util.h \ + src/netbase.h \ + src/serialize.h \ + src/version.h \ + src/clientversion.h \ + src/compat.h \ + src/kernel.h \ + src/main.h \ + src/bignum.h \ + src/sync.h \ + src/threadsafety.h \ + src/net.h \ + src/mruset.h \ + src/protocol.h \ + src/addrman.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/key.h \ + src/stealth.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/wallet.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/base58.h \ + src/smessage.h \ + src/lz4/lz4.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingtablemodel.o src\qt\mintingtablemodel.cpp + +build/mintingview.o: src/qt/mintingview.cpp src/qt/mintingview.h \ + src/qt/mintingfilterproxy.h \ + src/qt/transactionrecord.h \ + src/uint256.h \ + src/qt/mintingtablemodel.h \ + src/qt/walletmodel.h \ + src/allocators.h \ + src/qt/guiconstants.h \ + src/qt/guiutil.h \ + src/qt/csvmodelwriter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingview.o src\qt\mintingview.cpp + build/alert.o: src/alert.cpp src/alert.h \ src/uint256.h \ src/util.h \ @@ -3440,6 +3568,15 @@ build/moc_editaddressdialog.o: build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.o: build/moc_bitcoinaddressvalidator.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_bitcoinaddressvalidator.o build\moc_bitcoinaddressvalidator.cpp +build/moc_mintingfilterproxy.o: build/moc_mintingfilterproxy.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingfilterproxy.o build\moc_mintingfilterproxy.cpp + +build/moc_mintingtablemodel.o: build/moc_mintingtablemodel.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingtablemodel.o build\moc_mintingtablemodel.cpp + +build/moc_mintingview.o: build/moc_mintingview.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingview.o build\moc_mintingview.cpp + build/moc_clientmodel.o: build/moc_clientmodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_clientmodel.o build\moc_clientmodel.cpp diff --git a/Makefile.Release b/Makefile.Release index c0170786..aac5c9b6 100644 --- a/Makefile.Release +++ b/Makefile.Release @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 01:31:33 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 03:51:20 2017 # Project: denarius-qt.pro # Template: app ############################################################################# @@ -64,6 +64,10 @@ SOURCES = src\txdb-leveldb.cpp \ src\qt\statisticspage.cpp \ src\qt\blockbrowser.cpp \ src\qt\marketbrowser.cpp \ + src\kernelrecord.cpp \ + src\qt\mintingfilterproxy.cpp \ + src\qt\mintingtablemodel.cpp \ + src\qt\mintingview.cpp \ src\alert.cpp \ src\version.cpp \ src\sync.cpp \ @@ -143,6 +147,9 @@ SOURCES = src\txdb-leveldb.cpp \ build\moc_aboutdialog.cpp \ build\moc_editaddressdialog.cpp \ build\moc_bitcoinaddressvalidator.cpp \ + build\moc_mintingfilterproxy.cpp \ + build\moc_mintingtablemodel.cpp \ + build\moc_mintingview.cpp \ build\moc_clientmodel.cpp \ build\moc_guiutil.cpp \ build\moc_optionsmodel.cpp \ @@ -197,6 +204,10 @@ OBJECTS = build/txdb-leveldb.o \ build/statisticspage.o \ build/blockbrowser.o \ build/marketbrowser.o \ + build/kernelrecord.o \ + build/mintingfilterproxy.o \ + build/mintingtablemodel.o \ + build/mintingview.o \ build/alert.o \ build/version.o \ build/sync.o \ @@ -277,6 +288,9 @@ OBJECTS = build/txdb-leveldb.o \ build/moc_aboutdialog.o \ build/moc_editaddressdialog.o \ build/moc_bitcoinaddressvalidator.o \ + build/moc_mintingfilterproxy.o \ + build/moc_mintingtablemodel.o \ + build/moc_mintingview.o \ build/moc_clientmodel.o \ build/moc_guiutil.o \ build/moc_optionsmodel.o \ @@ -348,8 +362,8 @@ dist: $(ZIP) Denarius.zip $(SOURCES) $(DIST) denarius-qt.pro ..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\static.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\lex.prf c:\Qt\4.8.6\lib\qtmain.prl c:\Qt\4.8.6\lib\QtGui.prl c:\Qt\4.8.6\lib\QtNetwork.prl c:\Qt\4.8.6\lib\QtCore.prl src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts TRANSLATIONS HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean - -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o - -$(DEL_FILE) build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o + -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\kernelrecord.o build\mintingfilterproxy.o build\mintingtablemodel.o build\mintingview.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o + -$(DEL_FILE) build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_mintingfilterproxy.o build\moc_mintingtablemodel.o build\moc_mintingview.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a; cd C:/Users/Carsen/Desktop/denariusdev/src/leveldb ; $(MAKE) clean -$(DEL_FILE) build\bitcoin-qt_res.o @@ -563,9 +577,9 @@ src/qt/locale/bitcoin_zh_CN.qm: src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.qm: src/qt/locale/bitcoin_zh_TW.ts c:\Qt\4.8.6\bin\lrelease.exe src\qt\locale\bitcoin_zh_TW.ts -qm src\qt\locale\bitcoin_zh_TW.qm -compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp +compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_mintingfilterproxy.cpp build/moc_mintingtablemodel.cpp build/moc_mintingview.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp + -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_mintingfilterproxy.cpp build\moc_mintingtablemodel.cpp build\moc_mintingview.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp build/moc_bitcoingui.cpp: src/qt/bitcoingui.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoingui.h -o build\moc_bitcoingui.cpp @@ -605,6 +619,16 @@ build/moc_editaddressdialog.cpp: src/qt/editaddressdialog.h build/moc_bitcoinaddressvalidator.cpp: src/qt/bitcoinaddressvalidator.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoinaddressvalidator.h -o build\moc_bitcoinaddressvalidator.cpp +build/moc_mintingfilterproxy.cpp: src/qt/mintingfilterproxy.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingfilterproxy.h -o build\moc_mintingfilterproxy.cpp + +build/moc_mintingtablemodel.cpp: src/qt/mintingtablemodel.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingtablemodel.h -o build\moc_mintingtablemodel.cpp + +build/moc_mintingview.cpp: src/qt/mintingfilterproxy.h \ + src/qt/mintingview.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingview.h -o build\moc_mintingview.cpp + build/moc_clientmodel.cpp: src/qt/clientmodel.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\clientmodel.h -o build\moc_clientmodel.cpp @@ -896,6 +920,7 @@ release/qrc_bitcoin.cpp: src/qt/bitcoin.qrc \ src/qt/res/icons/address-book.png \ src/qt/res/icons/mark.png \ src/qt/res/icons/send.png \ + src/qt/res/icons/denarius-128.png \ src/qt/res/icons/configure.png \ src/qt/res/icons/export.png \ src/qt/res/icons/synced.png \ @@ -941,6 +966,7 @@ release/qrc_style.cpp: src/qt/res/themes/qdarkstyle/style.qrc \ src/qt/res/themes/qdarkstyle/rc/dbg.jpg \ src/qt/res/themes/qdarkstyle/rc/branch_open-on.png \ src/qt/res/themes/qdarkstyle/rc/close.png \ + src/qt/res/themes/qdarkstyle/rc/arrows.png \ src/qt/res/themes/qdarkstyle/rc/branch_closed-on.png \ src/qt/res/themes/qdarkstyle/rc/right_arrow_disabled.png \ src/qt/res/themes/qdarkstyle/rc/Hsepartoolbar.png \ @@ -1344,6 +1370,8 @@ build/bitcoingui.o: src/qt/bitcoingui.cpp src/qt/bitcoingui.h \ src/qt/statisticspage.h \ src/qt/blockbrowser.h \ src/qt/marketbrowser.h \ + src/qt/mintingview.h \ + src/qt/mintingfilterproxy.h \ src/qt/bitcoinunits.h \ src/qt/guiconstants.h \ src/qt/askpassphrasedialog.h \ @@ -1777,6 +1805,106 @@ build/marketbrowser.o: src/qt/marketbrowser.cpp src/qt/marketbrowser.h \ src/checkpoints.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\marketbrowser.o src\qt\marketbrowser.cpp +build/kernelrecord.o: src/kernelrecord.cpp src/kernelrecord.h \ + src/uint256.h \ + src/wallet.h \ + src/main.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/sync.h \ + src/threadsafety.h \ + src/net.h \ + src/mruset.h \ + src/netbase.h \ + src/compat.h \ + src/protocol.h \ + src/addrman.h \ + src/util.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/key.h \ + src/stealth.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/base58.h \ + src/smessage.h \ + src/lz4/lz4.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\kernelrecord.o src\kernelrecord.cpp + +build/mintingfilterproxy.o: src/qt/mintingfilterproxy.cpp src/qt/mintingfilterproxy.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingfilterproxy.o src\qt\mintingfilterproxy.cpp + +build/mintingtablemodel.o: src/qt/mintingtablemodel.cpp src/qt/mintingtablemodel.h \ + src/qt/mintingfilterproxy.h \ + src/qt/transactiontablemodel.h \ + src/qt/guiutil.h \ + src/kernelrecord.h \ + src/uint256.h \ + src/qt/guiconstants.h \ + src/qt/transactiondesc.h \ + src/qt/walletmodel.h \ + src/allocators.h \ + src/qt/optionsmodel.h \ + src/qt/addresstablemodel.h \ + src/qt/bitcoinunits.h \ + src/util.h \ + src/netbase.h \ + src/serialize.h \ + src/version.h \ + src/clientversion.h \ + src/compat.h \ + src/kernel.h \ + src/main.h \ + src/bignum.h \ + src/sync.h \ + src/threadsafety.h \ + src/net.h \ + src/mruset.h \ + src/protocol.h \ + src/addrman.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/key.h \ + src/stealth.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/wallet.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/base58.h \ + src/smessage.h \ + src/lz4/lz4.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingtablemodel.o src\qt\mintingtablemodel.cpp + +build/mintingview.o: src/qt/mintingview.cpp src/qt/mintingview.h \ + src/qt/mintingfilterproxy.h \ + src/qt/transactionrecord.h \ + src/uint256.h \ + src/qt/mintingtablemodel.h \ + src/qt/walletmodel.h \ + src/allocators.h \ + src/qt/guiconstants.h \ + src/qt/guiutil.h \ + src/qt/csvmodelwriter.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingview.o src\qt\mintingview.cpp + build/alert.o: src/alert.cpp src/alert.h \ src/uint256.h \ src/util.h \ @@ -3440,6 +3568,15 @@ build/moc_editaddressdialog.o: build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.o: build/moc_bitcoinaddressvalidator.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_bitcoinaddressvalidator.o build\moc_bitcoinaddressvalidator.cpp +build/moc_mintingfilterproxy.o: build/moc_mintingfilterproxy.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingfilterproxy.o build\moc_mintingfilterproxy.cpp + +build/moc_mintingtablemodel.o: build/moc_mintingtablemodel.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingtablemodel.o build\moc_mintingtablemodel.cpp + +build/moc_mintingview.o: build/moc_mintingview.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingview.o build\moc_mintingview.cpp + build/moc_clientmodel.o: build/moc_clientmodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_clientmodel.o build\moc_clientmodel.cpp diff --git a/denarius-qt.pro b/denarius-qt.pro index 231b5312..0364c893 100644 --- a/denarius-qt.pro +++ b/denarius-qt.pro @@ -206,6 +206,10 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/aboutdialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ + src/kernelrecord.h \ + src/qt/mintingfilterproxy.h \ + src/qt/mintingtablemodel.h \ + src/qt/mintingview.h \ src/alert.h \ src/addrman.h \ src/base58.h \ @@ -310,6 +314,10 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/statisticspage.cpp \ src/qt/blockbrowser.cpp \ src/qt/marketbrowser.cpp \ + src/kernelrecord.cpp \ + src/qt/mintingfilterproxy.cpp \ + src/qt/mintingtablemodel.cpp \ + src/qt/mintingview.cpp \ src/alert.cpp \ src/version.cpp \ src/sync.cpp \ diff --git a/src/kernelrecord.cpp b/src/kernelrecord.cpp new file mode 100644 index 00000000..717e6b93 --- /dev/null +++ b/src/kernelrecord.cpp @@ -0,0 +1,139 @@ +#include "kernelrecord.h" + +#include "wallet.h" +#include "base58.h" + +using namespace std; + +bool KernelRecord::showTransaction(const CWalletTx &wtx) +{ + if (wtx.IsCoinBase()) + { + if (wtx.GetDepthInMainChain() < 2) + { + return false; + } + } + + if(!wtx.IsTrusted()) + { + return false; + } + + return true; +} + +/* + * Decompose CWallet transaction to model kernel records. + */ +vector KernelRecord::decomposeOutput(const CWallet *wallet, const CWalletTx &wtx) +{ + vector parts; + int64_t nTime = wtx.GetTxTime(); + uint256 hash = wtx.GetHash(); + std::map mapValue = wtx.mapValue; + int64_t nDayWeight = (min((GetAdjustedTime() - nTime), (int64_t)(nStakeMaxAge+nStakeMinAge)) - nStakeMinAge); // DayWeight * 86400 + + if (showTransaction(wtx)) + { + for (unsigned int nOut = 0; nOut < wtx.vout.size(); nOut++) + { + CTxOut txOut = wtx.vout[nOut]; + if( wallet->IsMine(txOut) ) { + CTxDestination address; + std::string addrStr; + + uint64_t coinAge = max( (txOut.nValue * nDayWeight) / (COIN * nOneDay), (int64_t)0); + + if (ExtractDestination(txOut.scriptPubKey, address)) + { + // Sent to Bitcoin Address + addrStr = CBitcoinAddress(address).ToString(); + } + else + { + // Sent to IP, or other non-address transaction like OP_EVAL + addrStr = mapValue["to"]; + } + + parts.push_back(KernelRecord(hash, nTime, addrStr, txOut.nValue, wtx.IsSpent(nOut), coinAge)); + } + } + } + + return parts; +} + +std::string KernelRecord::getTxID() +{ + return hash.ToString() + strprintf("-%03d", idx); +} + +int64_t KernelRecord::getAge() const +{ + return (GetAdjustedTime() - nTime) / nOneDay; +} + +uint64_t KernelRecord::getCoinDay() const +{ + int64_t nWeight = GetAdjustedTime() - nTime - nStakeMinAge; + if( nWeight < 0) + return 0; + nWeight = min(nWeight, (int64_t)nStakeMaxAge); + uint64_t coinAge = (nValue * nWeight ) / (COIN * nOneDay); + return coinAge; +} + +int64_t KernelRecord::getPoSReward(int nBits, int minutes) +{ + int64_t PoSReward; + int64_t nWeight = GetAdjustedTime() - nTime + minutes * 60; + if( nWeight < nStakeMinAge) + return 0; + uint64_t coinAge = (nValue * nWeight ) / (COIN * nOneDay); + PoSReward = GetProofOfStakeReward(coinAge, nBits); //Needs Fixing + return PoSReward; +} + +double KernelRecord::getProbToMintStake(double difficulty, int timeOffset) const +{ + //double maxTarget = pow(static_cast(2), 224); + //double target = maxTarget / difficulty; + //int dayWeight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64_t)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge) / 86400; + //uint64_t coinAge = max(nValue * dayWeight / COIN, (int64_t)0); + //return target * coinAge / pow(static_cast(2), 256); + int64_t Weight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64_t)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge); + uint64_t coinAge = max(nValue * Weight / (COIN * nOneDay), (int64_t)0); + return coinAge / (pow(static_cast(2),32) * difficulty); +} + +double KernelRecord::getProbToMintWithinNMinutes(double difficulty, int minutes) +{ + if(difficulty != prevDifficulty || minutes != prevMinutes) + { + double prob = 1; + double p; + int d = minutes / (60 * 24); // Number of full days + int m = minutes % (60 * 24); // Number of minutes in the last day + int i, timeOffset; + + // Probabilities for the first d days + for(i = 0; i < d; i++) + { + timeOffset = i * nOneDay; + p = pow(1 - getProbToMintStake(difficulty, timeOffset), nOneDay); + prob *= p; + } + + // Probability for the m minutes of the last day + timeOffset = d * nOneDay; + p = pow(1 - getProbToMintStake(difficulty, timeOffset), 60 * m); + prob *= p; + + prob = 1 - prob; + prevProbability = prob; + prevDifficulty = difficulty; + prevMinutes = minutes; + } + return prevProbability; +} diff --git a/src/kernelrecord.h b/src/kernelrecord.h new file mode 100644 index 00000000..8f328164 --- /dev/null +++ b/src/kernelrecord.h @@ -0,0 +1,54 @@ +#ifndef KERNELRECORD_H +#define KERNELRECORD_H + +#include "uint256.h" + +class CWallet; +class CWalletTx; + +class KernelRecord +{ +public: + KernelRecord(): + hash(), nTime(0), address(""), nValue(0), idx(0), spent(false), coinAge(0), prevMinutes(0), prevDifficulty(0), prevProbability(0) + { + } + + KernelRecord(uint256 hash, int64_t nTime): + hash(hash), nTime(nTime), address(""), nValue(0), idx(0), spent(false), coinAge(0), prevMinutes(0), prevDifficulty(0), prevProbability(0) + { + } + + KernelRecord(uint256 hash, int64_t nTime, + const std::string &address, + int64_t nValue, bool spent, int64_t coinAge): + hash(hash), nTime(nTime), address(address), nValue(nValue), + idx(0), spent(spent), coinAge(coinAge), prevMinutes(0), prevDifficulty(0), prevProbability(0) + { + } + + static bool showTransaction(const CWalletTx &wtx); + static std::vector decomposeOutput(const CWallet *wallet, const CWalletTx &wtx); + + + uint256 hash; + int64_t nTime; + std::string address; + int64_t nValue; + int idx; + bool spent; + int64_t coinAge; + + std::string getTxID(); + int64_t getAge() const; + uint64_t getCoinDay() const; + double getProbToMintStake(double difficulty, int timeOffset = 0) const; + double getProbToMintWithinNMinutes(double difficulty, int minutes); + int64_t getPoSReward(int nBits, int timeOffset); +protected: + int prevMinutes; + double prevDifficulty; + double prevProbability; +}; + +#endif // KERNELRECORD_H diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 03d40f32..96876e56 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -34,6 +34,7 @@ res/icons/add.png res/icons/edit.png res/icons/history.png + res/icons/stake.png res/icons/overview.png res/icons/export.png res/icons/synced.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index ba94c704..c36dffbc 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -24,6 +24,7 @@ #include "statisticspage.h" #include "blockbrowser.h" #include "marketbrowser.h" +#include "mintingview.h" #include "bitcoinunits.h" #include "guiconstants.h" #include "askpassphrasedialog.h" @@ -169,12 +170,18 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): blockBrowser = new BlockBrowser(this); marketBrowser = new MarketBrowser(this); //chatWindow = new ChatWindow(this); - + transactionsPage = new QWidget(this); QVBoxLayout *vbox = new QVBoxLayout(); transactionView = new TransactionView(this); vbox->addWidget(transactionView); transactionsPage->setLayout(vbox); + + mintingPage = new QWidget(this); + QVBoxLayout *vboxMinting = new QVBoxLayout(); + mintingView = new MintingView(this); + vboxMinting->addWidget(mintingView); + mintingPage->setLayout(vboxMinting); addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab); @@ -188,6 +195,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): centralWidget = new QStackedWidget(this); centralWidget->addWidget(overviewPage); centralWidget->addWidget(transactionsPage); + centralWidget->addWidget(mintingPage); centralWidget->addWidget(addressBookPage); centralWidget->addWidget(receiveCoinsPage); centralWidget->addWidget(sendCoinsPage); @@ -341,8 +349,14 @@ void BitcoinGUI::createActions() messageAction = new QAction(QIcon(":/icons/msg"), tr("&Messages"), this); messageAction->setToolTip(tr("View and Send Encrypted messages")); messageAction->setCheckable(true); - messageAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_6)); + messageAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_8)); tabGroup->addAction(messageAction); + + mintingAction = new QAction(QIcon(":/icons/stake"), tr("&Staking"), this); + mintingAction->setToolTip(tr("Show your staking capacity")); + mintingAction->setCheckable(true); + mintingAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_9)); + tabGroup->addAction(mintingAction); connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage())); @@ -354,6 +368,8 @@ void BitcoinGUI::createActions() connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage())); connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage())); + connect(mintingAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); + connect(mintingAction, SIGNAL(triggered()), this, SLOT(gotoMintingPage())); connect(historyAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage())); connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); @@ -420,7 +436,6 @@ void BitcoinGUI::createMenuBar() // Configure the menus QMenu *file = appMenuBar->addMenu(tr("&File")); - file->addAction(backupWalletAction); file->addAction(exportAction); file->addAction(signMessageAction); file->addAction(verifyMessageAction); @@ -429,6 +444,7 @@ void BitcoinGUI::createMenuBar() QMenu *settings = appMenuBar->addMenu(tr("&Settings")); settings->addAction(encryptWalletAction); + settings->addAction(backupWalletAction); settings->addAction(changePassphraseAction); settings->addAction(unlockWalletAction); settings->addAction(lockWalletAction); @@ -455,6 +471,7 @@ void BitcoinGUI::createToolBars() mainToolbar->addAction(sendCoinsAction); mainToolbar->addAction(receiveCoinsAction); mainToolbar->addAction(historyAction); + mainToolbar->addAction(mintingAction); mainToolbar->addAction(addressBookAction); mainToolbar->addAction(messageAction); mainToolbar->addAction(statisticsAction); @@ -523,16 +540,18 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) // Put transaction list in tabs transactionView->setModel(walletModel); + + mintingView->setModel(walletModel); overviewPage->setModel(walletModel); addressBookPage->setModel(walletModel->getAddressTableModel()); receiveCoinsPage->setModel(walletModel->getAddressTableModel()); sendCoinsPage->setModel(walletModel); signVerifyMessageDialog->setModel(walletModel); - statisticsPage->setModel(clientModel); - blockBrowser->setModel(clientModel); - marketBrowser->setModel(clientModel); - //chatWindow->setModel(clientModel); + statisticsPage->setModel(clientModel); + blockBrowser->setModel(clientModel); + marketBrowser->setModel(clientModel); + //chatWindow->setModel(clientModel); setEncryptionStatus(walletModel->getEncryptionStatus()); connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SLOT(setEncryptionStatus(int))); @@ -889,6 +908,16 @@ void BitcoinGUI::gotoMarketBrowser() } +void BitcoinGUI::gotoMintingPage() +{ + mintingAction->setChecked(true); + centralWidget->setCurrentWidget(mintingPage); + + exportAction->setEnabled(true); + disconnect(exportAction, SIGNAL(triggered()), 0, 0); + connect(exportAction, SIGNAL(triggered()), mintingView, SLOT(exportClicked())); +} + void BitcoinGUI::gotoBlockBrowser() { blockAction->setChecked(true); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 4717d640..aef8bdbe 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -12,6 +12,7 @@ class ClientModel; class WalletModel; class MessageModel; class TransactionView; +class MintingView; class OverviewPage; class AddressBookPage; class MessagePage; @@ -93,6 +94,7 @@ class BitcoinGUI : public QMainWindow BlockBrowser *blockBrowser; MarketBrowser *marketBrowser; QWidget *transactionsPage; + QWidget *mintingPage; AddressBookPage *addressBookPage; AddressBookPage *receiveCoinsPage; MessagePage *messagePage; @@ -115,6 +117,7 @@ class BitcoinGUI : public QMainWindow QAction *blockAction; QAction *marketAction; QAction *historyAction; + QAction *mintingAction; QAction *quitAction; QAction *sendCoinsAction; QAction *addressBookAction; @@ -137,6 +140,7 @@ class BitcoinGUI : public QMainWindow QSystemTrayIcon *trayIcon; Notificator *notificator; TransactionView *transactionView; + MintingView *mintingView; RPCConsole *rpcConsole; QMovie *syncIconMovie; @@ -188,6 +192,8 @@ private slots: void gotoBlockBrowser(); /** Switch to market*/ void gotoMarketBrowser(); + /** Switch to minting page */ + void gotoMintingPage(); /** Switch to history (transactions) page */ void gotoHistoryPage(); /** Switch to address book page */ diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 405ba396..1936d937 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -31,4 +31,9 @@ static const int MAX_URI_LENGTH = 255; /* QRCodeDialog -- size of exported QR Code image */ #define EXPORT_IMAGE_SIZE 256 +/* Colors for minting tab for each coin age group */ +#define COLOR_MINT_YOUNG QColor(0, 67, 99) +#define COLOR_MINT_MATURE QColor(29, 99, 0) +#define COLOR_MINT_OLD QColor(99, 0, 23) + #endif // GUICONSTANTS_H diff --git a/src/qt/mintingfilterproxy.cpp b/src/qt/mintingfilterproxy.cpp new file mode 100644 index 00000000..664cbe70 --- /dev/null +++ b/src/qt/mintingfilterproxy.cpp @@ -0,0 +1,7 @@ +#include "mintingfilterproxy.h" + +MintingFilterProxy::MintingFilterProxy(QObject * parent) : + QSortFilterProxyModel(parent) +{ + +} diff --git a/src/qt/mintingfilterproxy.h b/src/qt/mintingfilterproxy.h new file mode 100644 index 00000000..26c4abf5 --- /dev/null +++ b/src/qt/mintingfilterproxy.h @@ -0,0 +1,13 @@ +#ifndef MINTINGFILTERPROXY_H +#define MINTINGFILTERPROXY_H + +#include + +class MintingFilterProxy : public QSortFilterProxyModel +{ + Q_OBJECT +public: + explicit MintingFilterProxy(QObject *parent = 0); +}; + +#endif // MINTINGFILTERPROXY_H diff --git a/src/qt/mintingtablemodel.cpp b/src/qt/mintingtablemodel.cpp new file mode 100644 index 00000000..d802ff45 --- /dev/null +++ b/src/qt/mintingtablemodel.cpp @@ -0,0 +1,503 @@ +#include "mintingtablemodel.h" +#include "mintingfilterproxy.h" +#include "transactiontablemodel.h" +#include "guiutil.h" +#include "kernelrecord.h" +#include "guiconstants.h" +#include "transactiondesc.h" +#include "walletmodel.h" +#include "optionsmodel.h" +#include "addresstablemodel.h" +#include "bitcoinunits.h" +#include "util.h" +#include "kernel.h" + +#include "wallet.h" + +#include +#include +#include +#include +#include +#include +#include + +extern double GetDifficulty(const CBlockIndex* blockindex); + +static int column_alignments[] = { + Qt::AlignLeft|Qt::AlignVCenter, + Qt::AlignLeft|Qt::AlignVCenter, + Qt::AlignLeft|Qt::AlignVCenter, + Qt::AlignLeft|Qt::AlignVCenter, + Qt::AlignLeft|Qt::AlignVCenter, + Qt::AlignLeft|Qt::AlignVCenter, + Qt::AlignLeft|Qt::AlignVCenter +}; + +struct TxLessThan +{ + bool operator()(const KernelRecord &a, const KernelRecord &b) const + { + return a.hash < b.hash; + } + bool operator()(const KernelRecord &a, const uint256 &b) const + { + return a.hash < b; + } + bool operator()(const uint256 &a, const KernelRecord &b) const + { + return a < b.hash; + } +}; + +class MintingTablePriv +{ +public: + MintingTablePriv(CWallet *wallet, MintingTableModel *parent): + wallet(wallet), + parent(parent) + { + } + CWallet *wallet; + MintingTableModel *parent; + + QList cachedWallet; + + void refreshWallet() + { +#ifdef WALLET_UPDATE_DEBUG + qDebug() << "refreshWallet"; +#endif + cachedWallet.clear(); + { + LOCK(wallet->cs_wallet); + for(std::map::iterator it = wallet->mapWallet.begin(); it != wallet->mapWallet.end(); ++it) + { + std::vector txList = KernelRecord::decomposeOutput(wallet, it->second); + BOOST_FOREACH(KernelRecord& kr, txList) { + if(!kr.spent) { + cachedWallet.append(kr); + } + } + + } + } + } + + /* Update our model of the wallet incrementally, to synchronize our model of the wallet + with that of the core. + + Call with list of hashes of transactions that were added, removed or changed. + */ + void updateWallet(const QList &updated) + { + // Walk through updated transactions, update model as needed. +#ifdef WALLET_UPDATE_DEBUG + qDebug() << "updateWallet"; +#endif + // Sort update list, and iterate through it in reverse, so that model updates + // can be emitted from end to beginning (so that earlier updates will not influence + // the indices of latter ones). + QList updated_sorted = updated; + qSort(updated_sorted); + + { + LOCK(wallet->cs_wallet); + for(int update_idx = updated_sorted.size()-1; update_idx >= 0; --update_idx) + { + const uint256 &hash = updated_sorted.at(update_idx); + // Find transaction in wallet + std::map::iterator mi = wallet->mapWallet.find(hash); + bool inWallet = mi != wallet->mapWallet.end(); + // Find bounds of this transaction in model + QList::iterator lower = qLowerBound( + cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan()); + QList::iterator upper = qUpperBound( + cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan()); + int lowerIndex = (lower - cachedWallet.begin()); + int upperIndex = (upper - cachedWallet.begin()); + + // Determine if transaction is in model already + bool inModel = false; + if(lower != upper) + { + inModel = true; + } + +#ifdef WALLET_UPDATE_DEBUG + qDebug() << " " << QString::fromStdString(hash.ToString()) << inWallet << " " << inModel + << lowerIndex << "-" << upperIndex; +#endif + + if(inWallet && !inModel) + { + // Added -- insert at the right position + std::vector toInsert = + KernelRecord::decomposeOutput(wallet, mi->second); + if(!toInsert.empty()) /* only if something to insert */ + { + int insert_idx = lowerIndex; + BOOST_FOREACH(const KernelRecord &rec, toInsert) + { + if(!rec.spent) + { + parent->beginInsertRows(QModelIndex(), insert_idx, insert_idx); + cachedWallet.insert(insert_idx, rec); + parent->endInsertRows(); + insert_idx += 1; + } + } + } + } + else if(!inWallet && inModel) + { + // Removed -- remove entire transaction from table + parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1); + cachedWallet.erase(lower, upper); + parent->endRemoveRows(); + } + else if(inWallet && inModel) + { + // Updated -- remove spent coins from table + std::vector toCheck = KernelRecord::decomposeOutput(wallet, mi->second); + BOOST_FOREACH(const KernelRecord &rec, toCheck) + { + if(rec.spent) + { + for(int i = 0; i < cachedWallet.size(); i++) + { + KernelRecord cachedRec = cachedWallet.at(i); + if((rec.hash == cachedRec.hash) + && (rec.nTime == cachedRec.nTime) + && (rec.nValue == cachedRec.nValue)) + { + parent->beginRemoveRows(QModelIndex(), i, i); + cachedWallet.removeAt(i); + parent->endRemoveRows(); + break; + } + } + } + } + } + } + } + } + + int size() + { + return cachedWallet.size(); + } + + KernelRecord *index(int idx) + { + if(idx >= 0 && idx < cachedWallet.size()) + { + KernelRecord *rec = &cachedWallet[idx]; + return rec; + } + else + { + return 0; + } + } + + QString describe(KernelRecord *rec) + { + { + LOCK(wallet->cs_wallet); + std::map::iterator mi = wallet->mapWallet.find(rec->hash); + if(mi != wallet->mapWallet.end()) + { + return TransactionDesc::toHTML(wallet, mi->second); + } + } + return QString(""); + } + +}; + + +MintingTableModel::MintingTableModel(CWallet *wallet, WalletModel *parent): + QAbstractTableModel(parent), + wallet(wallet), + walletModel(parent), + mintingInterval(10), + priv(new MintingTablePriv(wallet, this)) +{ + columns << tr("Transaction") << tr("Address") << tr("Balance") << tr("Age") << tr("CoinDay") << tr("MintProbability") << tr("MintReward"); + priv->refreshWallet(); + + QTimer *timer = new QTimer(this); + connect(timer, SIGNAL(timeout()), this, SLOT(update())); + timer->start(MODEL_UPDATE_DELAY); +} + +MintingTableModel::~MintingTableModel() +{ + delete priv; +} + +void MintingTableModel::update() +{ + QList updated; + + // Check if there are changes to wallet map + { + TRY_LOCK(wallet->cs_wallet, lockWallet); + if (lockWallet && !wallet->vMintingWalletUpdated.empty()) + { + BOOST_FOREACH(uint256 hash, wallet->vMintingWalletUpdated) + { + updated.append(hash); + + // Also check the inputs to remove spent outputs from the table if necessary + CWalletTx wtx; + if(wallet->GetTransaction(hash, wtx)) + { + BOOST_FOREACH(const CTxIn& txin, wtx.vin) + { + updated.append(txin.prevout.hash); + } + } + } + wallet->vMintingWalletUpdated.clear(); + } + } + + if(!updated.empty()) + { + priv->updateWallet(updated); + mintingProxyModel->invalidate(); // Force deletion of empty rows + } +} + +void MintingTableModel::setMintingProxyModel(MintingFilterProxy *mintingProxy) +{ + mintingProxyModel = mintingProxy; +} + +int MintingTableModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return priv->size(); +} + +int MintingTableModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return columns.length(); +} + +QVariant MintingTableModel::data(const QModelIndex &index, int role) const +{ + if(!index.isValid()) + return QVariant(); + KernelRecord *rec = static_cast(index.internalPointer()); + + switch(role) + { + case Qt::DisplayRole: + switch(index.column()) + { + case Address: + return formatTxAddress(rec, false); + case TxHash: + return formatTxHash(rec); + case Age: + return formatTxAge(rec); + case Balance: + return formatTxBalance(rec); + case CoinDay: + return formatTxCoinDay(rec); + case MintProbability: + return formatDayToMint(rec); + case MintReward: + return formatTxPoSReward(rec); + } + break; + case Qt::TextAlignmentRole: + return column_alignments[index.column()]; + break; + case Qt::ToolTipRole: + switch(index.column()) + { + case MintProbability: + int interval = this->mintingInterval; + QString unit = tr("minutes"); + + int hours = interval / 60; + int days = hours / 24; + + if(hours > 1) { + interval = hours; + unit = tr("hours"); + } + if(days > 1) { + interval = days; + unit = tr("days"); + } + + QString str = QString(tr("You have %1 chance to find a POS block if you stake %2 %3 at current difficulty.")); + return str.arg(index.data().toString().toUtf8().constData()).arg(interval).arg(unit); + } + break; + case Qt::EditRole: + switch(index.column()) + { + case Address: + return formatTxAddress(rec, false); + case TxHash: + return formatTxHash(rec); + case Age: + return static_cast(rec->getAge()); + case CoinDay: + return static_cast(rec->getCoinDay()); + case Balance: + return static_cast(rec->nValue); + case MintProbability: + return getDayToMint(rec); + case MintReward: + return formatTxPoSReward(rec); + } + break; + case Qt::BackgroundColorRole: + int minAge = nStakeMinAge / 60 / 60 / 24; + int maxAge = nStakeMaxAge / 60 / 60 / 24; + if(rec->getAge() < minAge) + { + return COLOR_MINT_YOUNG; + } + else if (rec->getAge() >= minAge && rec->getAge() < (maxAge + minAge)) + { + return COLOR_MINT_MATURE; + } + else + { + return COLOR_MINT_OLD; + } + break; + + } + return QVariant(); +} + +void MintingTableModel::setMintingInterval(int interval) +{ + mintingInterval = interval; +} + +QString MintingTableModel::lookupAddress(const std::string &address, bool tooltip) const +{ + QString label = walletModel->getAddressTableModel()->labelForAddress(QString::fromStdString(address)); + QString description; + if(!label.isEmpty()) + { + description += label + QString(" "); + } + if(label.isEmpty() || walletModel->getOptionsModel()->getDisplayAddresses() || tooltip) + { + description += QString("(") + QString::fromStdString(address) + QString(")"); + } + return description; +} + +QString MintingTableModel::formatTxPoSReward(KernelRecord *wtx) const +{ + QString posReward; + int nBits = GetLastBlockIndex(pindexBest, true)->nBits; + posReward += QString(QObject::tr("from %1 to %2")).arg(BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), wtx->getPoSReward(nBits, 0)), + BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), wtx->getPoSReward(nBits, mintingInterval))); + return posReward; +} + +double MintingTableModel::getDayToMint(KernelRecord *wtx) const +{ + const CBlockIndex *p = GetLastBlockIndex(pindexBest, true); + double difficulty = GetDifficulty(p); + + double prob = wtx->getProbToMintWithinNMinutes(difficulty, mintingInterval); + prob = prob * 100; + return prob; +} + +QString MintingTableModel::formatDayToMint(KernelRecord *wtx) const +{ + double prob = getDayToMint(wtx); + return QString::number(prob, 'f', 3) + "%"; +} + +QString MintingTableModel::formatTxAddress(const KernelRecord *wtx, bool tooltip) const +{ + return QString::fromStdString(wtx->address); +} + +QString MintingTableModel::formatTxHash(const KernelRecord *wtx) const +{ + return QString::fromStdString(wtx->hash.ToString()); +} + +QString MintingTableModel::formatTxCoinDay(const KernelRecord *wtx) const +{ + return QString::number(wtx->getCoinDay()); +} + +QString MintingTableModel::formatTxAge(const KernelRecord *wtx) const +{ + int64_t nAge = wtx->getAge(); + return QString::number(nAge); +} + +QString MintingTableModel::formatTxBalance(const KernelRecord *wtx) const +{ + return BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), wtx->nValue); +} + +QVariant MintingTableModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if(orientation == Qt::Horizontal) + { + if(role == Qt::DisplayRole) + { + return columns[section]; + } + else if (role == Qt::TextAlignmentRole) + { + return column_alignments[section]; + } else if (role == Qt::ToolTipRole) + { + switch(section) + { + case Address: + return tr("Destination address of the output."); + case TxHash: + return tr("Original transaction ID."); + case Age: + return tr("Age of the transaction in days."); + case Balance: + return tr("Balance of the output."); + case CoinDay: + return tr("Coin age in the output."); + case MintProbability: + return tr("Chance to stake a block within given time interval."); + case MintReward: + return tr("The size of the potential rewards if the block is found at the beginning and the end given time interval."); + } + } + } + return QVariant(); +} + +QModelIndex MintingTableModel::index(int row, int column, const QModelIndex &parent) const +{ + Q_UNUSED(parent); + KernelRecord *data = priv->index(row); + if(data) + { + return createIndex(row, column, priv->index(row)); + } + else + { + return QModelIndex(); + } +} diff --git a/src/qt/mintingtablemodel.h b/src/qt/mintingtablemodel.h new file mode 100644 index 00000000..86b64650 --- /dev/null +++ b/src/qt/mintingtablemodel.h @@ -0,0 +1,64 @@ +#ifndef MINTINGTABLEMODEL_H +#define MINTINGTABLEMODEL_H + + +#include +#include + +class CWallet; +class MintingTablePriv; +class MintingFilterProxy; +class KernelRecord; +class WalletModel; + +class MintingTableModel : public QAbstractTableModel +{ + Q_OBJECT +public: + explicit MintingTableModel(CWallet * wallet, WalletModel *parent = 0); + ~MintingTableModel(); + + enum ColumnIndex { + TxHash = 0, + Address = 1, + Balance = 2, + Age = 3, + CoinDay = 4, + MintProbability = 5, + MintReward = 6 + }; + + void setMintingProxyModel(MintingFilterProxy *mintingProxy); + int rowCount(const QModelIndex &parent) const; + int columnCount(const QModelIndex &parent) const; + QVariant data(const QModelIndex &index, int role) const; + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const; + + void setMintingInterval(int interval); + +private: + CWallet* wallet; + WalletModel *walletModel; + QStringList columns; + int mintingInterval; + MintingTablePriv *priv; + MintingFilterProxy *mintingProxyModel; + + QString lookupAddress(const std::string &address, bool tooltip) const; + + double getDayToMint(KernelRecord *wtx) const; + QString formatDayToMint(KernelRecord *wtx) const; + QString formatTxAddress(const KernelRecord *wtx, bool tooltip) const; + QString formatTxHash(const KernelRecord *wtx) const; + QString formatTxAge(const KernelRecord *wtx) const; + QString formatTxBalance(const KernelRecord *wtx) const; + QString formatTxCoinDay(const KernelRecord *wtx) const; + QString formatTxPoSReward(KernelRecord *wtx) const; +private slots: + void update(); + + friend class MintingTablePriv; +}; + +#endif // MINTINGTABLEMODEL_H diff --git a/src/qt/mintingview.cpp b/src/qt/mintingview.cpp new file mode 100644 index 00000000..a5b97ac9 --- /dev/null +++ b/src/qt/mintingview.cpp @@ -0,0 +1,253 @@ +#include "mintingview.h" +#include "mintingfilterproxy.h" +#include "transactionrecord.h" +#include "mintingtablemodel.h" +#include "walletmodel.h" +#include "guiconstants.h" +#include "guiutil.h" +#include "csvmodelwriter.h" + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +MintingView::MintingView(QWidget *parent) : + QWidget(parent), model(0), mintingView(0) +{ + QHBoxLayout *hlayout = new QHBoxLayout(); + hlayout->setContentsMargins(0,0,0,0); + + QString legendBoxStyle = "background-color: rgb(%1,%2,%3); border: 1px solid black;"; + + QLabel *youngColor = new QLabel(" "); + youngColor->setMaximumHeight(15); + youngColor->setMaximumWidth(10); + youngColor->setStyleSheet(legendBoxStyle.arg(COLOR_MINT_YOUNG.red()).arg(COLOR_MINT_YOUNG.green()).arg(COLOR_MINT_YOUNG.blue())); + QLabel *youngLegend = new QLabel(tr("transaction is too young")); + youngLegend->setContentsMargins(5,0,15,0); + + QLabel *matureColor = new QLabel(" "); + matureColor->setMaximumHeight(15); + matureColor->setMaximumWidth(10); + matureColor->setStyleSheet(legendBoxStyle.arg(COLOR_MINT_MATURE.red()).arg(COLOR_MINT_MATURE.green()).arg(COLOR_MINT_MATURE.blue())); + QLabel *matureLegend = new QLabel(tr("transaction is mature")); + matureLegend->setContentsMargins(5,0,15,0); + + QLabel *oldColor = new QLabel(" "); + oldColor->setMaximumHeight(15); + oldColor->setMaximumWidth(10); + oldColor->setStyleSheet(legendBoxStyle.arg(COLOR_MINT_OLD.red()).arg(COLOR_MINT_OLD.green()).arg(COLOR_MINT_OLD.blue())); + QLabel *oldLegend = new QLabel(tr("transaction has reached maximum probability")); + oldLegend->setContentsMargins(5,0,15,0); + + QHBoxLayout *legendLayout = new QHBoxLayout(); + legendLayout->setContentsMargins(10,10,0,0); + legendLayout->addWidget(youngColor); + legendLayout->addWidget(youngLegend); + legendLayout->addWidget(matureColor); + legendLayout->addWidget(matureLegend); + legendLayout->addWidget(oldColor); + legendLayout->addWidget(oldLegend); + legendLayout->insertStretch(-1); + + QLabel *mintingLabel = new QLabel(tr("Check the arrow icon at the very bottom of the wallet for more staking information.")); + + QLabel *mintingLabel2 = new QLabel(tr(" Display staking probability within : ")); + mintingCombo = new QComboBox(); + mintingCombo->addItem(tr("10 min"), Minting10min); + mintingCombo->addItem(tr("24 hours"), Minting1day); + mintingCombo->addItem(tr("7 days"), Minting7days); + mintingCombo->addItem(tr("30 days"), Minting30days); + mintingCombo->addItem(tr("60 days"), Minting60days); + mintingCombo->addItem(tr("90 days"), Minting90days); + mintingCombo->setFixedWidth(120); + + hlayout->insertStretch(0); + hlayout->addWidget(mintingLabel); + hlayout->addWidget(mintingLabel2); + hlayout->addWidget(mintingCombo); + + QVBoxLayout *vlayout = new QVBoxLayout(this); + vlayout->setContentsMargins(0,0,0,0); + vlayout->setSpacing(0); + + QTableView *view = new QTableView(this); + vlayout->addLayout(hlayout); + vlayout->addWidget(view); + vlayout->addLayout(legendLayout); + + vlayout->setSpacing(0); + int width = view->verticalScrollBar()->sizeHint().width(); + // Cover scroll bar width with spacing +#ifdef Q_WS_MAC + hlayout->addSpacing(width+2); +#else + hlayout->addSpacing(width); +#endif + // Always show scroll bar + view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + view->setTabKeyNavigation(false); + view->setContextMenuPolicy(Qt::CustomContextMenu); + + mintingView = view; + + connect(mintingCombo, SIGNAL(activated(int)), this, SLOT(chooseMintingInterval(int))); + + // Actions + QAction *copyTxIDAction = new QAction(tr("Copy transaction ID of input"), this); + QAction *copyAddressAction = new QAction(tr("Copy address of input"), this); + QAction *showHideAddressAction = new QAction(tr("Show/hide 'Address' column"), this); + QAction *showHideTxIDAction = new QAction(tr("Show/hide 'Transaction' column"), this); + + contextMenu = new QMenu(); + contextMenu->addAction(copyAddressAction); + contextMenu->addAction(copyTxIDAction); + contextMenu->addAction(showHideAddressAction); + contextMenu->addAction(showHideTxIDAction); + + connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(copyAddress())); + connect(copyTxIDAction, SIGNAL(triggered()), this, SLOT(copyTxID())); + connect(showHideAddressAction, SIGNAL(triggered()), this, SLOT(showHideAddress())); + connect(showHideTxIDAction, SIGNAL(triggered()), this, SLOT(showHideTxID())); + + connect(view, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint))); +} + + +void MintingView::setModel(WalletModel *model) +{ + this->model = model; + if(model) + { + mintingProxyModel = new MintingFilterProxy(this); + mintingProxyModel->setSourceModel(model->getMintingTableModel()); + mintingProxyModel->setDynamicSortFilter(true); + mintingProxyModel->setSortRole(Qt::EditRole); + model->getMintingTableModel()->setMintingProxyModel(mintingProxyModel); + + mintingView->setModel(mintingProxyModel); + mintingView->setAlternatingRowColors(true); + mintingView->setSelectionBehavior(QAbstractItemView::SelectRows); + mintingView->setSelectionMode(QAbstractItemView::ExtendedSelection); + mintingView->setSortingEnabled(true); + mintingView->sortByColumn(MintingTableModel::CoinDay, Qt::DescendingOrder); + mintingView->verticalHeader()->hide(); + + mintingView->horizontalHeader()->resizeSection( + MintingTableModel::Age, 60); + mintingView->horizontalHeader()->resizeSection( + MintingTableModel::Balance, 80); + mintingView->horizontalHeader()->resizeSection( + MintingTableModel::CoinDay,60); + mintingView->horizontalHeader()->resizeSection( + MintingTableModel::MintProbability, 105); +#if QT_VERSION < 0x050000 + mintingView->horizontalHeader()->setResizeMode( + MintingTableModel::MintReward, QHeaderView::Stretch); +#else + mintingView->horizontalHeader()->setSectionResizeMode( + MintingTableModel::MintReward, QHeaderView::Stretch); +#endif + mintingView->horizontalHeader()->resizeSection( + MintingTableModel::Address, 75); + mintingView->horizontalHeader()->resizeSection( + MintingTableModel::TxHash, 245); + } +} + + +void MintingView::chooseMintingInterval(int idx) +{ + int interval = 10; + switch(mintingCombo->itemData(idx).toInt()) + { + case Minting10min: + interval = 10; + break; + case Minting1day: + interval = 60*24; + break; + case Minting7days: + interval = 60*24*7; + break; + case Minting30days: + interval = 60*24*30; + break; + case Minting60days: + interval = 60*24*60; + break; + case Minting90days: + interval = 60*24*90; + break; + } + model->getMintingTableModel()->setMintingInterval(interval); + mintingProxyModel->invalidate(); +} + +void MintingView::exportClicked() +{ + // CSV is currently the only supported format + QString filename = GUIUtil::getSaveFileName( + this, + tr("Export Minting Data"), QString(), + tr("Comma separated file (*.csv)")); + + if (filename.isNull()) return; + + CSVModelWriter writer(filename); + + // name, column, role + writer.setModel(mintingProxyModel); + writer.addColumn(tr("Address"),MintingTableModel::Address,0); + writer.addColumn(tr("Transaction"),MintingTableModel::TxHash,0); + writer.addColumn(tr("Age"), MintingTableModel::Age,0); + writer.addColumn(tr("CoinDay"), MintingTableModel::CoinDay,0); + writer.addColumn(tr("Balance"), MintingTableModel::Balance,0); + writer.addColumn(tr("MintingProbability"), MintingTableModel::MintProbability,0); + writer.addColumn(tr("MintingReward"), MintingTableModel::MintReward,0); + + if(!writer.write()) + { + QMessageBox::critical(this, tr("Error exporting"), tr("Could not write to file %1.").arg(filename), + QMessageBox::Abort, QMessageBox::Abort); + } +} + +void MintingView::copyTxID() +{ + GUIUtil::copyEntryData(mintingView, MintingTableModel::TxHash, 0); +} + +void MintingView::copyAddress() +{ + GUIUtil::copyEntryData(mintingView, MintingTableModel::Address, 0 ); +} + +void MintingView::showHideAddress() +{ + mintingView->horizontalHeader()->setSectionHidden(MintingTableModel::Address, + !(mintingView->horizontalHeader()->isSectionHidden(MintingTableModel::Address))); +} + +void MintingView::showHideTxID() +{ + mintingView->horizontalHeader()->setSectionHidden(MintingTableModel::TxHash, + !(mintingView->horizontalHeader()->isSectionHidden(MintingTableModel::TxHash))); +} + +void MintingView::contextualMenu(const QPoint &point) +{ + QModelIndex index = mintingView->indexAt(point); + if(index.isValid()) + { + contextMenu->exec(QCursor::pos()); + } +} \ No newline at end of file diff --git a/src/qt/mintingview.h b/src/qt/mintingview.h new file mode 100644 index 00000000..f3180112 --- /dev/null +++ b/src/qt/mintingview.h @@ -0,0 +1,55 @@ +#ifndef MINTINGVIEW_H +#define MINTINGVIEW_H + +#include +#include +#include "mintingfilterproxy.h" + +class WalletModel; + + +QT_BEGIN_NAMESPACE +class QTableView; +class QMenu; +QT_END_NAMESPACE + +class MintingView : public QWidget +{ + Q_OBJECT +public: + explicit MintingView(QWidget *parent = 0); + void setModel(WalletModel *model); + + enum MintingEnum + { + Minting10min, + Minting1day, + Minting7days, + Minting30days, + Minting60days, + Minting90days + }; + +private: + WalletModel *model; + QTableView *mintingView; + + QComboBox *mintingCombo; + + MintingFilterProxy *mintingProxyModel; + + QMenu *contextMenu; + +signals: + +public slots: + void exportClicked(); + void chooseMintingInterval(int idx); + void copyTxID(); + void copyAddress(); + void showHideAddress(); + void showHideTxID(); + void contextualMenu(const QPoint &point); +}; + +#endif // MINTINGVIEW_H diff --git a/src/qt/res/icons/stake.png b/src/qt/res/icons/stake.png new file mode 100644 index 0000000000000000000000000000000000000000..614e995b5e9709d3ad3f39fbb1049e2ea9e4d8d4 GIT binary patch literal 20052 zcmeI4c|4SB`0yV~_C1B9#*%DfX6(aQGIq(Hy^NVL#x|G{S~QX<4p|~ZRQ9zjC8|l3 z$krlDp^$LUq0)xmXm#dv=5s#p`+Gm{Kl6N;nd`pp>$;x%d)?Rl+|M7+bJAvyDKFO+ zE&u>{&CQJLsNV)_{~T=8&r*EwF!hTw$jpTZ0Nfkb{+WQRbD{viWsOH7ZESo9Bm&Wg z5Ck$uB0)hR1aG`Q768HrbL?>r_EVd6mxkXOTE>ynED3g-I6!uW@nqp-Sp`W>0gE`v z{DDojw*`%jS;gD(;#d+B$qAcmm3U5Z^|OylUPz3-7`(j+#Ac{*S2oT_?!AKI9rI~;akqCsM6ovgJ zz!d(7n**R&WmBMAV^{g74Kv-D$j6x|q+~5i4ze&{a4^xZ5HK)dBIlfywFmN80nZM! z*BD>}20V8jef0<+=X}UK#00pdNp51wO9nt2v2jL#j}B1Yz4w$c;0y(Xy)9edKtC9O znmc)$0o7LlN|yll6@Y^WfZE2z$OEj00M9mQ>2Tn9CLnCG;Dq=~u~J}Cfl4a#3Zg*< zZXD&t0S;z&a#G$V*JUoED6D~EMr9c&H%DZOsYI#qk1jp{fV|{Q)X^?3hj;N+c6Dha z*7NNLPv2r&mGbf$TbbxC3!*0O1u3$3MF~=~g{;Fy4p_OcV~*8lA9r5pQoQ#SeuFw7 zZ)(tKF=&mAasKIsfq{wf@qUXILpM~r(~%Wi^L~ocvj4|O#FwRaqc>m5M5%a0nX-Nu zZGP}}cfr=~6wc#b&t4^&e!0rM`bFZARExP+gR_G0n5|H7qES}DqDq0(Ny8NR)*TO5 zF)v4yKC|eJr~}o$dQ69s!NneEmiLxB1)NEgmrDS!&`7xbSdN2*>=XT>J8X4cf7vu| z2SD~VPYDKqeMU0M4(&Di_c#E+C@)H(dYAay+oDPowyn1}JiE>P#Z%+Bp-fA&p@1P5 zhP*YzQ@;F|q1=hiY6%5T$YTQuHHxjziPRuI`5<}Qj8!OJ26R78*jCCiS=|g~cgg|eXeP0s8^R2abvL=5tkVXl z9Q$&j$rP3rb;VZqF;5+`p;&Xvagz(&Js1)!D`|6Hc27v{7TpAm{K=j&AO684J>)$o z<+UigYKuQq`R*OV%UVjDspyW&Qsq2lcehmUEoW&w`3~KEIgC{(%9z5b!5U@=LT%e+ z=Dgc^Prq3)Xse8x;2@_aC(Ci$=ABZh#g?_Q*9AYehE{ULz9PrcG6QyCE03bTclI(4`TeTu*1`oK#FZK<2mDZ##P6~ z$0ZlsxN^Jdi~HPJ~9Ox5!@Z95{SHq4DgpL}R>eX-PgDscNC> zRAaZ8=B>{@b~gCKIno}^Nx7no#mG~`!t?Sk<;4rtb~nJV?tZ1|8R^btW@WZzrZYD* zDrbvw3U3%Ux_pk}+jY-kr~6J*TvFGDoJsou`{zYmMVqa3wck}Lm--cm=QkRK-3lz4 zJDYoRA31k7p=dbb#^k51M^&! z43Gt=GpLLg$CDd+5f`7B{9(eMfWPZLCNmarH{k9?SvFZoSxc*FtGO&YtA;}PLY>_@ zyYF>A=)BO`m#Lnu3wx?EnLU~PG<)Q#r)#*YQhjm#HLUrSao0kZx%#HS7+1JUfwQBl zM~z8EPQ{MC#)`%w!J>vese8(D`*3%v|Ej-VUvgEfdZM3gsIoqw{s;=^C4#%!T6t$K z^+xKE>qq`r)@A379pEdIaFvK8)`kdc@6{g8>N+>4f28$o`V<7`+%3@EuR2!0u|vKE zpJSi>$P_1nYam81#>JnsJl3I{p{JZJe)oCXjd2UoyI_wO2Oqx6$*#$6o-H1#n$wuW z&&57F|3K}$e6EWsvFA=3a@2OBSD*X*8K~b#d89ScIto`eDGfnGlAS7^R$na$D_ug( zi|D=A3pqcgH-^w0RvC8L|3H&+we4z$^&LX){+JQuQR!98>cQ1spoqMK3CD6WYFCsS z^XCr-4@=%k)Yl%uzP~asyDK5DVb`WzNyjRVP28@K^lAI^bcN*7{oDDC+}OGC)?raWx0x-vkz+8 zhfZsrn?JugE7UCXBBj3IgryT$!ui#Wa$oorL~z6q*Vv{FiYNB6l_Rd5s#gejVqG@t zlu;RZL-wGRU(~+a?ZGpo;J@slBoa@GyUYhYLgD;SGV6c{VWN+>4yZ6RJ zkc>{bp~mQXWW&Wl_yK5KBRvR@Tk}m5IlR2`^Lip*tbxOwN%= z<&V!ihc46~nnZVv`0^9xuM3b~JTzX7pVVp6>2hDVMq0QsG_ld?np0Ml_Wpor(llZv z^^x_x#&eBXl@0EG4RZ%?)E)9(ni9{|?0Ww8M#Nv6SNopi!gZhDSUgBrYF&CaviW&r z$j;@ij>dtoopTjU)=m508qDq*Kt7LsqVKlytbhL5QC~_}-eT`F(KZ@eW1!eex$oYbwLRzXOt58mux2-g1K9tZS6KQtU8rLV_@2-l`M2*8q1pzr|y zK%#cIuGCk*+SK1`%@8Tj*DfSKU8!Ab0YT1IHXtM+1PfAE)&Qens#+jTxH3!~uBD=; z1X6**G$2qo1f~Xt!nC1qZ72-%{gBe*qW(gJV7#^Mj7+|Vqe{9`J|t3*HUttD7N#7g zs!RyML11t=90FB=sHlLcJ;20>KoTk(97vS@=H!PTBPw41qpwFRm2}Y@_z`<28)HEP(MQa#?3!Mnc<1lSs$^k8mKk# zb%nIY2LHYFhr%EKb)^eJg%Gi8b*wA(qmX|tjXzhuHJh*Nfi?=gwnplq*UAiwK|uc2 z`s=iQT7Eaf|1+Kc4Z%16>&*W>MwkyakY1U7bM>{?zdIokyh&lG5bQ1-b%y+x737=O zznjszM?luDDgOBX2Z&OdqflR~hq?;>qwQDZZ~dLus?k66Yky4@DD{BA);_ZbPg1t)a`m8Lm@&H~f~Sbz8fy_4lonx^blLSs_0+t^X*^pDWn^=8s<^ z`rq_Q?A ziv|dNk%5ao9~vzK7Yz{lA_EtFJ~UbeE*c>8MFuYVd}y=`Tr@!Fiws=!`Os(?xM+aT z7a6$d^P$l)aM1vvFEVh^=R>1q;GzLSUu58-&xc0Kz(oUuzR18upAU_efr|zReUX8S zJ|7w_0~ZYt`XU1teLgf=1}+*P^hE|P`g~}#3|uro=!6dOo=_A`w7kY}6O zF&63rq9C-HofQBa+yMaOXaM-QO8uS!fKVs^OnXwFEj6~KJTirMJ&_QVT&11xg}Eo@yc$JI}3 zp@;Ohx;hw@?~d(N*b{0Z`ccrx4+N5ulAF>GLa>aWkrOvJs!- zCH{KwY@q4LQf}D%0I~aH?)(wk<>lpPofjH9CMq>4ah{vDY6XEDh$or60b&%7r-~;_ z3R#Q7{FWt$VwET615`4fArqgJItJG8JKnxaj%Md)n~6G~R&TahqPU6wi^K=%YTQKo z87FBka!N{yL98B&KTsHRyQY!s6eY5^+&Nfx(2Ifz9;iUMA}DgBWd>H}=J%(ow;0G{ z3wOvBtQ4kY;X>T=z~=IG^F8^oj>g$7{|EclLeG*GW@})!s}Mb(!z;`VN-& zed4Wnhp2eBrQ)4lMQD+^Zgich>rAKX%+zpeMtXYX$<6%X9N|14&brT^Ntd<#6zQ2b z8Z8Wp6!3V?9GlJRbdII{)TvX$umjp5<8879k5wtTK2XZ0QAJARs0&4Bz+^P+VUrh2 zxq%ea)i+9SRO5~H=yn4%3Wd5_#V(u6Ly`68(YyKp5p8#Kx(6&hh{4J))4PT5m z4J_F2dZWO zX&69y_-dJ-9>0MHhTmTdk$rPS($rA$2F3E@$B*4H2?FvE$bJrCmKX}j(-7F$$m+mk z8Wrs&d=bIfB-GMeb*f{&t)qk3-o(AQu#m{+Po^TQqddA2hLqQ3wyEdLnK)BGVS2$C zyJdu@iSyhBi>O=LTN9P~rm{|tSH`s1*KH?0pa50ozQwoaSp$*1 z>+`mg(&Dv!HRCgEkMK5rH^9f@m)f~*GgtA38H9$u3-_!C@>^YJ*jab7vL8>gOVnu@ z78d2HW_9L%cDgt)xmCujFH`9}C-U`Hu{idv%r_6S^LQeB&axncm~%{-VH6Y2NVuT; zmr5q=OsBx>!`%ItEP?x-owGI;&#Te~C73>4x0HY9QSf+7vaiui{!B)8_7G~2#n;!@ zoBAf4a~rmml#~qY(DHPYn`V!8PaPaBGPrSgQeaMCyYZu-%dL@~ZU+v$4|eJJlY02p zxQ&YJDI(hM-MiQ2z<~o|Hm^w9kD^*1hHSW*1#7d4YA)Kqx$Q17Vd6|h3fK0unag*2 z2Ec(U=|KL&^73+i>f1y1;G+6I#jboXy=CyaIfh&F&AA7amxpE#Ex*l_3hMuy392J& zJZ9D$&$y{{eq~S4EtV!ZvC;Si556~e*cD?EA41~5!0h{u$X8d{KIp#5eIB?S*A9q4 z_LT##Iwnw_Zrg5Ew69Gy)_NLZBROzsUIW(op~DIwbf_1eof%}h^w152m6S}jVVuIbC3 zR(s8@J5W%;UR+fb=3C(*M5*L9nHP8vD9EGFcUCTMhe!M5?G~+p4MO2=t;=JSju2+ZS71UZ_ne$X}Rg?eSolhni$2>1>?f0%3*q2eayJo;Y<3V7QhjPYD$>Yb5U9&su#rtPN z8Wv)N6i?S;xlap~so8ir@hoX@Qx;y5TTs*f%w6$ans)Z~9r|yMW+hK(l@O-axERa9r z^}vq;FMBfh0-gAgavq3(;wypfWAWXfm)`h%&M9hEUS58(X=x&ABJiqCf502gfqljy z0dM2DkRGGXI1PnKzOF^rU>l&)YsKbm__ch4j*3B;qw4@t|Wc7-;raL@>)-T;~n!=o&=j{OuVmt zd5_&__e;+6FiZ|E7BKw7z|q~^9SN#@`4q^>$sxRi2jlN8?iuOo@9+1f*41<7#TY?X z#iwp$0&iH5zrVi?|8^zr@RD4u(Fo7Q*`cdTFFwW|-w1=jG78S)FS0C|$9$CE?%pgX zCFf1TOu1&)GNhkc7l1YP;_{p?zZ<~{MFW_rWXbQld1XnTc*sH zkmMfWmE{Y^1UVv-?qKDtOu*QK8eD%M S%eJ+bbC?_NF{(85JoZ1k1E?_o literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/qdarkstyle/rc/arrows.png b/src/qt/res/themes/qdarkstyle/rc/arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..029f3e4abdba88c63eb662e02c0be09946cf8a00 GIT binary patch literal 15493 zcmeI3TZkJ~7{^byt=3%@1*t7U>zLxDw3C@hCdtk;NiUn$U1`>JH?_O4*v`(JB;zJC zab~v3uA;TFLZNC=T-sW+pdwycic+YEw}%Se*ayW2Z`f8vMbQUE3!l3l2{Yq}1sNRnmML&amZD%;&|G(Y@Qu`53Q@ zGZFJ`b`vrq$w8*qv>+4mhgnq!_An92FNCC?fViFs@Isj5B~B1oUXXc7<^`tm@x?pQ zUDVRj@=#)1B^|P2zO3UEWR5Eqi~eHJZ(12nkR*xY16&}$q8_Y0WjIQSHS9IzAk{bt zXsec9aCFmP+_=iPIqAfFJ~vVAQ<+!3P)lUk6?TXsS5gX`;ODtEPRS(MEuU}cX**l@ zppjH&)-s`;nkqnU2-@bPrNXUypy8}(HHbpibWA&Iwi$m-ZaWK2tqr6wY2`e?n##c( z%%hw(@)KIl!O_$8#c7&?tF%oAOL`kOS1G%BrBGg>D5^iX*Mf>;S}D`a#miMTSe-S~ z+v`?Ugt>92ZfIuFUK{0bm->3wqrrsYz_{zl@)FC7DLx>F0@CUP+@-}j^^&ybxn@&d{7g`FspH@LUYQOrVvRQ}~qUa$5+ zY%}c?6$@_8pbA;Y&MZf5cEiI*Irps2>Hon(*vg)Nw+sv0RsV}+s8_L?Rg4VO;#{?W zs|^cVx$=58@2u)>oxc;K^^+w9OU`y>3R-q^DR?_|i;`(>b;nySoPV}c>-oG~14|p` zs;P3?wDO7**YipSas?w35Te8J)Cf*DKx$Cq%h7-;nCLH2IW@t;EbNxx!Obfyd6^er@5Fn^%-5v zs8}qT1Oq}gDK0V}Or^LmAY_x`BJ;siiVFimHYqMLA55jVFd$@;;v)0GREi4&LN+Nb zG9OH(xG*4Olj0)t!BmP1141?_E;1iXrMNI4WRv0|^TAY#3j;znDK0V}Or^LmAY_x` zBJ;siiVFimHYqMLA55jVFd$@;;v)0GREi4&LN+NbG9OH(xG*4Olj0)t!BmP1141?_ zE;1iXrMNI4WRv0|^TAY#3j;znDK0V}Or^LmAY_x`BJ;siiVFimHYqMLA55jVFd$@; zh^w>y8Z0!>yRSv`l51qYc>uj2%cy-rNdTs=17Pp{09^PB{eB0)BoDy%y8)070kFb+ zWY?K(sP9~VVsonW$q%z@59x^6g8k zUr!v_bndmU?g{O>aC&ujcmIorSKand*Xg}oxtot&%6F_haMwrH+`+qd%oTm_96bKm z^RtWlZ)N7BDj literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/qdarkstyle/style.qrc b/src/qt/res/themes/qdarkstyle/style.qrc index bfda38ca..405fea99 100644 --- a/src/qt/res/themes/qdarkstyle/style.qrc +++ b/src/qt/res/themes/qdarkstyle/style.qrc @@ -31,6 +31,7 @@ rc/Vsepartoolbar.png rc/down_arrow_disabled.png rc/undock.png + rc/arrows.png style.qss diff --git a/src/qt/res/themes/qdarkstyle/style.qss b/src/qt/res/themes/qdarkstyle/style.qss index 648270e3..a8c9c578 100644 --- a/src/qt/res/themes/qdarkstyle/style.qss +++ b/src/qt/res/themes/qdarkstyle/style.qss @@ -586,7 +586,7 @@ QToolBar::separator:vertical { image: url(:/qss_icons/rc/Vsepartoolbar.png); } QToolButton#qt_toolbar_ext_button { - background: #58595a + background: #58595a; } QPushButton diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index bcb683b3..5f149637 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -2,6 +2,7 @@ #include "guiconstants.h" #include "optionsmodel.h" #include "addresstablemodel.h" +#include "mintingtablemodel.h" #include "transactiontablemodel.h" #include "ui_interface.h" @@ -21,6 +22,7 @@ WalletModel::WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *p cachedNumBlocks(0) { addressTableModel = new AddressTableModel(wallet, this); + mintingTableModel = new MintingTableModel(wallet, this); transactionTableModel = new TransactionTableModel(wallet, this); // This timer will be fired repeatedly to update the balance @@ -418,6 +420,11 @@ AddressTableModel *WalletModel::getAddressTableModel() return addressTableModel; } +MintingTableModel *WalletModel::getMintingTableModel() +{ + return mintingTableModel; +} + TransactionTableModel *WalletModel::getTransactionTableModel() { return transactionTableModel; diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index ed01a603..f7f599a7 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -10,6 +10,7 @@ class OptionsModel; class AddressTableModel; class TransactionTableModel; +class MintingTableModel; class CWallet; class CKeyID; class CPubKey; @@ -65,6 +66,7 @@ class WalletModel : public QObject OptionsModel *getOptionsModel(); AddressTableModel *getAddressTableModel(); TransactionTableModel *getTransactionTableModel(); + MintingTableModel *getMintingTableModel(); qint64 getBalance() const; qint64 getStake() const; @@ -138,6 +140,7 @@ class WalletModel : public QObject AddressTableModel *addressTableModel; TransactionTableModel *transactionTableModel; + MintingTableModel *mintingTableModel; // Cache some values to be able to detect changes qint64 cachedBalance; diff --git a/src/util.h b/src/util.h index caea2e4d..5197afc3 100644 --- a/src/util.h +++ b/src/util.h @@ -35,6 +35,10 @@ #include #include +static const int32_t nOneHour = 60 * 60; +static const int32_t nOneDay = 24 * 60 * 60; +static const int64_t nOneWeek = 7 * 24 * 60 * 60; + static const int64_t COIN = 100000000; static const int64_t CENT = 1000000; diff --git a/src/wallet.cpp b/src/wallet.cpp index 23a7bf7b..3c02090a 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -458,6 +458,7 @@ void CWallet::WalletUpdateSpent(const CTransaction &tx, bool fBlock) wtx.MarkSpent(txin.prevout.n); wtx.WriteToDisk(); NotifyTransactionChanged(this, txin.prevout.hash, CT_UPDATED); + vMintingWalletUpdated.push_back(txin.prevout.hash); } } } @@ -475,6 +476,7 @@ void CWallet::WalletUpdateSpent(const CTransaction &tx, bool fBlock) wtx.MarkUnspent(&txout - &tx.vout[0]); wtx.WriteToDisk(); NotifyTransactionChanged(this, hash, CT_UPDATED); + vMintingWalletUpdated.push_back(hash); } } } @@ -607,6 +609,8 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn) // Notify UI of new or updated transaction NotifyTransactionChanged(this, hash, fInsertedNew ? CT_NEW : CT_UPDATED); + + vMintingWalletUpdated.push_back(hash); // notify an external script when a wallet transaction comes in or is updated std::string strCmd = GetArg("-walletnotify", ""); @@ -2644,6 +2648,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey) coin.MarkSpent(txin.prevout.n); coin.WriteToDisk(); NotifyTransactionChanged(this, coin.GetHash(), CT_UPDATED); + vMintingWalletUpdated.push_back(coin.GetHash()); } if (fFileBacked) @@ -3276,6 +3281,7 @@ void CWallet::UpdatedTransaction(const uint256 &hashTx) map::const_iterator mi = mapWallet.find(hashTx); if (mi != mapWallet.end()) NotifyTransactionChanged(this, hashTx, CT_UPDATED); + vMintingWalletUpdated.push_back(hashTx); } } diff --git a/src/wallet.h b/src/wallet.h index 4ae74033..26393f9a 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -133,6 +133,7 @@ class CWallet : public CCryptoKeyStore } std::map mapWallet; + std::vector vMintingWalletUpdated; int64_t nOrderPosNext; std::map mapRequestCount; From 2c151a8968a5b776bfa974dc1fba71c8b4898e8b Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 18:09:40 -0600 Subject: [PATCH 5/9] txdb-bdb Experimental Support & Multisig --- Makefile | 8 +- Makefile.Debug | 215 +++++++- Makefile.Release | 215 +++++++- denarius-qt.pro | 71 ++- src/bitcoinrpc.cpp | 3 + src/bitcoinrpc.h | 1 + src/qt/bitcoin.qrc | 1 + src/qt/bitcoingui.cpp | 17 + src/qt/bitcoingui.h | 5 + src/qt/forms/multisigaddressentry.ui | 170 ++++++ src/qt/forms/multisigdialog.ui | 793 +++++++++++++++++++++++++++ src/qt/forms/multisiginputentry.ui | 160 ++++++ src/qt/multisigaddressentry.cpp | 144 +++++ src/qt/multisigaddressentry.h | 44 ++ src/qt/multisigdialog.cpp | 645 ++++++++++++++++++++++ src/qt/multisigdialog.h | 56 ++ src/qt/multisiginputentry.cpp | 174 ++++++ src/qt/multisiginputentry.h | 53 ++ src/qt/res/icons/multi.png | Bin 0 -> 19205 bytes src/qt/walletmodel.cpp | 5 + src/qt/walletmodel.h | 1 + src/rpcrawtransaction.cpp | 77 +++ src/script.cpp | 11 + src/script.h | 1 + src/txdb-bdb.cpp | 436 +++++++++++++++ src/txdb-bdb.h | 45 ++ src/txdb.h | 5 + 27 files changed, 3292 insertions(+), 64 deletions(-) create mode 100644 src/qt/forms/multisigaddressentry.ui create mode 100644 src/qt/forms/multisigdialog.ui create mode 100644 src/qt/forms/multisiginputentry.ui create mode 100644 src/qt/multisigaddressentry.cpp create mode 100644 src/qt/multisigaddressentry.h create mode 100644 src/qt/multisigdialog.cpp create mode 100644 src/qt/multisigdialog.h create mode 100644 src/qt/multisiginputentry.cpp create mode 100644 src/qt/multisiginputentry.h create mode 100644 src/qt/res/icons/multi.png create mode 100644 src/txdb-bdb.cpp create mode 100644 src/txdb-bdb.h diff --git a/Makefile b/Makefile index 1293c2a1..26a35295 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 03:51:34 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 14:36:00 2017 # Project: denarius-qt.pro # Template: app -# Command: c:\Qt\4.8.6\bin\qmake.exe USE_QRCODE=1 USE_UPNP=1 -o Makefile denarius-qt.pro +# Command: c:\Qt\4.8.6\bin\qmake.exe USE_QRCODE=1 USE_UPNP=1 USE_LEVELDB=1 -o Makefile denarius-qt.pro ############################################################################# first: release @@ -93,7 +93,7 @@ Makefile: denarius-qt.pro ../../../../Qt/4.8.6/mkspecs/default/qmake.conf ../.. c:/Qt/4.8.6/lib/QtGui.prl \ c:/Qt/4.8.6/lib/QtNetwork.prl \ c:/Qt/4.8.6/lib/QtCore.prl - $(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile denarius-qt.pro + $(QMAKE) USE_QRCODE=1 USE_UPNP=1 USE_LEVELDB=1 -o Makefile denarius-qt.pro ..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf: ..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri: ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf: @@ -125,7 +125,7 @@ c:\Qt\4.8.6\lib\QtGui.prl: c:\Qt\4.8.6\lib\QtNetwork.prl: c:\Qt\4.8.6\lib\QtCore.prl: qmake: qmake_all FORCE - @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile denarius-qt.pro + @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 USE_LEVELDB=1 -o Makefile denarius-qt.pro qmake_all: FORCE diff --git a/Makefile.Debug b/Makefile.Debug index e3612f01..df9f16f1 100644 --- a/Makefile.Debug +++ b/Makefile.Debug @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 03:51:27 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 14:35:52 2017 # Project: denarius-qt.pro # Template: app ############################################################################# @@ -9,7 +9,7 @@ CC = gcc CXX = g++ -DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 +DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DUSE_LEVELDB -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 CFLAGS = -pipe -fno-keep-inline-dllexport -g -Wall -Wextra $(DEFINES) CXXFLAGS = -fpermissive -g -frtti -fexceptions -mthreads -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector $(DEFINES) INCPATH = -I"..\..\..\..\Qt\4.8.6\include\QtCore" -I"..\..\..\..\Qt\4.8.6\include\QtNetwork" -I"..\..\..\..\Qt\4.8.6\include\QtGui" -I"..\..\..\..\Qt\4.8.6\include" -I"src" -I"src\json" -I"src\qt" -I"src\qt\plugins\mrichtexteditor" -I"..\..\..\..\deps" -I"src\leveldb\include" -I"src\leveldb\helpers" -I"..\..\..\..\deps\boost_1_55_0" -I"..\..\..\..\deps\db-4.8.30.NC\build_unix" -I"..\..\..\..\deps\openssl-1.0.1j\include" -I"..\..\..\..\deps\qrencode-3.4.4" -I"..\..\..\..\Qt\4.8.6\include\ActiveQt" -I"build" -I"build" -I"..\..\..\..\Qt\4.8.6\mkspecs\default" @@ -68,6 +68,9 @@ SOURCES = src\txdb-leveldb.cpp \ src\qt\mintingfilterproxy.cpp \ src\qt\mintingtablemodel.cpp \ src\qt\mintingview.cpp \ + src\qt\multisigaddressentry.cpp \ + src\qt\multisiginputentry.cpp \ + src\qt\multisigdialog.cpp \ src\alert.cpp \ src\version.cpp \ src\sync.cpp \ @@ -150,6 +153,9 @@ SOURCES = src\txdb-leveldb.cpp \ build\moc_mintingfilterproxy.cpp \ build\moc_mintingtablemodel.cpp \ build\moc_mintingview.cpp \ + build\moc_multisigaddressentry.cpp \ + build\moc_multisiginputentry.cpp \ + build\moc_multisigdialog.cpp \ build\moc_clientmodel.cpp \ build\moc_guiutil.cpp \ build\moc_optionsmodel.cpp \ @@ -208,6 +214,9 @@ OBJECTS = build/txdb-leveldb.o \ build/mintingfilterproxy.o \ build/mintingtablemodel.o \ build/mintingview.o \ + build/multisigaddressentry.o \ + build/multisiginputentry.o \ + build/multisigdialog.o \ build/alert.o \ build/version.o \ build/sync.o \ @@ -291,6 +300,9 @@ OBJECTS = build/txdb-leveldb.o \ build/moc_mintingfilterproxy.o \ build/moc_mintingtablemodel.o \ build/moc_mintingview.o \ + build/moc_multisigaddressentry.o \ + build/moc_multisiginputentry.o \ + build/moc_multisigdialog.o \ build/moc_clientmodel.o \ build/moc_guiutil.o \ build/moc_optionsmodel.o \ @@ -349,21 +361,21 @@ DESTDIR_TARGET = debug\Denarius.exe first: all all: Makefile.Debug $(DESTDIR_TARGET) -$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o +$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_multisigaddressentry.h build/ui_multisiginputentry.h build/ui_multisigdialog.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.Denarius.Debug $(LIBS) build/bitcoin-qt_res.o: src\qt\res\bitcoin-qt.rc windres -i src\qt\res\bitcoin-qt.rc -o build\bitcoin-qt_res.o --include-dir=./src/qt/res $(DEFINES) qmake: FORCE - @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile.Debug denarius-qt.pro + @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 USE_LEVELDB=1 -o Makefile.Debug denarius-qt.pro dist: $(ZIP) Denarius.zip $(SOURCES) $(DIST) denarius-qt.pro ..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\static.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\lex.prf c:\Qt\4.8.6\lib\qtmaind.prl c:\Qt\4.8.6\lib\QtGuid.prl c:\Qt\4.8.6\lib\QtNetworkd.prl c:\Qt\4.8.6\lib\QtCored.prl src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts TRANSLATIONS HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean - -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\kernelrecord.o build\mintingfilterproxy.o build\mintingtablemodel.o build\mintingview.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o - -$(DEL_FILE) build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_mintingfilterproxy.o build\moc_mintingtablemodel.o build\moc_mintingview.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o + -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\kernelrecord.o build\mintingfilterproxy.o build\mintingtablemodel.o build\mintingview.o build\multisigaddressentry.o build\multisiginputentry.o build\multisigdialog.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o + -$(DEL_FILE) build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_mintingfilterproxy.o build\moc_mintingtablemodel.o build\moc_mintingview.o build\moc_multisigaddressentry.o build\moc_multisiginputentry.o build\moc_multisigdialog.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a; cd C:/Users/Carsen/Desktop/denariusdev/src/leveldb ; $(MAKE) clean -$(DEL_FILE) build\bitcoin-qt_res.o @@ -577,9 +589,9 @@ src/qt/locale/bitcoin_zh_CN.qm: src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.qm: src/qt/locale/bitcoin_zh_TW.ts c:\Qt\4.8.6\bin\lrelease.exe src\qt\locale\bitcoin_zh_TW.ts -qm src\qt\locale\bitcoin_zh_TW.qm -compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_mintingfilterproxy.cpp build/moc_mintingtablemodel.cpp build/moc_mintingview.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp +compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_mintingfilterproxy.cpp build/moc_mintingtablemodel.cpp build/moc_mintingview.cpp build/moc_multisigaddressentry.cpp build/moc_multisiginputentry.cpp build/moc_multisigdialog.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_mintingfilterproxy.cpp build\moc_mintingtablemodel.cpp build\moc_mintingview.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp + -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_mintingfilterproxy.cpp build\moc_mintingtablemodel.cpp build\moc_mintingview.cpp build\moc_multisigaddressentry.cpp build\moc_multisiginputentry.cpp build\moc_multisigdialog.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp build/moc_bitcoingui.cpp: src/qt/bitcoingui.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoingui.h -o build\moc_bitcoingui.cpp @@ -629,6 +641,22 @@ build/moc_mintingview.cpp: src/qt/mintingfilterproxy.h \ src/qt/mintingview.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingview.h -o build\moc_mintingview.cpp +build/moc_multisigaddressentry.cpp: src/qt/multisigaddressentry.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\multisigaddressentry.h -o build\moc_multisigaddressentry.cpp + +build/moc_multisiginputentry.cpp: src/uint256.h \ + src/qt/multisiginputentry.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\multisiginputentry.h -o build\moc_multisiginputentry.cpp + +build/moc_multisigdialog.cpp: src/qt/multisigaddressentry.h \ + src/qt/multisiginputentry.h \ + src/uint256.h \ + src/qt/sendcoinsentry.h \ + src/qt/walletmodel.h \ + src/allocators.h \ + src/qt/multisigdialog.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\multisigdialog.h -o build\moc_multisigdialog.cpp + build/moc_clientmodel.cpp: src/qt/clientmodel.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\clientmodel.h -o build\moc_clientmodel.cpp @@ -927,6 +955,7 @@ debug/qrc_bitcoin.cpp: src/qt/bitcoin.qrc \ src/qt/res/icons/history.png \ src/qt/res/icons/filesave.png \ src/qt/res/icons/transaction2.png \ + src/qt/res/icons/stake.png \ src/qt/res/icons/editpaste.png \ src/qt/res/icons/edit.png \ src/qt/res/icons/face.png \ @@ -1095,9 +1124,9 @@ build/rpcconsole.moc: src/qt/rpcconsole.h \ src/qt/rpcconsole.cpp C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\rpcconsole.cpp -o build\rpcconsole.moc -compiler_uic_make_all: build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h +compiler_uic_make_all: build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_multisigaddressentry.h build/ui_multisiginputentry.h build/ui_multisigdialog.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h compiler_uic_clean: - -$(DEL_FILE) build\ui_intro.h build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h + -$(DEL_FILE) build\ui_intro.h build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_multisigaddressentry.h build\ui_multisiginputentry.h build\ui_multisigdialog.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h build/ui_intro.h: src/qt/forms/intro.ui c:\Qt\4.8.6\bin\uic.exe src\qt\forms\intro.ui -o build\ui_intro.h @@ -1157,6 +1186,17 @@ build/ui_blockbrowser.h: src/qt/forms/blockbrowser.ui build/ui_marketbrowser.h: src/qt/forms/marketbrowser.ui c:\Qt\4.8.6\bin\uic.exe src\qt\forms\marketbrowser.ui -o build\ui_marketbrowser.h +build/ui_multisigaddressentry.h: src/qt/forms/multisigaddressentry.ui \ + src/qt/qvalidatedlineedit.h + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\multisigaddressentry.ui -o build\ui_multisigaddressentry.h + +build/ui_multisiginputentry.h: src/qt/forms/multisiginputentry.ui \ + src/qt/qvalidatedlineedit.h + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\multisiginputentry.ui -o build\ui_multisiginputentry.h + +build/ui_multisigdialog.h: src/qt/forms/multisigdialog.ui + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\multisigdialog.ui -o build\ui_multisigdialog.h + build/ui_sendmessagesentry.h: src/qt/forms/sendmessagesentry.ui \ src/qt/qvalidatedlineedit.h \ src/qt/qvalidatedtextedit.h @@ -1215,7 +1255,9 @@ build/txdb-leveldb.o: src/txdb-leveldb.cpp src/kernel.h \ src/sph_echo.h \ src/checkpoints.h \ src/txdb.h \ - src/txdb-leveldb.h + src/txdb-leveldb.h \ + src/db.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\txdb-leveldb.o src\txdb-leveldb.cpp build/bloom.o: src/bloom.cpp src/bloom.h \ @@ -1372,6 +1414,10 @@ build/bitcoingui.o: src/qt/bitcoingui.cpp src/qt/bitcoingui.h \ src/qt/marketbrowser.h \ src/qt/mintingview.h \ src/qt/mintingfilterproxy.h \ + src/qt/multisigdialog.h \ + src/qt/multisigaddressentry.h \ + src/qt/multisiginputentry.h \ + src/qt/sendcoinsentry.h \ src/qt/bitcoinunits.h \ src/qt/guiconstants.h \ src/qt/askpassphrasedialog.h \ @@ -1905,6 +1951,117 @@ build/mintingview.o: src/qt/mintingview.cpp src/qt/mintingview.h \ src/qt/csvmodelwriter.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingview.o src\qt\mintingview.cpp +build/multisigaddressentry.o: src/qt/multisigaddressentry.cpp src/qt/addressbookpage.h \ + src/qt/addresstablemodel.h \ + src/base58.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/uint256.h \ + src/key.h \ + src/util.h \ + src/netbase.h \ + src/compat.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/sync.h \ + src/threadsafety.h \ + src/stealth.h \ + src/qt/guiutil.h \ + src/qt/multisigaddressentry.h \ + build/ui_multisigaddressentry.h \ + src/qt/qvalidatedlineedit.h \ + src/qt/walletmodel.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\multisigaddressentry.o src\qt\multisigaddressentry.cpp + +build/multisiginputentry.o: src/qt/multisiginputentry.cpp src/base58.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/uint256.h \ + src/key.h \ + src/util.h \ + src/netbase.h \ + src/compat.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/sync.h \ + src/threadsafety.h \ + src/stealth.h \ + src/qt/multisiginputentry.h \ + build/ui_multisiginputentry.h \ + src/qt/qvalidatedlineedit.h \ + src/main.h \ + src/net.h \ + src/mruset.h \ + src/protocol.h \ + src/addrman.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/wallet.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/smessage.h \ + src/lz4/lz4.h \ + src/qt/walletmodel.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\multisiginputentry.o src\qt\multisiginputentry.cpp + +build/multisigdialog.o: src/qt/multisigdialog.cpp src/qt/addresstablemodel.h \ + src/base58.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/uint256.h \ + src/key.h \ + src/util.h \ + src/netbase.h \ + src/compat.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/sync.h \ + src/threadsafety.h \ + src/stealth.h \ + src/main.h \ + src/net.h \ + src/mruset.h \ + src/protocol.h \ + src/addrman.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/qt/multisigaddressentry.h \ + src/qt/multisiginputentry.h \ + src/qt/multisigdialog.h \ + src/qt/sendcoinsentry.h \ + src/qt/walletmodel.h \ + build/ui_multisigdialog.h \ + src/wallet.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/smessage.h \ + src/lz4/lz4.h \ + src/txdb-leveldb.h \ + src/txdb-bdb.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\multisigdialog.o src\qt\multisigdialog.cpp + build/alert.o: src/alert.cpp src/alert.h \ src/uint256.h \ src/util.h \ @@ -1977,6 +2134,7 @@ build/smessage.o: src/smessage.cpp src/smessage.h \ src/init.h \ src/txdb.h \ src/txdb-leveldb.h \ + src/txdb-bdb.h \ src/lz4/lz4.c \ src/xxhash/xxhash.h \ src/xxhash/xxhash.c @@ -2081,6 +2239,7 @@ build/main.o: src/main.cpp src/alert.h \ src/sph_echo.h \ src/txdb.h \ src/txdb-leveldb.h \ + src/txdb-bdb.h \ src/init.h \ src/wallet.h \ src/ui_interface.h \ @@ -2120,11 +2279,12 @@ build/miner.o: src/miner.cpp src/txdb.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h \ src/miner.h \ src/wallet.h \ src/ui_interface.h \ src/walletdb.h \ - src/db.h \ src/base58.h \ src/smessage.h \ src/lz4/lz4.h \ @@ -2160,8 +2320,9 @@ build/init.o: src/init.cpp src/txdb.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ - src/walletdb.h \ src/db.h \ + src/txdb-bdb.h \ + src/walletdb.h \ src/base58.h \ src/bitcoinrpc.h \ src/json/json_spirit_reader_template.h \ @@ -2270,7 +2431,9 @@ build/checkpoints.o: src/checkpoints.cpp src/checkpoints.h \ src/sph_jh.h \ src/sph_types.h \ src/sph_keccak.h \ - src/sph_echo.h + src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\checkpoints.o src\checkpoints.cpp build/addrman.o: src/addrman.cpp src/addrman.h \ @@ -2549,7 +2712,8 @@ build/transactiondesc.o: src/qt/transactiondesc.cpp src/qt/transactiondesc.h \ src/smessage.h \ src/lz4/lz4.h \ src/txdb.h \ - src/txdb-leveldb.h + src/txdb-leveldb.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\transactiondesc.o src\qt\transactiondesc.cpp build/transactiondescdialog.o: src/qt/transactiondescdialog.cpp src/qt/transactiondescdialog.h \ @@ -2595,10 +2759,11 @@ build/wallet.o: src/wallet.cpp src/txdb.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h \ src/wallet.h \ src/ui_interface.h \ src/walletdb.h \ - src/db.h \ src/base58.h \ src/smessage.h \ src/lz4/lz4.h \ @@ -2651,6 +2816,7 @@ build/walletmodel.o: src/qt/walletmodel.cpp src/qt/walletmodel.h \ src/qt/guiconstants.h \ src/qt/optionsmodel.h \ src/qt/addresstablemodel.h \ + src/qt/mintingtablemodel.h \ src/qt/transactiontablemodel.h \ src/ui_interface.h \ src/wallet.h \ @@ -2849,6 +3015,7 @@ build/rpcmining.o: src/rpcmining.cpp src/main.h \ src/db.h \ src/txdb.h \ src/txdb-leveldb.h \ + src/txdb-bdb.h \ src/init.h \ src/wallet.h \ src/ui_interface.h \ @@ -2983,11 +3150,12 @@ build/rpcrawtransaction.o: src/rpcrawtransaction.cpp src/base58.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h \ src/init.h \ src/wallet.h \ src/ui_interface.h \ src/walletdb.h \ - src/db.h \ src/smessage.h \ src/lz4/lz4.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\rpcrawtransaction.o src\rpcrawtransaction.cpp @@ -3468,7 +3636,9 @@ build/kernel.o: src/kernel.cpp src/kernel.h \ src/sph_keccak.h \ src/sph_echo.h \ src/txdb.h \ - src/txdb-leveldb.h + src/txdb-leveldb.h \ + src/db.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\kernel.o src\kernel.cpp build/scrypt-arm.o: src/scrypt-arm.S @@ -3577,6 +3747,15 @@ build/moc_mintingtablemodel.o: build/moc_mintingtablemodel.cpp build/moc_mintingview.o: build/moc_mintingview.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingview.o build\moc_mintingview.cpp +build/moc_multisigaddressentry.o: build/moc_multisigaddressentry.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_multisigaddressentry.o build\moc_multisigaddressentry.cpp + +build/moc_multisiginputentry.o: build/moc_multisiginputentry.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_multisiginputentry.o build\moc_multisiginputentry.cpp + +build/moc_multisigdialog.o: build/moc_multisigdialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_multisigdialog.o build\moc_multisigdialog.cpp + build/moc_clientmodel.o: build/moc_clientmodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_clientmodel.o build\moc_clientmodel.cpp diff --git a/Makefile.Release b/Makefile.Release index aac5c9b6..f8b54de0 100644 --- a/Makefile.Release +++ b/Makefile.Release @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: Denarius -# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 03:51:20 2017 +# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Sep 4 14:35:44 2017 # Project: denarius-qt.pro # Template: app ############################################################################# @@ -9,7 +9,7 @@ CC = gcc CXX = g++ -DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 +DEFINES = -DUNICODE -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DUSE_QRCODE -DUSE_UPNP=1 -DSTATICLIB -DUSE_IPV6=1 -DUSE_LEVELDB -DWIN32 -D_MT -DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 CFLAGS = -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra $(DEFINES) CXXFLAGS = -fpermissive -O2 -frtti -fexceptions -mthreads -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector $(DEFINES) INCPATH = -I"..\..\..\..\Qt\4.8.6\include\QtCore" -I"..\..\..\..\Qt\4.8.6\include\QtNetwork" -I"..\..\..\..\Qt\4.8.6\include\QtGui" -I"..\..\..\..\Qt\4.8.6\include" -I"src" -I"src\json" -I"src\qt" -I"src\qt\plugins\mrichtexteditor" -I"..\..\..\..\deps" -I"src\leveldb\include" -I"src\leveldb\helpers" -I"..\..\..\..\deps\boost_1_55_0" -I"..\..\..\..\deps\db-4.8.30.NC\build_unix" -I"..\..\..\..\deps\openssl-1.0.1j\include" -I"..\..\..\..\deps\qrencode-3.4.4" -I"..\..\..\..\Qt\4.8.6\include\ActiveQt" -I"build" -I"build" -I"..\..\..\..\Qt\4.8.6\mkspecs\default" @@ -68,6 +68,9 @@ SOURCES = src\txdb-leveldb.cpp \ src\qt\mintingfilterproxy.cpp \ src\qt\mintingtablemodel.cpp \ src\qt\mintingview.cpp \ + src\qt\multisigaddressentry.cpp \ + src\qt\multisiginputentry.cpp \ + src\qt\multisigdialog.cpp \ src\alert.cpp \ src\version.cpp \ src\sync.cpp \ @@ -150,6 +153,9 @@ SOURCES = src\txdb-leveldb.cpp \ build\moc_mintingfilterproxy.cpp \ build\moc_mintingtablemodel.cpp \ build\moc_mintingview.cpp \ + build\moc_multisigaddressentry.cpp \ + build\moc_multisiginputentry.cpp \ + build\moc_multisigdialog.cpp \ build\moc_clientmodel.cpp \ build\moc_guiutil.cpp \ build\moc_optionsmodel.cpp \ @@ -208,6 +214,9 @@ OBJECTS = build/txdb-leveldb.o \ build/mintingfilterproxy.o \ build/mintingtablemodel.o \ build/mintingview.o \ + build/multisigaddressentry.o \ + build/multisiginputentry.o \ + build/multisigdialog.o \ build/alert.o \ build/version.o \ build/sync.o \ @@ -291,6 +300,9 @@ OBJECTS = build/txdb-leveldb.o \ build/moc_mintingfilterproxy.o \ build/moc_mintingtablemodel.o \ build/moc_mintingview.o \ + build/moc_multisigaddressentry.o \ + build/moc_multisiginputentry.o \ + build/moc_multisigdialog.o \ build/moc_clientmodel.o \ build/moc_guiutil.o \ build/moc_optionsmodel.o \ @@ -349,21 +361,21 @@ DESTDIR_TARGET = release\Denarius.exe first: all all: Makefile.Release $(DESTDIR_TARGET) -$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o +$(DESTDIR_TARGET): c:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_multisigaddressentry.h build/ui_multisiginputentry.h build/ui_multisigdialog.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h $(OBJECTS) build/bitcoin-qt_res.o $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.Denarius.Release $(LIBS) build/bitcoin-qt_res.o: src\qt\res\bitcoin-qt.rc windres -i src\qt\res\bitcoin-qt.rc -o build\bitcoin-qt_res.o --include-dir=./src/qt/res $(DEFINES) qmake: FORCE - @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 -o Makefile.Release denarius-qt.pro + @$(QMAKE) USE_QRCODE=1 USE_UPNP=1 USE_LEVELDB=1 -o Makefile.Release denarius-qt.pro dist: $(ZIP) Denarius.zip $(SOURCES) $(DIST) denarius-qt.pro ..\..\..\..\Qt\4.8.6\mkspecs\features\device_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\qconfig.pri ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_functions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt_config.prf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\win32-g++-4.6\qmake.conf ..\..\..\..\Qt\4.8.6\mkspecs\features\exclusive_builds.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_pre.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\debug_and_release.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\default_post.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\build_pass.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\static.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\thread.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\rtti.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\exceptions.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\stl.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\warn_on.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\qt.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\moc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\win32\windows.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\resources.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\uic.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\yacc.prf ..\..\..\..\Qt\4.8.6\mkspecs\features\lex.prf c:\Qt\4.8.6\lib\qtmain.prl c:\Qt\4.8.6\lib\QtGui.prl c:\Qt\4.8.6\lib\QtNetwork.prl c:\Qt\4.8.6\lib\QtCore.prl src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts src\qt\locale\bitcoin_af_ZA.ts src\qt\locale\bitcoin_ar.ts src\qt\locale\bitcoin_be_BY.ts src\qt\locale\bitcoin_bg.ts src\qt\locale\bitcoin_bs.ts src\qt\locale\bitcoin_ca.ts src\qt\locale\bitcoin_ca_ES.ts src\qt\locale\bitcoin_cs.ts src\qt\locale\bitcoin_cy.ts src\qt\locale\bitcoin_da.ts src\qt\locale\bitcoin_de.ts src\qt\locale\bitcoin_el_GR.ts src\qt\locale\bitcoin_en.ts src\qt\locale\bitcoin_eo.ts src\qt\locale\bitcoin_es(1).ts src\qt\locale\bitcoin_es.ts src\qt\locale\bitcoin_es_CL.ts src\qt\locale\bitcoin_es_DO.ts src\qt\locale\bitcoin_es_MX.ts src\qt\locale\bitcoin_es_UY.ts src\qt\locale\bitcoin_et.ts src\qt\locale\bitcoin_eu_ES.ts src\qt\locale\bitcoin_fa.ts src\qt\locale\bitcoin_fa_IR.ts src\qt\locale\bitcoin_fi.ts src\qt\locale\bitcoin_fr.ts src\qt\locale\bitcoin_fr_CA.ts src\qt\locale\bitcoin_gl.ts src\qt\locale\bitcoin_he.ts src\qt\locale\bitcoin_hi_IN.ts src\qt\locale\bitcoin_hr.ts src\qt\locale\bitcoin_hu.ts src\qt\locale\bitcoin_id_ID.ts src\qt\locale\bitcoin_it.ts src\qt\locale\bitcoin_ja.ts src\qt\locale\bitcoin_ka.ts src\qt\locale\bitcoin_kk_KZ.ts src\qt\locale\bitcoin_ko_KR.ts src\qt\locale\bitcoin_ky.ts src\qt\locale\bitcoin_la.ts src\qt\locale\bitcoin_lt.ts src\qt\locale\bitcoin_lv_LV.ts src\qt\locale\bitcoin_ms_MY.ts src\qt\locale\bitcoin_nb.ts src\qt\locale\bitcoin_nl.ts src\qt\locale\bitcoin_pam.ts src\qt\locale\bitcoin_pl.ts src\qt\locale\bitcoin_pt_BR.ts src\qt\locale\bitcoin_pt_PT.ts src\qt\locale\bitcoin_ro_RO.ts src\qt\locale\bitcoin_ru.ts src\qt\locale\bitcoin_sah.ts src\qt\locale\bitcoin_sk.ts src\qt\locale\bitcoin_sl_SI.ts src\qt\locale\bitcoin_sq.ts src\qt\locale\bitcoin_sr.ts src\qt\locale\bitcoin_sv.ts src\qt\locale\bitcoin_th_TH.ts src\qt\locale\bitcoin_tr.ts src\qt\locale\bitcoin_uk.ts src\qt\locale\bitcoin_ur_PK.ts src\qt\locale\bitcoin_vi.ts src\qt\locale\bitcoin_vi_VN.ts src\qt\locale\bitcoin_zh_CN.ts src\qt\locale\bitcoin_zh_TW.ts TRANSLATIONS HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES clean: compiler_clean - -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\kernelrecord.o build\mintingfilterproxy.o build\mintingtablemodel.o build\mintingview.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o - -$(DEL_FILE) build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_mintingfilterproxy.o build\moc_mintingtablemodel.o build\moc_mintingview.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o + -$(DEL_FILE) build\txdb-leveldb.o build\bloom.o build\hash.o build\echo.o build\jh.o build\keccak.o build\bitcoin.o build\bitcoingui.o build\intro.o build\transactiontablemodel.o build\addresstablemodel.o build\optionsdialog.o build\sendcoinsdialog.o build\coincontroldialog.o build\coincontroltreewidget.o build\addressbookpage.o build\signverifymessagedialog.o build\aboutdialog.o build\editaddressdialog.o build\bitcoinaddressvalidator.o build\statisticspage.o build\blockbrowser.o build\marketbrowser.o build\kernelrecord.o build\mintingfilterproxy.o build\mintingtablemodel.o build\mintingview.o build\multisigaddressentry.o build\multisiginputentry.o build\multisigdialog.o build\alert.o build\version.o build\sync.o build\smessage.o build\util.o build\netbase.o build\key.o build\script.o build\main.o build\miner.o build\init.o build\net.o build\irc.o build\checkpoints.o build\addrman.o build\db.o build\walletdb.o build\clientmodel.o build\guiutil.o build\transactionrecord.o build\optionsmodel.o build\monitoreddatamapper.o build\transactiondesc.o build\transactiondescdialog.o build\bitcoinstrings.o build\bitcoinamountfield.o build\wallet.o build\keystore.o build\transactionfilterproxy.o build\transactionview.o build\walletmodel.o build\bitcoinrpc.o build\rpcdump.o build\rpcnet.o build\rpcmining.o build\rpcwallet.o build\rpcblockchain.o build\rpcrawtransaction.o build\rpcsmessage.o build\overviewpage.o build\csvmodelwriter.o build\crypter.o build\sendcoinsentry.o build\qvalidatedlineedit.o build\bitcoinunits.o build\qvaluecombobox.o build\askpassphrasedialog.o build\protocol.o build\notificator.o build\qtipcserver.o build\rpcconsole.o build\trafficgraphwidget.o build\messagepage.o build\messagemodel.o build\sendmessagesdialog.o build\sendmessagesentry.o build\qvalidatedtextedit.o build\mrichtextedit.o build\noui.o build\kernel.o build\scrypt-arm.o build\scrypt-x86.o build\scrypt-x86_64.o build\scrypt.o build\pbkdf2.o build\stealth.o build\qrcodedialog.o build\moc_bitcoingui.o build\moc_intro.o + -$(DEL_FILE) build\moc_transactiontablemodel.o build\moc_addresstablemodel.o build\moc_optionsdialog.o build\moc_coincontroldialog.o build\moc_coincontroltreewidget.o build\moc_sendcoinsdialog.o build\moc_addressbookpage.o build\moc_signverifymessagedialog.o build\moc_aboutdialog.o build\moc_editaddressdialog.o build\moc_bitcoinaddressvalidator.o build\moc_mintingfilterproxy.o build\moc_mintingtablemodel.o build\moc_mintingview.o build\moc_multisigaddressentry.o build\moc_multisiginputentry.o build\moc_multisigdialog.o build\moc_clientmodel.o build\moc_guiutil.o build\moc_optionsmodel.o build\moc_monitoreddatamapper.o build\moc_transactiondesc.o build\moc_transactiondescdialog.o build\moc_bitcoinamountfield.o build\moc_transactionfilterproxy.o build\moc_transactionview.o build\moc_walletmodel.o build\moc_overviewpage.o build\moc_csvmodelwriter.o build\moc_sendcoinsentry.o build\moc_qvalidatedlineedit.o build\moc_qvaluecombobox.o build\moc_askpassphrasedialog.o build\moc_notificator.o build\moc_rpcconsole.o build\moc_trafficgraphwidget.o build\moc_blockbrowser.o build\moc_statisticspage.o build\moc_marketbrowser.o build\moc_messagepage.o build\moc_messagemodel.o build\moc_sendmessagesdialog.o build\moc_sendmessagesentry.o build\moc_mrichtextedit.o build\moc_qvalidatedtextedit.o build\moc_qrcodedialog.o build\qrc_bitcoin.o build\qrc_style.o -$(DEL_FILE) C:/Users/Carsen/Desktop/denariusdev/src/leveldb/libleveldb.a; cd C:/Users/Carsen/Desktop/denariusdev/src/leveldb ; $(MAKE) clean -$(DEL_FILE) build\bitcoin-qt_res.o @@ -577,9 +589,9 @@ src/qt/locale/bitcoin_zh_CN.qm: src/qt/locale/bitcoin_zh_CN.ts src/qt/locale/bitcoin_zh_TW.qm: src/qt/locale/bitcoin_zh_TW.ts c:\Qt\4.8.6\bin\lrelease.exe src\qt\locale\bitcoin_zh_TW.ts -qm src\qt\locale\bitcoin_zh_TW.qm -compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_mintingfilterproxy.cpp build/moc_mintingtablemodel.cpp build/moc_mintingview.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp +compiler_moc_header_make_all: build/moc_bitcoingui.cpp build/moc_intro.cpp build/moc_transactiontablemodel.cpp build/moc_addresstablemodel.cpp build/moc_optionsdialog.cpp build/moc_coincontroldialog.cpp build/moc_coincontroltreewidget.cpp build/moc_sendcoinsdialog.cpp build/moc_addressbookpage.cpp build/moc_signverifymessagedialog.cpp build/moc_aboutdialog.cpp build/moc_editaddressdialog.cpp build/moc_bitcoinaddressvalidator.cpp build/moc_mintingfilterproxy.cpp build/moc_mintingtablemodel.cpp build/moc_mintingview.cpp build/moc_multisigaddressentry.cpp build/moc_multisiginputentry.cpp build/moc_multisigdialog.cpp build/moc_clientmodel.cpp build/moc_guiutil.cpp build/moc_optionsmodel.cpp build/moc_monitoreddatamapper.cpp build/moc_transactiondesc.cpp build/moc_transactiondescdialog.cpp build/moc_bitcoinamountfield.cpp build/moc_transactionfilterproxy.cpp build/moc_transactionview.cpp build/moc_walletmodel.cpp build/moc_overviewpage.cpp build/moc_csvmodelwriter.cpp build/moc_sendcoinsentry.cpp build/moc_qvalidatedlineedit.cpp build/moc_qvaluecombobox.cpp build/moc_askpassphrasedialog.cpp build/moc_notificator.cpp build/moc_rpcconsole.cpp build/moc_trafficgraphwidget.cpp build/moc_blockbrowser.cpp build/moc_statisticspage.cpp build/moc_marketbrowser.cpp build/moc_messagepage.cpp build/moc_messagemodel.cpp build/moc_sendmessagesdialog.cpp build/moc_sendmessagesentry.cpp build/moc_mrichtextedit.cpp build/moc_qvalidatedtextedit.cpp build/moc_qrcodedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_mintingfilterproxy.cpp build\moc_mintingtablemodel.cpp build\moc_mintingview.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp + -$(DEL_FILE) build\moc_bitcoingui.cpp build\moc_intro.cpp build\moc_transactiontablemodel.cpp build\moc_addresstablemodel.cpp build\moc_optionsdialog.cpp build\moc_coincontroldialog.cpp build\moc_coincontroltreewidget.cpp build\moc_sendcoinsdialog.cpp build\moc_addressbookpage.cpp build\moc_signverifymessagedialog.cpp build\moc_aboutdialog.cpp build\moc_editaddressdialog.cpp build\moc_bitcoinaddressvalidator.cpp build\moc_mintingfilterproxy.cpp build\moc_mintingtablemodel.cpp build\moc_mintingview.cpp build\moc_multisigaddressentry.cpp build\moc_multisiginputentry.cpp build\moc_multisigdialog.cpp build\moc_clientmodel.cpp build\moc_guiutil.cpp build\moc_optionsmodel.cpp build\moc_monitoreddatamapper.cpp build\moc_transactiondesc.cpp build\moc_transactiondescdialog.cpp build\moc_bitcoinamountfield.cpp build\moc_transactionfilterproxy.cpp build\moc_transactionview.cpp build\moc_walletmodel.cpp build\moc_overviewpage.cpp build\moc_csvmodelwriter.cpp build\moc_sendcoinsentry.cpp build\moc_qvalidatedlineedit.cpp build\moc_qvaluecombobox.cpp build\moc_askpassphrasedialog.cpp build\moc_notificator.cpp build\moc_rpcconsole.cpp build\moc_trafficgraphwidget.cpp build\moc_blockbrowser.cpp build\moc_statisticspage.cpp build\moc_marketbrowser.cpp build\moc_messagepage.cpp build\moc_messagemodel.cpp build\moc_sendmessagesdialog.cpp build\moc_sendmessagesentry.cpp build\moc_mrichtextedit.cpp build\moc_qvalidatedtextedit.cpp build\moc_qrcodedialog.cpp build/moc_bitcoingui.cpp: src/qt/bitcoingui.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\bitcoingui.h -o build\moc_bitcoingui.cpp @@ -629,6 +641,22 @@ build/moc_mintingview.cpp: src/qt/mintingfilterproxy.h \ src/qt/mintingview.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\mintingview.h -o build\moc_mintingview.cpp +build/moc_multisigaddressentry.cpp: src/qt/multisigaddressentry.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\multisigaddressentry.h -o build\moc_multisigaddressentry.cpp + +build/moc_multisiginputentry.cpp: src/uint256.h \ + src/qt/multisiginputentry.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\multisiginputentry.h -o build\moc_multisiginputentry.cpp + +build/moc_multisigdialog.cpp: src/qt/multisigaddressentry.h \ + src/qt/multisiginputentry.h \ + src/uint256.h \ + src/qt/sendcoinsentry.h \ + src/qt/walletmodel.h \ + src/allocators.h \ + src/qt/multisigdialog.h + C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\multisigdialog.h -o build\moc_multisigdialog.cpp + build/moc_clientmodel.cpp: src/qt/clientmodel.h C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\clientmodel.h -o build\moc_clientmodel.cpp @@ -927,6 +955,7 @@ release/qrc_bitcoin.cpp: src/qt/bitcoin.qrc \ src/qt/res/icons/history.png \ src/qt/res/icons/filesave.png \ src/qt/res/icons/transaction2.png \ + src/qt/res/icons/stake.png \ src/qt/res/icons/editpaste.png \ src/qt/res/icons/edit.png \ src/qt/res/icons/face.png \ @@ -1095,9 +1124,9 @@ build/rpcconsole.moc: src/qt/rpcconsole.h \ src/qt/rpcconsole.cpp C:\Qt\4.8.6\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 src\qt\rpcconsole.cpp -o build\rpcconsole.moc -compiler_uic_make_all: build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h +compiler_uic_make_all: build/ui_intro.h build/ui_coincontroldialog.h build/ui_sendcoinsdialog.h build/ui_addressbookpage.h build/ui_signverifymessagedialog.h build/ui_aboutdialog.h build/ui_editaddressdialog.h build/ui_transactiondescdialog.h build/ui_overviewpage.h build/ui_sendcoinsentry.h build/ui_askpassphrasedialog.h build/ui_rpcconsole.h build/ui_optionsdialog.h build/ui_messagepage.h build/ui_statisticspage.h build/ui_blockbrowser.h build/ui_marketbrowser.h build/ui_multisigaddressentry.h build/ui_multisiginputentry.h build/ui_multisigdialog.h build/ui_sendmessagesentry.h build/ui_sendmessagesdialog.h build/ui_mrichtextedit.h build/ui_qrcodedialog.h compiler_uic_clean: - -$(DEL_FILE) build\ui_intro.h build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h + -$(DEL_FILE) build\ui_intro.h build\ui_coincontroldialog.h build\ui_sendcoinsdialog.h build\ui_addressbookpage.h build\ui_signverifymessagedialog.h build\ui_aboutdialog.h build\ui_editaddressdialog.h build\ui_transactiondescdialog.h build\ui_overviewpage.h build\ui_sendcoinsentry.h build\ui_askpassphrasedialog.h build\ui_rpcconsole.h build\ui_optionsdialog.h build\ui_messagepage.h build\ui_statisticspage.h build\ui_blockbrowser.h build\ui_marketbrowser.h build\ui_multisigaddressentry.h build\ui_multisiginputentry.h build\ui_multisigdialog.h build\ui_sendmessagesentry.h build\ui_sendmessagesdialog.h build\ui_mrichtextedit.h build\ui_qrcodedialog.h build/ui_intro.h: src/qt/forms/intro.ui c:\Qt\4.8.6\bin\uic.exe src\qt\forms\intro.ui -o build\ui_intro.h @@ -1157,6 +1186,17 @@ build/ui_blockbrowser.h: src/qt/forms/blockbrowser.ui build/ui_marketbrowser.h: src/qt/forms/marketbrowser.ui c:\Qt\4.8.6\bin\uic.exe src\qt\forms\marketbrowser.ui -o build\ui_marketbrowser.h +build/ui_multisigaddressentry.h: src/qt/forms/multisigaddressentry.ui \ + src/qt/qvalidatedlineedit.h + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\multisigaddressentry.ui -o build\ui_multisigaddressentry.h + +build/ui_multisiginputentry.h: src/qt/forms/multisiginputentry.ui \ + src/qt/qvalidatedlineedit.h + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\multisiginputentry.ui -o build\ui_multisiginputentry.h + +build/ui_multisigdialog.h: src/qt/forms/multisigdialog.ui + c:\Qt\4.8.6\bin\uic.exe src\qt\forms\multisigdialog.ui -o build\ui_multisigdialog.h + build/ui_sendmessagesentry.h: src/qt/forms/sendmessagesentry.ui \ src/qt/qvalidatedlineedit.h \ src/qt/qvalidatedtextedit.h @@ -1215,7 +1255,9 @@ build/txdb-leveldb.o: src/txdb-leveldb.cpp src/kernel.h \ src/sph_echo.h \ src/checkpoints.h \ src/txdb.h \ - src/txdb-leveldb.h + src/txdb-leveldb.h \ + src/db.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\txdb-leveldb.o src\txdb-leveldb.cpp build/bloom.o: src/bloom.cpp src/bloom.h \ @@ -1372,6 +1414,10 @@ build/bitcoingui.o: src/qt/bitcoingui.cpp src/qt/bitcoingui.h \ src/qt/marketbrowser.h \ src/qt/mintingview.h \ src/qt/mintingfilterproxy.h \ + src/qt/multisigdialog.h \ + src/qt/multisigaddressentry.h \ + src/qt/multisiginputentry.h \ + src/qt/sendcoinsentry.h \ src/qt/bitcoinunits.h \ src/qt/guiconstants.h \ src/qt/askpassphrasedialog.h \ @@ -1905,6 +1951,117 @@ build/mintingview.o: src/qt/mintingview.cpp src/qt/mintingview.h \ src/qt/csvmodelwriter.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\mintingview.o src\qt\mintingview.cpp +build/multisigaddressentry.o: src/qt/multisigaddressentry.cpp src/qt/addressbookpage.h \ + src/qt/addresstablemodel.h \ + src/base58.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/uint256.h \ + src/key.h \ + src/util.h \ + src/netbase.h \ + src/compat.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/sync.h \ + src/threadsafety.h \ + src/stealth.h \ + src/qt/guiutil.h \ + src/qt/multisigaddressentry.h \ + build/ui_multisigaddressentry.h \ + src/qt/qvalidatedlineedit.h \ + src/qt/walletmodel.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\multisigaddressentry.o src\qt\multisigaddressentry.cpp + +build/multisiginputentry.o: src/qt/multisiginputentry.cpp src/base58.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/uint256.h \ + src/key.h \ + src/util.h \ + src/netbase.h \ + src/compat.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/sync.h \ + src/threadsafety.h \ + src/stealth.h \ + src/qt/multisiginputentry.h \ + build/ui_multisiginputentry.h \ + src/qt/qvalidatedlineedit.h \ + src/main.h \ + src/net.h \ + src/mruset.h \ + src/protocol.h \ + src/addrman.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/wallet.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/smessage.h \ + src/lz4/lz4.h \ + src/qt/walletmodel.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\multisiginputentry.o src\qt\multisiginputentry.cpp + +build/multisigdialog.o: src/qt/multisigdialog.cpp src/qt/addresstablemodel.h \ + src/base58.h \ + src/bignum.h \ + src/serialize.h \ + src/allocators.h \ + src/version.h \ + src/clientversion.h \ + src/uint256.h \ + src/key.h \ + src/util.h \ + src/netbase.h \ + src/compat.h \ + src/script.h \ + src/keystore.h \ + src/crypter.h \ + src/sync.h \ + src/threadsafety.h \ + src/stealth.h \ + src/main.h \ + src/net.h \ + src/mruset.h \ + src/protocol.h \ + src/addrman.h \ + src/scrypt.h \ + src/hashblock.h \ + src/sph_jh.h \ + src/sph_types.h \ + src/sph_keccak.h \ + src/sph_echo.h \ + src/qt/multisigaddressentry.h \ + src/qt/multisiginputentry.h \ + src/qt/multisigdialog.h \ + src/qt/sendcoinsentry.h \ + src/qt/walletmodel.h \ + build/ui_multisigdialog.h \ + src/wallet.h \ + src/ui_interface.h \ + src/walletdb.h \ + src/db.h \ + src/smessage.h \ + src/lz4/lz4.h \ + src/txdb-leveldb.h \ + src/txdb-bdb.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\multisigdialog.o src\qt\multisigdialog.cpp + build/alert.o: src/alert.cpp src/alert.h \ src/uint256.h \ src/util.h \ @@ -1977,6 +2134,7 @@ build/smessage.o: src/smessage.cpp src/smessage.h \ src/init.h \ src/txdb.h \ src/txdb-leveldb.h \ + src/txdb-bdb.h \ src/lz4/lz4.c \ src/xxhash/xxhash.h \ src/xxhash/xxhash.c @@ -2081,6 +2239,7 @@ build/main.o: src/main.cpp src/alert.h \ src/sph_echo.h \ src/txdb.h \ src/txdb-leveldb.h \ + src/txdb-bdb.h \ src/init.h \ src/wallet.h \ src/ui_interface.h \ @@ -2120,11 +2279,12 @@ build/miner.o: src/miner.cpp src/txdb.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h \ src/miner.h \ src/wallet.h \ src/ui_interface.h \ src/walletdb.h \ - src/db.h \ src/base58.h \ src/smessage.h \ src/lz4/lz4.h \ @@ -2160,8 +2320,9 @@ build/init.o: src/init.cpp src/txdb.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ - src/walletdb.h \ src/db.h \ + src/txdb-bdb.h \ + src/walletdb.h \ src/base58.h \ src/bitcoinrpc.h \ src/json/json_spirit_reader_template.h \ @@ -2270,7 +2431,9 @@ build/checkpoints.o: src/checkpoints.cpp src/checkpoints.h \ src/sph_jh.h \ src/sph_types.h \ src/sph_keccak.h \ - src/sph_echo.h + src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\checkpoints.o src\checkpoints.cpp build/addrman.o: src/addrman.cpp src/addrman.h \ @@ -2549,7 +2712,8 @@ build/transactiondesc.o: src/qt/transactiondesc.cpp src/qt/transactiondesc.h \ src/smessage.h \ src/lz4/lz4.h \ src/txdb.h \ - src/txdb-leveldb.h + src/txdb-leveldb.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\transactiondesc.o src\qt\transactiondesc.cpp build/transactiondescdialog.o: src/qt/transactiondescdialog.cpp src/qt/transactiondescdialog.h \ @@ -2595,10 +2759,11 @@ build/wallet.o: src/wallet.cpp src/txdb.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h \ src/wallet.h \ src/ui_interface.h \ src/walletdb.h \ - src/db.h \ src/base58.h \ src/smessage.h \ src/lz4/lz4.h \ @@ -2651,6 +2816,7 @@ build/walletmodel.o: src/qt/walletmodel.cpp src/qt/walletmodel.h \ src/qt/guiconstants.h \ src/qt/optionsmodel.h \ src/qt/addresstablemodel.h \ + src/qt/mintingtablemodel.h \ src/qt/transactiontablemodel.h \ src/ui_interface.h \ src/wallet.h \ @@ -2849,6 +3015,7 @@ build/rpcmining.o: src/rpcmining.cpp src/main.h \ src/db.h \ src/txdb.h \ src/txdb-leveldb.h \ + src/txdb-bdb.h \ src/init.h \ src/wallet.h \ src/ui_interface.h \ @@ -2983,11 +3150,12 @@ build/rpcrawtransaction.o: src/rpcrawtransaction.cpp src/base58.h \ src/sph_types.h \ src/sph_keccak.h \ src/sph_echo.h \ + src/db.h \ + src/txdb-bdb.h \ src/init.h \ src/wallet.h \ src/ui_interface.h \ src/walletdb.h \ - src/db.h \ src/smessage.h \ src/lz4/lz4.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\rpcrawtransaction.o src\rpcrawtransaction.cpp @@ -3468,7 +3636,9 @@ build/kernel.o: src/kernel.cpp src/kernel.h \ src/sph_keccak.h \ src/sph_echo.h \ src/txdb.h \ - src/txdb-leveldb.h + src/txdb-leveldb.h \ + src/db.h \ + src/txdb-bdb.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\kernel.o src\kernel.cpp build/scrypt-arm.o: src/scrypt-arm.S @@ -3577,6 +3747,15 @@ build/moc_mintingtablemodel.o: build/moc_mintingtablemodel.cpp build/moc_mintingview.o: build/moc_mintingview.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_mintingview.o build\moc_mintingview.cpp +build/moc_multisigaddressentry.o: build/moc_multisigaddressentry.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_multisigaddressentry.o build\moc_multisigaddressentry.cpp + +build/moc_multisiginputentry.o: build/moc_multisiginputentry.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_multisiginputentry.o build\moc_multisiginputentry.cpp + +build/moc_multisigdialog.o: build/moc_multisigdialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_multisigdialog.o build\moc_multisigdialog.cpp + build/moc_clientmodel.o: build/moc_clientmodel.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o build\moc_clientmodel.o build\moc_clientmodel.cpp diff --git a/denarius-qt.pro b/denarius-qt.pro index 0364c893..0aa9d399 100644 --- a/denarius-qt.pro +++ b/denarius-qt.pro @@ -136,32 +136,46 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets } -INCLUDEPATH += src/leveldb/include src/leveldb/helpers -LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a -SOURCES += src/txdb-leveldb.cpp \ - src/bloom.cpp \ - src/hash.cpp \ - src/aes_helper.c \ - src/echo.c \ - src/jh.c \ - src/keccak.c -!win32 { - # we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a +contains(USE_LEVELDB, 1) { + message(Building with LevelDB transaction index) + DEFINES += USE_LEVELDB + + INCLUDEPATH += src/leveldb/include src/leveldb/helpers + LIBS += $$PWD/src/leveldb/libleveldb.a $$PWD/src/leveldb/libmemenv.a + SOURCES += src/txdb-leveldb.cpp \ + src/bloom.cpp \ + src/hash.cpp \ + src/aes_helper.c \ + src/echo.c \ + src/jh.c \ + src/keccak.c + !win32 { + # we use QMAKE_CXXFLAGS_RELEASE even without RELEASE=1 because we use RELEASE to indicate linking preferences not -O preferences + genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a + } else { + # make an educated guess about what the ranlib command is called + isEmpty(QMAKE_RANLIB) { + QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib) + } + LIBS += -lshlwapi + #genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + } + genleveldb.target = $$PWD/src/leveldb/libleveldb.a + genleveldb.depends = FORCE + PRE_TARGETDEPS += $$PWD/src/leveldb/libleveldb.a + QMAKE_EXTRA_TARGETS += genleveldb + # Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it. + QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb ; $(MAKE) clean } else { - # make an educated guess about what the ranlib command is called - isEmpty(QMAKE_RANLIB) { - QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib) - } - LIBS += -lshlwapi - #genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + message(Building with Berkeley DB transaction index) + SOURCES += src/txdb-bdb.cpp \ + src/bloom.cpp \ + src/hash.cpp \ + src/aes_helper.c \ + src/echo.c \ + src/jh.c \ + src/keccak.c } -genleveldb.target = $$PWD/src/leveldb/libleveldb.a -genleveldb.depends = FORCE -PRE_TARGETDEPS += $$PWD/src/leveldb/libleveldb.a -QMAKE_EXTRA_TARGETS += genleveldb -# Gross ugly hack that depends on qmake internals, unfortunately there is no other way to do it. -QMAKE_CLEAN += $$PWD/src/leveldb/libleveldb.a; cd $$PWD/src/leveldb ; $(MAKE) clean # regenerate src/build.h !windows|contains(USE_BUILD_INFO, 1) { @@ -210,6 +224,9 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/mintingfilterproxy.h \ src/qt/mintingtablemodel.h \ src/qt/mintingview.h \ + src/qt/multisigaddressentry.h \ + src/qt/multisiginputentry.h \ + src/qt/multisigdialog.h \ src/alert.h \ src/addrman.h \ src/base58.h \ @@ -318,6 +335,9 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/mintingfilterproxy.cpp \ src/qt/mintingtablemodel.cpp \ src/qt/mintingview.cpp \ + src/qt/multisigaddressentry.cpp \ + src/qt/multisiginputentry.cpp \ + src/qt/multisigdialog.cpp \ src/alert.cpp \ src/version.cpp \ src/sync.cpp \ @@ -409,6 +429,9 @@ FORMS += \ src/qt/forms/statisticspage.ui \ src/qt/forms/blockbrowser.ui \ src/qt/forms/marketbrowser.ui \ + src/qt/forms/multisigaddressentry.ui \ + src/qt/forms/multisiginputentry.ui \ + src/qt/forms/multisigdialog.ui \ src/qt/forms/sendmessagesentry.ui \ src/qt/forms/sendmessagesdialog.ui \ src/qt/plugins/mrichtexteditor/mrichtextedit.ui diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index e2838763..e876854c 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -300,6 +300,7 @@ static const CRPCCommand vRPCCommands[] = { "getrawtransaction", &getrawtransaction, false, false }, { "createrawtransaction", &createrawtransaction, false, false }, { "decoderawtransaction", &decoderawtransaction, false, false }, + { "createmultisig", &createmultisig, false, false }, { "decodescript", &decodescript, false, false }, { "signrawtransaction", &signrawtransaction, false, false }, { "sendrawtransaction", &sendrawtransaction, false, false }, @@ -1261,6 +1262,8 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "listunspent" && n > 2) ConvertTo(params[2]); if (strMethod == "getrawtransaction" && n > 1) ConvertTo(params[1]); + if (strMethod == "createmultisig" && n > 0) ConvertTo(params[0]); + if (strMethod == "createmultisig" && n > 1) ConvertTo(params[1]); if (strMethod == "createrawtransaction" && n > 0) ConvertTo(params[0]); if (strMethod == "createrawtransaction" && n > 1) ConvertTo(params[1]); if (strMethod == "signrawtransaction" && n > 1) ConvertTo(params[1], true); diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index b84cef6a..9e408d82 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -206,6 +206,7 @@ extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bo extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value createrawtransaction(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value decoderawtransaction(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value createmultisig(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value decodescript(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value signrawtransaction(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value sendrawtransaction(const json_spirit::Array& params, bool fHelp); diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 96876e56..bda40def 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -9,6 +9,7 @@ res/icons/address-book.png res/icons/quit.png res/icons/send.png + res/icons/multi.png res/icons/reddit.png res/icons/TW.png res/icons/face.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index c36dffbc..937febc6 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -25,6 +25,7 @@ #include "blockbrowser.h" #include "marketbrowser.h" #include "mintingview.h" +#include "multisigdialog.h" #include "bitcoinunits.h" #include "guiconstants.h" #include "askpassphrasedialog.h" @@ -169,6 +170,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): statisticsPage = new StatisticsPage(this); blockBrowser = new BlockBrowser(this); marketBrowser = new MarketBrowser(this); + multisigPage = new MultisigDialog(this); //chatWindow = new ChatWindow(this); transactionsPage = new QWidget(this); @@ -357,6 +359,9 @@ void BitcoinGUI::createActions() mintingAction->setCheckable(true); mintingAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_9)); tabGroup->addAction(mintingAction); + + multisigAction = new QAction(QIcon(":/icons/multi"), tr("Multisig"), this); + tabGroup->addAction(multisigAction); connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage())); @@ -376,6 +381,8 @@ void BitcoinGUI::createActions() connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage())); connect(messageAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(messageAction, SIGNAL(triggered()), this, SLOT(gotoMessagePage())); + connect(multisigAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); + connect(multisigAction, SIGNAL(triggered()), this, SLOT(gotoMultisigPage())); quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this); quitAction->setToolTip(tr("Quit application")); @@ -437,6 +444,7 @@ void BitcoinGUI::createMenuBar() // Configure the menus QMenu *file = appMenuBar->addMenu(tr("&File")); file->addAction(exportAction); + file->addAction(multisigAction); file->addAction(signMessageAction); file->addAction(verifyMessageAction); file->addSeparator(); @@ -551,6 +559,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) statisticsPage->setModel(clientModel); blockBrowser->setModel(clientModel); marketBrowser->setModel(clientModel); + multisigPage->setModel(walletModel); //chatWindow->setModel(clientModel); setEncryptionStatus(walletModel->getEncryptionStatus()); @@ -606,6 +615,8 @@ void BitcoinGUI::createTrayIcon() trayIconMenu->addSeparator(); trayIconMenu->addAction(sendCoinsAction); trayIconMenu->addAction(receiveCoinsAction); + trayIconMenu->addSeparator(); + trayIconMenu->addAction(multisigAction); trayIconMenu->addSeparator(); trayIconMenu->addAction(signMessageAction); trayIconMenu->addAction(verifyMessageAction); @@ -908,6 +919,12 @@ void BitcoinGUI::gotoMarketBrowser() } +void BitcoinGUI::gotoMultisigPage() +{ + multisigPage->show(); + multisigPage->setFocus(); +} + void BitcoinGUI::gotoMintingPage() { mintingAction->setChecked(true); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index aef8bdbe..67c79b16 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -13,6 +13,7 @@ class WalletModel; class MessageModel; class TransactionView; class MintingView; +class MultisigDialog; class OverviewPage; class AddressBookPage; class MessagePage; @@ -95,6 +96,7 @@ class BitcoinGUI : public QMainWindow MarketBrowser *marketBrowser; QWidget *transactionsPage; QWidget *mintingPage; + MultisigDialog *multisigPage; AddressBookPage *addressBookPage; AddressBookPage *receiveCoinsPage; MessagePage *messagePage; @@ -118,6 +120,7 @@ class BitcoinGUI : public QMainWindow QAction *marketAction; QAction *historyAction; QAction *mintingAction; + QAction *multisigAction; QAction *quitAction; QAction *sendCoinsAction; QAction *addressBookAction; @@ -182,6 +185,8 @@ public slots: void mainToolbarOrientation(Qt::Orientation orientation); void secondaryToolbarOrientation(Qt::Orientation orientation); + + void gotoMultisigPage(); private slots: /** Switch to overview (home) page */ diff --git a/src/qt/forms/multisigaddressentry.ui b/src/qt/forms/multisigaddressentry.ui new file mode 100644 index 00000000..c145f077 --- /dev/null +++ b/src/qt/forms/multisigaddressentry.ui @@ -0,0 +1,170 @@ + + + MultisigAddressEntry + + + + 0 + 0 + 729 + 136 + + + + Form + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + Public &key: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + pubkey + + + + + + + 0 + + + + + The public key of an address + + + Enter a public key + + + + + + + Paste public key from clipboard + + + + + + + :/icons/editpaste:/icons/editpaste + + + Alt+P + + + + + + + Remove this public key + + + + + + + :/icons/remove:/icons/remove + + + + + + + + + &Address: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + address + + + + + + + 0 + + + + + true + + + Address associated to the public key + + + Enter one of your addresses to get its public key + + + + + + + Choose address from address book + + + + + + + :/icons/address-book:/icons/address-book + + + Alt+A + + + + + + + + + Label: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + + + + true + + + + + + + + QValidatedLineEdit + QLineEdit +
qvalidatedlineedit.h
+
+
+ + + + +
diff --git a/src/qt/forms/multisigdialog.ui b/src/qt/forms/multisigdialog.ui new file mode 100644 index 00000000..9b58ebc5 --- /dev/null +++ b/src/qt/forms/multisigdialog.ui @@ -0,0 +1,793 @@ + + + MultisigDialog + + + + 0 + 0 + 1327 + 595 + + + + Multisig + + + + + + 0 + + + + &Create Address + + + + + + true + + + + + 0 + 0 + 1283 + 345 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + Add a member to the signing pool + + + &Add public key... + + + + :/icons/add:/icons/add + + + + + + + + 0 + 0 + + + + Remove all public key fields + + + Clear all + + + + :/icons/remove:/icons/remove + + + 300 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Required signatures: + + + + + + + + 0 + 0 + + + + + 127 + 0 + + + + + + + 2 + + + true + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + Enter a number + + + + + + + / 1 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Create multisig address + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Multisig address: + + + + + + + true + + + + + + + Copy the multisig address to the system clipboard + + + + + + + :/icons/editcopy:/icons/editcopy + + + false + + + + + + + + + + + Redeem script: + + + + + + + true + + + + + + + Copy the redeem script to the system clipboard + + + + + + + :/icons/editcopy:/icons/editcopy + + + false + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + The redeem script will be required to spend the funds sent to the multisig address + + + Save redeem script + + + + + + + Add the multisig address to your personal addresses + + + Add address to wallet + + + + + + + + + + &Spend Funds + + + + + + + + + + Inputs + + + + + + + 0 + 0 + + + + true + + + + + 0 + 0 + 616 + 271 + + + + + + + + + + Qt::Vertical + + + + 20 + 42 + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Inputs amount: + + + + + + + 123.456 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + <strong>DNR</strong> + + + + + + + + + + + Add input... + + + + :/icons/add:/icons/add + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Outputs + + + + + + + 0 + 0 + + + + true + + + + + 0 + 0 + 615 + 243 + + + + + + + + + + Qt::Vertical + + + + 20 + 42 + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Outputs amount: + + + + + + + 123.456 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + <strong>DNR</strong> + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Fee: + + + + + + + 123.456 + + + + + + + <strong>DNR</strong> + + + + + + + + + + + Add output... + + + + :/icons/add:/icons/add + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + Create transaction + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + 0 + 0 + + + + Enter a raw transaction or create a new one + + + + + + + + + + + + + + :/icons/editcopy:/icons/editcopy + + + false + + + + + + + Paste transaction from clipboard + + + + + + + :/icons/editpaste:/icons/editpaste + + + Alt+P + + + false + + + + + + + + + + + Sign transaction + + + + :/icons/edit:/icons/edit + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + 0 + 0 + + + + true + + + + + + + + + + + + + + :/icons/editcopy:/icons/editcopy + + + false + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Send transaction + + + + :/icons/send:/icons/send + + + + + + + + + + + + + + + + + + diff --git a/src/qt/forms/multisiginputentry.ui b/src/qt/forms/multisiginputentry.ui new file mode 100644 index 00000000..17662fc2 --- /dev/null +++ b/src/qt/forms/multisiginputentry.ui @@ -0,0 +1,160 @@ + + +MultisigInputEntry + + + +0 +0 +729 +136 + + + +Form + + +QFrame::StyledPanel + + +QFrame::Sunken + + + + + +0 + + + + + + + +Enter a transaction id + + + + + + + + + + + + + +:/icons/editpaste:/icons/editpaste + + +Alt+P + + + + + + + + + + + + + +:/icons/remove:/icons/remove + + + + + + + + +Transaction id: + + +Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + +transactionId + + + + + + +Transaction output: + + +Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + +Redeem script: + + +Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + +redeemScript + + + + + + +0 + + + + +true + + + + + +Enter the redeem script of the address in the transaction output + + + + + + + + + + + + + +:/icons/editpaste:/icons/editpaste + + +Alt+A + + + + + + + + + + + + +QValidatedLineEdit +QLineEdit +
qvalidatedlineedit.h
+
+
+ + + + +
\ No newline at end of file diff --git a/src/qt/multisigaddressentry.cpp b/src/qt/multisigaddressentry.cpp new file mode 100644 index 00000000..6c07daec --- /dev/null +++ b/src/qt/multisigaddressentry.cpp @@ -0,0 +1,144 @@ +#include +#include +#include +#include + +#include "addressbookpage.h" +#include "addresstablemodel.h" +#include "base58.h" +#include "guiutil.h" +#include "key.h" +#include "multisigaddressentry.h" +#include "ui_multisigaddressentry.h" +#include "walletmodel.h" + + +MultisigAddressEntry::MultisigAddressEntry(QWidget *parent) : QFrame(parent), ui(new Ui::MultisigAddressEntry), model(0) +{ + ui->setupUi(this); + GUIUtil::setupAddressWidget(ui->address, this); +} + +MultisigAddressEntry::~MultisigAddressEntry() +{ + delete ui; +} + +void MultisigAddressEntry::setModel(WalletModel *model) +{ + this->model = model; + clear(); +} + +void MultisigAddressEntry::clear() +{ + ui->pubkey->clear(); + ui->address->clear(); + ui->label->clear(); + ui->pubkey->setFocus(); +} + +bool MultisigAddressEntry::validate() +{ + return !ui->pubkey->text().isEmpty(); +} + +QString MultisigAddressEntry::getPubkey() +{ + return ui->pubkey->text(); +} + +void MultisigAddressEntry::setRemoveEnabled(bool enabled) +{ + ui->deleteButton->setEnabled(enabled); +} + +void MultisigAddressEntry::on_pasteButton_clicked() +{ + ui->address->setText(QApplication::clipboard()->text()); +} + +void MultisigAddressEntry::on_deleteButton_clicked() +{ + emit removeEntry(this); +} + +void MultisigAddressEntry::on_addressBookButton_clicked() +{ + if(!model) + return; + + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this); + dlg.setModel(model->getAddressTableModel()); + if(dlg.exec()) + { + ui->address->setText(dlg.getReturnValue()); + } +} + +void MultisigAddressEntry::on_pubkey_textChanged(const QString &pubkey) +{ + // Compute address from public key + std::vector vchPubKey(ParseHex(pubkey.toStdString().c_str())); + CPubKey pkey(vchPubKey); + CKeyID keyID = pkey.GetID(); + CBitcoinAddress address(keyID); + ui->address->setText(address.ToString().c_str()); + + if(!model) + return; + + // Get label of address + QString associatedLabel = model->getAddressTableModel()->labelForAddress(address.ToString().c_str()); + if(!associatedLabel.isEmpty()) + ui->label->setText(associatedLabel); + else + ui->label->setText(QString()); +} + +void MultisigAddressEntry::on_address_textChanged(const QString &address) +{ + if(!model) + return; + + // Get public key of address + CBitcoinAddress addr(address.toStdString().c_str()); + CKeyID keyID; + if(addr.GetKeyID(keyID)) + { + CPubKey vchPubKey; + model->getPubKey(keyID, vchPubKey); + std::string pubkey = HexStr(vchPubKey.Raw()); + if(!pubkey.empty()) + ui->pubkey->setText(pubkey.c_str()); + } + + // Get label of address + QString associatedLabel = model->getAddressTableModel()->labelForAddress(address); + if(!associatedLabel.isEmpty()) + ui->label->setText(associatedLabel); +} +/* +void MultisigAddressEntry::on_address_textChanged(const QString &address) +{ + if(!model) + return; + + // Get public key of address + CBitcoinAddress addr(address.toStdString().c_str()); + CKeyID keyID; + if(addr.GetKeyID(keyID)) + { + CPubKey vchPubKey; + model->getPubKey(keyID, vchPubKey); + std::string pubkey = HexStr(vchPubKey.begin(), vchPubKey.end()); + if(!pubkey.empty()) + ui->pubkey->setText(pubkey.c_str()); + } + + // Get label of address + QString associatedLabel = model->getAddressTableModel()->labelForAddress(address); + if(!associatedLabel.isEmpty()) + ui->label->setText(associatedLabel); +} +*/ diff --git a/src/qt/multisigaddressentry.h b/src/qt/multisigaddressentry.h new file mode 100644 index 00000000..85f5d16e --- /dev/null +++ b/src/qt/multisigaddressentry.h @@ -0,0 +1,44 @@ +#ifndef MULTISIGADDRESSENTRY_H +#define MULTISIGADDRESSENTRY_H + +#include + + +class WalletModel; + +namespace Ui +{ + class MultisigAddressEntry; +} + +class MultisigAddressEntry : public QFrame +{ + Q_OBJECT; + + public: + explicit MultisigAddressEntry(QWidget *parent = 0); + ~MultisigAddressEntry(); + void setModel(WalletModel *model); + bool validate(); + QString getPubkey(); + + public slots: + void setRemoveEnabled(bool enabled); + void clear(); + + signals: + void removeEntry(MultisigAddressEntry *entry); + + private: + Ui::MultisigAddressEntry *ui; + WalletModel *model; + + private slots: + void on_pubkey_textChanged(const QString &pubkey); + void on_pasteButton_clicked(); + void on_deleteButton_clicked(); + void on_address_textChanged(const QString &address); + void on_addressBookButton_clicked(); +}; + +#endif // MULTISIGADDRESSENTRY_H \ No newline at end of file diff --git a/src/qt/multisigdialog.cpp b/src/qt/multisigdialog.cpp new file mode 100644 index 00000000..46765f9b --- /dev/null +++ b/src/qt/multisigdialog.cpp @@ -0,0 +1,645 @@ +#include +#include +#include +#include +#include + +#include "addresstablemodel.h" +#include "base58.h" +#include "key.h" +#include "main.h" +#include "multisigaddressentry.h" +#include "multisiginputentry.h" +#include "multisigdialog.h" +#include "ui_multisigdialog.h" +#include "script.h" +#include "sendcoinsentry.h" +#include "util.h" +#include "wallet.h" +#include "walletmodel.h" + + +#ifdef USE_LEVELDB +#include "txdb-leveldb.h" +#else +#include "txdb-bdb.h" +#endif + +MultisigDialog::MultisigDialog(QWidget *parent) : QDialog(parent), ui(new Ui::MultisigDialog), model(0) +{ + ui->setupUi(this); + +#ifdef Q_WS_MAC // Icons on push buttons are very uncommon on Mac + ui->addPubKeyButton->setIcon(QIcon()); + ui->clearButton->setIcon(QIcon()); + ui->addInputButton->setIcon(QIcon()); + ui->addOutputButton->setIcon(QIcon()); + ui->signTransactionButton->setIcon(QIcon()); + ui->sendTransactionButton->setIcon(QIcon()); +#endif + + addPubKey(); + addPubKey(); + + connect(ui->addPubKeyButton, SIGNAL(clicked()), this, SLOT(addPubKey())); + connect(ui->clearButton, SIGNAL(clicked()), this, SLOT(clear())); + + addInput(); + addOutput(); + + connect(ui->addInputButton, SIGNAL(clicked()), this, SLOT(addInput())); + connect(ui->addOutputButton, SIGNAL(clicked()), this, SLOT(addOutput())); + + ui->signTransactionButton->setEnabled(false); + ui->sendTransactionButton->setEnabled(false); +} + +MultisigDialog::~MultisigDialog() +{ + delete ui; +} + +void MultisigDialog::setModel(WalletModel *model) +{ + this->model = model; + + for(int i = 0; i < ui->pubkeyEntries->count(); i++) + { + MultisigAddressEntry *entry = qobject_cast(ui->pubkeyEntries->itemAt(i)->widget()); + if(entry) + entry->setModel(model); + } + + + for(int i = 0; i < ui->inputs->count(); i++) + { + MultisigInputEntry *entry = qobject_cast(ui->inputs->itemAt(i)->widget()); + if(entry) + entry->setModel(model); + } + + + for(int i = 0; i < ui->outputs->count(); i++) + { + SendCoinsEntry *entry = qobject_cast(ui->outputs->itemAt(i)->widget()); + if(entry) + entry->setModel(model); + } + + updateAmounts(); +} + +void MultisigDialog::updateRemoveEnabled() +{ + bool enabled = (ui->pubkeyEntries->count() > 2); + + for(int i = 0; i < ui->pubkeyEntries->count(); i++) + { + MultisigAddressEntry *entry = qobject_cast(ui->pubkeyEntries->itemAt(i)->widget()); + if(entry) + entry->setRemoveEnabled(enabled); + } + + QString maxSigsStr; + maxSigsStr.setNum(ui->pubkeyEntries->count()); + ui->maxSignaturesLabel->setText(QString("/ ") + maxSigsStr); + + + enabled = (ui->inputs->count() > 1); + for(int i = 0; i < ui->inputs->count(); i++) + { + MultisigInputEntry *entry = qobject_cast(ui->inputs->itemAt(i)->widget()); + if(entry) + entry->setRemoveEnabled(enabled); + } + + + enabled = (ui->outputs->count() > 1); + for(int i = 0; i < ui->outputs->count(); i++) + { + SendCoinsEntry *entry = qobject_cast(ui->outputs->itemAt(i)->widget()); + if(entry) + entry->setRemoveEnabled(enabled); + } +} + +void MultisigDialog::on_createAddressButton_clicked() +{ + ui->multisigAddress->clear(); + ui->redeemScript->clear(); + + if(!model) + return; + + std::vector pubkeys; + pubkeys.resize(ui->pubkeyEntries->count()); + unsigned int required = ui->requiredSignatures->text().toUInt(); + + for(int i = 0; i < ui->pubkeyEntries->count(); i++) + { + MultisigAddressEntry *entry = qobject_cast(ui->pubkeyEntries->itemAt(i)->widget()); + if(!entry->validate()) + return; + QString str = entry->getPubkey(); + CPubKey vchPubKey(ParseHex(str.toStdString().c_str())); + if(!vchPubKey.IsValid()) + return; + pubkeys[i] = vchPubKey; + } + + if(pubkeys.size() > 16) + { + QMessageBox::warning(this, tr("Error"), tr("Number of addresses involved in the address creation > %1\nReduce the number").arg(16), QMessageBox::Ok); + return; + } + + if(required == 0) + { + QMessageBox::warning(this, tr("Error"), tr("Number of required signatures is 0\nNumber of required signatures must be between 1 and number of keys involved in the creation of address."), QMessageBox::Ok); + return; + } + + if(required > pubkeys.size()) + { + QMessageBox::warning(this, tr("Error"), tr("Number of required signatures > Number of keys involved in the creation of address."), QMessageBox::Ok); + return; + } + + CScript script; + script.SetMultisigpub(required, pubkeys); + if (script.size() > MAX_SCRIPT_ELEMENT_SIZE) + { + QMessageBox::warning(this, tr("Error"), tr("Redeem script exceeds size limit: %1 > %2\nReduce the number of addresses involved in the address creation.").arg(script.size()).arg(MAX_SCRIPT_ELEMENT_SIZE), QMessageBox::Ok); + return; + } + CScriptID scriptID = script.GetID(); + CBitcoinAddress address(scriptID); + + ui->multisigAddress->setText(address.ToString().c_str()); + ui->redeemScript->setText(HexStr(script.begin(), script.end()).c_str()); +} + +void MultisigDialog::on_copyMultisigAddressButton_clicked() +{ + QApplication::clipboard()->setText(ui->multisigAddress->text()); +} + +void MultisigDialog::on_copyRedeemScriptButton_clicked() +{ + QApplication::clipboard()->setText(ui->redeemScript->text()); +} + +void MultisigDialog::on_saveRedeemScriptButton_clicked() +{ + if(!model) + return; + + CWallet *wallet = model->getWallet(); + std::string redeemScript = ui->redeemScript->text().toStdString(); + std::vector scriptData(ParseHex(redeemScript)); + CScript script(scriptData.begin(), scriptData.end()); + CScriptID scriptID = script.GetID(); + + LOCK(wallet->cs_wallet); + if(!wallet->HaveCScript(scriptID)) + wallet->AddCScript(script); +} + +void MultisigDialog::on_saveMultisigAddressButton_clicked() +{ + if(!model) + return; + + CWallet *wallet = model->getWallet(); + std::string redeemScript = ui->redeemScript->text().toStdString(); + std::string address = ui->multisigAddress->text().toStdString(); + std::string label("multisig"); + + if(!model->validateAddress(QString(address.c_str()))) + return; + + std::vector scriptData(ParseHex(redeemScript)); + CScript script(scriptData.begin(), scriptData.end()); + CScriptID scriptID = script.GetID(); + + LOCK(wallet->cs_wallet); + if(!wallet->HaveCScript(scriptID)) + wallet->AddCScript(script); + if(!wallet->mapAddressBook.count(CBitcoinAddress(address).Get())) + wallet->SetAddressBookName(CBitcoinAddress(address).Get(), label); +} + +void MultisigDialog::clear() +{ + while(ui->pubkeyEntries->count()) + delete ui->pubkeyEntries->takeAt(0)->widget(); + + addPubKey(); + addPubKey(); + updateRemoveEnabled(); +} + +MultisigAddressEntry * MultisigDialog::addPubKey() +{ + MultisigAddressEntry *entry = new MultisigAddressEntry(this); + + entry->setModel(model); + ui->pubkeyEntries->addWidget(entry); + connect(entry, SIGNAL(removeEntry(MultisigAddressEntry *)), this, SLOT(removeEntry(MultisigAddressEntry *))); + updateRemoveEnabled(); + entry->clear(); + ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->sizeHint()); + QScrollBar *bar = ui->scrollArea->verticalScrollBar(); + if(bar) + bar->setSliderPosition(bar->maximum()); + + return entry; +} + +void MultisigDialog::removeEntry(MultisigAddressEntry *entry) +{ + delete entry; + updateRemoveEnabled(); +} + +void MultisigDialog::on_createTransactionButton_clicked() +{ + CTransaction transaction; + + // Get inputs + for(int i = 0; i < ui->inputs->count(); i++) + { + MultisigInputEntry *entry = qobject_cast(ui->inputs->itemAt(i)->widget()); + if(entry) + { + if(entry->validate()) + { + CTxIn input = entry->getInput(); + transaction.vin.push_back(input); + } + else + return; + } + } + + // Get outputs + for(int i = 0; i < ui->outputs->count(); i++) + { + SendCoinsEntry *entry = qobject_cast(ui->outputs->itemAt(i)->widget()); + + if(entry) + { + if(entry->validate()) + { + SendCoinsRecipient recipient = entry->getValue(); + CBitcoinAddress address(recipient.address.toStdString()); + CScript scriptPubKey; + scriptPubKey.SetDestination(address.Get()); + int64_t amount = recipient.amount; + CTxOut output(amount, scriptPubKey); + transaction.vout.push_back(output); + } + else + return; + } + } + + CDataStream ss(SER_NETWORK, PROTOCOL_VERSION); + ss << transaction; + ui->transaction->setText(HexStr(ss.begin(), ss.end()).c_str()); +} + +void MultisigDialog::on_transaction_textChanged() +{ + ui->fee->setStyleSheet(""); + ui->statusLabel->setText(""); + + while(ui->inputs->count()) + delete ui->inputs->takeAt(0)->widget(); + while(ui->outputs->count()) + delete ui->outputs->takeAt(0)->widget(); + + if(ui->transaction->text().size() > 0) + ui->signTransactionButton->setEnabled(true); + else + ui->signTransactionButton->setEnabled(false); + + // Decode the raw transaction + std::vector txData(ParseHex(ui->transaction->text().toStdString())); + CDataStream ss(txData, SER_NETWORK, PROTOCOL_VERSION); + CTransaction tx; + try + { + ss >> tx; + } + catch(std::exception &e) + { + return; + } + + // Fill input list + int index = -1; + BOOST_FOREACH(const CTxIn& txin, tx.vin) + { + uint256 prevoutHash = txin.prevout.hash; + addInput(); + index++; + MultisigInputEntry *entry = qobject_cast(ui->inputs->itemAt(index)->widget()); + if(entry) + { + entry->setTransactionId(QString(prevoutHash.GetHex().c_str())); + entry->setTransactionOutputIndex(txin.prevout.n); + } + } + + // Fill output list + index = -1; + BOOST_FOREACH(const CTxOut& txout, tx.vout) + { + CScript scriptPubKey = txout.scriptPubKey; + CTxDestination addr; + ExtractDestination(scriptPubKey, addr); + CBitcoinAddress address(addr); + SendCoinsRecipient recipient; + recipient.address = QString(address.ToString().c_str()); + recipient.amount = txout.nValue; + addOutput(); + index++; + SendCoinsEntry *entry = qobject_cast(ui->outputs->itemAt(index)->widget()); + if(entry) + { + entry->setValue(recipient); + } + } + + updateRemoveEnabled(); + + // Check the fee + int64_t transactionSize = ui->transaction->text().size() / 2; + if(transactionSize == 0) + return; + transactionSize += ui->inputs->count() * 73; // Future ECDSA signatures in DER format + int64_t fee = (int64_t ) (ui->fee->text().toDouble() * COIN); + int64_t minFee = MIN_TX_FEE * (1 + (int64_t) transactionSize / 1000); + if(fee < minFee) + { + ui->fee->setStyleSheet("color:red;"); + ui->statusLabel->setText(tr("The transaction fee might be too small.")); + } + else if(fee > minFee) + { + ui->fee->setStyleSheet("color:red;"); + ui->statusLabel->setText(tr("The transaction fee might be too big. Don't forget to add an output for the change address.")); + } +} + +void MultisigDialog::on_copyTransactionButton_clicked() +{ + QApplication::clipboard()->setText(ui->transaction->text()); +} + +void MultisigDialog::on_pasteTransactionButton_clicked() +{ + ui->transaction->setText(QApplication::clipboard()->text()); +} + +void MultisigDialog::on_signTransactionButton_clicked() +{ + ui->signedTransaction->clear(); + + if(!model) + return; + + CWallet *wallet = model->getWallet(); + + // Decode the raw transaction + std::vector txData(ParseHex(ui->transaction->text().toStdString())); + CDataStream ss(txData, SER_NETWORK, PROTOCOL_VERSION); + CTransaction tx; + try + { + ss >> tx; + } + catch(std::exception &e) + { + return; + } + CTransaction mergedTx(tx); + + // Fetch previous transactions (inputs) + std::map mapPrevOut; + for(int i = 0; i < mergedTx.vin.size(); i++) + { + CTransaction tempTx; + MapPrevTx mapPrevTx; + CTxDB txdb("r"); + std::map unused; + bool fInvalid; + + tempTx.vin.push_back(mergedTx.vin[i]); + tempTx.FetchInputs(txdb, unused, false, false, mapPrevTx, fInvalid); + + BOOST_FOREACH(const CTxIn& txin, tempTx.vin) + { + const uint256& prevHash = txin.prevout.hash; + if(mapPrevTx.count(prevHash) && mapPrevTx[prevHash].second.vout.size() > txin.prevout.n) + mapPrevOut[txin.prevout] = mapPrevTx[prevHash].second.vout[txin.prevout.n].scriptPubKey; + } + } + + // Add the redeem scripts to the wallet keystore + for(int i = 0; i < ui->inputs->count(); i++) + { + MultisigInputEntry *entry = qobject_cast(ui->inputs->itemAt(i)->widget()); + if(entry) + { + QString redeemScriptStr = entry->getRedeemScript(); + if(redeemScriptStr.size() > 0) + { + std::vector scriptData(ParseHex(redeemScriptStr.toStdString())); + CScript redeemScript(scriptData.begin(), scriptData.end()); + wallet->AddCScript(redeemScript); + } + } + } + + WalletModel::UnlockContext ctx(model->requestUnlock()); + if(!ctx.isValid()) + return; + + // Sign what we can + bool fComplete = true; + for(int i = 0; i < mergedTx.vin.size(); i++) + { + CTxIn& txin = mergedTx.vin[i]; + if(mapPrevOut.count(txin.prevout) == 0) + { + fComplete = false; + continue; + } + const CScript& prevPubKey = mapPrevOut[txin.prevout]; + + txin.scriptSig.clear(); + SignSignature(*wallet, prevPubKey, mergedTx, i, SIGHASH_ALL); + txin.scriptSig = CombineSignatures(prevPubKey, mergedTx, i, txin.scriptSig, tx.vin[i].scriptSig); + if(!VerifyScript(txin.scriptSig, prevPubKey, mergedTx, i, 0)) + { + fComplete = false; + } + } + + CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); + ssTx << mergedTx; + ui->signedTransaction->setText(HexStr(ssTx.begin(), ssTx.end()).c_str()); + + if(fComplete) + { + ui->statusLabel->setText(tr("The transaction signature is complete.")); + ui->sendTransactionButton->setEnabled(true); + } + else + { + ui->statusLabel->setText(tr("The transaction is NOT completely signed.")); + ui->sendTransactionButton->setEnabled(false); + } +} + +void MultisigDialog::on_copySignedTransactionButton_clicked() +{ + QApplication::clipboard()->setText(ui->signedTransaction->text()); +} + +void MultisigDialog::on_sendTransactionButton_clicked() +{ + int64_t transactionSize = ui->signedTransaction->text().size() / 2; + if(transactionSize == 0) + return; + + // Check the fee + int64_t fee = (int64_t ) (ui->fee->text().toDouble() * COIN); + int64_t minFee = MIN_TX_FEE * (1 + (int64_t) transactionSize / 10000); + if(fee < minFee) + { + QMessageBox::StandardButton ret = QMessageBox::question(this, tr("Confirm send transaction"), tr("The fee of the transaction (%1 DNR) is smaller than the expected fee (%2 DNR). Do you want to send the transaction anyway?").arg((double) fee / COIN).arg((double) minFee / COIN), QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel); + if(ret != QMessageBox::Yes) + return; + } + else if(fee > minFee) + { + QMessageBox::StandardButton ret = QMessageBox::question(this, tr("Confirm send transaction"), tr("The fee of the transaction (%1 DNR) is bigger than the expected fee (%2 DNR). Do you want to send the transaction anyway?").arg((double) fee / COIN).arg((double) minFee / COIN), QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel); + if(ret != QMessageBox::Yes) + return; + } + + // Decode the raw transaction + std::vector txData(ParseHex(ui->signedTransaction->text().toStdString())); + CDataStream ssData(txData, SER_NETWORK, PROTOCOL_VERSION); + CTransaction tx; + try + { + ssData >> tx; + } + catch(const std::exception&) + { + return; + } + uint256 txHash = tx.GetHash(); + + // Check if the transaction is already in the blockchain + CTransaction existingTx; + uint256 blockHash = 0; + if(GetTransaction(txHash, existingTx, blockHash)) + { + if(blockHash != 0) + return; + } + + // Send the transaction to the local node + CTxDB txdb("r"); + if(!tx.AcceptToMemoryPool(txdb, false)) + return; + SyncWithWallets(tx, NULL, true); + //(CInv(MSG_TX, txHash), tx); + RelayTransaction(tx, txHash); +} + +MultisigInputEntry * MultisigDialog::addInput() +{ + MultisigInputEntry *entry = new MultisigInputEntry(this); + + entry->setModel(model); + ui->inputs->addWidget(entry); + connect(entry, SIGNAL(removeEntry(MultisigInputEntry *)), this, SLOT(removeEntry(MultisigInputEntry *))); + connect(entry, SIGNAL(updateAmount()), this, SLOT(updateAmounts())); + updateRemoveEnabled(); + entry->clear(); + ui->scrollAreaWidgetContents_2->resize(ui->scrollAreaWidgetContents_2->sizeHint()); + QScrollBar *bar = ui->scrollArea_2->verticalScrollBar(); + if(bar) + bar->setSliderPosition(bar->maximum()); + + return entry; +} + +void MultisigDialog::removeEntry(MultisigInputEntry *entry) +{ + delete entry; + updateRemoveEnabled(); +} + +SendCoinsEntry * MultisigDialog::addOutput() +{ + SendCoinsEntry *entry = new SendCoinsEntry(this); + + entry->setModel(model); + ui->outputs->addWidget(entry); + connect(entry, SIGNAL(removeEntry(SendCoinsEntry *)), this, SLOT(removeEntry(SendCoinsEntry *))); + connect(entry, SIGNAL(payAmountChanged()), this, SLOT(updateAmounts())); + updateRemoveEnabled(); + entry->clear(); + ui->scrollAreaWidgetContents_3->resize(ui->scrollAreaWidgetContents_3->sizeHint()); + QScrollBar *bar = ui->scrollArea_3->verticalScrollBar(); + if(bar) + bar->setSliderPosition(bar->maximum()); + + return entry; +} + +void MultisigDialog::removeEntry(SendCoinsEntry *entry) +{ + delete entry; + updateRemoveEnabled(); +} + +void MultisigDialog::updateAmounts() +{ + // Update inputs amount + int64_t inputsAmount = 0; + for(int i = 0; i < ui->inputs->count(); i++) + { + MultisigInputEntry *entry = qobject_cast(ui->inputs->itemAt(i)->widget()); + if(entry) + inputsAmount += entry->getAmount(); + } + QString inputsAmountStr; + inputsAmountStr.sprintf("%.6f", (double) inputsAmount / COIN); + ui->inputsAmount->setText(inputsAmountStr); + + // Update outputs amount + int64_t outputsAmount = 0; + for(int i = 0; i < ui->outputs->count(); i++) + { + SendCoinsEntry *entry = qobject_cast(ui->outputs->itemAt(i)->widget()); + if(entry) + outputsAmount += entry->getValue().amount; + } + QString outputsAmountStr; + outputsAmountStr.sprintf("%.6f", (double) outputsAmount / COIN); + ui->outputsAmount->setText(outputsAmountStr); + + // Update fee amount + int64_t fee = inputsAmount - outputsAmount; + QString feeStr; + feeStr.sprintf("%.6f", (double) fee / COIN); + ui->fee->setText(feeStr); +} \ No newline at end of file diff --git a/src/qt/multisigdialog.h b/src/qt/multisigdialog.h new file mode 100644 index 00000000..21b806ac --- /dev/null +++ b/src/qt/multisigdialog.h @@ -0,0 +1,56 @@ +#ifndef MULTISIGDIALOG_H +#define MULTISIGDIALOG_H + +#include + +#include "multisigaddressentry.h" +#include "multisiginputentry.h" +#include "sendcoinsentry.h" +#include "walletmodel.h" + + +namespace Ui +{ + class MultisigDialog; +} + +class MultisigDialog : public QDialog +{ + Q_OBJECT; + + public: + explicit MultisigDialog(QWidget *parent); + ~MultisigDialog(); + void setModel(WalletModel *model); + + public slots: + MultisigAddressEntry * addPubKey(); + void clear(); + void updateRemoveEnabled(); + MultisigInputEntry * addInput(); + SendCoinsEntry * addOutput(); + + private: + Ui::MultisigDialog *ui; + WalletModel *model; + + private slots: + void on_createAddressButton_clicked(); + void on_copyMultisigAddressButton_clicked(); + void on_copyRedeemScriptButton_clicked(); + void on_saveRedeemScriptButton_clicked(); + void on_saveMultisigAddressButton_clicked(); + void removeEntry(MultisigAddressEntry *entry); + void on_createTransactionButton_clicked(); + void on_transaction_textChanged(); + void on_copyTransactionButton_clicked(); + void on_pasteTransactionButton_clicked(); + void on_signTransactionButton_clicked(); + void on_copySignedTransactionButton_clicked(); + void on_sendTransactionButton_clicked(); + void removeEntry(MultisigInputEntry *entry); + void removeEntry(SendCoinsEntry *entry); + void updateAmounts(); +}; + +#endif // MULTISIGDIALOG_H \ No newline at end of file diff --git a/src/qt/multisiginputentry.cpp b/src/qt/multisiginputentry.cpp new file mode 100644 index 00000000..bf310aba --- /dev/null +++ b/src/qt/multisiginputentry.cpp @@ -0,0 +1,174 @@ +#include +#include +#include +#include + +#include "base58.h" +#include "multisiginputentry.h" +#include "ui_multisiginputentry.h" +#include "main.h" +#include "script.h" +#include "util.h" +#include "wallet.h" +#include "walletmodel.h" + + +MultisigInputEntry::MultisigInputEntry(QWidget *parent) : QFrame(parent), ui(new Ui::MultisigInputEntry), model(0) +{ + ui->setupUi(this); +} + +MultisigInputEntry::~MultisigInputEntry() +{ + delete ui; +} + +void MultisigInputEntry::setModel(WalletModel *model) +{ + this->model = model; + clear(); +} + +void MultisigInputEntry::clear() +{ + ui->transactionId->clear(); + ui->transactionOutput->clear(); + ui->redeemScript->clear(); +} + +bool MultisigInputEntry::validate() +{ + return (ui->transactionOutput->count() > 0); +} + +CTxIn MultisigInputEntry::getInput() +{ + unsigned int nOutput = ui->transactionOutput->currentIndex(); + CTxIn input(COutPoint(txHash, nOutput)); + + return input; +} + +int64_t MultisigInputEntry::getAmount() +{ + int64_t amount = 0; + unsigned int nOutput = ui->transactionOutput->currentIndex(); + CTransaction tx; + uint256 blockHash = 0; + + if(GetTransaction(txHash, tx, blockHash)) + { + if(nOutput < tx.vout.size()) + { + const CTxOut& txOut = tx.vout[nOutput]; + amount = txOut.nValue; + } + } + + return amount; +} + +QString MultisigInputEntry::getRedeemScript() +{ + return ui->redeemScript->text(); +} + +void MultisigInputEntry::setTransactionId(QString transactionId) +{ + ui->transactionId->setText(transactionId); +} + +void MultisigInputEntry::setTransactionOutputIndex(int index) +{ + ui->transactionOutput->setCurrentIndex(index); +} + +void MultisigInputEntry::setRemoveEnabled(bool enabled) +{ + ui->deleteButton->setEnabled(enabled); +} + +void MultisigInputEntry::on_pasteTransactionIdButton_clicked() +{ + ui->transactionId->setText(QApplication::clipboard()->text()); +} + +void MultisigInputEntry::on_deleteButton_clicked() +{ + emit removeEntry(this); +} + +void MultisigInputEntry::on_pasteRedeemScriptButton_clicked() +{ + ui->redeemScript->setText(QApplication::clipboard()->text()); +} + +void MultisigInputEntry::on_transactionId_textChanged(const QString &transactionId) +{ + ui->transactionOutput->clear(); + if(transactionId.isEmpty()) + return; + + // Make list of transaction outputs + txHash.SetHex(transactionId.toStdString().c_str()); + CTransaction tx; + uint256 blockHash = 0; + if(!GetTransaction(txHash, tx, blockHash)) + return; + for(unsigned int i = 0; i < tx.vout.size(); i++) + { + QString idStr; + idStr.setNum(i); + const CTxOut& txOut = tx.vout[i]; + int64_t amount = txOut.nValue; + QString amountStr; + amountStr.sprintf("%.6f", (double) amount / COIN); + CScript script = txOut.scriptPubKey; + CTxDestination addr; + if(ExtractDestination(script, addr)) + { + CBitcoinAddress address(addr); + QString addressStr(address.ToString().c_str()); + ui->transactionOutput->addItem(idStr + QString(" - ") + addressStr + QString(" - ") + amountStr + QString(" DNR")); + } + else + ui->transactionOutput->addItem(idStr + QString(" - ") + amountStr + QString(" DNR")); + } +} + +void MultisigInputEntry::on_transactionOutput_currentIndexChanged(int index) +{ + if(ui->transactionOutput->itemText(index).isEmpty()) + return; + + CTransaction tx; + uint256 blockHash = 0; + if(!GetTransaction(txHash, tx, blockHash)) + return; + const CTxOut& txOut = tx.vout[index]; + CScript script = txOut.scriptPubKey; + + if(script.IsPayToScriptHash()) + { + ui->redeemScript->setEnabled(true); + + if(model) + { + // Try to find the redeem script + CTxDestination dest; + if(ExtractDestination(script, dest)) + { + CScriptID scriptID = boost::get(dest); + CScript redeemScript; + if(model->getWallet()->GetCScript(scriptID, redeemScript)) + ui->redeemScript->setText(HexStr(redeemScript.begin(), redeemScript.end()).c_str()); + } + } + } + else + { + ui->redeemScript->setEnabled(false); + } + + emit updateAmount(); +} \ No newline at end of file diff --git a/src/qt/multisiginputentry.h b/src/qt/multisiginputentry.h new file mode 100644 index 00000000..1a181af7 --- /dev/null +++ b/src/qt/multisiginputentry.h @@ -0,0 +1,53 @@ +#ifndef MULTISIGINPUTENTRY_H +#define MULTISIGINPUTENTRY_H + +#include + +#include "uint256.h" + + +class CTxIn; +class WalletModel; + +namespace Ui +{ + class MultisigInputEntry; +} + +class MultisigInputEntry : public QFrame +{ + Q_OBJECT; + + public: + explicit MultisigInputEntry(QWidget *parent = 0); + ~MultisigInputEntry(); + void setModel(WalletModel *model); + bool validate(); + CTxIn getInput(); + int64_t getAmount(); + QString getRedeemScript(); + void setTransactionId(QString transactionId); + void setTransactionOutputIndex(int index); + + public slots: + void setRemoveEnabled(bool enabled); + void clear(); + + signals: + void removeEntry(MultisigInputEntry *entry); + void updateAmount(); + + private: + Ui::MultisigInputEntry *ui; + WalletModel *model; + uint256 txHash; + + private slots: + void on_transactionId_textChanged(const QString &transactionId); + void on_pasteTransactionIdButton_clicked(); + void on_deleteButton_clicked(); + void on_transactionOutput_currentIndexChanged(int index); + void on_pasteRedeemScriptButton_clicked(); +}; + +#endif // MULTISIGINPUTENTRY_H \ No newline at end of file diff --git a/src/qt/res/icons/multi.png b/src/qt/res/icons/multi.png new file mode 100644 index 0000000000000000000000000000000000000000..43dd77f8437a3ade277f22b3f5a0f207390508d7 GIT binary patch literal 19205 zcmeI4cT`hZ)aWlox->yRfeE1WkU~uep*LyLq}T{45Ge@|r6~qc1a(A2q$3stL6D*- zO{s#SASeP-rHH7AhzJfKUl0qEak6H;_r3N0Nmi1ZefHUV-}BpNpL^~fH?iAo&DZm6 z;sF3)y`_bT1MO(A^5Np3ediGa251LvvV~g^0Pt>D`LF<~>EZyuV@EVL-oD+NL?H!v zlgJ=TV`C6GkVGK*;sGG!MTVo7ljFojy}5x;MpiM@b5*+K>cxk_;|K}&Khzr6OCy zc^6;_dCJQL)YzoeKqZea3%oH(*~LOV%2Gp#*RkTFiU0;-r;V-x24*bOjAVI7Ad4OF zXu*1p0NcTUhr;1kPXTJid`dVAu=AXZC`(p60NQ|$F#)`Ff$MEMPM89&P(XxW)qnuH z!2s0Kg!q#l*}eDhX6>IlNhlF8 zxCLZQyl|Nzudp$_c&5CkXKZw|ds~CiPRv7>Ltnk>_SU#8`F@E&EzZpj-5uT%3Ev%Q z&OSd>_vn*#wq)B`?xUW4uj0%XZ}ToMNSbH-@|6CP zdDd2dO0YZ|004VTwx~HhEY)w~0sxb&NaZ5K&7W$;RckmTYuEMF@-BL49W~n0P-i4) z#Dk+s26`x6KVqa9{kTX<*#q*-KuV*=-a9&h%&%7Ge1~6;EbteGE3;OyDw3Psu$gNE zM&?Bfi{}Yfxzk)?DaYnzYAx7>Pi_G{h!L@uwTjoYfH|CS0y$eqebftNMI7H{RuQk; z48V^pMpv1`&PA5k>pkPUWn7-Cz3HggCEh1E3M@5lV^-Rez?+-&PH9~nf0FMl@FEUv z+yt$8EzYUl;0sl|UvE^bqspCtZ7G($&X<3GQ_+s=Y?ZOI*tX(ecHv0V8g4E2U?UJl z+R(z)+SRt(A{QjNMMLNXw>CH1QTsXt*@RrHoAMPxUmCVX;Xr;lT@>PYEaDoGM7A`PgX2X#J@A z=;l$Gk2`rXJPiV_%sUP%Iy~IBO=3)NOk<1#pA0v2zMSgNpL@|sNHfmesNiCm!wvi6 zxf?Y0ry?FlZM3w?F1VEVbd$H3_Z;!YYf6Psf1}~RRia-j<*;Tnr`Jib0L!QKKiSmh?l_5^o z@~-9$(UEAY$sL;$=-Erg^_p|f)&UqQz-#Tt~^tz^-dpyr8m*k{>CBkhf zmcy;yy57$CihWk`-jS;NAYQCQX^5(f&-(o6{gIjt^2LvP4jxdhOkR?zJgJv=?IOZh zeVe*Vsl&`Uf3W+l+v)$=Bpaktv0Q6TZrU0Y}%%Dc=^3UcOdwRHJ492_*$->YcVX z-d%5CoQ+AuB)vQuU*3+o+-dfwnZPOH{aqtlM*Qyk-M=i)Aul6uW%I`7eX4^^`BkN> zy4JeZO^+WvzV!Hcie{P~tP4J#HlEg%Hh9~^J;YtLEVt|q-m+xW{i@shvMT>$?g+PR zS7-O#rDg>g1zVq27F6a4<&@hd*yd+G_o^?NE_+aR?Y2bGST{#+VVPgqA&i%&nAh#b z!ut0K)d`0x4*j{L$GQG^4}ZRtyHrHb%|H?44&*>;Yx;ZrLye!#Pe8m}+XUOX)kn%U zv?w(YGaS>NntO?Pl?O%5#GH(^I?|$+gjP%2e80cBdUP9QHemP5u#VY`w9>S?$=u!> z@3r0&-yiS0@JQo=Ql^`F(3ARR<01R8c75IpiBO-x>k)Rwc9CAU#^oSbNW4oySJCb4 z;Ji7^lodIY6C03UGM`$)UycJu8PyLwXQ-eZHthvk-W%VEpyKn`^)ix*pL zq+#Sv)`j`7gEIF{>mz&dpG$fs4Nqm28;Tmn9Vs|6R$CzB-TdxMfy~@^a%+4mk^k8C zh}X}baAICzPS!{8DI7a~%q3d?G&#m~Q#&k4Gq}CaIB3x1FO%~o18H6`JH!p}Hce%8 zp4vXt3+)Px3jOt{JYDzE+Y5HRVDrf8V=uJ#+y_HJ<=l;@wtn0Yy!A9sXq{A@mn@`Rt39UMc$c!Y?MDk` zo3OL*;;S@6w=}9}tB#c)Rk(Jh%6h$Ze;P7#W9k8rA6ySv4U0M(e-b|OUmN{T-iAmgaz5}WJ#&4X8^-BMK6PPvQn*g|<=L|AXe$@6l-!KTsDRL3o)OV?D$zSQuA}apC{y<9 zw9B7#Nh*w}mJhS>iQH5B@JQ_~7N57g&OBqs4!!N`n%r&Y3UM2}h50KwV>4Pb_C%pb zuUL}k;cmsgkg?6jNe}O(^qsqTEx(~0*GA|dOuQNZXYS-bpO^G1iQj*H&x@Pu2Y1|@ zoc(Ot3rTvc*jpJ@W?X*x9_mgNKIcK}V_kixD^8!B{&LcK-_d^y(>3qk{(f_K)n|=& zoxMA&=9bV8?)EyfINNj*I`IpZ3#D`Vg|T@P^XC`*b{E+C1xz-vb+9dQ%JG+Vl|Sp0 z>duiwbncTnSOs*j%*S-Ix)vRI48Xx`QpH-@ar!*pZ;+` z%1a8e&nWd{s#%(2>cURXofUSE(CyFP41_J3_x>S}u7Pq3-8SR&fcRqK$kPO`k8P(i z5;G1(sD0`4=)F`HK8|f2+$TVqst}~S>@ZzEIj&o!+q&!H9m>a&-mwiXcU)3$Aou#c zp}awTO?Yb8RGD6xT3Eizr~G|b^{sHi+{ETg?biNJ)uGcHm!EfLBJ}#JXTnHxjdQbu z8~Y;y6_#3CDtm$z-WOEaRqg#`FlpFh+<&}Nf9Kb}?y0`R`)Y!-X4?DA=Qxfb@P$!Cgvz4W!EP;4V4V!rcjS8IE6`^BV> zNeTD-4rVXCsd+1LqxXK@ed)UoLeyb3bCI#X_nrd2LEKFSoq>WI6X(Dvs z8mb^T6s84%A|NmgFcgM_B9KrR==)0+%|rWz3d9kR4kl*b!_g!?S#Ju3jD$dfgM-zA z)zwIWUJw`pfq+2a5I7u6>j4f5^`~G$!2UsUt4@CSF~J961Bqk`k>n3r@r&^!?WgF; z%B}?Z`T9OCKl0B&{z2c_(I`SfFk}c!4GQ_45f1y)hP*$}_uHxAun@d2-Vg6j38LA- zerremvHAaL{@Ng_7|Q2Ye7| ze;^ibdVn?*x!;YRLL~f3&fh$(X#Vxw@gc;2Fo!#A7I=KqnH( z7ri>me%(LOZl7qgN*ko;LiERxf`gP$5PFke`Tpe%Z-SxV(JPiFb zMG{DXei#ax=!fybL&*MKD9EqIH9ddMDx@*VmlQ}lEj(Hs1^Hd`Z>?zesoPg?Q_(>V z=0+e(Q)4X{LQ4w_SA(r}v!>q~Ki_67($YVOg7L@VEltq01~noPhlJy>+S)h`0@xFW z$AZ-f8dxv}fxv{0Owh**^l=1rllNC&qV8pOvxTXu)tW zPaRJkOq<5H?*G`1fdZ&1+_e6qG=HvO|C>L4jp%>V zE1fT95IP`?MJ6uBeCV`HTy#Jfi%eXM`Os;Zxafc|7MZvh^P$r+anS)`EHZI1=0m4t z;-Uk>SY+a2%!f|P#6<^$vB<>5m=B$niHi;hW08rAF&{cD6Biv2#v&6JV?K0RCN4T4 zj726c#(e0sOk8w87>i6?jQP-MnYieHFcz7(81tdiGI7xXVJtFnG3G<3W#Xa(!dPVD zV$6q5%fv+ogt5rP#h4GBmWhiF2xF0ni!mQMEfW_V5XK@C7h^tjS|%g_fG`%BxES-H(=u_<0bwjM#KrULF;Kie?b**@+C!dtBT~(@ z2ShvP?Tp0Kk4I0KD;_JzJU#0Ai%GdmGIFVBIH66GNwv7o%x| zK2oM4P5SD=2^w12p0s}?@e#V28}mBNqX0BtX}S53U<0SP1fEOssHs2pX@oErk`6?;XXR~x$%1X63nhhlTg`k!|Wb1(b> zycjOFFS`Y_#lMgLWVlV5x>)FNPUZ81qjN|?UodrAWLRp5W5U6??DZ_`ZL_*?%_mxd z@3OtW+=y&yU~!HOj?B5D_NpRbXaHue)G3OwY>~;;NGGa{d!fy%1SlBh~@ZlT+j8 zl+1RLPD|Q+gx=Of=XN9gr92iHjws5iaWtuS{F_DC|#< zN80g6WnDf854x1J9o50=gksZR-Ji4Wn^09WCKK9 z$itT41|ePhaW6orU12cXO;L{wh^maA0n|P(bw39!>)(y|8EU#DU?c zFpVFO3iEUf*dM|8m@HD zHz&13K!@#Jz&Qu$v{DL7Tf6%Wwz&rnCu-z{4s(TUs%dvuaXa|PUs&NF9|}ugEfvty?Z?}OwAj2S0NW!Pu&uzW#1s-y9 zR9cCPE6A4US|lA3y`!Ezzja71U*TvqR`%GutDvtrbvkH>d(p2rH++zDz+!?LCDV_- z1M_?XO)@w*{HG8$?VQ@&mLf$&1u3?*_d?5)CA*ykD6Wo5>bjG5#f?po9wOp%JnS+^ z(!KOr7Q#V+yp}sxy3iJiXf1XLz%0QOsXw}hS|A|_MKsg`hpz};5I<5cDSRumr*()* zXi&upv=EG@ugN46W*o+zu<____58?UDitpSl{|a?z$rKRUZE86%6d0n3~%CN!j@w~rU%{~s!o2+e*!WZIfbf?s^bhQs^z}lV)i%bGLsE138wu2#%-pYDnPK8vBi*VWV0`UP!N1ICV zJl?c(s2lQaNTuTDt;N~VS?+FbGMro$9c--~`cQk^7c0r790T|U_RcqN@+<`jky(~U ztu29|aKquY_Q5(IyvX5{-TVCf9;c_bR*1u~5u3@Zcd$_>r^eae&Q`RBZhgJYPABE^ z1|A`SkbQ>^>8Y@DMg|DaOLteZG%g7GYHSKMfU4SRKYi&oRJLAz;J8O=&m*=Y^)(^N zrgn-BRRXm;@)O0_XV|e4!wZ6x-7b!c+Gc#>b`8yfN%GPkoGSa(SdS2EUC)R7aU{bw zhl`7!ZA3ukWHy}U{M~^{Q$r}vsh#-7JC(B2X!h{xJ@JC4SVu&b)EiEGWqDoFI4AQu zH1lfejmPCB#U1CM6_jae4ysLs_lSM(6#nFjc8{B2pSKo1+8|}+*mN-Xj?bUGBN?CN ri)J4Qiq|jmoRC{ClJKow<^cLTMBLblyZcxEO~BIB)}+wL& vOutpts) { return; } + +CWallet* WalletModel::getWallet() +{ + return wallet; +} diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index f7f599a7..81a14f22 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -130,6 +130,7 @@ class WalletModel : public QObject void lockCoin(COutPoint& output); void unlockCoin(COutPoint& output); void listLockedCoins(std::vector& vOutpts); + CWallet* getWallet(); private: CWallet *wallet; diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index 4434d7ee..cf634c06 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -562,3 +562,80 @@ Value sendrawtransaction(const Array& params, bool fHelp) return hashTx.GetHex(); } + +Value createmultisig(const Array& params, bool fHelp) +{ + if (fHelp || params.size() < 2 || params.size() > 3) + { + string msg = "createmultisig <'[\"key\",\"key\"]'>\n" + "\nCreates a multi-signature address with n signature of m keys required.\n" + "It returns a json object with the address and redeemScript."; + throw runtime_error(msg); + } + + int nRequired = params[0].get_int(); + const Array& keys = params[1].get_array(); + + // Gather public keys + if (nRequired < 1) + throw runtime_error("a multisignature address must require at least one key to redeem"); + if ((int)keys.size() < nRequired) + throw runtime_error( + strprintf("not enough keys supplied " + "(got %" PRIszu " keys, but need at least %d to redeem)", keys.size(), nRequired)); + if (keys.size() > 16) + throw runtime_error("Number of addresses involved in the multisignature address creation > 16\nReduce the number"); + std::vector pubkeys; + pubkeys.resize(keys.size()); + for (unsigned int i = 0; i < keys.size(); i++) + { + const std::string& ks = keys[i].get_str(); + + // Case 1: Bitcoin address and we have full public key: + CBitcoinAddress address(ks); + if (address.IsValid()) + { + CKeyID keyID; + if (!address.GetKeyID(keyID)) + throw runtime_error( + strprintf("%s does not refer to a key",ks.c_str())); + CPubKey vchPubKey; + if (!pwalletMain->GetPubKey(keyID, vchPubKey)) + throw runtime_error( + strprintf("no full public key for address %s",ks.c_str())); + if (!vchPubKey.IsValid()) + throw runtime_error(" Invalid public key: "+ks); + pubkeys[i] = vchPubKey; + } + + // Case 2: hex public key + else if (IsHex(ks)) + { + CPubKey vchPubKey(ParseHex(ks)); + if (!vchPubKey.IsValid()) + throw runtime_error(" Invalid public key: "+ks); + pubkeys[i] = vchPubKey; + } + else + { + throw runtime_error(" Invalid public key: "+ks); + } + } + + // Construct using pay-to-script-hash: + CScript inner; + inner.SetMultisigpub(nRequired, pubkeys); + + if (inner.size() > MAX_SCRIPT_ELEMENT_SIZE) + throw runtime_error( + strprintf("redeemScript exceeds size limit: %" PRIszu " > %d", inner.size(), MAX_SCRIPT_ELEMENT_SIZE)); + + CScriptID innerID = inner.GetID(); + CBitcoinAddress address(innerID); + + Object result; + result.push_back(Pair("address", address.ToString())); + result.push_back(Pair("redeemScript", HexStr(inner.begin(), inner.end()))); + + return result; +} diff --git a/src/script.cpp b/src/script.cpp index 2ed79f7d..74542d80 100644 --- a/src/script.cpp +++ b/src/script.cpp @@ -1702,6 +1702,7 @@ bool ExtractDestinations(const CScript& scriptPubKey, txnouttype& typeRet, vecto return true; } + bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey, const CTransaction& txTo, unsigned int nIn, int nHashType) { @@ -2053,3 +2054,13 @@ void CScript::SetMultisig(int nRequired, const std::vector& keys) *this << key.GetPubKey(); *this << EncodeOP_N(keys.size()) << OP_CHECKMULTISIG; } + +void CScript::SetMultisigpub(int nRequired, const std::vector& keys) +{ + this->clear(); + + *this << EncodeOP_N(nRequired); + BOOST_FOREACH(const CPubKey& key, keys) + *this << key; + *this << EncodeOP_N((int)(keys.size())) << OP_CHECKMULTISIG; +} \ No newline at end of file diff --git a/src/script.h b/src/script.h index 956c9f6b..ff5ce38b 100644 --- a/src/script.h +++ b/src/script.h @@ -551,6 +551,7 @@ class CScript : public std::vector void SetDestination(const CTxDestination& address); void SetMultisig(int nRequired, const std::vector& keys); + void SetMultisigpub(int nRequired, const std::vector& keys); std::string ToString(bool fShort=false) const { diff --git a/src/txdb-bdb.cpp b/src/txdb-bdb.cpp new file mode 100644 index 00000000..1235125c --- /dev/null +++ b/src/txdb-bdb.cpp @@ -0,0 +1,436 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2009-2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "db.h" +#include "kernel.h" +#include "checkpoints.h" +#include "txdb-bdb.h" +#include "util.h" +#include "main.h" +#include +#include +#include + +#ifndef WIN32 +#include "sys/stat.h" +#endif + +using namespace std; +using namespace boost; + +void MakeMockTXDB() { + // In practice this won't do anything because the test framework always initializes + // an in-memory BDB via bitdb.MakeMock() first, as we use BDB for addresses and wallets. + if (!bitdb.IsMock()) + bitdb.MakeMock(); +} + +// +// CTxDB +// + +bool CTxDB::ReadTxIndex(uint256 hash, CTxIndex& txindex) +{ + assert(!fClient); + txindex.SetNull(); + return Read(make_pair(string("tx"), hash), txindex); +} + +bool CTxDB::UpdateTxIndex(uint256 hash, const CTxIndex& txindex) +{ + assert(!fClient); + return Write(make_pair(string("tx"), hash), txindex); +} + +bool CTxDB::AddTxIndex(const CTransaction& tx, const CDiskTxPos& pos, int nHeight) +{ + assert(!fClient); + + // Add to tx index + uint256 hash = tx.GetHash(); + CTxIndex txindex(pos, tx.vout.size()); + return Write(make_pair(string("tx"), hash), txindex); +} + +bool CTxDB::EraseTxIndex(const CTransaction& tx) +{ + assert(!fClient); + uint256 hash = tx.GetHash(); + + return Erase(make_pair(string("tx"), hash)); +} + +bool CTxDB::ContainsTx(uint256 hash) +{ + assert(!fClient); + return Exists(make_pair(string("tx"), hash)); +} + +bool CTxDB::ReadDiskTx(uint256 hash, CTransaction& tx, CTxIndex& txindex) +{ + assert(!fClient); + tx.SetNull(); + if (!ReadTxIndex(hash, txindex)) + return false; + return (tx.ReadFromDisk(txindex.pos)); +} + +bool CTxDB::ReadDiskTx(uint256 hash, CTransaction& tx) +{ + CTxIndex txindex; + return ReadDiskTx(hash, tx, txindex); +} + +bool CTxDB::ReadDiskTx(COutPoint outpoint, CTransaction& tx, CTxIndex& txindex) +{ + return ReadDiskTx(outpoint.hash, tx, txindex); +} + +bool CTxDB::ReadDiskTx(COutPoint outpoint, CTransaction& tx) +{ + CTxIndex txindex; + return ReadDiskTx(outpoint.hash, tx, txindex); +} + +bool CTxDB::WriteBlockIndex(const CDiskBlockIndex& blockindex) +{ + return Write(make_pair(string("blockindex"), blockindex.GetBlockHash()), blockindex); +} + +bool CTxDB::ReadHashBestChain(uint256& hashBestChain) +{ + return Read(string("hashBestChain"), hashBestChain); +} + +bool CTxDB::WriteHashBestChain(uint256 hashBestChain) +{ + return Write(string("hashBestChain"), hashBestChain); +} + +bool CTxDB::ReadBestInvalidTrust(CBigNum& bnBestInvalidTrust) +{ + return Read(string("bnBestInvalidTrust"), bnBestInvalidTrust); +} + +bool CTxDB::WriteBestInvalidTrust(CBigNum bnBestInvalidTrust) +{ + return Write(string("bnBestInvalidTrust"), bnBestInvalidTrust); +} + +bool CTxDB::ReadSyncCheckpoint(uint256& hashCheckpoint) +{ + return Read(string("hashSyncCheckpoint"), hashCheckpoint); +} + +bool CTxDB::WriteSyncCheckpoint(uint256 hashCheckpoint) +{ + return Write(string("hashSyncCheckpoint"), hashCheckpoint); +} + +bool CTxDB::ReadCheckpointPubKey(string& strPubKey) +{ + return Read(string("strCheckpointPubKey"), strPubKey); +} + +bool CTxDB::WriteCheckpointPubKey(const string& strPubKey) +{ + return Write(string("strCheckpointPubKey"), strPubKey); +} + +bool CTxDB::ReadModifierUpgradeTime(unsigned int& nUpgradeTime) +{ + return Read(string("nUpgradeTime"), nUpgradeTime); +} + +bool CTxDB::WriteModifierUpgradeTime(const unsigned int& nUpgradeTime) +{ + return Write(string("nUpgradeTime"), nUpgradeTime); +} + +CBlockIndex static * InsertBlockIndex(uint256 hash) +{ + if (hash == 0) + return NULL; + + // Return existing + map::iterator mi = mapBlockIndex.find(hash); + if (mi != mapBlockIndex.end()) + return (*mi).second; + + // Create new + CBlockIndex* pindexNew = new(nothrow) CBlockIndex(); + if (!pindexNew) + throw runtime_error("LoadBlockIndex() : new CBlockIndex failed"); + mi = mapBlockIndex.insert(make_pair(hash, pindexNew)).first; + pindexNew->phashBlock = &((*mi).first); + + return pindexNew; +} + +bool CTxDB::LoadBlockIndex() +{ + if (!LoadBlockIndexGuts()) + return false; + + if (fRequestShutdown) + return true; + + // Calculate nChainTrust + vector > vSortedByHeight; + vSortedByHeight.reserve(mapBlockIndex.size()); + BOOST_FOREACH(const PAIRTYPE(uint256, CBlockIndex*)& item, mapBlockIndex) + { + CBlockIndex* pindex = item.second; + vSortedByHeight.push_back(make_pair(pindex->nHeight, pindex)); + } + sort(vSortedByHeight.begin(), vSortedByHeight.end()); + BOOST_FOREACH(const PAIRTYPE(int, CBlockIndex*)& item, vSortedByHeight) + { + CBlockIndex* pindex = item.second; + pindex->nChainTrust = (pindex->pprev ? pindex->pprev->nChainTrust : 0) + pindex->GetBlockTrust(); + // ppcoin: calculate stake modifier checksum + pindex->nStakeModifierChecksum = GetStakeModifierChecksum(pindex); + if (!CheckStakeModifierCheckpoints(pindex->nHeight, pindex->nStakeModifierChecksum)) + return error("CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=%d, modifier=0x%016" PRIx64, pindex->nHeight, pindex->nStakeModifier); + } + + // Load hashBestChain pointer to end of best chain + if (!ReadHashBestChain(hashBestChain)) + { + if (pindexGenesisBlock == NULL) + return true; + return error("CTxDB::LoadBlockIndex() : hashBestChain not loaded"); + } + if (!mapBlockIndex.count(hashBestChain)) + return error("CTxDB::LoadBlockIndex() : hashBestChain not found in the block index"); + pindexBest = mapBlockIndex[hashBestChain]; + nBestHeight = pindexBest->nHeight; + nBestChainTrust = pindexBest->nChainTrust; + printf("LoadBlockIndex(): hashBestChain=%s height=%d trust=%s date=%s\n", + hashBestChain.ToString().substr(0,20).c_str(), nBestHeight, CBigNum(nBestChainTrust).ToString().c_str(), + DateTimeStrFormat("%x %H:%M:%S", pindexBest->GetBlockTime()).c_str()); + + // ppcoin: load hashSyncCheckpoint + if (!ReadSyncCheckpoint(Checkpoints::hashSyncCheckpoint)) + return error("CTxDB::LoadBlockIndex() : hashSyncCheckpoint not loaded"); + printf("LoadBlockIndex(): synchronized checkpoint %s\n", Checkpoints::hashSyncCheckpoint.ToString().c_str()); + + // Load bnBestInvalidTrust, OK if it doesn't exist + CBigNum bnBestInvalidTrust; + ReadBestInvalidTrust(bnBestInvalidTrust); + nBestInvalidTrust = bnBestInvalidTrust.getuint256(); + + // Verify blocks in the best chain + int nCheckLevel = GetArgInt("-checklevel", 1); + int nCheckDepth = GetArgInt( "-checkblocks", 2500); + if (nCheckDepth == 0) + nCheckDepth = 1000000000; // suffices until the year 19000 + if (nCheckDepth > nBestHeight) + nCheckDepth = nBestHeight; + printf("Verifying last %i blocks at level %i\n", nCheckDepth, nCheckLevel); + CBlockIndex* pindexFork = NULL; + map, CBlockIndex*> mapBlockPos; + for (CBlockIndex* pindex = pindexBest; pindex && pindex->pprev; pindex = pindex->pprev) + { + if (fRequestShutdown || pindex->nHeight < nBestHeight-nCheckDepth) + break; + CBlock block; + if (!block.ReadFromDisk(pindex)) + return error("LoadBlockIndex() : block.ReadFromDisk failed"); + // check level 1: verify block validity + // check level 7: verify block signature too + if (nCheckLevel>0 && !block.CheckBlock(true, true, (nCheckLevel>6))) + { + printf("LoadBlockIndex() : *** found bad block at %d, hash=%s\n", pindex->nHeight, pindex->GetBlockHash().ToString().c_str()); + pindexFork = pindex->pprev; + } + // check level 2: verify transaction index validity + if (nCheckLevel>1) + { + pair pos = make_pair(pindex->nFile, pindex->nBlockPos); + mapBlockPos[pos] = pindex; + BOOST_FOREACH(const CTransaction &tx, block.vtx) + { + uint256 hashTx = tx.GetHash(); + CTxIndex txindex; + if (ReadTxIndex(hashTx, txindex)) + { + // check level 3: checker transaction hashes + if (nCheckLevel>2 || pindex->nFile != txindex.pos.nFile || pindex->nBlockPos != txindex.pos.nBlockPos) + { + // either an error or a duplicate transaction + CTransaction txFound; + if (!txFound.ReadFromDisk(txindex.pos)) + { + printf("LoadBlockIndex() : *** cannot read mislocated transaction %s\n", hashTx.ToString().c_str()); + pindexFork = pindex->pprev; + } + else + if (txFound.GetHash() != hashTx) // not a duplicate tx + { + printf("LoadBlockIndex(): *** invalid tx position for %s\n", hashTx.ToString().c_str()); + pindexFork = pindex->pprev; + } + } + // check level 4: check whether spent txouts were spent within the main chain + unsigned int nOutput = 0; + if (nCheckLevel>3) + { + BOOST_FOREACH(const CDiskTxPos &txpos, txindex.vSpent) + { + if (!txpos.IsNull()) + { + pair posFind = make_pair(txpos.nFile, txpos.nBlockPos); + if (!mapBlockPos.count(posFind)) + { + printf("LoadBlockIndex(): *** found bad spend at %d, hashBlock=%s, hashTx=%s\n", pindex->nHeight, pindex->GetBlockHash().ToString().c_str(), hashTx.ToString().c_str()); + pindexFork = pindex->pprev; + } + // check level 6: check whether spent txouts were spent by a valid transaction that consume them + if (nCheckLevel>5) + { + CTransaction txSpend; + if (!txSpend.ReadFromDisk(txpos)) + { + printf("LoadBlockIndex(): *** cannot read spending transaction of %s:%i from disk\n", hashTx.ToString().c_str(), nOutput); + pindexFork = pindex->pprev; + } + else if (!txSpend.CheckTransaction()) + { + printf("LoadBlockIndex(): *** spending transaction of %s:%i is invalid\n", hashTx.ToString().c_str(), nOutput); + pindexFork = pindex->pprev; + } + else + { + bool fFound = false; + BOOST_FOREACH(const CTxIn &txin, txSpend.vin) + if (txin.prevout.hash == hashTx && txin.prevout.n == nOutput) + fFound = true; + if (!fFound) + { + printf("LoadBlockIndex(): *** spending transaction of %s:%i does not spend it\n", hashTx.ToString().c_str(), nOutput); + pindexFork = pindex->pprev; + } + } + } + } + nOutput++; + } + } + } + // check level 5: check whether all prevouts are marked spent + if (nCheckLevel>4) + { + BOOST_FOREACH(const CTxIn &txin, tx.vin) + { + CTxIndex txindex; + if (ReadTxIndex(txin.prevout.hash, txindex)) + if (txindex.vSpent.size()-1 < txin.prevout.n || txindex.vSpent[txin.prevout.n].IsNull()) + { + printf("LoadBlockIndex(): *** found unspent prevout %s:%i in %s\n", txin.prevout.hash.ToString().c_str(), txin.prevout.n, hashTx.ToString().c_str()); + pindexFork = pindex->pprev; + } + } + } + } + } + } + if (pindexFork && !fRequestShutdown) + { + // Reorg back to the fork + printf("LoadBlockIndex() : *** moving best chain pointer back to block %d\n", pindexFork->nHeight); + CBlock block; + if (!block.ReadFromDisk(pindexFork)) + return error("LoadBlockIndex() : block.ReadFromDisk failed"); + CTxDB txdb; + block.SetBestChain(txdb, pindexFork); + } + + return true; +} + + + +bool CTxDB::LoadBlockIndexGuts() +{ + // Get database cursor + Dbc* pcursor = GetCursor(); + if (!pcursor) + return false; + + // Load mapBlockIndex + unsigned int fFlags = DB_SET_RANGE; + for ( ; ; ) + { + // Read next record + CDataStream ssKey(SER_DISK, CLIENT_VERSION); + if (fFlags == DB_SET_RANGE) + ssKey << make_pair(string("blockindex"), uint256(0)); + CDataStream ssValue(SER_DISK, CLIENT_VERSION); + int ret = ReadAtCursor(pcursor, ssKey, ssValue, fFlags); + fFlags = DB_NEXT; + if (ret == DB_NOTFOUND) + break; + else if (ret != 0) + return false; + + // Unserialize + + try { + string strType; + ssKey >> strType; + if (strType == "blockindex" && !fRequestShutdown) + { + CDiskBlockIndex diskindex; + ssValue >> diskindex; + + uint256 blockHash = diskindex.GetBlockHash(); + + // Construct block index object + CBlockIndex* pindexNew = InsertBlockIndex(blockHash); + pindexNew->pprev = InsertBlockIndex(diskindex.hashPrev); + pindexNew->pnext = InsertBlockIndex(diskindex.hashNext); + pindexNew->nFile = diskindex.nFile; + pindexNew->nBlockPos = diskindex.nBlockPos; + pindexNew->nHeight = diskindex.nHeight; + pindexNew->nMint = diskindex.nMint; + pindexNew->nMoneySupply = diskindex.nMoneySupply; + pindexNew->nFlags = diskindex.nFlags; + pindexNew->nStakeModifier = diskindex.nStakeModifier; + pindexNew->prevoutStake = diskindex.prevoutStake; + pindexNew->nStakeTime = diskindex.nStakeTime; + pindexNew->hashProofOfStake = diskindex.hashProofOfStake; + pindexNew->nVersion = diskindex.nVersion; + pindexNew->hashMerkleRoot = diskindex.hashMerkleRoot; + pindexNew->nTime = diskindex.nTime; + pindexNew->nBits = diskindex.nBits; + pindexNew->nNonce = diskindex.nNonce; + + // Watch for genesis block + if (pindexGenesisBlock == NULL && blockHash == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)) + pindexGenesisBlock = pindexNew; + + if (!pindexNew->CheckIndex()) + return error("LoadBlockIndex() : CheckIndex failed at %d", pindexNew->nHeight); + + // ppcoin: build setStakeSeen + if (pindexNew->IsProofOfStake()) + setStakeSeen.insert(make_pair(pindexNew->prevoutStake, pindexNew->nStakeTime)); + } + else + { + break; // if shutdown requested or finished loading block index + } + } // try + catch (const std::exception&) { + return error("%s() : deserialize error", BOOST_CURRENT_FUNCTION); + } + } + pcursor->close(); + + return true; +} + + diff --git a/src/txdb-bdb.h b/src/txdb-bdb.h new file mode 100644 index 00000000..45372756 --- /dev/null +++ b/src/txdb-bdb.h @@ -0,0 +1,45 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2009-2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file license.txt or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_TXDB_BDB_H +#define BITCOIN_TXDB_BDB_H + + +/** Access to the transaction database (blkindex.dat) */ +class CTxDB : public CDB +{ +public: + CTxDB(const char* pszMode="r+") : CDB("blkindex.dat", pszMode) { } +private: + CTxDB(const CTxDB&); + void operator=(const CTxDB&); +public: + + bool ReadTxIndex(uint256 hash, CTxIndex& txindex); + bool UpdateTxIndex(uint256 hash, const CTxIndex& txindex); + bool AddTxIndex(const CTransaction& tx, const CDiskTxPos& pos, int nHeight); + bool EraseTxIndex(const CTransaction& tx); + bool ContainsTx(uint256 hash); + bool ReadDiskTx(uint256 hash, CTransaction& tx, CTxIndex& txindex); + bool ReadDiskTx(uint256 hash, CTransaction& tx); + bool ReadDiskTx(COutPoint outpoint, CTransaction& tx, CTxIndex& txindex); + bool ReadDiskTx(COutPoint outpoint, CTransaction& tx); + bool WriteBlockIndex(const CDiskBlockIndex& blockindex); + bool ReadHashBestChain(uint256& hashBestChain); + bool WriteHashBestChain(uint256 hashBestChain); + bool ReadBestInvalidTrust(CBigNum& bnBestInvalidTrust); + bool WriteBestInvalidTrust(CBigNum bnBestInvalidTrust); + bool ReadSyncCheckpoint(uint256& hashCheckpoint); + bool WriteSyncCheckpoint(uint256 hashCheckpoint); + bool ReadCheckpointPubKey(std::string& strPubKey); + bool WriteCheckpointPubKey(const std::string& strPubKey); + bool ReadModifierUpgradeTime(unsigned int& nUpgradeTime); + bool WriteModifierUpgradeTime(const unsigned int& nUpgradeTime); + bool LoadBlockIndex(); +private: + bool LoadBlockIndexGuts(); +}; + +#endif diff --git a/src/txdb.h b/src/txdb.h index a8e9f5b5..2e5b0bde 100644 --- a/src/txdb.h +++ b/src/txdb.h @@ -6,6 +6,11 @@ #ifndef BITCOIN_TXDB_H #define BITCOIN_TXDB_H +#ifdef USE_LEVELDB #include "txdb-leveldb.h" +#else +#include "db.h" +#include "txdb-bdb.h" +#endif #endif // BITCOIN_TXDB_H From 2d67ff756c21778440613f3d95c48922f1ce050b Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 18:17:04 -0600 Subject: [PATCH 6/9] v1.0.6.0 --- denarius-qt.pro | 2 +- src/clientversion.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/denarius-qt.pro b/denarius-qt.pro index 0aa9d399..33b5eaf4 100644 --- a/denarius-qt.pro +++ b/denarius-qt.pro @@ -1,6 +1,6 @@ TEMPLATE = app TARGET = Denarius -VERSION = 1.0.5 +VERSION = 1.0.6 INCLUDEPATH += src src/json src/qt src/qt/plugins/mrichtexteditor DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE CONFIG += no_include_pwd diff --git a/src/clientversion.h b/src/clientversion.h index cd3681c7..a39df3dd 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -8,7 +8,7 @@ // These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 0 -#define CLIENT_VERSION_REVISION 5 +#define CLIENT_VERSION_REVISION 6 #define CLIENT_VERSION_BUILD 0 // Converts the parameter X to a string after macro replacement on X has been performed. From 4c7477bc3d127652aa132e18452351beef20246e Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 18:19:49 -0600 Subject: [PATCH 7/9] Another checkpoint --- src/checkpoints.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 49abc10c..678ef086 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -37,6 +37,7 @@ namespace Checkpoints ( 104999, uint256("0x0000000000116592035fde4848d187a48a67a37c2a8e3e6c12150e40121054d8") ) ( 144999, uint256("0x00000000008509564a6a3fb42a9f9d77a93218e1c5738758cb6753fc03dee1ae") ) ( 150001, uint256("0x00000000005aaad7814e1eb4ec9c2e33846078f80b45a99e3f37cb6c3b1e07bd") ) + ( 195500, uint256("0x00000000000125265e79f31c6aa19d2f5db5391d41416d4d44aa675dd205acfa") ) ; // TestNet has no checkpoints From a6c881496fc93a0ebed12e3c73feffab7fe42b06 Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 19:47:56 -0600 Subject: [PATCH 8/9] Staking Tab Fixes --- src/kernelrecord.cpp | 53 ++++++++++++++++++++++++++++++------ src/kernelrecord.h | 4 +-- src/qt/mintingtablemodel.cpp | 49 ++++++++++++++------------------- 3 files changed, 67 insertions(+), 39 deletions(-) diff --git a/src/kernelrecord.cpp b/src/kernelrecord.cpp index 717e6b93..27cda83a 100644 --- a/src/kernelrecord.cpp +++ b/src/kernelrecord.cpp @@ -15,11 +15,6 @@ bool KernelRecord::showTransaction(const CWalletTx &wtx) } } - if(!wtx.IsTrusted()) - { - return false; - } - return true; } @@ -56,7 +51,7 @@ vector KernelRecord::decomposeOutput(const CWallet *wallet, const addrStr = mapValue["to"]; } - parts.push_back(KernelRecord(hash, nTime, addrStr, txOut.nValue, wtx.IsSpent(nOut), coinAge)); + parts.push_back(KernelRecord(hash, nTime, addrStr, txOut.nValue, nOut, wtx.IsSpent(nOut), coinAge)); } } } @@ -91,10 +86,52 @@ int64_t KernelRecord::getPoSReward(int nBits, int minutes) if( nWeight < nStakeMinAge) return 0; uint64_t coinAge = (nValue * nWeight ) / (COIN * nOneDay); - PoSReward = GetProofOfStakeReward(coinAge, nBits); //Needs Fixing + PoSReward = GetProofOfStakeReward(coinAge, nWeight); //Needs Fixing + //PoSReward = GetProofOfStakeReward(coinAge, nBits, GetAdjustedTime() + minutes * 60); return PoSReward; } +double KernelRecord::getProbToMintStake(double difficulty, int timeOffset) const +{ + double maxTarget = pow(static_cast(2), 224); + double target = maxTarget / difficulty; + int dayWeight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64_t)nStakeMaxAge) - nStakeMinAge) / 86400; + uint64_t coinAge = max(nValue * dayWeight / COIN, (int64_t)0); + return target * coinAge / pow(static_cast(2), 256); +} + +double KernelRecord::getProbToMintWithinNMinutes(double difficulty, int minutes) +{ + if(difficulty != prevDifficulty || minutes != prevMinutes) + { + double prob = 1; + double p; + int d = minutes / (60 * 24); // Number of full days + int m = minutes % (60 * 24); // Number of minutes in the last day + int i, timeOffset; + + // Probabilities for the first d days + for(i = 0; i < d; i++) + { + timeOffset = i * 86400; + p = pow(1 - getProbToMintStake(difficulty, timeOffset), 86400); + prob *= p; + } + + // Probability for the m minutes of the last day + timeOffset = d * 86400; + p = pow(1 - getProbToMintStake(difficulty, timeOffset), 60 * m); + prob *= p; + + prob = 1 - prob; + prevProbability = prob; + prevDifficulty = difficulty; + prevMinutes = minutes; + } + return prevProbability; +} + +/* double KernelRecord::getProbToMintStake(double difficulty, int timeOffset) const { //double maxTarget = pow(static_cast(2), 224); @@ -136,4 +173,4 @@ double KernelRecord::getProbToMintWithinNMinutes(double difficulty, int minutes) prevMinutes = minutes; } return prevProbability; -} +}*/ diff --git a/src/kernelrecord.h b/src/kernelrecord.h index 8f328164..b25d5015 100644 --- a/src/kernelrecord.h +++ b/src/kernelrecord.h @@ -21,9 +21,9 @@ class KernelRecord KernelRecord(uint256 hash, int64_t nTime, const std::string &address, - int64_t nValue, bool spent, int64_t coinAge): + int64_t nValue, int idx, bool spent, int64_t coinAge): hash(hash), nTime(nTime), address(address), nValue(nValue), - idx(0), spent(spent), coinAge(coinAge), prevMinutes(0), prevDifficulty(0), prevProbability(0) + idx(idx), spent(spent), coinAge(coinAge), prevMinutes(0), prevDifficulty(0), prevProbability(0) { } diff --git a/src/qt/mintingtablemodel.cpp b/src/qt/mintingtablemodel.cpp index d802ff45..3f6f98b8 100644 --- a/src/qt/mintingtablemodel.cpp +++ b/src/qt/mintingtablemodel.cpp @@ -84,9 +84,8 @@ class MintingTablePriv } } - /* Update our model of the wallet incrementally, to synchronize our model of the wallet + /* Update our model of the wallet incrementally, to synchronize our model of the wallet with that of the core. - Call with list of hashes of transactions that were added, removed or changed. */ void updateWallet(const QList &updated) @@ -139,12 +138,11 @@ class MintingTablePriv int insert_idx = lowerIndex; BOOST_FOREACH(const KernelRecord &rec, toInsert) { - if(!rec.spent) - { + if(!rec.spent) { parent->beginInsertRows(QModelIndex(), insert_idx, insert_idx); cachedWallet.insert(insert_idx, rec); - parent->endInsertRows(); insert_idx += 1; + parent->endInsertRows(); } } } @@ -157,24 +155,27 @@ class MintingTablePriv parent->endRemoveRows(); } else if(inWallet && inModel) - { + { // Updated -- remove spent coins from table std::vector toCheck = KernelRecord::decomposeOutput(wallet, mi->second); - BOOST_FOREACH(const KernelRecord &rec, toCheck) + if(!toCheck.empty()) { - if(rec.spent) + BOOST_FOREACH(const KernelRecord &rec, toCheck) { - for(int i = 0; i < cachedWallet.size(); i++) + if(rec.spent) { - KernelRecord cachedRec = cachedWallet.at(i); - if((rec.hash == cachedRec.hash) - && (rec.nTime == cachedRec.nTime) - && (rec.nValue == cachedRec.nValue)) + for(int i = lowerIndex; i < upperIndex; i++) { - parent->beginRemoveRows(QModelIndex(), i, i); - cachedWallet.removeAt(i); - parent->endRemoveRows(); - break; + KernelRecord cachedRec = cachedWallet.at(i); + if((rec.address == cachedRec.address) + && (rec.nValue == cachedRec.nValue) + && (rec.idx == cachedRec.idx)) + { + parent->beginRemoveRows(QModelIndex(), i, i); + cachedWallet.removeAt(i); + parent->endRemoveRows(); + break; + } } } } @@ -225,7 +226,7 @@ MintingTableModel::MintingTableModel(CWallet *wallet, WalletModel *parent): mintingInterval(10), priv(new MintingTablePriv(wallet, this)) { - columns << tr("Transaction") << tr("Address") << tr("Balance") << tr("Age") << tr("CoinDay") << tr("MintProbability") << tr("MintReward"); + columns << tr("Transaction") << tr("Address") << tr("Balance") << tr("Age") << tr("Coin Days") << tr("Stake Probability") << tr("Stake Reward"); priv->refreshWallet(); QTimer *timer = new QTimer(this); @@ -250,16 +251,6 @@ void MintingTableModel::update() BOOST_FOREACH(uint256 hash, wallet->vMintingWalletUpdated) { updated.append(hash); - - // Also check the inputs to remove spent outputs from the table if necessary - CWalletTx wtx; - if(wallet->GetTransaction(hash, wtx)) - { - BOOST_FOREACH(const CTxIn& txin, wtx.vin) - { - updated.append(txin.prevout.hash); - } - } } wallet->vMintingWalletUpdated.clear(); } @@ -362,7 +353,7 @@ QVariant MintingTableModel::data(const QModelIndex &index, int role) const } break; case Qt::BackgroundColorRole: - int minAge = nStakeMinAge / 60 / 60 / 24; + int minAge = nStakeMinAge / 60 / 60 / 8; int maxAge = nStakeMaxAge / 60 / 60 / 24; if(rec->getAge() < minAge) { From cb23d24c24b1a3806dd1b61c642973c4d98a7009 Mon Sep 17 00:00:00 2001 From: Carsen Klock Date: Mon, 4 Sep 2017 20:08:00 -0600 Subject: [PATCH 9/9] Staking Tab Fixes --- src/qt/mintingview.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/qt/mintingview.cpp b/src/qt/mintingview.cpp index a5b97ac9..935d9bca 100644 --- a/src/qt/mintingview.cpp +++ b/src/qt/mintingview.cpp @@ -58,9 +58,16 @@ MintingView::MintingView(QWidget *parent) : legendLayout->addWidget(oldLegend); legendLayout->insertStretch(-1); + QLabel *label1 = new QLabel(this); + label1->setText("Staking Estimations"); + label1->setAlignment(Qt::AlignLeft); + QFont font( "Arial", 16, QFont::Bold); + label1->setFont(font); + label1->setFixedWidth(250); + QLabel *mintingLabel = new QLabel(tr("Check the arrow icon at the very bottom of the wallet for more staking information.")); - QLabel *mintingLabel2 = new QLabel(tr(" Display staking probability within : ")); + QLabel *mintingLabel2 = new QLabel(tr(" [Display staking probability within]: ")); mintingCombo = new QComboBox(); mintingCombo->addItem(tr("10 min"), Minting10min); mintingCombo->addItem(tr("24 hours"), Minting1day);