Commit graph

9285 commits

Author SHA1 Message Date
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 #381 from TheBlueMatt/nminversion
Add minversion to wallet.
2011-07-12 19:34:30 -07:00
Jeff Garzik 0bad8e4237 Merge pull request #352 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 #383 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 #379 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 #374 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 #372 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 #373 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 #343 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 #368 from TheBlueMatt/dnsseed
Only use dnsseeds when not on testnet.
2011-07-01 16:33:28 -07:00
Jeff Garzik 056d2ad312 Merge pull request #371 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 #367 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 #350.
2011-06-27 23:22:30 +02:00
Gavin Andresen 8111e27905 Merge pull request #356 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 #6) 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 #7 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 #3 (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 #226 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 #314 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 #304 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 #293 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 #264 from sipa/mintxfeefix
Fix for small change outputs
2011-06-05 07:32:58 -07:00
Jeff Garzik 7a234cdae5 Merge pull request #255 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 #278 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. #243
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 #267 from sipa/mintxrelay
Separate required fee for relaying and creation
2011-05-26 13:33:51 -07:00
Matt Corallo 77172463a3 Fixes #240 and #244 - 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 #221 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 #224 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 #215 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 #192 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