Commit graph

3765 commits

Author SHA1 Message Date
Gavin Andresen 72173ffaca Merge pull request #460 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 #450 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 #443 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 #448 from sipa/cbitcoinaddress
avoid strAddress + validity checks
2011-08-04 11:47:15 -07:00
Jeff Garzik 95699e1730 Merge pull request #446 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 #451 from TheBlueMatt/tornolisten
Don't listen if on TOR (resolves #441).
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 #441). 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 #424
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 #403 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 #9 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 #412 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 #406 from muggenhor/warning-fixes
Warning fixes
2011-07-13 08:55:49 -07:00
Jeff Garzik b8cbbc2c28 Merge pull request #405 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 #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