[Dev] Documenting Feathercoin Specific Software settings - Part 8
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Blockchain comment : - commit
https://github.com/FeatherCoin/Feathercoin/commit/07b97230a33008f23992330eb1689382df53a1e8
Adds support for making comments in Blockchain
src/qt/utilitydialog.h
+ class SendCoinsRecipient; + class CommentDialog;
Code added
+ /** "Comment" dialog box */ + class CommentDialog : public QDialog + { + Q_OBJECT + + public: + explicit CommentDialog(QWidget *parent); + ~CommentDialog(); + + void setModel(WalletModel *model); + + private: + Ui::CommentDialog *ui; + WalletModel *model; + void processSendCoinsReturn(const WalletModel::SendCoinsReturn &sendCoinsReturn, const QString &msgArg = QString()); + + private slots: + void on_insertButton_clicked(); + void on_pushButton_clicked(); + + signals: + void message(const QString &title, const QString &message, unsigned int style); + }; +
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Blockchain comment : - commit
https://github.com/FeatherCoin/Feathercoin/commit/07b97230a33008f23992330eb1689382df53a1e8
Adds support for making comments in Blockchain
src/qt/walletframe.h
+ /** Open comment dialog **/ + void inertBlockChain();
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Blockchain comment : - commit
https://github.com/FeatherCoin/Feathercoin/commit/07b97230a33008f23992330eb1689382df53a1e8
Adds support for making comments in Blockchain
src/qt/walletmodel.cpp
+ LogPrintf("scriptPubKey= %s \n", scriptPubKey.ToString());
Code replaced
+ //insert message into blockchain + if (rcp.message.length()>=1) + { + std::string strMess = rcp.message.toStdString(); + const char* pszMess =strMess.c_str(); + CScript scriptP = CScript() << OP_RETURN << vector<unsigned char>((const unsigned char*)pszMess, (const unsigned char*)pszMess + strlen(pszMess)); + vecSend.push_back(std::pair<CScript, int64_t>(scriptP, 0)); + } + //normal +
Code added, //insert message into blockchain
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Blockchain comment : - commit
https://github.com/FeatherCoin/Feathercoin/commit/07b97230a33008f23992330eb1689382df53a1e8
Adds support for making comments in Blockchain
src/qt/walletview.cpp
+ } + + void WalletView::inertBlockChain() + { + if(!walletModel) + return; + + CommentDialog dlg(this); + dlg.setModel(walletModel); + dlg.exec();
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Blockchain comment : - commit
https://github.com/FeatherCoin/Feathercoin/commit/07b97230a33008f23992330eb1689382df53a1e8
Adds support for making comments in Blockchain
src/qt/walletview.h
+ /** Open comment dialog **/ + void inertBlockChain(); +
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
fix code : - commit
https://github.com/FeatherCoin/Feathercoin/commit/eae29b86c9ae0ecd550e1088393526cfa55a97b6
fix code
src/main.cpp
- //if (!CheckProofOfWork(block.GetHash(), block.nBits)) - //if (!CheckProofOfWork(block.GetPoWHash(), block.nBits))
Commented out code removed
// Feathercoin: eHRC at 3rd hard fork -//int64_t nTargetTimespan = 60; // Feathercoin: 1 minute -//int64_t nTargetSpacing = 60; // Feathercoin: 1 minute
Commented out code removed
-static const int64_t nTargetTimespanNEW = 60 ; // Feathercoin: unused
Code removed
-static const int64_t nDiffChangeTarget = 145000; // Feathercoin: unused ,Patch effective @ block 145000 -static const int64_t nTestnetResetTargetFix = 157500; // Feathercoin: unused ,Testnet enables target reset at block 157500
Code removed
-//0.8.7 ACP code have some problem in 0.9.3,so I delete them.
Comment removed
- //if (!pblocktree->WriteDiskBlockIndex(CDiskBlockIndex(pindexNew)) || !pblocktree->WriteBlockIndex(*pindexNew)) - //if (!pblocktree->WriteBlockIndex(CDiskBlockIndex(pindexNew)))
Commented code removed
- LogPrintf("CBlockHeader::CheckProofOfWork(), nHeight=%i \n",nHeight); + //LogPrintf("CBlockHeader::CheckProofOfWork(), nHeight=%i \n",nHeight);
Code commented out
- //if (fCheckPOW && !CheckProofOfWork(block.GetPoWHash(), block.nBits)) - //if (fCheckPOW && !CheckProofOfWork(GetPoWHash(), nBits))
Commented out code removed
- // auxpow is not in memory, load CDiskBlockHeader - // from database to get it - - //Feathercoin unused - //pblocktree->ReadDiskBlockIndex(*phashBlock, diskblockindex); - //block.auxpow = diskblockindex.auxpow;
Commented out code removed
- //from dogecoin - /*if (!CheckBlock(*pblock, state, INT_MAX)) { - if (state.CorruptionPossible()) - mapAlreadyAskedFor.erase(CInv(MSG_BLOCK, hash)); - return error("ProcessBlock() : CheckBlock FAILED"); - }*/ - //if (!CheckBlock(*pblock, state,nForkFour-1)) - //if (!CheckBlock(*pblock, state,1))
Commented out code removed
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
fix code : - commit
https://github.com/FeatherCoin/Feathercoin/commit/eae29b86c9ae0ecd550e1088393526cfa55a97b6
fix code
src/qt/Makefile.am
+ forms/commentdialog.ui \
Add code.
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/crypter.h
No change, white space removed
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/key.h
+ // Simply read-only vector-like interface to the pubkey data.
Unnecessary change to a comment?
- ::WriteCompactSize(s, len); + //::WriteCompactSize(s, len); + ::Serialize(s, VARINT(len), nType, nVersion);
Code replaced
- unsigned int len = ::ReadCompactSize(s); + //unsigned int len = ::ReadCompactSize(s); + unsigned int len; + ::Unserialize(s, VARINT(len), nType, nVersion);
Code replaced
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/main.cpp
- //from bitcoin - //if (!AddToBlockIndex(block, state, blockPos)) - // return error("InitBlockIndex AddToBlockIndex() : genesis block not accepted"); - //from dogecoin
Code removed
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/Makefile.am
+ forms/debugdialog.ui \
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/bitcoingui.cpp
+ debugAction = new QAction(QIcon(":/icons/comment"), tr("&Debug"), this); + debugAction->setStatusTip(tr("Debug Feathercoin")); + connect(debugAction, SIGNAL(triggered()), walletFrame, SLOT(debugClicked())); + help->addAction(debugAction); + debugAction->setEnabled(enabled);
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/bitcoingui.h
+ QAction *debugAction;
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/forms/debugdialog.ui
New user interface file
+ <?xml version="1.0" encoding="UTF-8"?> + <ui version="4.0"> + <class>DebugDialog</class> + <widget class="QDialog" name="DebugDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>556</width> + <height>208</height> + </rect> + </property> + <property name="windowTitle"> + <string>Debug Dialog (experts only!)</string> + </property> + <widget class="QPushButton" name="sxButton">
Start of code new file , 106 lines of code
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/utilitydialog.cpp
+ #include "ui_debugdialog.h" + #include "wallet.h" + /** "DebugDialog" dialog box */ + DebugDialog::DebugDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::DebugDialog) + { + ui->setupUi(this); + } + + void DebugDialog::setModel(WalletModel *model) + { + this->model = model; + } + + DebugDialog::~DebugDialog() + { + delete ui; + } + + void DebugDialog::on_pushButton_clicked() + { + close(); + } + + void DebugDialog::on_sxButton_clicked() + { + int32_t nFromHeight = 566321; + if (ui->addrEdit->text().length()>0) + { + nFromHeight = ui->addrEdit->text().toInt(); + } + bool fUpdate = true; + CBlockIndex *pindex = chainActive.Genesis(); + + if (nFromHeight > 0) + { + pindex = mapBlockIndex[chainActive.Tip()->GetBlockHash()]; + //pindex = chainActive[nFromHeight]; + while (pindex->nHeight > nFromHeight && pindex->pprev) + pindex = pindex->pprev; + }; + + LogPrintf("Scan open from %d ................\n",pindex->nHeight); + CBlock block; + if (!ReadBlockFromDisk(block, pindex)) + { + LogPrintf("ReadBlockFromDisk failure.\n"); + return; + } + LogPrintf("block.vtx.size= %d ................\n",block.vtx.size()); + BOOST_FOREACH(CTransaction& tx, block.vtx) + { + string reason; + if (!IsStandardTx(tx, reason)) + { + LogPrintf("Standard transaction %s :reason %s .\n",tx.GetHash().ToString(),reason); + continue; // leave out coinbase and others + } + LogPrintf("Find stealth transaction %s :reason %s .\n",tx.GetHash().ToString(),reason); + pwalletMain->AddToWalletIfInvolvingMe(tx.GetHash(), tx, &block, fUpdate); + }; + + QMessageBox::information(NULL, tr("Wallet Message"), tr("Scan stealth transactions,Yes!!!"), QMessageBox::Yes , QMessageBox::Yes); + } + + +
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/utilitydialog.h
+ class DebugDialog; + /** "DebugDialog" dialog box */ + class DebugDialog : public QDialog + { + Q_OBJECT + + public: + explicit DebugDialog(QWidget *parent); + ~DebugDialog(); + + void setModel(WalletModel *model); + + private: + Ui::DebugDialog *ui; + WalletModel *model; + + private slots: + void on_sxButton_clicked(); + void on_pushButton_clicked(); + + signals: + void message(const QString &title, const QString &message, unsigned int style); + }; +
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/walletframe.cpp
+ void WalletFrame::debugClicked() + { + WalletView *walletView = currentWalletView(); + if (walletView) + walletView->debugClicked(); + } +
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/walletframe.h
+ /** Open Debug dialog **/ + void debugClicked();
Code added
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/walletmodel.cpp
+ LogPrintf("StealthSecret send start....\n");
Logprintf added
+ if (true) + { + LogPrintf("ephem_secret.e[0]=%s \n",ephem_secret.e[0]); //secret + LogPrintf("sxAddr.scan_pubkey= %s\n", HexStr(sxAddr.scan_pubkey).c_str()); //pubkey[0] + LogPrintf("sxAddr.spend_pubkey= %s\n", sxAddr.spend_pubkey[0]); //pkSpend[0] + LogPrintf("secretShared.e[0]=%s \n",secretShared.e[0]); //sharedSOut + LogPrintf("pkSendTo= %"PRIszu": %s\n", pkSendTo.size(), HexStr(pkSendTo).c_str());//pkOut +
Code added
+ LogPrintf("CPubKey(pkSendTo)=%s \n",cpkTo.GetHash().ToString().c_str());
Code added
- CKeyID ckidTo = cpkTo.GetID(); + CKeyID ckidTo = cpkTo.GetID();
Code replaced, not sure why?
+ LogPrintf("Stealth send to generated pubkey,pkSendTo= %"PRIszu": %s\n", pkSendTo.size(), HexStr(pkSendTo).c_str()); + LogPrintf("hash, Address= %s\n", addrTo.ToString().c_str()); + LogPrintf("enerate ephem public key,ephem_pubkey= %"PRIszu": %s\n", ephem_pubkey.size(), HexStr(ephem_pubkey).c_str());
Replace LogPrintf code
- //scriptPubKey.SetDestination(CBitcoinAddress(rcp.address.toStdString()).Get());
Remove code
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add debug dialog : - commit
https://github.com/FeatherCoin/Feathercoin/commit/53644b506ce7b817a4135633184bd3d678b390d5
debug dialog
src/qt/walletview.cpp
+ } + + void WalletView::debugClicked() + { + if(!walletModel) + return; + + DebugDialog dlg(this); + dlg.setModel(walletModel); + dlg.exec();
Code added