Commit graph

1751 commits

Author SHA1 Message Date
Philip Kaufmann
c7441658da show used OpenSSL library version in debug window 2012-07-07 16:43:46 +02:00
Philip Kaufmann
0e3947ef32 fix typo in optionsmodel.cpp 2012-07-07 16:35:29 +02:00
Douglas Huff
b19811d5f4 Fix OBO in socks5 auth proposal. This fixes compatibility with openssh's socks5 proxy and tor's .2.3.x branch. 2012-07-07 09:11:54 -05:00
Wladimir J. van der Laan
249856d557 Merge pull request #1469 from Diapolo/signverifymessagedialog
GUI: merge sign/verify message into a single window with tabbed UI
2012-07-07 04:59:04 -07:00
Wladimir J. van der Laan
520198138a Merge pull request #1518 from Diapolo/qrcodedialog
update QRCodeDialog
2012-07-07 04:46:03 -07:00
Wladimir J. van der Laan
08492c952b Merge pull request #1552 from Diapolo/txdesc
GUI: enhance translation possibilities in TransactionDesc / misc other changes
2012-07-07 04:44:50 -07:00
Wladimir J. van der Laan
9502ee3b5f Merge pull request #1559 from sje397/BalanceSignalFix
Add a timer to check for changes in immature or unconfirmed balances,
2012-07-07 04:37:03 -07:00
Philip Kaufmann
5c83f797c5 update QRCodeDialog
- remove unused #include <QDebug> and lblBTC label
- update Bitcoin input field to a BitcoinAmountField to allow Bitcoin unit selection
- use BitcoinUnits::format for the resulting amount parameter in the generated URI (always use BTC as per BIP21)
- move MAX_URI_LENGTH and EXPORT_IMAGE_SIZE to guiconstants.h
- add OptionsModel in AddressBookPage and use it in on_showQRCode_clicked() to pass it to QRCodeDialog
- add OptionsModel in QRCodeDialog to enable display unit updates
- add updateDisplayUnit() slot to be able to imediately update currently set bitcoin unit
- make all labels in the UI-file plain text
- resize dialog to match for an updated layout (fields are now stacked and new field)
- remove unused parameters from private slots
- only enable save button, when QR Code was generated
- show message when entered amound is invalid
- add read-only QPlainTextEdit field to output generated URI
2012-07-06 18:51:30 +02:00
Gavin Andresen
2a919e396d Warn if blockchain majority doesn't match CBlock::CURRENT_VERSION
This adds a warning "this version is obsolete, upgrade required" if
more than 50 of the previous 100 blocks in the blockchain are
a new version.
2012-07-06 11:37:01 -04:00
Gavin Andresen
dae3e10a5a Treat non-version-1 transactions as non-standard
Adds CBlock::CURRENT_VERSION and CTransaction::CURRENT_VERSION
constants, and makes non-CURRENT_VERSION transactions nonstandard.
This will help make future upgrades smoother.
2012-07-06 11:37:01 -04:00
Philip Kaufmann
47894585ae GUI: merge sign/verify message into a single window with tabbed UI
- add UI-feedback via QValidatedLineEdit
- copy button for generated signature was moved to the signature output field
- add an addressbook button to verify message tab
- input fields are now evenly ordered for sign and verify tabs
- update FIRST_CLASS_MESSAGING support to ensure a good UX
- add a button and context menu entry in addressbook for verify message (to be consistent with sign message)
- focus is now only set/changed, when clearing input fields or adding an address via addressbook
- re-work / update some strings
- ensure model gets initialized in the SignVerifyMessageDialog constructor
- add checks for a valid model to both addressbook buttons
- remove unneeded includes for Qt GUI elements that are listed in ui_signverifymessagedialog.h anyway
2012-07-06 11:31:27 +02:00
Jeff Garzik
6e3a1a3742 Merge pull request #1304 from rebroad/ShowBlockTimestamp
Show block timestamp
2012-07-05 15:28:42 -07:00
Jeff Garzik
698b9f3095 bitcoinrpc.cpp: Removed outdated comment
Fixes #1373
2012-07-05 18:18:15 -04:00
Gavin Andresen
50fc02d063 Merge branch 'uri' of https://github.com/TheBlueMatt/bitcoin 2012-07-05 16:38:12 -04:00
Gavin Andresen
dab9fa7f91 Use unsigned ints to fix signed/unsigned warnings 2012-07-05 13:26:27 -04:00
Jeff Garzik
b47d2bc164 Merge pull request #1554 from jgarzik/dup-gethash
Remove duplicate GetHash() in ConnectBlock
2012-07-05 10:06:55 -07:00
Scott Ellis
6c83a8419b Add a timer to check for changes in immature or unconfirmed balances,
when these are non-zero. Fixed a minor mem leak.
2012-07-06 03:05:35 +10:00
Gavin Andresen
a2709fad7f Implement raw transaction RPC calls
Implement listunspent / getrawtransaction / createrawtransaction /
signrawtransaction, to support creation and
signing-on-multiple-device multisignature transactions.
2012-07-05 12:50:09 -04:00
Gavin Andresen
899d373b3c RPCTypeCheck method to make type-checking JSON Arrays easier. 2012-07-05 12:42:25 -04:00
Gavin Andresen
34420d655d Refactor: SignSignature/VerifyScript
Minor refactor to support signrawtx signing/verifying transactions
when it might only have the previous transaction's txid and
txOut.
2012-07-05 12:42:25 -04:00
Gavin Andresen
9a6ab7f142 Rework gettransaction / getblock RPC calls
This PULL reworks new (post-0.6.*) features of the
gettransaction/getblock RPC calls as follows:

It removes the 'decompositions' object argument from getblock,
replacing it just a list of transaction hashes; equivalent
(I believe) of passing the {"tx":"hash"} decomposition.

It replaces the 'decompositions' object argument of
gettransaction with a boolean flag; if true, returns
the same stuff that the {"script":"obj"} decomposition
would return (txins/txouts as hex, disassembled, and bitcoin
addresses).

It adds a "rawtx" field to the output of gettransaction,
that is the entire transaction serialized and hex-encoded.

It removes the "size" field from gettransaction, since the size
is trivial to compute from the "rawtx" field (either take the
length after hex-decoding, or just compute it as hex-length/2).
2012-07-05 12:42:25 -04:00
Jeff Garzik
fe70b09c42 Merge pull request #1555 from TheBlueMatt/warnings
Fix remaining compile warnings.
2012-07-04 08:34:11 -07:00
Gavin Andresen
8a05341cf5 Merge branch 'buildupdates' of https://github.com/TheBlueMatt/bitcoin 2012-07-04 10:46:44 -04:00
Matt Corallo
24154ed64b Fix remaining warnings. 2012-07-04 16:40:16 +02:00
Philip Kaufmann
31b581bcac write used OpenSSL library version to debug.log 2012-07-04 08:18:03 +02:00
Jeff Garzik
f77654a0e9 CTxMemPool: eliminate redundant lock, GetHash() call
::addUnchecked()'s only caller already takes the necessary lock,
and has already calculated the TX's hash.
2012-07-04 01:12:44 -04:00
Matt Corallo
96929a5515 Remove duplicate GetHash() in ConnectBlock 2012-07-04 00:04:57 -04:00
Jeff Garzik
613389019e RPC: add support for JSON-RPC 2.0-style request batching
If the top-level object is an array, it is assumed to be an array of
JSON-RPC requests.  An array is returned, containing one response (error or
not) per request, in the order submitted.

In a slight change in semantics, batched requests -always- return
an HTTP 200 OK status, even ones full of invalid or incorrect requests.
2012-07-03 22:53:57 -04:00
Jeff Garzik
c6494d82fa RPC: break out high level JSON-RPC req/resp into their own functions
This prepares for JSON-RPC 2.0 batches.
2012-07-03 22:53:30 -04:00
Jeff Garzik
3898609304 Merge pull request #1546 from gmaxwell/allowsamenetinbound
Do not consider inbound peers for outbound network group exclusion.
2012-07-03 19:51:08 -07:00
Matt Corallo
4d9c55da72 Work around a distcc bug where -MMD output isn't copied. 2012-07-03 17:50:35 +02:00
Philip Kaufmann
b7506b302d enhance translation possibilities in TransactionDesc / misc other changes
- remove "#include <QString>" as this is included in the header
- add some missing plural forms that can be translated
- change "yours" into "own address", which is easier to understand and translate in that context
- cleanup translatable strings to not include HTML or unneeded chars (e.g. ":")
- resize TransactionDescDialog a little (remove unwanted line-breaks with non english translations)
2012-07-03 14:38:03 +02:00
R E Broadley
90c838da9f Show when node is misbehaving, not just at the point that it gets banned. 2012-07-02 21:58:47 +01:00
R E Broadley
812392d325 Include human readble format for nRequestTime. 2012-07-02 21:45:43 +01:00
Matt Corallo
467b79391f Fix signed/unsigned warnings in {script,serialize}.h (fixes #1541) 2012-07-02 16:29:14 +02:00
Jeff Garzik
da1103f4f8 Merge pull request #1545 from TheBlueMatt/diffsendbuffer
Minor send buffer changes
2012-07-01 18:17:34 -07:00
Gregory Maxwell
19521acfa4 Do not consider inbound peers for outbound network group exclusion.
Bitcoin will not make an outbound connection to a network group
(/16 for IPv4) that it is already connected to. This means that
if an attacker wants good odds of capturing all a nodes outbound
connections he must have hosts on a a large number of distinct
groups.

Previously both inbound and outbound connections were used to
feed this exclusion. The use of inbound connections, which can be
controlled by the attacker, actually has the potential of making
sibyl attacks _easier_: An attacker can start up hosts in groups
which house many honest nodes and make outbound connections to
the victim to exclude big swaths of honest nodes. Because the
attacker chooses to make the outbound connection he can always
beat out honest nodes for the consumption of inbound slots.

At _best_ the old behavior increases attacker costs by a single
group (e.g. one distinct group to use to fill up all your inbound
slots), but at worst it allows the attacker to select whole
networks you won't connect to.

This commit makes the nodes use only outbound links to exclude
network groups for outbound connections. Fancier things could
be done, like weaker exclusion for inbound groups... but
simplicity is good and I don't believe more complexity is
currently needed.
2012-07-01 20:42:47 -04:00
Jeff Garzik
18e8e43715 RPC getpeerinfo: s/height/startingheight/ for returned nStartingHeight value 2012-06-30 23:40:26 -04:00
Matt Corallo
6d6c2afb2b Change default send buffer to 1Mb. 2012-07-01 04:17:26 +02:00
Matt Corallo
3c3cb60a90 Remove useless high-volume printf (fixes #1544). 2012-07-01 04:13:00 +02:00
Jeff Garzik
eca96d7118 Merge pull request #1540 from fanquake/master
Fix a Couple Typos
2012-06-30 07:25:32 -07:00
fanquake
7790f391ab Fix a couple more typos 2012-06-30 17:05:28 +08:00
cardpuncher
eb9a21afed Fix a typo in TransactionDesc 2012-06-30 11:31:09 +03:00
Gavin Andresen
3a906d45dc Merge pull request #1531 from jgarzik/peerinfo
RPC: add 'getpeerinfo', returning easy-to-retrieve per-CNode data
2012-06-29 17:34:02 -07:00
Jeff Garzik
ac8d2b1df7 Merge pull request #1537 from Diapolo/fix_awesome_typo
fix an awesome typo in OptionsDialog ^^
2012-06-29 16:18:45 -07:00
Philip Kaufmann
0f5d4c6e88 fix a typo in OptionsDialog 2012-06-30 01:16:22 +02:00
Jeff Garzik
1006f0707e RPC: add 'getpeerinfo', returning easy-to-retrieve per-CNode data 2012-06-29 17:24:53 -04:00
fanquake
e749405297 Fix a few typos 2012-06-29 17:26:45 +08:00
Jeff Garzik
70ab73a008 Create new rpcnet module, and move 'getconnectioncount' RPC to it 2012-06-28 23:18:38 -04:00
Gavin Andresen
5fa83965f2 Merge branch 'patch-5' of https://github.com/xanatos/bitcoin 2012-06-28 15:25:48 -04:00
Gavin Andresen
1b71f82e38 Merge branch 'patch-3' of https://github.com/xanatos/bitcoin 2012-06-28 15:24:35 -04:00
Matt Corallo
460d878613 Fix build error. 2012-06-28 19:31:22 +02:00
Matt Corallo
4e97a9d9eb Lock vnThreadsRunning[THREAD_RPCHANDLER]. 2012-06-28 18:34:11 +02:00
Matt Corallo
7cf3d2ccb9 Use a rpc-specific queue to tell asio connections to shutdown. 2012-06-28 18:32:32 +02:00
Matt Corallo
18c4beb05b Revert "*Always* send a shutdown signal to enable custom shutdown actions"
This reverts commit 896899e0d6.
2012-06-28 15:52:45 +02:00
R E Broadley
7f1de3fec8 Make truncating the debug.log file an option.
Useful for developers who need to refer to futher back in debug.log history, but who don't want to
enable the -debug option and all the verbosity that comes with that.
2012-06-27 23:42:22 +01:00
Jeff Garzik
e75acc006e Merge pull request #1511 from jgarzik/quieten2
Quieten 'getdata' P2P message output
2012-06-27 09:06:59 -07:00
Pieter Wuille
abbb9a829c Merge pull request #1347 from rebroad/FixAlreadyAskedFor
mapAlreadyAskedFor gets additions when AlreadyHave()
2012-06-27 08:06:57 -07:00
Pieter Wuille
6c88568fef Merge pull request #973 from TheBlueMatt/diffsendbuffer
Stop processing messages on full send buffer and dont disconnect.
2012-06-27 07:49:28 -07:00
Pieter Wuille
4a52c187d3 Merge pull request #457 from muggenhor/async-ipv6-rpc
IPv6 RPC using asynchronously accepted connections
2012-06-27 07:48:38 -07:00
Matt Corallo
9d6cd04b3b Stop processing messages on full send buffer and dont disconnect.
Also decrease default send/receive buffer sizes from 10 to 5 mb
as this patch makes it easy for a node to fill both instead of
only send.
2012-06-27 15:31:34 +02:00
Philip Kaufmann
2943f60811 GUI: change language selection format
- display as "language - country (locale name)", when locale name consists of 2 parts
- display as "language (locale name)", when locale name consists of 1 part
2012-06-26 16:14:25 +02:00
Wladimir J. van der Laan
2849d0661d Merge pull request #1501 from fanquake/master
QT to Qt
2012-06-25 06:49:59 -07:00
Gavin Andresen
1282c8653e Checkpoint at block 185333 (and remove a couple of intermediate checkpoints) 2012-06-25 09:26:14 -04:00
Michael Ford
160eb23b0e Add Bitcoin dev Copyright 2012-06-25 12:28:29 +08:00
Michael Ford
e4ebe82ee2 Update comments 2012-06-25 12:26:52 +08:00
Philip Kaufmann
a8c20ea946 fix a comment to correctly use -upgradewallet 2012-06-24 18:08:27 +02:00
Jeff Garzik
d887f54494 Document -debugnet option in command line help.
Fixes #1507
2012-06-24 10:38:02 -04:00
Giel van Schijndel
5b14622110 On Windows link with mswsock, it being required (indirectly) by RPC code
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-24 15:12:26 +02:00
Giel van Schijndel
ad25804feb Cancel outstanding listen ops for RPC when shutting down
Use Boost's signal2 slot tracking mechanism to cancel any (still open)
listening sockets when receiving a shutdown signal.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-24 15:12:15 +02:00
Giel van Schijndel
415a87ef36 Merge branch 'master' into async-ipv6-rpc 2012-06-24 12:34:15 +02:00
Gregory Maxwell
817ee0d826 Merge pull request #1174 from sipa/torhs
Tor hidden service support
2012-06-23 19:21:13 -07:00
Gregory Maxwell
0ae2ac5431 Merge pull request #1503 from gmaxwell/testnet_tweaks
Remove some rule differences which aren't needed with testnet3.
2012-06-23 19:02:55 -07:00
Jeff Garzik
983e4bdef0 Quieten 'getdata' P2P message output
Output one message per getdata, not one message per 'inv' entry.
2012-06-23 21:38:33 -04:00
xanatos
3948eb0c54 Changed a comment about a QVariant type 2012-06-23 17:29:34 +03:00
Pieter Wuille
863e995b79 Debug version messages 2012-06-23 01:11:38 +02:00
Pieter Wuille
54ce3bad64 Add -tor and related configuration 2012-06-23 01:11:38 +02:00
Pieter Wuille
d077dd2a6e Rewrite CNetAddr::GetReachabilityFrom()
Add support for Tor/I2P networks, and make code more readable.
2012-06-23 01:11:38 +02:00
Pieter Wuille
70f7f00385 Node support for Tor hidden services
This commit adds support for .onion addresses (mapped into the IPv6
by using OnionCat's range and encoding), and the ability to connect
to them via a SOCKS5 proxy.
2012-06-23 01:11:32 +02:00
Jeff Garzik
d62a1947be Merge pull request #1458 from jgarzik/tracenet
Introduce -tracenet option, thereby quieting some redundant debug messages
2012-06-22 10:13:31 -07:00
Jeff Garzik
d07eaba195 Introduce -debugnet option, thereby quieting some redundant debug messages
Prior to this change, each TX typically generated 3+ debug messages,

	askfor tx 8644cc97480ba1537214   0
	sending getdata: tx 8644cc97480ba1537214
	askfor tx 8644cc97480ba1537214   1339640761000000
	askfor tx 8644cc97480ba1537214   1339640881000000
	CTxMemPool::accept() : accepted 8644cc9748 (poolsz 6857)

After this change, there is only one message for each valid TX received

	CTxMemPool::accept() : accepted 22a73c5d8c (poolsz 42)

and two messages for each orphan tx received

	ERROR: FetchInputs() : 673dc195aa mempool Tx prev not found 1e439346fc
	stored orphan tx 673dc195aa (mapsz 19)

The -debugnet option, or its superset -debug, will restore the full debug
output.
2012-06-22 13:11:57 -04:00
Jeff Garzik
cb1fcde2f4 Merge pull request #1502 from jgarzik/getrawmempool
RPC: add 'getrawmempool', listing all transaction ids in memory pool
2012-06-22 09:59:19 -07:00
Gregory Maxwell
e6332751c6 Remove some rule differences which aren't needed with testnet3.
Bip16 and Bip30 had early activation dates for testnet, but
with the reset they might as well use the same dates as
the main network.
2012-06-22 11:50:52 -04:00
Jeff Garzik
25d5c19522 RPC: add 'getrawmempool', listing all transaction ids in memory pool 2012-06-22 11:43:34 -04:00
Gregory Maxwell
a3869547e5 Merge pull request #1495 from Diapolo/fix_CKey_mem_leak
fix a memory leak in key.cpp
2012-06-22 08:38:48 -07:00
Pieter Wuille
e0be8da392 Unit tests for base32 encode/decode 2012-06-22 17:19:28 +02:00
Pieter Wuille
c4c99ade65 Base32 encoding/decoding 2012-06-22 17:19:28 +02:00
xanatos
d89f06c1ae Small fix to rpc_tests 2012-06-22 10:02:43 +03:00
xanatos
fdfdb5cd7d = instead of == in multisig_tests.cpp 2012-06-21 21:37:49 +03:00
Philip Kaufmann
a3d12f445a fix a memory leak in key.cpp
- add EC_KEY_free() in CKey::Reset() when pkey != NULL
- init pkey with NULL in CKey constructor
2012-06-21 14:43:13 +02:00
Pieter Wuille
70f6049f71 Remove CTxDB::ReadOwnerTxes.
It seems it wasn't ever used since 0.1.5.
2012-06-20 15:07:48 +02:00
Philip Kaufmann
229c34f818 GUI: ensure a changed bitcoin unit immediately updates the tx list amounts 2012-06-20 06:51:38 +02:00
Gavin Andresen
c283b3c569 print large orphan warning BEFORE deleting pvMsg 2012-06-19 17:14:29 -04:00
xanatos
16d5671943 If (for example) the new max_size must be 5 then at the end the queue.size() must be <= 5, so the exit condition must be <=, so the continuing condition must be > (and not >= as it was). 2012-06-19 09:48:00 +03:00
Pieter Wuille
4c6b210af0 Fix netbase tests
* Do not rely on "a.b.c" being interpreted as "a.0.b.c"
* Parse numeric addresses for address families for which no device is configured
2012-06-19 02:22:09 +02:00
Luke Dashjr
0f5a2a82d9 CBigNum: Convert negative int64 values in a more well-defined way
Since the minimum signed integer cannot be represented as positive so long as its type is signed, and it's not well-defined what happens if you make it unsigned before negating it, we instead increment the negative integer by 1, convert it, then increment the (now positive) unsigned integer by 1 to compensate
2012-06-18 20:37:57 +00:00
Gavin Andresen
c5532e188e Merge pull request #1399 from sipa/ipparse
Improve parsing of IPv6 addresses
2012-06-18 11:39:16 -07:00
Gavin Andresen
550c73f4c8 Merge branch 'signbugs' of https://github.com/wizeman/bitcoin
Resolved minor conflict in main.cpp
2012-06-18 10:48:40 -04:00
Pieter Wuille
432d28d3bb Merge pull request #1477 from gmaxwell/master
Fix inverted logic for !Discover/!UPNP when !Listen.
2012-06-17 17:07:08 -07:00
Giel van Schijndel
896899e0d6 *Always* send a shutdown signal to enable custom shutdown actions
NOTE: This is required to be sure that we can properly shut down the RPC
      thread.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-17 21:50:49 +02:00
Wladimir J. van der Laan
a54d2118be Merge pull request #1434 from Diapolo/GUI_fix_displayunit
GUI: init with correct display unit and update it, when user changes it via options dialog
2012-06-17 12:29:26 -07:00
Wladimir J. van der Laan
8ce04527f9 Merge pull request #1451 from Diapolo/sendcoins
GUI: set cursor for balance field to IBeamCursor (to show the user it IS selectable)
2012-06-17 12:26:20 -07:00
Wladimir J. van der Laan
6062de265a Merge pull request #1461 from laanwj/2012_06_helpmessage
Show command line options as dialog when opened from debug window
2012-06-17 12:24:35 -07:00
Gregory Maxwell
3bbb49de55 Fix inverted logic for !Discover/!UPNP when !Listen. 2012-06-17 12:13:34 -04:00
Philip Kaufmann
e0873dafc5 add the slot updateDisplayUnit() to overviewpage, sendcoinsdialog, sendcoinsentry and connect it to displayUnitChanged() - this ensures all fields in the GUI, who use a display unit are imediately updated, when the user changes this setting in the optionsdialog / ensure used fields init with the current set display unit 2012-06-17 15:20:42 +02:00
Giel van Schijndel
07368a9e3c Merge branch 'master' into async-ipv6-rpc
Conflicts:
	src/bitcoinrpc.cpp

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-06-17 14:30:37 +02:00
Matt Corallo
ad5f29b743 Revert "Disable bitcoin: URI handling on Windows for the 0.6 release"
This reverts commit 7b90edb5a6.
2012-06-15 17:19:13 +02:00
Matt Corallo
1d42878adb Fix #956 the Boost 1.49 way. 2012-06-15 17:19:09 +02:00
Matt Corallo
39471861d5 Upgrade to Boost 1.49 on Win32 2012-06-15 17:15:37 +02:00
Pieter Wuille
c971112dfa Use a 64-bit nonce in ping
Former code sent '0' as nonce, which was serialized as 32-bit.
2012-06-14 18:31:08 +02:00
Pieter Wuille
c4971e24f9 Add netbase tests 2012-06-14 17:43:10 +02:00
Pieter Wuille
1e8aeae15a Improve parsing of IPv6 addresses
Implement the following rules:
* Interpret [X]:Y as host=X port=Y, if Y is an integer
* Interpret X:Y as host=X port=Y, if Y is an integer and X contains no colon
* Interpret X:Y as host=X:Y port=default otherwise
2012-06-14 17:37:15 +02:00
Wladimir J. van der Laan
7d72a8c36a Show command line options as dialog when opened from debug window
On Linux/Mac the command-line options were printed to stderr when the button
was pressed in the debug window, resulting in confusion. This is fixed
in this commit by adding a separate method.
2012-06-14 15:14:01 +02:00
Wladimir J. van der Laan
d59bce21e5 Merge pull request #1459 from laanwj/2012_06_trayiconmenu
Reorganize tray icon menu into more logical order
2012-06-14 05:52:33 -07:00
Wladimir J. van der Laan
641cfb1456 Fix build of testcases after commit 0f10b21719 2012-06-14 09:41:11 +02:00
Wladimir J. van der Laan
64d46e7c6a Merge pull request #1002 from Diapolo/URL-handling_2
URI-handling code update: added safety checks and notifications
2012-06-13 23:17:06 -07:00
Wladimir J. van der Laan
0f10b21719 Merge pull request #1439 from Diapolo/ClientShutdown
re-work Shutdown() function
2012-06-13 23:12:22 -07:00
Wladimir J. van der Laan
f5f2d7410d Reorganize tray icon menu into more logical order
The current order of menu options in the tray menu doesn't really match expected usage patterns, this commit changes it to more logical order.

- Toggle show/hide first (unchanged)
- Then, send/receive coins actions, which are the critical functionality of bitcoin
- Then, sign/verify message
- Then finally the options, and closing with the debug window
2012-06-14 08:01:41 +02:00
Philip Kaufmann
93b7af3099 URI-handling code update: added safety checks and tray-notifications 2012-06-14 07:59:27 +02:00
Wladimir J. van der Laan
7a98f19fb6 Merge pull request #1420 from Diapolo/extend_showNormalIfMinimized
GUI: merge toggleHidden() code into showNormalIfMinimized()
2012-06-13 22:49:38 -07:00
Gavin Andresen
d518e444f8 Merge branch 'refactor_coinselect' of https://github.com/luke-jr/bitcoin 2012-06-13 21:36:35 -04:00
Philip Kaufmann
b5782531ad set cursor for balance field to IBeamCursor (to show the user it IS selectable) and set autoDefault to false for the buttons that do not need this 2012-06-13 18:34:29 +02:00
Wladimir J. van der Laan
7d1490576d Merge pull request #1448 from Diapolo/2012-06-13_translation_updates
update translation files (fetched from Transifex - 2012-06-13)
2012-06-13 09:24:39 -07:00
Wladimir J. van der Laan
15094f7654 Update bitcoinstrings from core and English source translation file
This is necessary as any strings have changed since last time.

Also the python script used to extract bitcoinstrings.cpp, extract_strings_qt.py
now sorts the strings before generating the output file. This results in more
deterministic output and thus smaller diffs.
2012-06-13 18:19:16 +02:00
Philip Kaufmann
66654ab02e update translation files (fetched from Transifex) and remove translation for fr_FR, which was removed / renamed on TX 2012-06-13 18:04:27 +02:00
Philip Kaufmann
c4443c2be1 re-work optionsdialog to a tabbed UI based on an ui-file
- extend network options with a SOCKS version selection
- changing "Unit to show amounts in:" now also updates the unit used in the transaction fee box
- string updates
- link Apply button and OK button when enabling or disabling them
- use LookupNumeric() from netbase to verify proxy address (via an EventFilter)
- change proxy address field to QValidatedLineEdit and add visual feedback
- add a status label used for displaying a message for invalid proxy addresses
- allow usage of IPv6 address as proxy address
- added warning message when enabling / disabling SOCKS proxy
2012-06-13 16:24:25 +02:00
Wladimir J. van der Laan
c4879a0c2f Merge pull request #1444 from laanwj/2012_06_opendebuglog
Cross-platform “Open debug logfile”
2012-06-12 23:56:14 -07:00
Philip Kaufmann
d2e6dd6c99 merge toggleHidden() code into showNormalIfMinimized() to extend the functionality, but keep a simpler toggleHidden() for use in SLOT() macro 2012-06-12 22:15:35 +02:00
Philip Kaufmann
d4b2f3c45b make buttons in debug window non autoDefault 2012-06-12 17:17:51 +02:00
Wladimir J. van der Laan
9b1732baae Cross-platform "Open debug logfile"
The option to open the debug logfile from the debug window was implemented only for
windows. By using `QDesktopServices::openUrl` it now works on any platform.
2012-06-12 16:35:19 +02:00
Wladimir J. van der Laan
12718ce767 Merge pull request #1440 from Diapolo/overviewpage_InitialBalance
change initial Balance on overviewpage from "123.456 BTC" to "0 BTC" to ...
2012-06-12 04:19:49 -07:00
Wladimir J. van der Laan
2842fe4aa3 Do not select first address automatically in the address book
This contributed to an accidental send (#1384), and has no clear advantage, better to disable it.
2012-06-12 10:48:42 +02:00
Wladimir J. van der Laan
b6ef8d5a40 Merge pull request #1412 from Diapolo/string_wait_mature
GUI: update info strings for generated blocks
2012-06-11 22:30:21 -07:00
Philip Kaufmann
9247134eab introduce a new StartShutdown() function, which starts a thread with Shutdown() if no GUI is used and calls uiInterface.QueueShutdown() if a GUI is used / all direct uiInterface.QueueShutdown() calls are replaced with Shutdown() - this ensures a clean GUI shutdown, even when catching a SIGTERM and allows the BitcoinGUI destructor to get called (which fixes a tray-icon issue and keeps the tray-icon until Bitcoin-Qt exits) 2012-06-12 07:21:03 +02:00
Philip Kaufmann
59e0f445ce change initial Balance on overviewpage from "123.456 BTC" to "0 BTC" to not confuse users, which could see it before we init with the real wallet balance 2012-06-11 22:40:06 +02:00
Jeff Garzik
883a310904 Merge pull request #1435 from TheBlueMatt/mingwbuild
Fix Mingw64 build (missing headers according to M$ documentation)
2012-06-09 12:40:15 -07:00
Matt Corallo
b065976007 Fix Mingw64 build (missing headers according to M$ documentation) 2012-06-09 17:14:41 +02:00
Philip Kaufmann
40d23dafb7 update info string in GUI for generated blocks and change "must wait" into "must mature" to take the new immature label into consideration 2012-06-09 00:34:10 +02:00
Pieter Wuille
11f73c728a Merge pull request #1421 from Diapolo/netbase_fix_sign_warnings
fix two signed/unsigned comparison warnings in netbase.cpp
2012-06-08 07:29:34 -07:00
Pieter Wuille
0ed0806bb4 Update comment about secure_allocator<> 2012-06-08 16:27:05 +02:00
Pieter Wuille
1b7cd74a49 Merge pull request #1424 from TheBlueMatt/lockcontention
Fix DEBUG_LOCKCONTENTION
2012-06-08 07:22:19 -07:00
Ricardo M. Correia
31ac53fbdc Move NOINLINE definition to test where it's used. 2012-06-07 20:22:18 +02:00
Ricardo M. Correia
43346904e1 Don't overflow integer on 32-bit machines.
This was causing test_bitcoin to abort on a 32-bit system likely due to -ftrapv.
2012-06-07 20:22:10 +02:00
Pieter Wuille
afdd59416e Merge pull request #1418 from Diapolo/GUI_fix_default_proxy_addr
fix default Proxy address in Qt options (no hostname allowed currently)
2012-06-05 11:13:25 -07:00
Matt Corallo
4d009243cb Fix DEBUG_LOCKCONTENTION 2012-06-05 16:13:16 +02:00
Philip Kaufmann
618b250e34 add used datadir to debug.log 2012-06-05 07:37:07 +02:00
Philip Kaufmann
b69dd08ae7 fix two signed/unsigned comparison warnings in netbase.cpp 2012-06-05 07:32:27 +02:00
Philip Kaufmann
4e16306ae3 fix default Proxy address in Qt options (no hostname allowed currently) 2012-06-04 23:13:01 +02:00
Gavin Andresen
46e06b875d Merge branch 'netopt' of https://github.com/sipa/bitcoin 2012-06-04 14:15:19 -04:00
Chris Moore
831f59ce8b Fix coin selection to only include change when it's necessary. 2012-06-04 16:49:10 +00:00
Chris Moore
d650f96d5f Preserve the shuffled order of coins with equal value to give more randomized coin selection. 2012-06-04 16:36:46 +00:00
Chris Moore
4ce190a015 Test that the coin selection code is suitably random, and add tests re. sub-cent change. 2012-06-04 16:36:43 +00:00
Chris Moore
e333ab56d5 Move the random_shuffle call back into SelectCoinsMinConf() so we can unit test it. 2012-06-04 16:36:39 +00:00
Chris Moore
9b0369c773 Refactor SelectCoinsMinConf() and add unit tests.
AvailableCoins() makes a vector of available outputs which is then passed to SelectCoinsMinConf().  This allows unit tests to test the coin selection algorithm without having the whole blockchain available.
2012-06-04 16:36:34 +00:00
Wladimir J. van der Laan
882ba0e752 Merge pull request #837 from sje397/ShowImmatureBalance
Added 'immature balance' for miners. Only displayed if the balance is > 0
2012-06-02 02:35:48 -07:00
Wladimir J. van der Laan
88d7bc930a Merge pull request #1368 from Diapolo/verifymessagepage
GUI: change verifymessagepage behaviour to match RPC-call "verifymessage"
2012-06-02 02:33:41 -07:00
Philip Kaufmann
5d6b30271f move class HelpMessageBox to guiutil.cpp/.h / add button to show Bitcoin command-line options (in RPC Console -> Information) / resize Debug window a little to allow for a non-breaking display of the welcome message with non-english translation 2012-06-01 16:29:54 +02:00
Philip Kaufmann
8103b0bb62 change verifymessagepage behaviour to match RPC-call "verifymessage" (input address, signature and message) / display messages in status label (remove message boxes) / resize window to make signature fully readable / change signature font to BC-address font (like in messagepage) / remove checkAddress() and place code directly in on_verifyMessage_clicked() / add visual feedback to LineEdits / remove AddressTableModel references, as they are now unused / add addr.GetKeyID(keyID) check 2012-06-01 11:13:44 +02:00
Gavin Andresen
98474d3d6f Use ConvertTo to simplify sendmany/addmultisigaddress argument handling 2012-05-31 16:09:31 -04:00
Gavin Andresen
ea7582bb41 Make sendrawtx return txid to be consistent with other send methods. 2012-05-31 16:05:07 -04:00
Ricardo M. Correia
10b45b4c2e Use C++-style numeric limits instead of C-style. 2012-05-31 20:33:22 +02:00
Ricardo M. Correia
78e851f94f Fix noinline definition so that it works for more compilers. 2012-05-31 20:33:14 +02:00
Pieter Wuille
587f929c64 Rework network config settings 2012-05-31 18:12:35 +02:00
Philip Kaufmann
407e20c11a sync english translation master file with current master branch 2012-05-31 11:11:04 +02:00
Pieter Wuille
10ed8178fc Update bitcoinstrings.cpp 2012-05-30 23:00:21 +02:00
R E Broadley
e69a797990 Show the timestamp for the block.
wrap lines
2012-05-29 20:11:37 +01:00
Gregory Maxwell
20cb17e1f9 Merge pull request #1392 from gavinandresen/testnet_reset
Testnet reset
2012-05-27 19:26:47 -07:00
Luke Dashjr
3cd01fdf0e CreateNewBlock: Check that the produced CBlock is acceptable (except for proof-of-work and merkletree, since those need to be provided later)
This throws an exception from CreateNewBlock otherwise, which is not safe without #1245!
2012-05-27 12:27:33 +00:00
Pieter Wuille
a52c7a1b65 Merge pull request #1357 from sipa/keyid
Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
2012-05-26 10:17:27 -07:00
Pieter Wuille
1e07068adf Merge pull request #1370 from Diapolo/add_startuptime_to_log
add client startup time as an entry to debug.log
2012-05-26 01:55:17 -07:00
Gavin Andresen
c87c8cd163 Add a testnet checkpoint at block 546 2012-05-25 14:36:40 -04:00
Gavin Andresen
248bceb30c Fix issue#1082, testnet difficulty unsigned integer underflow 2012-05-25 14:36:40 -04:00
Gavin Andresen
feeb761ba0 Testnet, Mark III 2012-05-25 14:36:40 -04:00
Gavin Andresen
4e6e3293ff Remove newlines from JSON strings
Newlines in JSON strings are against the JSON spec,
so remove them from the script*.json unit tests to
make python's jsonrpc happy (json::spirit didn't care).
2012-05-25 13:58:44 -04:00
Gavin Andresen
787f5e9949 Unit tests for transaction size limits 2012-05-25 11:37:34 -04:00
sje397
8fdb7e108f Added 'immature balance' for miners. Only displayed if the balance is greater than zero.
This adds a field labelled 'Immature' in the overview section under the 'unconfirmed' field, which shows mined
income that has not yet matured (which is currently not displayed anywhere, even though the transactions
exist in the transaction list). To do that I added a 'GetImmatureBalance' method to the wallet, and connected
that through to the GUI as per the 'GetBalance' and 'GetUnconfirmedBalance' methods. I did a small 'no-op'
change to make the code in adjacent functions a little more readable (imo); it was a change I had made in my
repo earlier...but I thought it wouldn't hurt so left it in. Immature balance comes from mined income that is
at least two blocks deep in the chain (same logic as displayed transactions).

My reasoning is:
- as a miner, it's a critical stat I want to see
- as a miner, and taking into account the label 'immature', the uncertainty is pretty clearly implied
- those numbers are already displayed in the transaction list
- this makes the overview numbers add up to what's in the transaction list
- it's not displayed if the immature balance is 0, so won't bother non-miners

I also 'cleaned' the overview UI a little, moving code to the XML and removing HTML.
2012-05-25 23:15:27 +10:00
Giel van Schijndel
fbf9df2ea3 Use the QueueShutdown signal to stop accepting new RPC connections
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:25 +02:00
Giel van Schijndel
7cc2ceae09 Allow all addresses on the loopback subnet (127.0.0.0/8) not just 127.0.0.1
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
a0780ba08a Generalise RPC connection handling code to allow more listening sockets
Using this modification it should be relatively easy to, at a later
time, listen on multiple addresses (even Unix domain sockets should be
possible).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
43b6dafa6e Allow clients on the IPv6 loopback as well
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
c1ecab818c Add dual IPv4/IPv6 stack support to the RPC server
The RPC server now listens for, and handles, incoming connections on
both IPv4 as well as IPv6.

If available (and usable) it uses a dual IPv4/IPv6 socket on systems
that support it (e.g. Linux and BSDs) and falls back to separate
IPv4/IPv6 sockets on systems that don't (e.g. Windows).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Giel van Schijndel
914dc01222 Use asynchronous I/O to handle RPC requests
This allows more flexibility in the RPC code, e.g. making it easier to
handle multiple simultaneous connections later on.

Currently asynchronous I/O is only used to listen for and accept
incoming connections.  Asynchronous reading/writing is more involved.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2012-05-25 07:27:24 +02:00
Gavin Andresen
6b8a17119e Lots more Script unit test cases. 2012-05-24 17:32:09 -04:00
Pieter Wuille
1025440184 Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddress
This introduces internal types:
* CKeyID: reference (hash160) of a key
* CScriptID: reference (hash160) of a script
* CTxDestination: a boost::variant of the former two

CBitcoinAddress is retrofitted to be a Base58 encoding of a
CTxDestination. This allows all internal code to only use the
internal types, and only have RPC and GUI depend on the base58 code.

Furthermore, the header dependencies are a lot saner now. base58.h is
at the top (right below rpc and gui) instead of at the bottom. For the
rest: wallet -> script -> keystore -> key. Only keystore still requires
a forward declaration of CScript. Solving that would require splitting
script into two layers.
2012-05-24 20:26:19 +02:00
Pieter Wuille
fd61d6f506 Encapsulate public keys in CPubKey 2012-05-24 19:58:12 +02:00
Gavin Andresen
f04017f702 More CScript unit tests. 2012-05-24 13:29:08 -04:00
Jeff Garzik
b92095f18c DoS_tests: fix signed/unsigned comparison warnings
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_mapOrphans::test_method()’:
test/DoS_tests.cpp:200:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:208:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp: In member function ‘void DoS_tests::DoS_checkSig::test_method()’:
test/DoS_tests.cpp:260:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:267:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:280:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
test/DoS_tests.cpp:307:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2012-05-24 12:18:50 -04:00
Jeff Garzik
2ae4ad004a Merge pull request #1387 from Diapolo/rem_unused_rpcdump
remove dead "using namespace boost::asio;" from rpcdump.cpp
2012-05-24 09:14:59 -07:00
Jeff Garzik
ec9c902133 Merge pull request #1383 from jgarzik/rawtx
JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network
2012-05-24 09:14:04 -07:00
Philip Kaufmann
bd09334d1a remove dead "using namespace boost::asio;" from rpcdump.cpp 2012-05-24 18:13:03 +02:00
Jeff Garzik
8e154e4d74 Merge branch 'merge2' into merge 2012-05-24 11:57:51 -04:00
Jeff Garzik
480d44bd0b rpcdump: include cleanup. move JSONRPCError def to bitcoinrpc.h. 2012-05-23 23:20:07 -04:00
Jeff Garzik
429039d45d Refactor: move runCommand() to util.cpp 2012-05-23 23:10:59 -04:00
Jeff Garzik
976c08b68a JSON-RPC: Add 'sendrawtx' op, for sending pre-built TX's to network 2012-05-23 16:21:25 -04:00
Philip Kaufmann
41c6b8abc6 add client startup time as an entry to debug.log (note: logged time in debug.log differs by a few seconds from the one displayed in the Debug window) / make ClientModel::formatClientStartupTime() return a QString 2012-05-23 18:44:28 +02:00
Jeff Garzik
9ac282ca0c Refactor: add IsChainFile helper. LoadBlockIndex() code movement. 2012-05-23 00:17:07 -04:00
Gregory Maxwell
7a99821377 Merge pull request #1342 from rebroad/LastSeenMinusMinus
Should not be T minus, as this indicate duration to future event.
2012-05-22 20:33:35 -07:00
Luke Dashjr
f9189543bf CDBEnv: fix qt build 2012-05-22 20:47:42 -04:00
Pieter Wuille
f29f242758 Merge pull request #1380 from gavinandresen/optimize2
Move signature cache from CKey::Verify to CheckSig in script.cpp
2012-05-22 15:13:36 -07:00
Jeff Garzik
0134a1c08c Merge branch 'dbenv' into tmp
Conflicts:
	src/db.cpp
2012-05-22 17:45:00 -04:00