dash/src/qt
UdjinM6 27f3218de9 HD wallet (#1405)
* HD wallet

Minimal set of changes (no refactoring) backported from Bitcoin upstream to make HD wallets work in Dash 0.12.1.x+

* minimal bip44 (hardcoded account and change)

* minimal bip39

Additional cmd-line options for new wallet:
-mnemonic
-mnemonicpassphrase

* Do not recreate HD wallet on encryption

Adjusted keypool.py test

* Do not store any private keys for hd wallet besides the master one

Derive all keys on the fly.
Original idea/implementation - btc PR9298, backported and improved

* actually use bip39

* pbkdf2 test

* backport wallet-hd.py test

* Allow specifying hd seed, add dumphdseed rpc, fix bugs

- -hdseed cmd-line param to specify HD seed on wallet creation
- dumphdseed rpc to dump HD seed
- allow seed of any size
- fix dumpwallet rpc bug (wasn't decrypting HD seed)
- print HD seed and extended public masterkey on dumpwallet

* top up keypool on HD wallet encryption

* split HD chain: external/internal

* add missing cs_wallet lock in init.cpp

* fix `const char *` issues (use strings)

* default mnemonic passphrase is an empty string in all cases

* store mnemonic/mnemonicpassphrase

replace dumphdseed with dumphdinfo

* Add fCrypted flag to CHDChain

* prepare internal structures for multiple HD accounts

(plus some code cleanup)

* use secure allocator for storing sensitive HD data

* use secure strings for mnemonic(passphrase)

* small fix in GenerateNewHDChain

* use 24 words for mnemonic by default

* make sure mnemonic passphrase provided by user does not exceed 256 symbols

* more usage of secure allocators and memory_cleanse

* code cleanup

* rename: CSecureVector -> SecureVector

* add missing include

* fix warning in rpcdump.cpp

* refactor mnemonic_check (also fix a bug)

* move bip39 functions to CMnemonic

* Few fixes for CMnemonic:
- use `SecureVector` for data, bits, seed
- `Check` should return bool

* init vectors with desired size where possible
2017-05-29 14:51:40 +03:00
..
forms Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
locale Translations201703 (#1384) 2017-03-20 04:20:23 +03:00
res HD wallet (#1405) 2017-05-29 14:51:40 +03:00
test Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
addressbookpage.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
addressbookpage.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
addresstablemodel.cpp HD wallet (#1405) 2017-05-29 14:51:40 +03:00
addresstablemodel.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
askpassphrasedialog.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
askpassphrasedialog.h Wallet passphrase lock fixes (#987) 2016-09-11 13:02:54 +04:00
bantablemodel.cpp
bantablemodel.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
bitcoinaddressvalidator.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
bitcoinaddressvalidator.h
bitcoinamountfield.cpp Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
bitcoinamountfield.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
bitcoingui.cpp HD wallet (#1405) 2017-05-29 14:51:40 +03:00
bitcoingui.h HD wallet (#1405) 2017-05-29 14:51:40 +03:00
bitcoinunits.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
bitcoinunits.h bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
clientmodel.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
clientmodel.h bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
coincontroldialog.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
coincontroldialog.h Trivial: more darksend -> privatesend (#980) 2016-09-01 11:03:47 +04:00
coincontroltreewidget.cpp Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
coincontroltreewidget.h
csvmodelwriter.cpp
csvmodelwriter.h
darksendconfig.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
darksendconfig.h Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
dash_locale.qrc typo in translation config 2016-01-16 12:06:09 +01:00
dash.cpp Merge bug fixes (#1260) 2017-01-13 18:02:33 +04:00
dash.qrc HD wallet (#1405) 2017-05-29 14:51:40 +03:00
dashstrings.cpp Translations201703 (#1384) 2017-03-20 04:20:23 +03:00
editaddressdialog.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
editaddressdialog.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
guiconstants.h bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
guiutil.cpp Fix for dash-qt issue with startup and multiple monitors. (#1461) 2017-05-05 14:28:40 +03:00
guiutil.h Migration fixes (#1247) 2017-01-04 21:47:50 +04:00
intro.cpp Fix datadir initialization in dash-qt (#1287) 2017-01-27 18:07:13 +04:00
intro.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
macdockiconhandler.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
macdockiconhandler.mm
macnotificationhandler.h
macnotificationhandler.mm Cleanup 2016-02-15 00:01:44 +03:00
masternodelist.cpp Fix locking issues in dash-qt masternodelist (#1328) 2017-02-10 04:56:52 +04:00
masternodelist.h Fix locking issues in dash-qt masternodelist (#1328) 2017-02-10 04:56:52 +04:00
networkstyle.cpp Migration fixes (#1247) 2017-01-04 21:47:50 +04:00
networkstyle.h bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
notificator.cpp
notificator.h Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
openuridialog.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
openuridialog.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
optionsdialog.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
optionsdialog.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
optionsmodel.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
optionsmodel.h Trivial refactoring/cleanup (#990) 2016-09-05 20:09:25 +04:00
overviewpage.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
overviewpage.h [UI] In-wallet PrivateSend help (#1129) 2016-11-05 20:13:16 +04:00
paymentrequest.proto
paymentrequestplus.cpp Update for OpenSSL 1.1 API. (#1336) 2017-02-15 19:18:24 +04:00
paymentrequestplus.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
paymentserver.cpp HD wallet (#1405) 2017-05-29 14:51:40 +03:00
paymentserver.h Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
peertablemodel.cpp Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
peertablemodel.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
platformstyle.cpp [UI] Enable themed *.png icons again for Linux 2016-04-20 17:35:53 +02:00
platformstyle.h
qvalidatedlineedit.cpp Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
qvalidatedlineedit.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
qvaluecombobox.cpp Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
qvaluecombobox.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
receivecoinsdialog.cpp [UI] Add Instantsend parameter to URI/QR-code (#1042) 2016-09-27 11:48:52 +04:00
receivecoinsdialog.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
receiverequestdialog.cpp [UI] Add Instantsend parameter to URI/QR-code (#1042) 2016-09-27 11:48:52 +04:00
receiverequestdialog.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
recentrequeststablemodel.cpp Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
recentrequeststablemodel.h Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
rpcconsole.cpp Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
rpcconsole.h Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
sendcoinsdialog.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
sendcoinsdialog.h More instantx->instantsend (few more ds->privatesend) (#984) 2016-09-02 16:17:32 +04:00
sendcoinsentry.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
sendcoinsentry.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
signverifymessagedialog.cpp bump copyright notice to 2017 (#1207) 2016-12-20 17:26:45 +04:00
signverifymessagedialog.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
splashscreen.cpp Splashscreen now displays correctly (Fully) (#1367) 2017-02-28 12:59:27 +04:00
splashscreen.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
trafficgraphdata.cpp Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
trafficgraphdata.h Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
trafficgraphwidget.cpp Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
trafficgraphwidget.h Qt: bug fixes and enhancement to traffic graph widget (#1429) 2017-05-28 16:49:34 +03:00
transactiondesc.cpp InstantSend overhaul (#1288) 2017-01-29 12:22:14 +04:00
transactiondesc.h
transactiondescdialog.cpp Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
transactiondescdialog.h
transactionfilterproxy.cpp Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
transactionfilterproxy.h Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
transactionrecord.cpp Refactor PS (#1437) 2017-05-05 14:26:27 +03:00
transactionrecord.h Trivial: more darksend -> privatesend (#980) 2016-09-01 11:03:47 +04:00
transactiontablemodel.cpp Trivial: more darksend -> privatesend (#980) 2016-09-01 11:03:47 +04:00
transactiontablemodel.h Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
transactionview.cpp Trivial: more darksend -> privatesend (#980) 2016-09-01 11:03:47 +04:00
transactionview.h Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
utilitydialog.cpp fixing strings and docs + instantsend.md (#1354) 2017-02-19 22:02:33 +01:00
utilitydialog.h Refactor HelpMessageDialog to reuse it for PS help info, add PS info to help menu (#1144) 2016-11-20 10:54:33 +04:00
walletframe.cpp Add masternode tab in qt wallet 2016-05-11 15:50:04 +03:00
walletframe.h Add masternode tab in qt wallet 2016-05-11 15:50:04 +03:00
walletmodel.cpp HD wallet (#1405) 2017-05-29 14:51:40 +03:00
walletmodel.h HD wallet (#1405) 2017-05-29 14:51:40 +03:00
walletmodeltransaction.cpp Bump copyright headers to 2015 2016-01-05 14:13:33 +01:00
walletmodeltransaction.h
walletview.cpp HD wallet (#1405) 2017-05-29 14:51:40 +03:00
walletview.h HD wallet (#1405) 2017-05-29 14:51:40 +03:00
winshutdownmonitor.cpp Fix LogPrint to LogPrintf 2016-06-21 01:01:13 +07:00
winshutdownmonitor.h