Gavin Andresen
e0e54740b1
Handle should-never-happen case of orphan in mempool
2012-07-26 15:29:59 -04:00
Gavin Andresen
c555400ca1
When creating new blocks, sort 'paid' area by fee-per-kb
...
Modify CreateNewBlock so that instead of processing all transactions
in priority order, process the first 27K of transactions in
priority order and then process the rest in fee-per-kilobyte
order.
This is the first, minimal step towards better a better fee-handling
system for both miners and end-users; this patch should be easy
to backport to the old versions of Bitcoin, and accomplishes the
most important goal-- allow users to "buy their way in" to blocks
using transaction fees.
2012-07-26 14:24:19 -04:00
Gavin Andresen
29c8fb0d93
Merge branch 'checknewblock' of git://github.com/luke-jr/bitcoin
2012-07-26 13:55:27 -04:00
Gavin Andresen
986a78979e
Merge branch 'bugfix_CNBerr' of git://github.com/luke-jr/bitcoin
2012-07-26 13:55:21 -04:00
Gavin Andresen
0bf30d2b33
Merge pull request #1621 from luke-jr/WinCOPYING
...
Replace all occurances of license.txt with COPYING, including naming the file COPYING.txt on Windows
2012-07-22 16:18:41 -07:00
Gavin Andresen
c93236b564
Merge branch 'master' of git://github.com/fanquake/bitcoin
2012-07-17 20:33:03 -04:00
Gavin Andresen
3c3666d67e
New feature for signrawtransaction: specify signature hash (ALL/NONE/etc)
2012-07-17 12:21:56 -04:00
Gavin Andresen
18871d4785
Give a better error message than 'type mismatch' for complex JSON arguments
2012-07-17 12:02:31 -04:00
Gavin Andresen
14ad993895
Merge branch 'fix-commandline-warnings' of git://github.com/muggenhor/bitcoin
2012-07-16 21:23:57 -04:00
Gavin Andresen
92f6fb4cfa
Teach RenameThread to work on OSX
2012-07-16 20:57:26 -04:00
Gavin Andresen
1290914b37
Merge pull request #1595 from fanquake/master
...
Correct OpenSSL version
2012-07-13 07:49:29 -07:00
Gavin Andresen
dbb0a12366
Merge branch 'chashwriter' of https://github.com/sipa/bitcoin
2012-07-13 08:35:58 -04:00
Gavin Andresen
771ffb5e28
Bug fix: sendrawtransaction was not relaying properly
2012-07-12 19:55:54 -04:00
Gavin Andresen
4060d64fc9
Fix Qt build on OSX
...
Compiling boost::interprocess::message_queue against
boost 1.50 macports with -arch i386 (how releases are built,
for minimum download size and maximum compatibility) is failing:
src/qt/qtipcserver.cpp:37: error: no matching function for call to ‘boost::interprocess::message_queue_t<boost::interprocess::offset_ptr<void, int, long unsigned int, 0u> >::timed_receive(char (*)[257], long unsigned int, size_t&, unsigned int&, boost::posix_time::ptime&)’
This is probably a boost or macports bug, but since interprocess::message_queue
is only used for URI support, which isn't implemented on OSX anyway, I fixed
the build by #ifdef'ing out that code.
2012-07-09 11:03:38 -04: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
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
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
Gavin Andresen
8a05341cf5
Merge branch 'buildupdates' of https://github.com/TheBlueMatt/bitcoin
2012-07-04 10:46:44 -04: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
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
Gavin Andresen
1282c8653e
Checkpoint at block 185333 (and remove a couple of intermediate checkpoints)
2012-06-25 09:26:14 -04:00
Gavin Andresen
9700f212ad
Merge pull request #1496 from xanatos/patch-2
...
= instead of == in multisig_tests.cpp
2012-06-21 12:51:05 -07:00
Gavin Andresen
c283b3c569
print large orphan warning BEFORE deleting pvMsg
2012-06-19 17:14:29 -04: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
7596a030c6
Merge branch 'master' of https://github.com/fanquake/bitcoin
2012-06-18 14:29:32 -04: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
Gavin Andresen
5204ca87e2
Merge pull request #1480 from fanquake/master
...
Update OSX build instructions
2012-06-18 06:44:51 -07:00
Gavin Andresen
fab7858a35
Document how to build/run unit tests
2012-06-14 20:44:04 -04:00
Gavin Andresen
d518e444f8
Merge branch 'refactor_coinselect' of https://github.com/luke-jr/bitcoin
2012-06-13 21:36:35 -04:00
Gavin Andresen
c17e60e270
Merge pull request #1446 from TheBlueMatt/changelog
...
Update wiki changelog at doc/release-process.txt
2012-06-12 17:08:34 -07:00
Gavin Andresen
45268208ae
Merge pull request #1422 from Diapolo/add_used_datadir_debug_log
...
add used datadir to debug.log
2012-06-05 06:45:49 -07:00
Gavin Andresen
46e06b875d
Merge branch 'netopt' of https://github.com/sipa/bitcoin
2012-06-04 14:15:19 -04:00
Gavin Andresen
9f46a3e32a
Merge pull request #1411 from TheBlueMatt/debian
...
Update contrib/debian.
2012-06-04 09:15:45 -07:00
Gavin Andresen
371f9616e9
Merge pull request #1415 from dooglus/fix-build-unix.txt
...
"USE_UPNP=-" is needed to remove UPnP support.
2012-06-04 09:14:34 -07: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
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
325e5c3ef0
Merge pull request #1366 from roques/completion
...
Bash completion for bitcoind(1)
2012-05-25 09:07:16 -07:00
Gavin Andresen
787f5e9949
Unit tests for transaction size limits
2012-05-25 11:37:34 -04:00
Gavin Andresen
6b8a17119e
Lots more Script unit test cases.
2012-05-24 17:32:09 -04:00
Gavin Andresen
f04017f702
More CScript unit tests.
2012-05-24 13:29:08 -04:00
Gavin Andresen
acf513cfe7
Move signature cache from CKey::Verify to CheckSig in script.cpp
...
More than doubles the speed of verifying already-cached signatures
that use compressed pubkeys:
Before: ~200 microseconds
After: ~80 microseconds
(no caching at all: ~3,300 microseconds per signature)
Also encapsulates the signature cache code in a class
and fixes a signed/unsigned comparison warning.
2012-05-22 14:15:11 -04:00
Gavin Andresen
43d16f0361
Merge branch 'master' of github.com:bitcoin/bitcoin
2012-05-22 11:14:30 -04:00
Gavin Andresen
d0e4051cd8
Merge branch 'optimize'
2012-05-22 11:13:00 -04:00
Gavin Andresen
eef7c4a773
Merge pull request #1372 from jgarzik/json-threadsafe
...
Define BOOST_SPIRIT_THREADSAFE at all json_spirit*.h inclusion sites
2012-05-22 07:53:42 -07:00
Gavin Andresen
973ca019bc
Merge pull request #1296 from Diapolo/CheckDiskSpace
...
make CheckDiskSpace() use 50 * 1024 * 1024 Bytes
2012-05-19 05:48:48 -07:00
Gavin Andresen
23e5c5b11a
Merge pull request #1289 from Diapolo/Bitcoin_as_noun
...
change strings to Bitcoin (uppercase), where it is used as a noun and up...
2012-05-19 05:45:50 -07:00
Gavin Andresen
62922c8ab0
Cache signature verifications
...
Create a maximum-10MB signature verification result cache.
This should almost double the number of transactions that
can be processed on a given CPU, because before this change
ECDSA signatures were verified when transactions were added
to the memory pool and then again when they appeared in
a block.
2012-05-18 10:41:18 -04:00
Gavin Andresen
4add41a2a6
Further DoS prevention: Verify signatures last
...
Loop over all inputs doing inexpensive validity checks first,
and then loop over them a second time doing expensive signature
checks. This helps prevent possible CPU exhaustion attacks
where an attacker tries to make a victim waste time checking
signatures for invalid transactions.
2012-05-18 10:41:18 -04:00
Gavin Andresen
7a15109c04
Remove invalid dependent orphans from memory
...
Remove orphan transactions from memory once
all of their parent transactions are received
and they're still not valid.
Thanks to Sergio Demian Lerner for suggesting this fix.
2012-05-18 10:41:17 -04:00
Gavin Andresen
77b99cf7ad
Optimize orphan transaction handling
...
Changes suggested by Sergio Demian Lerner to
help prevent potential DoS attacks.
2012-05-18 10:13:21 -04:00
Gavin Andresen
f718aedd9f
Refactor: GetRandHash() method for util
2012-05-17 16:33:27 -04:00
Gavin Andresen
096e06dbb5
Refactor: move code from key.h to key.cpp
2012-05-17 16:33:26 -04:00
Gavin Andresen
e6fd96f054
Fix osx build
2012-05-09 13:56:53 -04:00
Gavin Andresen
397737b913
Bump version numbers for 0.6.1rc2
2012-05-04 10:22:26 -04:00
Gavin Andresen
be8651dde7
Check earlier for blocks with duplicate transactions. Fixes #1167
2012-04-30 11:08:07 -04:00
Gavin Andresen
0acbe31cfc
Update openssl version
2012-04-27 12:45:49 -04:00
Gavin Andresen
cedcec2dec
Bump win32.deps version number for new openssl
2012-04-27 11:53:11 -04:00
Gavin Andresen
2b4d7735b6
Windows build: compile against openssl 1.0.1b
2012-04-27 10:52:14 -04:00
Gavin Andresen
2c31cfc271
Bump version numbers for 0.6.1rc1
2012-04-27 10:14:33 -04:00
Gavin Andresen
dfead66eac
Merge pull request #1151 from freewil/listsinceblock-blockhash
...
listsinceblock: rpc param blockid -> blockhash
2012-04-26 15:37:12 -07:00
Gavin Andresen
27d4b53a5c
Merge pull request #1150 from gavinandresen/NOPCH
...
Remove unused -DNOPCH
2012-04-26 15:36:33 -07:00
Gavin Andresen
b2997dc043
Merge pull request #1152 from freewil/remove-strange-debug
...
remove strange debug message from listsinceblock
2012-04-26 15:36:15 -07:00
Gavin Andresen
9e71a5cd23
Define TEST_DATA_DIR so unit tests can be run from any current working directory
2012-04-26 11:20:44 -04:00
Gavin Andresen
08e663d7e2
Undo part of c2e8c8ac to fix issue#1148
2012-04-26 10:18:35 -04:00
Gavin Andresen
cfc45319fe
Remove unused -DNOPCH
2012-04-25 19:40:44 -04:00
Gavin Andresen
febe76e316
Merge pull request #1121 from gavinandresen/scripttest
...
Data-driven script evaluation unit tests (rebased to fix compiler warning).
2012-04-21 16:36:41 -07:00
Gavin Andresen
8449a8788a
Data-drive script evaluation unit tests.
2012-04-21 19:35:39 -04:00
Gavin Andresen
b97d54355e
Merge pull request #1106 from jgarzik/sign-compare
...
Fix many sign-comparison warnings found in bitcoin codebase
2012-04-17 10:55:56 -07:00
Gavin Andresen
e873dc654c
Merge pull request #1115 from laanwj/2012_04_cleanupmisc
...
Delete unused, unreachable and commented code, add missing initializer
2012-04-17 10:12:33 -07:00
Gavin Andresen
c3c203ccd9
Merge pull request #1087 from sipa/fix_1086
...
Fix #1086 : add /testnet to passed datadir
2012-04-12 18:22:15 -07:00
Gavin Andresen
b7dc02381f
Merge pull request #1041 from gavinandresen/listtransactionsfix
...
Bug fix listtransactions from/count handling.
2012-04-12 12:20:51 -07:00
Gavin Andresen
940e22fd81
Fix OSX build errors.
2012-04-12 11:14:46 -04:00
Gavin Andresen
2232717cba
Remove path.make_preferred() calls, and fix compiler error in bitcoinrpc RE: boost::system
2012-04-11 14:00:48 -04:00
Gavin Andresen
37e7e72041
Merge pull request #1077 from sipa/buildinfo
...
Fix build.h dependencies
2012-04-11 10:35:44 -07:00
Gavin Andresen
1044391135
Merge branch 'filesystem' of https://github.com/Diapolo/bitcoin
2012-04-09 10:41:59 -04:00
Gavin Andresen
3acee27b14
Merge pull request #1047 from luke-jr/strlcpy_attribute
...
Document strlcpy.h in assets-attribution.txt since it isn't MIT-licensed
2012-04-05 16:41:20 -07:00
Gavin Andresen
399ff1fe05
Merge pull request #1043 from Diapolo/misc
...
removed obsolete boost workaround (boost ticket #4258 )
2012-04-05 07:36:23 -07:00
Gavin Andresen
895c12943b
Merge pull request #1042 from gavinandresen/use_ssl_cleanup
...
Remove USE_SSL #define
2012-04-05 07:34:45 -07:00
Gavin Andresen
ea2cc8fc4a
Merge pull request #1037 from gavinandresen/addmultisigenable
...
Enable addmultisigaddress RPC call for main network
2012-04-05 07:34:19 -07:00
Gavin Andresen
c7fa55bb87
Merge pull request #1036 from gavinandresen/pubsubcleanup
...
Remove half-implemented publish/subscribe system
2012-04-05 07:33:54 -07:00
Gavin Andresen
78494ffecc
Merge pull request #1035 from gavinandresen/osxbuild
...
Add ifdef RELEASE to makefile.osx as the compile-for-older-macs flags
2012-04-05 07:33:00 -07:00
Gavin Andresen
5ce4c2a23a
Remove USE_SSL #define
2012-04-04 21:19:27 -04:00
Gavin Andresen
723cafcbcf
Bug fix listtransactions from/count handling.
2012-04-04 20:56:13 -04:00
Gavin Andresen
ea8c55cfd7
Enable addmultisigaddress RPC call for main network
2012-04-04 16:01:27 -04:00
Gavin Andresen
f487746ded
Remove half-implemented publish/subscribe system
2012-04-04 15:56:00 -04:00
Gavin Andresen
3a8ca61bd0
Add ifdef RELEASE to makefile.osx as the compile-for-older-macs flags
2012-04-04 15:45:31 -04:00
Gavin Andresen
85ea8b4f43
Merge pull request #951 from TheBlueMatt/headerslimit
...
Limit getheaders to a hard 2000.
2012-04-02 11:22:11 -07:00
Gavin Andresen
f3da2a88c9
Bump version to 0.6.0.99 for 0.6.1 merge window
2012-04-02 10:03:26 -04:00
Gavin Andresen
a1c3d8f14d
Merge branch 'master' of github.com:bitcoin/bitcoin
2012-03-29 15:11:04 -04:00
Gavin Andresen
f146061d24
Merge pull request #1010 from sipa/fastblocks2
...
Use transactions-updated as flush condition
2012-03-29 12:10:30 -07:00