Commit Graph

3628 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
1264b3647d
Merge pull request #3696
c4656e0 Add progress to initial display of latest block downloaded. (R E Broadley)
75b8953 Display progress of rescan. (R E Broadley)
2014-03-11 09:18:16 +01:00
Wladimir J. van der Laan
c52c4e5d14 qt: Make it possible again to specify -testnet in config file
Changes for the datadir chooser have made it impossible to specify
the network (testnet/regtest) in the configuration file for the GUI.

Reorganize the initialization sequence to make this possible again.

- Moves the "datadir" QSetting so that is no longer dependent on the
  network-specific application name (doing otherwise would create a
  chicken-and-egg problem).

- Re-initialize translations after choosing network. There may be a
  different language configured in network-specific settings
  (slim chance, but handle it for sanity).

Fixes point 1 of #3840.
2014-03-11 08:46:01 +01:00
Andreas Schildbach
ffd082a6a3 Add script test to prove that OP_0 evaluates as the empty vector, rather than [0]. 2014-03-11 00:59:33 +01:00
Mike Hearn
037b4f1485 Make mining fee policy match relay fee policy.
This resolves a case in which a mismatch could be used to bloat up the
mempool by sending transactions that pay enough fee to relay, but not
to be mined, with the default policies.
2014-03-10 19:17:18 +01:00
Jeff Garzik
a63f8b7b36 Merge pull request #3717 from djpnewton/wallet-txcount
add getwalletinfo RPC call with wallet transaction count
2014-03-10 13:37:03 -04:00
Wladimir J. van der Laan
0ffd87f1c1
qt: Remove control characters from ko_KR translation
Last Transifex pull (064a690) introduced a few control characters
into the Korean translation, which sometimes causes the build to fail.

Manually remove these characters for now to get the build working --
they should still be removed at Transifex too.
2014-03-10 17:04:35 +01:00
Wladimir J. van der Laan
636d8e4de6
Merge pull request #3815
5283410 Remove unused includes of boost lexical_cast (Wladimir J. van der Laan)
2014-03-10 16:32:50 +01:00
Wladimir J. van der Laan
064a690515 Transifex pull pre-0.9.0rc3/final 2014-03-10 14:15:46 +01:00
Wladimir J. van der Laan
b76733d8e8
Merge pull request #3514
f59d8f0 Per-peer block download tracking and stalled download detection. (Pieter Wuille)
2014-03-10 13:23:18 +01:00
Wladimir J. van der Laan
70b8cb9ce8
qt: Adjust BLOCK_CHAIN_SIZE to 20GB
This increases the space requirement for selecting a data directory in
the UI.
As suggested by @bardiharborow, fixes #3830.
2014-03-10 10:06:15 +01:00
Wladimir J. van der Laan
218be95903
Merge pull request #3685
8e29623 [Qt] show number of in/out connections in debug console (Philip Kaufmann)
2014-03-10 10:03:53 +01:00
Wladimir J. van der Laan
1cab453ff8
Merge pull request #3817
e935293 Minor code cleanup: remove indentation (Mark Friedenbach)
2014-03-10 09:33:19 +01:00
Mark Friedenbach
e935293e17 Minor code cleanup: remove indentation
This indentation should have been stripped out when AreInputsStandard was made a top-level function instead of a CTransaction method.
2014-03-08 00:43:35 -08:00
jtimon
89ec3a2911 MainNet is the special case for the GUI 2014-03-07 22:59:30 -08:00
Wladimir J. van der Laan
5283410568 Remove unused includes of boost lexical_cast
We don't use lexical_cast anywhere, no need to include it.
2014-03-07 17:55:13 +01:00
Wladimir J. van der Laan
c7c3262774
Merge pull request #3768
fecba4e Total money limit test (Pieter Wuille)
2014-03-07 08:59:03 +01:00
Wladimir J. van der Laan
9b7449bae6
Merge pull request #3805
8a6894c Log which wallet is used during init (Wladimir J. van der Laan)
2014-03-07 07:51:53 +01:00
Wladimir J. van der Laan
1bcf81e042 gui: Prevent status icons from being cut off
After the Qt5 switch, status icons were being cut off by 1-2px.

Also fixes some other cases where the UI is slightly off mentioned in #3800.

Fixes #3800.
2014-03-06 14:56:31 +01:00
Michagogo
d30d379beb Slightly tweak error when unable to bind port
A slight improvement over 2d2d8fae3d -- we don't know that it's the daemon, it could be the GUI.
2014-03-05 18:25:35 +02:00
Wladimir J. van der Laan
8a6894ca3e Log which wallet is used during init
Now that the wallet can be selected using -wallet it is important
to log which wallet is being used for later troubleshooting.
2014-03-05 16:15:04 +01:00
Cozz Lovan
ba51c7da40 Fix null pointer in IsTrusted() 2014-03-05 15:05:44 +01:00
Pieter Wuille
fecba4e269 Total money limit test
Added bounds check by @il--ya.

Updated-by: Wladimir van der Laan <laanwj@gmail.com>
2014-03-05 12:07:58 +01:00
paveljanik
2d2d8fae3d Clarify the error message when unable to bind to port 2014-03-05 10:42:52 +01:00
paveljanik
094eeff0ba Bitcoin is running fine...
When bitcoind can't bind, bitcoin server (or Bitcoin Core Daemon) is probably already running. Add the missing word "server". Bitcoin itself is definitely running ;-)

Add _(...) so the string can be localized.

I apologize for such trivial changes, learning github interface.
2014-03-05 00:02:18 +01:00
Wladimir J. van der Laan
c975e99ca9
Merge pull request #3784
dc01ba7 Fix coin control sorts date as text (Cozz Lovan)
2014-03-04 15:06:18 +01:00
Wladimir J. van der Laan
ad6ae48939
build: Version bump to 0.9.99, disable IS_RELEASE
`master` is not a release. Use the same convention as before and label
these intermediate builds as x.x.99.
2014-03-04 13:33:39 +01:00
Cozz Lovan
dc01ba7b0c Fix coin control sorts date as text 2014-03-03 23:26:00 +01:00
Philip Kaufmann
8e29623077 [Qt] show number of in/out connections in debug console 2014-03-03 22:35:02 +01:00
Philip Kaufmann
a486abd419 replace custom GetFilesize() with boost::filesystem::file_size() 2014-03-03 22:33:09 +01:00
Wladimir J. van der Laan
098316c70f English translation update
A few new messages have been added since last update.
2014-03-01 09:06:10 +01:00
Gavin Andresen
7be6ebcf08 Merge pull request #3744 from petertodd/document-isvalid-is-consensus-critical
Document that CPubKey.IsValid() is consensus critical
2014-02-28 15:27:58 -05:00
Gavin Andresen
829f822267 Merge pull request #3767 from laanwj/2014_02_tinyformat_errors_non_fatal
Make tinyformat errors raise an exception instead of assert()ing
2014-02-28 15:17:28 -05:00
Gavin Andresen
f60e49d49c Merge pull request #3694 from gavinandresen/vfspent
Remove CWalletTx::vfSpent
2014-02-28 15:16:25 -05:00
Wladimir J. van der Laan
f642fd9dd6 qt: Modernize 'confirmed' terminology in shown tx status
These days we regard transactions with one confirmation to be
'Confirmed'.
Waiting for 6 confirmations is a recommendation but should not
keep the transaction shown as unconfirmed.

Misc code sanity:

- Merge maturity/status enums, they had become completely disjunct
- 'confirmed' flag is now called 'countsForBalance' for clarity
2014-02-28 13:04:50 +01:00
Wladimir J. van der Laan
1b8fd35aad Make tinyformat errors raise an exception instead of assert()ing
By default tinyformat errors such as 'wrong number of conversion
specifiers in format string' cause an assertion failure.

Raise an exception instead so that error handling can recover or can
show an appropriate error.
2014-02-28 09:25:00 +01:00
Wladimir J. van der Laan
a270ca2b42 Transifex pull pre-0.9.0rc2 2014-02-27 14:18:53 +01:00
Wladimir J. van der Laan
dcb1280d8e
Merge pull request #3752
5d5b0d2 Add shell null to else block (Wil Bown)
2014-02-27 12:35:11 +01:00
Daniel Newton
a00ebb5117 move wallet info stuff to "getwalletinfo" rpc (left original wallet
stuff in getinfo call for backwards compatibility)

add wallet transaction count to getwalletinfo rpc call
2014-02-27 14:46:58 +13:00
Wladimir J. van der Laan
b81f9718df
Merge pull request #3749
4423571 Replace PrintException with PrintExceptionContinue + throw (Wladimir J. van der Laan)
2014-02-26 20:52:39 +01:00
Wil Bown
5d5b0d284a Add shell null to else block
MinGW-W64-builds-4.2.0 shell doesn't like the empty else blocks.
2014-02-26 12:39:57 -07:00
Gavin Andresen
ae7e5d7ceb Merge pull request #3737 from jgarzik/op-return-size
script: reduce OP_RETURN standard relay bytes to 40
2014-02-26 13:52:56 -05:00
Jeff Garzik
8175c790eb script: reduce OP_RETURN standard relay bytes to 40
Per mailing list discussion.
2014-02-26 12:58:08 -05:00
Gavin Andresen
e3e65d29b7 Merge pull request #3735 from laanwj/2014_02_remove_PRIx64_completely
Remove PRIx64 usage completely
2014-02-26 12:16:03 -05:00
Gavin Andresen
93a18a3650 Remove CWalletTx::vfSpent
Use the spent outpoint multimap to figure out which wallet transaction
outputs are unspent, instead of a vfSpent array that is saved
to disk.
2014-02-26 11:53:51 -05:00
Wladimir J. van der Laan
44235713ed Replace PrintException with PrintExceptionContinue + throw
Just a pet peeve.

(PrintException has exactly the same body as PrintExceptionContinue but
does a re-throw at the end. Move these re-throws to the call
site, this aids understanding what is going on as well as eliminates a
bit of code duplication in util.cpp)
2014-02-26 13:23:52 +01:00
Cozz Lovan
a719903804 Fix bitcoin-cli exit status code 2014-02-26 13:12:47 +01:00
Wladimir J. van der Laan
12f5787d45
Merge pull request #3559
e6c6bc9 Adds additional zero checks for setCompact  These encoded values should all decode to zero (Noel Tiernan)
2014-02-25 16:25:52 +01:00
Wladimir J. van der Laan
3198604293
Merge pull request #3712
a3138ed add test of DecodeBase58 skipping whitespace (Christian von Roques)
2014-02-25 16:24:03 +01:00
Peter Todd
5a986edac8
Document that CPubKey.IsValid() is consensus critical 2014-02-25 09:31:43 -05:00
Gavin Andresen
a16ad1c0f4 Merge pull request #3704 from gavinandresen/wallet_lock_fixes
Wallet locking fixes for -DDEBUG_LOCKORDER
2014-02-24 14:39:23 -05:00
Jeff Garzik
beabca2be0 Merge pull request #3305 from mikehearn/fee_drop
Drop fees by 10x due to the persistently higher exchange rate.
2014-02-24 14:05:54 -05:00
Jeff Garzik
c72204e568 Merge pull request #3718 from jgarzik/pubkey-size
script: tighten multisig non-standard rules: do not relay pubkeys above 65 bytes
2014-02-24 11:59:27 -05:00
Wladimir J. van der Laan
2f5da74362 Remove definition of PRI?64 in util.h
This was a bad idea. This can't be solved with macros as any
other library that includes inttypes.h will get in the way.

The parent commit has removed all usages from the source, this commit
removes the definition.
2014-02-24 09:11:33 +01:00
Wladimir J. van der Laan
f48742c2bf Get rid of C99 PRI?64 usage in source files
Amend to d5f1e72. It turns out that BerkelyDB was including inttypes.h
indirectly, so we cannot fix this with just macros.

Trivial commit: apply the following script to all .cpp and .h files:

    # Middle
    sed -i 's/"PRIx64"/x/g' "$1"
    sed -i 's/"PRIu64"/u/g' "$1"
    sed -i 's/"PRId64"/d/g' "$1"
    # Initial
    sed -i 's/PRIx64"/"x/g' "$1"
    sed -i 's/PRIu64"/"u/g' "$1"
    sed -i 's/PRId64"/"d/g' "$1"
    # Trailing
    sed -i 's/"PRIx64/x"/g' "$1"
    sed -i 's/"PRIu64/u"/g' "$1"
    sed -i 's/"PRId64/d"/g' "$1"

After this commit, `git grep` for PRI.64 should turn up nothing except
the defines in util.h.
2014-02-24 09:08:56 +01:00
Wladimir J. van der Laan
4fd082ded7
Merge pull request #3729
d5f1e72 Don't use PRIx64 formatting derives from inttypes.h (Wladimir J. van der Laan)
2014-02-23 09:04:07 +01:00
Gregory Maxwell
041f71bb38 Make the signrawtransaction docs explicit that the arguments can be 'null'. 2014-02-22 12:52:09 -08:00
Wladimir J. van der Laan
d5f1e727a8 Don't use PRIx64 formatting derives from inttypes.h
As the tinyformat-based formatting system (introduced in b77dfdc) is
type-safe, no special format characters are needed to specify sizes.

Tinyformat can support (ignore) the C99 prefixes such as "ll" but
chokes on MSVC's inttypes.h defines prefixes such as "I64X". So don't
include inttypes.h and define our own for compatibility.

(an alternative would be to sweep the entire codebase using sed -i to
get rid of the size specifiers but this has less diff impact)
2014-02-22 11:36:37 +01:00
Wladimir J. van der Laan
b96f6a77f8 Remove "conflicted" as transaction category.
We were losing information about sent/received by overriding the
category in case of a conflicted transaction.

Hence, remove the "conflicted" category.

Conflicted status of a transaction can still be determined by looking
for confirmations<0.
2014-02-21 16:34:06 +01:00
Jeff Garzik
595b6d88d4 script: tighten multisig non-standard rules: do not relay pubkeys above 65 bytes 2014-02-21 02:26:51 -05:00
Christian von Roques
a3138ed42b add test of DecodeBase58 skipping whitespace 2014-02-21 01:01:48 +00:00
Wladimir J. van der Laan
76a77059f3
Merge pull request #2910
d8b4b49 Don't store or send side-chain blocks lower than last checkpoint. (Ashley Holman)
2014-02-20 12:32:32 +01:00
R E Broadley
c4656e0d88 Add progress to initial display of latest block downloaded. 2014-02-19 18:23:13 -08:00
R E Broadley
75b8953a2c Display progress of rescan. 2014-02-19 18:23:12 -08:00
Wladimir J. van der Laan
7f080fbef7
Merge pull request #3703
ad54a9b Change new constants in txdb.h to int64_t (Wladimir J. van der Laan)
2014-02-19 09:04:09 +01:00
Wladimir J. van der Laan
38ebd0fee8
Merge pull request #3699
ddcabae qt: Rename 'Confirmed' balance to 'Spendable' on overview page (Wladimir J. van der Laan)
2014-02-19 08:50:22 +01:00
Wladimir J. van der Laan
ddcabae0de qt: Rename 'Confirmed' balance to 'Spendable' on overview page
The word 'Spendable' more precisely says what the balance actually means.

Avoids the confirmed/unconfirmed confusion that can be caused by #3676.
2014-02-19 08:46:46 +01:00
Gavin Andresen
ca4cf5cff6 Wallet locking fixes for -DDEBUG_LOCKORDER
Compiling with -DDEBUG_LOCKORDER and running the qa/rpc-test/ regression
tests uncovered a couple of wallet methods that should (but didn't)
acquire the cs_wallet mutext.

I also changed the AssertLockHeld() routine print to stderr and
abort, instead of printing to debug.log and then assert()'ing.
It is annoying to look in debug.log to find out which
AssertLockHeld is failing.
2014-02-18 12:11:46 -05:00
Wladimir J. van der Laan
ad54a9b83f Change new constants in txdb.h to int64_t
A shift overflow was happening when using these to check against in init.cpp.
Fixes #3702.
2014-02-18 17:13:32 +01:00
Wladimir J. van der Laan
5c99323459
Merge pull request #3693
f05fa03 [Qt] small .ui cleanup for optionsdialog and coincontrol (Philip Kaufmann)
2014-02-18 14:37:58 +01:00
Wladimir J. van der Laan
bd8e3751d7
Merge pull request #3687
82e9600 add constants for shared (GUI/core) -dbcache settings (Philip Kaufmann)
879b390 Increase default dbcache to 100 MiB (Pieter Wuille)
2014-02-18 08:35:45 +01:00
Wladimir J. van der Laan
0a0cf14337
Merge pull request #3691
a143d4c Fix crash in importwallet and dumpwallet formatting (Wladimir J. van der Laan)
2014-02-17 18:45:10 +01:00
Wladimir J. van der Laan
a143d4ce58 Fix crash in importwallet and dumpwallet formatting
- DecodeDumpTime was passing a statically allocated facet object to
  std::locale. However, "The constructed locale object takes over
  responsibility for deleting this facet object." causing a free()
  crash on scope exit. Fixes #3670.

- EncodeDumpTime was using the wrong format character for dates
  (appears accidentally introduced in 51ed9ec9)
2014-02-17 18:42:05 +01:00
Gavin Andresen
b25d1c0509 Merge pull request #3679 from laanwj/2014_02_walletpassphrase_behavior
Document new `walletpassphrase` behavior in 0.9
2014-02-17 12:11:13 -05:00
Gavin Andresen
e7d854c8ba Merge pull request #3690 from laanwj/2014_02_gettransaction_serialize_only_tx
Serialize only CTransaction data in gettransaction RPC hex
2014-02-17 10:18:34 -05:00
Philip Kaufmann
f05fa03e8b [Qt] small .ui cleanup for optionsdialog and coincontrol 2014-02-17 15:50:40 +01:00
Philip Kaufmann
82e96006ae add constants for shared (GUI/core) -dbcache settings
- adds nDefaultDbCache, nMaxDbCache and nMinDbCache in txdb.h
2014-02-17 15:44:21 +01:00
Pieter Wuille
879b390758 Increase default dbcache to 100 MiB 2014-02-17 15:11:06 +01:00
Wladimir J. van der Laan
29ecccb597
Merge pull request #3587
ceb8e22 [Qt] allow translation of client bitness (Philip Kaufmann)
2014-02-17 14:04:55 +01:00
Wladimir J. van der Laan
047ee427e7
Merge pull request #3666
bbfce8a fix non-standard reason string in main.cpp (Philip Kaufmann)
2014-02-17 13:59:50 +01:00
Wladimir J. van der Laan
7abcd1a1c9
Merge pull request #3614
b920148 [Qt] Improve single step in bitcoinamountfield (Cozz Lovan)
2014-02-17 12:30:30 +01:00
Wladimir J. van der Laan
129429dd8f
Merge pull request #3643
d54e819 Log warnings when bootstrap files are specified but cannot be opened (Wladimir J. van der Laan)
2014-02-17 10:59:03 +01:00
Wladimir J. van der Laan
05add3fe0e Serialize only CTransaction data in gettransaction RPC hex
Don't include trailing implementation-specific wallet metadata.
Fixes 3a1c20b.
2014-02-17 08:53:16 +01:00
Philip Kaufmann
7f1b6a6316 remove orphan fHaveGUI from main.h 2014-02-16 22:05:24 +01:00
Philip Kaufmann
3e0753b0f5 always show syncnode in getpeerinfo (fixes #2717) 2014-02-16 18:44:49 +01:00
Wladimir J. van der Laan
b8d9058a4d
Merge pull request #3646
5770254 Copyright header updates s/2013/2014 on files whose last git commit was done in 2014. contrib/devtools/fix-copyright-headers.py script to be able to perform this maintenance task with ease during the rest of the year, every year. Modifications to contrib/devtools/README.md to document what fix-copyright-headers.py does. (gubatron)
2014-02-16 11:44:48 +01:00
Wladimir J. van der Laan
6c0db81c09 Document new walletpassphrase behavior in 0.9
Also add a note to the release notes.
Fixes #3672.
2014-02-16 10:26:12 +01:00
Wladimir J. van der Laan
25d816110b
Merge pull request #3676
29d4507 qt: Add option to (not) spend unconfirmed change (Wladimir J. van der Laan)
2014-02-16 09:29:12 +01:00
Wladimir J. van der Laan
29d45073c9 qt: Add option to (not) spend unconfirmed change
- Add a wallet tab to options dialog
- Move fee setting to wallet tab
- Add new setting to set -nospendzeroconfchange from UI
2014-02-16 09:23:08 +01:00
Philip Kaufmann
ceb8e226ef [Qt] allow translation of client bitness 2014-02-16 03:01:34 +01:00
Gavin Andresen
085c62149a Merge pull request #3671 from gavinandresen/txn_conflicts
Report transaction conflicts, and tentative account balance fix
2014-02-15 08:56:55 -05:00
Gavin Andresen
731b89b8b5 Track and report wallet transaction clones
Adds a "walletconflicts" array to transaction info; if
a wallet transaction is mutated, the alternate transaction id
or ids are reported there (usually the array will be empty).

Metadata from the original transaction is copied to the mutant,
so the transaction time and "from" account of the mutant are
reported correctly.
2014-02-14 18:13:42 -05:00
Gavin Andresen
05d3ded072 Merge pull request #3669 from gavinandresen/dead_txns
Handle "conflicted" transactions properly
2014-02-14 14:40:32 -05:00
Wladimir J. van der Laan
9a3d936fc2 qt: GUI for conflicted transactions
- Exclamation mark icon for conflicted transactions
- Show mouseover status for conflicted transactions as "conflicted"
- Don't show inactive transactions on overview page overview
2014-02-14 13:25:24 -05:00
Jeff Garzik
518f3bdae3 Add -zapwallettxes cli/config option, used for wallet recovery
This diagnostic tool removes all "tx" records from the wallet db,
then forces a full rescan, to rebuild "tx" records accurately.
2014-02-14 11:33:07 -05:00
Gavin Andresen
2b72d46f42 Handle "conflicted" transactions properly
Extend CMerkleTx::GetDepthInMainChain with the concept of
a "conflicted" transaction-- a transaction generated by the wallet
that is not in the main chain or in the mempool, and, therefore,
will likely never be confirmed.

GetDepthInMainChain() now returns -1 for conflicted transactions
(0 for unconfirmed-but-in-the-mempool, and >1 for confirmed).

This makes getbalance, getbalance '*', and listunspent all agree when there are
mutated transactions in the wallet.

Before:
 listunspent: one 49BTC output
 getbalance: 96 BTC (change counted twice)
 getbalance '*': 46 BTC (spends counted twice)

After: all agree, 49 BTC available to spend.
2014-02-14 11:08:40 -05:00
Wladimir J. van der Laan
6056c87d25
Merge pull request #3662
0542619 Rename IsConfirmed to IsTrusted to better match the intended behavior. (Gregory Maxwell)
2014-02-13 20:12:46 +01:00
Wladimir J. van der Laan
3a1c20b77a Add raw transaction hex to gettransaction wallet RPC
This allows getting raw transaction data from the wallet even if the
transaction is no longer in the blockchain / mempool (for example if it
got orphaned due to malleability abuse).
2014-02-13 17:30:00 +01:00
Philip Kaufmann
bbfce8a4c9 fix non-standard reason string in main.cpp 2014-02-13 15:12:18 +01:00
Gregory Maxwell
0542619d93 Rename IsConfirmed to IsTrusted to better match the intended behavior.
This doesn't change the functionality at all.
2014-02-12 16:23:06 -08:00
b6393ce9-d324-4fe1-996b-acf82dbc3d53
fdbc2b142d If requested, actually treat uncomfirmed change as being uncomfirmed
This commit strengthens 1bbca249b2 by updating the CWalletTx::IsConfirmed() function.

If (bSpendZeroConfChange==false), then IsConfirmed() should actually treat unconfirmed change as being unconfirmed.
2014-02-12 05:41:32 +00:00