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