aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-05-26Merge pull request #1370 from Diapolo/add_startuptime_to_logPieter Wuille
add client startup time as an entry to debug.log
2012-05-25Add a testnet checkpoint at block 546Gavin Andresen
2012-05-25Fix issue#1082, testnet difficulty unsigned integer underflowGavin Andresen
2012-05-25Testnet, Mark IIIGavin Andresen
2012-05-25Remove newlines from JSON stringsGavin Andresen
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-25Unit tests for transaction size limitsGavin Andresen
2012-05-25Added 'immature balance' for miners. Only displayed if the balance is ↵sje397
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-25Use the QueueShutdown signal to stop accepting new RPC connectionsGiel van Schijndel
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25Allow all addresses on the loopback subnet (127.0.0.0/8) not just 127.0.0.1Giel van Schijndel
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25Generalise RPC connection handling code to allow more listening socketsGiel van Schijndel
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-25Allow clients on the IPv6 loopback as wellGiel van Schijndel
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25Add dual IPv4/IPv6 stack support to the RPC serverGiel van Schijndel
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-25Use asynchronous I/O to handle RPC requestsGiel van Schijndel
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-24Lots more Script unit test cases.Gavin Andresen
2012-05-24Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddressPieter Wuille
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-24Encapsulate public keys in CPubKeyPieter Wuille
2012-05-24More CScript unit tests.Gavin Andresen
2012-05-24DoS_tests: fix signed/unsigned comparison warningsJeff Garzik
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-24Merge pull request #1387 from Diapolo/rem_unused_rpcdumpJeff Garzik
remove dead "using namespace boost::asio;" from rpcdump.cpp
2012-05-24Merge pull request #1383 from jgarzik/rawtxJeff Garzik
JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
2012-05-24remove dead "using namespace boost::asio;" from rpcdump.cppPhilip Kaufmann
2012-05-24Merge branch 'merge2' into mergeJeff Garzik
2012-05-23rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h.Jeff Garzik
2012-05-23Refactor: move runCommand() to util.cppJeff Garzik
2012-05-23JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to networkJeff Garzik
2012-05-23add client startup time as an entry to debug.log (note: logged time in ↵Philip Kaufmann
debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString
2012-05-23Refactor: add IsChainFile helper. LoadBlockIndex() code movement.Jeff Garzik
2012-05-22Merge pull request #1342 from rebroad/LastSeenMinusMinusGregory Maxwell
Should not be T minus, as this indicate duration to future event.
2012-05-22CDBEnv: fix qt buildLuke Dashjr
2012-05-22Merge pull request #1380 from gavinandresen/optimize2Pieter Wuille
Move signature cache from CKey::Verify to CheckSig in script.cpp
2012-05-22Merge branch 'dbenv' into tmpJeff Garzik
Conflicts: src/db.cpp
2012-05-22Merge pull request #1381 from jgarzik/check-deserJeff Garzik
Prevent crashes due to missing or corrupted database records
2012-05-22Merge pull request #1369 from sipa/bootorderPieter Wuille
Reorder AppInit2
2012-05-22ProcessMessage(): remove duplicate orphan tx debug messageJeff Garzik
2012-05-22Prevent crashes due to missing or corrupted blk????.dat recordsJeff Garzik
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-22Prevent crashes due to missing or corrupted database recordsJeff Garzik
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-22Move signature cache from CKey::Verify to CheckSig in script.cppGavin Andresen
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-22Merge pull request #1379 from laanwj/2012_05_macoshideWladimir J. van der Laan
Remove duplicate behavior on MacOSX
2012-05-22Remove duplicate behavior on MacOSXWladimir J. van der Laan
Dock icon on macosx already has show/hide functionality. This results in erratic behavior.
2012-05-22Merge branch 'master' of github.com:bitcoin/bitcoinGavin Andresen
2012-05-22Merge branch 'optimize'Gavin Andresen
2012-05-22Merge pull request #1378 from rebroad/ProcessMessagesDebugCorrectGregory Maxwell
Correct debug.log output to show correct function the debug is coming from.
2012-05-22Correct debug.log output to show correct function the debug is coming from.R E Broadley
2012-05-21Define BOOST_SPIRIT_THREADSAFE in all makefilesJeff Garzik
rather than at each include site. Fixes #1371
2012-05-21Merge pull request #917 from mndrix/reopen-log-filePieter Wuille
Reopen log file on SIGHUP
2012-05-21Merge pull request #1329 from laanwj/2012_05_addrremovewhitespaceWladimir J. van der Laan
Filter out whitespace and zero-width non-breaking spaces in address field validator
2012-05-21Remove autocorrection of 0/i in addresses in UIWladimir J. van der Laan
2012-05-21Filter out whitespace and zero-width non-breaking spaces in validatorWladimir J. van der Laan
- Fixes issues with copy/pasting from web or html emails (#1325)
2012-05-21Reorder AppInit2Pieter Wuille
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-21Merge pull request #1365 from Diapolo/askpassphrasedialogWladimir J. van der Laan
GUI: start rows in askpassphrasedialog.ui at 0 (not 1)