Commit Graph

6895 Commits

Author SHA1 Message Date
Jonas Schnelli
f2fe8fc5df [ZMQ] append a message sequence number to every ZMQ notification 2018-01-06 01:02:03 +03:00
Jonas Schnelli
b125c6e461 [ZMQ] refactor message string 2018-01-06 00:54:05 +03:00
mrbandrews
583764d8df Speed up getchaintips. 2018-01-06 00:51:40 +03:00
Wladimir J. van der Laan
51a43ca5fe rpc: make sure gettxoutsetinfo hash has txids
The key (transaction id for the following outputs) should be serialized
to the HashWriter.

This is a problem as it means different transactions in the same
position with the same outputs will potentially result in the same hash.

Fixes primary concern of #7758.
2018-01-06 00:51:12 +03:00
Wladimir J. van der Laan
b81f2085e0 crypto: bytes counts are 64 bit
Byte counts for SHA256, SHA512, SHA1 and RIPEMD160 must be 64 bits.
`size_t` has a different size per platform, causing divergent results
when hashing more than 4GB of data.
2018-01-06 00:51:03 +03:00
Wladimir J. van der Laan
350739ab6c txdb: Add Cursor() method to CCoinsView to iterate over UTXO set
Add a method Cursor() to CCoinsView that returns a cursor which can be
used to iterate over the whole UTXO set.

- rpc: Change gettxoutsetinfo to use new Cursor method

- txdb: Remove GetStats method - Now that GetStats is implemented in
  terms of Cursor, remove it.
2018-01-06 00:50:16 +03:00
Pavel Janík
9fd6bc6564 RPC: do not print ping info in getpeerinfo when no ping received yet, fix help 2018-01-06 00:43:19 +03:00
Rusty Russell
b7f1e510a2 getblockchaininfo: make bip9_softforks an object, not an array. 2018-01-06 00:42:54 +03:00
mruddy
06eff6304b RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. 2018-01-06 00:30:29 +03:00
Denis Lukianov
e5199580b6 Correct importaddress help reference to importpubkey 2018-01-06 00:24:35 +03:00
Pavel Vasin
7393f538e0 use cached block hash in blockToJSON() 2018-01-06 00:23:40 +03:00
Wladimir J. van der Laan
b8d0c5dacc rpc: Input-from-stdin mode for bitcoin-cli
Implements #7442 by adding an option `-stdin` which reads
additional arguments from stdin, one per line.

For example

```bash
echo -e "mysecretcode\n120" | src/bitcoin-cli -stdin walletpassphrase
echo -e "walletpassphrase\nmysecretcode\n120" | src/bitcoin-cli -stdin
```
2018-01-06 00:20:17 +03:00
paveljanik
87bb358c8a Fix typo, wrong information in gettxout help text. 2018-01-06 00:16:47 +03:00
Wladimir J. van der Laan
f63b6323ce rpc: remove cs_main lock from createrawtransaction
This is a pure utility function that doesn't use
main's data structures, so it does not require that lock.
2018-01-06 00:15:53 +03:00
janko33bd
92bc14233f Implementation of OP_COUNT_ACK 2018-01-05 22:06:35 +01:00
janko33bd
10ef7d75f5 Revert "[Qt] Add dbcache migration path"
This reverts commit 921b8483da.
2018-01-05 21:58:03 +01:00
lateminer
91252c3db6 Add missing "\n" in LicenseInfo() 2018-01-04 22:53:37 +03:00
Wladimir J. van der Laan
ea3b89d1c4 qt: Use correct conversion function for boost::path datadir
Fixes #9089.
2018-01-04 22:12:28 +03:00
Jonas Schnelli
49ac458e35 [Qt] make warnings label selectable 2018-01-04 22:10:21 +03:00
rodasmith
1a0373c42c fix op order to append first alert 2018-01-04 21:52:17 +03:00
Jonas Schnelli
5a372293b8 [Qt] show network/chain errors in the GUI 2018-01-04 21:51:54 +03:00
Wladimir J. van der Laan
fcf8393c60 qt: Fix random segfault when closing "Choose data directory" dialog
The `pickDataDirectory()` function was calling `exit(0)` to quit
the application when the user closes the dialog without choosing
a data directory.

This is a bad idea because a background thread is created (to
check free space on the drive of the currently selected datadir).
The thread is not stopped and unwound properly, resulting in a potential
race condition somewhere deep in Qt.

So replace the `exit()` by a boolean return value, and let the
stack unwind normally.
2018-01-04 21:49:41 +03:00
Jonas Schnelli
0b983c1820 [Qt][CoinControl] fix UI bug that could result in paying unexpected fee 2018-01-04 21:48:01 +03:00
Andrew Chow
b6d51eb3ab Load choose datadir dialog after options reset 2018-01-04 21:44:35 +03:00
Andrew Chow
c305d27605 Persist the datadir after option reset
After a reset is performed, the datadir setting is saved and readded to the settings so that it is persisted across option resets.
2018-01-04 21:44:26 +03:00
adlawren
708c740b1a Fix minimize and close bugs
refs #8225

To ensure the GUI closes when the "Minimize on close" window option is disabled, and the "Minimize to the tray instead of the taskbar" window option is enbaled, remove a check made against the "Minimize to the tray instead of the taskbar" value, made during GUI closure.

To ensure the GUI minimizes to the taskbar when the "Minimize on close" window option is enabled, and the "Minimize to the tray instead of the taskbar" window option is disabled, minimize the GUI and ignore the closure event.
2018-01-04 21:43:50 +03:00
MarcoFalke
4dae1df717 [doc] Add website links to about dialog 2018-01-04 21:33:20 +03:00
Jonas Schnelli
921b8483da [Qt] Add dbcache migration path 2018-01-04 21:28:36 +03:00
Wladimir J. van der Laan
213ba0e1a9 qt: Remove client name from debug window
Remove the client name from the debug window in the GUI. It is already
part of the user agent, so adding it separately doesn't add anything.
2018-01-04 21:28:19 +03:00
Jonas Schnelli
db7da64904 [Qt] Support for abandoned/abandoning transactions 2018-01-04 21:27:49 +03:00
Wladimir J. van der Laan
ae1775b6ae qt: Network-specific example address 2018-01-04 21:21:08 +03:00
Pieter Wuille
39cb6575c8 Do not ask a UI question from bitcoind 2018-01-04 21:19:16 +03:00
Jonas Schnelli
b63095623e [Qt] fix a bug where the SplashScreen will not be hidden during startup 2018-01-04 21:13:08 +03:00
Francesco 'makevoid' Canessa
67b56c68b5 Add address label to request payment QR Code (QT)
In the Receive 'Tab' of the QT wallet, when 'Show'ing a previously requested payment, add a label underneath the QR Code showing the bitcoin address where the funds will go to.

This way the user can be sure that the QR code scanner app the user using is reading the correct bitcoin address, preventing funds to be stolen.

Includes fix for HiDPI screens by @jonasschnelli.
2018-01-04 21:11:46 +03:00
UdjinM6
60375132bc PR #7772 is not enough to fix the issue with QCompleter, use event filter instead of connect 2018-01-04 21:11:17 +03:00
Tyler Hardin
4ecd5749b2 Qt: Sort transactions by date
Conflicted transactions can get stuck at the top. This fixes that.
2018-01-04 21:07:51 +03:00
Jonas Schnelli
f7cc3dddab [Qt] Disable some menu items during splashscreen/verification state 2018-01-04 21:07:27 +03:00
Jonas Schnelli
a0858c448c [Qt][OSX] Fix Cmd-Q / Menu Quit shutdown on OSX 2018-01-04 21:07:09 +03:00
Tyler Hardin
f50bfbf7fe Qt: Add option to hide the system tray icon
My changes leave all tray icon and menu creation/initialization logic
untouched. It only shows or hides the icon according to the setting.

A new checkbox was added to the OptionsDialog under the Window tab. A
bool option named "hideTrayIcon" was added to OptionsModel. This
checkbox was mapped like other all options to the OptionsModel.

A signal was added to the OptionsModel for broadcasting changes the the
hideTrayIcon option. This signal was connected to a new slot added to
BitcoinGUI named setTrayIconVisible(bool). The slot simply hides or
shows the trayIcon in BitcoinGUI according to the parameter recieved.
2018-01-04 21:06:00 +03:00
Tyler Hardin
89e8cc64bd Qt: Delay user confirmation of send
I made a subclass of QMessageBox that disables the send button in
exec() and starts a timer that calls a slot to re-enable it after a
configurable delay.

It also has a countdown in the send/yes button while it is disabled
to hint to the user why the send button is disabled (and that it is
actually supposed to be disabled).
2018-01-04 21:05:41 +03:00
Wladimir J. van der Laan
a3e8577f6c qt: Add transaction hash to details window title 2018-01-04 21:05:00 +03:00
Wladimir J. van der Laan
6a93822ee6 qt: Make it possible to show details for multiple transactions
A small GUI annoyance for me has always been that it's impossible to
have multiple transaction detail windows open, for example to compare
transactions.

This patch makes the window non-modal so that it is possible to open
transaction details at will.
2018-01-04 21:04:50 +03:00
Wladimir J. van der Laan
cf35a275c4 qt: Fix out-of-tree GUI builds
Without this patch:

- When I compile the GUI from the bitcoin directory itself, it works as
  expected.

- When I build the GUI in an out-of-tree build, I cannot get it to
  select tabs. When I click, say the "Receive" tab nothing happens,
  the button selects but it doesn't switch the page. The rest - even
  the debug window - seems to work.

See full discussion here:
https://github.com/bitcoin/bitcoin/pull/7911#issuecomment-212413442

This turned out to be caused by a mismatch in the arguments to moc,
preventing it from finding `bitcoin-config.h`. Fix this by passing
`$(DEFAULT_INCLUDES)` to it, which gets set to the appropriate
path by autoconf itself.
2018-01-04 21:02:14 +03:00
Pavel Janík
0beb087e4c Clear the input line after activating autocomplete 2018-01-04 21:01:41 +03:00
Jonas Schnelli
5383cec50f [Qt] remove trailing output-index from transaction-id
The trailing output-index leads to cases where the user can't look-up the transaction ID in various systems.
2018-01-04 20:59:55 +03:00
Jonas Schnelli
b4e761c992 [Qt] remove unused formatBuildDate method 2018-01-04 20:58:59 +03:00
Jonas Schnelli
1f9b09114a [Qt] Debug window: replace "Build date" with "Datadir"
The build date does only makes sense for custom/self-compiled bitcoin-core versions because we are using static build-dates for our deterministic release builds.
Having a quick option to get the current datadir is much more valuable for debug purposes.
2018-01-04 20:58:50 +03:00
João Barbosa
c16a6022d1 Use CCoinControl selection in CWallet::FundTransaction 2018-01-04 20:57:46 +03:00
MarcoFalke
3ba39ef176 [qt] Remove unneeded "fSendFreeTransactions" check 2018-01-04 20:55:42 +03:00
MarcoFalke
edc10cd43c [qt] Remove 0-fee from send dialog 2018-01-04 20:54:59 +03:00