Commit graph

12704 commits

Author SHA1 Message Date
Philip Kaufmann
4e16306ae3 fix default Proxy address in Qt options (no hostname allowed currently) 2012-06-04 23:13:01 +02:00
Gavin Andresen
46e06b875d Merge branch 'netopt' of https://github.com/sipa/bitcoin 2012-06-04 14:15:19 -04:00
Chris Moore
831f59ce8b Fix coin selection to only include change when it's necessary. 2012-06-04 16:49:10 +00:00
Chris Moore
d650f96d5f Preserve the shuffled order of coins with equal value to give more randomized coin selection. 2012-06-04 16:36:46 +00:00
Chris Moore
4ce190a015 Test that the coin selection code is suitably random, and add tests re. sub-cent change. 2012-06-04 16:36:43 +00:00
Chris Moore
e333ab56d5 Move the random_shuffle call back into SelectCoinsMinConf() so we can unit test it. 2012-06-04 16:36:39 +00:00
Chris Moore
9b0369c773 Refactor SelectCoinsMinConf() and add unit tests.
AvailableCoins() makes a vector of available outputs which is then passed to SelectCoinsMinConf().  This allows unit tests to test the coin selection algorithm without having the whole blockchain available.
2012-06-04 16:36:34 +00:00
Wladimir J. van der Laan
882ba0e752 Merge pull request from sje397/ShowImmatureBalance
Added 'immature balance' for miners. Only displayed if the balance is > 0
2012-06-02 02:35:48 -07:00
Wladimir J. van der Laan
88d7bc930a Merge pull request from Diapolo/verifymessagepage
GUI: change verifymessagepage behaviour to match RPC-call "verifymessage"
2012-06-02 02:33:41 -07:00
Philip Kaufmann
5d6b30271f move class HelpMessageBox to guiutil.cpp/.h / add button to show Bitcoin command-line options (in RPC Console -> Information) / resize Debug window a little to allow for a non-breaking display of the welcome message with non-english translation 2012-06-01 16:29:54 +02:00
Philip Kaufmann
8103b0bb62 change verifymessagepage behaviour to match RPC-call "verifymessage" (input address, signature and message) / display messages in status label (remove message boxes) / resize window to make signature fully readable / change signature font to BC-address font (like in messagepage) / remove checkAddress() and place code directly in on_verifyMessage_clicked() / add visual feedback to LineEdits / remove AddressTableModel references, as they are now unused / add addr.GetKeyID(keyID) check 2012-06-01 11:13:44 +02:00
Gavin Andresen
98474d3d6f Use ConvertTo to simplify sendmany/addmultisigaddress argument handling 2012-05-31 16:09:31 -04:00
Gavin Andresen
ea7582bb41 Make sendrawtx return txid to be consistent with other send methods. 2012-05-31 16:05:07 -04:00
Ricardo M. Correia
10b45b4c2e Use C++-style numeric limits instead of C-style. 2012-05-31 20:33:22 +02:00
Ricardo M. Correia
78e851f94f Fix noinline definition so that it works for more compilers. 2012-05-31 20:33:14 +02:00
Pieter Wuille
587f929c64 Rework network config settings 2012-05-31 18:12:35 +02:00
Philip Kaufmann
407e20c11a sync english translation master file with current master branch 2012-05-31 11:11:04 +02:00
Pieter Wuille
10ed8178fc Update bitcoinstrings.cpp 2012-05-30 23:00:21 +02:00
R E Broadley
e69a797990 Show the timestamp for the block.
wrap lines
2012-05-29 20:11:37 +01:00
Gregory Maxwell
20cb17e1f9 Merge pull request from gavinandresen/testnet_reset
Testnet reset
2012-05-27 19:26:47 -07:00
Luke Dashjr
3cd01fdf0e CreateNewBlock: Check that the produced CBlock is acceptable (except for proof-of-work and merkletree, since those need to be provided later)
This throws an exception from CreateNewBlock otherwise, which is not safe without !
2012-05-27 12:27:33 +00:00
Pieter Wuille
a52c7a1b65 Merge pull request from sipa/keyid
Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
2012-05-26 10:17:27 -07:00
Pieter Wuille
1e07068adf Merge pull request from Diapolo/add_startuptime_to_log
add client startup time as an entry to debug.log
2012-05-26 01:55:17 -07:00
Gavin Andresen
c87c8cd163 Add a testnet checkpoint at block 546 2012-05-25 14:36:40 -04:00
Gavin Andresen
248bceb30c Fix issue#1082, testnet difficulty unsigned integer underflow 2012-05-25 14:36:40 -04:00
Gavin Andresen
feeb761ba0 Testnet, Mark III 2012-05-25 14:36:40 -04:00
Gavin Andresen
4e6e3293ff Remove newlines from JSON strings
Newlines in JSON strings are against the JSON spec,
so remove them from the script*.json unit tests to
make python's jsonrpc happy (json::spirit didn't care).
2012-05-25 13:58:44 -04:00
Gavin Andresen
787f5e9949 Unit tests for transaction size limits 2012-05-25 11:37:34 -04:00
sje397
8fdb7e108f Added 'immature balance' for miners. Only displayed if the balance is greater than zero.
This adds a field labelled 'Immature' in the overview section under the 'unconfirmed' field, which shows mined
income that has not yet matured (which is currently not displayed anywhere, even though the transactions
exist in the transaction list). To do that I added a 'GetImmatureBalance' method to the wallet, and connected
that through to the GUI as per the 'GetBalance' and 'GetUnconfirmedBalance' methods. I did a small 'no-op'
change to make the code in adjacent functions a little more readable (imo); it was a change I had made in my
repo earlier...but I thought it wouldn't hurt so left it in. Immature balance comes from mined income that is
at least two blocks deep in the chain (same logic as displayed transactions).

My reasoning is:
- as a miner, it's a critical stat I want to see
- as a miner, and taking into account the label 'immature', the uncertainty is pretty clearly implied
- those numbers are already displayed in the transaction list
- this makes the overview numbers add up to what's in the transaction list
- it's not displayed if the immature balance is 0, so won't bother non-miners

I also 'cleaned' the overview UI a little, moving code to the XML and removing HTML.
2012-05-25 23:15:27 +10:00
Giel van Schijndel
fbf9df2ea3 Use the QueueShutdown signal to stop accepting new RPC connections
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:25 +02:00
Giel van Schijndel
7cc2ceae09 Allow all addresses on the loopback subnet (127.0.0.0/8) not just 127.0.0.1
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
a0780ba08a Generalise RPC connection handling code to allow more listening sockets
Using this modification it should be relatively easy to, at a later
time, listen on multiple addresses (even Unix domain sockets should be
possible).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
43b6dafa6e Allow clients on the IPv6 loopback as well
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
c1ecab818c Add dual IPv4/IPv6 stack support to the RPC server
The RPC server now listens for, and handles, incoming connections on
both IPv4 as well as IPv6.

If available (and usable) it uses a dual IPv4/IPv6 socket on systems
that support it (e.g. Linux and BSDs) and falls back to separate
IPv4/IPv6 sockets on systems that don't (e.g. Windows).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
914dc01222 Use asynchronous I/O to handle RPC requests
This allows more flexibility in the RPC code, e.g. making it easier to
handle multiple simultaneous connections later on.

Currently asynchronous I/O is only used to listen for and accept
incoming connections.  Asynchronous reading/writing is more involved.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Gavin Andresen
6b8a17119e Lots more Script unit test cases. 2012-05-24 17:32:09 -04:00
Pieter Wuille
1025440184 Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
This introduces internal types:
* CKeyID: reference (hash160) of a key
* CScriptID: reference (hash160) of a script
* CTxDestination: a boost::variant of the former two

CBitcoinAddress is retrofitted to be a Base58 encoding of a
CTxDestination. This allows all internal code to only use the
internal types, and only have RPC and GUI depend on the base58 code.

Furthermore, the header dependencies are a lot saner now. base58.h is
at the top (right below rpc and gui) instead of at the bottom. For the
rest: wallet -> script -> keystore -> key. Only keystore still requires
a forward declaration of CScript. Solving that would require splitting
script into two layers.
2012-05-24 20:26:19 +02:00
Pieter Wuille
fd61d6f506 Encapsulate public keys in CPubKey 2012-05-24 19:58:12 +02:00
Gavin Andresen
f04017f702 More CScript unit tests. 2012-05-24 13:29:08 -04:00
Jeff Garzik
b92095f18c DoS_tests: fix signed/unsigned comparison warnings
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_mapOrphans::test_method()’:
test/DoS_tests.cpp:200:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:208:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_checkSig::test_method()’:
test/DoS_tests.cpp:260:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:267:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:280:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:307:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2012-05-24 12:18:50 -04:00
Jeff Garzik
2ae4ad004a Merge pull request from Diapolo/rem_unused_rpcdump
remove dead "using namespace boost::asio;" from rpcdump.cpp
2012-05-24 09:14:59 -07:00
Jeff Garzik
ec9c902133 Merge pull request from jgarzik/rawtx
JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
2012-05-24 09:14:04 -07:00
Philip Kaufmann
bd09334d1a remove dead "using namespace boost::asio;" from rpcdump.cpp 2012-05-24 18:13:03 +02:00
Jeff Garzik
8e154e4d74 Merge branch 'merge2' into merge 2012-05-24 11:57:51 -04:00
Jeff Garzik
480d44bd0b rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h. 2012-05-23 23:20:07 -04:00
Jeff Garzik
429039d45d Refactor: move runCommand() to util.cpp 2012-05-23 23:10:59 -04:00
Jeff Garzik
976c08b68a JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network 2012-05-23 16:21:25 -04:00
Philip Kaufmann
41c6b8abc6 add client startup time as an entry to debug.log (note: logged time in debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString 2012-05-23 18:44:28 +02:00
Jeff Garzik
9ac282ca0c Refactor: add IsChainFile helper. LoadBlockIndex() code movement. 2012-05-23 00:17:07 -04:00
Gregory Maxwell
7a99821377 Merge pull request from rebroad/LastSeenMinusMinus
Should not be T minus, as this indicate duration to future event.
2012-05-22 20:33:35 -07:00
Luke Dashjr
f9189543bf CDBEnv: fix qt build 2012-05-22 20:47:42 -04:00
Pieter Wuille
f29f242758 Merge pull request from gavinandresen/optimize2
Move signature cache from CKey::Verify to CheckSig in script.cpp
2012-05-22 15:13:36 -07:00
Jeff Garzik
0134a1c08c Merge branch 'dbenv' into tmp
Conflicts:
	src/db.cpp
2012-05-22 17:45:00 -04:00
Jeff Garzik
5d0f7c4f47 Merge pull request from jgarzik/check-deser
Prevent crashes due to missing or corrupted database records
2012-05-22 14:39:49 -07:00
Pieter Wuille
fa638ec8af Merge pull request from sipa/bootorder
Reorder AppInit2
2012-05-22 13:54:46 -07:00
Jeff Garzik
78eb2789b2 ProcessMessage(): remove duplicate orphan tx debug message 2012-05-22 15:33:04 -04:00
Jeff Garzik
8fe791e4e2 Prevent crashes due to missing or corrupted blk????.dat records
In LoadExternalBlockFile(), errors are already caught... silently.
Add a warning message, even though we do not abort the program due to
load error.
2012-05-22 15:23:17 -04:00
Jeff Garzik
f94b64c2f3 Prevent crashes due to missing or corrupted database records
Any problems seen during deserialization will throw an uncaught
exception, crashing the entire bitcoin process.  Properly return an
error instead, so that we may at least log the error and gracefully
shutdown other portions of the app.
2012-05-22 15:12:52 -04:00
Gavin Andresen
acf513cfe7 Move signature cache from CKey::Verify to CheckSig in script.cpp
More than doubles the speed of verifying already-cached signatures
that use compressed pubkeys:
Before: ~200 microseconds
After:  ~80 microseconds
(no caching at all: ~3,300 microseconds per signature)

Also encapsulates the signature cache code in a class
and fixes a signed/unsigned comparison warning.
2012-05-22 14:15:11 -04:00
Wladimir J. van der Laan
d1edab602a Merge pull request from laanwj/2012_05_macoshide
Remove duplicate behavior on MacOSX
2012-05-22 10:33:03 -07:00
Wladimir J. van der Laan
b06f9c1364 Remove duplicate behavior on MacOSX
Dock icon on macosx already has show/hide functionality. This results in erratic behavior.
2012-05-22 18:28:10 +02:00
Gavin Andresen
43d16f0361 Merge branch 'master' of github.com:bitcoin/bitcoin 2012-05-22 11:14:30 -04:00
Gavin Andresen
d0e4051cd8 Merge branch 'optimize' 2012-05-22 11:13:00 -04:00
Gregory Maxwell
09cec19e2f Merge pull request from rebroad/ProcessMessagesDebugCorrect
Correct debug.log output to show correct function the debug is coming from.
2012-05-22 08:06:05 -07:00
R E Broadley
ea591ead85 Correct debug.log output to show correct function the debug is coming from. 2012-05-22 12:06:08 +01:00
Jeff Garzik
7b671f52e0 Define BOOST_SPIRIT_THREADSAFE in all makefiles
rather than at each include site.

Fixes 
2012-05-21 22:25:54 -04:00
Pieter Wuille
63407fd6e2 Merge pull request from mndrix/reopen-log-file
Reopen log file on SIGHUP
2012-05-21 10:04:26 -07:00
Wladimir J. van der Laan
bc5053d93e Merge pull request from laanwj/2012_05_addrremovewhitespace
Filter out whitespace and zero-width non-breaking spaces in address field validator
2012-05-21 09:54:24 -07:00
Wladimir J. van der Laan
ce7896070c Remove autocorrection of 0/i in addresses in UI 2012-05-21 18:52:56 +02:00
Wladimir J. van der Laan
25047eb3e9 Filter out whitespace and zero-width non-breaking spaces in validator
- Fixes issues with copy/pasting from web or html emails ()
2012-05-21 18:52:15 +02:00
Pieter Wuille
7d80d2e3d7 Reorder AppInit2
This reorders AppInit2 into 10 sections:
1)  basic setup (OS stuff, signal handlers)
2)  parameter interactions (softset)
3)  interpreting options without side effects (just setting internal variables)
4)  application initialization (datadir lock, daemonize, pidfile, log file)
5)  network initialization (network params, proxy, binding)
6)  load blockchain
7)  load wallet
8)  import blocks (-loadblock=)
9)  load peers
10) start node/rpc threads
11) finished

This means invalid configurations will be detected as soon as possible
(in particular, before loading the block chain).
2012-05-21 18:43:22 +02:00
Wladimir J. van der Laan
3b9473afa2 Merge pull request from Diapolo/askpassphrasedialog
GUI: start rows in askpassphrasedialog.ui at 0 (not 1)
2012-05-21 09:41:51 -07:00
Jeff Garzik
9c137aaccf BDB: restore DB_PRIVATE flag to environment
Satoshi's commits fdbf76d and c8ad9b8 (SVN import) removed the
DB_PRIVATE flag from the environment.  In part, this enables processes
other than bitcoind to examine the active database environment.

However, this incurs a slight performance penalty versus working
entirely within application memory (DB_PRIVATE).  Because bitcointools
and other direct-BDB-accessing tools are not used by the vast
majority of users, prefer to default with DB_PRIVATE with the option
of disabling it if needed via -privdb=0.
2012-05-21 12:38:45 -04:00
Pieter Wuille
46784d0826 Merge pull request from fanquake/master
Update Header Licenses
2012-05-20 12:27:50 -07:00
Pieter Wuille
6e86c4700b Merge pull request from Diapolo/remove_strncasecmp
remove strncasecmp() + strnicmp() calls use boost::algorithm::istarts_with()
2012-05-20 12:26:43 -07:00
Philip Kaufmann
4dfbc78a88 start rows in askpassphrasedialog.ui at 0 (not 1) 2012-05-20 15:55:39 +02:00
Wladimir J. van der Laan
239c11d0dd Make testcases build, prevent windows symbol collision 2012-05-20 10:44:50 +02:00
Wladimir J. van der Laan
0832c0d166 Process address book updates incrementally
- No longer invalidates selection model, thus retains selection on address book changes
- Fixes selection of new address when added
2012-05-20 10:44:50 +02:00
Wladimir J. van der Laan
ab1b288fa7 Convert UI interface to boost::signals2.
- Signals now go directly from the core to WalletModel/ClientModel.
  - WalletModel subscribes to signals on CWallet: Prepares for multi-wallet support, by no longer assuming an implicit global wallet.
- Gets rid of noui.cpp, the few lines that were left are merged into init.cpp
- Rename wxXXX message flags to MF_XXX, to make them UI indifferent.
- ThreadSafeMessageBox no longer returns the value `4` which was never used, converted to void.
2012-05-20 10:44:50 +02:00
Wladimir J. van der Laan
fe4a655042 Fine-grained UI updates
Gets rid of `MainFrameRepaint` in favor of specific update functions that tell the UI exactly what changed.

This improves the efficiency of various handlers. Also fixes problems with mined transactions not showing up until restart.

The following notifications were added:

- `NotifyBlocksChanged`: Block chain changed
- `NotifyKeyStoreStatusChanged`: Wallet status (encrypted, locked) changed.
- `NotifyAddressBookChanged`: Address book entry changed.
- `NotifyTransactionChanged`: Wallet transaction added, removed or updated.
- `NotifyNumConnectionsChanged`: Number of connections changed.
- `NotifyAlertChanged`: New, updated or cancelled alert. As this finally makes it possible for the UI to know when a new alert arrived, it can be shown as OS notification.

These notifications could also be useful for RPC clients. However, currently, they are ignored in bitcoind (in noui.cpp).

Also brings back polling with timer for numBlocks in ClientModel. This value updates so frequently during initial download that the number of signals clogs the UI thread and causes heavy CPU usage. And after initial block download, the value changes so rarely that a delay of half a second until the UI updates is unnoticable.
2012-05-20 10:41:54 +02:00
Wladimir J. van der Laan
563f3efda3 Merge pull request from Diapolo/string_fixes
translation updates / string updates
2012-05-20 01:34:06 -07:00
Wladimir J. van der Laan
6f3b919ae1 Merge pull request from Diapolo/RPC_OpenDebugLog_Icon
GUI: add an icon for Debug logfile -> Open in the RPC console
2012-05-20 01:32:18 -07:00
Wladimir J. van der Laan
01ecb074a7 Merge pull request from laanwj/2012_05_utilstrings
Get rid of snprintf (except one) with fixed buffers, shorten code
2012-05-20 01:30:18 -07:00
Jeff Garzik
ffe8b77a61 Further CDBEnv encapsulation work. 2012-05-19 20:46:52 -04:00
Jeff Garzik
94e34fa0ad CDB::CDB: properly initialize activeTxn to NULL 2012-05-19 20:45:39 -04:00
Jeff Garzik
8b1202c52c Remove unused nested BDB transaction support 2012-05-19 20:45:39 -04:00
Jeff Garzik
24b57e3c6a Create CDBEnv::TxnBegin(), and use it in CDB::TxnBegin() 2012-05-19 20:44:31 -04:00
Jeff Garzik
cd9696fc97 Encapsulate BDB environment inside new CDBEnv class
Cleans up and organizes several scattered functions and variables related to
the BDB env.  Class CDBInit() existed to provide a
guaranteed-via-C++-destructor cleanup of the db environment.

A formal CDBEnv class provides all of this inside a single wrapper.
2012-05-19 20:43:19 -04:00
Jeff Garzik
b52a270538 Reorganize(): remove spurious TxnAbort()
If Reorganize() fails, then its caller, CBlock::SetBestChain(),
will call TxnAbort().

Redundant TxnAbort() calls are harmless.  The second will return an
error return value, with no other side effects.  TxnAbort() return
values are generally never checked.  The impact is nil.
2012-05-19 20:40:43 -04:00
Philip Kaufmann
00fb08158d remove strncasecmp() + strnicmp() calls and replace that code via boost::algorithm::istarts_with() / do not call ipcInit() on Mac and Windows as this is unneeded currently 2012-05-20 00:48:34 +02:00
Jeff Garzik
cde87ee75c Merge pull request from jgarzik/datasync
Default to DB_TXN_WRITE_NOSYNC for all transactional operations
2012-05-19 12:33:19 -07:00
Pieter Wuille
bd795bd543 Merge pull request from luke-jr/shared_lockchk
Shared code for wallet lock help and check
2012-05-19 08:34:27 -07:00
Gavin Andresen
973ca019bc Merge pull request from Diapolo/CheckDiskSpace
make CheckDiskSpace() use 50 * 1024 * 1024 Bytes
2012-05-19 05:48:48 -07:00
Gavin Andresen
23e5c5b11a Merge pull request from Diapolo/Bitcoin_as_noun
change strings to Bitcoin (uppercase), where it is used as a noun and up...
2012-05-19 05:45:50 -07:00
Wladimir J. van der Laan
e3f72a3555 Merge pull request from laanwj/2012_05_debugwindowicon2
Replace debug window icon with LGPL-licensed one (fixes )
2012-05-19 03:48:09 -07:00
Wladimir J. van der Laan
8a6a35e9d9 Replace debug window icon with LGPL-licensed one (fixes ) 2012-05-19 12:47:01 +02:00
Jeff Garzik
394b9298fa Default to DB_TXN_WRITE_NOSYNC for all transactional operations
* This is safer than DB_TXN_NOSYNC, and does not appear to impact
  performance.
* Applying this to the dbenv is necessary to avoid many fdatasync(2)
  calls on db 5.x
* We carefully and thoroughly flush databases upon shutdown and
  other important events already.
2012-05-19 01:25:06 -04:00
Luke Dashjr
29875dcb4b Shared code for wallet lock help and check 2012-05-18 23:13:21 +00:00
Michael Hendricks
9af080c351 Reopen debug.log on SIGHUP
The best log rotation method formerly available was to configure
logrotate with the copytruncate option.  As described in the logrotate
documentation, "there is a very small time slice between copying the
file and truncating it, so some logging data might be lost".

By sending SIGHUP to the server process, one can now reopen the debug
log file without losing any data.
2012-05-18 16:20:03 -06:00
Michael Hendricks
fea25712ca Serialize access to debug.log stream
Acquire an exclusive, advisory lock before sending output to debug.log
and release it when we're done. This should avoid output from multiple
threads being interspersed in the log file.

We can't use CRITICAL_SECTION machinery for this because the debug log
is written during startup and shutdown when that machinery is not
available.

(Thanks to Gavin for pointing out the CRITICAL_SECTION problems based
on his earlier work in this area)
2012-05-18 16:19:09 -06:00
Philip Kaufmann
ff0ee876bb change strings to Bitcoin (uppercase), where it is used as a noun and update strings to use "Qt" (and not qt or QT) / update initialisation of notificator to use qApp->applicationName() instead of a static string 2012-05-18 23:13:58 +02:00
Jeff Garzik
d6615a54c6 Merge pull request from jgarzik/del-deprecated
JSON-RPC: remove 'getblocknumber' deprecated RPC
2012-05-18 08:26:40 -07:00
Pieter Wuille
660ff174f2 Use boost::thread locking instead of interprocess 2012-05-18 16:56:12 +02:00
Gavin Andresen
62922c8ab0 Cache signature verifications
Create a maximum-10MB signature verification result cache.
This should almost double the number of transactions that
can be processed on a given CPU, because before this change
ECDSA signatures were verified when transactions were added
to the memory pool and then again when they appeared in
a block.
2012-05-18 10:41:18 -04:00
Gavin Andresen
4add41a2a6 Further DoS prevention: Verify signatures last
Loop over all inputs doing inexpensive validity checks first,
and then loop over them a second time doing expensive signature
checks. This helps prevent possible CPU exhaustion attacks
where an attacker tries to make a victim waste time checking
signatures for invalid transactions.
2012-05-18 10:41:18 -04:00
Gavin Andresen
7a15109c04 Remove invalid dependent orphans from memory
Remove orphan transactions from memory once
all of their parent transactions are received
and they're still not valid.
Thanks to Sergio Demian Lerner for suggesting this fix.
2012-05-18 10:41:17 -04:00
Gavin Andresen
77b99cf7ad Optimize orphan transaction handling
Changes suggested by Sergio Demian Lerner to
help prevent potential DoS attacks.
2012-05-18 10:13:21 -04:00
Fordy
3a25a2b9b0 Update License in File Headers
I originally created a pull to replace the "COPYING" in crypter.cpp and
crypter.h, but it turned out that COPYING was actually the correct
file.
2012-05-18 22:02:28 +08:00
Philip Kaufmann
a3b4caac38 add an icon for Debug logfile -> Open in the RPC console / add a missing comment in rpcconsole.h 2012-05-18 14:11:55 +02:00
Wladimir J. van der Laan
4a9130aca2 Merge pull request from laanwj/2012_05_overviewpage_restore
Restore overview page (put transactions back within frame)
2012-05-18 01:35:31 -07:00
Wladimir J. van der Laan
320fe1015a Restore overviewpage (put transactions back within frame)
- Also, change "(out of sync)" to only red, instead of red and bold, which a bit more subtle
- Move label stylesheets to xml
2012-05-18 10:33:09 +02:00
Jeff Garzik
47f48a658d JSON-RPC: remove 'getblocknumber' deprecated RPC
RPC 'getblockcount' should be used instead.
2012-05-17 23:43:00 -04:00
Jeff Garzik
6d64a0bfed Make orphan logging more verbose, displaying mapOrphanTransactions.size()
Old log message:
	storing orphan tx df2244f6bc

New log message:
	storing orphan tx df2244f6bc (mapsz 51)

Also, trim a few trailing whitespace in main.cpp.
2012-05-17 20:36:55 -04:00
Jeff Garzik
6c513a45d5 Merge pull request from rebroad/DBFlushDurationReport
Report how long DBFlush took.
2012-05-17 17:21:01 -07:00
Jeff Garzik
f9dd136a09 Revert "use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX) and add missing "#define strncasecmp _strnicmp" in init.cpp"
This reverts commit f4ac41806a.

Reason: breaks build.
2012-05-17 20:14:24 -04:00
Jeff Garzik
c0a360ce49 Merge pull request from Diapolo/strnicmp_Win32
Win32: use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX)
2012-05-17 15:53:38 -07:00
R E Broadley
757cec9ddd Should only be mapped when the getdata is done.
Without this change, mappings will be created even after AlreadyHave equals true, and will never be erased.
2012-05-17 23:01:00 +01:00
R E Broadley
53d0e6dd6a Report how long DBFlush took. 2012-05-17 22:56:14 +01:00
Philip Kaufmann
f4ac41806a use _strnicmp (ISO C++) instead of deprecated strnicmp (POSIX) and add missing "#define strncasecmp _strnicmp" in init.cpp 2012-05-17 23:20:47 +02:00
Wladimir J. van der Laan
f0fc95a143 Merge pull request from Diapolo/Wallet_Transaction_state_Overviewpage
GUI: add 2 labels to the overviewpage that display Wallet and Transaction status
2012-05-17 14:13:23 -07:00
R E Broadley
83e047eaa7 Was showing a negative number. Changes to positive, since negative (T minus) usually indicates a future event. 2012-05-17 21:58:05 +01:00
Gavin Andresen
f718aedd9f Refactor: GetRandHash() method for util 2012-05-17 16:33:27 -04:00
Gavin Andresen
096e06dbb5 Refactor: move code from key.h to key.cpp 2012-05-17 16:33:26 -04:00
Philip Kaufmann
c26f3a9bd1 add 2 labels to the overviewpage that display Wallet and Transaction status (obsolete or current) / cleanup overviewpage XML ui-file 2012-05-17 21:49:32 +02:00
Wladimir J. van der Laan
f1e7570755 Merge pull request from laanwj/2012_05_consoleicon
Add icon for debug window
2012-05-17 11:38:08 -07:00
Wladimir J. van der Laan
8ece75aee1 Add icon for debug window 2012-05-17 20:34:30 +02:00
Jeff Garzik
7563424f32 Merge pull request from rebroad/Exiting2Exited
Corrected grammar. As per Principle Of Least Surprise.
2012-05-17 11:29:09 -07:00
R E Broadley
1d764d631f Corrected grammar. As per Principle Of Least Surprise. 2012-05-17 18:52:38 +01:00
R E Broadley
8c35bfbadf Add /bin/sh to bitcoin-qt.pro - as some filesystems don't have the execute flag. 2012-05-17 18:48:09 +01:00
Philip Kaufmann
5f9861953e fix RenameOver() and FileCommit() functions, to not generate compilation errors 2012-05-17 18:30:09 +02:00
Jeff Garzik
cf2f7c30a3 Merge pull request from jgarzik/txn-retval
[FIX] Always check return values of TxnBegin() and TxnCommit()
2012-05-17 08:49:16 -07:00
Jeff Garzik
d17ac27a72 Merge pull request from jgarzik/dead-code
Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk()
2012-05-17 08:47:54 -07:00
Philip Kaufmann
8b4d653663 allow translation of "options" used in the --help message / split translation of RPC console welcome message and remove the need to take care of "<br>" / remove some spaces in strings and misc other stuff related to translations 2012-05-17 15:49:00 +02:00
Jeff Garzik
928d3a011c CAddrDB: Replace BDB-managed addr.dat with internally managed peers.dat 2012-05-16 22:11:19 -04:00
Jeff Garzik
768e5d52fb Add new utility functions FileCommit(), RenameOver() 2012-05-16 19:25:25 -04:00
Wladimir J. van der Laan
49232d1abf Merge pull request from Diapolo/add_new_languages
add 4 new translations bg, el_GR, fr and pt_PT (based on transifex fetch from today)
2012-05-16 15:48:48 -07:00
Wladimir J. van der Laan
adc704563c Add missing Q_OBJECT in bitcoin.cpp
Fixes translating HelpMessageBox strings.
2012-05-16 18:52:14 +02:00
Wladimir J. van der Laan
d44ac73925 Merge pull request from laanwj/2012_05_updatemaintrans
Update bitcoinstrings.cpp and bitcoin_en.ts
2012-05-15 22:27:33 -07:00
Wladimir J. van der Laan
746ea6bd86 Update bitcoinstrings.cpp and bitcoin_en.ts 2012-05-16 07:24:56 +02:00
Philip Kaufmann
cd8c905dfe add 4 new translations bg, el_GR, fr and pt_PT (based on transifex fetch from today) 2012-05-15 23:44:49 +02:00
Jeff Garzik
a7d45c5a7a Remove dead code: CTxDB::EraseBlockIndex(), CBlockIndex::EraseBlockFromDisk() 2012-05-15 13:36:25 -04:00
Pieter Wuille
385f730f31 Hopefully final fix for the stuck blockchain issue
Immediately issue a "getblocks", instead of a "getdata" (which will
trigger the relevant "inv" to be sent anyway), and only do so when
the previous set of invs led us into a known and attached part of
the block tree.
2012-05-15 17:53:46 +02:00
Philip Kaufmann
34aa3112c8 adapt user-experience from messagepage / move placeholderTexts from XML to source to avoid a problem with Qt < 4.7 / add eventFilter for address field to select text when clicking in / add Clear All button / rework strings 2012-05-15 08:04:51 +02:00
Wladimir J. van der Laan
2643ce97ae Merge pull request from Diapolo/fix_OpenLogFile
GUI fix: DebugLog file opens twice after clicking "Open" in RPC Console Information tab
2012-05-14 22:18:20 -07:00
Gregory Maxwell
20f19893cb Merge pull request from Diapolo/no_double_timestamps
no more double timestamps in debug.log
2012-05-14 18:59:28 -07:00
Philip Kaufmann
8892579f8b fix DebugLog file opens twice after clicking "Open" in RPC Console Information tab 2012-05-14 22:26:15 +02:00
Ricardo M. Correia
5849bd472a Fix signed subtraction overflow in CBigNum::setint64().
As noticed by sipa (Pieter Wuille), this can happen when CBigNum::setint64() is
called with an integer value of INT64_MIN (-2^63).

When compiled with -ftrapv, the program would crash. Otherwise, it would
execute an undefined operation (although in practice, usually the correct one).
2012-05-14 21:26:02 +02:00
Ricardo M. Correia
62e0453ce0 Add test case for CBigNum::setint64().
One of the test cases currently aborts when using gcc's flag -ftrapv, due to
negating an INT64_MIN int64 variable, which is an undefined operation.

This will be fixed in a subsequent commit.
2012-05-14 21:26:01 +02:00
Wladimir J. van der Laan
bb361cc644 Merge pull request from sje397/ValidateMessage
Add a menu option and dialog to verify a signed message
2012-05-14 11:11:16 -07:00
Wladimir J. van der Laan
7dc04f4091 Merge pull request from laanwj/2012_05_rpcscrolltoend
RPC console: scroll to the end when user enters a command
2012-05-14 11:05:04 -07:00
Wladimir J. van der Laan
29b79e4c0e Get rid of snprintf (except one) with fixed buffers, shorten code
- Use strprintf or vstrprintf instead of snprintf
2012-05-14 20:01:26 +02:00
Wladimir J. van der Laan
5a060b8dc8 RPC console: scroll to the end when user enters a command
- Ensures that the command and reply is visible
2012-05-14 18:17:12 +02:00
Pieter Wuille
91dace35a1 Do not listen on blocked networks 2012-05-14 17:52:51 +02:00
Pieter Wuille
55bb0cfbb6 Allow binding to the any address, and report failure 2012-05-14 17:52:50 +02:00
Pieter Wuille
0f1707de67 -onlynet instead of -blocknet 2012-05-14 17:52:45 +02:00
Philip Kaufmann
966ae00fe4 make CheckDiskSpace() use a global static const uint64 for checking required disk space and remove 2 ugly spaces from a message string 2012-05-14 14:02:36 +02:00
Jeff Garzik
0fb78eae34 Always check return values of TxnBegin() and TxnCommit() 2012-05-14 01:11:11 -04:00
Ricardo M. Correia
fe78c9ae8b Don't overflow signed ints in CBigNum::setint64().
CBigNum::setint64() does 'n <<= 8', where n is of type "long long".

This leads to shifting onto and past the sign bit, which is undefined
behavior in C++11 and can cause problems in the future.
2012-05-14 02:53:27 +02:00
Pieter Wuille
ca81464697 Use getnameinfo() to get canonical IPv6 addresses 2012-05-14 01:41:15 +02:00
Pieter Wuille
09b4e26a44 Really do not consider blocked networks local 2012-05-13 23:50:55 +02:00
Wladimir J. van der Laan
524843af01 Merge pull request from laanwj/2012_05_prevent_tooltip_infiniteloop
Prevent tooltip filter from ever causing infinite loops
2012-05-13 13:04:20 -07:00
Ricardo M. Correia
4843b55fd1 Make CNetAddr::GetHash() return an unsigned val.
This prevents an undefined operation in main.cpp, when shifting the hash value
left by 32 bits.
Shifting a signed int left into the sign bit is undefined in C++11.
2012-05-13 21:42:54 +02:00
Wladimir J. van der Laan
a3957d089a Merge pull request from Diapolo/sendcoinsdialog_strings
update some strings used as warning messages in sendcoinsdialog.cpp
2012-05-13 12:42:32 -07:00
Wladimir J. van der Laan
5b36c0336f Merge pull request from laanwj/2012_05_helpmessage
Move help message out of AppInit2
2012-05-13 12:39:35 -07:00
Jeff Garzik
28d257da11 Merge pull request from sipa/noirc6
Only encode IPv4 addresses in IRC nicks
2012-05-13 11:48:27 -07:00
Philip Kaufmann
51ce20d5da update some strings used as warning messages in sendcoinsdialog.cpp 2012-05-13 20:20:38 +02:00
Wladimir J. van der Laan
9f5b11e6fd Move help message out of AppInit2
- Solves , attempts to address 
- Removes \t's from help message that are removed afterwards anyway
- Moves UI-specific command-line options help to UI code
- Moves "-detachdb" out of #ifdef USE_UPNP
2012-05-13 18:41:19 +02:00
Pieter Wuille
1653f97c8f Do not consider blocked networks local 2012-05-13 15:11:51 +02:00
Pieter Wuille
8f737d28a6 Only encode IPv4 addresses in IRC nicks 2012-05-13 15:07:31 +02:00
Pieter Wuille
9fc0a15cd4 Merge pull request from sipa/initerror
Improve error reporting at startup
2012-05-13 06:01:21 -07:00
Philip Kaufmann
0985816bf6 ensure that no double timestamps show up in the debug.log, by removing manual timestamps from the source (now only -logtimestamps parameter adds timestamps to debug.log) 2012-05-13 14:36:35 +02:00
Pieter Wuille
af4006b3f5 Enforce -nodiscover better 2012-05-13 14:22:15 +02:00
Pieter Wuille
ac7c7ab99a Improve error reporting at startup 2012-05-13 12:35:39 +02:00
Wladimir J. van der Laan
67d4cbab46 Move GetStartOnSystemStartup and SetStartOnSystemStartup to GUI code 2012-05-13 12:31:28 +02:00
Wladimir J. van der Laan
82f66082b9 Merge pull request from laanwj/2012_05_overviewpage2
When a transaction is clicked on overview page, focus it on history page
2012-05-13 02:53:25 -07:00
Wladimir J. van der Laan
3986a05c62 Merge pull request from Diapolo/QR_Code
rename "QR-Code Dialog" to "QR Code Dialog" in qrcodedialog.ui as this spelling is used all over the code
2012-05-13 00:45:20 -07:00
Wladimir J. van der Laan
6da3b29e37 Merge pull request from Diapolo/askpassphrasedialog
remove string "TextLabel" from warningLabel, as this is unneeded and as ...
2012-05-13 00:40:26 -07:00
Wladimir J. van der Laan
99fdc1d829 Prevent tooltip filter from ever causing infinite loops 2012-05-13 09:27:45 +02:00
Wladimir J. van der Laan
df1a110d2e Merge pull request from Diapolo/transactiondialog
change size of transactiondialog, to allow display of transaction-id wit...
2012-05-13 00:16:54 -07:00
Jeff Garzik
80af836ce0 Merge pull request from Diapolo/IPv6_IPv4_strings
use "IPv6" and "IPv4" in strings as these are the official spellings
2012-05-12 18:59:31 -07:00
Gregory Maxwell
6f7d45a323 Merge pull request from sipa/ipv6fixes
A few IPv6 fixes
2012-05-12 18:55:36 -07:00
Pieter Wuille
22db3f2c77 Fix warning about uninitialized value
Only reported when using -flto.
2012-05-13 01:36:46 +02:00
Pieter Wuille
5a3cb32e59 Take -port into account when resolving -bind's 2012-05-13 01:26:14 +02:00
Philip Kaufmann
ea933b03b4 use "IPv6" and "IPv4" in strings as these are the official spellings and make ParseNetwork() in netbase.cpp case-insensitive 2012-05-13 01:12:24 +02:00
Pieter Wuille
139d2f7c29 Keep local service information per address
Keep local service information per CNetAddr instead of per CService,
but move the port into the information kept on it.
2012-05-13 01:03:05 +02:00
Pieter Wuille
89b5616d10 Do not signal outbound semaphore if uninitialized 2012-05-13 00:49:12 +02:00
Pieter Wuille
45dcf63a62 Only check for port# after : in ConnectSocketByName 2012-05-13 00:49:12 +02:00
Pieter Wuille
a6cd0b08f6 Partially revert f621326: xCXXFLAGS 2012-05-13 00:41:46 +02:00
Gregory Maxwell
85a2229264 Merge pull request from laanwj/2012_05_consoleimprovements
UI console improvements
2012-05-12 15:33:57 -07:00
Philip Kaufmann
5e19030aa1 remove string "TextLabel" from warningLabel, as this is unneeded and as such is a silly translation less to do :) 2012-05-13 00:16:50 +02:00
Philip Kaufmann
4dca553e66 set minimum size allowed by Qt Creator and rename "QR-Code Dialog" to "QR Code Dialog" as this spelling is used all over the code 2012-05-13 00:03:58 +02:00
Wladimir J. van der Laan
ae744c8b78 RPC console: don't crash on invalid input exception 2012-05-12 18:39:26 +02:00
Wladimir J. van der Laan
c6aa86afc2 Convert RPC console to QTextEdit instead of QTableView
* This allows copy/pasting whole or partial messages
* Handle output more consistently in console
    * No more scrollbars-in-scrollbars: by setting per-pixel scrolling on the table, cells can have any height
* Decorations for "request" and "reply" are changed to the txin and txout icons instead of colored squares
2012-05-12 18:39:26 +02:00
Pieter Wuille
839c4e7966 Fix initialization of inaddr_any 2012-05-12 17:20:43 +02:00
Jeff Garzik
d960a335f8 Merge pull request from Diapolo/tab_to_space
convert 4 tabs into 4 x 4 spaces in bitcoinrpc.cpp
2012-05-12 08:02:57 -07:00
Wladimir J. van der Laan
3ef1f41550 When a transaction is clicked on overview page, focus it on history page 2012-05-12 15:32:22 +02:00
Wladimir J. van der Laan
97ec4e50b1 Merge pull request from Diapolo/RPCCon_ClientStartupTime
GUI: add the client startup time to the debug window...
2012-05-12 03:44:22 -07:00
Philip Kaufmann
55f19cb809 change size of transactiondialog, to allow display of transaction-id without an ugly line-break 2012-05-12 11:12:37 +02:00
Philip Kaufmann
a24ea3dab7 add Alt-Shortcut for "Clear All" in sendcoinsdialog.ui 2012-05-12 11:11:00 +02:00
Philip Kaufmann
bc05562730 convert 4 tabs into 4 x 4 spaces in bitcoinrpc.cpp 2012-05-12 11:06:30 +02:00
Wladimir J. van der Laan
661834d02b Merge pull request from laanwj/2012_05_escapecsv
Properly escape strings when exporting CSV
2012-05-11 23:30:04 -07:00
Gregory Maxwell
9dfa3c3e04 Merge pull request from fanquake/master
Correct Date
2012-05-11 20:40:57 -07:00
Fordy
46667ba3e4 Correct Date 2012-05-12 11:36:37 +08:00
Fordy
8bb9660baa Correct Date 2012-05-12 11:32:03 +08:00
Pieter Wuille
a3878873f3 Merge pull request from sipa/ipv6
IPv6 node support
2012-05-11 18:23:56 -07:00
Gregory Maxwell
c05271901a Merge pull request from sipa/splitsync
Split synchronization mechanisms from util.{h,cpp}
2012-05-11 18:05:49 -07:00
Philip Kaufmann
d2f7778cc7 add the client startup time to the debug window / rename Version label to Client, which is better suiting now / add IBeamCursor for selectable text on the information page / make ">" sign on RPC page untranslatable / re-order XML-file tags to match real GUI element order 2012-05-12 00:28:58 +02:00
Wladimir J. van der Laan
875f71d4ef Properly escape " in strings when exporting CSV 2012-05-11 20:17:09 +02:00
Jeff Garzik
b34c5f3c0f Merge pull request from jgarzik/http11
Multithreaded JSON-RPC with HTTP 1.1 Keep-Alive support
2012-05-11 09:57:08 -07:00
Pieter Wuille
7f3ccb59da Split synchronization mechanisms from util.{h,cpp} 2012-05-11 18:13:51 +02:00
Gregory Maxwell
eb793429f1 Merge pull request from sipa/fixversion
Fix version numbers of archive builds
2012-05-11 08:29:47 -07:00
Pieter Wuille
5456ef3092 Use polling instead of boost's broken semaphore on OSX 2012-05-11 17:02:11 +02:00
Pieter Wuille
c59abe2589 Use semaphores instead of condition variables 2012-05-11 17:02:11 +02:00
Jeff Garzik
271f9faf9e Merge pull request from jgarzik/mempool-logging
CTxMemPool: consolidate two frequently-printed debug.log lines into one
2012-05-11 07:53:08 -07:00
sje397
0c587936c7 Add a menu option to verify a signed message
(Also move 'setAttribute(Qt::WA_DeleteOnClose)' out of QRCodeDialog)
2012-05-12 00:13:13 +10:00
Wladimir J. van der Laan
2692ed3f01 Merge pull request from Diapolo/RPCCon_never_0_Blocks
GUI RPC Console: if there is no current block number available display N/A on totalBlocks label,...
2012-05-11 06:40:04 -07:00
Wladimir J. van der Laan
23f59e7023 Merge pull request from Diapolo/GUI_testnet_UX
GUI: allow easier use of the testnet icon
2012-05-11 06:35:50 -07:00
Philip Kaufmann
37244c2f7f add calls to qApp->setWindowIcon(), to remove the need to set window icons for testnet with additional calls 2012-05-11 15:31:44 +02:00
Pieter Wuille
8f10a28890 Separate listening sockets, -bind=<addr> 2012-05-11 15:29:20 +02:00
Pieter Wuille
7fa4443f77 Keep port information for local addresses 2012-05-11 15:29:19 +02:00
Pieter Wuille
457754d2c2 Add -blocknet to prevent connections to a given network 2012-05-11 15:29:19 +02:00
Pieter Wuille
c5b3ffd8d5 Use NET_ identifiers in CNetAddr::GetGroup() 2012-05-11 15:29:19 +02:00
Pieter Wuille
623b987813 Add -noproxy to circumvent proxy for some network 2012-05-11 15:29:19 +02:00
Pieter Wuille
090e5b40f1 Limited relaying/storing of foreign addresses
Introduce a boolean variable for each "network" (ipv4, ipv6, tor, i2p),
and track whether we are likely to able to connect to it. Addresses in
"addr" messages outside of our network get limited relaying and are not
stored in addrman.
2012-05-11 15:29:19 +02:00
Pieter Wuille
d32148567f Preliminary support for Tor/I2P hidden services
There are plans to let Bitcoin function as Tor/I2P hidden service.
To do so, we could use the established encoding provided by OnionCat
and GarliCat (without actually using those tools) to embed Tor/I2P
addresses in IPv6.

This patch makes these addresses considered routable, so they can
travel over the Bitcoin network in 'addr' messages. This will hopefully
make it easier to deploy real hidden service support later.
2012-05-11 15:29:19 +02:00
Pieter Wuille
23aa78c405 IPv6 node support
This will make bitcoin relay valid routable IPv6 addresses, and when
USE_IPV6 is enabled, listen on IPv6 interfaces and attempt connections
to IPv6 addresses.
2012-05-11 15:29:19 +02:00
Wladimir J. van der Laan
97521b5257 Add missing #include for GetDataDir 2012-05-11 13:18:25 +02:00
Philip Kaufmann
66331f2b51 if there is no current block number available display N/A on totalBlocks label, instead of 0, which can not ever be true 2012-05-11 12:29:31 +02:00
Pieter Wuille
1f5a7cef6f Fix version numbers of archive builds 2012-05-11 11:44:53 +02:00
Wladimir J. van der Laan
a8fef7f569 Merge pull request from Diapolo/transactionview_comments
add 2 comments to transactionview.cpp to ensure no one moves setPlacehol...
2012-05-11 02:43:42 -07:00
Philip Kaufmann
58b01afc50 guiutil.cpp/.h: fix a -Wreorder compiler warning and make constructor for ToolTipToRichTextFilter explicit 2012-05-11 11:32:04 +02:00
Philip Kaufmann
4d3dda5d9f add code to open (display) debug.log on Windows with the associated application and add a button to the Information page in the Debug console 2012-05-11 11:10:34 +02:00
Wladimir J. van der Laan
b66737e6df Merge pull request from Diapolo/messagepage_focus_placeholder
GUI messagepage: add placeholder text to address field (like in sendcoins dialog)...
2012-05-10 23:55:34 -07:00
Wladimir J. van der Laan
b8a5e30d91 Merge pull request from laanwj/2012_04_wraptooltips
Allow Qt to wrap long tooltips (fixes )
2012-05-10 23:54:53 -07:00
Wladimir J. van der Laan
f93727aa56 Merge pull request from Diapolo/passphrasedialog
small passphrasedialog update
2012-05-10 23:53:24 -07:00
Wladimir J. van der Laan
c485a0636e Merge pull request from Diapolo/tray
tray-icon - extend available options with Debug window
2012-05-10 23:52:21 -07:00
Jeff Garzik
33a53bc13b CTxMemPool::accept(): do not log FetchInputs failure redundantly
FetchInputs already logs failures internally.  This commit makes the logging
more consistent with other FetchInputs callsites also.

Prior to this commit, two log lines were logged for one condition:

     ERROR: FetchInputs() : de15fde415 mempool Tx prev not found a2c75da227
     ERROR: CTxMemPool::accept() : FetchInputs failed de15fde415

After this commit, only one line is logged:

     ERROR: FetchInputs() : e0507ab2c7 mempool Tx prev not found 9a620262cd
2012-05-10 20:31:46 -04:00
Jeff Garzik
133dce6a37 CTxMemPool: consolidate two frequently-printed debug.log lines into one
Previously, a single TX would trigger two log lines in quick succession,

        addUnchecked(): size 152
        CTxMemPool::accept() : accepted c4cfdd48b7

After this change, only one log line is used:

        CTxMemPool::accept() : accepted 98885e65db (poolsz 26)
2012-05-10 20:20:31 -04:00
Philip Kaufmann
81c45c0a94 optionsdialog.cpp: rename "Start Bitcoin on window system startup" to "Start Bitcoin on system login" and move it to Main / hide "Window" Options on Mac as there are currently none available / remove an unused variable / add Alt-Shortcuts where they were missing / allow translation of "default" 2012-05-10 18:00:00 +02:00
Philip Kaufmann
840470ec79 add placeholder text to address field (like in sendcoins) and set focus to address field on opening messagepage or "Clear All" / consolidate gotoMessagePage() to 1 function / rename windowTitle to "Sign Message Dialog" 2012-05-10 15:50:24 +02:00
Philip Kaufmann
5d21ffe16b add 2 comments to transactionview.cpp to ensure no one moves setPlaceholderText to the XML file (after this all parts in the code that use setPlaceholderText have this comment 2012-05-10 15:42:26 +02:00
Wladimir J. van der Laan
037a8daee6 Merge pull request from Diapolo/testnet_GUI
GUI changes while on testnet
2012-05-09 22:42:58 -07:00
Wladimir J. van der Laan
a2de039ec4 Merge pull request from laanwj/2012_05_signmessage_autoselect
signmessage: auto-select signature when field is focused/clicked
2012-05-09 22:41:53 -07:00
Luke Dashjr
5d53f48acb Bugfix: getmemorypool: NULL pindexPrev across CreateNewBlock, in case it fails 2012-05-09 18:12:01 +00:00
Gavin Andresen
e6fd96f054 Fix osx build 2012-05-09 13:56:53 -04:00
Luke Dashjr
5146599b01 Merge branch 'bugfix_CNBerr_daggy' into bugfix_CNBerr
Conflicts:
	rpc.cpp
2012-05-09 17:14:08 +00:00
Wladimir J. van der Laan
9245ff5705 Merge pull request from Diapolo/overviewpage
move many overviewpage settings from code to ui XML-file...
2012-05-09 09:38:32 -07:00
Gregory Maxwell
1eb2d8e0bf Merge pull request from laanwj/2012_05_uiconsole_focus
Automatically focus entry widget when console tab comes into focus
2012-05-09 08:34:00 -07:00
Wladimir J. van der Laan
0981b80c29 Merge pull request from laanwj/2012_05_organize_optionsdialog
Organize optionsdialog (split off Window and Network page) and add option to change language
2012-05-09 08:33:44 -07:00
Wladimir J. van der Laan
bfbfb53ed4 Add key shortcuts for RPC console tabs
- Alt-I for Information, Alt-C for Console
2012-05-09 17:32:17 +02:00
Wladimir J. van der Laan
b84172434d Automatically focus entry widget when console tab comes into focus
Fixes 
2012-05-09 17:15:09 +02:00
Jeff Garzik
9d9aae0396 Merge pull request from gmaxwell/master
Kill warning from unavoidable signed/unsigned comparison in bitcoinrpc.cpp.
2012-05-09 07:59:13 -07:00
Jeff Garzik
11b729d8a2 Merge pull request from Diapolo/util-updates
small util.cpp/h changes
2012-05-09 07:54:25 -07:00
Jeff Garzik
d54e6e8359 Merge pull request from Diapolo/net_cpp_if_clause
fix an incorrect if-clause in net.cpp
2012-05-09 07:50:27 -07:00
Philip Kaufmann
2abbe5fc88 Show testnet icon for tray-menu option Show/Hide / set tooltip for tray icon to match non-testnet text (just [testnet] added) / remove obsolete title_testnet variable' 2012-05-09 15:12:31 +02:00
Philip Kaufmann
1ad3b7d5c0 add Debug window to tray-menu / switch sendCoinsAction and receiveCoinsAction in tray to match button ordering in the client window 2012-05-09 14:38:06 +02:00
Gregory Maxwell
d285c7bf2c Kill warning from unavoidable signed/unsigned comparison in bitcoinrpc.cpp. 2012-05-09 07:17:30 -04:00
Gregory Maxwell
2e767410b8 Merge pull request from sipa/warnings
Clean up warnings
2012-05-09 04:07:24 -07:00
Wladimir J. van der Laan
c164396ddc Merge pull request from Diapolo/translation_en
update bitcoin_en.ts (translation master file) to match current master branch as of 2012-05-09
2012-05-09 04:06:47 -07:00
Gregory Maxwell
92dca80975 Merge pull request from TheBlueMatt/lockcontention
Fix DEBUG_LOCKCONTENTION
2012-05-09 03:55:02 -07:00
Philip Kaufmann
11353b0c57 update bitcoin_en.ts (translation master file) to match current master branch as of 2012-05-09 2012-05-09 12:38:51 +02:00
Philip Kaufmann
3e468840bd util.h/.ccp: modifiy some comments / rename MyGetSpecialFolderPath() -> GetSpecialFolderPath(), set fCreate default to true and remove the fallback (not Win >= Vista compatible anyway) / remove namespace fs stuff where only used once / misc small changes' 2012-05-09 12:22:58 +02:00
Philip Kaufmann
3b6ed2294b fix an incorrect if-clause in net.cpp 2012-05-09 09:11:13 +02:00
Philip Kaufmann
50a3855082 harmonize the use of ellipsis ("...") to be used in menus, but not on buttons / update some strings to be more informative 2012-05-09 09:06:51 +02:00
Wladimir J. van der Laan
9e11cb53dd Merge pull request from laanwj/2012_05_nogridtables
Make user actions more straightforward in address book
2012-05-08 23:34:10 -07:00
Wladimir J. van der Laan
5ac114c756 Make it possible to set user interface language from options dialog 2012-05-09 07:45:47 +02:00
Wladimir J. van der Laan
6ddf861078 Organize optionsdialog (split off Window and Network page) 2012-05-09 07:45:47 +02:00
Matt Corallo
2ea78ec7fd Fix DEBUG_LOCKCONTENTION 2012-05-09 01:41:07 -04:00
Philip Kaufmann
09570add5f remove 2 ugly spaces from a string used in translations 2012-05-09 06:51:25 +02:00
Pieter Wuille
f621326c24 Clean up warnings
* Use -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameters
* Remove xCXXFLAGS usage in makefile.unix
* Fix several recent and older sign-compare warnings
2012-05-09 03:48:30 +02:00
Jeff Garzik
781fc2c8c0 Revert part of 1302257e: don't update CXXFLAGS, only xCXXFLAGS 2012-05-08 21:18:35 -04:00
Jeff Garzik
1302257e5d makefile.unix: add -Wall to default CXXFLAGS
Additionally, remove -Wno-sign-compare from alt CXXFLAGS, as
that is no longer a problem.
2012-05-08 21:02:28 -04:00
David Joel Schwartz
96c5269511 RPC: Support HTTP/1.0 and HTTP/1.1, including the proper use of keep-alives 2012-05-08 20:25:39 -04:00
David Joel Schwartz
e9205293bd Support multi-threaded JSON-RPC
Change internal HTTP JSON-RPC server from single-threaded to
thread-per-connection model.  The IP filter list is applied prior to starting
the thread, which then processes the RPC.

A mutex covers the entire RPC operation, because not all RPC operations are
thread-safe.

[minor modifications by jgarzik, to make change upstream-ready]
2012-05-08 20:11:17 -04:00
Jeff Garzik
203f9e6c00 Merge branch 'tmp-ipv6' into merge-ipv6 2012-05-08 19:43:17 -04:00
Gregory Maxwell
82ab06b849 Merge pull request from luke-jr/getblock_full
More details for getblock and gettransaction
2012-05-08 15:31:52 -07:00
Philip Kaufmann
2387a7a969 remove 2 obsolete functions from init.h that moved to util.h 2012-05-08 23:22:36 +02:00
Luke Dashjr
7e63dc3615 Support for decomposing scripts as "obj" 2012-05-08 21:04:57 +00:00
Luke Dashjr
74335bd32a Second parameter to JSON-RPC getblock/gettransaction: decompositions
This is an Object specifying how to decompose specific elements.
Currently supported:
- "tx": "no", "hash", "hex", "obj"
- "script": "no", "hex", "asm"
2012-05-08 21:04:52 +00:00
Luke Dashjr
d4e09300f3 Add block "confirmations" to getblock, mainly for identifying orphans 2012-05-08 21:04:47 +00:00
Jeff Garzik
a2ea797593 Merge pull request from jgarzik/sign-compare
Fix final sign comparison warnings
2012-05-08 13:50:27 -07:00
Gregory Maxwell
2f1dca645b Merge pull request from sipa/getalltransactions
gettransaction RPC for non-wallet transactions
2012-05-08 13:19:11 -07:00
Gregory Maxwell
f1ae31d8af Merge pull request from sipa/loadblock
Add -loadblock to load from an external blk000?.dat file
2012-05-08 12:37:27 -07:00
Gregory Maxwell
fa8cc47c4f Merge pull request from laanwj/2012_04_consoleui
Add UI RPC console / debug window
2012-05-08 12:26:49 -07:00
Gregory Maxwell
a5f95d75a1 Increase client version to 0.6.99 2012-05-08 15:22:02 -04:00
Wladimir J. van der Laan
1f7e0e51aa Merge pull request from luke-jr/rm_fee_tip
Bitcoin-Qt: Remove redundant tooltip on optional transaction fee. Fixes 
2012-05-07 12:36:26 -07:00
Luke Dashjr
1ef3a48c03 Bitcoin-Qt: Remove redundant tooltip on optional transaction fee. Fixes 2012-05-07 19:22:09 +00:00
Wladimir J. van der Laan
356c3cad1a Make user action more straightforward in address book
- Add all actions that can be triggered with buttons to the context menu
- Hide delete action from context menu for receiving tab
2012-05-07 11:30:23 +02:00
Gregory Maxwell
f49d4f0e93 Merge pull request from sipa/fix_948
Prevent stuck download: correct solution
2012-05-06 16:58:31 -07:00
Wladimir J. van der Laan
7d5bb42946 Move back setPlaceholderText to code, from xml, as this broke building with Qt 4.6 2012-05-07 00:19:22 +02:00
Wladimir J. van der Laan
46692fc929 Merge pull request from
fix for  (send coins tab glitch)
2012-05-06 14:49:08 -07:00
Pieter Wuille
6860133373 Prevent stuck download: correct solution
Pull request  introduced a fix for nodes stuck on a long side branch
of the main chain. The fix was non-functional however, as the additional
getdata request was created in a first step of processing, but dropped
in a second step as it was considered redundant. This commits fixes it
by sending the request directly.
2012-05-06 23:37:45 +02:00
Philip Kaufmann
52d4975825 passphrasedialog: change dialog title to "Passphrase Dialog" / remove style-sheet for bold font and use Qt Designer option / remove an unused label default-text and remove an obsolete clear()' 2012-05-06 22:11:26 +02:00
Philip Kaufmann
4295311da3 move many overviewpage settings from code to ui XML-file / removed ability to translate "0 BTC" and "123.456 BTC" as this is only used as preview in the Qt Designer anyway / set mouse cursor to IBeam for selectable labels 2012-05-06 16:57:12 +02:00
Wladimir J. van der Laan
0e69fc6e84 Merge pull request from laanwj/2012_05_hideonshutdown
Hide UI immediately after leaving the main loop
2012-05-05 23:30:55 -07:00
Wladimir J. van der Laan
46f552a9fe Hide UI immediately after leaving the main loop.
Prevents it from seeming to hang during shutdown if shutdown is triggered while the window is open.
2012-05-06 08:28:20 +02:00
Gregory Maxwell
4fdc8a62d0 Merge pull request from sipa/fix_addrman
Fix addrman crashes
2012-05-05 22:23:57 -07:00
Gregory Maxwell
5b8def797c Merge pull request from retep/master
Minor error message fix
2012-05-05 12:34:46 -07:00
Pieter Wuille
bd1aabe941 Bugfix: store source address in addrman 2012-05-05 21:33:29 +02:00
Pieter Wuille
56f1e91239 Fix addrman crashes
A function returned the element to remove from a bucket, instead of its
position in that bucket. This function was only called when a tried
bucket overflowed, which only happens after many outgoing connections
have been made.

Closes: , 
2012-05-05 21:33:26 +02:00
Pieter Wuille
29a86a1735 Add extra asserts to addrman 2012-05-05 21:32:41 +02:00
Luke Dashjr
82e6b92b0a Bugfix: %-12I64d is not valid and causes the parameter to be skipped, use %12"PRI64d" instead 2012-05-05 14:24:55 -04:00
Wladimir J. van der Laan
46c08874aa Merge pull request from Diapolo/about-dialog
changed cursor for selectable text on the about dialog to IBeamCursor...
2012-05-05 04:22:04 -07:00
Philip Kaufmann
7b74bd4928 changed cursor for selectable text on the about dialog to IBeamCursor and removed an unused tag 2012-05-05 12:55:51 +02:00
Wladimir J. van der Laan
dd62ca1b29 Merge pull request from Diapolo/messagepage
change text on message.ui from "Copy to Clipboard" to "Copy Signature"...
2012-05-05 03:31:11 -07:00
Philip Kaufmann
d7d7d81a6a change text on message.ui from "Copy to Clipboard" to "Copy Signature" and
add an Alt-Shortcut to "Clear &All"
2012-05-05 12:03:02 +02:00
Wladimir J. van der Laan
6ad47ddf40 Merge pull request from Diapolo/qrcodedialog
renamed qrcodedialog.ui window title to "QR-Code Dialog"...
2012-05-05 02:59:44 -07:00
Philip Kaufmann
092522af6c renamed qrcodedialog.ui window title to "QR-Code Dialog" and changed window size to the minimum values Qt Creator allows me to set 2012-05-05 11:43:54 +02:00
Wladimir J. van der Laan
e400258bf0 simplified qrcode icon that scales gracefully to 16x16 2012-05-05 11:27:38 +02:00
Wladimir J. van der Laan
460c51fdad Add UI RPC console / debug window 2012-05-05 10:37:06 +02:00
Wladimir J. van der Laan
3793fa09ff Allow Qt to wrap long tooltips (fixes )
Implemented without having to touch any translation: by listening for QEvent::ToolTipChange events, then rewriting the tooltips to prefix `<qt/>` if it is not yet rich text.
2012-05-05 10:20:52 +02:00
Wladimir J. van der Laan
c8a3917089 signmessage: auto-select signature when field is focused/clicked 2012-05-05 09:56:55 +02:00
Wladimir J. van der Laan
4c9183e8bb Merge pull request from Diapolo/signmessage_clear
add a clear all button to the sign message page (addresses )
2012-05-05 00:43:27 -07:00
Wladimir J. van der Laan
6672400206 Merge pull request from Diapolo/translators
small translation-file handling / loading changes and re-work comments to be clearer
2012-05-05 00:11:37 -07:00
Wladimir J. van der Laan
1f6f261ace Merge pull request from TheBlueMatt/win32_ie
Update to require IE 5.1 as it is required to build on mingw64.
2012-05-05 00:02:10 -07:00
Wladimir J. van der Laan
393a0edc51 Merge pull request from Diapolo/sendcoins_placeholdertext
move label placeholdertext from sendcoinsentry.cpp to ui-file
2012-05-05 00:01:35 -07:00
Wladimir J. van der Laan
3118d11d88 Merge pull request from
Remove HTML font crap from "Wallet" message (fix for )
2012-05-04 23:58:46 -07:00
Philip Kaufmann
d0ccf0c755 move label placeholdertext from sendcoinsentry.cpp to ui-file 2012-05-04 18:19:06 +02:00
Gavin Andresen
397737b913 Bump version numbers for 0.6.1rc2 2012-05-04 10:22:26 -04:00
Pieter Wuille
19b6958cfd Added -externalip and -discover
-externalip=<ip> can be used to explicitly set the public IP address
of your node. -discover=0 can be used to disable the automatic public
IP discovery system.
2012-05-04 16:12:23 +02:00
Pieter Wuille
39857190de Support for multiple local addresses 2012-05-04 16:12:23 +02:00
Pieter Wuille
478b01d9a7 Add -seednode connections, and use this for -dnsseed + -proxydns 2012-05-04 16:11:54 +02:00
Pieter Wuille
9bab521df8 Support connecting by hostnames passed to proxy (-proxydns) 2012-05-04 16:11:54 +02:00
Pieter Wuille
a012e2db59 refactor ConnectSocket 2012-05-04 16:11:54 +02:00
Pieter Wuille
933f2715d8 SOCKS5 connect via hostname 2012-05-04 16:11:54 +02:00
Pieter Wuille
60a87bce87 SOCKS5 support by default
Add -socks=<n> to select SOCKS version to use. 4 and 5 are supported,
5 is default.
2012-05-04 16:11:54 +02:00
Philip Kaufmann
dab7acdf45 fix by checking if we have a new address or an updated label 2012-05-04 11:09:55 +02:00
Peter Todd
86c47a5636 Fixed non-sensical error message
Previously trying to create a multisig address that required less than
one signature would output something like the following:

"wrong number of keys(got 1, need at least 0)"
2012-05-04 00:41:00 -04:00
Philip Kaufmann
e23a121afe remove obsolete BackupWallet() entry in wallet.h 2012-05-03 11:30:52 +02:00
Philip Kaufmann
65c2ad687f add a clear all button to the sign message page 2012-05-03 09:23:37 +02:00
Matt Corallo
234db30d66 Update to require IE 5.1 as it is required on mingw64.
We already require XP, this just fixes Mingw64 build.
2012-05-02 20:21:43 -04:00
Jeff Garzik
ca97bde8ff Merge pull request from Diapolo/fix_compiler_warn
fix 2 compiler warnings
2012-05-01 15:02:41 -07:00
Jeff Garzik
024fa1cb44 EvalScript(): cast to avoid signed/unsigned warning 2012-05-01 17:57:12 -04:00
Jeff Garzik
061a001590 ThreadSocketHandler2(): cast to avoid signed/unsigned warning 2012-05-01 17:54:52 -04:00
Jeff Garzik
10ab9c2f42 OpenBlockFile(): cast to eliminate signed/unsigned comparison warning
nFile's null value is -1.  Cast that to unsigned int, to avoid warning.

Additionally, avoid nFile==0 because the first valid value is 1.
2012-05-01 17:50:33 -04:00
Jeff Garzik
24de922636 CDiskTxPos, CInPoint, COutPoint: cast null value (-1) to unsigned int
to eliminate signed/unsigned comparison warnings
2012-05-01 17:49:17 -04:00
Jeff Garzik
e19ccfa657 Merge pull request from laanwj/2012_05_remove_duplicate_securestring
remove duplicate definition of SecureString in util.h
2012-05-01 10:05:00 -07:00
Wladimir J. van der Laan
6d25b0e99a Merge pull request from Diapolo/serialize_h_rem_typedef
remove unused typedef in serialize.h
2012-05-01 09:52:38 -07:00
Wladimir J. van der Laan
3ee5f8aac3 remove duplicate definition of SecureString in util.h
SecureString was moved to allocators.h in commit 6cb6d62347
2012-05-01 18:49:50 +02:00
Philip Kaufmann
aab1f950aa small translation-file handling / loading changes and re-work comments to be clearer 2012-05-01 17:54:07 +02:00
Philip Kaufmann
1c94f88d5e fix compiler warning "suggest parentheses around assignment used as truth
value [-Wparentheses]" in util.cpp
2012-05-01 11:41:04 +02:00
Philip Kaufmann
f8e4d43be7 fix compiler warning "suggest explicit braces to avoid ambiguous "else"
[-Wparentheses]" in net.cpp
2012-05-01 11:40:08 +02:00
Philip Kaufmann
00d971e1e7 remove references to bitcoin-wx from comment in init.cpp 2012-05-01 01:59:54 +02:00
Philip Kaufmann
810b4fad7d remove unused typedef in serialize.h 2012-05-01 01:56:47 +02:00
Gavin Andresen
be8651dde7 Check earlier for blocks with duplicate transactions. Fixes 2012-04-30 11:08:07 -04:00
Wladimir J. van der Laan
ec4997d48f Merge pull request from Diapolo/messagepage
change button tooltip on sign message page for copy to clipboard...
2012-04-29 04:35:27 -07:00
Wladimir J. van der Laan
6974aff668 Fix critical UI performance issue () 2012-04-29 13:25:05 +02:00
Gavin Andresen
0acbe31cfc Update openssl version 2012-04-27 12:45:49 -04:00
Gavin Andresen
2c31cfc271 Bump version numbers for 0.6.1rc1 2012-04-27 10:14:33 -04:00
Gavin Andresen
dfead66eac Merge pull request from freewil/listsinceblock-blockhash
listsinceblock: rpc param blockid -> blockhash
2012-04-26 15:37:12 -07:00
Gavin Andresen
27d4b53a5c Merge pull request from gavinandresen/NOPCH
Remove unused -DNOPCH
2012-04-26 15:36:33 -07:00
Gavin Andresen
b2997dc043 Merge pull request from freewil/remove-strange-debug
remove strange debug message from listsinceblock
2012-04-26 15:36:15 -07:00
Pieter Wuille
287ce61dc2 Merge pull request from drizztbsd/posix-include
We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)
2012-04-26 15:25:56 -07:00
freewil
42ce57687a remove strange debug message from listsinceblock 2012-04-26 13:12:44 -04:00
freewil
fdb204abb1 listsinceblock: rpc param blockid -> blockhash
This is more consistent with the rest of the labeling seen
by the user when accessing the rpc commands.
2012-04-26 12:48:33 -04:00
Gavin Andresen
9e71a5cd23 Define TEST_DATA_DIR so unit tests can be run from any current working directory 2012-04-26 11:20:44 -04:00
Gavin Andresen
08e663d7e2 Undo part of c2e8c8ac to fix issue#1148 2012-04-26 10:18:35 -04:00
Gavin Andresen
cfc45319fe Remove unused -DNOPCH 2012-04-25 19:40:44 -04:00
Pieter Wuille
83743ed681 Make lsn_reset ("detach databases") optional and off by default.
Add an option -detachdb (and entry in OptionDialog), without which no
lsn_reset is called on addr.dat and blkindex.dat. That means these
files cannot be moved to a new environment, but shutdown can be
significantly faster. The wallet file is always lsn_reset'ed.

-detachdb corresponds to the old behaviour, though it is off by
default now to speed up shutdowns.
2012-04-26 00:31:54 +02:00
Timothy Redaelli
5e9dc15360 We should include netinet/in.h to use sockaddr_in (POSIX.1-2001) 2012-04-25 14:07:24 +02:00
Jeff Garzik
c2e8c8acd8 Merge pull request from jgarzik/sign-compare
Address many more sign comparison warnings
2012-04-23 21:33:29 -07:00
Jeff Garzik
735a60698c Change signed->unsigned at 3 code sites
This resolves signed/unsigned comparison warnings.
2012-04-23 14:14:36 -04:00
Jeff Garzik
5aa0b23825 CBlock::WriteToDisk() properly checks ftell(3) for error return
Rather than storing ftell(3)'s return value -- a long -- in an
unsigned int, we store and check a properly typed temp.  Then, assured a
non-negative value, we store in nBlockPosRet.
2012-04-23 14:14:36 -04:00
Jeff Garzik
1d8c7a9557 Add casts for unavoidable signed/unsigned comparisons
At these code sites, it is preferable to cast rather than change
a variable's type.
2012-04-23 14:14:36 -04:00
Jeff Garzik
c0a0a93d02 Test ScriptSigArgsExpected() for error, before accumulating return value 2012-04-23 14:14:36 -04:00
Jeff Garzik
7bd9c3a3cf SigOp and orphan-tx constants and counts are always unsigned.
Fixes several sign-comparison warnings.
2012-04-23 14:14:03 -04:00
Jeff Garzik
faf705a42a Prefer 'unsigned int' for loop index variables tested against ::size()
C++ STL ::size() generally returns unsigned, which implies that "int idx"
style of loop variable will generate a signed-vs-unsigned comparison warning
when testing the loop exit condition "idx < blah.size()"

Update areas of the bitcoin code where loop variables may be more properly and
correctly defined as unsigned.
2012-04-22 13:22:39 -04:00
Philip Kaufmann
a2d0fcbe38 change button tooltip on sign message page for copy to clipboard as it was missleading 2012-04-22 19:02:52 +02:00
Pieter Wuille
f4203de302 Make GetDataDir return absolute paths 2012-04-22 17:38:47 +02:00
Pieter Wuille
1d740055da -loadblock to load from an external blk000?.dat file 2012-04-22 03:09:35 +02:00
Pieter Wuille
457661f640 Merge pull request from sipa/rpcobj3
extension of : encapsulate mapCommands in CRPCTable
2012-04-21 16:49:32 -07:00
Pieter Wuille
7dbe393629 Merge pull request from laanwj/2012_04_hexstr
Integrate @JoelKatz's optimized ToHex () into current HexStr function
2012-04-21 16:47:02 -07:00
Pieter Wuille
d5eb41fa08 Merge pull request from laanwj/2012_04_opcodes
Add explicit numeric constant value for all opcodes
2012-04-21 16:43:31 -07:00
Gavin Andresen
8449a8788a Data-drive script evaluation unit tests. 2012-04-21 19:35:39 -04:00
Pieter Wuille
6a7a42be16 Merge pull request from drizztbsd/master
Fix build with gcc 4.7
2012-04-21 15:13:29 -07:00
Wladimir J. van der Laan
88dc2d6c6a Integrate @JoelKatz's optimized ToHex () into current HexStr function 2012-04-21 20:37:50 +02:00
Wladimir J. van der Laan
b6c837cbe1 Remove no-longer used UI hints in bitcoin core
The Qt UI has its own associated structures for temporary transaction state / cache.
2012-04-21 18:21:19 +02:00
Wladimir J. van der Laan
cdcc319c2d change type of various bare chars to bool that are only used as bool (and never serialized) 2012-04-21 18:16:11 +02:00
Wladimir J. van der Laan
7be8b2ff9c Add explicit numeric constant value for all opcodes
- Easier for debugging (what opcode was 0x... again?)
- Clarifies that the opcodes are set in stone in the protocol, and signals that it is impossible to insert opcodes in between.
2012-04-21 10:34:18 +02:00
Pieter Wuille
e46704dd90 Expose CRPCTable via bitcoinrpc.h for testing 2012-04-21 01:37:34 +02:00
Pieter Wuille
9862229d4d Encapsulate mapCommands in class CRPCTable 2012-04-21 01:20:05 +02:00
Jeff Garzik
dc42bf52c1 Encapsulate RPC command dispatch in an array of CRPCCommand's 2012-04-21 01:20:05 +02:00
Wladimir J. van der Laan
00b9c0f4b2 Merge pull request from dlitz/unsigned-char-fix
Unsigned char fix & fix undefined phexdigits[255]
2012-04-20 10:18:45 -07:00
Timothy Redaelli
9553c35d89 Add missing includes. (Fix bulding under GCC 4.7) 2012-04-20 12:50:57 +02:00
Pieter Wuille
c73ba23eb5 gettransaction RPC for non-wallet transactions
Works for wallet transactions, memory-pool transaction and block chain
transactions.

Available for all:
 * txid
 * version
 * locktime
 * size
 * coinbase/inputs/outputs
 * confirmations

Available only for wallet transactions:
 * amount
 * fee
 * details
 * blockindex

Available for wallet transactions and block chain transactions:
 * blockhash
 * time
2012-04-18 23:42:07 +02:00
R E Broadley
871c3557bf Added ability to respond to signals during Block Loading stage. 2012-04-18 12:30:24 +01:00
Dwayne C. Litzenberger
8c8e8c2e93 Fix bugs on 'unsigned char' platforms.
In ISO C++, the signedness of 'char' is undefined.  On some platforms (e.g.
ARM), 'char' is an unsigned type, but some of the code relies on 'char' being
signed (as it is on x86).  This is indicated by compiler warnings like this:

 bignum.h: In constructor 'CBigNum::CBigNum(char)':
 bignum.h:81:59: warning: comparison is always true due to limited range of data type [-Wtype-limits]

 util.cpp: In function 'bool IsHex(const string&)':
 util.cpp:427:28: warning: comparison is always false due to limited range of data type [-Wtype-limits]

In particular, IsHex erroneously returned true regardless of the input
characters, as long as the length of the string was a positive multiple of 2.

Note: For testing, it's possible using GCC to force char to be unsigned by
adding the -funsigned-char parameter to xCXXFLAGS.
2012-04-18 00:33:32 -04:00
Dwayne C. Litzenberger
a6fa147c8d Fix phexdigits[255] is undefined. 2012-04-18 00:33:32 -04:00
Pieter Wuille
559fc3c610 Add missing breaks in optionmodel's switch case 2012-04-17 23:27:59 +02:00
Pieter Wuille
031eae7864 Merge pull request from sipa/lesssync
Reduce sync frequency for blkindex.dat
2012-04-17 14:23:31 -07:00
Pieter Wuille
0a83c0fcef Fix tests after recent refactors 2012-04-17 20:37:47 +02:00
Pieter Wuille
c23617fef3 Merge remote-tracking branch 'jgarzik/mempool' 2012-04-17 20:12:48 +02:00
Pieter Wuille
caeddc5d37 Merge pull request from sipa/deadlockfix
Fix potential deadlock
2012-04-17 11:05:02 -07:00
Pieter Wuille
6b6aaa1698 Further reduce header dependencies
This commit removes the dependency of serialize.h on PROTOCOL_VERSION,
and makes this parameter required instead of implicit. This is much saner,
as it makes the places where changing a version number can have an
influence obvious.
2012-04-17 20:03:42 +02:00
Jeff Garzik
ccd65d4261 Move proto version to version.h. Reduce header deps a bit more. 2012-04-17 20:02:38 +02:00
Jeff Garzik
9eace6b113 Move CWalletDB code to new walletdb module.
In addition to standard code separation, this change opens the door
to fixing several include inter-dependencies.
2012-04-17 20:00:55 +02:00
Pieter Wuille
ed6d0b5f85 Remove headers.h 2012-04-17 20:00:55 +02:00
Gavin Andresen
b97d54355e Merge pull request from jgarzik/sign-compare
Fix many sign-comparison warnings found in bitcoin codebase
2012-04-17 10:55:56 -07:00
Gavin Andresen
e873dc654c Merge pull request from laanwj/2012_04_cleanupmisc
Delete unused, unreachable and commented code, add missing initializer
2012-04-17 10:12:33 -07:00
Pieter Wuille
c581cc16bb Fix potential deadlock
Conflict:
* cs_main in ProcessMessages() (before calling ProcessMessages)
* cs_vSend in CNode::BeginMessage
versus:
* cs_vSend in ThreadMessageHandler2 (before calling SendMessages)
* cs_main in SendMessages

Even though cs_vSend is a try_lock, if it succeeds simultaneously with
the locking of cs_main in ProcessMessages(), it could cause a deadlock.
2012-04-17 18:50:52 +02:00
Jeff Garzik
ce8c93498a main.cpp: replace tabs with spaces
Sometimes they sneak in through the 'vi' door
2012-04-17 12:31:51 -04:00
Jeff Garzik
8bff8ac079 AlreadyHave(): only hold lock during mapTransactions access 2012-04-17 12:30:00 -04:00
Wladimir J. van der Laan
7fa3ad83a9 Remove unused and unreachable code 2012-04-17 18:28:02 +02:00
Wladimir J. van der Laan
4941aad657 Add forgotten initializer 2012-04-17 18:27:55 +02:00
Pieter Wuille
8f2b50f178 Reduce sync frequency for blkindex.dat
Since auto-remove-db-logs was enabled, each time a CTxDB was closed
outside of the initial download window, it causes a checkpoint + log
cleanup. This is overkill, so reduce the sync frequency to once per
minute at most.
2012-04-17 18:27:18 +02:00
Jeff Garzik
dd21ce5f1b Merge pull request from jgarzik/already-have-locking
Locking fix for AlreadyHave()
2012-04-17 09:23:49 -07:00
Jeff Garzik
ea9627979e Bump PROTOCOL_VERSION to 60001, thereby enabling BIP31 2012-04-17 12:16:46 -04:00
Jeff Garzik
865a0c1674 Merge pull request from jgarzik/pong
BIP 0031: pong message
2012-04-17 08:51:17 -07:00
Wladimir J. van der Laan
7a5452ffb3 Merge pull request from laanwj/2012_04_sendcoins_setlabelfix
When sending coins, set label when selecting address that already has a label
2012-04-16 05:41:39 -07:00
Wladimir J. van der Laan
088a13331b Merge pull request from Diapolo/GUI-BlockDL
revert to default OS theme for progressbar (fix )
2012-04-16 00:55:37 -07:00
Jeff Garzik
9fb89c26f3 Fix misc. minor sign-comparison warnings 2012-04-15 17:00:20 -04:00
Jeff Garzik
0dd710acb6 CNode's nHeaderStart may be negative, so change its type 2012-04-15 16:59:48 -04:00
Jeff Garzik
c3fad8350b serialize.h: CAutoFile's read and write may take size_t nSize 2012-04-15 16:59:09 -04:00
Jeff Garzik
3a78f82a78 Fix sign-compare warnings: netbase's Lookup* max-solutions may be unsigned 2012-04-15 16:58:32 -04:00
Jeff Garzik
c376ac359e Fix loop index var types, fixing many minor sign comparison warnings
foo.size() typically returns an unsigned integral type; make loop variables
match those types' signedness.
2012-04-15 16:52:09 -04:00
Jeff Garzik
ab9dc75a18 The string class returns string::npos, when find() fails.
Noticed when sign-comparison warnings were enabled.
2012-04-15 16:47:24 -04:00
Jeff Garzik
ca4c4c53a8 CTxMemPool: add helper methods, to reduce global mempool.mapTx accesses 2012-04-15 14:43:19 -04:00
Jeff Garzik
d01903e751 CTxMemPool: encapsulate AcceptToMemoryPool 2012-04-15 14:43:19 -04:00
Jeff Garzik
8e45ed66dd CTxMemPool: encapsulate AddToMemoryPoolUnchecked(), RemoveFromMemoryPool(),
and nPooledTx
2012-04-15 14:42:52 -04:00
Jeff Garzik
235507ae48 New class CTxMemPool, encapsulating TX memory pool data members 2012-04-15 14:41:27 -04:00
Jeff Garzik
5a701eb7ea Merge pull request from laanwj/2012_04_clang
Enable and fix most compilation warnings
2012-04-15 11:39:15 -07:00
Jeff Garzik
fced2231f8 Merge pull request from dooglus/validate_secret
importprivkey doesn't check that it is given a private key
2012-04-15 09:25:29 -07:00
Wladimir J. van der Laan
9ea8e60a0c Merge pull request from laanwj/2012_04_runawayexception
Show a message box when runaway exception happens
2012-04-15 09:22:26 -07:00
Wladimir J. van der Laan
da7bbd9dfd fix warnings: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
6642ffb761 fix warnings: '&&' within '||' [-Wlogical-op-parentheses] 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
2e120f28e0 fix warnings: delete called on 'XX' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
11cd416525 fix warnings: unused variable 'XX' [-Wunused-variable] 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
76d8170ce8 fix warnings: enumeration values 'XX' not handled in switch [-Wswitch-enum] 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
87207a2e08 fix warnings: 'XX' defined as a struct here but previously declared as a class [-Wmismatched-tags] 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
8add7822ce fix warnings: array subscript is of type 'char' [-Wchar-subscripts] 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
1f29d399f4 work around issue in boost::program_options that prevents from compiling in clang 2012-04-15 13:40:14 +02:00
Wladimir J. van der Laan
f9f625fb32 enable all warnings except invalid-offsetof, sign-compare, unused-parameter 2012-04-15 13:40:14 +02:00
Luke Dashjr
2eb665c634 Bugfix: Check that QRcode_encodeString didn't return NULL (error)
Without this, any error will segfault Bitcoin-Qt
2012-04-14 21:00:27 -04:00
Wladimir J. van der Laan
a7a0c7a1bf Show a message box when runaway exception happens
This is more clear to users than when the program simply disappears (usually during initialization). It still logs the message to the console and debug log as well.
2012-04-14 18:35:42 +02:00
Jeff Garzik
22014c31e5 Merge pull request from jgarzik/tx-opt
Database micro-optimization for "tx" network message
2012-04-14 08:50:43 -07:00
Wladimir J. van der Laan
46ba858817 Merge pull request from laanwj/2012_04_translationupdate
Update translations for bitcoin core
2012-04-13 23:47:50 -07:00
Wladimir J. van der Laan
3fddc8effc Update translations for bitcoin core
- Move scripts/qt to share/qt, to clean up toplevel directories
- Update english ts file which is used to source messages for Transifex
- In extract_strings_qt.py use a glob *.h *.cpp, this is safe now that the Wx UI files are removed
2012-04-14 08:46:16 +02:00
Wladimir J. van der Laan
b970067298 Do not show green tick unless all known blocks are downloaded (fixes ) 2012-04-14 08:21:22 +02:00
Jeff Garzik
8deb9822e4 Locking fix for AlreadyHave()
Access to mapTransactions[] must be guarded by cs_mapTransactions lock.

Also, reformat long lines to make the switch statement more readable.
2012-04-13 18:24:55 -04:00
Jeff Garzik
9925d34a49 Database micro-optimization for "tx" network message
Open database once per "tx" message, rather than multiple times,
in the case of orphan transaction presence.

As a side effect, a now-unused CTransaction::AcceptToMemoryPool()
variant is removed.
2012-04-13 17:48:15 -04:00
Wladimir J. van der Laan
2d67195ed2 Set label when selecting an address that already has a label. Fixes . 2012-04-13 21:08:46 +02:00
Philip Kaufmann
e72c6a1830 revert to default OS theme for progressbar / fix small glitches in bitcoingui.cpp 2012-04-13 18:25:56 +02:00
Wladimir J. van der Laan
6b8e7eefcc Add missing tooltip and key shortcut in settings dialog ( without line break part) 2012-04-13 09:16:46 +02:00
Gavin Andresen
c3c203ccd9 Merge pull request from sipa/fix_1086
Fix : add /testnet to passed datadir
2012-04-12 18:22:15 -07:00
Pieter Wuille
7a743148c9 Fix : add /testnet to passed datadir 2012-04-13 03:11:14 +02:00
Jeff Garzik
8b09cd3a4d Replace several network protocol version numbers with named constants
stored in version.h.

Also, a minor CAddress code reformat while we're in there, fixing
some incorrect indentation.
2012-04-12 20:07:49 -04:00
Chris Moore
b3a6e613fc CBitcoinSecret::SetString() now calls IsValid() to make sure it was passed something with the correct version. 2012-04-12 13:13:08 -07:00
Gavin Andresen
b7dc02381f Merge pull request from gavinandresen/listtransactionsfix
Bug fix listtransactions from/count handling.
2012-04-12 12:20:51 -07:00
Wladimir J. van der Laan
181400c3d5 make text in about box selectable (fixes ) 2012-04-12 20:55:38 +02:00
Philip Kaufmann
7261945eb5 enable wordWrap on lblQRCode / small code comment change 2012-04-12 20:34:06 +02:00
Philip Kaufmann
b1a99c3a1f limit length of generated URI to 255 chars to prevent a DoS against the QR-Code dialog 2012-04-12 20:34:06 +02:00
Philip Kaufmann
1e8c62b29c updated to reflect pull-request suggestions / renamed some GUI elements 2012-04-12 20:34:05 +02:00
Philip Kaufmann
9e0dba8c17 fixed amount part of URI in QR-Codes / removed (no label) string if we have NO label / coding style updates / removed an unused variable 2012-04-12 20:34:04 +02:00
Jeff Garzik
460b66b14b Remove obsolete Win32 AffinityBugWorkaround()
Reference miner exists for testnet-in-a-box type situations, and as a
reference.  We don't care enough about highly optimized internal
mining to keep workarounds like this.
2012-04-12 13:24:00 -04:00
Jeff Garzik
b87c0fc440 version.h: separate client, net sections. Move more constants to this file.
* move PROTOCOL_VERSION to version.h

* move CLIENT_VERSION* to version.h, make available past cpp stage

* clearly separate client, network version portions of version.h
2012-04-12 12:23:58 -04:00
Jeff Garzik
93e447b631 BIP 0031: pong message
Add a pong message that is sent in reply to a ping. It echoes back a nonce
field that is now added to the ping message. Send a nonce of zero in ping
messages.

Original author: Mike Hearn @ Google

Modified Mike's change to introduce a mild form of protocol documentation in
version.h.
2012-04-12 12:11:56 -04:00
Gavin Andresen
940e22fd81 Fix OSX build errors. 2012-04-12 11:14:46 -04:00
Wladimir J. van der Laan
4ac24cf59e Merge pull request from sje397/ToggleHide
Toggle UI hide
2012-04-11 23:02:18 -07:00
Pieter Wuille
ee12c3d60c Use filesystem::path instead of manual string tinkering
Where possible, use boost::filesystem::path instead of std::string or
char* for filenames. This avoids a lot of manual string tinkering, in
favor of path::operator/.

GetDataDir is also reworked significantly, it now only keeps two cached
directory names (the network-specific data dir, and the root data dir),
which are decided through a parameter instead of pre-initialized global
variables.

Finally, remove the "upgrade from 0.1.5" case where a debug.log in the
current directory has to be removed.
2012-04-11 22:30:23 +02:00
Wladimir J. van der Laan
bcaa5f1c04 Merge pull request from laanwj/2012_04_connectionicon
Make 4th bar of connection icon green
2012-04-11 11:06:26 -07:00
Gavin Andresen
2232717cba Remove path.make_preferred() calls, and fix compiler error in bitcoinrpc RE: boost::system 2012-04-11 14:00:48 -04:00
Wladimir J. van der Laan
5ca4f13b87 by popular request, make 4th bar of connection icon green 2012-04-11 19:59:15 +02:00
Pieter Wuille
4577167170 Fix build.h dependencies
For Qt builds, the build.h file is moved to build/build.h. For regular
builds, it is moved to obj/build.h. This allows the Qt build to be done
in a different directory than the source, and without interfering with
other builds.
2012-04-11 14:04:42 +02:00
Pieter Wuille
702764f53b Merge pull request from sipa/buildinfo
Build identification strings
2012-04-10 13:31:12 -07:00
Wladimir J. van der Laan
b56772e5df Merge pull request from laanwj/2012_04_rpcporterror
Show error message instead of exception crash when unable to bind RPC port
2012-04-10 13:14:47 -07:00
Pieter Wuille
a20c0d0f67 Build identification strings
All client version information is moved to version.cpp, which optionally
(-DHAVE_BUILD_INFO) includes build.h. build.h is automatically generated
on supporting platforms via contrib/genbuild.sh, using git describe.

The git export-subst attribute is used to put the commit id statically
in version.cpp inside generated archives, and this value is used if no
build.h is present.

The gitian descriptors are modified to use git archive instead of a
copy, to create the src/ directory in the output. This way,
src/src/version.cpp will contain the static commit id. To prevent
gitian builds from getting the "-dirty" marker in their git-describe
generated identifiers, no touching of files or running sed on the
makefile is performed anymore. This does not seem to influence
determinism.
2012-04-10 18:16:53 +02:00
sje397
86d5634941 Toggle main window hide on tray icon click
- converted openBictoinAction to toggleHideAction
- put GUIUtil functions into a namespace instead of a class
- put window-related functions together in optionsdialog

Reasoning:
- toggle is more typical behaviour
- it's more functional
- better UX

The typical issue with toggling visibility is that when a window
is obscured by other windows but in the 'shown' state, hiding it
isn't what you want. I've added an 'isObscured' function to GUIUtil
that checks several pixels in the window to see if they are visible
on the desktop so that an obscured but shown window can be raised.

Conflicts:

	src/qt/guiutil.cpp
	src/qt/guiutil.h
2012-04-11 00:07:32 +10:00
Pieter Wuille
1a275bac2b Merge pull request from sipa/scopedlocks
Use scoped locks instead of CRITICAL_BLOCK
2012-04-09 13:25:17 -07:00
Gavin Andresen
1044391135 Merge branch 'filesystem' of https://github.com/Diapolo/bitcoin 2012-04-09 10:41:59 -04:00
Pieter Wuille
f342dac1cb Do not report spurious deadlocks caused by TRY_LOCK 2012-04-09 01:59:57 +02:00
Pieter Wuille
908037fe16 Support for parametrized locks in deadlock detector 2012-04-09 01:59:57 +02:00
Pieter Wuille
f8dcd5ca6f Use scoped locks instead of CRITICAL_BLOCK 2012-04-09 01:59:46 +02:00
Luke Dashjr
fa2544e79f Bugfix: Replace "URL" with "URI" where we aren't actually working with URLs 2012-04-06 12:53:37 -04:00
Wladimir J. van der Laan
3e34352222 Show error message instead of exception crash when unable to bind RPC port
Fixes issue 
2012-04-06 18:41:23 +02:00
Philip Kaufmann
42c63d3ad2 fixed small error in bitcoinrpc.cpp 2012-04-06 15:31:28 +02:00
Philip Kaufmann
36949554ab updated util.cpp to use make_preferred() 2012-04-06 15:29:20 +02:00
Philip Kaufmann
93fb7489a7 updated bitcoinrpc.cpp to use make_preferred() and removed double inclusion of boost/filesystem.hpp 2012-04-06 15:29:19 +02:00
Philip Kaufmann
9c24588e73 updated db.cpp to use make_preferred() 2012-04-06 15:29:18 +02:00
Pieter Wuille
9362da78b0 Merge pull request from sipa/wait
Condition variables instead of polling
2012-04-06 04:11:14 -07:00
graingert
f9781fc62e Change sign message bitcoin address tooltip to "The address to sign the message with" Closes 2012-04-06 04:08:16 +02:00
Pieter Wuille
e88ed65a39 Flush on log size instead of transaction count 2012-04-05 20:29:47 +02:00
Gavin Andresen
399ff1fe05 Merge pull request from Diapolo/misc
removed obsolete boost workaround (boost ticket )
2012-04-05 07:36:23 -07:00
Gavin Andresen
895c12943b Merge pull request from gavinandresen/use_ssl_cleanup
Remove USE_SSL #define
2012-04-05 07:34:45 -07:00
Gavin Andresen
ea2cc8fc4a Merge pull request from gavinandresen/addmultisigenable
Enable addmultisigaddress RPC call for main network
2012-04-05 07:34:19 -07:00
Gavin Andresen
c7fa55bb87 Merge pull request from gavinandresen/pubsubcleanup
Remove half-implemented publish/subscribe system
2012-04-05 07:33:54 -07:00
Gavin Andresen
78494ffecc Merge pull request from gavinandresen/osxbuild
Add ifdef RELEASE to makefile.osx as the compile-for-older-macs flags
2012-04-05 07:33:00 -07:00
Gregory Maxwell
4a8d0f3b10 Merge pull request from sipa/fix_955
Fix : Verify status of encrypt/decrypt calls to detect failed padding
2012-04-05 06:17:05 -07:00
Philip Kaufmann
7f10522c43 removed obsolete boost workaround (boost ticket ) 2012-04-05 08:34:31 +02:00
Gavin Andresen
5ce4c2a23a Remove USE_SSL #define 2012-04-04 21:19:27 -04:00
Gavin Andresen
723cafcbcf Bug fix listtransactions from/count handling. 2012-04-04 20:56:13 -04:00
Pieter Wuille
e5c027b49b Verify status of encrypt/decrypt calls to detect failed padding 2012-04-05 02:07:53 +02:00
Philip Kaufmann
fc42e9fae2 removed an unused / obsolete tag from bitcoin.qrc 2012-04-05 00:11:22 +02:00
Gavin Andresen
ea8c55cfd7 Enable addmultisigaddress RPC call for main network 2012-04-04 16:01:27 -04:00
Gavin Andresen
f487746ded Remove half-implemented publish/subscribe system 2012-04-04 15:56:00 -04:00
Gavin Andresen
3a8ca61bd0 Add ifdef RELEASE to makefile.osx as the compile-for-older-macs flags 2012-04-04 15:45:31 -04:00
Pieter Wuille
092631f0ba Condition variable for outbound connection slots
Keep a global counter for nOutbound, protected with its own waitable
critical section, and wait when all outbound slots are filled, rather
than polling.

This removes the (on average) 1 second delay between a lost connection
and a new connection attempt, and may speed up shutdowns.
2012-04-04 17:24:13 +02:00
Pieter Wuille
712fd182b7 Locking system overhaul, add condition variables
This commit simplifies the locking system: CCriticalSection becomes a
simple typedef for boost::interprocess::interprocess_recursive_mutex,
and CCriticalBlock and CTryCriticalBlock are replaced by a templated
CMutexLock, which wraps boost::interprocess::scoped_lock.

By making the lock type a template parameter, some critical sections
can now be changed to non-recursive locks, which support waiting via
condition variables. These are implemented in CWaitableCriticalSection
and WAITABLE_CRITICAL_BLOCK.

CWaitableCriticalSection is a wrapper for a different Boost mutex,
which supports waiting/notification via condition variables. This
should enable us to remove much of the used polling code. Important
is that this mutex is not recursive, so functions that perform the
locking must not call eachother.

Because boost::interprocess::scoped_lock does not support assigning
and copying, I had to revert to the older CRITICAL_BLOCK macros that
use a nested for loop instead of a simple if.
2012-04-04 16:21:08 +02:00
Pieter Wuille
b0a7e05a45 Merge pull request from laanwj/2012_03_uirefactor
Streamline UI ↔ Core interface
2012-04-04 05:03:07 -07:00
Wladimir J. van der Laan
cadae3588c Merge pull request from Diapolo/GUI-BlockDL
modified block DL progressbar to be more informative and precise
2012-04-04 04:36:09 -07:00
Wladimir J. van der Laan
5cccb13dad Move from noui.h / ui.h to one ui_interface.h with dummy implementation for the daemon. 2012-04-04 13:19:30 +02:00
Wladimir J. van der Laan
5a60b66a9d Use a messagebox to display the error when -server is provided without providing a rpc password 2012-04-04 09:37:26 +02:00
Wladimir J. van der Laan
7cfbe1fee4 qtui.h/noui.h interface cleanup
- rename wxMessageBox, remove redundant arguments to noui/qtui calls
- also, add flag to force blocking, modal dialog box for disk space warning etc
- clarify function naming
- no more special MessageBox needed from AppInit2, as window object is created before calling AppInit2
2012-04-04 09:37:25 +02:00
Wladimir J. van der Laan
1a3f0da922 support RPC stop and encryptwallet with UI 2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
5d7cebdadc move translation function _ to qtui.h/noui.h instead of util.h 2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
6cb6d62347 remove dependency on serialize.h and util.h for SecureString 2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
f0b5e9e116 remove unused CalledSetStatusBar and UIThreadCall notifications 2012-04-04 09:35:01 +02:00
Wladimir J. van der Laan
98e6175874 Update UI through async calls MainFrameRepaint and AddressBookRepaint instead of a timer.
- Overall, this is better design
- This fixes problems with the address book UI not updating when the address book is changed through RPC
- Move Statusbar change detection responsibility to ClientModel
2012-04-04 09:35:01 +02:00
Philip Kaufmann
75b6323200 remove HTML code around "Wallet" (displayed on overview page) and use Qt tags for font settings 2012-04-04 09:07:55 +02:00
Wladimir J. van der Laan
7e7bcce2d9 Code deduplication: make function in GUIUtil to get connection type to call object slot in GUI thread
with invokeMethod.
2012-04-04 08:46:12 +02:00
Wladimir J. van der Laan
55f69a4700 move QT_PLUGINS stuff to qt main file, where it belongs 2012-04-04 08:46:12 +02:00
Wladimir J. van der Laan
52d3a48128 VC2010 compile fixes 2012-04-03 20:22:41 +02:00
Philip Kaufmann
853a4a81b3 clarified comment why we use an own progressbar style / included "~" in the tr() call 2012-04-03 09:42:34 +02:00
Philip Kaufmann
ec9a4904f3 changed percentage done in tooltip to float to be more precise / allowed plurals in translation for "x block(s) remaining" 2012-04-03 08:30:13 +02:00
Gregory Maxwell
3263a245bb Merge pull request from laanwj/2012_04_increase_up_to_date_time
Increase time ago of last block for "up to date" status from 30 to 90 minutes
2012-04-02 20:35:44 -07:00
Philip Kaufmann
a7a69cd07a polished code and fixed progress display (was very jerky at the end of a sync) 2012-04-02 23:51:40 +02:00
Philip Kaufmann
e9de46c436 color update for progress bar 2012-04-02 23:48:24 +02:00
Philip Kaufmann
c7c0c93172 implemented OS independent progress bar style / moved one-time functions used on the bar to a better code location 2012-04-02 23:48:23 +02:00
Philip Kaufmann
5519660a0d changed progressbar text to "~n blocks remaining" 2012-04-02 23:48:22 +02:00
Philip Kaufmann
068ed1e838 removed relative progressbar display and moved re-worked network detection code to setNumBlocks() 2012-04-02 23:48:22 +02:00
Philip Kaufmann
9ceae8acea modified block DL progressbar to be dynamic and more precise 2012-04-02 23:48:21 +02:00
Wladimir J. van der Laan
2675fe6218 Increase time ago of last block for "up to date" status from 30 to 90 minutes
It was too hyperactive.
gmaxwell: I mean that right now when the block gap goes over an hour it starts showing synchronizing. Increasing that to 90 minutes or so would make it only happen about 6.4 times per year
2012-04-02 20:37:55 +02:00
Gavin Andresen
85ea8b4f43 Merge pull request from TheBlueMatt/headerslimit
Limit getheaders to a hard 2000.
2012-04-02 11:22:11 -07:00
Pieter Wuille
91c5132ab5 Merge pull request from Diapolo/transactiontable
removed an ugly line break in a transaction tooltip
2012-04-02 07:19:22 -07:00
Pieter Wuille
d3f220b2c2 Merge pull request from
fix for 
2012-04-02 07:08:14 -07:00
Pieter Wuille
fdef04e77b Merge pull request from Diapolo/master
fixed typo in comment in netbase.h and bignum.h
2012-04-02 07:07:48 -07:00
Pieter Wuille
542a1380aa Merge pull request from Diapolo/tr-tray
made tray icon tooltip translatable
2012-04-02 07:07:21 -07:00
Gavin Andresen
f3da2a88c9 Bump version to 0.6.0.99 for 0.6.1 merge window 2012-04-02 10:03:26 -04:00
Philip Kaufmann
b5271c8861 hide Delete button (only) on ReceivingTab / hide Sign message button (only) on SendingTab 2012-04-01 13:22:34 +02:00
Philip Kaufmann
7e05b97229 fixed typo in comment in netbase.h and bignum.h 2012-03-30 07:44:35 +02:00
Gavin Andresen
a1c3d8f14d Merge branch 'master' of github.com:bitcoin/bitcoin 2012-03-29 15:11:04 -04:00
Gavin Andresen
f146061d24 Merge pull request from sipa/fastblocks2
Use transactions-updated as flush condition
2012-03-29 12:10:30 -07:00
Pieter Wuille
25c5eca893 Use transactions-updated as flush condition
The normal checkpointing during the block chain download is reduced
to every five minutes only, but forced every 200000 updated transactions.
2012-03-29 21:00:31 +02:00
Gavin Andresen
f3f9da868e Bump version to 0.6.0rc6 2012-03-29 13:58:22 -04:00
Gavin Andresen
6293a9f87f Workaround hangs when upgrading old addr.dat files 2012-03-29 13:34:07 -04:00
Gavin Andresen
83e914c1d5 Merge pull request from gavinandresen/log_auto_remove
Auto-remove logs, and decrease logfile size to 10M
2012-03-29 10:13:42 -07:00
Gavin Andresen
9f18347034 Auto-remove logs, and decrease logfile size to 10M 2012-03-29 09:03:11 -04:00
Philip Kaufmann
3d1d5fafc1 made tray icon tooltip translatable 2012-03-29 07:59:15 +02:00
Philip Kaufmann
0b637e0b86 removed an ugly line break in a transaction tooltip for case TransactionStatus::Mature 2012-03-27 23:20:09 +02:00
Philip Kaufmann
7b2eecd428 update translations from transifex 2012-03-27 10:13:38 +02:00
Gavin Andresen
8d29329f93 Update version to 60005 (0.6.0rc5) 2012-03-26 15:42:06 -04:00
Gavin Andresen
c698633447 Merge branch 'master' of github.com:bitcoin/bitcoin 2012-03-26 15:31:32 -04:00
Gavin Andresen
c289d95d6b Merge pull request from gavinandresen/disableWinURI
Disable bitcoin: URI handling on Windows for the 0.6 release
2012-03-26 12:31:06 -07:00
Wladimir J. van der Laan
57de7cd603 Merge pull request from sipa/doc
Begin doxygen-compatible comments
2012-03-26 12:27:49 -07:00
Gavin Andresen
bf5b80a8ae Merge branch 'deladdr' of https://github.com/sipa/bitcoin 2012-03-26 14:32:26 -04:00
Pieter Wuille
53cb1a49e7 Use erase instead of rewrite to remove old addr entries 2012-03-26 20:22:38 +02:00
Gavin Andresen
7b90edb5a6 Disable bitcoin: URI handling on Windows for the 0.6 release 2012-03-26 12:18:24 -04:00
Pieter Wuille
6b8de05d0a Begin doxygen-compatible comments 2012-03-26 16:48:23 +02:00
Philip Kaufmann
4004b9a40b make sure Window is shown when clicking bitcoin: Links to get user attention 2012-03-26 09:19:49 +02:00
Pieter Wuille
01a196e08d Merge pull request from sipa/walletupgrade
Introduce explicit -walletupgrade option
2012-03-25 19:44:52 -07:00
Pieter Wuille
59e659fcc0 Merge pull request from laanwj/2012_03_removeunusedutil
Remove unused functions from util.h/util.cpp (EOM)
2012-03-25 19:31:03 -07:00
Pieter Wuille
bf1afb02ca Give DNS seeds a random age between 3 and 7 days old
This speeds up initial connections with an old/large addr.dat a lot.
2012-03-25 16:06:16 +02:00
Wladimir J. van der Laan
a6aee96c7e remove unused functions from util.h/util.cpp 2012-03-25 12:33:30 +02:00
Pieter Wuille
439e1497e1 Introduce explicit -walletupgrade option
Do not automatically change the wallet format unless the user takes an
explicit action that implies an upgrade (encrypting, for now), or uses
-walletupgrade.

-walletupgrade optionally takes an integer argument: the client version
up to which upgrading is allowed. Without an argument, it is upgraded
to latest supported version. If an argument to -walletupgrade is
provided at the time the wallet is created, the new wallet will initially
not use features beyond that version.

Third, the current wallet version number is reported in getinfo.
2012-03-22 23:47:29 +01:00
Gavin Andresen
958fe01c32 Merge branch 'checklevel' of https://github.com/sipa/bitcoin 2012-03-22 12:18:56 -04:00
Gavin Andresen
e12d131734 Merge pull request from sipa/versioncheck
Check minversion before loading the rest of the wallet
2012-03-22 09:18:11 -07:00
Gavin Andresen
a6b4a11385 Merge branch 'addrman' of https://github.com/sipa/bitcoin 2012-03-22 09:19:01 -04:00
Gavin Andresen
0e894be626 Merge pull request from sipa/fastblocks
Speed up block downloading
2012-03-22 06:17:44 -07:00
Gavin Andresen
e53f03172a Merge branch 'master' of github.com:bitcoin/bitcoin 2012-03-22 08:51:37 -04:00
Wladimir J. van der Laan
5cd806a03e Merge pull request from laanwj/2012_03_printconsole_error
replace call to PrintConsole with call to error()
2012-03-21 23:42:20 -07:00
Pieter Wuille
ef12c2184d Check minversion before loading the rest of the wallet
When a 0.6 wallet with compressed pubkeys is created, it writes a
minversion record to prevent older clients from reading it. If the 0.5
loading it sees a key record before seeing the minversion record however,
it will fail with DB_CORRUPT instead of DB_TOO_NEW.
2012-03-22 04:59:59 +01:00
Pieter Wuille
4538e45c46 Add -checklevel and improve -checkblocks
-checkblocks now takes a numeric argument: the number of blocks that must
be verified at the end of the chain. Default is 2500, and 0 means all
blocks.

-checklevel specifies how thorough the verification must be:
0: only check whether the block exists on disk
1: verify block validity (default)
2: verify transaction index validity
3: check transaction hashes
4: check whether spent txouts were spent within the main chain
5: check whether all prevouts are marked spent
6: check whether spent txouts were spent by a valid transaction that consumes them
2012-03-22 03:19:23 +01:00
Gavin Andresen
8f188ece3c Remove -bip16 and -paytoscripthashtime command-line arguments 2012-03-21 15:45:58 -04:00
Wladimir J. van der Laan
4a43dfbf3e replace call to PrintConsole with call to error()
As these are equivalent functions, this cleans up the source a bit.
Also remove PrintConsole() as this was the only use.
2012-03-21 20:33:53 +01:00
Gavin Andresen
2e2c04e250 Merge pull request from ali1234/master
When disconnecting a node, the receive buffer should be cleared
2012-03-21 12:24:57 -07:00
Gavin Andresen
b2fe3a5ca6 Merge pull request from sipa/unstuck
Prevent stuck block download in large reorganisations
2012-03-21 12:16:28 -07:00
Gavin Andresen
c2b1ab072c Merge pull request from khorben/master
The generic UNIX Makefile builds with lots of warnings
2012-03-21 07:45:49 -07:00
Pieter Wuille
a1a0469f91 More debug output for failed reorganizations 2012-03-21 13:15:27 +01:00
Michael
246c20e8a9 Correct date 2012-03-21 15:56:38 +08:00
Wladimir J. van der Laan
4046bdf18a Merge pull request from Diapolo/master
language updates for source file bitcoin_en.ts + remove cs_CZ (issue )
2012-03-21 00:18:58 -07:00
Pieter Wuille
0aa89c08ff Prevent stuck block download in large reorganisations
In cases of very large reorganisations (hundreds of blocks), a situation
may appear where an 'inv' is sent as response to a 'getblocks', but the
last block mentioned in the inv is already known to the receiver node.
However, the supplying node uses a request for this last block as a
trigger to send the rest of the inv blocks. If it never comes, the block
chain download is stuck.

This commit makes the receiver node always request the last inv'ed block,
even if it is already known, to prevent this problem.
2012-03-21 05:09:02 +01:00
Pieter Wuille
89516bd4e0 Speed up block downloading 2012-03-21 01:32:00 +01:00
Pierre Pronchery
7868808b2f Avoid some pointless warnings while compiling 2012-03-21 00:08:19 +01:00
Gavin Andresen
eae82d8ee5 Use last checkpoint instead of hard-coded 140,700. Fixes . 2012-03-20 13:45:45 -04:00
p2k
3f1bb1ac78 Proper support for Growl 1.3 notifications 2012-03-20 12:54:51 -04:00
Pieter Wuille
9aa459b294 assertion in CBlock::SetBestChainInner was too strong 2012-03-20 16:41:36 +01:00
Philip Kaufmann
d6b08f6f2c remove bitcoin_cs_CZ from bitcoin.qrc and delete bitcoin_cs_CZ.ts 2012-03-20 09:07:05 +01:00
Philip Kaufmann
603061a7e5 updated english language source file via lupdate 2012-03-19 14:08:41 +01:00
Nils Schneider
4ac3eea027 Merge pull request from Diapolo/master
german translation update
2012-03-19 05:13:08 -07:00
Philip Kaufmann
8afd4699e6 fixed a capitalization error in the german translation 2012-03-19 10:28:10 +01:00
Philip Kaufmann
7c4fabde60 update german translation from transifex 2012-03-19 09:21:11 +01:00
Wladimir J. van der Laan
bd9c6f88be Merge pull request from jojkaart/master
Make send coins dialog honor the configured unit type even on the first attempt.
2012-03-19 01:08:43 -07:00
Matt Corallo
ecf07f2729 Limit getheaders to a hard 2000.
Previously getheaders would return any number of headers up to
2000 + the distance the locator parameter was back (which is up to
~ the number of items in the locator ^ 2).

The only client I was able to find which actually handles the headers
message is BitcoinJ, and it clearly expects no more than 2000 headers
See:
http://code.google.com/p/bitcoinj/source/browse/core/src/main/java/com/google/bitcoin/core/HeadersMessage.java#35

Additionally, the wiki clearly states that getheaders will only ever
return 2000 headers: https://en.bitcoin.it/wiki/Network#Messages
2012-03-19 00:13:15 -04:00
Gregory Maxwell
0b99d1b574 Merge pull request from luke-jr/dbg_loaderr
Wallet loading diagnostic prints to debug.log
2012-03-18 20:11:09 -07:00
Joel Kaartinen
aa3d4c0221 Make the sendcoins dialog use the configured unit type, even on the first attempt. 2012-03-18 23:04:17 +02:00
Alistair Buxton
bb13d056ea When disconnecting a node, clear the received buffer so that we do
not process any already received messages.

The primary reason to do this is if a node spams hundreds of messages
and we ban them, we don't want to continue processing the rest of it.
2012-03-18 03:03:24 +00:00
Philip Kaufmann
652856fb63 update german translation from transifex 2012-03-17 00:48:03 +01:00
Gregory Maxwell
44b69cf25e Bump CLIENT_VERSION for rc4 release 2012-03-16 15:08:57 -04:00
Nils Schneider
98ff031eb8 update translations from transifex 2012-03-16 19:05:25 +01:00
Wladimir J. van der Laan
08ed96d856 Yet another attempt at implementing "minimize to tray" that works on all OSes 2012-03-16 08:17:11 +01:00
Gavin Andresen
e318b99d99 Bump CLIENT_VERSION for rc3 release 2012-03-13 09:31:37 -04:00
Pieter Wuille
d68dcf741e Limit the impact of reorganisations on the database
Sometimes a new block arrives in a new chain that was already the
best valid one, but wasn't marked that way. This happens for example
when network rules change to recover after a fork.

In this case, it is not necessary to do the entire reorganisation
inside a single db commit. These can become huge, and exceed the
objects/lockers limits in bdb. This patch limits the blocks the
actual reorganisation is applied to, and adds the next blocks
afterwards in separate db transactions.
2012-03-12 20:31:56 +01:00
Luke Dashjr
3cc0624932 Print more diagnostic info for the various DB_CORRUPT conditions 2012-03-12 14:01:15 -04:00
Luke Dashjr
21e875c958 Print wallet load errors (to debug.log) 2012-03-11 17:57:47 -04:00
Gregory Maxwell
82a10c8170 Resolves issue - "wallet passphrase timeout of several years doesn't work"
2^31 milliseconds is only about 25 days. Also clamps Sleep() to 10 years,
because it currently sleeps for 0 seconds when the sleep time would cross
2^31 seconds since the epoch. Hopefully boost will be fixed by 2028.
2012-03-10 17:38:37 -05:00
nomnombtc
f8c478c4fb fix typo src/net.cpp 2012-03-05 19:33:24 +01:00
Pieter Wuille
a206b0ea12 Do not allow overwriting unspent transactions (BIP 30)
Introduce the following network rule:
 * a block is not valid if it contains a transaction whose hash
   already exists in the block chain, unless all that transaction's
   outputs were already spent before said block.

Warning: this is effectively a network rule change, with potential
risk for forking the block chain. Leaving this unfixed carries the
same risk however, for attackers that can cause a reorganisation
in part of the network.

Thanks to Russell O'Connor and Ben Reeves.
2012-03-03 18:26:36 +01:00
Gavin Andresen
142e604184 DoS fix for mapOrphanTransactions 2012-02-29 11:46:46 -05:00
Gavin Andresen
722d9387be Merge branch 'mruinventory' of https://github.com/sipa/bitcoin 2012-02-28 11:48:44 -05:00
Gavin Andresen
6dd5ae41ac Merge branch '2012_02_getspecialfolderpath_overflow' of https://github.com/laanwj/bitcoin 2012-02-28 11:45:14 -05:00
Michael Ford
27adfb2e0c "February" 2012-02-28 20:31:56 +08:00
Gavin Andresen
07ed49a472 Do not start bitcoin: thread on OSX. fixes 2012-02-27 16:08:08 -05:00
Gavin Andresen
21503e4556 Merge branch 'nodosbip16' of https://github.com/sipa/bitcoin 2012-02-27 15:47:27 -05:00
Pieter Wuille
c4341fa6ab Add mruset and use it for setInventoryKnown 2012-02-27 21:04:32 +01:00
Gavin Andresen
46aa2a6bdd Move BIP16 switchover time to April 1 2012-02-27 11:41:20 -05:00
Gavin Andresen
90d78142c0 Merge branch 'nooptionsinwallet+fixproxysetting' of https://github.com/sipa/bitcoin 2012-02-27 11:30:05 -05:00
Wladimir J. van der Laan
fbbd42a535 Merge pull request from laanwj/2012_02_altminimizetray
Yet another alternative "minimize to tray" implementation

Fixes problems with window positioning.
2012-02-26 22:27:25 -08:00
Pieter Wuille
42c8b56f62 Store addrProxy port in settings 2012-02-26 23:39:32 +01:00
Gavin Andresen
3f8cb2c565 Reworked QT settings 2012-02-26 23:38:28 +01:00
Gavin Andresen
972060ce0e bitcoind changes to stop storing settings in wallet.dat. 2012-02-26 23:21:33 +01:00
Wladimir J. van der Laan
21ae37d215 Simplify MyGetSpecialFolderPath and fix possible buffer overflow () 2012-02-26 17:11:38 +01:00
Pieter Wuille
88c41c43ea Move 'Backup Wallet' to file menu 2012-02-26 03:04:25 +01:00
Pieter Wuille
4a10d4c6dc Fix addrProxy setting
Before 0.6 addrProxy was a CAddress, but netbase changed it to CService.
Retain compatibility by wrapping/unwrapping with a CAddress when saving
or loading.

This commit retains compatibility with 0.6.0rc1 (which wrote the setting
as a CService) by trying to parse twice.
2012-02-25 21:13:34 +01:00
Wladimir J. van der Laan
da9ab62fb7 Merge pull request from laanwj/2012_02_fixnegativesecs
In UI, handle cases in which the last received block was generated in the future
2012-02-25 10:14:37 -08:00
Wladimir J. van der Laan
71ba9abba6 In UI, handle cases in which the last received block was generated in the future (secs<0)
Fixes .
2012-02-25 19:11:25 +01:00
Pieter Wuille
db9f2e0117 Do not invoke anti-DoS system for invalid BIP16 transactions
Doing so would allow an attack on old nodes, which would relay a
standard transaction spending a BIP16 output in an invalid way,
until reaching a new node, which will disconnect their peer.

Reported by makomk on IRC.
2012-02-25 19:05:50 +01:00
Chris Moore
ec4efde40c Add option "-splash" so we can disable the splash screen.
Don't show splash screen when -min is specified on the command line.
2012-02-24 19:17:22 -08:00
Pieter Wuille
5fee401fe1 CAddrMan: stochastic address manager
Design goals:
 * Only keep a limited number of addresses around, so that addr.dat does not grow without bound.
 * Keep the address tables in-memory, and occasionally write the table to addr.dat.
 * Make sure no (localized) attacker can fill the entire table with his nodes/addresses.

See comments in addrman.h for more detailed information.
2012-02-24 13:41:04 +01:00
Gavin Andresen
8c12851ed4 Checkpoint block 168,000 2012-02-23 13:33:30 -05:00
Gavin Andresen
fc4f4c2e9a Merge branch 'getblock_cleanup' of https://github.com/luke-jr/bitcoin 2012-02-23 12:41:26 -05:00
Luke Dashjr
34f8788915 Cleanup JSON-RPC getblock output to be consistent
- Add "size" and "bits"
- Rename "blockcount" to "height"
- Rename "hashprevious" and "hashnext" to "previousblockhash" and "nextblockhash" (respectively)
2012-02-22 12:31:28 -05:00
Gavin Andresen
5c03282521 Merge branch 'testnetirc' of https://github.com/sipa/bitcoin 2012-02-22 11:26:19 -05:00
Gavin Andresen
6fe8c45375 Merge branch 'fixnullpfrom' of https://github.com/sipa/bitcoin 2012-02-22 11:25:08 -05:00
Gavin Andresen
e7e6ae2104 Merge branch 'postfeb20' of https://github.com/sipa/bitcoin 2012-02-22 11:06:44 -05:00
Gavin Andresen
8c7358e1dd Merge branch 'reorginfo' of https://github.com/sipa/bitcoin 2012-02-22 11:03:19 -05:00
Gavin Andresen
e1bad25fee Merge branch 'fix_616' of https://github.com/sipa/bitcoin 2012-02-22 11:00:38 -05:00
Gavin Andresen
de737806b5 Merge branch 'fix_626' of https://github.com/sipa/bitcoin 2012-02-22 10:52:14 -05:00
Gavin Andresen
1af97c95f3 Merge branch 'bugfix_bip14_ez' of https://github.com/luke-jr/bitcoin 2012-02-22 10:44:44 -05:00
Gavin Andresen
f246fc648a Merge branch '201202_guiaddsuffix' of https://github.com/laanwj/bitcoin 2012-02-22 10:41:11 -05:00
Luke Dashjr
c170d03e03 Bugfix: Instead of reporting "bitcoin-qt" for both bitcoind and Bitcoin-Qt, report "Satoshi" which is at least correct 2012-02-22 10:36:19 -05:00
Pieter Wuille
92d5864b80 Leave IRC enabled by default on testnet
As testnet has neither DNS seeds or built-in seed addresses to
bootstrap from.
2012-02-22 05:19:09 +01:00
Pieter Wuille
18c0fa97d0 Post-feb20 simplifications
Now the entire network upgraded to (initial) protocol version 209,
crtainl simplifications in the source code are possible.
2012-02-21 20:46:39 +01:00
Pieter Wuille
73aa0421a7 ProcessBlock is sometimes called with pfrom==NULL 2012-02-20 22:35:08 +01:00
Pieter Wuille
0d56f11ada Fix tests after 38067c18 2012-02-20 18:32:33 +01:00
Wladimir J. van der Laan
f7b8f824de Merge pull request from laanwj/2012_02_fixhelpwindow
On windows, show message box with help, as there is no stderr (fixes )
2012-02-20 08:56:41 -08:00
Wladimir J. van der Laan
7b88a61706 Merge pull request from laanwj/2012_02_uisendlabelfix
Only fill in label from address book if no label is filled in yet (fixes )
2012-02-20 08:55:49 -08:00
Luke Dashjr
5a5cc6ac09 Sign message description changes discussed in #bitcoin-dev 2012-02-19 22:36:59 -05:00
Pieter Wuille
9fa042a96c Typo fix 2012-02-20 04:17:00 +01:00
Pieter Wuille
3a4d81724e Merge pull request from sipa/fix_856
Make compressed pubkeys require client >=0.5.99
2012-02-19 18:21:19 -08:00
Pieter Wuille
49355d9993 Merge pull request from sipa/fix_650
Fix : CKey::SetSecret BIGNUM leak
2012-02-19 18:04:46 -08:00
Wladimir J. van der Laan
8a949dd6c3 Merge pull request from laanwj/2012_02_hidetrayicononquit
Hide tray icon in destructor, as deleting will let it linger until quit (on ubuntu)
2012-02-19 11:30:32 -08:00
Pieter Wuille
ceaa13eff2 Report number of (dis)connected blocks in reorganization
Also report old and new best, and fork point.
2012-02-19 20:06:04 +01:00
Pieter Wuille
46245b4782 Fix : remove base_uint::operator&=(uint64 b) 2012-02-19 19:12:41 +01:00
Pieter Wuille
a3342d096f Fix : RecvLine wrong error message
Also moved RecvLine to net.cpp.
2012-02-19 19:06:42 +01:00
Pieter Wuille
a09f101f14 Fix : CKey::SetSecret BIGNUM leak 2012-02-19 18:45:56 +01:00
Pieter Wuille
e0b8d459b1 Merge pull request from sipa/bn2mpifix
Workaround for BN_bn2mpi reading/writing out of bounds
2012-02-19 09:22:11 -08:00
Pieter Wuille
59b1b181e9 Merge pull request from sipa/del_pwalletdb
Free pwalletdbEncryption after encryping wallet
2012-02-19 09:05:40 -08:00
Wladimir J. van der Laan
27a0ed8a0a Hide tray icon in destructor, as deleting will let it linger until quit (on Ubuntu) 2012-02-19 12:07:07 +01:00
Pieter Wuille
fcfd7ff8f8 Free pwalletdbEncryption after encryping wallet
Fixes a memory leak.
2012-02-18 15:44:34 +01:00
Pieter Wuille
38067c18f8 Make compressed pubkeys require 0.6.0 2012-02-18 15:42:38 +01:00
Pieter Wuille
9976cf070f Move GenerateNewKey back to CWallet 2012-02-18 15:42:38 +01:00
Pieter Wuille
0b807a417f Add SetMinVersion to CWallet 2012-02-18 15:42:29 +01:00
Pieter Wuille
e9a041c536 Merge pull request from TheBlueMatt/warnings
Fix compilation warning.
2012-02-18 04:56:58 -08:00
Pieter Wuille
a06113b0c5 Workaround for BN_bn2mpi reading/writing out of bounds
When OpenSSL's BN_bn2mpi is passed a buffer of size 4, valgrind
reports reading/writing one byte past it. I am unable to find
evidence of this behaviour in BN_bn2mpi's source code, so it may
be a spurious warning. However, this change is harmless, as only
the bignum with value 0 results in an mpi serialization of size 4.
2012-02-18 13:32:25 +01:00
Wladimir J. van der Laan
2d36b60f92 Merge pull request from laanwj/2012_02_guilanguagearg
Make it possible to set UI language from commandline (implements )
2012-02-18 01:33:56 -08:00
Matt Corallo
db1a5609a0 Fix compilation warning. 2012-02-18 01:22:22 -05:00
Wladimir J. van der Laan
17690ea5a7 Do show/showNormal only when needed. 2012-02-17 23:19:52 +01:00
Wladimir J. van der Laan
328512876a Merge pull request from laanwj/2012_02_qtipc
Restructure IPC URL handling (fixes )
2012-02-17 12:54:07 -08:00
Gavin Andresen
d3a4b85670 Merge branch 'nolisten_bitcoin_conf_2' of https://github.com/dooglus/bitcoin 2012-02-17 13:50:40 -05:00
Gavin Andresen
0a6b081cca Merge branch 'testnetmining' of github.com:gavinandresen/bitcoin-git 2012-02-17 13:48:01 -05:00
Gavin Andresen
25bc37f8a2 Merge branch 'threadid' of https://github.com/sipa/bitcoin 2012-02-17 13:40:42 -05:00
Wladimir J. van der Laan
ec2ed58232 Merge pull request from sje397/BackupWallet
Added 'Backup Wallet' menu option to GUI
2012-02-17 10:30:15 -08:00
Wladimir J. van der Laan
72075edafb Allow setting UI language from commandline (implements ) 2012-02-17 18:47:31 +01:00
Wladimir J. van der Laan
f9f75f320e Only fill in label from address book, if no label is filled in yet, fixes 2012-02-17 18:25:14 +01:00
Wladimir J. van der Laan
a3f3e54eee Change #ifdef GUI to #ifdef QT_GUI, GUI is not defined anymore... 2012-02-17 18:01:01 +01:00
Wladimir J. van der Laan
bc5e6b9f21 On windows, show message box with help, as there is no stderr (fixes ) 2012-02-17 17:55:46 +01:00
Wladimir J. van der Laan
83d1d1a906 Hide window from taskbar when "minimize to tray" active by making window into Tool window 2012-02-17 17:14:02 +01:00
Wladimir J. van der Laan
23b3cf9d10 Restructure IPC URL handling (fixes ) 2012-02-17 15:32:51 +01:00
Wladimir J. van der Laan
39231e9105 don't allow -daemon in bitcoin-qt (changes only #defines) 2012-02-17 14:47:56 +01:00
Wladimir J. van der Laan
d3896211d2 fix typo in CNetAddr::IsRFC4843() (fixes ) 2012-02-17 14:40:21 +01:00
Chris Moore
d64e124cf4 Fix . Allow negative options such as "nolisten=1" in bitcoin.conf as well as on the command line. 2012-02-16 12:08:58 -08:00
Gavin Andresen
0f8cb5db73 Fix issue : broken mining on testnet 2012-02-16 11:37:54 -05:00
Pieter Wuille
b7c25e0c13 Merge pull request from TheBlueMatt/qrcodedoc
Fix one compile-time warning and fix libqrcode linking in releases
2012-02-16 03:50:59 -08:00
Pieter Wuille
c59881eaee Symbolic names for threads
Introduce an enum threadId, and use symbolic indices when accessing
vnThreadsRunning.
2012-02-16 12:43:06 +01:00
Pieter Wuille
999b4cacaf Merge pull request from sipa/shutdownfix
Several shutdown-related fixes
2012-02-16 03:34:11 -08:00
Pieter Wuille
2030fc6bc2 Merge pull request from sipa/checkaf
Do not create CAddress for invalid accepts
2012-02-16 03:31:14 -08:00
Pieter Wuille
711d5038f5 Merge pull request from sipa/fixwalletlock
Fix wallet locking locking
2012-02-16 03:30:26 -08:00
Matt Corallo
7dcd200489 Properly include $*_LIB_PATH in makefile.unix 2012-02-15 16:39:02 -05:00
Matt Corallo
32af6b16f1 Fix compilation warning. 2012-02-15 16:38:57 -05:00
Pieter Wuille
cc201e01f8 Several shutdown-related fixes
* do not let vnThreadsRunning[1] go negative
* do not perform locking operations while vnThreadsRunning[1] is decreased
* check vnThreadsRunning[1] at exit
2012-02-15 21:17:15 +01:00
Pieter Wuille
25ab17585e Bugfix: do not create CAddress for invalid accepts 2012-02-15 20:56:29 +01:00
Wladimir J. van der Laan
303a47c095 fix default suffixes in save dialog in GNOME, make it more clear that PNG is used (solves ) 2012-02-15 17:22:00 +01:00
Wladimir J. van der Laan
c85c37acb1 increase BitcoinAddressValidator::MaxAddressLength from 34 to 35
needed for sending BIP16 transactions on test network through GUI
2012-02-15 17:09:47 +01:00
sje397
4efbda3f25 Added 'Backup Wallet' menu option
- icon from the LGPL Nuvola set (like the tick) - http://www.icon-king.com/projects/nuvola/
- include 'boost/version.hpp' in db.cpp so that the overwrite version of copy can be used
- catch exceptions in BackupWallet (e.g. filesystem_error thrown when trying to overwrite without the overwrite flag set)
- include db.h in walletmodel.cpp for BackupWallet function
- updated doc/assets-attribution.txt and contrib/debian/copyright with copyright info for new icon
2012-02-15 23:29:59 +11:00
Wladimir J. van der Laan
1df182ff88 (trivial) regularize coding style 2012-02-15 13:14:16 +01:00
Wladimir J. van der Laan
15b87b2ec4 Merge pull request from TheBlueMatt/bip21
Add req- prefixes to comply with BIP21.
2012-02-12 05:52:34 -08:00
Wladimir J. van der Laan
d27b4576f3 Add export action to file menu (as long as we have a file menu, export certainly should be there) 2012-02-12 12:54:33 +01:00
Wladimir J. van der Laan
2aa3429899 Merge pull request from laanwj/2012_02_fixminimizetotray
Fix Minimize to the tray instead of the taskbar (rework)
2012-02-12 01:49:18 -08:00
gmaxwell
9f3de58d83 Merge pull request from TheBlueMatt/dpiversionfix
Get ext. IP from UPnP, make sure addrMe IsRoutable() in version.
2012-02-11 15:14:02 -08:00
Pieter Wuille
7c39b56c3b Merge pull request from sipa/fixencrypt
Fix wallet encryption with compressed pubkeys
2012-02-11 15:02:05 -08:00
Pieter Wuille
aa625ed6ed Extra wallet locking fixes
* Fix sign error in calculation of seconds to sleep
* Do not mix GetTime() (seconds) and Sleep() (milliseconds)
* Do not sleep forever if walletlock() is called
* Do locking within critical section
2012-02-11 21:59:39 +01:00
Pieter Wuille
b0529ffd95 Fix wallet locking locking 2012-02-11 21:59:39 +01:00
Pieter Wuille
88bc5f9485 Macros for manual critical sections 2012-02-11 21:59:33 +01:00
Janne Pulkkinen
6af93ee2ea Fix Minimize to the tray instead of the taskbar 2012-02-11 18:24:49 +01:00
Pieter Wuille
cd5ee3bbb4 Fix wallet encryption with compressed pubkeys 2012-02-11 16:42:44 +01:00
Pieter Wuille
402deef944 Fix 2012-02-11 15:25:42 +01:00
Matt Corallo
245484679a Add Bitcoin-Qt test suite with some bitcoin: URL Tests to start. 2012-02-10 17:47:00 -05:00
Matt Corallo
cce89ead18 Add -req prefixes to comply with BIP21. 2012-02-10 17:44:52 -05:00
Wladimir J. van der Laan
26d9e2c19d Merge pull request from laanwj/2012_02_win32_qtaccessible
Enable accessible widgets Qt module on win32
2012-02-10 09:31:21 -08:00
Wladimir J. van der Laan
2e5a781c64 Enable accessible widgets Qt module on win32, so that people with screen readers such as NVDA can make sense of it. 2012-02-10 08:28:32 +01:00
Matt Corallo
baba6e7de2 Get ext. IP from UPnP, make sure addrMe IsRoutable() in version.
This fixes a potential bug where some NATs may replace the node's
interal IP with its external IP in version messages, causing
incorrect checksums when version messages begin being checksummed
on February 14, 2012.
2012-02-10 00:54:11 -05:00
Chris Moore
74f28bf1fd Fix . Only remove transactions from memory pool when they're actually in the memory pool. 2012-02-09 05:21:41 -08:00
Gavin Andresen
882164196e Update all copyrights to 2012 2012-02-07 11:28:30 -05:00
Gavin Andresen
6bf4253a68 Increase client version to 0.6 2012-02-07 11:22:09 -05:00
Gavin Andresen
9d952d17bb Look for flushwallet/listen/irc/dnsseed/upnp instead of noflushwallet/etc. And switch default for irc to 0. 2012-02-07 09:14:31 -05:00
Gavin Andresen
3ad9f8a70f New GetArg features: allow --, and booleans can be -foo or -nofoo 2012-02-07 09:14:31 -05:00
Gavin Andresen
3ae0735553 Unit tests for the GetArg() methods 2012-02-07 09:14:31 -05:00
Gavin Andresen
0b452dff5e Merge branch 'standardScriptSigs' of github.com:gavinandresen/bitcoin-git 2012-02-07 09:04:56 -05:00
Gavin Andresen
7bf8b7c25c -bip16 option (default: 1) to support / not support BIP 16. And bumped default BIP16 switchover date from Feb 15 to Mar 1 2012-02-06 16:27:05 -05:00
Gavin Andresen
0b9a05a2bc Merge branch 'rpcpassword' of https://github.com/gmaxwell/bitcoin 2012-02-06 15:10:30 -05:00
Gavin Andresen
30999ec6f9 Merge branch 'decomposetransfix' of https://github.com/laanwj/bitcoin 2012-02-06 14:50:59 -05:00
Wladimir J. van der Laan
ab07866c8d Restructure credit transaction decomposition (solves issue )
When a transaction has multiple outputs that go to the wallet, list these
as multiple transactions in the UI. This is also applied to generated
(coinbase) transactions. Also makes the code shorter and easier
to understand.
2012-02-06 18:13:01 +01:00
Nils Schneider
9d4b05c0dc fetch translations from transifex
* fixes issue 
* new translations: cs_CZ fa fi fr_FR hr pl ro_RO sv tr
2012-02-05 16:40:27 +01:00
Wladimir J. van der Laan
f69b82e78a Change up/down increment in UI to 0.001 BTC (issue ) 2012-02-05 12:15:16 +01:00
Gregory Maxwell
b04f301c8e Have bitcoind recommend a secure RPC password. Increase invalid password delay.
Help users avoid insecure configurations a bit by recommending a
secure RPC password and increasing the incorrect password delay.

This may open up a RPC DOS for users with exposed RPC ports and
short passwords. Since users shouldn't have exposed RPC ports OR
short passwords, the DOS risk is preferable to the compromise
risk.

Also logs the client IP address for incorrect attempts.
2012-02-05 02:58:35 -05:00
Gregory Maxwell
5d1b8f1725 Avoid advertising the node's address when it is not listening or IsInitialBlockDownload().
This also avoids flushing setAddrKnown until 24 hours has passed,
and avoids contacting the external IP services when not listening.

Advertising non-listening nodes is just addr message spam.
It doesn't help the network, in fact it hurts the network,
and it also hurts user's privacy.

Advertising far out of sync nodes doesn't help the network—
they can't even forward (most) transactions and wastes nodes
outbound slots.
2012-02-01 18:08:03 -05:00
Wladimir J. van der Laan
d2291cce92 Remove loose amp; from Portugese translation (issue ) 2012-02-01 20:14:13 +01:00
Gavin Andresen
8beb917c6c Allow -upnp to override setting in wallet (and simplify logic a bit) 2012-02-01 13:24:15 -05:00
Matt Corallo
177dbcaace Fix UPnP by reannouncing every 20 minutes. 2012-01-31 17:42:15 -05:00
Gavin Andresen
c52296a73e Testnet difficulty calculation changes, to take effect Feb 15 2012
Allow mining of min-difficulty blocks if 20 minutes have gone by without mining a regular-difficulty block.
Normal rules apply every 2016 blocks, though, so there may be a very-slow-to-confirm block at the difficulty-adjustment blocks.
2012-01-31 13:20:01 -05:00
Gavin Andresen
4477b17f15 Merge branch 'checkkeys' of https://github.com/sipa/bitcoin 2012-01-31 12:19:26 -05:00
Gavin Andresen
68649bef93 CreateNewBlock was not adding in transaction fees. 2012-01-28 10:16:21 -05:00
Luke Dashjr
2bc4fd609c Bitcoin-Qt signmessage GUI (pull request ) 2012-01-27 08:41:55 +01:00
Pieter Wuille
91f43a33f8 Full checking of all loaded keys 2012-01-26 19:26:43 +01:00
Wladimir J. van der Laan
70f55355e2 Merge pull request (Full URL Support in bitcoin-qt) 2012-01-26 19:00:02 +01:00
Gavin Andresen
4c932cca6f Merge pull request from sipa/checkkeys
Check consistency of private keys
2012-01-25 05:43:44 -08:00
Gavin Andresen
b6a35d2d52 Merge pull request from gavinandresen/p2shSigOpCount
Simplify counting of P2SH sigops to match BIP 16
2012-01-25 05:21:20 -08:00
Pieter Wuille
b25cc627a3 Check consistency of private keys
Reported by onlineproof on IRC: Bitcoin does not verify whether private
keys and public keys correspond, when loading a wallet.
2012-01-25 03:05:16 +01:00
Gavin Andresen
341519523f Support makefile.osx building test_bitcoin with dynamic boost 2012-01-23 15:58:06 -05:00
Gavin Andresen
2a9b46cf4b Merge branch 'bugfix_shared_boost_test' of https://github.com/luke-jr/bitcoin 2012-01-23 15:16:59 -05:00
Luke Dashjr
34c69036da Rename src/obj/test to src/obj-test to workaround bug in older GNU Make 2012-01-23 14:27:08 -05:00
Gavin Andresen
a702ceaafc Merge branch 'lockcontention' of https://github.com/TheBlueMatt/bitcoin 2012-01-23 13:15:43 -05:00
Gavin Andresen
b8056dc5d0 Merge branch 'bugfix_areinpstd' of https://github.com/luke-jr/bitcoin 2012-01-23 13:09:34 -05:00
Gavin Andresen
149f580c82 Only store transactions with missing inputs in the orphan pool.
All previous versions of bitcoin could store some types of
invalid transactions in the orphan-transaction list.
2012-01-23 12:54:32 -05:00
Gavin Andresen
dc77dce07c Fixed addmultisigaddress if looking up public keys from locked wallets. 2012-01-23 12:04:34 -05:00
Luke Dashjr
ca9afa8401 Bugfix: Support building test_bitcoin with shared-object boost test framework 2012-01-23 11:37:48 -05:00
Matt Corallo
198fb229a4 Add DEBUG_LOCKCONTENTION, to warn each time a thread waits to lock.
If compiled with -DDEBUG_LOCKCONTENTION, Bitcoin will print to
debug.log each time a thread has to wait for a lock to continue.
2012-01-21 16:16:28 -05:00
Luke Dashjr
575bdcde93 Sanitize AreInputsStandard slightly
Correct comment for why the check is unnecessary for coinbases
Move testnet check out, to AcceptToMemoryPool where everything else checks it
2012-01-20 21:00:08 -05:00
Gavin Andresen
137d0685a4 Simplify counting of P2SH sigops to match BIP 16 (thanks to Matt Corallo for prompting this).
This also removes an un-needed sigops-per-byte check when accepting transactions to the memory pool (un-needed assuming only standard transactions are being accepted). And it only counts P2SH sigops after the switchover date.
2012-01-20 17:07:40 -05:00
Gavin Andresen
1240a1b0a8 Back out spacing changes to json spirit code 2012-01-19 14:32:45 -05:00
Gavin Andresen
7012b124bc Merge branch 'updateseednodes' of https://github.com/nanotube/bitcoin 2012-01-19 14:23:49 -05:00
Gavin Andresen
c55fd06b99 Merge branch 'tabs-to-space' of https://github.com/larsr/bitcoin 2012-01-19 14:22:26 -05:00
Gavin Andresen
aacefd2795 Merge branch 'getmemorypool_blockflagstime' of https://github.com/forrestv/bitcoin 2012-01-19 14:14:41 -05:00
Gavin Andresen
39f0d96860 Make transactions with extra data in their scriptSig's non-standard. 2012-01-19 13:30:54 -05:00
Daniel Folkinshteyn
b2f76e9ded Update seednodes, pick long-uptime nodes with version >= 0.4.0 2012-01-19 01:54:14 -05:00
Wladimir J. van der Laan
06706ab8ef Remove erroneous ":" in front of port in options dialog (introduced with network refactor) 2012-01-17 09:34:24 +01:00
Wladimir J. van der Laan
be4d08b261 fix the build (port IP validation in options to network refactoring) 2012-01-17 09:27:03 +01:00
Wladimir J. van der Laan
b2a967cd0b Revert to global progress indication (see ) 2012-01-17 09:19:58 +01:00
Pieter Wuille
c981d768b3 Fix handling of default ports 2012-01-17 02:12:35 +01:00
Gavin Andresen
8498c59144 Merge branch 'keepnode' of https://github.com/TheBlueMatt/bitcoin 2012-01-16 16:45:43 -05:00
Forrest Voight
ab84512258 Added mintime and curtime to RPC getmemorypool 2012-01-14 19:23:37 -05:00
Forrest Voight
52a3d2635c Separated COINBASE_FLAGS out into main.h and made RPC getmemorypool return it 2012-01-14 19:22:24 -05:00
Janne Pulkkinen
29b7273153 *Clear all has a tooltip now *About dialog updated 2012-01-14 21:31:49 +02:00
Lars Rasmusson
b985efaac1 Replace tabs with four spaces to comply with coding standard in doc/coding.txt 2012-01-14 12:14:36 +01:00
Gavin Andresen
9e8818ec9d Remove base58 encoding from validateaddress/addmultisigaddress
base58-encoding of full/compressed public keys needs more thought; it probably makes sense to define a base58 encoding that includes a version byte and a checksum. So just support hex and bitcoin-address encodings for now.
2012-01-13 10:22:24 -05:00
Gavin Andresen
4063460534 Refactor: needing to call ConnectInputs to process coinbase transactions was counter-intuitive 2012-01-13 10:22:24 -05:00
Gavin Andresen
8d7849b6db Refactored ConnectInputs, so valid-transaction-checks are done before ECDSA-verifying signatures. 2012-01-13 10:22:24 -05:00
Gavin Andresen
922e8e2929 Replace OP_EVAL (BIP 12) with Pay-to-script-hash (BIP 16). 2012-01-13 10:22:23 -05:00
Gavin Andresen
d11a58a2d3 Remove not-used-anywhere scriptPrereq from SignSignature() 2012-01-13 10:20:42 -05:00
Gavin Andresen
f290a649f9 Merge branch 'getmininginfo' of https://github.com/luke-jr/bitcoin 2012-01-13 10:06:05 -05:00
Matt Corallo
10ba0a3efc Minor code cleanup to use fHaveUPnP instead of #ifdef 2012-01-12 22:13:16 -05:00
Matt Corallo
b24e6e4d1b Add -keepnode which attempts to -addnode and keep a connection open 2012-01-12 22:13:16 -05:00
Gavin Andresen
a1de57a063 Compile with extra warnings turned on. And more makefile/code tidying up.
This turns on most gcc warnings, and removes some unused variables and other code that triggers warnings.
Exceptions are:
 -Wno-sign-compare : triggered by lots of comparisons of signed integer to foo.size(), which is unsigned.
 -Wno-char-subscripts : triggered by the convert-to-hex functions (I may fix this in a future commit).
2012-01-12 20:02:47 -05:00
Luke Dashjr
340f0876ea collect more info on tx pooling and block finding for getmininginfo 2012-01-12 19:47:39 -05:00
Luke Dashjr
6950bb6200 Add new "getmininginfo" JSON-RPC method, with mining-only fields moved out of "getinfo" 2012-01-12 19:47:23 -05:00
Gavin Andresen
025d495481 Remove broken Visual C++ makefile.vc, and removed annoying HEADERS= list from other makefiles 2012-01-12 16:55:44 -05:00
Gavin Andresen
3f64fa1369 Merge pull request from gavinandresen/blocknotify
-blocknotify : run a command when best-block changes
2012-01-12 06:31:25 -08:00
Pieter Wuille
afcf6f974f Merge pull request from sipa/comprpubkey
Compressed pubkeys
2012-01-10 13:23:51 -08:00
Wladimir J. van der Laan
b43eaa5508 Merge pull request from luke-jr/qt_txnid
Qt: Show transaction ID in details
2012-01-10 11:51:55 -08:00
Luke Dashjr
ebf9065c22 Qt: Show transaction ID in details 2012-01-10 13:25:05 -05:00
Pieter Wuille
a4902c9e7c Remove unused definition 2012-01-09 23:39:26 +01:00
Gavin Andresen
2e555237d3 Merge pull request from laanwj/tdesc_ro
make transaction description read-only (UI fix)
2012-01-09 07:59:18 -08:00
Pieter Wuille
b3974ec9d4 Unit tests for EC key routines
This tests:
* creation of keys from base58-encoded strings
* extracting public keys and addresses
* compressed public keys
* compact signatures and key recovery
2012-01-09 15:18:19 +01:00
Pieter Wuille
d4d9c734c3 Compact signatures with compressed pubkeys 2012-01-09 15:18:19 +01:00
Pieter Wuille
11529c6e4f Compressed pubkeys
This patch enabled compressed pubkeys when -compressedpubkeys is passed.
These are 33 bytes instead of 65, and require only marginally more CPU
power when verifying. Compressed pubkeys have a different corresponding
address, so it is determined at generation. When -compressedpubkeys is
given, all newly generated addresses will use a compressed key, while
older/other addresses keep using normal keys. Unpatched clients will
relay and verify these transactions.
2012-01-09 15:18:19 +01:00
Pieter Wuille
67a42f929b Network stack refactor
This introduces CNetAddr and CService, respectively wrapping an
(IPv6) IP address and an IP+port combination. This functionality used
to be part of CAddress, which also contains network flags and
connection attempt information. These extra fields are however not
always necessary.

These classes, along with logic for creating connections and doing
name lookups, are moved to netbase.{h,cpp}, which does not depend on
headers.h.

Furthermore, CNetAddr is mostly IPv6-ready, though IPv6
functionality is not yet enabled for the application itself.
2012-01-06 18:55:37 +01:00
Wladimir J. van der Laan
7453497ee4 make transaction description read-only (UI fix) 2012-01-06 06:57:14 +01:00
Matt Corallo
7d145a0f59 Add support for opening bitcoin: URIs directly. 2012-01-05 00:29:28 -05:00
Matt Corallo
9a93c4c024 Automatically refocus on new SendCoinsEntrys and scroll to them. 2012-01-05 00:29:28 -05:00
Matt Corallo
f7a9a11391 Fix horrific performance found by gmaxwell. 2012-01-04 19:46:16 -05:00
Gavin Andresen
d237f62c23 -blocknotify=command argument, implemented using system() and boost::thread 2012-01-03 15:48:59 -05:00
Gavin Andresen
96d3bcb996 Merge pull request from laanwj/txshowfix
Fix transaction type in UI
2012-01-03 09:24:54 -08:00
Gavin Andresen
af8c56f8be Merge branch 'getblock' 2012-01-03 12:16:56 -05:00
Gavin Andresen
8677f9c751 I broke -testnet with my TOR option-parsing fixes. 2012-01-03 11:17:24 -05:00
Gavin Andresen
112b0e97d4 Merge pull request from laanwj/typo734fix
Fix typo ()
2012-01-03 07:54:38 -08:00
Gavin Andresen
73e86eedd5 Merge branch 'bugfix_multisig' of https://github.com/coderrr/bitcoin 2012-01-03 10:23:20 -05:00
Gavin Andresen
daad9a9a71 Merge branch 'gitianfix' of https://github.com/TheBlueMatt/bitcoin 2012-01-03 10:22:24 -05:00
Gavin Andresen
0fcf91ea1e Fix issue , and cleanup wallet/command-line argument handling a bit 2012-01-03 10:17:28 -05:00
Wladimir J. van der Laan
ecaa91d1df Fix typo () 2012-01-03 11:57:24 +01:00
Pieter Wuille
a75d7066b8 Fix some address-handling deadlocks
Made three critical blocks for cs_mapAddresses smaller, and moved
writing to the database out of them. This should also improve the
concurrency of the code.
2012-01-03 02:01:56 +01:00
coderrr
6ec76ca09e make sure IsMine only returns true when we own all keys 2012-01-03 06:24:52 +07:00
Wladimir J. van der Laan
56c6e3696d Fix transaction type in UI: not all tx'es with "from"/"to" field are necessarily IP tx'es
- Also, prepare for OP_EVAL by calling all transactions without bitcoin address "SendToOther"/"RecvFromOther",
 (IP tx'es are so rare they can be put together with funky EV_EVAL scripts)
2011-12-28 11:14:05 +01:00
Gavin Andresen
625b56de64 Merge branch 'opevalcountfix' of https://github.com/laanwj/bitcoin 2011-12-27 16:42:29 -05:00
Gavin Andresen
6d6d392b22 Fixed OP_EVAL recursion unit test, checks for both infinite and exactly-3-deep recursion 2011-12-27 16:41:56 -05:00
Wladimir J. van der Laan
89772f932a Fix OP_EVAL recursion depth counting 2011-12-27 10:02:28 +01:00
Gavin Andresen
61977f956c Check all prevout.n if one transaction provides multiple inputs 2011-12-25 10:32:05 -05:00
Gavin Andresen
60835d9627 assert condition in previous commit was backwards 2011-12-25 10:08:01 -05:00
Gavin Andresen
6996a9d713 Check for valid prevout.n in FetchInputs.
IsStandardInputs could crash if given invalid input index.
2011-12-25 08:45:09 -05:00
Matt Corallo
56690a69d6 No reason to have any qrcode stuff in the bitcoind osx makefile. 2011-12-23 15:28:35 -08:00
Gavin Andresen
fe358165e3 Be more conservative: check all transactions in blocks after last checkpoint. 2011-12-23 17:13:10 -05:00
Gavin Andresen
8a53cb0b9d New RPC commands: getblockhash and getblock 2011-12-23 16:26:38 -05:00
Wladimir J. van der Laan
c58e7d4e01 Copy amount to clipboard (implements )
- Also, unify similar code related to copying transaction fields to clipboard
2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
c4a4a4b886 Add context menu for address book page (implements part 1 of issue ) 2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
e073457191 Move HtmlEscape (escape for qt rich text controls) to qt gui utilities 2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
c75abc9f7e Comments update 2011-12-23 12:07:23 +01:00
Wladimir J. van der Laan
96b1e085c3 Merge pull request from sje397/master
QR Code generation via libqrencode
2011-12-23 02:50:28 -08:00
Gavin Andresen
2e17ac83c6 Fix broken ExtractAddress (refactored, made callers check for addresses in keystore if they care) 2011-12-22 15:57:31 -05:00
Gavin Andresen
ce336fdc21 Back out testnet default address change, it breaks accounts on old wallets. 2011-12-22 15:56:45 -05:00
Wladimir J. van der Laan
bde280b9a4 Revert "Use standard C99 (and Qt) types for 64-bit integers"
This reverts commit 21d9f36781.
2011-12-21 22:33:19 +01:00
Luke Dashjr
21d9f36781 Use standard C99 (and Qt) types for 64-bit integers 2011-12-20 16:52:59 -05:00
Gavin Andresen
781c06c0f5 Merge pull request from luke-jr/minfee_modes
API: GetMinFee modes
2011-12-20 13:09:18 -08:00
Gavin Andresen
595925592d Merge branch 'op_eval' 2011-12-20 14:43:31 -05:00
Gavin Andresen
f06e3e0ea6 Merge pull request from TheBlueMatt/installerqtupgrade
Implement "Start on window system startup" on Win32 + Linux.
2011-12-20 11:42:53 -08:00
Matt Corallo
f18a119ac0 Implement "Start on window system startup" on Win32 + Linux. 2011-12-20 13:51:06 -05:00
Gavin Andresen
77f21f1583 include util.h to get SecureString definition. 2011-12-20 12:21:47 -05:00
Gavin Andresen
0e87f34bed Include limits, not climints (using std::numeric_limits now) 2011-12-20 12:04:33 -05:00
Gavin Andresen
387c8e3c5b Merge pull request from mndrix/less-time-data
Store fewer time samples
2011-12-20 08:55:55 -08:00
sje397
22123c85f3 Added QRCode generation functions via libqrencode. Switch on with USE_QRENCODE=1.
Amended build docs for Linux and OSX, and OSX makefile.
Added package 'qrencode' to gitian.yml
2011-12-20 22:11:24 +11:00
Gavin Andresen
9ef7fa3447 Code cleanup: use ECDSA_size() instead of fixed 10,000 byte sig buffer, and explicity init static var 2011-12-19 19:10:34 -05:00
Gavin Andresen
26ce92b352 Use std::numeric_limits<> for typesafe INT_MAX/etc 2011-12-19 19:10:34 -05:00
Gavin Andresen
bd846c0e56 Cleanup: removed dead code, and use C99 typedefs for int64 (supported by all modern c++ compilers) 2011-12-19 19:10:34 -05:00
Gavin Andresen
3528650560 Merge pull request from runeksvendsen/qt-cmdline-options-parsing
When using Qt GUI, move parameter-parsing to start of qt/bitcoin.cpp:main()
2011-12-19 12:23:00 -08:00
Gavin Andresen
bafb43d6c1 Merge branch 'txn_block_info' of https://github.com/luke-jr/bitcoin 2011-12-19 15:14:22 -05:00
Gavin Andresen
9e470585b3 Update bitcoin address numbers for latest luke-jr/sipa scheme 2011-12-19 13:24:51 -05:00
Gavin Andresen
be237c119e Fix logic for IsChange() for send-to-self transactions. 2011-12-19 13:24:49 -05:00
Gavin Andresen
2a45a494b0 Use block times for 'hard' OP_EVAL switchover, and refactored EvalScript
so it takes a flag for how to interpret OP_EVAL.
Also increased IsStandard size of scriptSigs to 500 bytes, so
a 3-of-3 multisig transaction IsStandard.
2011-12-19 13:24:48 -05:00
Gavin Andresen
a0871afb2b Interpret OP_EVAL as OP_NOP until Feb 1, 2012 2011-12-19 13:24:48 -05:00
Gavin Andresen
fae3e2aab6 Disable addmultisigaddress if not testnet 2011-12-19 13:24:48 -05:00
Gavin Andresen
d7062ef1bd Put OP_EVAL string in coinbase of generated blocks 2011-12-19 13:24:48 -05:00
Pieter Wuille
3ae65166b5 add key.o and rpcdump.o to makefile.linux-mingw 2011-12-19 19:20:53 +01:00
Gavin Andresen
e679ec969c OP_EVAL implementation
OP_EVAL is a new opcode that evaluates an item on the stack as a script.
It enables a new type of bitcoin address that needs an arbitrarily
complex script to redeem.
2011-12-19 12:40:19 -05:00
Gavin Andresen
cc40ba2151 Global fixture to send output to console instead of debug.log 2011-12-19 12:40:19 -05:00
Gavin Andresen
bf798734db Support 3 new multisignature IsStandard transactions
Initial support for (a and b), (a or b), and 2-of-3 escrow
transactions (where a, b, and c are keys).
2011-12-19 12:40:19 -05:00
Gavin Andresen
1466b8b78a Rework unit tests so test_bitcoin.cpp does not #include them all 2011-12-19 12:39:47 -05:00
Gavin Andresen
7e55c1ab65 Collapse no-op ExtractAddress/ExtractAddressInner 2011-12-19 12:39:47 -05:00
Gavin Andresen
99a289f531 Merge pull request from sipa/dumpprivkey
Dumpprivkey
2011-12-19 07:27:25 -08:00
Gavin Andresen
fc90967876 Merge pull request from laanwj/about_qt
Add "About Qt" menu option to show built-in Qt About dialog
2011-12-19 07:26:14 -08:00
Gavin Andresen
1f3bc1c239 Merge pull request from gavinandresen/BIP14
Implement BIP 14 : separate protocol version from client version
2011-12-19 07:25:16 -08:00
Gavin Andresen
f8ded588a2 Implement BIP 14 : separate protocol version from client version 2011-12-19 10:24:23 -05:00
Gavin Andresen
cd2b8832fd Merge pull request from luke-jr/newdnsseeds
New DNS seeds
2011-12-19 07:12:30 -08:00
Pieter Wuille
95d888a6d1 Key import and export
Introduces two new RPC calls:
* dumpprivkey: retrieve the private key corresponding to an address
* importprivkey: add a private key to your wallet

The private key format is analoguous to the address format. It is
a 51-character base58-encoded string, that includes a version number
and a checksum.

Includes patch by mhanne:
* add optional account parameter for importprivkey, if omitted use default
2011-12-17 21:49:48 +01:00
Pieter Wuille
30ab2c9c46 Preparations for key import/export 2011-12-17 21:49:48 +01:00
Pieter Wuille
15a8590ecf CBitcoinSecret added (base58 encoded privkey) 2011-12-17 21:49:48 +01:00
Pieter Wuille
93db3fceac Add GetSecret() and GetKeys() to CKeyStore 2011-12-17 21:49:47 +01:00
Pieter Wuille
4c6e22953e Make CWalletTx::pwallet private 2011-12-17 21:49:47 +01:00
Luke Dashjr
cce16fdc68 Add blockhash and blockindex to transaction info 2011-12-16 19:05:41 -05:00
Luke Dashjr
647734881c Add my DNS seed domain 2011-12-16 18:34:47 -05:00
Gavin Andresen
6e39e7c9b3 Move more newlines out of strings, and fix translations. 2011-12-16 17:13:45 -05:00
Gavin Andresen
ab6c45372c Merge branch 'fix-help-translations' of https://github.com/tcatm/bitcoin 2011-12-16 16:37:24 -05:00
Gavin Andresen
8896c2d9d6 Bump version 0.5.99 (prep for pulling for version 0.6) 2011-12-16 12:31:59 -05:00
Matt Corallo
61a8c0569e Add sipa's new dnsseed. 2011-12-16 11:30:36 -05:00
Luke Dashjr
dbbf1d4a48 GetMinFee takes a mode parameter (GMF_{BLOCK,RELAY,SEND}) instead of fForRelay 2011-12-14 01:07:43 -05:00
Luke Dashjr
a880b29cab Bugfix: fForRelay should be false when deciding required fee to include in blocks
During the rushed transition from 0.01 BTC to 0.0005 BTC fees, we took the
approach of dropping the relay and block-inclusion fee to 0.0005 BTC
immediately, and only delayed adjusting the sending fee for the next release.
Afterward, the relay fee was lowered to 0.0001 BTC to avoid having the same
problem in the future. However, the block inclusion code was left setting
fForRelay to true! This fixes that, so the lower 0.0001 BTC allowance is (as
intended) only permitted for real relaying.
2011-12-14 01:06:21 -05:00
Matt Corallo
7ca47cece7 Fix status bar not displaying Alerts. 2011-12-13 15:29:17 -05:00
Wladimir J. van der Laan
01ea41b203 Add "About Qt" menu option to show built-in Qt About dialog
- Most Qt programs do this, and it can be useful to find out what version of Qt was built against.
2011-12-13 17:35:17 +01:00
Wladimir J. van der Laan
857aa73783 Enable wordwrap for long message in passphrase dialog
- Remove explicit resizing from constructor to prevent potential hang
2011-12-13 16:32:25 +01:00
Nils Schneider
43421af2e4 move \\n outside _() in --help 2011-12-13 06:46:37 +01:00
Gavin Andresen
5491c310a6 Merge commit '7298ebb' 2011-12-12 15:03:16 -05:00
Nils Schneider
1d8b4cd544 added translations: pt_BR zh_CN 2011-12-12 20:56:34 +01:00
Nils Schneider
7ad4ca9c17 updated translations: es es_CL nb ru 2011-12-12 20:53:18 +01:00
Gavin Andresen
ca287d66f2 Merge pull request from luke-jr/restore_old_miniupnp_compat
Restore compatibility with miniupnpc 1.5 (without breaking miniupnp 1.6)
2011-12-12 11:32:48 -08:00
Luke Dashjr
94b97046fd Restore compatibility with miniupnpc 1.5 (without breaking miniupnp 1.6) 2011-12-10 11:52:50 -05:00
Wladimir J. van der Laan
45198af2be Prevent window from being shown momentarily when using -min
- In a previous patch, show() was added to all the page switcher functions. As the contructor calls showOverviewPage(), this means the window is shown in the constructor.
- This change prevents this by connecting show() to the signal instead.
2011-12-09 22:41:19 +01:00
Rune K Svendsen
4dba26620c When using Qt GUI, move parameter-parsing to start of qt/bitcoin.cpp:main() 2011-12-09 19:19:27 +01:00
Gavin Andresen
8848a70ba1 Merge pull request from laanwj/cmdline_minimize
Implement -min option to start minimized
2011-12-05 07:53:15 -08:00
Wladimir J. van der Laan
7915370cb9 Implement -min option to start minimized 2011-12-04 10:03:57 +01:00
Gavin Andresen
43ae68b5ef Merge pull request from TheBlueMatt/dnsseed-thread
Move DNS Seed lookup to a new thread.
2011-12-02 07:09:41 -08:00
Michael Hendricks
1c4aab926e Retain only the most recent time samples
Remembering all time samples makes nTimeOffset slow to respond to
system clock corrections.  For instance, I start my node with a system
clock that's 30 minutes slow and run it for a few days.  During that
time, I accumulate 10,000 offset samples with a median of 1800
seconds.  Now I correct my system clock.  Without this change, my node
must collect another 10,000 samples before nTimeOffset is correct
again.  With this change, I must only accumulate 100 samples to
correct the offset.

Storing unlimited time samples also allows an attacker with many IP
addresses (ex, a large botnet) to perform a memory exhaustion attack
against Bitcoin nodes.  The attacker sends a version message from each
IP to his target, consuming more of the target's memory each time.
Time samples are small, so this attack might be impractical under the
old code, but it's impossible with the new code.
2011-12-01 17:28:14 -07:00
Michael Hendricks
5e1ddc4210 Only log time samples in debug mode
The full list of time samples is rarely useful outside of debugging.
The node's time offset, however is useful for discovering local clock
drift, so it's displayed in all logging modes.
2011-12-01 17:28:14 -07:00
Gavin Andresen
173efb1865 Merge pull request from gavinandresen/rpcauth_speedup
Speed up RPC authentication (reworked pull from Joel Katz)
2011-12-01 13:01:59 -08:00
Gavin Andresen
f81ce5bd6d Speed up RPC authentication (reworked pull from Joel Katz) 2011-12-01 15:55:25 -05:00
Gavin Andresen
10fd7f6689 Orphan block fill-up-memory attack prevention 2011-12-01 13:53:38 -05:00
Gavin Andresen
eb5fff9e16 Moved checkpoints out of main, to prep for using them to help prevent DoS attacks 2011-12-01 12:18:50 -05:00
Gavin Andresen
a7120a3647 Merge pull request from nobled/secstrings
Implement an mlock()'d string class for storing passphrases
2011-11-30 17:30:54 -08:00
Gavin Andresen
0305f60cad Merge pull request from laanwj/homeaddricons
Make home and addressbook icon more consistent with other toolbar icons
2011-11-30 17:28:13 -08:00
Gavin Andresen
e1b1055b46 Add missing command-line arguments to --help/-? output 2011-11-27 14:53:30 -05:00
Matt Corallo
2bc6cecebb Move DNS Seed lookup to a new thread. 2011-11-26 14:28:46 -05:00
Wladimir J. van der Laan
24911ac65d Make home and addressbook icon more consistent with other toolbar icons (make it blue and flip light source direction) 2011-11-26 10:10:22 +01:00
Dylan Noblesmith
94f778bdeb Implement an mlock()'d string class for storing passphrases
SecureString is identical to std::string except with secure_allocator
substituting for std::allocator. This makes casting between them
impossible, so converting between the two at API boundaries requires
calling ::c_str() for now.
2011-11-26 06:02:04 +00:00
Wladimir J. van der Laan
d8b8640863 allow for filtering addresses and labels by searching for the typed string anywhere, not just at the beginning () 2011-11-24 20:20:01 +01:00
Nils Schneider
b790077c37 update translation: de 2011-11-24 13:40:32 +01:00
Nils Schneider
8787ee699c add translations: hu uk 2011-11-24 13:36:30 +01:00
Alex B
e92e97f1ee Small fixes in both spanish translations 2011-11-24 12:32:19 +01:00
Nils Schneider
50aa850fc8 update translations: da de nl ru zh_TW 2011-11-22 13:01:07 +01:00
Nils Schneider
4b53cff901 add italian translation 2011-11-22 13:00:49 +01:00
Gavin Andresen
42eb76a054 Merge pull request from wowus/master
Cleaned up critical section code.
2011-11-21 11:33:14 -08:00
Gavin Andresen
92979f8288 Merge pull request from laanwj/doxygen
Add doxygen documentation
2011-11-21 11:31:57 -08:00
Gavin Andresen
0310cd6403 Merge pull request from mndrix/deprecate-getblocknumber
Deprecate RPC getblocknumber
2011-11-21 11:31:42 -08:00
Gavin Andresen
67c454c67c Bump version to 0.5.1 2011-11-21 13:38:38 -05:00
Luke Dashjr
a3c675d1a3 Bugfix: only make QListView transparent, not its tooltips 2011-11-21 12:18:15 -05:00
Pieter Wuille
f53c5ede73 close old db when rewriting 2011-11-20 11:17:41 -05:00
Gavin Andresen
b2d3b2d65d Never remove database files on shutdown, it caused unreadable wallets on some testers' machines. 2011-11-20 10:39:01 -05:00
Gavin Andresen
1c15f88653 Only remove database log files on shutdown after wallet encryption/rewrite 2011-11-17 14:21:32 -05:00
Gavin Andresen
37971fcc76 Create new keypool for newly encrypted wallets. 2011-11-17 14:01:25 -05:00
Gavin Andresen
c4de918478 Tweak handling of boost filesystem versions 2011-11-15 14:30:24 -05:00
Gavin Andresen
8d0923109d Fix crash-on-osx-on-shutdown bug. And cleanup CDB handling in Rewrite. 2011-11-15 14:30:24 -05:00
Gavin Andresen
709c1b267f Fix boost filesystem incompatibility problem 2011-11-15 09:47:29 -05:00
Wladimir J. van der Laan
4585f7e2c1 add message about restarting bitcoin after encrypting wallet succesfully 2011-11-15 09:30:16 -05:00
Gavin Andresen
d764d9161e Obsolete keypool and make sure database removes log files on shutdown. 2011-11-15 09:30:16 -05:00
Pieter Wuille
9e9869d0fe Resilvering 2011-11-14 09:59:22 -05:00
Gavin Andresen
e6a729d2d8 Merge pull request from luke-jr/free_icons
Free icons
2011-11-14 06:57:46 -08:00
Gavin Andresen
88a1b89452 Merge pull request from laanwj/qtrpcconflict
RPC: do not launch Shutdown in a new thread in case we are running the UI
2011-11-14 06:56:57 -08:00
Wladimir J. van der Laan
af836ad588 Improve documentation for UI classes 2011-11-13 14:12:44 +01:00
Wladimir J. van der Laan
66112ed6e6 Example documented class 2011-11-13 11:43:23 +01:00
Wladimir J. van der Laan
405ce5a876 Add model null pointer check (solves issue and https://github.com/laanwj/bitcoin-qt/issues/29)
Missed this one before, which can be triggered in race condition if window event arrives before model is set
2011-11-13 08:50:58 +01:00
Wladimir J. van der Laan
19197d5e29 Do not launch Shutdown in a new thread in case we are running the UI.
This leads to the bitcoin core being shut down while the UI is accessing it, and generally results in a segmentation fault or crash. In case it is desirable to make it possible to shutdown the GUI from its RPC server, we'll need to implement a signal for it. For the mean time, this is a safe stopgap.
2011-11-12 14:14:27 +01:00
Michael Hendricks
29c8b9416d Deprecate RPC getblocknumber
This RPC is exactly identical to getblockcount.  This duplication
dates back to commit 22f721dbf2 when
Satoshi created the RPC interface.

There's no need to have both, so we standardize on "count" which
matches the naming convention in getconnectioncount.

Following the tradition established with previously deprecated APIs,
getblocknumber continues to work, but it's not listed in the help
system.
2011-11-11 10:13:36 -07:00
Luke Dashjr
0fe19a3a2c Replace kfm_home with go-home for "overview" 2011-11-11 11:11:07 -05:00
Luke Dashjr
81dd7aa4c1 Replace icons with Nuvola (LGPL 2.1): some (but not all) GPL-licensed 2011-11-10 12:59:01 -05:00
Luke Dashjr
5a7321562d Replace icons with Nuvola (LGPL 2.1): all non-free except for those by Wladimir van der Laan (who will hopefully relicense) 2011-11-10 12:48:31 -05:00
Gavin Andresen
ba1fce94b5 Merge branch 'nullmodels' of https://github.com/laanwj/bitcoin 2011-11-10 10:30:24 -05:00
Wladimir J. van der Laan
90b5aadf56 Merge pull request from sipa/docs
Some extra comments
2011-11-08 23:39:41 -08:00
Wladimir J. van der Laan
dead0ff8cd Add robustness against null models 2011-11-08 21:18:36 +01:00
Wladimir J. van der Laan
9bc9593df5 Fix segmentation fault when editing address not in address book (issue ) 2011-11-08 19:54:16 +01:00
Nils Schneider
e1739cbf38 merged translations from transifex: da de es es_CL nb nl ru zh_TW 2011-11-08 14:51:28 +01:00
Pieter Wuille
d825e6a31b Some extra comments 2011-11-07 00:11:34 +01:00
Ang Iong Chun
1615c14756 add zh_TW locale 2011-11-06 10:26:11 +08:00
Wladimir J. van der Laan
81a28d7a6f Merge pull request from dooglus/add-english-translation
Add English translation to fix plural(s).
2011-11-04 13:15:42 -07:00
Chris Moore
2989b462a5 Add English translation to fix plural(s). 2011-11-04 13:04:49 -07:00
Gavin Andresen
8c69b6621c Merge git://github.com/p2k/bitcoin-qt 2011-11-03 11:06:57 -04:00
Clark Gaebel
f873b84d6e Added simple critical section test cases. 2011-11-02 18:10:41 -04:00
p2k
6eaa1b36fc Mac Deployment Script
See notes.txt in contrib/macdeploy.

Also added a dash to the application name in src/qt/bitcoin.cpp
2011-11-02 14:58:50 +01:00
Clark Gaebel
3083cf100a Cleaned up the critical section macros. 2011-11-02 04:33:55 -04:00
Jeff Garzik
02d630c37f Remove vladimir's DNS seed, at his request. 2011-10-31 12:42:01 -04:00
Wladimir J. van der Laan
8d3e1becf0 Save translators some work
- Remove duplicate translation strings (that somehow came from old wx UI and ended up in bitcoinstrings.cpp)
2011-10-29 23:09:58 +02:00
Matt Corallo
472bbb750c Update openssl to 1.0.0e. 2011-10-25 11:54:46 -04:00
Matt Corallo
5f2e76b8c7 Optionally include additional QT plugins when required to build. 2011-10-25 11:51:34 -04:00
Matt Corallo
0767e69199 Add returns to avoid annoying compile-time warnings. 2011-10-25 11:40:59 -04:00
Matt Corallo
25a9a1f62b Only define __STDC_LIMIT_MACROS if not already defined. 2011-10-25 11:39:17 -04:00
Gavin Andresen
d760b5c979 Merge pull request from cjdelisle/hardening-bug-workaround
Added a workaround for an Ubuntu bug which causes -fstack-protector-all t
2011-10-24 11:29:32 -07:00
Wladimir J. van der Laan
5c92622ad6 Translation lookup logic improvements
- use wildcard for TRANSLATIONS in bitcoin-qt.pro to automatically build all translations present in src/qt/locale (thanks @tcatm)
- first load translations/<language>.qm, then translations/<language>_<TERRITORY>.qm, so that territory-specific translations take precedence, but the fallback is on the base language if no territory-specific translation exists.
2011-10-23 13:42:11 +02:00
Wladimir J. van der Laan
3a30f34f1a Revert "translation fixes"
This reverts commit f86ecd4a06.
2011-10-23 11:20:39 +02:00
Wladimir J. van der Laan
f86ecd4a06 translation fixes
- use wildcard for TRANSLATIONS in bitcoin-qt.pro to automatically build all translations present in src/qt/locale (thanks @tcatm)
- rename language files to the usual <lang>_<TERRITORY>
- include recently added language files for es_ES and nb_NO
2011-10-23 10:35:00 +02:00
Nils Schneider
38a9edba20 update translations: nb, es_CL (from transifex) 2011-10-22 23:21:03 +02:00
Nick Bosma
7298ebb432 Added Caps Lock check and warning at askpassphrasedialog. 2011-10-18 16:07:52 +02:00
cjdelisle
1e5f939381 Added a workaround for an Ubuntu bug which causes -fstack-protector-all to be disregarded. 2011-10-16 20:38:23 -04:00
Wladimir J. van der Laan
b68a8a6b34 Merge pull request from laanwj/qt3
More Qt GUI updates
- Make USE_SSL qmake build flag actually work
- Improve mac experience, general UI improvements
- Add keyboard shortcut to switch between tabs
2011-10-15 08:33:10 -07:00
Wladimir J. van der Laan
fbea7eca65 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-10-11 21:07:09 +02:00
Gavin Andresen
755e2819b0 Merge pull request from luke-jr/bitcoind_build_improvements
Allow users to customize CXX, CXXFLAGS, and LDFLAGS normally
2011-10-10 13:57:47 -07:00
Gavin Andresen
e44a00ae0d bitcoind does not need to link with gthread-2.0 2011-10-10 16:03:14 -04:00
Luke Dashjr
a1e0bb5a09 Allow users to customize CXX, CXXFLAGS, and LDFLAGS normally 2011-10-10 13:42:43 -04:00
Gavin Andresen
e99b8eae65 Merge pull request from paraipanakos/master
Spanish translation for new qt gui
2011-10-10 08:20:53 -07:00
Gavin Andresen
ab877a2dde Merge pull request from luke-jr/bitcoind_build_improvements
bitcoind build improvements
2011-10-10 08:20:28 -07:00
Gavin Andresen
b50ac8f73e Mac OSX release process changes
Rename App Bundle "Bitcoin-Qt.app" instead of "Bitcoin Qt" for
consistency with Windows/Linux.
Update create_osx_dmg.sh script to use macdeployqt tool.
Add ifdef STATIC to makefile.osx to build bitcoind static or dynamic.
2011-10-10 11:13:32 -04:00
Alex B
53f21f6ee7 Added Spanish translation for qt 2011-10-09 23:54:07 +02:00
Wladimir J. van der Laan
d85f245800 Add alt-1..alt-5 shortcut to switch between tabs 2011-10-09 21:40:03 +02:00
p2k
527137e3ee Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
Now it can't be told if this is was a Windows App before. All Mac design principles are fulfilled and some cosmetics have been applied to suit the native look and feel. The biggest change there is the proper use of the Dock icon which takes the role of the Tray icon on Mac.

The QDoubleSpinBox improves entering of Bitcoin amounts, no two separate fields are required anymore. All functionality and validation effects have been retained; pressing the comma key will be internally translated to a period to keep it consistent throughout the application and eases entering in countries which use the comma as decimal separator.

Additionally, Notificator now supports Growl, Mac's native notification system. This is provided via Apple Script in order to avoid linking to Growl on compile time. Other changes involve encapsulation of Toolbar and Menubar creation, loading of Qt's own translation and some clean up.
2011-10-09 21:19:44 +02:00
Wladimir J. van der Laan
d934e7e3dd Make "Quit" menu saner
- Use 'x' for Exit shortcut
- Set Ctrl-Q as global quit key sequence
2011-10-09 21:06:28 +02:00
Wladimir J. van der Laan
8828da5f56 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-10-09 20:26:40 +02:00
Luke Dashjr
b4d0588d06 Add support to makefile.unix for the same parameters used by bitcoin-qt.pro, dynamic linking unless STATIC=1 is passed 2011-10-09 14:23:20 -04:00
Gavin Andresen
eab61cd0b2 Merge branch 'master' of github.com:bitcoin/bitcoin 2011-10-09 13:36:10 -04:00
Gavin Andresen
4db9705dd8 Merge pull request from luke-jr/bugfix_bits_string
Bugfix: getmemorypool "bits" should be a hex-string
2011-10-09 10:32:22 -07:00
Gavin Andresen
94eaab7710 Bump version to 0.5.0.0 2011-10-08 17:29:47 -04:00
Gavin Andresen
0b3f3657c8 Remove old wx translations, updated qt translations 2011-10-08 17:29:21 -04:00
Gavin Andresen
c1131a28ad Remove ui_res from makefiles 2011-10-07 14:35:36 -04:00
Gavin Andresen
6853e627f1 Fix build on windows and mac
Replaced all occurrences of #if* __WXMSW__ with WIN32,
and all occurrences of __WXMAC_OSX__ with MAC_OSX, and made
sure those are defined appropriately in the makefile and bitcoin-qt.pro.
2011-10-07 11:02:21 -04:00
Luke Dashjr
903a255836 Bugfix: "bits" should be a hex-string, not a number (that just doesn't make sense) 2011-10-06 12:47:28 -04:00
Victor Leschuk
b95e6376d0 Fix for 64bit build 2011-10-06 19:53:42 +04:00
Gavin Andresen
32ebde4612 Merge pull request from luke-jr/optimize_remove_CheckWork_delay
Remove 2 second sleep from CheckWork
2011-10-06 07:54:50 -07:00
David Joel Schwartz
ae81b82fb8 Use C's const char* for status strings rather than C++'s std::string, which is slower 2011-10-05 14:48:33 -04:00
Gavin Andresen
9e5322d23a Fix miner_test unit test bug 2011-10-05 14:33:49 -04:00
Gavin Andresen
3a6e468d9a Merge branch 'listsinceblock' of https://github.com/cdhowie/bitcoin 2011-10-05 11:38:24 -04:00
Gavin Andresen
4ffbdcc0f5 Auto-build dependencies 2011-10-05 11:28:08 -04:00
Gavin Andresen
e9e7bb968b Update mac Makefile and build instructions to use MacPorts 2011-10-05 11:10:06 -04:00
Gavin Andresen
ff3b235580 Merge pull request from tcatm/remove-addr.txt
remove code that reads addr.txt in LoadAddreses()
2011-10-05 07:41:07 -07:00
Gavin Andresen
b898c8fce6 Merge branch 'no-cryptopp' of https://github.com/tcatm/bitcoin 2011-10-05 10:38:10 -04:00
Gavin Andresen
8bc52d0692 Merge pull request from luke-jr/bugfix_CreateThread_ThreadSocketHandler_errReporting
Bugfix: ThreadSocketHandler creation error
2011-10-05 07:27:56 -07:00
Gavin Andresen
9ec4fa7b50 Merge pull request from luke-jr/optimize_conn_adjtime
Only GetAdjustedTime once for the retry loop
2011-10-05 07:22:52 -07:00
Luke Dashjr
3552497ae5 Send "Connection: close" HTTP header with JSON-RPC requests (client) 2011-10-05 10:15:07 -04:00
David Joel Schwartz
514b18722a Remove 2 second sleep from CheckWork 2011-10-04 00:04:43 -04:00
Luke Dashjr
65ba3e2f50 Bugfix: report error creating ThreadSocketHandler thread just like the rest 2011-10-03 23:45:42 -04:00
Luke Dashjr
a4e6ae101a Only GetAdjustedTime once for the retry loop 2011-10-03 23:41:47 -04:00
Gavin Andresen
3504801778 Declare integer constant LL 2011-10-03 13:10:31 -04:00
Nils Schneider
74567f7ef1 remove code that reads addr.txt in LoadAddreses() 2011-10-01 22:27:02 +02:00
Gavin Andresen
1ff3583e41 Merge pull request from laanwj/utiltests
Remove possibility of 63 bit overflow in ParseMoney
2011-10-01 12:00:24 -07:00
Forrest Voight
074d584a04 Added RPC call 'getmemorypool' that provides everything needed to construct a block with a custom generation transaction and submit a solution
getmemorypool [data]
If [data] is not specified, returns data needed to construct a block to work on:
  "version" : block version
  "previousblockhash" : hash of current highest block
  "transactions" : contents of non-coinbase transactions that should be included in the next block
  "coinbasevalue" : maximum allowable input to coinbase transaction, including the generation award and transaction fees
  "time" : timestamp appropriate for next block
  "bits" : compressed target of next block
If [data] is specified, tries to solve the block and returns true if it was successful.
2011-10-01 14:42:54 -04:00
Wladimir J. van der Laan
2f7f2a5fca remove possibility of 63 bit overflow in ParseMoney
- also, add unit tests for various functions in util.cpp/util.h
2011-10-01 17:29:46 +02:00
Wladimir J. van der Laan
608dacf689 only install translator when not empty 2011-10-01 13:23:00 +02:00
Nils Schneider
452506fc41 simpler ByteReverse 2011-09-30 20:00:30 +02:00
Nils Schneider
6ccff2cbde remove cryptopp dependency, add simple unittest for SHA256Transform() 2011-09-30 20:00:22 +02:00
Gavin Andresen
f4769e44a3 Merge pull request from sipa/signandverif
Sign and verify message with bitcoin address
2011-09-30 05:04:26 -07:00
Gavin Andresen
9a7e5ed3b0 Merge pull request from laanwj/qt2
Qt GUI updates
2011-09-29 10:50:40 -07:00
Nils Schneider
7dd4001b40 Merge pull request from tcatm/remove-deprecated-rpcs
remove deprecated RPCs
2011-09-29 09:39:11 -07:00
Wladimir J. van der Laan
20091df725 Add assertion size>0 to MedianFilter 2011-09-29 17:17:42 +02:00
Wladimir J. van der Laan
002a4dcad0 Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	.gitignore (used upstream version)
	bitcoin-qt.pro
2011-09-28 21:52:32 +02:00
Wladimir J. van der Laan
a8b95ce6ed use median filter for peer-reported reported number of blocks
- fixes problem that one misconfigured or malicious node can mess up progress bar
- implementation in src/util.h
- testcase in src/test/util_tests.cpp
2011-09-28 21:35:58 +02:00
Nils Schneider
f8acc29fca deprecate midstate and hash1 in getwork 2011-09-28 17:54:44 +02:00
Nils Schneider
eec44dad17 remove deprecated RPCs 2011-09-28 17:43:31 +02:00
Wladimir J. van der Laan
5902040874 translation handling improvements
- automatically build binary translation files in qmake/make
- roll translations into resource file and executable, to simply installation
2011-09-27 20:47:51 +02:00
Pieter Wuille
3a570dc80a Use key recovery for message signatures
Instead of encoding the public key inside the signature string, use
key recovery to do verification. This allows 88-character base64-encoded
signature strings instead of 188-character ones.
2011-09-27 19:48:22 +02:00
Pieter Wuille
01cc526318 Compact signatures and key recovery
Introduce a new type of signatures that are only 65 bytes long, and allow
reconstruction of the public key that was used to create the signature.
2011-09-27 19:48:22 +02:00
Pieter Wuille
d9867551fc base64-based sign/verify 2011-09-27 19:48:22 +02:00
Pieter Wuille
b53d6284eb Incorporate pubkey in signature, check based on address
Include the public key in the signature string, to allow verification
based on address.
2011-09-27 19:48:22 +02:00
Khalahan
cc2567e32f Sign and verify message with bitcoin address and public key
Add padding to input (fixed string + address) before hashing
2011-09-27 19:48:22 +02:00
Pieter Wuille
e93bf37e86 Test case for base64 encode/decode 2011-09-27 19:48:10 +02:00
Pieter Wuille
4b603f1cd6 Inline base64 encoder/decoder
This replaces the openssl-based base64 encoder and decoder with a more
efficient internal one. Tested against the rfc4648 test vectors.

Decoder is based on JoelKatz' version.
2011-09-27 19:47:35 +02:00
JoelKatz
4e67a6216b Faster Base64 decoder. 2011-09-27 19:47:34 +02:00
Janne Pulkkinen
a1ef0d19b1 Removing the if statement entirely - not needed. 2011-09-27 19:20:24 +03:00
Gavin Andresen
a8c108bca1 Remove DoS penalty for SigOpCount or immature transactions 2011-09-27 11:19:57 -04:00
Janne Pulkkinen
609acbf43d Send Coins page not cleared when changing tabs. Clear all button for clearing the entries 2011-09-27 17:46:19 +03:00
Gavin Andresen
81cadd74d2 Fix build: put back rules to build cryptopp files 2011-09-26 11:15:01 -04:00
Gavin Andresen
565c4771b6 Remove wxWidgets
Makefiles now build bitcoind only.
qmake/make in top-level directory is used to build Bitcoin QT
Deleted almost all #ifdef GUI from the code (left one possibly controversial one)
Deleted xpm/ files.
2011-09-26 10:04:04 -04:00
Gavin Andresen
b14bd4df58 Skip verifying transaction signatures during initial block-chain download 2011-09-26 09:20:22 -04:00
Gavin Andresen
6b8a5ab622 Bump version to 0.4.1 2011-09-26 09:16:56 -04:00
Gavin Andresen
5df25e78db Merge pull request from cjdelisle/feature-hardening
Hardening
2011-09-26 06:12:59 -07:00
Gavin Andresen
17e2c24645 Merge pull request from gavinandresen/DoSprevention
Denial-of-service prevention
2011-09-26 06:06:16 -07:00
Gavin Andresen
f7f2a36925 Merge pull request from laanwj/qt
Qt GUI
2011-09-26 06:05:11 -07:00
Wladimir J. van der Laan
010c4fc0b5 Change define to determine use of DBUS to USE_DBUS, to prevent overlap with Qt-defined QT_DBUS 2011-09-24 11:56:33 +02:00
Wladimir J. van der Laan
0961c2fc0d Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-09-23 13:42:04 +02:00
Wladimir J. van der Laan
b8afa21fad show balance in sendcoins screen (issue ) 2011-09-22 19:05:04 +02:00
Gavin Andresen
806704c237 More denial-of-service misbehavior detection: version/addr/inv/getdata messages 2011-09-21 12:50:13 -04:00
Gavin Andresen
3e52aaf212 Transaction/Block denial-of-service detection/response 2011-09-21 12:50:12 -04:00
Gavin Andresen
15f3ad4dbd Framework for banning mis-behaving peers 2011-09-21 12:49:53 -04:00
Gavin Andresen
54d02f158d SetMockTime() for cleaner unit testing 2011-09-21 12:01:56 -04:00
Jeff Garzik
700f942692 Merge pull request from sipa/minorfix
SocketHandler thread can be detached
2011-09-20 11:47:02 -07:00
Wladimir J. van der Laan
9b490f71b0 put Q_OBJECT everywhere it should be (removes warnings when running lupdate) 2011-09-19 13:08:24 +02:00
Pieter Wuille
88367a5fb8 SocketHandler thread can be detached 2011-09-19 13:08:22 +02:00
Wladimir J. van der Laan
e122e42354 assure that base bitcoind and bitcoin still build 2011-09-18 12:44:38 +02:00
Nils Schneider
e674680ddd missed printf in AbortMessage(); merged printfs in EndMessage 2011-09-17 21:36:58 +02:00
Nils Schneider
59090133c0 log low-level network messages only when fDebug is set 2011-09-17 18:29:41 +02:00
Wladimir J. van der Laan
5dd7318db7 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-09-16 06:55:47 +02:00
flower
c1e667222a make German translation up-to-date 2011-09-13 18:55:50 +02:00
cjdelisle
3f94dfa25f Add some hardening to protect against unknown/future exploits. 2011-09-12 17:09:55 -04:00
Wladimir J. van der Laan
83312d7c6c remove transparency effect and windows-specific code for now, it's not working as supposed 2011-09-11 21:06:23 +02:00
p2k
2c1fd3c395 Some Mac OS X specific things
* Added application icon for Mac OS X * Added instructions for compiling
under Mac OS X * Added Portfile for compiling miniupnpc with MacPorts
2011-09-11 17:42:20 +02:00
Wladimir J. van der Laan
d33cc2b5e3 clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocks 2011-09-11 10:49:30 +02:00
Janne Pulkkinen
78b3bf56f7 The synchronization progress bar now compares the amount of total blocks to amount of blocks downloaded at application start-up. Could be probably implemented better. 2011-09-11 10:29:29 +02:00
Wladimir J. van der Laan
a0d2f9a12d Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	.gitignore
2011-09-07 18:57:11 +02:00
Wladimir J. van der Laan
f077d1ad62 fix the build (moved code use 'this' instead of 'window') 2011-09-07 18:16:38 +02:00
Janne Pulkkinen
94723e27ad Pull request : windows fixes/cleanup by Matoking 2011-09-07 17:45:07 +02:00
Gavin Andresen
5a3dea451d Merge branch 'unique_coinbase' of git://gitorious.org/~Luke-Jr/bitcoin/luke-jr-bitcoin into unique_coinbase 2011-09-07 10:51:57 -04:00
Gavin Andresen
9406696578 Fix AddAddress cs_mapaddresses/db transaction deadlock 2011-09-06 20:28:15 -04:00
Luke Dashjr
83f4cd156e Bugfix: Use timestamp in coinbase rather than "bits", needed to ensure coinbase txn is unique even if address is the same 2011-09-06 16:43:40 -04:00
Luke Dashjr
49c8e53ee2 Save coinbase, not just extraNonce 2011-09-06 16:43:35 -04:00
Luke Dashjr
b760e25458 Merge branch 'getwork_dedupe' into unique_coinbase 2011-09-06 16:43:32 -04:00
Gavin Andresen
e4626e94f4 Merge pull request from gavinandresen/manytxfix
Optimize database writes for transactions with lots of TxIns.
2011-09-06 10:47:27 -07:00
Gavin Andresen
e077cce617 Optimize database writes for transactions with lots of TxIns.
Patch from ArtForz, who discovered the problem.
2011-09-05 14:33:07 -04:00
Wladimir J. van der Laan
cf9195c808 (k)ubuntu 10.04+ notification support (based on @zwierzak his code) 2011-09-03 21:05:12 +02:00
Luke Dashjr
a687d4f574 Support for boost filesystem version 3 2011-09-03 11:24:45 -04:00
Wladimir J. van der Laan
0a70a3f4d8 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-09-03 09:09:34 +02:00
Gavin Andresen
7464e647de Bumped version numbers to 0.4.0rc1 2011-09-02 13:34:56 -04:00
Gavin Andresen
ec74e8a443 Versions 0.3.20 THROUGH 0.3.23 have trouble with blockchain downloads; avoid them 2011-09-02 12:56:10 -04:00
Gavin Andresen
b53e277ba1 Stay connected to seed nodes; disconnecting causes problems if you are trying to make the initial blockchain download. 2011-09-02 12:25:25 -04:00
Wladimir J. van der Laan
b2d1129f27 bitcoin-qt cannot be used as command line rpc client 2011-09-02 18:05:08 +02:00
Wladimir J. van der Laan
c5aa1b139a update to work with new lock system, add protocol.* to build system 2011-09-02 18:02:22 +02:00
Gavin Andresen
c591cc50eb If compiled -DDEBUG_LOCKORDER and run with -debug, print out every mutex lock/unlock (helpful for debugging something-is-holding-a-mutex-too-long problems) 2011-09-02 12:01:42 -04:00
Gavin Andresen
fb45259967 Do not try to download blockchain from 0.3.23 nodes 2011-09-02 12:00:01 -04:00
Wladimir J. van der Laan
7a15d4ff67 Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	src/main.cpp
2011-09-02 17:35:30 +02:00
Gavin Andresen
86fd7c5af6 Give hard-coded seed nodes a random last-seen time, to randomize order they're tried. 2011-09-02 11:01:45 -04:00
Daniel Folkinshteyn
bca179e8bd Update the list of seednodes.
Nodes culled from MagicalTux's database of bitcoin nodes,
http://dump.bitcoin.it/misc/
by version and longevity, and tested for connectivity.
2011-09-02 00:02:45 -04:00
Gavin Andresen
2f4c30fd85 Fix bad merge: getaccountaddress was broken for new accounts 2011-09-01 18:40:18 -04:00
Gavin Andresen
36d9b2311d Fixed regression I introduced: wallets with lots of transactions were unusable in GUI. 2011-09-01 15:44:47 -04:00
Gavin Andresen
783c636c73 Merge pull request from gavinandresen/keypoolzero
Logic running with -keypool=0 was wrong (empty keys were being returned).
2011-09-01 12:01:29 -07:00
Gavin Andresen
dd7868364d Merge branch 'code-cleanup' of git://github.com/muggenhor/bitcoin 2011-09-01 11:52:07 -04:00
Gavin Andresen
ed02c95d50 obtain cs_wallet mutex to protect vchDefaultKey 2011-09-01 10:58:08 -04:00
Gavin Andresen
123e5bd998 Fix RPC call name in error message. 2011-09-01 10:12:59 -04:00
Gavin Andresen
7db3b75b3e Logic running with -keypool=0 was wrong (empty keys were being returned). Fixes
Renames GetOrReuseKeyFromKeyPool to GetKeyFromPool, with fAllowReuse arg and bool result.
2011-09-01 10:12:59 -04:00
Gavin Andresen
f662cefd85 Merge pull request from fabianhjr/master
Checkpoints
2011-09-01 06:58:14 -07:00
Gavin Andresen
e3c26b2573 SetCrypted() obtains keystore lock, to be safe. 2011-08-31 14:00:41 -04:00
Gavin Andresen
471426fb3b Fixed potential deadlocks in GUI code.
Also changed semantics of CWalletTx::GetTxTime(); now always returns the time the transaction was received by this node, not the average block time.
And added information about -DDEBUG_LOCKORDER to coding.txt.
2011-08-31 12:55:16 -04:00
Gavin Andresen
6cc4a62c0e Fix rpc-hanging deadlocks
Collapsed multiple wallet mutexes to a single cs_wallet, to avoid deadlocks with wallet methods that acquired locks in different order.
Also change master RPC call handler to acquire cs_main and cs_wallet locks before executing RPC calls; requiring each RPC call to acquire the right set of locks in the right order was too error-prone.
2011-08-31 12:55:16 -04:00
Gavin Andresen
b0243da77c Highlight mis-matching locks 2011-08-31 12:53:57 -04:00
Jeff Garzik
21189a42a7 Merge pull request from TheBlueMatt/encreadme
Encryption readme update and minor rpc.cpp fixes
2011-08-31 09:32:42 -07:00
Jeff Garzik
8af99d1893 Merge pull request from TheBlueMatt/upnp1.6
Upgrade dependancies and tweak build process.
2011-08-31 09:16:56 -07:00
Wladimir J. van der Laan
f43f46c175 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-31 17:06:38 +02:00
Wladimir J. van der Laan
6c85cbecf1 comments and readme update 2011-08-31 16:08:31 +02:00
Wladimir J. van der Laan
b7bcaf940d Wallet encryption part 2: ask passphrase when needed, add menu options 2011-08-31 14:19:43 +02:00
Misbakh-Soloviev Vadim A
3f0816e3d9 add russian translation and add unicode compatibility (merges pull request ) 2011-08-28 14:14:29 +02:00
Gavin Andresen
829e21733b CHECKMULTISIG unit tests. 2011-08-26 18:43:58 -04:00
Wladimir J. van der Laan
ae8adeb90a Wallet encryption part 1: show wallet encryption status 2011-08-23 20:08:42 +02:00
Matt Corallo
b4ada906c0 Upgrade dependancies and tweak build process.
* Upgrade to use miniupnpc 1.6
* Upgrade to wxWidgets 2.9.2
* Upgrade to Bost 1.47 for Win32 Builds
2011-08-23 13:00:34 -04:00
Wladimir J. van der Laan
adce862c27 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-22 14:43:37 +02:00
Giel van Schijndel
e4dde849ae Move CInv to protocol.[ch]pp
This commit does *not* and should not modify *any* code, it only moves
it from net.h and splits it across protocol.cpp and protocol.hpp.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
33e28c9948 Move CAddress to protocol.[ch]pp
This commit does *not* and should not modify *any* code, it only moves
it from net.h and splits it across protocol.cpp and protocol.hpp.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
507fd9d15b Start moving protocol-specific code to protocol.[ch]pp
Move CMessageHeader from net.h to protocol.[ch]pp, with the
implementation in the .cpp compilation unit (compiling once is enough).

This commit does *not* and should not modify *any* code, it only moves
it from net.h and splits it across protocol.cpp and protocol.hpp.

Indentation changes aside the closest thing to a modification of code is
the addition of the 'TODO' comment (the execution of which requires code
modifications and thus doesn't belong in this commit).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
82dc6426b4 Move func 'REF' from util.h to serialize.h
util.h doesn't use REF, serialize.h does, creating a dependency of
serialize.h on util.h, but util.h already depends on serialize.h.  To
resolve this circular dependency the function 'REF' has now been moved
closer to one of its two points of use.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
e49b83bb12 Cleanup makefiles such that diffs to them are smaller
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:37 +02:00
Giel van Schijndel
99860de3c9 Make some global variables less-global (static)
Explicitly make these global variables less-global to reduce the maximum
scope of this global state.

In my experience global variables tend to be a major source of bugs. As
such the less accessible they are the less likely they are to be the
source of a bug.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:37 +02:00
Gavin Andresen
865ed8a1e5 Compile with DEBUG_LOCKORDER to detect inconsistent lock orderings that can cause deadlocks 2011-08-17 10:22:28 -04:00
Wladimir J. van der Laan
317c733572 add russian translation by msva 2011-08-16 17:30:58 +02:00
Gavin Andresen
c7286112ef Remove unused ScanMessageStart function 2011-08-16 11:20:56 -04:00
Jeff Garzik
b2fd0ca1cb src/makefile.unix: remove -DFOURWAYSSE2
Spotted by Venkatesh Srinivas <me@endeavour.zapto.org>
2011-08-16 10:10:39 -04:00
Wladimir J. van der Laan
8c4738d5a7 fix issue 2011-08-16 11:18:27 +02:00
Wladimir J. van der Laan
b90c9ecb13 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-16 10:28:24 +02:00
Fabian H jr.
d0d9486f44 Updated checkpoints, maybe Tx fee should be reduced to 0.0001 from 0.0005 and maximum minimum tx should be 0.0010. 2011-08-15 21:33:00 -03:00
Gavin Andresen
eb72eae304 Don't std::advance past beginning of transactions array. Fixes 2011-08-12 15:39:12 -04:00
Matt Corallo
8acb491eef Fix incorrect RPC error messages 2011-08-11 19:41:21 +02:00
Gavin Andresen
498a2c9b16 Merge pull request from TheBlueMatt/copyright
Unify copyright notices.
2011-08-11 10:34:29 -07:00
Wladimir J. van der Laan
0a76546ae9 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-11 10:17:21 +02:00
Gavin Andresen
c648b589be Merge pull request from jgarzik/char-msgstart
Use 'unsigned char' rather than 'char' for pchMessageStart.
2011-08-10 20:01:37 -07:00
Gavin Andresen
72173ffaca Merge pull request from jgarzik/make-tuple
Qualify make_tuple with boost:: namespace.
2011-08-10 20:01:14 -07:00
Venkatesh Srinivas
25133bd74b Use 'unsigned char' rather than 'char' for pchMessageStart.
Regarding https://bitcointalk.org/index.php?topic=28022.0

main.cpp has: "char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };"
Per discussion on the thread linked, leaving the signedness of
pchMessageStart is unsafe for values > 0x80. This patch specifies
'unsigned char' in main.cpp and net.h.

Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2011-08-10 22:42:43 -04:00
Venkatesh Srinivas
7c3002bf27 Qualify make_tuple with boost:: namespace.
db.cpp has a number of uses of make_tuple and has 'using namespace
std' and 'using namespace boost'. Without qualifying make_tuple,
std::make_tuple is preferred, which is incorrect. This patch qualifies
make_tuple.

Signed-off-by: Jeff Garzik <jgarzik@exmulti.com>
2011-08-10 22:40:10 -04:00
Venkatesh Srinivas
ec93a0e219 Test for SO_NOSIGPIPE rather than assuming all BSDs support it.
Signed-off-by: Jeff Garzik <jgarzik@exmulti.com>
2011-08-10 22:36:20 -04:00
Gavin Andresen
9f0ac16942 Do-nothing MapPort() ifndef USE_UPNP. fixes 2011-08-09 12:38:17 -04:00
Matt Corallo
b2120e223a Unify copyright notices.
To a variation on:
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
2011-08-09 13:32:52 +02:00
Matt Corallo
2c3691d53d Cleanup test suite output to be more useful. 2011-08-08 14:31:08 -04:00
Matt Corallo
3c8cecda1f Add file for transaction tests. 2011-08-08 14:31:08 -04:00
Vegard Nossum
a8330e0049 Add a file for script tests 2011-08-08 14:31:08 -04:00
Vegard Nossum
5f6a654d3e Add prototype for EvalScript() to script.h
This is needed for the script unit tests.
2011-08-08 14:31:08 -04:00
Vegard Nossum
e707d29dd6 Fix testing setup
There were some problems with the existing testing setup:

 - Makefile rules for test-file compilation used CFLAGS instead of
   CXXFLAGS in makefile.unix
2011-08-08 14:31:08 -04:00
Matt Corallo
02962ba848 Add missing include to serialize.h 2011-08-08 14:31:08 -04:00
Vegard Nossum
8a62fec3ee Add missing includes to net.h 2011-08-08 14:31:08 -04:00
Vegard Nossum
437173f430 Add missing include to script.h 2011-08-08 14:31:08 -04:00
Vegard Nossum
fcedd45c3c Add missing includes to key.h 2011-08-08 14:31:07 -04:00
Gavin Andresen
4e5d88ce26 Merge pull request from TheBlueMatt/dupin
Check for duplicate txins in CheckTransaction.
2011-08-08 11:16:40 -07:00
Wladimir J. van der Laan
b0849613bf QtUI code cleanup / comment improvements 2011-08-08 17:38:17 +02:00
Wladimir J. van der Laan
fb390d3505 add TODOs in parseBitcoinURL 2011-08-07 17:07:04 +02:00
Wladimir J. van der Laan
c359ac9128 allow empty/missing amounts in URL 2011-08-07 16:17:02 +02:00
Wladimir J. van der Laan
856aacf388 don't include <QDebug> 2011-08-07 16:09:49 +02:00
Wladimir J. van der Laan
db7f023417 Accept "bitcoin:" URL drops from browsers 2011-08-07 16:04:48 +02:00
Wladimir J. van der Laan
330c190958 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-06 18:45:15 +02:00
Wladimir J. van der Laan
e74e8a184a reorganize transaction model data function, and transaction tooltip 2011-08-06 18:40:45 +02:00
Wladimir J. van der Laan
d4e3cb4c03 improve sync spinner 2011-08-05 20:32:26 +02:00
Wladimir J. van der Laan
00f4f8d54c speling fix 2011-08-05 15:37:49 +02:00
Wladimir J. van der Laan
126185aaa7 improve tooltip over transactions 2011-08-05 15:35:52 +02:00
Wladimir J. van der Laan
ffccb56914 select new address immediately after creation 2011-08-04 21:36:14 +02:00
Jeff Garzik
bd1e54bc0b Merge branch 'tmp2' 2011-08-04 15:22:05 -04:00
Jeff Garzik
eb20f3c8f5 Merge pull request from sipa/cbitcoinaddress
avoid strAddress + validity checks
2011-08-04 11:47:15 -07:00
Jeff Garzik
95699e1730 Merge pull request from WakiMiko/upnp-desc
Identify as "Bitcoin + version number" when mapping UPnP port
2011-08-04 11:40:44 -07:00
Jeff Garzik
32de8cd062 Merge pull request from TheBlueMatt/tornolisten
Don't listen if on TOR (resolves ).
2011-08-04 11:40:06 -07:00
Wladimir J. van der Laan
2351a3fc9f minimize amount of text in status bar; show only icons, if the user wants explanation they can view the tooltip 2011-08-04 19:04:42 +02:00
Wladimir J. van der Laan
1b39201966 when clicking a transaction on the overview page, send the user to the transactions page 2011-08-04 04:41:01 +02:00
Wladimir J. van der Laan
186f3e2f0c Clarity: change definition of "confirmed" to "counts towards balance" 2011-08-04 04:40:01 +02:00
Matt Corallo
01a509fa26 Don't listen if on TOR (resolves ). 2011-08-03 22:16:29 +02:00
Wladimir J. van der Laan
2ccd47596b fix drawing on gtk 2011-08-03 21:28:11 +02:00
Wladimir J. van der Laan
82303fc3ca unconfirmed amount = grey 2011-08-03 21:04:15 +02:00
Matt Corallo
918150048a Make it clear that setting proxy requires restart to fully apply. 2011-08-03 21:02:07 +02:00
Wladimir J. van der Laan
a99ac8d3f4 show last few transactions on overview page 2011-08-03 20:52:18 +02:00
Wladimir J. van der Laan
2566b30c38 make amount field the same width as decimals field 2011-08-03 14:06:13 +02:00
Pieter Wuille
4d2ef6e5b6 avoid strAddress + validity checks
Avoid references to addresses using strings, and use CBitcoinAddress
as much as possible. Also added some validity checks on addresses
entered using RPC.
2011-08-03 13:01:09 +02:00
Wladimir J. van der Laan
5762295ec3 update readme and splash screen text 2011-08-02 22:03:41 +02:00
Wladimir J. van der Laan
10d680cff4 add splash screen 2011-08-02 21:48:59 +02:00
Johannes Henninger
1565698169 Identify as "Bitcoin + version number" when mapping UPnP port
Makes Bitcoin identify itself as "Bitcoin + version number" instead of
the nondescript "libminiupnpc" when forwarding a port via UPnP.
2011-08-01 16:34:59 +02:00
Wladimir J. van der Laan
d8f5c59a59 show n/a for mined transactions (and send to self) instead of empty field 2011-07-31 17:43:46 +02:00
Wladimir J. van der Laan
05bcf7089e address icons 2011-07-31 17:05:34 +02:00
Matt Corallo
33208fb557 Check for duplicate txins in CheckTransaction. 2011-07-31 14:20:10 +02:00
Wladimir J. van der Laan
dedf83a19b Properly html-escape labels 2011-07-31 12:56:46 +02:00
Wladimir J. van der Laan
a5e1325879 comment update 2011-07-30 19:28:41 +02:00
Wladimir J. van der Laan
f0ec774d9c make sure address book model is up to date after sending coins 2011-07-30 19:21:46 +02:00
Han Lin Yap
8c2143d4d8 Comment "deprecated" 2011-07-30 19:58:22 +03:00
Wladimir J. van der Laan
04f38adf73 Remove unused variable 2011-07-30 18:48:05 +02:00
Wladimir J. van der Laan
2f5d380943 Hide addresses in transaction overview by default, they can be re-shown as a configuration option 2011-07-30 17:42:02 +02:00
Wladimir J. van der Laan
1aafe34a08 Make dot in amount field more apparent 2011-07-30 17:01:31 +02:00
Wladimir J. van der Laan
19fba3cd24 Make debug info more interesting (show SHA160 addresses for inputs) 2011-07-29 23:11:40 +02:00
Wladimir J. van der Laan
3b59297b36 Remove no longer valid comment 2011-07-29 16:16:12 +02:00
Wladimir J. van der Laan
53d65b5500 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-07-29 14:45:54 +02:00
Wladimir J. van der Laan
ee014e5b10 Full support for other units, add configuration option for default unit (used when displaying amounts) 2011-07-29 14:36:35 +02:00
Wladimir J. van der Laan
b5b1d1a66b Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	src/script.cpp
2011-07-27 21:44:55 +02:00
Wladimir J. van der Laan
7df001be94 normalize SIGNAL/SLOT signatures (http://marcmutz.wordpress.com/effective-qt/prefer-to-use-normalised-signalslot-signatures/) 2011-07-27 20:54:10 +02:00
Wladimir J. van der Laan
384625c1a6 also accept numbers without dot/decimals for parsing, fixes transaction filter row 2011-07-27 20:52:00 +02:00
Matt Corallo
687c82558c Fix EncryptKeys crash introduced by a9ba4710, identified by TD. 2011-07-27 18:02:39 +02:00
Jeff Garzik
a139ed74f2 CAddrDB::LoadAddresses: properly initialize CAddress
Fixes issue 
2011-07-26 15:15:55 -04:00
Pieter Wuille
b63241d451 Bugfix: don't overuse limited ExtractAddress
ExtractAddress was called with the keystore as argument in RPC and
UI, limiting results to own keys. This caused empty "address"
fields.
2011-07-26 19:41:47 +02:00
Wladimir J. van der Laan
dd61035645 show amounts in <b>bold</b> in confirmation dialog 2011-07-26 17:37:26 +02:00
Wladimir J. van der Laan
690c723e5f make SetHash160 return a value (as specified in the function signature) 2011-07-26 16:59:31 +02:00
Wladimir J. van der Laan
5326a31249 make SetHash160 return a value (as specified in the function signature) 2011-07-26 16:54:32 +02:00
Wladimir J. van der Laan
491ad6db50 Merge remote branch 'upstream/master'
Conflicts:
	src/bitcoinrpc.cpp
2011-07-26 16:47:23 +02:00
Wladimir J. van der Laan
83c8d678aa Reset unit to default when clearing the field, to prevent confusion 2011-07-26 13:31:59 +02:00
Wladimir J. van der Laan
f2b10f6469 refuse to format nor parse invalid units 2011-07-26 13:27:33 +02:00
Wladimir J. van der Laan
587e52855a allow multiple units in bitcoin amount widget (for example, for sending) using a combobox 2011-07-26 13:08:34 +02:00
Wladimir J. van der Laan
ca1dbe10ed Negative transaction color changed to red (was grey due to mistake) 2011-07-26 09:16:50 +02:00
JoelKatz
67ed7d9d49 Fix UNIX-specific thread handle leak. 2011-07-25 15:06:45 -07:00
Wladimir J. van der Laan
e780b94bd3 fix unit names (μBTC) 2011-07-25 22:28:12 +02:00
Wladimir J. van der Laan
e285ffcd05 preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue 2011-07-25 21:38:54 +02:00
Wladimir J. van der Laan
bbae0fc9ef put color constants in guiconstants.h 2011-07-25 18:39:52 +02:00
Jeff Garzik
a9ba47101a Merge pull request from sipa/cbitcoinaddress
keys indexed by address + introduced CBitcoinaddress
2011-07-24 15:38:38 -07:00
Wladimir J. van der Laan
daa1a7398f better exit icon 2011-07-24 19:09:29 +02:00
Wladimir J. van der Laan
f5472574a7 make all tab icons blue/gray for more consistencyx 2011-07-24 18:32:21 +02:00
Wladimir J. van der Laan
591dcaf681 improve tooltip texts 2011-07-24 18:06:07 +02:00
Pieter Wuille
a7dd11c6da Fix for small change outputs
With the separation of CENT and MIN_TX_FEE, it is now reasonable
to create change outputs between 0.01 and 0.0005, as these are
spendable according to the policy, even though they require a fee
to be paid.

Also, when enough fee was already present, everything can go into
a change output, without further increasing the fee.
2011-07-24 16:37:09 +02:00
Wladimir J. van der Laan
8a13456f3a add windows program (.exe) icon 2011-07-24 15:53:27 +02:00
Wladimir J. van der Laan
1a925b8e60 Merge pull request from celil-kj/master
allow decimals such as .05 for amount of bitcoins to send
2011-07-24 02:41:19 +02:00
Celil
2eac3a6dec Allow ammount field to be empty so that one can specify .05 instead of
having to type the leading zero as in 0.05
2011-07-22 16:55:50 -07:00
Wladimir J. van der Laan
7beada58cd Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-07-22 21:41:24 +02:00
Wladimir J. van der Laan
8b936b617f Implement range... transaction filter 2011-07-22 18:30:25 +02:00
Wladimir J. van der Laan
73cd5e5212 fix clear() (clear red/invalid status) 2011-07-22 17:06:37 +02:00
Matt Corallo
643160f6e7 Actually use mapAlreadyAskedFor.
Previously, mapAlreadyAskedFor was read from, but never added to.
The original intent was to use mapAlreadyAskedFor to keep track
of the time an item was requested and "Each retry is 2 minutes
after the last".
This implements that intent.
2011-07-21 22:06:20 +02:00
Wladimir J. van der Laan
174b3eddc0 one remove/delete icon is enough and the red minus better matches the add icon 2011-07-18 21:02:17 +02:00
Wladimir J. van der Laan
8ea1c9a418 Merge branch 'notebook' 2011-07-18 18:50:35 +02:00
Wladimir J. van der Laan
68e327ae7b move buttons to bottom of send coins tab, outside of scroll area 2011-07-18 18:39:49 +02:00
Wladimir J. van der Laan
24c835b0b6 windows build fix 2011-07-18 18:34:53 +02:00
Abraham Jewowich
03f8b54565 Fix bug with accessing vchData[0] when vchData is empty.
Fix typo in CBase58Data::CompareTo
2011-07-18 06:26:54 -07:00
Wladimir J. van der Laan
a75e1e3292 Fix "Last received block was generated Up to date" 2011-07-18 06:55:05 +02:00
Wladimir J. van der Laan
1907b96d69 put sendcoins entries in scroll area, so that window does not become bigger than screen with many recipients 2011-07-17 17:42:41 +02:00
Wladimir J. van der Laan
8dcffd4d07 show rotating spinner when block download out of date, tick otherwise 2011-07-17 17:31:37 +02:00
Wladimir J. van der Laan
5df0b03c95 make initial block download reporting somewhat better by tracking version responses 2011-07-17 14:17:13 +02:00
Pieter Wuille
cb61b8dc4c split off CBase58Data from CBitcoinAddress
Split off features unrelated to addresses from CBitcoinAddress to
CBase58Data, so they can be reused.
2011-07-17 12:09:17 +02:00
Pieter Wuille
2ffba736e9 Use CBitcoinAddress instead of string/uint160
Instead of conversion functions between pubkey/uint160/address in
base58.h, have a fully fledged class CBitcoinAddress (CAddress was
already taken) to represent addresses.
2011-07-17 12:09:14 +02:00
Pieter Wuille
03fbd79049 get rid of mapPubKeys
Make CKeyStore's interface work on uint160's instead of pubkeys, so
no separate global mapPubKeys is necessary anymore.
2011-07-17 12:07:59 +02:00
Wladimir J. van der Laan
9b9cd3dd20 add missing icon 2011-07-16 19:35:41 +02:00
Wladimir J. van der Laan
9958e09dbc Revert "Now that send coins / receive coins etc are tabs, remove them from menu, and reorganize menu bar"
This reverts commit ea37fb9187.
2011-07-16 19:28:15 +02:00
Wladimir J. van der Laan
a5e6d72339 add sendmany support 2011-07-16 19:25:02 +02:00
Eric Hosmer
88cab1e4a3 Added crypter to makefile.vc. 2011-07-15 23:38:46 -04:00
Wladimir J. van der Laan
d421117620 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-07-15 16:42:44 +02:00
Wladimir J. van der Laan
19366be186 Merge remote-tracking branch 'satoshi/qtui'
Conflicts (resolved by copying files from remote branch):
	.gitignore
	src/cryptopp/cpu.cpp
	src/cryptopp/cpu.h
	src/cryptopp/cryptlib.h
	src/cryptopp/iterhash.h
	src/cryptopp/misc.h
	src/cryptopp/secblock.h
	src/cryptopp/sha.cpp
	src/cryptopp/sha.h
	src/cryptopp/smartptr.h
	src/json/json_spirit_reader.cpp
	src/json/json_spirit_value.cpp
	src/json/json_spirit_writer.cpp
2011-07-15 15:12:17 +02:00
Wladimir J. van der Laan
a35ee96336 Add call to request unconfirmed balance 2011-07-15 15:09:49 +02:00
Wladimir J. van der Laan
ea37fb9187 Now that send coins / receive coins etc are tabs, remove them from menu, and reorganize menu bar 2011-07-15 14:55:21 +02:00
Celil
608810a3e7 Fix error when export is cancelled without specifying a filename. 2011-07-14 17:11:11 -07:00
Chris Howie
76aed0141c listsinceblock now shows txns with 0 confirms, as well as allows the lastblock return property to be targeted to the block with the specified depth 2011-07-14 15:56:29 -04:00
Chris Howie
5b2f35167f Add listsinceblock command for retrieving all wallet transactions in blocks after the specified block 2011-07-14 15:56:21 -04:00
Wladimir J. van der Laan
77b615ceba solve warnings at startup 2011-07-14 21:21:17 +02:00
Matt Corallo
3a10d1c493 Fix bad return values in LoadWallet. 2011-07-14 18:15:50 +02:00
Pieter Wuille
24271c542b Merge pull request from sgimenez/db-transactions
Single DB transactions
2011-07-14 05:29:09 -07:00
Stéphane Gimenez
d655a26c9d Single DB transaction for addresses from DNS seeds 2011-07-14 03:50:06 +02:00
Matt Corallo
a2606bad09 Fix Build in GetReservedKey() in wallet.cpp 2011-07-14 03:34:07 +02:00
Patrick Varilly
8c41469140 Single DB transaction for all addresses in a message
Cuts disk activity at startup immensely
2011-07-14 03:29:07 +02:00
Matt Corallo
cee69980b0 Generate Warning when using default key. 2011-07-14 03:28:31 +02:00
Matt Corallo
0d7b28e52e Fix crashes when a wallet is locked and GetReservedKey() is called 2011-07-14 03:11:40 +02:00
Jeff Garzik
9cd22ab862 Merge pull request from muggenhor/warning-fixes
Warning fixes
2011-07-13 08:55:49 -07:00
Jeff Garzik
b8cbbc2c28 Merge pull request from sipa/syncdefault
Bugfix: add autogenerated addresses to address book
2011-07-13 08:53:57 -07:00
Giel van Schijndel
84c3c2ebe7 fix warning: control reaches end of non-void function [-Wreturn-type]
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 14:25:45 +02:00
Giel van Schijndel
93752b8a39 fix warning: variable ‘nMinDepth’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 13:43:24 +02:00
Matt Corallo
d5e9d0000d Fix makefile.linux-mingw 2011-07-13 13:12:49 +02:00
Pieter Wuille
d5115a71a1 Bugfix: add autogenerated addresses to address book 2011-07-13 13:05:08 +02:00
Jeff Garzik
24a0def8cd Bump version to 0.3.25
Yes, we might release as v0.4, but let's just do a simple increment
for now.
2011-07-13 01:19:26 -04:00
Jeff Garzik
116df55e21 Update CWallet::LoadWallet for proper return type. 2011-07-13 01:07:49 -04:00
Giel van Schijndel
d0538a81bb fix warning: unused function 'SigIllHandlerSSE2' [-Wunused-function]
Only declare & define SigIllHandlerSSE2 when its used.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:10:15 +02:00
Giel van Schijndel
858cebed7d fix warning: unused variable 'X' [-Wunused-variable]
Remove several unused variables.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:10:15 +02:00
Giel van Schijndel
225f222c9f fix warning: X enumeration values not handled in switch [-Wswitch-enum]
Add default cases to opcode switches to assert that they should never
occur.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:10:15 +02:00
Giel van Schijndel
d7f1d200ab fix warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
Don't check for a negative parameter count, because not only will it
never happen, it doesn't make any sense either.

Invalid sockets (as returned by socket(2)) are always exactly -1 (not
just negative as negative file descriptors are technically not
prohibited by POSIX) on POSIX systems.  Since we store them in SOCKET
(unsigned int), however, that really is ~0U (or MAX_UINT) which happens
to be what INVALID_SOCKET is already defined to, so an additional check
for being negative is not only unnecessary (unsigned integers aren't
*ever* negative) its redundant as well (the INVALID_SOCKET comparison is
enough).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Giel van Schijndel
f85c097449 fix warnings: using the result of an assignment as a condition without parentheses [-Wparentheses]
Don't unnecessarily assign to variables within the *boolean* expression
of a conditional.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Giel van Schijndel
ecf1c79aad fix warnings: expression result unused [-Wunused-value]
In the assert()s take advantage of the fact that string constants
("string") are effectively of type 'const char []', which when used in
an expression yield a non-NULL pointer.

An assertion that should always fail can thus be formulated as:
  assert(!"fail);

An assertion where a text message should be added to the expression can
be written as such:
  assert("message" && expression);

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Giel van Schijndel
df40181417 fix warning on 64bit systems: cast to pointer from integer of different size [-Wint-to-pointer-cast]
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Matt Corallo
0ca8324f59 Update makefile.linux-mingw to work with crypter and UPnP fix. 2011-07-12 22:44:00 -04:00
Jeff Garzik
0fa89d8e81 Merge pull request from TheBlueMatt/nminversion
Add minversion to wallet.
2011-07-12 19:34:30 -07:00
Jeff Garzik
0bad8e4237 Merge pull request from TheBlueMatt/newenc
Wallet Private Key Encryption (on CWallet)
2011-07-12 19:10:12 -07:00
Matt Corallo
7414733bea Make an invalid addrIncoming so that old clients crash.
This prevents old clients from opening, and thus corrupting
or otherwise causing harm to encrypted wallets.
2011-07-13 02:11:25 +02:00
Matt Corallo
96f34cd5c4 Use DB Transactions when encrypting wallet.
This speeds up the encryption process significantly.
2011-07-13 02:11:25 +02:00
Pieter Wuille
0efda1a79e Do not use obsolete CPrivKey for passing keys around 2011-07-13 02:11:25 +02:00
Matt Corallo
fbeb5fb483 Add the walletlock RPC method to lock the wallet manually. 2011-07-13 02:11:25 +02:00
Matt Corallo
81598083e7 Dynamically remove/insert the Options for encryption in the menus. 2011-07-13 02:11:25 +02:00
Matt Corallo
98545d2cdf Push unlocked_until in getinfo. 2011-07-13 02:11:25 +02:00
Matt Corallo
ddebdd9a8f Set the number of SHA512 rounds based on the speed of the computer. 2011-07-13 02:11:25 +02:00
Matt Corallo
4e87d341f7 Add wallet privkey encryption.
This commit adds support for ckeys, or enCrypted private keys, to the wallet.
All keys are stored in memory in their encrypted form and thus the passphrase
is required from the user to spend coins, or to create new addresses.

Keys are encrypted with AES-256-CBC using OpenSSL's EVP library. The key is
calculated via EVP_BytesToKey using SHA512 with (by default) 25000 rounds and
a random salt.

By default, the user's wallet remains unencrypted until they call the RPC
command encryptwallet <passphrase> or, from the GUI menu, Options->
Encrypt Wallet.

When the user is attempting to call RPC functions which require the password
to unlock the wallet, an error will be returned unless they call
walletpassphrase <passphrase> <time to keep key in memory> first.

A keypoolrefill command has been added which tops up the users keypool
(requiring the passphrase via walletpassphrase first).
keypoolsize has been added to the output of getinfo to show the user the
number of keys left before they need to specify their passphrase (and call
keypoolrefill).

Note that walletpassphrase will automatically fill keypool in a separate
thread which it spawns when the passphrase is set. This could cause some
delays in other threads waiting for locks on the wallet passphrase, including
one which could cause the passphrase to be stored longer than expected,
however it will not allow the passphrase to be used longer than expected as
ThreadCleanWalletPassphrase will attempt to get a lock on the key as soon
as the specified lock time has arrived.

When the keypool runs out (and wallet is locked) GetOrReuseKeyFromPool
returns vchDefaultKey, meaning miners may start to generate many blocks to
vchDefaultKey instead of a new key each time.

A walletpassphrasechange <oldpassphrase> <newpassphrase> has been added to
allow the user to change their password via RPC.

Whenever keying material (unencrypted private keys, the user's passphrase,
the wallet's AES key) is stored unencrypted in memory, any reasonable attempt
is made to mlock/VirtualLock that memory before storing the keying material.
This is not true in several (commented) cases where mlock/VirtualLocking the
memory is not possible.

Although encryption of private keys in memory can be very useful on desktop
systems (as some small amount of protection against stupid viruses), on an
RPC server, the password is entered fairly insecurely. Thus, the only main
advantage encryption has for RPC servers is for RPC servers that do not spend
coins, except in rare cases, eg. a webserver of a merchant which only receives
payment except for cases of manual intervention.

Thanks to jgarzik for the original patch and sipa, gmaxwell and many others
for all their input.

Conflicts:

	src/wallet.cpp
2011-07-13 02:11:25 +02:00
Wladimir J. van der Laan
4a843976e0 also show balloon on sent transaction, to notify when coins sent 2011-07-11 21:01:53 +02:00
Wladimir J. van der Laan
df5ccbd2b2 Show unconfirmed balance on overview page 2011-07-11 20:42:10 +02:00
Wladimir J. van der Laan
eee0d2391c Make tooltip on refresh more clear 2011-07-11 19:35:08 +02:00
Doug Huff
a48c671957 Make mlock() and munlock() portable to systems that require the address to be on a page boundary. 2011-07-10 18:15:05 +02:00
Wladimir J. van der Laan
c87cdc9160 wxp/mingw build fixes 2011-07-09 15:58:05 +02:00
Wladimir J. van der Laan
0b814f9ea3 add better windows7/vista look by nico_w 2011-07-09 15:26:57 +02:00
Wladimir J. van der Laan
7668631d1b remove placeholder text from ui form, code generator screws up on older qt 2011-07-09 14:00:00 +02:00
Wladimir J. van der Laan
f54d59ba4a add export functionality for address book / receiving addresses 2011-07-09 10:54:17 +02:00
Wladimir J. van der Laan
2eace48d9a remove magic number: change threshold for nLockTime to constant 2011-07-09 10:30:23 +02:00
Wladimir J. van der Laan
fa989f42c1 remove magic number: change threshold for nLockTime to constant 2011-07-09 10:25:12 +02:00
Wladimir J. van der Laan
aa496b75c2 remove magic number: change threshold for nLockTime to constant 2011-07-09 10:11:28 +02:00
Wladimir J. van der Laan
51d7cc07f1 Add context menu on transaction list: copy label, copy address, edit label, show details 2011-07-08 22:27:36 +02:00
Wladimir J. van der Laan
35105534e7 Transaction list: less terse tooltip 2011-07-08 19:56:28 +02:00
Wladimir J. van der Laan
3ddf10e5ca send coins dialog: make sure send button remain default button (triggered with enter) 2011-07-08 19:51:24 +02:00
Wladimir J. van der Laan
83b8237046 forgot synced icons 2011-07-08 19:25:35 +02:00
Wladimir J. van der Laan
d8aeb8dd2a Reorganize "send coins" tab 2011-07-08 19:09:13 +02:00
Wladimir J. van der Laan
84c8506e90 Display a "freshness" indicator instead of nr of blocks 2011-07-08 18:05:23 +02:00
Dylan Noblesmith
c1aacf0be3 mlock() all private keys in memory
Inline comment and idea come from the encprivkeys branch
by Matt Corallo <matt@bluematt.me>.
2011-07-08 15:46:47 +02:00
Pieter Wuille
acd6501610 Prepare codebase for Encrypted Keys. 2011-07-08 15:46:47 +02:00
Wladimir J. van der Laan
610121480c "Status" doesn't fit into narrow first column in transaction history, make the header empty 2011-07-07 21:25:17 +02:00
Wladimir J. van der Laan
ba3d0255fc Add German translation by nico_w 2011-07-07 21:19:25 +02:00
Wladimir J. van der Laan
0002bdddfa add [testnet] to whatever the current window title is 2011-07-07 18:38:37 +02:00
Wladimir J. van der Laan
94fe42a945 Selection/tab navigation fixes 2011-07-07 18:25:27 +02:00
Wladimir J. van der Laan
3479849dc4 convert to full tab-based ui 2011-07-07 17:33:15 +02:00
Wladimir J. van der Laan
5eaa1b435c Qt handles the "..." for too long table rows. Remove this functionality from TransactionTableModel... 2011-07-07 16:57:19 +02:00
Wladimir J. van der Laan
ae3d0aba15 Sync to bitcoin git e94010b239 2011-07-07 15:22:54 +02:00
Wladimir J. van der Laan
42c405ad23 temp patch for qtui 2011-07-07 15:18:35 +02:00
Wladimir J. van der Laan
33c75fd9aa CKeyStore::AddKey must return a boolean 2011-07-07 15:16:26 +02:00
Wladimir J. van der Laan
fbaee7a853 Export functionality for transaction list 2011-07-07 14:27:16 +02:00
Wladimir J. van der Laan
d52a0f3bca Rename "History" tab to more logical "Transactions", move "Number of transactions" from status bar to overview page 2011-07-07 10:59:00 +02:00
Wladimir J. van der Laan
fac047480d minor language/text updates 2011-07-07 10:43:04 +02:00
Wladimir J. van der Laan
e599246803 Improve view of generated transactions (show clock icon when still maturing) 2011-07-07 10:29:07 +02:00
Wladimir J. van der Laan
393adf7acd Address book: Disable "copy to clipboard" and "Delete" buttons when nothing selected 2011-07-06 21:52:23 +02:00
Wladimir J. van der Laan
8bca4099c7 Remove code for no longer existing edit button in address book dialog 2011-07-06 20:52:31 +02:00
Wladimir J. van der Laan
e1f3d64c4a Add "BTC" to all amount widgets, to make clear what the unit is 2011-07-06 20:41:13 +02:00
Wladimir J. van der Laan
64c8b69948 tab reorg phase 1: split main gui into "overview" and "history" 2011-07-05 22:09:39 +02:00
Jeff Garzik
e94010b239 Merge pull request from sipa/syncdefault
Fix synchronization of default key
2011-07-05 11:52:13 -07:00
Wladimir J. van der Laan
825aa7d8d8 make balance selectable / copyable 2011-07-05 20:21:33 +02:00
Matt Corallo
7ec552676c Add minversion to wallet. 2011-07-05 18:36:01 +02:00
Matt Corallo
3f0950ea01 Revert "Make UPnP default on Bitcoin but not on Bitcoind."
This reverts commit ee1f884229.

Stupid, stupid me...there is exactly 0 way to convince make to
execute a conditional based on a target-specific variable.
2011-07-05 18:19:34 +02:00
Pieter Wuille
e9f61c8787 Fix synchronization of default key 2011-07-05 17:42:44 +02:00
Gavin Andresen
9390431ce4 Merge pull request from gavinandresen/nocommas
Do not use comma as thousands separator
2011-07-04 19:26:10 -07:00
Matt Corallo
fa105b1d3a Added a couple minor things to match newer build process.
This adds the relevent patches which are applied to wx,
and updates for cross compiling.
2011-07-05 00:59:00 +02:00
Wladimir J. van der Laan
b8f174a5ce as there is no "default receiving address" in this GUI, don't autogenerate new addresses on receiving 2011-07-04 20:12:58 +02:00
Gavin Andresen
59f9c8e8c9 Do not use comma as thousands separator
Using the comma as thousands separator causes problems for parts of the world
where comma == decimal point.  Germans sending 0,001 bitcoins are unpleasantly
surprised when that results in 1 BTC getting sent.
2011-07-04 09:41:58 -04:00
Wladimir J. van der Laan
3913c387c9 Eliminate useless padding 2011-07-03 22:29:26 +02:00
Wladimir J. van der Laan
8fe2308b34 windows build fixes 2011-07-03 22:29:26 +02:00
Gavin Andresen
d547a44332 Block-chain lock-in at 134444 2011-07-03 11:20:39 -04:00
Wladimir J. van der Laan
482e57812b move another setPlaceHolderText to 4.7+ only code 2011-07-03 08:24:07 +02:00
Jeff Garzik
b4b536d782 Bump version to 0.3.24. 2011-07-02 16:55:11 -04:00
Jeff Garzik
a76899624a Merge branch 'tmp2' into tmp3 2011-07-02 16:46:07 -04:00
Jeff Garzik
1a19fc17b2 Merge pull request from TheBlueMatt/neterror
Give more detailed error messages for connection failure.
2011-07-02 12:04:09 -07:00
Wladimir J. van der Laan
ecde936aee remove "edit" button, document double-click behaviour to edit 2011-07-02 18:30:41 +02:00
Wladimir J. van der Laan
154e25ff60 ui improvements: allow inline editing of labels/addresses in address book table, better tab order in send dialog, set focus on sending address table when coming from send coins dialog 2011-07-02 17:31:27 +02:00
Wladimir J. van der Laan
c1ffa5b1c5 make tooltip equal to placeholder 2011-07-02 15:42:12 +02:00
Wladimir J. van der Laan
669b0a5835 Check addresses in address book for validity 2011-07-02 15:11:40 +02:00
Wladimir J. van der Laan
ebff5c40a2 Send: dialog redesign (automatically look up label for entered address) 2011-07-02 13:45:59 +02:00
Matt Corallo
013df1cc3b Give more detailed error messages for connection failure. 2011-07-02 13:25:18 +02:00
Wladimir J. van der Laan
bb82fdb543 "Receive coins" instead of "Receiving addresses" 2011-07-02 10:13:29 +02:00
Wladimir J. van der Laan
f48b4c8897 Placeholder text can only be used for Qt 4.7+ 2011-07-02 09:21:16 +02:00
Jeff Garzik
9cd1dfe898 Merge pull request from TheBlueMatt/upnp
Make UPnP default on Bitcoin but not on Bitcoind.
2011-07-01 19:39:05 -07:00
Jeff Garzik
cfbcb1de66 Merge pull request from EricJ2190/master
Another Visual C++ Makefile Update
2011-07-01 17:38:24 -07:00
Eric Hosmer
58d9badfe2 Add keystore.h to makefile.vs's header list. 2011-07-01 20:17:10 -04:00
Eric Hosmer
12a4af47c2 Further updated Visual C++ makefile. 2011-07-01 20:14:02 -04:00
Matt Corallo
ee1f884229 Make UPnP default on Bitcoin but not on Bitcoind.
This is a bit of an ugly hack, but its the only way to do it.
2011-07-02 01:46:22 +02:00
Jeff Garzik
c4286dc6ee Merge pull request from muggenhor/proper-http-server-rejection
rpc server: send '403 Forbidden' to rejected clients
2011-07-01 16:34:49 -07:00
Jeff Garzik
b73ab2d885 Merge pull request from TheBlueMatt/dnsseed
Only use dnsseeds when not on testnet.
2011-07-01 16:33:28 -07:00
Jeff Garzik
056d2ad312 Merge pull request from EricJ2190/master
Updated Visual C++ Makefile
2011-07-01 16:31:33 -07:00
Jeff Garzik
362efb24c1 Enable DNS seeding by default. 2011-07-01 17:58:03 -04:00
Wladimir J. van der Laan
e5b47b4328 Remove "default address" from main GUI screen, it only confuses people 2011-07-01 21:41:14 +02:00
Wladimir J. van der Laan
05bae43c3c Add "last month" filter 2011-07-01 20:28:11 +02:00
Eric Hosmer
f8b5028cd1 Updated Visual C++ makefile. 2011-07-01 12:58:48 -04:00
Wladimir J. van der Laan
b5384e93ed make amount column wider, so that more decimals fit in 2011-07-01 18:55:13 +02:00
Wladimir J. van der Laan
cdff41c12e cleanup unused constants 2011-07-01 18:31:10 +02:00
Matt Corallo
ce8f78a7bb Only use dnsseeds and static seeds when not on testnet. 2011-07-01 17:33:19 +02:00
Wladimir J. van der Laan
ab90d6e62a reverse address and label (suggestion by Danube) 2011-07-01 17:26:57 +02:00
Wladimir J. van der Laan
0052fe7bbc General cleanups 2011-07-01 17:06:36 +02:00
Pieter Wuille
4973174534 Limit response to getblocks to half of output buffer size
Introduce SendBufferSize() and ReceiveBufferSize(), and limit
the blocks sent as response to the "getblocks" message to
half of the active send buffer size.
2011-07-01 09:39:44 +02:00
Jeff Garzik
44d16327c1 Merge pull request from TheBlueMatt/dnsseed
Add new DNSSeed dnsseed.bluematt.me.
2011-06-30 14:51:55 -07:00
Matt Corallo
f03c31db82 Add new DNSSeed dnsseed.bluematt.me.
This seed will pull a random set of 20 nodes from the network which
are tested to be online instead of a static list.
2011-06-30 23:42:59 +02:00
Wladimir J. van der Laan
c60015a260 Fix detailed transaction information on doubleclick 2011-06-30 21:34:00 +02:00
Wladimir J. van der Laan
64f125f353 Address book: show unlabeled addresses as (no label) 2011-06-30 21:29:20 +02:00
Wladimir J. van der Laan
8b040f812a fix sorting in address table dialog 2011-06-30 21:11:51 +02:00
Wladimir J. van der Laan
c16eb94945 add icons to address book dialog buttons 2011-06-30 20:20:46 +02:00
Wladimir J. van der Laan
d61b7d13e4 Add "receiving addresses" to toolbar 2011-06-30 19:43:44 +02:00
Wladimir J. van der Laan
d56c6f312c Make it very clear when on testnet (green icon, add [testnet] to title) 2011-06-30 19:14:42 +02:00
Wladimir J. van der Laan
ef079e183b Split off WalletModel from ClientModel, to be able to support multi-wallets in future 2011-06-30 18:05:29 +02:00
Wladimir J. van der Laan
929eb9dc6c show an error if amount is not valid (either the amount or decimals is empty) 2011-06-30 17:32:19 +02:00
Wladimir J. van der Laan
6ed283946c Make it more clear what the "New" button does 2011-06-30 17:22:03 +02:00
Wladimir J. van der Laan
ceb6d4e11d Implement filter row instead of tabs, allows for more expressive filters 2011-06-29 23:09:55 +02:00
Wladimir J. van der Laan
19a5975d5a add "BTC" to balance for clarity 2011-06-29 20:50:21 +02:00
Joerie de Gram
ecd3e728b7 Fix connection failure debug output 2011-06-28 22:34:52 +02:00
Wladimir J. van der Laan
3cfe12c1b7 use 256x256 window icon, to prevent uglyness on OSes that show full-size icons for apps 2011-06-28 18:29:58 +02:00
Stéphane Gimenez
4d410cfce9 Fix AddressBook syncrhonization between a CWallet and CWalletDB
This problem was reported independently by laanwj in Issue .
2011-06-27 23:22:30 +02:00
Gavin Andresen
8111e27905 Merge pull request from gavinandresen/unitTest
Boost unit-testing framework. Thanks to Steve (gasteve in irc) for original code.
2011-06-27 13:30:44 -07:00
Gavin Andresen
8baf865c94 Boost unit-testing framework.
make -f makefile.{unix,osx,mingw} test_bitcoin
to compile dumb, do-almost-nothing placeholder unit tests.
2011-06-27 14:12:48 -04:00
Wladimir J. van der Laan
7aff3d5852 add icons to "New..." and "Copy to clipboard" buttons 2011-06-26 23:09:41 +02:00
Wladimir J. van der Laan
34fa178243 Change transaction table:
- Split "Description" column into "Type" and "Address", to make sorting easier (and facilitate filtering in the future)
- Merged "credit" and "debit" columns into one "amount" column that can be black (positive) or red (negative)
2011-06-26 22:47:02 +02:00
Giel van Schijndel
e913574e02 rpc: don't send 403 when using SSL to prevent DoS
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-06-26 21:07:59 +02:00
Giel van Schijndel
c9e70d4c0a rpc server: send '403 Forbidden' to rejected clients
In order to be a proper HTTP implementation clients that aren't allowed
to connect to the RPC server (using -rpcallowip), should receive a
proper HTTP response.  So instead of closing the connection on them send
a '403 Forbidden' status.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-06-26 21:07:59 +02:00
Wladimir J. van der Laan
e8ef3da713 update core to d0d80170a2 (CWallet class) 2011-06-26 19:23:24 +02:00
Wladimir J. van der Laan
d99f5a470c reduce spacing between "Add to address book as" and the text field 2011-06-26 12:01:25 +02:00
Pieter Wuille
d3800d59d5 Fix segfault when creating new wallet
The initialization of the default key used keyUser instead
of vchDefaultKey. keyUser is now complete removed.
2011-06-26 02:37:52 +02:00
Wladimir J. van der Laan
cae5264a4c fix typo in dutch translation 2011-06-25 23:27:19 +02:00
Wladimir J. van der Laan
42e950aa69 update dutch translation 2011-06-25 23:20:42 +02:00
Wladimir J. van der Laan
0030c1bd6c compile fixes by Unthinkingbit 2011-06-25 23:14:10 +02:00
Wladimir J. van der Laan
a404b1512a Improve look/usablity of send coins dialog 2011-06-25 22:57:24 +02:00
Wladimir J. van der Laan
38deedc1b5 allow adding address to address book in send dialog 2011-06-25 19:32:36 +02:00
Wladimir J. van der Laan
c88e14fe26 Call "initial download" "synchronizing with network" instead 2011-06-25 12:39:08 +02:00
Wladimir J. van der Laan
40951d81a7 finish nl translation 2011-06-24 21:45:33 +02:00
Wladimir J. van der Laan
6665c2431b use buttonbox for options dialog 2011-06-24 21:23:43 +02:00
Gavin Andresen
c774b16976 Merge branch 'totalblocksestimate1' of https://github.com/laanwj/bitcoin 2011-06-24 11:17:22 -04:00
James Burkle
ed2c01405f Edited init.cpp to include a check that -datadir exists 2011-06-23 23:43:26 -04:00
Wladimir J. van der Laan
daaee738fc experiment with internationalization (nl), unbreak build (externui.h->qtui.h) 2011-06-23 22:35:55 +02:00
Wladimir J. van der Laan
47c6215c22 use #ifdef QT_UI to distinguish Qt UI instead of hardcoded #if 0 2011-06-22 20:11:35 +02:00
Wladimir J. van der Laan
5f280ff557 clarify text 2011-06-21 20:39:37 +02:00
Wladimir J. van der Laan
b9e80983a5 Allow changing default address (fixes issue ) 2011-06-21 20:36:03 +02:00
Wladimir J. van der Laan
f5927f5b32 highlight default address 2011-06-21 19:54:09 +02:00
Wladimir J. van der Laan
c92fc340a2 when going to decimals field using ./, select it all, so that entry starts from scratch instead of appending to previous value 2011-06-21 19:14:35 +02:00
Wladimir J. van der Laan
50d08dc1e1 fix issue 2011-06-21 15:33:10 +02:00
Wladimir J. van der Laan
54e903a543 Add comment to tooltip that only sending addresses can be deleted 2011-06-21 07:56:44 +02:00
Wladimir J. van der Laan
84114e341d Fix some padding and focus issues with the new BitcoinAmountWidget 2011-06-21 07:36:49 +02:00
Wladimir J. van der Laan
f193c57a63 introduce bitcoin amount field with split amount/decimals, to protect against mistakes (https://forum.bitcoin.org/index.php?topic=19168.0) 2011-06-20 21:34:43 +02:00
Wladimir J. van der Laan
18b99e3f69 number of confirmations is no longer magic value 2011-06-20 21:34:31 +02:00
Pieter Wuille
98705aa51c Bugfixes walletclass
Some problems found by ius:
* compiler complains with no return after critical section block
* CKeyStore::GetPrivKey(key) was undefined for unknown key
* missing return statement in GetChange()
2011-06-20 20:07:28 +02:00
mark
3c7ebaedcd fixes for mac build 2011-06-20 07:30:54 -04:00
Shane Wegner
926e14b362 Fix missing includes needed for Boost 1.46. 2011-06-19 15:12:31 -07:00
Jeff Garzik
aa0c5e87e8 CWalletTx::GetAmounts(): pass NULL for CKeyStore*, rather than false
to fix warning.
2011-06-18 21:50:05 -04:00
Wladimir J. van der Laan
0f9ee792d9 initial block download spans total blocks minus threshold 2011-06-19 00:15:28 +02:00
Wladimir J. van der Laan
eade213197 add GetTotalBlocksEstimate() function, move magic number to constant 2011-06-19 00:12:02 +02:00
Wladimir J. van der Laan
6cab66354d On initial block chain download, show a progress bar 2011-06-18 21:25:38 +02:00
Wladimir J. van der Laan
0eeb4f5d5b update bitcoin core from git (eeac8727bc) 2011-06-18 18:46:01 +02:00
Wladimir J. van der Laan
245ab4d0ac add configure and receive icon 2011-06-18 17:26:31 +02:00
Wladimir J. van der Laan
45c4a0b354 Use explicit resource initialization, apparently needed on some platforms 2011-06-18 14:25:46 +02:00
Wladimir J. van der Laan
7df70c000a Prevent notification balloon-spam on initial block download, const-correctness in client model 2011-06-18 13:13:48 +02:00
Wladimir J. van der Laan
0f3981bea9 remove commented code, use // for one-line comments and comments inside functions 2011-06-18 11:53:25 +02:00
Wladimir J. van der Laan
aa52972660 fix issue (dark theme compat) 2011-06-17 22:44:15 +02:00
Wladimir J. van der Laan
553af2f702 remove unused icons 2011-06-17 18:43:08 +02:00
Wladimir J. van der Laan
e61cfaf5c1 add svg sources for icons 2011-06-17 18:25:29 +02:00
Wladimir J. van der Laan
89c94b5578 better icons for confirmations 2011-06-17 17:47:40 +02:00
Wladimir J. van der Laan
8c69f1fb25 show connection meter "full" only at 10+ connections 2011-06-16 09:10:05 +02:00
Wladimir J. van der Laan
58557b5aff transaction status icons 2011-06-15 21:03:17 +02:00
Wladimir J. van der Laan
cf450e1b4c icons test 2011-06-15 20:07:21 +02:00
Pieter Wuille
64c7ee7e6b CWallet class
* A new class CKeyStore manages private keys, and script.cpp depends on access to CKeyStore.
* A new class CWallet extends CKeyStore, and contains all former wallet-specific globals; CWallet depends on script.cpp, not the other way around.
* Wallet-specific functions in CTransaction/CTxIn/CTxOut (GetDebit, GetCredit, GetChange, IsMine, IsFromMe), are moved to CWallet, taking their former 'this' argument as an explicit parameter
* CWalletTx objects know which CWallet they belong to, for convenience, so they have their own direct (and caching) GetDebit/... functions.
* Some code was moved from CWalletDB to CWallet, such as handling of reserve keys.
* Main.cpp keeps a set of all 'registered' wallets, which should be informed about updates to the block chain, and does not have any notion about any 'main' wallet. Function in main.cpp that require a wallet (such as GenerateCoins), take an explicit CWallet* argument.
* The actual CWallet instance used by the application is defined in init.cpp as "CWallet* pwalletMain". rpc.cpp and ui.cpp use this variable.
* Functions in main.cpp and db.cpp that are not used by other modules are marked static.
* The code for handling the 'submitorder' message is removed, as it not really compatible with the idea that a node is independent from the wallet(s) connected to it, and obsolete anyway.
2011-06-15 11:05:55 +02:00
Pieter Wuille
e89b9f6a2a move wallet code to separate file
This introduces two new source files, keystore.cpp and wallet.cpp with
corresponding headers. Code is moved from main and db, in a preparation
for a follow-up commit which introduces the classes CWallet and CKeyStore.
2011-06-15 11:05:55 +02:00
Wladimir J. van der Laan
b1ef1b24ce add connection meter 2011-06-14 21:34:51 +02:00
Wladimir J. van der Laan
a790ec5884 Make status column narrow (icon only, details on tooltip) 2011-06-14 21:06:00 +02:00
Jeff Garzik
19ea44208f Merge pull request from jordanlewis/betterheaders
Optimize header dependencies; improve Makefile dependency graph
2011-06-14 02:05:57 -07:00
Jeff Garzik
c02ec54269 FormatFullVersion: build fix related to recent translation improvement 2011-06-14 04:50:51 -04:00
Jeff Garzik
6f460bace6 Merge pull request from codler/translate
Update swedish translation
2011-06-14 01:33:04 -07:00
Wladimir J. van der Laan
6315130e60 Internationalization -- conversion of strings from bitcoin core 2011-06-13 19:29:35 +02:00
Wladimir J. van der Laan
39cf857db9 Internationalization -- initial step, make _ return a std::string to prevent memory leaks 2011-06-13 16:56:37 +02:00
Wladimir J. van der Laan
e83474f2eb Address book: select action (edit/select) based on context 2011-06-13 12:07:32 +02:00
Wladimir J. van der Laan
249300aebe Status column reorganization 2011-06-13 09:05:48 +02:00
Wladimir J. van der Laan
92ab03afc8 new icons -- test 2011-06-12 19:22:06 +02:00
Wladimir J. van der Laan
d066e25744 replace icons 2011-06-12 18:53:02 +02:00
Wladimir J. van der Laan
3ac5aa4a95 add svg version of icon, so that it can be scaled to bigger sizes later 2011-06-12 14:37:14 +02:00
Wladimir J. van der Laan
18cf214528 update bitcoin core to git ce148944c7 2011-06-12 12:27:01 +02:00
Wladimir J. van der Laan
c428d9e76a remove wallet updating debug output 2011-06-12 11:22:44 +02:00
Wladimir J. van der Laan
37f793c631 use stylized icon by bitboy 2011-06-12 11:16:08 +02:00
Pieter Wuille
76d660ebd3 Faster timeout when connecting
Use non-blocking connects, and a select() call to wait a predefined
time (5s by default, but configurable with -timeout) for either
success or failure. This allows much more connections to be tried
per time unit.

Based on a patch by phantomcircuit.
2011-06-12 00:29:05 +02:00
Han Lin Yap
ca93cc563e Double check translation and improved a translation string 2011-06-12 00:18:34 +02:00
Wladimir J. van der Laan
ba4081c1fc move back to original directory structure 2011-06-11 22:11:58 +02:00
Han Lin Yap
a299e551fe Remove unused variable 2011-06-11 03:21:32 -07:00
Jeff Garzik
6de1326ba4 Lower minimum relay TX fee to 0.0001 (from 0.0005) BTC. 2011-06-10 02:07:13 -04:00
Jeff Garzik
65ee333ae0 Merge pull request from TheBlueMatt/cpufix
Fix CPU Usage bug when using -nolisten and have no connections.
2011-06-09 22:42:25 -07:00
Gavin Andresen
60152827e3 Merge pull request from tcatm/keypool-fix
create keypool in LoadWallet()
2011-06-07 11:38:35 -07:00
Matt Corallo
c6710c7a70 Fix CPU Usage bug when using -nolisten and have no connections. 2011-06-07 00:54:41 +02:00
Doug Huff
a9d3af8821 Demystify a few magic numbers. 2011-06-06 12:49:11 -05:00
Jeff Garzik
352b4ea5b9 Reduce minimum TX fee for new transactions, to 0.0005. 2011-06-05 14:28:14 -04:00
Jeff Garzik
6f07e22210 Bump version to 0.3.23. 2011-06-05 10:39:01 -04:00
Jeff Garzik
09d1484b22 Merge pull request from sipa/mintxfeefix
Fix for small change outputs
2011-06-05 07:32:58 -07:00
Jeff Garzik
7a234cdae5 Merge pull request from sipa/rescanupdate
Update transactions already in the wallet when rescanning.
2011-06-05 07:30:47 -07:00
Nils Schneider
ca81b168d9 create keypool in LoadWallet() 2011-06-03 18:04:41 +02:00
Doug Huff
482cb65690 Fix rfc1918 and rfc3927 compliance for ignoring non-internet-routable hosts. 2011-06-02 14:46:41 -05:00
Pieter Wuille
e104c79374 Bugfix for dnsseed introduced by dnslookup 2011-06-02 16:22:49 +02:00
Pieter Wuille
7c05877df2 Merge remote branch 'upstream/master' 2011-06-02 16:17:37 +02:00
Pieter Wuille
5fecb27c1e Merge pull request from TheBlueMatt/win32ssl
Update to openssl-1.0.0d and enable RPC-SSL on Win32
2011-05-28 13:00:33 -07:00
Pieter Wuille
12a1256c1d bugfix: accept free transactions 2011-05-28 16:43:49 +02:00
Matt Corallo
af531f0449 Fix GUI build on UNIX. 2011-05-27 12:38:10 +02:00
Matt Corallo
0649b6af90 Update to openssl-1.0.0d and enable RPC-SSL on Win32 2011-05-27 02:53:13 +02:00
Matt Corallo
bd39b48f19 Handle high DPI a bit more gracefully on Win32.
Not ideal, icons for send and address book don't show, just the
standard bitcoin icon, and balance is still cut off, but the
number is readable.
2011-05-27 02:20:11 +02:00
Pieter Wuille
5e1e458ecb loss of significance in difficulty (by lfm)
For instance any nBits compressed value from 0x1a44b800 thru
0x1a44b9ff will show as difficulty 244139.4816. This patch will
more accurately convert the nBits compressed values to the double
difficulty.

This will display any of the recent difficulty levels slightly
differently though. Early difficulties and testnet difficulties are
not large enough to trigger this bug.

None of the actual targets or compressed targets are changed, only
the conversion to the floating point difficulty is changed and afaik
it is only ever displayed, never converted back so the patch does not
effect the target calculations, binary files, databases nor the binary
protocol.
2011-05-26 23:35:00 +02:00
Pieter Wuille
3d962315f2 Merge pull request from sipa/mintxrelay
Separate required fee for relaying and creation
2011-05-26 13:33:51 -07:00
Matt Corallo
77172463a3 Fixes and - delete delete[] mismatch. 2011-05-26 02:24:01 +02:00
Pieter Wuille
2bfda1be11 Separate required fee for relaying and creation
Transactions created with the new minimal fee policy would not be
relayed by the network. Therefore, we separate the minimal fee that
is necessary to relay and to create, leaving the creation one at
the old amount, for now.
2011-05-26 00:54:58 +02:00
Pieter Wuille
ca253d5911 Fix for small change outputs
With the separation of CENT and MIN_TX_FEE, it is now reasonable
to create change outputs between 0.01 and 0.0005, as these are
spendable according to the policy, even though they require a fee
to be paid.

Also, when enough fee was already present, everything can go into
a change output, without further increasing the fee.
2011-05-25 21:30:14 +02:00
Pieter Wuille
1c528eeee9 Update transactions already in the wallet when rescanning.
When rescanning, if the scanned transaction is already in the wallet, it
is skipped. However, if someone sends a transaction, does not wait for
confirmation, switches wallets, waits for a block that contains his original
transaction, and switches wallets again, a rescan will leave his wallet
transaction (which has no merkle branch, so no confirmations) untouched.
2011-05-22 17:12:20 +02:00
Matt Corallo
7ee8e5bf86 Revert "OSX build tweaks (laszlo)"
This reverts commit 69ae372b51 which
removes support for building the Mac version of Bitcoin with UPnP
support and UPnP disabled by default (which should be the default,
according to the community vote and as its the default on all
other platforms).
2011-05-21 14:14:34 +02:00
Jeff Garzik
69a27a4ec6 irc: #bitcoin is overflowing. split up into 100 randomly-joined channels.
From laszlo
2011-05-20 20:54:51 -04:00
Jeff Garzik
69ae372b51 OSX build tweaks (laszlo) 2011-05-20 20:48:44 -04:00
Jordan Lewis
31f2931281 Only include certain boost headers if necessary. 2011-05-17 18:58:47 -05:00
Jordan Lewis
6b783965c4 Remove some globally unused headers from headers.h 2011-05-17 18:58:47 -05:00
Pieter Wuille
b201c1f600 Bugfix for dnslookup: irc.cpp still used old CAddress constructor 2011-05-17 17:54:06 +02:00
Jeff Garzik
112262cb24 Merge pull request from gavinandresen/portoption
-port option to listen on arbitrary port
2011-05-16 22:29:28 -07:00
Jordan Lewis
fdd7d04744 Only include strlcpy.h when we have to 2011-05-15 22:23:42 -05:00
Jordan Lewis
edd309e537 Only include init.h when we have to 2011-05-15 22:23:37 -05:00
Jordan Lewis
40c2614ef4 Only include net.h when we have to 2011-05-15 22:19:17 -05:00
Jordan Lewis
ed0c143242 Only included rpc.h when necessary 2011-05-15 22:19:16 -05:00
Jordan Lewis
1512d5ce64 Only include db.h when we have to. 2011-05-15 22:19:16 -05:00
Jordan Lewis
f23f9a03c8 Only include irc.h when needed 2011-05-15 22:19:16 -05:00
Gavin Andresen
f441949515 Build error mingw, missing std:: 2011-05-15 13:13:50 -04:00
Gavin Andresen
00bcfe0b7e -port option to listen on arbitrary port 2011-05-15 12:36:21 -04:00
Wladimir J. van der Laan
223b6f1ba4 make bitcoin include files more modular 2011-05-15 12:04:20 +02:00
Pieter Wuille
c22feee634 Merge pull request from TheBlueMatt/mingwbuildfix
Fix MinGW build due to bad pointers to ui.rc pixmaps stuff.
2011-05-14 10:09:05 -07:00
Matt Corallo
bcb971f930 Fix MinGW build due to bad pointers to ui.rc pixmaps stuff. 2011-05-14 18:51:52 +02:00
Pieter Wuille
545a679aed bugfix in dnslookup code: didn't compile in mingw 2011-05-14 18:13:58 +02:00
Jeff Garzik
efe06e1efd Merge pull request from gavinandresen/negativemove
Allow move RPC to take account balances negative
2011-05-12 14:46:13 -07:00
Jeff Garzik
73eb306cfd Merge branch 'fUseUPnPfix' of https://github.com/TheBlueMatt/bitcoin into tmp 2011-05-12 17:36:42 -04:00
Jeff Garzik
9398bf946c Merge pull request from sipa/dnslookup
Support for name lookups in -connect and -addnode
2011-05-12 14:31:25 -07:00
Daniel Holbert
5d1d69453a Add #ifdef USE_UPNP around usage of fUseUPnP to fix build failure. 2011-05-12 23:30:27 +02:00
Jeff Garzik
2a2487514a Decrease minimum TX fee to 0.0005 BTC. 2011-05-11 16:50:09 -04:00
Jeff Garzik
a630da6400 Replace CENT with new constant MIN_TX_FEE, where appropriate.
MIN_TX_FEE==CENT remains true (until next commit).
2011-05-11 16:48:51 -04:00
Pieter Wuille
a6a5bb7c20 Support for name lookups in -connect and -addnode
* A new option -dns is introduced that enables name lookups in
  -connect and -addnode, which is not enabled by default,
  as it may be considered a security issue.
* A Lookup function is added that supports retrieving one or
  more addresses based on a host name
* CAddress constructors (optionally) support name lookups.
* The different places in the source code that did name lookups
  are refactored to use NameLookup or CAddress instead (dns seeding,
  irc server lookup, getexternalip, ...).
* Removed ToStringLog() from CAddress, and switched to ToString(),
  since it was empty.
2011-05-10 23:49:30 +02:00
Gavin Andresen
832fb114a7 Allow move RPC to take account balances negative
Use case:  Customer owes you bitcoins, so you create a payment address
associated with an account with a negative balance (the amount they owe).
When customer pays, that account balance will go to zero.
2011-05-09 14:45:52 -04:00
Jeff Garzik
d9068ad5a1 Add settxfee RPC, to permit setting default TX fee at runtime. 2011-05-09 14:35:30 -04:00
Gavin Andresen
e8adcf88cd Help for sendtoaddress/sendfrom was wrong: amounts are rounded to 0.00000001 2011-05-09 14:26:41 -04:00
Gavin Andresen
91b8932eb1 Merge branch 'master' of github.com:bitcoin/bitcoin 2011-05-09 14:04:24 -04:00
Jeff Garzik
b17be7e14b Manual merge of jaromil's source tree reorg commit.
Conflicts:
	src/sha256.cpp
2011-05-09 14:00:14 -04:00
Jaromil
84c3fb07b0 directory re-organization (keeps the old build system)
there is no internal modification of any file in this commit

files are moved into directories according to established standards in
sourcecode distribution; these directories contain:

 src - Files that are used in constructing the executable binaries,
       but are not installed.

 doc - Files in HTML and text format that document usage, quirks of
       the implementation, and contributor checklists.

 locale - Files that contain human language translation of strings
          used in the program

 contrib - Files contributed from distributions or other third party
 	   implementing scripts and auxiliary programs
2011-04-23 12:10:25 +02:00