Gavin Andresen
6fe8c45375
Merge branch 'fixnullpfrom' of https://github.com/sipa/bitcoin
2012-02-22 11:25:08 -05:00
Gavin Andresen
e7e6ae2104
Merge branch 'postfeb20' of https://github.com/sipa/bitcoin
2012-02-22 11:06:44 -05:00
Gavin Andresen
8c7358e1dd
Merge branch 'reorginfo' of https://github.com/sipa/bitcoin
2012-02-22 11:03:19 -05:00
Luke Dashjr
c170d03e03
Bugfix: Instead of reporting "bitcoin-qt" for both bitcoind and Bitcoin-Qt, report "Satoshi" which is at least correct
2012-02-22 10:36:19 -05:00
Pieter Wuille
18c0fa97d0
Post-feb20 simplifications
...
Now the entire network upgraded to (initial) protocol version 209,
crtainl simplifications in the source code are possible.
2012-02-21 20:46:39 +01:00
Pieter Wuille
73aa0421a7
ProcessBlock is sometimes called with pfrom==NULL
2012-02-20 22:35:08 +01:00
Pieter Wuille
ceaa13eff2
Report number of (dis)connected blocks in reorganization
...
Also report old and new best, and fork point.
2012-02-19 20:06:04 +01:00
Gavin Andresen
0a6b081cca
Merge branch 'testnetmining' of github.com:gavinandresen/bitcoin-git
2012-02-17 13:48:01 -05:00
Gavin Andresen
0f8cb5db73
Fix issue #848 : broken mining on testnet
2012-02-16 11:37:54 -05:00
Pieter Wuille
c59881eaee
Symbolic names for threads
...
Introduce an enum threadId, and use symbolic indices when accessing
vnThreadsRunning.
2012-02-16 12:43:06 +01:00
Chris Moore
74f28bf1fd
Fix #794 . Only remove transactions from memory pool when they're actually in the memory pool.
2012-02-09 05:21:41 -08:00
Gavin Andresen
882164196e
Update all copyrights to 2012
2012-02-07 11:28:30 -05:00
Gavin Andresen
0b452dff5e
Merge branch 'standardScriptSigs' of github.com:gavinandresen/bitcoin-git
2012-02-07 09:04:56 -05:00
Gavin Andresen
7bf8b7c25c
-bip16 option (default: 1) to support / not support BIP 16. And bumped default BIP16 switchover date from Feb 15 to Mar 1
2012-02-06 16:27:05 -05:00
Gregory Maxwell
5d1b8f1725
Avoid advertising the node's address when it is not listening or IsInitialBlockDownload().
...
This also avoids flushing setAddrKnown until 24 hours has passed,
and avoids contacting the external IP services when not listening.
Advertising non-listening nodes is just addr message spam.
It doesn't help the network, in fact it hurts the network,
and it also hurts user's privacy.
Advertising far out of sync nodes doesn't help the network—
they can't even forward (most) transactions and wastes nodes
outbound slots.
2012-02-01 18:08:03 -05:00
Gavin Andresen
c52296a73e
Testnet difficulty calculation changes, to take effect Feb 15 2012
...
Allow mining of min-difficulty blocks if 20 minutes have gone by without mining a regular-difficulty block.
Normal rules apply every 2016 blocks, though, so there may be a very-slow-to-confirm block at the difficulty-adjustment blocks.
2012-01-31 13:20:01 -05:00
Gavin Andresen
68649bef93
CreateNewBlock was not adding in transaction fees.
2012-01-28 10:16:21 -05:00
Luke Dashjr
2bc4fd609c
Bitcoin-Qt signmessage GUI (pull request #582 )
2012-01-27 08:41:55 +01:00
Gavin Andresen
b6a35d2d52
Merge pull request #773 from gavinandresen/p2shSigOpCount
...
Simplify counting of P2SH sigops to match BIP 16
2012-01-25 05:21:20 -08:00
Gavin Andresen
b8056dc5d0
Merge branch 'bugfix_areinpstd' of https://github.com/luke-jr/bitcoin
2012-01-23 13:09:34 -05:00
Gavin Andresen
149f580c82
Only store transactions with missing inputs in the orphan pool.
...
All previous versions of bitcoin could store some types of
invalid transactions in the orphan-transaction list.
2012-01-23 12:54:32 -05:00
Luke Dashjr
575bdcde93
Sanitize AreInputsStandard slightly
...
Correct comment for why the check is unnecessary for coinbases
Move testnet check out, to AcceptToMemoryPool where everything else checks it
2012-01-20 21:00:08 -05:00
Gavin Andresen
137d0685a4
Simplify counting of P2SH sigops to match BIP 16 (thanks to Matt Corallo for prompting this).
...
This also removes an un-needed sigops-per-byte check when accepting transactions to the memory pool (un-needed assuming only standard transactions are being accepted). And it only counts P2SH sigops after the switchover date.
2012-01-20 17:07:40 -05:00
Gavin Andresen
39f0d96860
Make transactions with extra data in their scriptSig's non-standard.
2012-01-19 13:30:54 -05:00
Forrest Voight
52a3d2635c
Separated COINBASE_FLAGS out into main.h and made RPC getmemorypool return it
2012-01-14 19:22:24 -05:00
Gavin Andresen
4063460534
Refactor: needing to call ConnectInputs to process coinbase transactions was counter-intuitive
2012-01-13 10:22:24 -05:00
Gavin Andresen
8d7849b6db
Refactored ConnectInputs, so valid-transaction-checks are done before ECDSA-verifying signatures.
2012-01-13 10:22:24 -05:00
Gavin Andresen
922e8e2929
Replace OP_EVAL (BIP 12) with Pay-to-script-hash (BIP 16).
2012-01-13 10:22:23 -05:00
Luke Dashjr
340f0876ea
collect more info on tx pooling and block finding for getmininginfo
2012-01-12 19:47:39 -05:00
Gavin Andresen
3f64fa1369
Merge pull request #743 from gavinandresen/blocknotify
...
-blocknotify : run a command when best-block changes
2012-01-12 06:31:25 -08:00
Pieter Wuille
67a42f929b
Network stack refactor
...
This introduces CNetAddr and CService, respectively wrapping an
(IPv6) IP address and an IP+port combination. This functionality used
to be part of CAddress, which also contains network flags and
connection attempt information. These extra fields are however not
always necessary.
These classes, along with logic for creating connections and doing
name lookups, are moved to netbase.{h,cpp}, which does not depend on
headers.h.
Furthermore, CNetAddr is mostly IPv6-ready, though IPv6
functionality is not yet enabled for the application itself.
2012-01-06 18:55:37 +01:00
Gavin Andresen
d237f62c23
-blocknotify=command argument, implemented using system() and boost::thread
2012-01-03 15:48:59 -05:00
Gavin Andresen
61977f956c
Check all prevout.n if one transaction provides multiple inputs
2011-12-25 10:32:05 -05:00
Gavin Andresen
60835d9627
assert condition in previous commit was backwards
2011-12-25 10:08:01 -05:00
Gavin Andresen
6996a9d713
Check for valid prevout.n in FetchInputs.
...
IsStandardInputs could crash if given invalid input index.
2011-12-25 08:45:09 -05:00
Gavin Andresen
fe358165e3
Be more conservative: check all transactions in blocks after last checkpoint.
2011-12-23 17:13:10 -05:00
Wladimir J. van der Laan
bde280b9a4
Revert "Use standard C99 (and Qt) types for 64-bit integers"
...
This reverts commit 21d9f36781
.
2011-12-21 22:33:19 +01:00
Luke Dashjr
21d9f36781
Use standard C99 (and Qt) types for 64-bit integers
2011-12-20 16:52:59 -05:00
Gavin Andresen
781c06c0f5
Merge pull request #677 from luke-jr/minfee_modes
...
API: GetMinFee modes
2011-12-20 13:09:18 -08:00
Gavin Andresen
595925592d
Merge branch 'op_eval'
2011-12-20 14:43:31 -05:00
Gavin Andresen
9ef7fa3447
Code cleanup: use ECDSA_size() instead of fixed 10,000 byte sig buffer, and explicity init static var
2011-12-19 19:10:34 -05:00
Gavin Andresen
26ce92b352
Use std::numeric_limits<> for typesafe INT_MAX/etc
2011-12-19 19:10:34 -05:00
Gavin Andresen
9e470585b3
Update bitcoin address numbers for latest luke-jr/sipa scheme
2011-12-19 13:24:51 -05:00
Gavin Andresen
2a45a494b0
Use block times for 'hard' OP_EVAL switchover, and refactored EvalScript
...
so it takes a flag for how to interpret OP_EVAL.
Also increased IsStandard size of scriptSigs to 500 bytes, so
a 3-of-3 multisig transaction IsStandard.
2011-12-19 13:24:48 -05:00
Gavin Andresen
d7062ef1bd
Put OP_EVAL string in coinbase of generated blocks
2011-12-19 13:24:48 -05:00
Gavin Andresen
e679ec969c
OP_EVAL implementation
...
OP_EVAL is a new opcode that evaluates an item on the stack as a script.
It enables a new type of bitcoin address that needs an arbitrarily
complex script to redeem.
2011-12-19 12:40:19 -05:00
Gavin Andresen
99a289f531
Merge pull request #574 from sipa/dumpprivkey
...
Dumpprivkey
2011-12-19 07:27:25 -08:00
Gavin Andresen
f8ded588a2
Implement BIP 14 : separate protocol version from client version
2011-12-19 10:24:23 -05:00
Pieter Wuille
30ab2c9c46
Preparations for key import/export
2011-12-17 21:49:48 +01:00
Luke Dashjr
dbbf1d4a48
GetMinFee takes a mode parameter (GMF_{BLOCK,RELAY,SEND}) instead of fForRelay
2011-12-14 01:07:43 -05:00