aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-06-27UI to alert of respend attempt affecting wallet.Tom Harding
Respend transactions that conflict with transactions already in the wallet are added to it. They are not displayed unless they also involve the wallet, or get into a block. If they do not involve the wallet, they continue not to affect balance. Transactions that involve the wallet, and have conflicting non-equivalent transactions, are highlighted in red. When the conflict first occurs, a modal dialog is thrown. CWallet::SyncMetaData is changed to sync only to equivalent transactions. When a conflict is added to the wallet, counter nConflictsReceived is incremented. This acts like a change in active block height for the purpose of triggering UI updates.
2014-06-27Relay double-spends, subject to anti-DOSTom Harding
Allows network wallets and other clients to see transactions that respend a prevout already spent in an unconfirmed transaction in this node's mempool. Knowledge of an attempted double-spend is of interest to recipients of the first spend. In some cases, it will allow these recipients to withhold goods or services upon being alerted of a double-spend that deprives them of payment. As before, respends are not added to the mempool. Anti-Denial-of-Service-Attack provisions: - Use a bloom filter to relay only one respend per mempool prevout - Rate-limit respend relays to a default of 100 thousand bytes/minute - Define tx2.IsEquivalentTo(tx1): equality when scriptSigs are not considered - Do not relay these equivalent transactions Remove an unused variable declaration in txmempool.cpp.
2014-06-27CBloomFilter::clear() methodTom Harding
2014-06-27Merge pull request #4365 from gavinandresen/relax_isstandardGavin Andresen
Relax IsStandard rules for pay-to-script-hash transactions
2014-06-27set shutdown title to main window titlePhilip Kaufmann
- this ensures we don't show Bitcoin-Qt as that is still our internal application name - fixes #4427
2014-06-27Merge pull request #4208Wladimir J. van der Laan
6a5c124 [Qt] don't allow translation of our example btc address (Philip Kaufmann)
2014-06-27minor code format fix in rpc-related filesPhilip Kaufmann
2014-06-27Merge pull request #4288Wladimir J. van der Laan
ed5769f Move AcceptedConnection class to rpcserver.h. (Jeff Garzik) 854d013 RPC code movement: separate out JSON-RPC execution logic from HTTP server logic (Jeff Garzik) c912e22 RPC cleanup: Improve HTTP server replies (Jeff Garzik)
2014-06-27Move AcceptedConnection class to rpcserver.h.Jeff Garzik
Also, add parens to HTTPReply() to assist readability.
2014-06-26RPC code movement: separate out JSON-RPC execution logic from HTTP server logicJeff Garzik
2014-06-26RPC cleanup: Improve HTTP server repliesJeff Garzik
1) support varying content types 2) support only sending the header 3) properly deliver error message as content, if HTTP error 4) move AcceptedConnection class to header, for wider use
2014-06-26RPC client: Simplify command line string-to-JSON-value conversion codeJeff Garzik
By default, all command line parameters are converted into JSON string values. There is no need to manually specify the incoming type. A binary decision "parse as string or JSON?" is all that's necessary. Convert to a simple class, initialized at runtime startup, which offers a quick lookup to answer "parse as JSON?" conversion question. Future parameter conversions need only to indicate the method name and zero-based index of the parameter needing JSON parsing.
2014-06-26Fixed captitalization in bitcoin-cli-res.rcWhit J
2014-06-27Use async name resolving to improve net thread responsivenessHuang Le
In the LookupIntern(), things changed are: 1. Call getaddrinfo_a() instead of getaddrinfo() if available, the former is a sync version of the latter; 2. Try using inet_pton()/inet_addr() to convert the input text to a network addr structure at first, if success the extra name resolving thread inside getaddrinfo_a() could be avoided; 3. An interruption point added in the waiting loop for return from getaddrinfo_a(), which completes the improve for thread responsiveness. A easy way to see the effect is to kick off a 'bitcoind stop' immediately after 'bitcoind -daemon', before the change it would take several, or even tens of, minutes on a bad network situation to wait for the running bitcoind to exit, now it costs only seconds. Signed-off-by: Huang Le <4tarhl@gmail.com>
2014-06-26Merge pull request #3715Wladimir J. van der Laan
e44fea5 Add an option to allow users to disable relaying/mining data carrier transactions (Luke Dashjr)
2014-06-26Merge pull request #4392Wladimir J. van der Laan
8ae973c Allocate more space if necessary in RandSeedAddPerfMon (Wladimir J. van der Laan) be873f6 Issue warning if collecting RandSeed data failed (Wladimir J. van der Laan) fcb0a1b change "char pch[200000]" to "new char[200000]" (daniel)
2014-06-26Add an option to allow users to disable relaying/mining data carrier ↵Luke Dashjr
transactions
2014-06-26Merge pull request #1583Wladimir J. van der Laan
2a72d45 JSON-RPC method: prioritisetransaction <txid> <priority delta> <priority tx fee> (Luke Dashjr)
2014-06-26Allocate more space if necessary in RandSeedAddPerfMonWladimir J. van der Laan
Currently we use a fixed buffer of 250000 bytes to request HKEY_PERFORMANCE_DATA. In many cases this is not enough, causing the entropy collection to be skipped. Use a loop that grows the buffer as specified in the RegQueryValueEx documentation: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724911%28v=vs.85%29.aspx (as the size of the performance data can differ for every call, the normal solution of requesting the size then allocating that can't work)
2014-06-26JSON-RPC method: prioritisetransaction <txid> <priority delta> <priority tx fee>Luke Dashjr
Accepts the transaction into mined blocks at a higher (or lower) priority
2014-06-26add missing BOOST_FOREACH indentation in ThreadSocketHandler()Philip Kaufmann
2014-06-26small cleanup of #ifdefs in BindListenPort()Philip Kaufmann
- SO_NOSIGPIPE isn't available on WIN32 so merge the 2 non-WIN32 blocks - use predefined names from header for IPV6_PROTECTION_LEVEL and PROTECTION_LEVEL_UNRESTRICTED
2014-06-26ensure clean and consistent "namespace" usagePhilip Kaufmann
- remove some missplaced ; - ensure end of a namespace is clearly visible - use same formatting when using namespace
2014-06-25Remove timing-based signature cache unit testGavin Andresen
Two changes: First removes a unit test that fails in my development environment (OSX, compiled -g3 with clang). sipa says that's not terribly surprising; the CMutableTransaction change makes signing a little more expensive but verification quicker. The unit test timed sign+verify-uncached versus verify-cached-five-times. He also says the test will be invalid when libsec256kp1 is integrated (because validation is super-optimized over signing). core.h change fixes a compiler warning (clang -Wall : CMutableTransaction defined as struct, declared as class in script.h).
2014-06-25[Qt] New status bar Unit Display Control and related changes.gubatron
- New status bar control shows the current Unit of Display. When clicked (left,or right button) it shows a context menu that allows the user to switch the current Unit of Display (BTC, mBTC, uBTC) - Recent Requests and Transaction Table headers are now updated when unit of display is changed, because their "Amount" column now displays the current unit of display. - Takes care of issue #3970 Units in transaction export csv file. - Small refactors for reusability. - Demo Video https://www.youtube.com/watch?v=wwcr0Yh68go&list=UUG3jF2hgofmLWP0tRPisQAQ - changes after Diapolo's feedback. Have not been able to build after last pool, issues with boost on MacOSX, will test on Ubuntu these changes. - removed return statement on switch - renamed onDisplayUnitsChanged(int) to updateDisplayUnit(int) - now getAmountColumnTitle(int unit) takes a simple unit parameter. moved to BitcoinUnits.
2014-06-25Move coins.cpp and keystore.cpp to libbitcoin_commonWladimir J. van der Laan
Prepare for introduction of `bitcoin-tx` tool.
2014-06-25Remove unnecessary dependencies for bitcoin-cliWladimir J. van der Laan
This commit removes all the unnecessary dependencies (key, core, netbase, sync, ...) from bitcoin-cli. To do this it shards the chain parameters into BaseParams, which contains just the RPC port and data directory (as used by utils and bitcoin-cli) and Params, with the rest.
2014-06-25Move network-time related functions to timedata.cpp/hWladimir J. van der Laan
The network time-offset-mangement functions from util.cpp are moved to timedata.(cpp|h). This breaks the dependency of util on netbase.
2014-06-25Merge pull request #3839Wladimir J. van der Laan
fd704c7 move pow constants to chainparams (jtimon) df852d2 Refactor proof of work related functions out of main (jtimon)
2014-06-25Merge pull request #4390Wladimir J. van der Laan
6dc90ed replace 3 separate calls to WSAGetLastError() with 1 (Philip Kaufmann)
2014-06-24Consistent letteringWhit J
2014-06-24Merge pull request #4403Wladimir J. van der Laan
5fbb4c9 [Qt] fix links in about window not opening (Philip Kaufmann)
2014-06-24Merge pull request #4130Wladimir J. van der Laan
1c750db remove -tor compatibility code (only allow -onion) (Philip Kaufmann)
2014-06-24Merge pull request #4169Wladimir J. van der Laan
0655fac miner: indentation fixes, remove for (;;) (Philip Kaufmann)
2014-06-24Merge pull request #3674Wladimir J. van der Laan
77cbd46 Let -zapwallettxes recover transaction meta data (Cozz Lovan)
2014-06-24[Qt] fix links in about window not openingPhilip Kaufmann
- closes #4402
2014-06-24remove -tor compatibility code (only allow -onion)Philip Kaufmann
- exit, if -tor option is found and give error to user
2014-06-24replace 3 separate calls to WSAGetLastError() with 1Philip Kaufmann
2014-06-23move pow constants to chainparamsjtimon
2014-06-23Refactor proof of work related functions out of mainjtimon
2014-06-23Relax IsStandard rules for pay-to-script-hash transactionsGavin Andresen
Relax the AreInputsStandard() tests for P2SH transactions -- allow any Script in a P2SH transaction to be relayed/mined, as long as it has 15 or fewer signature operations. Rationale: https://gist.github.com/gavinandresen/88be40c141bc67acb247 I don't have an easy way to test this, but the code changes are straightforward and I've updated the AreInputsStandard unit tests.
2014-06-23build: fix build weirdness after 54372482.Cory Fields
bitcoin-config.h moved, but the old file is likely to still exist when reconfiguring or switching branches. This would've caused files to not rebuild correctly, and other strange problems. Make the path explicit so that the old one cannot be found. Core libs use config/bitcoin-config.h. Libs (like crypto) which don't want access to bitcoin's headers continue to use -Iconfig and #include bitcoin-config.h.
2014-06-23Issue warning if collecting RandSeed data failedWladimir J. van der Laan
2014-06-23[Qt] don't allow translation of our example btc addressPhilip Kaufmann
2014-06-23Merge pull request #4314Wladimir J. van der Laan
b3c912d [Qt] Change Coin control labels and tooltips because of non-rounding fees (Cozz Lovan)
2014-06-23change "char pch[200000]" to "new char[200000]"daniel
2014-06-23Avoid undefined behavior using CFlatData in CScript serializationWladimir J. van der Laan
`&vch[vch.size()]` and even `&vch[0]` on vectors can cause assertion errors with VC in debug mode. This is the problem mentioned in #4239. The deeper problem with this is that we rely on undefined behavior. - Add `begin_ptr` and `end_ptr` functions that get the beginning and end pointer of vector in a reliable way that copes with empty vectors and doesn't reference outside the vector (see https://stackoverflow.com/questions/1339470/how-to-get-the-address-of-the-stdvector-buffer-start-most-elegantly/1339767#1339767). - Add a convenience constructor to CFlatData that wraps a vector. I added `begin_ptr` and `end_ptr` as separate functions as I imagine they will be useful in more places.
2014-06-23Merge pull request #4388Wladimir J. van der Laan
3dc1464 add missing vhListenSocket.clear(); to CNetCleanup() (Philip Kaufmann) 2831a03 remove unused CNode::Cleanup() (Philip Kaufmann)
2014-06-23Merge pull request #4391Wladimir J. van der Laan
b612bde remove unneded class CNodeCombinedStats; from rpcconsole.cpp (Philip Kaufmann)
2014-06-23remove unneded class CNodeCombinedStats; from rpcconsole.cppPhilip Kaufmann
- also 2 small style fixes