Commit Graph

2684 Commits

Author SHA1 Message Date
Wladimir J. van der Laan dffb535ead qt: remove fee recommendation in settings
This value gets stale really quickly, do not hardcode it into a message.
Completely remove it for now.
Later on, a mechanism will be added to determine fees based on the mempool.

Closes #2576
2013-04-27 11:06:43 +02:00
Wladimir J. van der Laan 1a31428ec0 qt: remove extraneous padding introduced in multiwallet support patch
solve issue #2529
2013-04-26 07:38:24 +02:00
Pieter Wuille 33912d1f23 Allow select()ing up to 1024 file descriptors on Windows 2013-04-26 01:31:10 +02:00
Pieter Wuille 360cfe142c Allow the default key to be unavailable
This solves the issue where no default key can be added after -salvagewallet.
2013-04-25 19:36:10 +02:00
Philip Kaufmann 9e334cfae3 translations update 2013-04-25
- new language "se"
- update bitcoin.qrc and bitcoin_en.ts
- fetch current translations from Transifex
2013-04-25 16:53:51 +02:00
Philip Kaufmann 46fd626b21 small updates for walletview.cpp
- make "&Export" translatable
- fix some includes
- small formatting changes
2013-04-25 16:15:31 +02:00
Pieter Wuille ccda03b570 Remove database/ after clean shutdown 2013-04-24 22:38:56 +02:00
Pieter Wuille 1859aafef0 Try moving database/ away in case of failure 2013-04-24 01:37:19 +02:00
Philip Kaufmann e79110822e remove duplicate bitdb.Open() code from init
- remove code from step 7, which we already have in step 5 of init
2013-04-24 00:49:50 +02:00
Pieter Wuille 2233fc5318 Reduce number of open LevelDB files to 64 2013-04-24 00:10:23 +02:00
Wladimir J. van der Laan af10e3f6ac Merge pull request #2526 from Diapolo/Qt_misc
Bitcoin-Qt: misc small changes
2013-04-23 09:27:30 -07:00
Philip Kaufmann 61032f8942 remove obsolete and unused typedef for Windows 2013-04-23 09:54:29 +02:00
Pieter Wuille 97e7901a3a Do not invoke DoS for non-canonical sigs 2013-04-18 22:49:23 +02:00
Wladimir J. van der Laan 72782f3b92 Merge pull request #2525 from laanwj/2013_04_metatypebool
qt: register metatype for bool*
2013-04-18 08:59:49 -07:00
Wladimir J. van der Laan dc2de757a4 Merge pull request #2501 from Diapolo/progress
rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()
2013-04-18 05:54:42 -07:00
Wladimir J. van der Laan 52ae314b5e Merge pull request #2524 from jonasschnelli/new_splashscreen_fresh
new splash screen
2013-04-18 00:05:21 -07:00
Gavin Andresen 8b1d72be32 Merge pull request #2536 from jcalvinowens/makefile-clarifying-comments
Add comments to UNIX Makefile regarding USE_UPNP
2013-04-17 14:21:34 -07:00
Jonas Schnelli e790d47785 new toolbar icon for liunx/win fix #2518
On black toolbars, the new icon doesn't look very well.
Now the toolbar icon has again a transparent "B" for better style on toolbars.
Does not affect the mac client.

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-17 10:51:19 +02:00
Jonas Schnelli f9124587cc new splash screen
why:

- the current splash-screen has no referring to official images on - https://en.bitcoin.it/wiki/Promotional_graphics
- the current splash screen only exists in a low res jpg
- current splash screen looks dark and "hackish"
- new splash screen should generate positive, "trust-emotions".
- new splash screen gives the user infos about the running client.
- new splash screen can handle long messages (in a lot of - languages the text is cropped in current release)

- new size (x2) 400x312

- contains textual information about the client
- textinfos are dynamicly written to the pixmap

when -testnet is switch on, the splashscreen will show the bitcoin logo in testnet-color (as well as a text [testnet])

example: https://dl.dropbox.com/u/7383846/new_bitcoin_splash.png
2013-04-17 01:14:53 -07:00
Calvin Owens e74fbca1c2 Add comments to UNIX Makefile regarding USE_UPNP
The tri-state nature of USE_UPNP isn't immediately obvious, so paste
the explanation from doc/build-unix.txt as a comment in the makefile.
2013-04-17 00:04:03 -05:00
Wladimir J. van der Laan fb53186571 Merge pull request #2519 from jonasschnelli/new_testnet_ico_file
new testnet ico file
2013-04-15 10:35:27 -07:00
Jonas Schnelli 4d17a1b0c2 fix: GUI Disappearing #1522 (Mac OSX)
- this solution works stable on mac and ensures that the window get's reopened when the user clicks the dock icon .
- tested on 10.8 with Qt4.8.4 and Qt5.0.1

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-15 12:02:01 +02:00
Philip Kaufmann a26811ebdf embed bitcoin_testnet.ico in bitcoin-qt.exe (usable for shortcuts) 2013-04-14 21:49:07 +02:00
Philip Kaufmann 41fdc1cad1 overviewpage: make some code Qt5 compatible
- that changes will be fine for Qt4 also
2013-04-14 19:53:27 +02:00
Philip Kaufmann d9d6c7d936 bitcoingui: remove 2 unneeded includes 2013-04-14 19:53:27 +02:00
Philip Kaufmann e9abeac204 bitcoin: use static QApplication:: instead of app. 2013-04-14 19:53:19 +02:00
Philip Kaufmann 99ae01234d aboutdialog: use just "The Bitcoin developers" as tr()-string
- this ensures our new splash screen and this will share a translatable
  string an remove the need for an additional translation
2013-04-14 19:42:15 +02:00
Wladimir J. van der Laan e83a90f127 qt: register metatype for bool*
This allows the bool* type to be passed between threads.  Should solve issue #2402.
2013-04-14 18:50:40 +02:00
Pieter Wuille 20d0810f30 Require strictly-standard encodings in mempool 2013-04-14 00:17:49 +02:00
Wladimir J. van der Laan ac89a1ebe7 Merge pull request #2492 from Diapolo/Qt_message
Bitcoin-Qt: remove " - " on empty title in BitcoinGUI::message()
2013-04-13 05:40:30 -07:00
Wladimir J. van der Laan f81b67829d Merge pull request #2515 from laanwj/2013_04_move_exportbutton
qt: move export button to tabs
2013-04-13 05:39:30 -07:00
Gavin Andresen 1b4b463c01 Merge pull request #2418 from sipa/uintwork
Use a uint256 for bnChainWork
2013-04-12 10:27:56 -07:00
Wladimir J. van der Laan 45155d3010 qt: move export button to tabs
Having the export button at the top was confusing people into thinking
the entire wallet was exported.

This commit moves the export button to the address book, receiving
addresses and transaction tabs separately.
2013-04-12 13:13:32 +02:00
Pieter Wuille 1657c4bc49 Use a uint256 for bnChainWork
Every block index entry currently requires a separately-allocated
CBigNum. By replacing them with uint256, it's just 32 bytes extra
in CBlockIndex itself.

This should save us a few megabytes in RAM, and less allocation
overhead.
2013-04-12 12:17:28 +02:00
Wladimir J. van der Laan 212b42c623 qt: don't show rpcconnect command line option in help
GUI can't connect to RPC. Showing this option in the help confuses
people, so remove it.
2013-04-11 22:29:05 +02:00
Wladimir J. van der Laan 3656a3c558 Merge pull request #2503 from Diapolo/copyright-year
new COPYRIGHT_YEAR macro in clientversion.h
2013-04-11 06:49:46 -07:00
Jonas Schnelli 5ab27b32a2 new testnet window .ico file
Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-11 15:17:00 +02:00
Philip Kaufmann 8d643c90a6 Bitcoin-Qt: remove " - " on empty title in BitcoinGUI::message()
- don't display "Bitcoin - " when no title was supplied but just "Bitcoin"
2013-04-11 08:32:55 +02:00
Wladimir J. van der Laan 9a4eaf3cff Merge remote-tracking branch 'jonasschnelli/new_icons' (#2497)
Conflicts:
	doc/assets-attribution.txt
2013-04-11 06:57:27 +02:00
Wladimir J. van der Laan bb8bc860e3 Merge pull request #2487 from Diapolo/translations
translations update 2013-04-08
2013-04-10 13:00:56 -07:00
Philip Kaufmann cdd4400889 use the new COPYRIGHT_YEAR macro in bitcoin-qt.rc
- this reduces the places, where we need to change the year further
2013-04-10 17:15:34 +02:00
Philip Kaufmann ec3cac6631 move COPYRIGHT_YEAR to clientversion.h
- this allows usage of that information also in other places (e.g. splash
  screen)
2013-04-10 16:53:36 +02:00
Philip Kaufmann 4881353efe rework ClientModel::getBlockSource() + BitcoinGUI::setNumBlocks()
- updates ClientModel::getBlockSource() to return all available states and
  sorts enum BlockSource in order of usage cases (none default, then reindex,
  import and network)
- updates BitcoinGUI::setNumBlocks() to better use getBlockSource() and
  also adds a message, when we have NO block source available
2013-04-10 15:53:40 +02:00
Jonas Schnelli 4c23743635 better quality windows .ICO icon file
- icon quality of the win icon of <256px resolutions are now much better

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-10 14:40:51 +02:00
Jonas Schnelli e0af1b3ed6 fix mac specific button modification on addressbookpage
- continue the mac behavior of clearing button icons (because it's unusual on mac apps)
- fix: new button variable names, new buttons (verifyMessage, signMessage)

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-09 21:11:16 +02:00
Jonas Schnelli f9579c55b3 overhaul of the testnet icon (green color) and the toolbar icons
- redefined the green color
- created new toolbar icons
- updated the assets-attribution.txt

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-09 20:05:32 +02:00
Gavin Andresen c553fe8d43 Merge pull request #2469 from Diapolo/clientmodel-progress
Bitcoin-Qt: emit numBlocksChanged for changed reindex or importing state
2013-04-09 10:59:29 -07:00
Gavin Andresen 54c0b3eac7 Merge pull request #2474 from sipa/pre0.8.2
Switch version numbers to 0.8.1.99
2013-04-09 10:57:59 -07:00
Gavin Andresen f158e363a4 Merge pull request #2478 from sipa/fullhash
Always print full hashes (tx, block, inv)
2013-04-09 10:57:16 -07:00
Gavin Andresen 1fd3ed25be Merge pull request #2461 from sipa/syncnode
Make sure we always have a node to do IBD from
2013-04-09 10:51:06 -07:00
Jeff Garzik 1483aac5f9 net.cpp: Do not change primary process name from (default) to "bitcoin-start"
Discussed a bit on IRC.
2013-04-08 22:02:57 -04:00
Gavin Andresen f49992d983 Merge pull request #2243 from luke-jr/bugfix_leveldb
LevelDB build bugfix
2013-04-08 18:03:03 -07:00
Wladimir J. van der Laan fb17911e9a Merge pull request #2470 from Diapolo/progressbarlabel
Bitcoin-Qt: update for BitcoinGUI::eventFilter()
2013-04-08 11:27:02 -07:00
Wladimir J. van der Laan cf03a5ce8a Merge pull request #2481 from laanwj/2013_04_cleanup
qt: remove redundant wallet methods from bitcoingui
2013-04-08 08:25:01 -07:00
Wladimir J. van der Laan 70c71a6a2a Merge pull request #2477 from jonasschnelli/new_icons
new icons for windows, linux, etc.
2013-04-08 08:24:38 -07:00
Pieter Wuille b7b774d82f Merge pull request #2419 from sipa/noreltime
Drop release times for CNode
2013-04-08 08:21:06 -07:00
Gavin Andresen 1829134afe Merge pull request #2272 from gavinandresen/getbalancefix
Fix getbalance discrepency
2013-04-08 06:37:58 -07:00
Pieter Wuille 1828133c62 Merge pull request #2403 from gmaxwell/minfee-to-relayfee
Make MIN_TX_FEE match MIN_RELAY_TX_FEE.
2013-04-08 01:50:21 -07:00
Philip Kaufmann 6a270c5f81 translations update 2013-04-08
- updates for bitcoinstrings.cpp and bitcoin_en.ts
- changes help text for -rpcthreads to match -par
- fix a small glitch with -par to be "-par=<n>"
2013-04-08 08:50:03 +02:00
Gregory Maxwell 96371bc6e0 Merge pull request #2282 from mb300sd/addressinlistunspent
Address in listunspent
2013-04-07 14:44:19 -07:00
Pieter Wuille 86648a8d16 Add bytessent, bytesrecv and syncnode to getpeerinfo 2013-04-07 19:31:13 +02:00
Pieter Wuille 6ed71b5e4f Make sure we always have a node to do IBD from
This introduces the concept of the 'sync node', which is the one we
asked for missing blocks. In case the sync node goes away, a new one
will be selected.

For now, the heuristic is very simple, but it can easily be extended
later to add better policies.
2013-04-07 19:19:13 +02:00
Philip Kaufmann 84b89afbd7 Translations update: pull from Transifex
- added languages in bitcoin.qrc: bs, ca, cy, eo, gu_IN, hi_IN, ja, la,
  lv_LV and th_TH (some translations files were already in src/qt/locale
  but not added in the .qrc file
2013-04-07 13:36:54 +02:00
Wladimir J. van der Laan 7e600cd92d qt: remove redundant wallet methods from bitcoingui
send encryptWallet/backupWallet/changePassphrase directly to walletFrame
2013-04-07 12:11:08 +02:00
Pieter Wuille 1c06aa98c6 Always print full hashes (tx, block, inv) 2013-04-07 03:43:55 +02:00
Jonas Schnelli 27cc0d7fd2 new windows and linux icons
- new windows .ico contains multiple resolutions up to 256px
- new testnet (green) icon
- new png icon for llinux, etc.
- new doxygen icon
- changed the assets-attribution.txt

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-06 20:35:10 +02:00
Jonas Schnelli 5675ae2f11 moved bitcoin.svg to correct folder (qt/res/src)
Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-06 20:33:41 +02:00
Philip Kaufmann 87dd6035e5 Bitcoin-Qt: emit numBlocksChanged for changed reindex or importing state
- this allows our progressbarlabel to correctly update, when we
  finish a reindex or import, but do not get new blocks from other sources
2013-04-06 18:50:34 +02:00
Pieter Wuille 2b34779ae2 Switch version numbers to 0.8.1.99 2013-04-06 18:17:14 +02:00
Philip Kaufmann 35ed704d44 Bitcoin-Qt: update for BitcoinGUI::eventFilter()
- this allows us to use the progressbar and the label independently (if
  needed) and still prevents setStatusTip() to use them, if one of the 2
  is active
2013-04-06 12:24:52 +02:00
Pieter Wuille 484af4e2d1 Merge pull request #2456 from Diapolo/code-layout
small indentation, space, formatting fixes (no code changes)
2013-04-05 18:15:23 -07:00
Philip Kaufmann b001c87126 small indentation, space, formatting fixes (no code changes) 2013-04-06 02:29:33 +02:00
Wladimir J. van der Laan c19c1d00d9 Merge pull request #2443 from Diapolo/Qt_addrbook
Bitcoin-Qt: updates to addressbookpage
2013-04-05 11:24:06 -07:00
Pieter Wuille 430cbad411 Merge pull request #2460 from Diapolo/clientmodel
Bitcoin-Qt: add Genesis blocks time for testnet
2013-04-05 02:37:24 -07:00
Wladimir J. van der Laan 369e3df0f8 Merge pull request #2442 from Diapolo/Qt_RPCCon
Bitcoin-Qt: small RPCConsole cleanup
2013-04-05 01:24:15 -07:00
Wladimir J. van der Laan d37fb2070d Merge pull request #2444 from jonasschnelli/master
new mac osx icon
2013-04-05 01:19:09 -07:00
Philip Kaufmann 8d432cd66d Bitcoin-Qt: add Genesis blocks time for testnet
- add the Genesis blocks time for the testnet in
  ClientModel::getLastBlockDate()
2013-04-04 22:15:47 +02:00
Pieter Wuille cedaa71446 Drop release times for CNode
It seems there were two mechanisms for assessing whether a CNode
was still in use: a refcount and a release timestamp. The latter
seems to have been there for a long time, as a safety mechanism.

However, this timer also keeps CNode objects alive for far longer
than necessary after disconnects, potentially opening up a DoS
window.

This commit removes the timestamp-based mechanism, and replaces
it with an assert(nRefCount >= 0), to verify that the refcounting
is indeed correctly working.
2013-04-04 14:45:45 +02:00
Gavin Andresen aaf47eac3a Merge pull request #2423 from TheBlueMatt/limitedmapalreadyaskedfor
Limited mapAlreadyAskedFor
2013-04-03 18:31:35 -07:00
Gavin Andresen a0a437c86a Merge pull request #2357 from gavinandresen/shutdowncleanup
Thread / shutdown cleanup
2013-04-03 18:25:00 -07:00
Gavin Andresen 1c4f02139c Merge pull request #2453 from sipa/txstats
Update transaction statistics
2013-04-03 18:23:50 -07:00
Pieter Wuille 92a129980f Update transaction statistics
As these were not updated when 'backporting' the 225430 checkpoint
into head.

Additionally, also report verification progress in debug.log, and
tweak the sigcheck-verification-speed-factor a bit.
2013-04-04 02:39:44 +02:00
Gavin Andresen 723035bb68 Have Qt poll for shutdown requested, the QT way. 2013-04-03 19:58:47 -04:00
Gavin Andresen b31499ec72 Clean up shutdown process 2013-04-03 19:57:53 -04:00
Gavin Andresen 21eb5adadb Port Thread* methods to boost::thread_group 2013-04-03 19:57:13 -04:00
Gavin Andresen 72f14d26ec LoopForever and ThreadTrace helpers 2013-04-03 19:57:13 -04:00
Philip Kaufmann b9564d7e54 Bitcoin-Qt: updates to addressbookpage
- use labelExplanation for sending and receiving tab and move the string
  from the ui-file to the source
- ensure that the table holding the label and address is resized so that
  the address column fits the address and the label column is stretched to
  fit the window size
- rename some stuff for much easier readbility in the code (I find it hard
  to get the meaning of stuff like labels or buttons)
2013-04-03 22:30:59 +02:00
Gavin Andresen 1b43bf0d3a Rename util.h Sleep --> MilliSleep
Two reasons for this change:
1. Need to always use boost::thread's sleep, even on Windows, so the
sleeps can be interrupted (prior code used Windows' built-in Sleep).

2. I always forgot what units the old Sleep took.
2013-04-03 14:04:21 -04:00
Gavin Andresen c8c2fbe07f Shutdown cleanup prep-work
Create a boost::thread_group object at the qt/bitcoind main-loop level
that will hold pointers to all the main-loop threads.

This will replace the vnThreadsRunning[] array.

For testing, ported the BitcoinMiner threads to use its
own boost::thread_group.
2013-04-03 14:04:21 -04:00
Gavin Andresen 87b9931bed Fix signed/unsigned comparison warnings 2013-04-03 14:04:21 -04:00
Wladimir J. van der Laan 36fdfb989e Merge pull request #2450 from Diapolo/Qt_fix_VMTab
Bitcoin-Qt: fix opening verify message tab via main menu
2013-04-03 09:26:18 -07:00
Philip Kaufmann 8726de26ee Bitcoin-Qt: fix GUI after initial multi-wallet patch
- adds 6 methods in BitcoinGUI to access some actions needed by the new
  WalletView class
- updates WalletView class to use these instead of trying to duplicate
  these
- cleanup walletview.{cpp/h} and remove all unneeded stuff
- this fixes problems with tabs toolbar (#2451) and export broken (#2436)
- more details in #2447
2013-04-03 17:37:28 +02:00
Philip Kaufmann 0dcf9e5308 Bitcoin-Qt: fix opening verify message tab via main menu 2013-04-03 15:28:16 +02:00
Wladimir J. van der Laan 4240bdaac1 Merge pull request #2448 from Diapolo/Qt_qApp
Bitcoin-Qt: only use qApp for Q(Core)Application::instance()
2013-04-02 20:30:44 -07:00
Jonas Schnelli 72fcbb15ea new mac osx icon (including SVG Version)
- added new created and documented svg version of shaded icon
- changed "B" background to white (no longer transparent)
- removed PSD (Adobe Photoshop) document
- license is now MIT

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-02 21:57:41 +02:00
Jonas Schnelli 6f21d15375 Merge branch 'master' of git://github.com/bitcoin/bitcoin 2013-04-02 21:53:41 +02:00
Gavin Andresen d8aae1ce1d Merge pull request #2420 from sipa/globclean
Global cleanups
2013-04-02 10:00:31 -07:00
Gavin Andresen 06db61f09e Merge pull request #2431 from jgarzik/gen-bitcoins-init
Move GenerateBitcoins() call out of net.cpp's StartNode()
2013-04-02 08:56:57 -07:00
Philip Kaufmann 1ce0448808 Bitcoin-Qt: only use qApp for Q(Core)Application::instance() 2013-04-02 17:33:48 +02:00
Philip Kaufmann bfad9982f8 Bitcoin-Qt: small RPCConsole cleanup
- add missing initalisation for clientModel
- remove unneded RPCExecutor::start() code
2013-04-02 16:42:23 +02:00
Wladimir J. van der Laan bcce45e9b0 Merge pull request #2441 from Diapolo/Qt_fix_copy_context_menu
Bitcoin-Qt: fix copy via context-menu broken
2013-04-02 07:34:35 -07:00
Philip Kaufmann 90bd933e6d translation base files update 2013-04-02
- also includes a small change to a string in bitcoinrpc.cpp, which is not
  on Transifex anyway, so is safe to merge
2013-04-02 15:46:40 +02:00
Philip Kaufmann 39ee86257c Bitcoin-Qt: fix copy via context-menu broken
- as QClipboard::Selection isn't available on Windows ensure that the
  correct mode is called, but sill allow selection for e.g. X11
- start conversion from QCoreApplication::instance() to qApp in
  guiutil.cpp (I intend to harmonize this all over the source with my Qt5
  compatibility pull)
2013-04-02 15:20:35 +02:00
Wladimir J. van der Laan a977b8c475 Merge pull request #2428 from r000n/staging
Simplify titles of tabs in main window
2013-04-02 05:41:24 -07:00
Jonas Schnelli aaa7f279c8 new mac osx icon
check why/preview: http://dl.dropbox.com/u/7383846/new_bitcoin_qt_mac_icon.png

- according to official bitcoin logo
- no chopped shadow
- retina-screen support

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>
2013-04-02 13:00:51 +02:00
Matt Corallo b5afda67f2 Move mapAlreadyAskedFor to limitedmap
This will result in re-requesting invs if we are under heavy inv
load, however as long as we get no more than 16,000 invs in two
minutes, this should have no effect on runtime behavior.
2013-04-01 11:56:23 -04:00
Matt Corallo 5ffc299404 Add a limitedmap class similar to mruset 2013-04-01 11:56:22 -04:00
Matt Corallo eb59c4ca8e Revert "Actually use mapAlreadyAskedFor."
This reverts commit 643160f6e7.

Turns out this commit was useless after a more careful reading of
CNode::AskFor
2013-04-01 11:56:22 -04:00
Wladimir J. van der Laan cf4d976f0e Merge pull request #2387 from Diapolo/translations
translations update 2013-03-19 (bitcoinstrings.cpp / bitcoin_en.ts)
2013-04-01 07:45:11 -07:00
Wladimir J. van der Laan 300f747ec3 Merge pull request #2437 from Diapolo/Qt_fixes
fix "send coins" via context menu in address book
2013-04-01 07:44:03 -07:00
Philip Kaufmann b2bf46d35e Bitcoin-Qt: fix debug window
- fix debug window, by re-adding rpcConsole->setClientModel(clientModel);
  in BitcoinGUI::setClientModel(), which was removed by #2220
2013-04-01 15:19:40 +02:00
Philip Kaufmann abf11f79ae fix "send coins" via context menu in address book
- the send coins context menu entry was not working anymore, because
  a non current version of #2220 was merged onto current master
- also removes some unneeded spaces and adds a comment to
  WalletModel::getNumTransactions()
2013-04-01 14:43:50 +02:00
Wladimir J. van der Laan 36599db428 qt: remove transaction count from overview page
It was needlessly confusing people, as it doesn't necessarily match the
number of transactions in the transaction list.
2013-03-31 10:16:43 +02:00
Roman Mindalev 0de26d5826 Words in English language are more short than in other langs usually.
Tabs don't fits in line in Spanish/German/Russian when they has two words.
Wallet has limited functionality. It can send & receive coins. So we can
safely rename "Send coins" to "Send" and "Receive coins" to "Receive".
Address book is just stored addresses.
2013-03-31 11:15:43 +04:00
Jeff Garzik a0cafb7945 Move GenerateBitcoins() call out of net.cpp's StartNode()
The internal miner is closely bound to the wallet engine,
not the blockchain engine.
2013-03-31 01:54:27 -04:00
Wladimir J. van der Laan 9d8d85920a Merge pull request #2386 from Diapolo/Mac_GUI
Bitcoin-Qt: ensure createTrayIconMenu() is always called on Mac
2013-03-30 22:51:43 -07:00
Wladimir J. van der Laan a7cbb340bd Merge pull request #2361 from L2G/font-tweak
Clean up font size in main window for observed inconsistency in Mac OS
2013-03-30 22:49:09 -07:00
Pieter Wuille 767fe14a27 Merge pull request #2422 from sipa/nowalcache
Don't use -dbcache for BDB anymore
2013-03-30 21:19:09 -07:00
Pieter Wuille c7f039b674 Process getdata invs separately until send buffer overflows
There exists a per-message-processed send buffer overflow protection,
where processing is halted when the send buffer is larger than the
allowed maximum.

This protection does not apply to individual items, however, and
getdata has the potential for causing large amounts of data to be
sent. In case several hundreds of blocks are requested in one getdata,
the send buffer can easily grow 50 megabytes above the send buffer
limit.

This commit breaks up the processing of getdata requests, remembering
them inside a CNode when too many are requested at once.
2013-03-30 18:14:54 +01:00
Philip Kaufmann 5968cf5db2 Bitcoin-Qt: ensure createTrayIconMenu() is always called on Mac
- this should prevent GUI issues on Mac that were observed before (disappearing
  GUI - see #1522)
- the patch ensures, that createTrayIconMenu() is always called on Mac to
  process and use our MacDockIconHandler
2013-03-30 10:14:45 +01:00
Pieter Wuille 41b052ad87 Use per-message send buffer, rather than per connection 2013-03-29 23:56:26 +01:00
Pieter Wuille 967f24590b Some fixes to CNetMessage processing
* Change CNode::vRecvMsg to be a deque instead of a vector (less copying)
* Make sure to acquire cs_vRecvMsg in CNode::CloseSocketDisconnect (as it
  may be called without that lock).
2013-03-29 23:56:26 +01:00
Jeff Garzik b9ff2970b9 P2P: improve RX/TX flow control
1) "optimistic write": Push each message to kernel socket buffer immediately.

2) If there is write data at select time, that implies send() blocked
   during optimistic write.  Drain write queue, before receiving
   any more messages.

This avoids needlessly queueing received data, if the remote peer
is not themselves receiving data.

Result: write buffer (and thus memory usage) is kept small, DoS
potential is slightly lower, and TCP flow control signalling is
properly utilized.

The kernel will queue data into the socket buffer, then signal the
remote peer to stop sending data, until we resume reading again.
2013-03-29 23:56:25 +01:00
Jeff Garzik bc2f5aa72c P2P, cosmetic: break out buffer send(2) code into separate function 2013-03-29 23:56:25 +01:00
Jeff Garzik 607dbfdeaf P2P: parse network datastream into header/data components in socket thread
Replaces CNode::vRecv buffer with a vector of CNetMessage's.  This simplifies
ProcessMessages() and eliminates several redundant data copies.

Overview:

* socket thread now parses incoming message datastream into
  header/data components, as encapsulated by CNetMessage
* socket thread adds each CNetMessage to a vector inside CNode
* message thread (ProcessMessages) iterates through CNode's CNetMessage vector

Message parsing is made more strict:

* Socket is disconnected, if message larger than MAX_SIZE
  or if CMessageHeader deserialization fails (latter is impossible?).
  Previously, code would simply eat garbage data all day long.
* Socket is disconnected, if we fail to find pchMessageStart.
  We do not search through garbage, to find pchMessageStart.  Each
  message must begin precisely after the last message ends.

ProcessMessages() always processes a complete message, and is more efficient:

* buffer is always precisely sized, using CDataStream::resize(),
  rather than progressively sized in 64k chunks.  More efficient
  for large messages like "block".
* whole-buffer memory copy eliminated (vRecv -> vMsg)
* other buffer-shifting memory copies eliminated (vRecv.insert, vRecv.erase)
2013-03-29 23:56:25 +01:00
Jeff Garzik ea83336f4e Merge pull request #2411 from TheBlueMatt/master
(finally) Remove IRC Seed support now that lfnet is down.
2013-03-29 08:03:18 -07:00
Jeff Garzik 8455310a7b Merge pull request #2385 from gavinandresen/alertnotify
alertnotify, so bitcoind users can get email/sms/whatever of alerts
2013-03-29 07:49:56 -07:00
Wladimir J. van der Laan 09dfa86baf qt: Improve capslock detection on non-us keyboards (issue #1855)
On non-us keyboards you can obtain lower case characters even pressing
the SHIFT, this caused false positives.
2013-03-29 10:55:23 +01:00
Wladimir J. van der Laan a6d32c94ab Merge remote-tracking branch 'codeshark/multiwallet-qt-no-core' (pull #2220)
Conflicts:
	src/qt/bitcoingui.cpp
2013-03-29 09:54:00 +01:00
Wladimir J. van der Laan 1be4bbadc7 Merge pull request #2350 from DavidGriffith/master
Also copy the address to the X11 clipboard (the one you middle-click to paste)
2013-03-29 01:45:59 -07:00
Wladimir J. van der Laan 8142ac2c18 Merge pull request #2393 from r000n/staging
Staging - GUI fixes for upstream
2013-03-29 01:40:32 -07:00
Pieter Wuille 2e3c76bf98 Don't use -dbcache for BDB anymore
-dbcache was originally used to set the maximum buffer size in the
BDB environment, and was later changed to set the chainstate cache
and leveldb caches. No need to use it for BDB now that only the
wallet remains there.

This should reduce memory allocation (but not necessarily memory
usage) a bit.
2013-03-29 03:02:52 +01:00
Pieter Wuille 3427517d50 Clean up global datastructures at shutdown.
This should make detecting leaks much easier.
2013-03-29 02:24:18 +01:00
Larry Gilbert 15e9739f3b Don't specify a point size for "Wallet" 2013-03-27 21:16:35 -07:00
Matt Corallo 6a1d6e03da Add a new testnet dnsseed (currently only static list, will update) 2013-03-24 20:02:18 -04:00
Matt Corallo c2efd981aa (finally) Remove IRC Seed support now that lfnet is down. 2013-03-24 19:38:19 -04:00
Gregory Maxwell 14c9d116be Make explicitly requested salvage operations keep going when there is an error.
In my tests corrupted wallets would often result in BDB dropping an error
just due to duplicate records being found, which appears harmless.
2013-03-24 12:59:03 -07:00
Roman Mindalev f688056f9d Show window in center of screen on first launch 2013-03-23 08:21:42 +04:00
Roman Mindalev e11f1806b6 Save & restore window size and position 2013-03-23 08:21:33 +04:00
Roman Mindalev afee36d379 Fix transaction fee in uBTC
Step for buttons 'up' and 'down' - 0.001. With BTC and mBTC all ok, but
0.001 uBTC is lower than minimal value (satoshi)
User should press 10 times on 'up' button to get 0.01 uBTC
2013-03-23 08:20:51 +04:00
Gregory Maxwell e3800824d6 Make MIN_TX_FEE match MIN_RELAY_TX_FEE.
Current relay behavior is widely deployed. Supplying a higher minfee than
mining and relaying just irritates users without anti-spam gain.
2013-03-22 17:48:40 -07:00
Eric Lombrozo 67155d9299 Minimal architectural changes necessary to support multiple wallets in bitcoin-qt
- This commit is a minimal restructuring necessary to support multiple wallets in the UI. Please see multiwallet-qt.txt for details.
2013-03-22 11:09:08 -07:00
Gavin Andresen 3d9d2d423b Recommend alertnotify 2013-03-21 10:08:21 -04:00
Richard Schwab 598889973b Adding 'copy txid' to qt tx overview context menu 2013-03-21 11:30:12 +01:00
Philip Kaufmann 967125ca4a blockchain -> block chain (used everywhere else) 2013-03-21 08:23:23 +01:00
Philip Kaufmann 48253c16bf translations update 2013-03-19 (bitcoinstrings.cpp / bitcoin_en.ts) 2013-03-19 23:47:45 +01:00
Gavin Andresen 8ab14e6976 Merge pull request #2384 from gmaxwell/trim_error0
Deleting everything except the wallet will not help recover from BDB errors.
2013-03-19 14:20:22 -07:00
Gavin Andresen e5f163a041 -alertnotify=<cmd>
Runs a shell command when an AppliesToMe() alert is received.
%s in the <cmd> string is replaced with the alert.strStatusBar
message.
2013-03-19 15:16:30 -04:00
Gregory Maxwell 124f823714 Deleting everything except the wallet will not help recover from BDB errors.
Now that the wallet is the only thing in BDB any DB open errors must be
from the wallet itself-- so deleting everything else will not likely help.
2013-03-19 10:11:43 -07:00
Wladimir J. van der Laan 1a1ce49155 Merge pull request #2378 from Diapolo/translations
update bitcoin_en.ts and bitcoinstrings.cpp
2013-03-19 10:01:05 -07:00
Wladimir J. van der Laan f42720d0f6 Merge pull request #2215 from Diapolo/Qt_sendfrom_addrbook
Bitcoin-Qt: add "send coins" to context menu in addressbook
2013-03-19 09:59:38 -07:00
Wladimir J. van der Laan b804f1cd56 Merge pull request #2332 from Diapolo/init_messages
harmonize 2 init messages and remove one
2013-03-19 09:57:57 -07:00
Gavin Andresen 1472308d67 Some unit tests for CAlert 2013-03-19 11:35:04 -04:00
Philip Kaufmann 2547d2a90b Bitcoin-Qt: update Win executable file meta-data copyright 2013-03-19 00:04:54 +01:00
Philip Kaufmann c83dd7490c update bitcoin_en.ts and bitcoinstrings.cpp 2013-03-18 08:29:36 +01:00
Philip Kaufmann 311993ab10 Bitcoin-Qt: add "send coins" to context menu in addressbook
- allows to directly select an address from the addressbook, chose "send
  coins" from the context menu, which sends you to sendcoins tab and fills
  in the selected address
2013-03-18 07:44:22 +01:00
Wladimir J. van der Laan 74e4d80068 Merge pull request #2210 from Diapolo/Qt_header_cpp_cleanup
Bitcoin-Qt: massive header and cpp cleanup
2013-03-17 22:58:37 -07:00
Gavin Andresen d3e8c6a9d3 Update unit test to match rule enforcement starts 21 March 2013-03-17 22:01:59 -04:00
Gavin Andresen f817c496a1 Checkpoint at first block in 11 March chain fork 2013-03-17 21:53:17 -04:00
Gavin Andresen 402f19b645 Before 15 May, limit created block size to 500K 2013-03-17 21:53:01 -04:00
Gavin Andresen 8c222dca4f CheckBlock rule until 15-May for 10,000 BDB lock compatibility 2013-03-17 21:52:47 -04:00
Philip Kaufmann 32af5266cf Bitcoin-Qt: massive header and cpp cleanup
- try to enforce the same style to all Qt related files
- remove unneeded includes from the files
- add missing Q_OBJECT, QT_BEGIN_NAMESPACE / QT_END_NAMESPACE
- prepares for a pull-req to include Qt5 compatibility
2013-03-17 18:28:00 +01:00
Philip Kaufmann e1ca89df1f harmonize 2 init messages and remove one
- harmonize the database related init messages
- as we have a thread for importing blocks, that init message is obsolete
2013-03-13 09:17:59 +01:00
Gavin Andresen 1a9ee5da32 Merge pull request #2336 from petertodd/invalid-opcode-coverage
Explicitly unittest the canonical prunable txout format
2013-03-11 16:16:51 -07:00
David Griffith 4db114667f Also copy the address to the X11 clipboard (the one you middle-click to paste) 2013-03-09 00:37:21 -08:00
freewil 10ef361169 CRPCCommand.unlocked -> CRPCCommand.threadSafe
unlocked could be confused with wallet encryption
2013-03-07 06:18:55 -05:00
freewil dcf8b8fd9e make vRPCCommands comment match property names 2013-03-07 05:29:18 -05:00
Peter Todd 091f184190 Test canonical prunable txout format explicitly 2013-03-01 02:41:28 -05:00
Peter Todd 6131d1d9df Add coverage for all invalid ops
0xba thru 0xff
2013-03-01 02:24:08 -05:00
mb300sd 550479b09f add address and account information to listunspent 2013-02-27 22:13:43 -05:00
Matt Corallo cbfc77352d Short-circuit bloom checking if we will always return true.
This allows full nodes to use bloom filters as an optimization.
2013-02-24 20:36:59 -05:00
Wladimir J. van der Laan 0bd573d666 Merge pull request #2186 from Diapolo/misc_stuff
small changes in init, main, checkpoints.h and bitcoin-qt.pro
2013-02-23 23:52:27 -08:00
Wladimir J. van der Laan 7ea7c94cf9 Merge pull request #2299 from gavinandresen/localsocketuri
Reimplement click-to-pay. Support OSX.
2013-02-23 23:47:31 -08:00
Gavin Andresen cc67f1e2b4 Merge pull request #2221 from sipa/perfo
Various performance tweaks to CCoinsView
2013-02-22 09:01:30 -08:00
Gavin Andresen b8f4e42e1b Merge pull request #2229 from sipa/prealloc
Native versions for AllocateFileRange()
2013-02-22 09:00:13 -08:00
Gavin Andresen 9dca7190f9 Merge pull request #2310 from sipa/progressbar
Progressbar based on time-based estimation of transactions.
2013-02-22 08:59:36 -08:00
Gavin Andresen aaeb443791 Merge pull request #2312 from gmaxwell/random_random
ApproximateBestSubset internal RNG to prevent degenerate behavior.
2013-02-22 08:57:38 -08:00
Gavin Andresen 1167af7e5c Merge pull request #2308 from apoelstra/safemode-privkey
Enable dumpprivkey in safe mode
2013-02-22 08:50:12 -08:00
Gavin Andresen 802a3dfdcc Merge pull request #2160 from petertodd/add-adjustedtime-to-rpc-getinfo
Add adjustedtime to getinfo RPC call
2013-02-22 08:47:45 -08:00
Gavin Andresen 49e332f6fc Merge pull request #1974 from kjj2/walletnotify
Add -walletnotify to call an external script on wallet transactions
2013-02-22 08:47:04 -08:00
Mike Hearn 0556bb22e1 Shorten a startup message. It was getting truncated and looks ugly. 2013-02-20 16:35:30 +01:00
Philip Kaufmann 69e0774714 small changes in init, main, checkpoints.h and bitcoin-qt.pro
- remove an unneeded MODAL flag, as MSG_ERROR sets MODAL
- re-order an if-clause in main to have bool checks before a function call
- fix some log messages that used wrong function names
- make a log message use a correct ellipsis
- remove some unneded spaces, brackets and line-breaks
- fix style for adding files in the Qt project
2013-02-20 08:46:38 +01:00
Luke Dashjr 3a9c2d51e1 Bugfix: makefile.unix: Honour BOOST_LIB_SUFFIX on boost_unit_test_framework 2013-02-19 05:32:39 +00:00
Luke Dashjr 7e2d850b12 Bugfix: makefile.linux-mingw: Fix so passed CXXFLAGS/LDFLAGS work correctly 2013-02-19 05:22:30 +00:00
Gavin Andresen 44d7f4cbeb Set CC/CXX properly for gitian build 2013-02-18 18:38:34 -05:00
Gavin Andresen 1c3924df37 Merge pull request #2311 from gavinandresen/master
Pass compiler flags to leveldb make
2013-02-18 14:31:53 -08:00
Gavin Andresen dbac38170a Merge pull request #2315 from sipa/loaderror
Improve block database load error reporting
2013-02-18 14:31:20 -08:00
Gregory Maxwell 907a2aa4c7 Internal RNG for approximateBestSubset to prevent degenerate behavior.
This fixes test_bitcoin failures on openbsd reported by dhill on IRC.

  On some systems rand() is a simple LCG over 2^31 and so it produces
an even-odd sequence.  ApproximateBestSubset was only using the least
significant bit and so every run of the iterative solver would be the
same for some inputs, resulting in some pretty dumb decisions.

Using something other than the least significant bit would paper over
the issue but who knows what other way a system's rand() might get us
here.  Instead we use an internal RNG with a period of something like
2^60 which is well behaved.  This also makes it possible to make the
selection deterministic for the tests, if we wanted to implement that.
2013-02-18 14:13:39 -08:00
Pieter Wuille f7f3a96b74 Improve block database load error reporting 2013-02-17 23:25:42 +01:00
Gavin Andresen 1d83141803 Merge branch 'loaderror' of git://github.com/sipa/bitcoin 2013-02-16 19:08:57 -05:00
Pieter Wuille 398774181a Improve block database load error reporting 2013-02-16 19:46:00 +01:00
Wladimir J. van der Laan 5258fbe492 Merge pull request #2283 from Diapolo/translations
translations update (bitcoinstrings.cpp + bitcoin_en.ts)
2013-02-16 07:36:50 -08:00
Pieter Wuille 9f2467ad62 Transactions-based verification progress 2013-02-16 14:51:00 +01:00
Wladimir J. van der Laan 24cde0b7d1 Change progress bar from block-based to time-based
This is less confusing to most people, and doesn't rely on estimates
of the total number of blocks received from other nodes.
2013-02-16 14:51:00 +01:00
Gavin Andresen fbd860287e Pass compiler flags down into leveldb make
Fixes issue#2288. Includes cleanups from Luke's pull 2243.
2013-02-15 19:55:44 -05:00
Andrew Poelstra 3913a99087 Enable dumpprivkey in safe mode 2013-02-14 11:55:55 -08:00
Gavin Andresen 8269a0953e Reimplement click-to-pay links. Add OSX support.
Switch to using Qt's QLocalServer/QLocalSocket to handle bitcoin
payment links (bitcoin:... URIs)

Reason for switch: the boost::interprocess mechanism seemed flaky,
and doesn't mesh as well with "The Qt Way"

qtipcserver.cpp/h is replaced by paymentserver.cpp/h

Click-to-pay now also works on OSX, with a custom Info.plist
that registers Bitcoin-Qt as a handler for bitcoin: URLs and
an event listener on the main QApplication that handles
QFileOpenEvents (Qt translates 'url clicked' AppleEvents into
QFileOpenEvents automagically).
2013-02-12 15:41:31 -05:00
Gavin Andresen 2f0fa79db2 Merge pull request #2286 from gavinandresen/fix2285
Do not use C++11 std::vector.data()
2013-02-11 16:01:24 -08:00
Petter Reinholdtsen 17121ec4fe Use QImage.bits instead of QImage.constBits to ease backporting
Image.constBits was introduced in Qt 4.7.  Should be ok here to use
QImage.bits which allows linking against the Qt in Squeeze.
2013-02-09 19:18:53 +01:00
Gavin Andresen ba1d08008e Do not use C++11 std::vector.data()
std::vector.data() is a C++11 feature that makes my OSX build machine unhappy.
2013-02-07 18:54:22 -05:00