Branch: refs/heads/master
  Home:   https://github.com/btcsuite/btcd
  Commit: 180c827db3506ad8d2145a7a7e4dbf662c199b4b
      
https://github.com/btcsuite/btcd/commit/180c827db3506ad8d2145a7a7e4dbf662c199b4b
  Author: Dave Collins <[email protected]>
  Date:   2013-07-18 (Thu, 18 Jul 2013)

  Changed paths:
    A .gitignore
    A README.md

  Log Message:
  -----------
  Initial commit.


  Commit: aa5847f3cc9e6f825ffa1772d8428160e4b637b6
      
https://github.com/btcsuite/btcd/commit/aa5847f3cc9e6f825ffa1772d8428160e4b637b6
  Author: Dave Collins <[email protected]>
  Date:   2013-07-19 (Fri, 19 Jul 2013)

  Changed paths:
    A LICENSE
    M README.md
    A accept.go
    A chain.go
    A checkpoints.go
    A cov_report.sh
    A difficulty.go
    A doc.go
    A internal_test.go
    A log.go
    A merkle.go
    A merkle_test.go
    A notifications.go
    A process.go
    A reorganization_test.go
    A scriptval.go
    A test_coverage.txt
    A testdata/blk_0_to_4.dat.bz2
    A testdata/blk_3A.dat.bz2
    A testdata/blk_4A.dat.bz2
    A testdata/blk_5A.dat.bz2
    A testdata/reorgtest.hex
    A timesorter.go
    A txlookup.go
    A validate.go
    A validate_test.go

  Log Message:
  -----------
  Initial implementation.


  Commit: 355502c97087530b89e737fed3c3d4b5fe8f0764
      
https://github.com/btcsuite/btcd/commit/355502c97087530b89e737fed3c3d4b5fe8f0764
  Author: Dave Collins <[email protected]>
  Date:   2013-07-19 (Fri, 19 Jul 2013)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Update documentation for IsCheckpointCandidate.

The bulleted list was not indented which caused godoc to show the
documentation improperly.


  Commit: 20f7c2ecd07d5d7ed7ebe5aa47b979627362530f
      
https://github.com/btcsuite/btcd/commit/20f7c2ecd07d5d7ed7ebe5aa47b979627362530f
  Author: Dave Collins <[email protected]>
  Date:   2013-07-19 (Fri, 19 Jul 2013)

  Changed paths:
    M internal_test.go
    A timesorter_test.go

  Log Message:
  -----------
  Add tests for TimeSorter.


  Commit: d6d2b15901e3e1f8bd1376badfac4eca11eebe32
      
https://github.com/btcsuite/btcd/commit/d6d2b15901e3e1f8bd1376badfac4eca11eebe32
  Author: Dave Collins <[email protected]>
  Date:   2013-07-20 (Sat, 20 Jul 2013)

  Changed paths:
    M doc.go

  Log Message:
  -----------
  Clarify BIP0034 is supported in package doco.


  Commit: f3e542ff92c9cbfcd46b3ba6943b60026f7fb631
      
https://github.com/btcsuite/btcd/commit/f3e542ff92c9cbfcd46b3ba6943b60026f7fb631
  Author: Dave Collins <[email protected]>
  Date:   2013-07-22 (Mon, 22 Jul 2013)

  Changed paths:
    M test_coverage.txt

  Log Message:
  -----------
  Add negative test for duplicate block.

This commit adds tests for the error path when processing a block that is
already in the main chain.


  Commit: ebd4af80f0be633617ec9b786992c500c400a879
      
https://github.com/btcsuite/btcd/commit/ebd4af80f0be633617ec9b786992c500c400a879
  Author: Dave Collins <[email protected]>
  Date:   2013-07-22 (Mon, 22 Jul 2013)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Make CheckpointConfirmations 2016.

After discussing the criteria used by the core developers on #btc-dev IRC
channel, gmaxwell indicated they like to see at least 2016 blocks.  This
commit updates the checkpoint confirmations accordingly.


  Commit: 3c4292fae395cbacf971ccb4e29e175b78611f33
      
https://github.com/btcsuite/btcd/commit/3c4292fae395cbacf971ccb4e29e175b78611f33
  Author: Dave Collins <[email protected]>
  Date:   2013-07-24 (Wed, 24 Jul 2013)

  Changed paths:
    M process.go

  Log Message:
  -----------
  Add parent to info print when adding orphans.


  Commit: f219ed5baf6803c7972e97efa87bcb424a72a836
      
https://github.com/btcsuite/btcd/commit/f219ed5baf6803c7972e97efa87bcb424a72a836
  Author: Dave Collins <[email protected]>
  Date:   2013-07-24 (Wed, 24 Jul 2013)

  Changed paths:
    M accept.go
    M chain.go
    M difficulty.go
    M internal_test.go
    A params.go
    M process.go
    M test_coverage.txt
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Add support for params based on active network.

This commit modifies the code to use params based on the active network
which paves the way for supporting the special rules and different genesis
blocks used by the test networks.


  Commit: 1deeb05627fcdf7562ac8c255f8f9387385b895d
      
https://github.com/btcsuite/btcd/commit/1deeb05627fcdf7562ac8c255f8f9387385b895d
  Author: Dave Collins <[email protected]>
  Date:   2013-07-24 (Wed, 24 Jul 2013)

  Changed paths:
    M accept.go
    M chain.go

  Log Message:
  -----------
  Add a few log error messages.

In addition to returning errors to the caller, log the error with a prefix
in a few key places that helps identify the origin for errors.  In some
cases, the underlying error comes from a different subsystem such as the
SQL database driver and the error messages can be fairly generic.


  Commit: 9787f46f6acbfacdad4baacaa2b235f766bfa456
      
https://github.com/btcsuite/btcd/commit/9787f46f6acbfacdad4baacaa2b235f766bfa456
  Author: Dave Collins <[email protected]>
  Date:   2013-07-24 (Wed, 24 Jul 2013)

  Changed paths:
    M README.md
    M difficulty.go
    M test_coverage.txt

  Log Message:
  -----------
  Implement testnet specific rules.

This commit adds support for testnet specific rules when a new BlockChain
is created against testnet.


  Commit: b282678d9a49091b75a1c26cff7ff16703c528d2
      
https://github.com/btcsuite/btcd/commit/b282678d9a49091b75a1c26cff7ff16703c528d2
  Author: Dave Collins <[email protected]>
  Date:   2013-07-26 (Fri, 26 Jul 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Spend outputs while checking transaction inputs.

This commit modifies the double spend detection to handle double spends
within the same block as well as side chains when doing the checks before
reorganizing the chain.


  Commit: ace58495c8ef07843eca3c7cd102d9295d0d9449
      
https://github.com/btcsuite/btcd/commit/ace58495c8ef07843eca3c7cd102d9295d0d9449
  Author: Dave Collins <[email protected]>
  Date:   2013-07-27 (Sat, 27 Jul 2013)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Comment CheckpointConfirmations.


  Commit: 761f666c4483b88da84d670f3ff86af1774d1708
      
https://github.com/btcsuite/btcd/commit/761f666c4483b88da84d670f3ff86af1774d1708
  Author: Dave Collins <[email protected]>
  Date:   2013-07-27 (Sat, 27 Jul 2013)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Use consistent form for Checkpoint comment.


  Commit: e82c97be3bc4778ba382e6f4b5c32b646b27fc39
      
https://github.com/btcsuite/btcd/commit/e82c97be3bc4778ba382e6f4b5c32b646b27fc39
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M README.md
    M doc.go

  Log Message:
  -----------
  Update examples for recent btcdb changes.

Since creating a new database with btcdb no longer automatically inserts
the main network genesis block, update the examples accordingly.


  Commit: c3b330e42de48d8ae8b42731da84f7c41c54b715
      
https://github.com/btcsuite/btcd/commit/c3b330e42de48d8ae8b42731da84f7c41c54b715
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M txlookup.go

  Log Message:
  -----------
  Allow tx inputs to use txns earlier in same block.

It is acceptable for a transaction input in a block to reference the
output of another transaction in the same block only if the referenced
transaction comes before the transaction referencing it.


  Commit: 6409879e14fd99d6810e2775bfc005bc0eceb8f6
      
https://github.com/btcsuite/btcd/commit/6409879e14fd99d6810e2775bfc005bc0eceb8f6
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Modify count sigops calls for new btcscript API.

The btcscript API for GetSigOpCount and GetPreciseSigOpCount
recently changed to no longer return an error.  This change was necessary
to mirror the behavior of bitcoind signature operations counting.  This
commit modifies the code accordingly to use the new API.


  Commit: 882d1c1687800d6e1ff7f8f7827b165332352085
      
https://github.com/btcsuite/btcd/commit/882d1c1687800d6e1ff7f8f7827b165332352085
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M accept.go

  Log Message:
  -----------
  Ensure height is set on block as well as the node.

Even though the code currently makes heavy use of nodes which will have
the appropriate height, blocks which did not come from the database will
not have a height set.  As a result, this could possibly result in a
height of 0 being used when unintended.  By setting the block height in
the block as soon as its known (regardless of the source), we can future
proof against bugs that would likely be hard to track down.


  Commit: 077e1ec336ccbe911b40b51cc54ac8083be8e21c
      
https://github.com/btcsuite/btcd/commit/077e1ec336ccbe911b40b51cc54ac8083be8e21c
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Improve second coinbase error message.

Include the index at which the second coinbase transaction was found.


  Commit: 04d88d01ec160ec4936336e37a31f6756298dba0
      
https://github.com/btcsuite/btcd/commit/04d88d01ec160ec4936336e37a31f6756298dba0
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Clarify mismatched merkle root error message.


  Commit: 829f187e4774f1fa9bd4b24662f483f4a765dba8
      
https://github.com/btcsuite/btcd/commit/829f187e4774f1fa9bd4b24662f483f4a765dba8
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Use network-specific genesis hash.

The test in checkConnectBlock for whether or not the node is the genesis
block needs to account for the genesis block of the specified network.


  Commit: e5eaaee91c2a02645d37cfc7e26e429f3e202df1
      
https://github.com/btcsuite/btcd/commit/e5eaaee91c2a02645d37cfc7e26e429f3e202df1
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M accept.go

  Log Message:
  -----------
  Remove a couple of error logs that are not needed.


  Commit: 0e7791058a1a23fc6c320405c52a5fe95dcb301a
      
https://github.com/btcsuite/btcd/commit/0e7791058a1a23fc6c320405c52a5fe95dcb301a
  Author: Dave Collins <[email protected]>
  Date:   2013-07-29 (Mon, 29 Jul 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Add logging for chain forks and reorgs.

This commit adds info level log statements when a block causes a chain
fork, extends a side chain (fork), or causes a reorganize.  When a reorg
happens, the new and old chain heads along with the fork point are logged.


  Commit: cef901ebad063edac29513cacff330a83e5c26db
      
https://github.com/btcsuite/btcd/commit/cef901ebad063edac29513cacff330a83e5c26db
  Author: Dave Collins <[email protected]>
  Date:   2013-07-30 (Tue, 30 Jul 2013)

  Changed paths:
    M chain.go
    M difficulty.go
    M params.go
    M validate.go

  Log Message:
  -----------
  Export chain parameters.

This commit exports the chain parameters used depending on the specific
bitcoin network so callers can have access to this information if desired.


  Commit: 1e891b4e0b05cf757424cde68e8f0b1a0f7bb158
      
https://github.com/btcsuite/btcd/commit/1e891b4e0b05cf757424cde68e8f0b1a0f7bb158
  Author: Dave Collins <[email protected]>
  Date:   2013-07-30 (Tue, 30 Jul 2013)

  Changed paths:
    M difficulty.go
    M params.go

  Log Message:
  -----------
  Optimize proof of work limit bits handling.

Rather than converting the proof of work limit to its compact
representation multiple times during operation, do it once at package
initialization time and export it via the chain parameters.


  Commit: 357160257c19524060ec79425c065f5039220138
      
https://github.com/btcsuite/btcd/commit/357160257c19524060ec79425c065f5039220138
  Author: Dave Collins <[email protected]>
  Date:   2013-07-30 (Tue, 30 Jul 2013)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Allow checkpoints to work with all networks.

Previously the main network checkpoints were being used for unrecognized
networks.  This commit changes the code so that no checkpoints are used in
that scenario.


  Commit: bb7f5da609da9f65414a180ad96bf508fb42e188
      
https://github.com/btcsuite/btcd/commit/bb7f5da609da9f65414a180ad96bf508fb42e188
  Author: Dave Collins <[email protected]>
  Date:   2013-07-30 (Tue, 30 Jul 2013)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  Print transaction hash in script val errors.

The txsha variable is already a pointer to the hash, so print the
variable, not the address of it.


  Commit: 72feef5194367297c39b4c66224f13fbbb4aac97
      
https://github.com/btcsuite/btcd/commit/72feef5194367297c39b4c66224f13fbbb4aac97
  Author: Dave Collins <[email protected]>
  Date:   2013-07-31 (Wed, 31 Jul 2013)

  Changed paths:
    M params.go

  Log Message:
  -----------
  Clarify reg test proof of work limit comment.


  Commit: 455c92a71616795d6deec1624dc86b9b24965f8a
      
https://github.com/btcsuite/btcd/commit/455c92a71616795d6deec1624dc86b9b24965f8a
  Author: Dave Collins <[email protected]>
  Date:   2013-07-31 (Wed, 31 Jul 2013)

  Changed paths:
    M params.go

  Log Message:
  -----------
  Correct reg test proof of work limit comment.


  Commit: 2d6a664d9dab6ee21ddf790116b49ce344e91040
      
https://github.com/btcsuite/btcd/commit/2d6a664d9dab6ee21ddf790116b49ce344e91040
  Author: Dave Collins <[email protected]>
  Date:   2013-07-31 (Wed, 31 Jul 2013)

  Changed paths:
    M chain.go
    M difficulty.go

  Log Message:
  -----------
  Greatly optimize best chain selection work values.

Previously, the code was using big rational numbers for work values which
resulted in carrying way too much precision around (and ultimately a lot
of extra memory and computation to carry that precision).  This commit
converts the work values to big integers and calculates them with integer
division.  This is acceptable because the numerator is multiplied by 2^256
which is higher than the maximum possible proof of work.  Therefore
anything after the decimal is superfluous precision for the purposes of
chain selection.

Also, add a check for negative difficulty values when calculating the work
value.  Negative values won't occur in practice with valid blocks, but
it's possible an invalid block could trigger the code path, so be safe and
check for it.


  Commit: 2988289d2e518ba10b38f534f35064490dc6451d
      
https://github.com/btcsuite/btcd/commit/2988289d2e518ba10b38f534f35064490dc6451d
  Author: Dave Collins <[email protected]>
  Date:   2013-08-01 (Thu, 01 Aug 2013)

  Changed paths:
    M accept.go
    M chain.go

  Log Message:
  -----------
  Implement memory chain pruning.

This commit implements pruning for the block nodes that form the memory
chain which are no longer needed.  The validation of a block only requires
information from a set number of previous nodes.  The initial code did not
prune old nodes as they were no longer needed, but the vast majority of
the infrastructure to support it was already in place as that was always
the goal.  This commit finishes implementing the missing bits to make it
a reality.


  Commit: 5b697947a711c34fcc1b51c52676b975cebb5886
      
https://github.com/btcsuite/btcd/commit/5b697947a711c34fcc1b51c52676b975cebb5886
  Author: Dave Collins <[email protected]>
  Date:   2013-08-01 (Thu, 01 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Optimize getPrevNodeFromNode.

The recent pruning code made the parent hash for a node available directly
as a field in the node.  Make use of this in the getPrevNodeFromNode
function to avoid having to load the full block data associated with the
node to get the parent hash.


  Commit: 716075d0d0bcb74c2328507fc305b2b3fc13f362
      
https://github.com/btcsuite/btcd/commit/716075d0d0bcb74c2328507fc305b2b3fc13f362
  Author: Dave Collins <[email protected]>
  Date:   2013-08-01 (Thu, 01 Aug 2013)

  Changed paths:
    M doc.go

  Log Message:
  -----------
  Remove tesnet specific rules unsupported blurb.

The testnet specific rules have been supported since commit
9787f46f6acbfacdad4baacaa2b235f766bfa456.


  Commit: 1a5683e22003bfd83c33933c269f171dd9af89e8
      
https://github.com/btcsuite/btcd/commit/1a5683e22003bfd83c33933c269f171dd9af89e8
  Author: Dave Collins <[email protected]>
  Date:   2013-08-01 (Thu, 01 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Add optimized initial block index load function.

This commit adds a new optional function named GenerateInitialIndex.  It
generates the required number of initial block nodes in an optimized
fashion.  Since the memory block index is sparse and previous nodes are
dynamically loaded as needed, this function is not stricty needed.
However, during initial startup (when there are no nodes in memory yet),
dynamically loading all of the required nodes on the fly in the usual way
is much slower than preloading them.


  Commit: 0c2d4435ca65a455808b6b75cd6dfd1c023beb45
      
https://github.com/btcsuite/btcd/commit/0c2d4435ca65a455808b6b75cd6dfd1c023beb45
  Author: Dave Collins <[email protected]>
  Date:   2013-08-01 (Thu, 01 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Make use of removeChildNode function.

Rather than duplicating this code in the removeBlockNode function,
use the existing function.


  Commit: c00de3ffd579b2591dba65af6b1225ecd8e5132e
      
https://github.com/btcsuite/btcd/commit/c00de3ffd579b2591dba65af6b1225ecd8e5132e
  Author: Dave Collins <[email protected]>
  Date:   2013-08-04 (Sun, 04 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Fix a potential issue with removing orphan blocks.

The range loop is over a local var, so the local variable needs to be
updated and then set back into the chain instance after the range loop.


  Commit: 10a62a37a36100ed88c80598d1e37af547004fc0
      
https://github.com/btcsuite/btcd/commit/10a62a37a36100ed88c80598d1e37af547004fc0
  Author: Dave Collins <[email protected]>
  Date:   2013-08-05 (Mon, 05 Aug 2013)

  Changed paths:
    M README.md
    M doc.go
    M merkle_test.go
    M reorganization_test.go
    M scriptval.go
    M txlookup.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Update for latest btcutil, btcscript, and btcwire.

This commit updates the calls into btcutil, btcscript, and btcwire for the
latest API changes which remove the need for the protocol version for
serialization and deserialization of blocks and transactions.


  Commit: 2835238287bab2304fbf1d7cc17b3a78686b4e51
      
https://github.com/btcsuite/btcd/commit/2835238287bab2304fbf1d7cc17b3a78686b4e51
  Author: Dave Collins <[email protected]>
  Date:   2013-08-17 (Sat, 17 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Correct child and orphan block removal logic.

It is not safe to remove elements from a slice while iterating them with
the range statement since it does not reevaluate the slice on each
iteration nor does it adjust the index for the modified slice.  This
commit modifies the code to use a for loop with an index (which does
reevaluate on every iteration) and manually adjusts the index when
elements are removed from the slice.


  Commit: f4bae7dc41d8fa97483ec93ecdf5386e006c0f65
      
https://github.com/btcsuite/btcd/commit/f4bae7dc41d8fa97483ec93ecdf5386e006c0f65
  Author: Dave Collins <[email protected]>
  Date:   2013-08-22 (Thu, 22 Aug 2013)

  Changed paths:
    M chain.go
    M process.go

  Log Message:
  -----------
  Send orphan root in notifies instead of its parent.

The notification for orphan blocks was sending the parent of orphan root
instead of the orphan root itself.


  Commit: 9d5f85558048b3a5b503c2ad2ab4b209fbb7efba
      
https://github.com/btcsuite/btcd/commit/9d5f85558048b3a5b503c2ad2ab4b209fbb7efba
  Author: Dave Collins <[email protected]>
  Date:   2013-08-22 (Thu, 22 Aug 2013)

  Changed paths:
    M chain.go
    M process.go

  Log Message:
  -----------
  Export GetOrphanRoot.

This commit exposes GetOrphanRoot to callers.  It also modifies the code
to allow the function to be called in a concurrent safe manner.  This
allows the information to be safely obtained from multiple goroutines.


  Commit: 5c6911c775d79b61a9b35cd42b8a71b8dd78c0dc
      
https://github.com/btcsuite/btcd/commit/5c6911c775d79b61a9b35cd42b8a71b8dd78c0dc
  Author: Dave Collins <[email protected]>
  Date:   2013-08-22 (Thu, 22 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Add IsKnownOrphan function.

This commit provides a new exported function, IsKnownOrphan, which can
be used to determine if the passed hash is currently already known to the
chain as an orphan.


  Commit: d0be0ed5eda5a79dfbc86c72e35f0a2b60d2f13e
      
https://github.com/btcsuite/btcd/commit/d0be0ed5eda5a79dfbc86c72e35f0a2b60d2f13e
  Author: Dave Collins <[email protected]>
  Date:   2013-08-22 (Thu, 22 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Add HaveInventory function.

This commit provides a new exported function, HaveInventory, which can
be used to determine if the already has the item referenced by passed
inventory vector.  Currently it only provides support for blocks and
cursory support for transactions in the main chain.  Types that are
unrecognized are returned as if they unknown as expected.


  Commit: fc1b2e54d38a3803e835e67d254a2f79d788ba27
      
https://github.com/btcsuite/btcd/commit/fc1b2e54d38a3803e835e67d254a2f79d788ba27
  Author: Dave Collins <[email protected]>
  Date:   2013-08-28 (Wed, 28 Aug 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Set best chain during GenerateInitialIndex.

This commit modifies the GenerateInitialIndex function to update the best
chain with each node as it is loaded.  This allows the best chain to be
set immediately upon generating the initial index which is a slight
performance optimization.


  Commit: fc804aaec0f5067b88c5fc512515da44fc4ed768
      
https://github.com/btcsuite/btcd/commit/fc804aaec0f5067b88c5fc512515da44fc4ed768
  Author: Dave Collins <[email protected]>
  Date:   2013-08-28 (Wed, 28 Aug 2013)

  Changed paths:
    A blocklocator.go

  Log Message:
  -----------
  Add block locator infastructure.

This commit adds a new type, BlockLocator, and supporting infrastructure
to support generating block locators from a provided hash and getting
a full block locator for the latest known block.  This will likely be
expanded in the future to provide the opposite functionality as well.
That is to say the ability to lookup a block using a block locator.


  Commit: ffa56b437c74a25732306f514687efdd19d74c6c
      
https://github.com/btcsuite/btcd/commit/ffa56b437c74a25732306f514687efdd19d74c6c
  Author: Dave Collins <[email protected]>
  Date:   2013-08-28 (Wed, 28 Aug 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Correct error msg for missing input transaction.

The error message for missing input transaction had the referenced and
referencing transactions backwards.


  Commit: 117765ba7c26412c9a432f4b05763027e66e87f6
      
https://github.com/btcsuite/btcd/commit/117765ba7c26412c9a432f4b05763027e66e87f6
  Author: Dave Collins <[email protected]>
  Date:   2013-08-28 (Wed, 28 Aug 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Correct error message in other input tx lookup.


  Commit: 4ac899e26f61900ddf01e3123103eeff0d00cba4
      
https://github.com/btcsuite/btcd/commit/4ac899e26f61900ddf01e3123103eeff0d00cba4
  Author: Dave Collins <[email protected]>
  Date:   2013-08-29 (Thu, 29 Aug 2013)

  Changed paths:
    M txlookup.go

  Log Message:
  -----------
  Clear disconnected transactions.

Rather than removing disconnected transactions from the node viewpoint
transaction store, clear the entry instead.  This is needed for the
connect code to update transactions that were removed on the other side of
a chain fork.


  Commit: 49f6b7d35df2a4dea377e481a7d53ec5c1a4cb8d
      
https://github.com/btcsuite/btcd/commit/49f6b7d35df2a4dea377e481a7d53ec5c1a4cb8d
  Author: Dave Collins <[email protected]>
  Date:   2013-08-29 (Thu, 29 Aug 2013)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Add checkpoint at block 250000.


  Commit: 0ba8cb9187b5a68e61c7f09068d2c9425733ced3
      
https://github.com/btcsuite/btcd/commit/0ba8cb9187b5a68e61c7f09068d2c9425733ced3
  Author: Dave Collins <[email protected]>
  Date:   2013-09-06 (Fri, 06 Sep 2013)

  Changed paths:
    M notifications.go

  Log Message:
  -----------
  Send notification in their own goroutine.

Since the notification channel is provided by the caller and it may or may
not be buffered, send notifications in their own goroutine so the chain
processing code does not have to wait around on the caller to process the
notification before continuing.


  Commit: b557a33f7ce0ce59a02f6c308de44dba137f9e62
      
https://github.com/btcsuite/btcd/commit/b557a33f7ce0ce59a02f6c308de44dba137f9e62
  Author: Dave Collins <[email protected]>
  Date:   2013-09-09 (Mon, 09 Sep 2013)

  Changed paths:
    M notifications.go
    M process.go

  Log Message:
  -----------
  Send orphan hash in notifications instead of root.

Rather than sending the root of the an orphan chain when sending an orphan
notification, send the hash of the orphan block itself.  The caller can
then call the GetOrphanRoot function with the hash to get the root of the
orphan chain as needed.  This is being changed since it's cleaner and more
detministic sending the hash for the orphan block that was just processed
rather than sending a possibly different hash depending on whether there
is an orphan chain or not.


  Commit: 00b183a8b51600d7a248a9d35b83207bd3083896
      
https://github.com/btcsuite/btcd/commit/00b183a8b51600d7a248a9d35b83207bd3083896
  Author: Dale Rahn <[email protected]>
  Date:   2013-09-19 (Thu, 19 Sep 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Remove unreachable statement. ok davec@


  Commit: d1f1fe075289e709062e8d62c73078f30fb17c5a
      
https://github.com/btcsuite/btcd/commit/d1f1fe075289e709062e8d62c73078f30fb17c5a
  Author: Dave Collins <[email protected]>
  Date:   2013-09-21 (Sat, 21 Sep 2013)

  Changed paths:
    M notifications.go

  Log Message:
  -----------
  Revert "Send notification in their own goroutine."

After discussion with others and thinking about the notification channel
some more, we've decided to leave it up to the caller to quickly handle
notifications.  While it is true that notification should be handled
quickly to not block the chain processing code unnecessarily, launching a
goroutine in chain means the notifications are no longer necessarily in
order.  Also, if the caller is not properly handling the notifications,
the goroutines end up sicking around forever.  By leaving it up to the
caller to quickly handle the notification or launch a goroutine as
necessary for the caller, it provides the flexibility to ensure proper
notification ordering as well as control over other things such as
how to handle backpressure.


  Commit: 2f743b482185096a04dacdae9afb7e08498ecc5b
      
https://github.com/btcsuite/btcd/commit/2f743b482185096a04dacdae9afb7e08498ecc5b
  Author: Dave Collins <[email protected]>
  Date:   2013-09-25 (Wed, 25 Sep 2013)

  Changed paths:
    M blocklocator.go
    M process.go
    M txlookup.go

  Log Message:
  -----------
  Pre-allocate space for high use slices.

This commit modifies the code to choose sane defaults for the backing
arrays for slices that involve a lot of appends such block locators, hash
processing, and needed transactions.  This is an optimization to avoid
the overhead of growing the backing arrays and copying the data multiple
times in the most common case.  This also prevents a leak in Go GC which
will likely ultimatley be fixed, but the efficiecy gains alone are worth
the change.


  Commit: fc69776371f3cb48b59a29e9f7fdc3b8ab37f0bd
      
https://github.com/btcsuite/btcd/commit/fc69776371f3cb48b59a29e9f7fdc3b8ab37f0bd
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M scriptval.go
    M txlookup.go
    M validate.go

  Log Message:
  -----------
  Expose a transaction store and related functions.

Several of the functions require a map of contextual transaction data to
use as a source for referenced transactions.  This commit exports the
underlying TxData type and creates a new type TxStore, which is a map of
points to the under TxData.  In addition, this commit exposes a new
function, FetchTransactionStore, which returns a transaction store
(TxStore) containing all of the transactions referenced by the passed
transaction, as well as the existing transaction if it already exists.

This paves the way for subsequent commits which will expose some of the
functions which depend on this transaction store.


  Commit: 4eb135618a26671e9821fb607991883bec7ea571
      
https://github.com/btcsuite/btcd/commit/4eb135618a26671e9821fb607991883bec7ea571
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M accept.go
    M validate.go

  Log Message:
  -----------
  Export the IsFinalizedTransaction function.


  Commit: 6695cd15bb4a9ccd2e412a05f4ceba9f0d6c40a1
      
https://github.com/btcsuite/btcd/commit/6695cd15bb4a9ccd2e412a05f4ceba9f0d6c40a1
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export the IsCoinbase function.


  Commit: e576962cb3c391ad5f97f258b594bef61b0f436c
      
https://github.com/btcsuite/btcd/commit/e576962cb3c391ad5f97f258b594bef61b0f436c
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export the CheckTransactionSanity function.


  Commit: 3c7511a34b4a39af98d8858653d7a041a92029d1
      
https://github.com/btcsuite/btcd/commit/3c7511a34b4a39af98d8858653d7a041a92029d1
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export the CheckTransactionInputs function.


  Commit: baa4c366188d82f3255e8c5a719fb7d1249bffa2
      
https://github.com/btcsuite/btcd/commit/baa4c366188d82f3255e8c5a719fb7d1249bffa2
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  Export ValdiateTransactionScript function.

This function allows the caller to execute and validate all scripts for
the passed transaction (which includes signature verification).


  Commit: 5efc3ea23faefadbfeff9fbeff69abe69382d066
      
https://github.com/btcsuite/btcd/commit/5efc3ea23faefadbfeff9fbeff69abe69382d066
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Remove a couple of outdated comments.


  Commit: b04b4c27ea2e0604e7822196f43bf6eccd25c522
      
https://github.com/btcsuite/btcd/commit/b04b4c27ea2e0604e7822196f43bf6eccd25c522
  Author: Dave Collins <[email protected]>
  Date:   2013-09-30 (Mon, 30 Sep 2013)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Update the TODO section of README.md to latest.


  Commit: e54fb96d80973e99d8f60cb403ea1bcd08dab918
      
https://github.com/btcsuite/btcd/commit/e54fb96d80973e99d8f60cb403ea1bcd08dab918
  Author: Dave Collins <[email protected]>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Test tx lookup validity in CheckInputTransactions.

This commit modifies CheckInputTransactions to ensure that not only must a
transaction exist in the transaction store, it must also not have any
errors associated with it or be nil.


  Commit: 667eaa1562a4b201c29ac37fc9cd174bba61d1ce
      
https://github.com/btcsuite/btcd/commit/667eaa1562a4b201c29ac37fc9cd174bba61d1ce
  Author: Dave Collins <[email protected]>
  Date:   2013-10-02 (Wed, 02 Oct 2013)

  Changed paths:
    M chain.go
    M notifications.go

  Log Message:
  -----------
  Move to a callback for notifications.

Rather than using a channel for notifictions, use a callback instead.
There are several issues that arise with async notifications via a
channel, so use a callback instead.  The caller can always make the
notifications async by using channels in the provided callback if
needed.


  Commit: b06aa1672a34746063319655136a343956d30ce9
      
https://github.com/btcsuite/btcd/commit/b06aa1672a34746063319655136a343956d30ce9
  Author: Dave Collins <[email protected]>
  Date:   2013-10-03 (Thu, 03 Oct 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Initial implementation of IsCurrent func.

This commit adds a new function, IsCurrent, which can be used to determine
whether or not the chain believes it is current.

Update.


  Commit: d58fb25d98b5f747bd8497a17d89c38168327a5f
      
https://github.com/btcsuite/btcd/commit/d58fb25d98b5f747bd8497a17d89c38168327a5f
  Author: Dale Rahn <[email protected]>
  Date:   2013-10-03 (Thu, 03 Oct 2013)

  Changed paths:
    M txlookup.go

  Log Message:
  -----------
  Update btcchain for btcdb API change.


  Commit: 9841403c58106487ab32623dccb7b647cded5ca8
      
https://github.com/btcsuite/btcd/commit/9841403c58106487ab32623dccb7b647cded5ca8
  Author: Dave Collins <[email protected]>
  Date:   2013-10-04 (Fri, 04 Oct 2013)

  Changed paths:
    M txlookup.go

  Log Message:
  -----------
  Correct comment on fetchTxListMain.


  Commit: 4151416b16a7b76e54eeec5ae4da7a99f91ad2b9
      
https://github.com/btcsuite/btcd/commit/4151416b16a7b76e54eeec5ae4da7a99f91ad2b9
  Author: Dave Collins <[email protected]>
  Date:   2013-10-04 (Fri, 04 Oct 2013)

  Changed paths:
    M process.go

  Log Message:
  -----------
  Change processing block log message to trace.

When running debug level logging, the only thing that really matters is
whether the block was accepted or not.


  Commit: bce548cb99df01646a9238d6f6a6357a117490ed
      
https://github.com/btcsuite/btcd/commit/bce548cb99df01646a9238d6f6a6357a117490ed
  Author: Dave Collins <[email protected]>
  Date:   2013-10-06 (Sun, 06 Oct 2013)

  Changed paths:
    M reorganization_test.go
    M test_coverage.txt

  Log Message:
  -----------
  Update reorg test to insert genesis block first.

btcdb was changed a while back to not insert the genesis block by default.
This commit modifies the reorg test to insert it as required so not all
blocks are orphans.


  Commit: 0b334bc841e5ee8fc8deda8f6a72a86c3e344134
      
https://github.com/btcsuite/btcd/commit/0b334bc841e5ee8fc8deda8f6a72a86c3e344134
  Author: Dave Collins <[email protected]>
  Date:   2013-10-06 (Sun, 06 Oct 2013)

  Changed paths:
    M internal_test.go
    M test_coverage.txt
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Correct reading of serialized height in coinbase.

This commit corrects the reading of the serialized height in coinbase
transactions for block height of version 2 or greater.  On mainnet, the
serialized height is always 3 bytes and will continue to be so for
something like  another ~159 years, so there was no issue with mainnet.
However on testnet, there are some version 2 blocks which are low enough
in the chain to only take 2 bytes to serialize.

In addition, this commit adds a full tests for the relavant function
including negative tests and variable length serialized lengths for block
heights.

Closes #1.


  Commit: b911e7e455a11993785ee68f87c6f839485acf0f
      
https://github.com/btcsuite/btcd/commit/b911e7e455a11993785ee68f87c6f839485acf0f
  Author: Dave Collins <[email protected]>
  Date:   2013-10-08 (Tue, 08 Oct 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Replace HaveInventory with HaveBlock.

The original thought was that chain would also house the transaction
memory pool, but that ultimately was decided against.  As a result,
it only makes sense to query chain for blocks rather than generic
inventory.


  Commit: cdc3002c85bf010d65c5d29d6782a0632b1e3a18
      
https://github.com/btcsuite/btcd/commit/cdc3002c85bf010d65c5d29d6782a0632b1e3a18
  Author: Owain G. Ainsworth <[email protected]>
  Date:   2013-10-09 (Wed, 09 Oct 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Fix previous. We care if we have the block OR it is an orphan, not both.


  Commit: 6d078d8115ba699b0fdfc47150334e06f99bec9f
      
https://github.com/btcsuite/btcd/commit/6d078d8115ba699b0fdfc47150334e06f99bec9f
  Author: Dave Collins <[email protected]>
  Date:   2013-10-09 (Wed, 09 Oct 2013)

  Changed paths:
    A common_test.go
    M reorganization_test.go
    M validate_test.go

  Log Message:
  -----------
  Implement chain setup infrastructure in the tests.

This commit implents a basic infrastructure to be used throughout the
tests for creating a new chain instance that is ready to have tests run
against it.  It also returns a teardown function the caller can use to
clean up after it is done testing.  This paves the way for adding more
tests.


  Commit: 32790d52d893b378f212fd1b36107d9f67f3f262
      
https://github.com/btcsuite/btcd/commit/32790d52d893b378f212fd1b36107d9f67f3f262
  Author: Dave Collins <[email protected]>
  Date:   2013-10-09 (Wed, 09 Oct 2013)

  Changed paths:
    A chain_test.go
    M test_coverage.txt

  Log Message:
  -----------
  Add tests for HaveBlock.

This commit adds tests to ensure HaveBlock works properly with blocks on
the main chain, a side chain, orphans, and missing blocks.


  Commit: e888372019cf164be1d7ec2871806d02deeba503
      
https://github.com/btcsuite/btcd/commit/e888372019cf164be1d7ec2871806d02deeba503
  Author: Dave Collins <[email protected]>
  Date:   2013-10-10 (Thu, 10 Oct 2013)

  Changed paths:
    M chain_test.go
    M test_coverage.txt
    M txlookup.go
    M validate.go

  Log Message:
  -----------
  Optimize transaction lookups.

This commit modifies the transaction lookup code to use a set instead of a
slice (list).  This allows the lookup to automatically prevent duplicate
requests to the database.

Previously, the code simply added every referenced transaction to a list
without checking for duplicates, which led to multiple requests against
the database for the same transaction.  It also meant the request list
could grow quite large with all of the duplicates using far more memory
than required.

While the end result was accurate, operating that way is not as efficient
as only requesting unique transactions.


  Commit: 39e7e5c4a1ca2a8c8ee45dcbe568eb553dfe6bc9
      
https://github.com/btcsuite/btcd/commit/39e7e5c4a1ca2a8c8ee45dcbe568eb553dfe6bc9
  Author: Dave Collins <[email protected]>
  Date:   2013-10-11 (Fri, 11 Oct 2013)

  Changed paths:
    M txlookup.go

  Log Message:
  -----------
  Add minor optimization to transaction store fetch.

This commit adds a quick check to the transaction store fetch code which
simply returns an empty store if no hashes were requested rather than
bothering the db with an empty list.


  Commit: 8be23c89aea8a7a55a952298b28604914c610348
      
https://github.com/btcsuite/btcd/commit/8be23c89aea8a7a55a952298b28604914c610348
  Author: Dave Collins <[email protected]>
  Date:   2013-10-11 (Fri, 11 Oct 2013)

  Changed paths:
    M accept.go
    M blocklocator.go
    M chain.go
    M validate.go

  Log Message:
  -----------
  Cleanup a few comments.


  Commit: b680d3539f075e3d9797236b4e6c2d1972a3e8e8
      
https://github.com/btcsuite/btcd/commit/b680d3539f075e3d9797236b4e6c2d1972a3e8e8
  Author: Dale Rahn <[email protected]>
  Date:   2013-10-11 (Fri, 11 Oct 2013)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  Revive old validate Tx in parallel code, faster...

requested by davec, cleanup/polish in-tree.


  Commit: e5ba199eed1818aa82da07067cf17396f0381789
      
https://github.com/btcsuite/btcd/commit/e5ba199eed1818aa82da07067cf17396f0381789
  Author: Dave Collins <[email protected]>
  Date:   2013-10-13 (Sun, 13 Oct 2013)

  Changed paths:
    M blocklocator.go

  Log Message:
  -----------
  Add example to BlockLocator comments.


  Commit: 9a29855c16a620f5e318cb697f4e0d643a8ee1a3
      
https://github.com/btcsuite/btcd/commit/9a29855c16a620f5e318cb697f4e0d643a8ee1a3
  Author: Dave Collins <[email protected]>
  Date:   2013-10-13 (Sun, 13 Oct 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Convert inability to find input tx to a RuleError.

This commit modifies the errors that result from missing expected input
transactions to a RuleError.  This allows the caller to detect a block was
rejected due to a rule violation as opposed to an unexpected error.


  Commit: d7e057a0200391e660ea226295f8c00b7773a508
      
https://github.com/btcsuite/btcd/commit/d7e057a0200391e660ea226295f8c00b7773a508
  Author: Dave Collins <[email protected]>
  Date:   2013-10-13 (Sun, 13 Oct 2013)

  Changed paths:
    M txlookup.go

  Log Message:
  -----------
  Make use of new spent vs unspent btcdb APIs.

This commit modifies the code to make use of the new btcd APIs that allow
fetching of transaction lists which either do or do not include fully
spent transactions.  It is more efficient to avoid fetching fully spent
transactions from the database when they aren't needed.


  Commit: c88338d22725d7cf5fcdef75f2e41e8288887739
      
https://github.com/btcsuite/btcd/commit/c88338d22725d7cf5fcdef75f2e41e8288887739
  Author: Dave Collins <[email protected]>
  Date:   2013-10-13 (Sun, 13 Oct 2013)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Slightly optimize GenerateInitialIndex.

Rather than fetching the hash of each block individually 2k+ times, make
use of the FetchHeightRange function so all of the most recent hashes can
be fetched at once.


  Commit: b7b9823f6cb9e790157ccdb2938f823b400c8a30
      
https://github.com/btcsuite/btcd/commit/b7b9823f6cb9e790157ccdb2938f823b400c8a30
  Author: Dave Collins <[email protected]>
  Date:   2013-10-15 (Tue, 15 Oct 2013)

  Changed paths:
    M process.go

  Log Message:
  -----------
  Fix potential issue with dependent orphans.

This commit modifies the main processing loop for orphan dependencies
(orphans that are processed due to their parents showing up) to use an
index based for loop over range.  Since the Go range statement does not
reevaluate on every iteration, it was previously possible under certain
circumstances for the slice to be changed out from under the range
statement while processing the orphan blocks.


  Commit: 89d86d07ac89d60b84b28482c1181ac871ee7b6a
      
https://github.com/btcsuite/btcd/commit/89d86d07ac89d60b84b28482c1181ac871ee7b6a
  Author: Dave Collins <[email protected]>
  Date:   2013-10-25 (Fri, 25 Oct 2013)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  ValidateTransactionScripts now accepts script flags.

This commit modifies the ValidateTransactionScripts API to accept the
recently added ScriptFlags from btcscript.  This provides flexibility to
the caller to choose validation behavior based on those new flags.


  Commit: b6e4ae44419ab5efa232eb32bfcb2d45023918be
      
https://github.com/btcsuite/btcd/commit/b6e4ae44419ab5efa232eb32bfcb2d45023918be
  Author: Dave Collins <[email protected]>
  Date:   2013-10-26 (Sat, 26 Oct 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Optimize duplicate transaction input check.

Profiling showed the duplicate transaction input check was taking around
6% of the total CheckTransactionSanity processing time.  This was largely
due to using fmt.Sprintf to generate the map key.

This commit modifies the check instead to use the actual output as a map
key.

The following benchmark results show the difference:

Before: BenchmarkOldDuplicatInputCheck    100000     21787 ns/op
After:  BenchmarkNewDuplicatInputCheck   2000000       937 ns/op

Closes #2


  Commit: 6165e9b95bf1fb7914dc9220c85b223117c9b5e3
      
https://github.com/btcsuite/btcd/commit/6165e9b95bf1fb7914dc9220c85b223117c9b5e3
  Author: Dave Collins <[email protected]>
  Date:   2013-10-28 (Mon, 28 Oct 2013)

  Changed paths:
    M accept.go
    M checkpoints.go
    M internal_test.go
    M merkle.go
    M scriptval.go
    M txlookup.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Convert API to use new btcutil.Tx.

This is part of the ongoing transaction hash optimization effort noted in
conformal/btcd#25.


  Commit: 8271a118086237125a9ffdc1b181744238ee8ed8
      
https://github.com/btcsuite/btcd/commit/8271a118086237125a9ffdc1b181744238ee8ed8
  Author: David Hill <[email protected]>
  Date:   2013-10-29 (Tue, 29 Oct 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  add SatoshiPerBitcent constant and export SatoshiPerBitcoin and
MaxSatoshi


  Commit: 36941cc42768c15d969f62459c042aaed73acd96
      
https://github.com/btcsuite/btcd/commit/36941cc42768c15d969f62459c042aaed73acd96
  Author: David Hill <[email protected]>
  Date:   2013-10-29 (Tue, 29 Oct 2013)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Remove the satoshi consts and use them from btcutil instead.


  Commit: 09b53a8fcaca4892c5d082f85dec4f9da51ec39d
      
https://github.com/btcsuite/btcd/commit/09b53a8fcaca4892c5d082f85dec4f9da51ec39d
  Author: Dave Collins <[email protected]>
  Date:   2013-11-07 (Thu, 07 Nov 2013)

  Changed paths:
    M internal_test.go
    M process.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Export the CheckBlockSanity function.


  Commit: 5295be070dbb85de218f472c01e6d5066ba049b4
      
https://github.com/btcsuite/btcd/commit/5295be070dbb85de218f472c01e6d5066ba049b4
  Author: Dave Collins <[email protected]>
  Date:   2013-11-07 (Thu, 07 Nov 2013)

  Changed paths:
    M process.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Make the CheckBlockSanity function context free.

Rather than defining CheckBlockSanity as a member of a BlockChain
instance, define it at the root level so it is truly context free as
intended.  In order to make it context free, the proof of work limit is
now a required parameter.


  Commit: d0bbcacfc0d385cee4aa98901a53b0b5ee037779
      
https://github.com/btcsuite/btcd/commit/d0bbcacfc0d385cee4aa98901a53b0b5ee037779
  Author: Dave Collins <[email protected]>
  Date:   2013-11-08 (Fri, 08 Nov 2013)

  Changed paths:
    M common_test.go

  Log Message:
  -----------
  Modify the tests to use memory database backend.

This commit modifies the tests to setup a chain instance backed by the new
memory database backend for btcdb.  This allows the tests to avoid
creating and cleaning up files and also allows the tests to run faster
since it can all happen in memory.

The chainSetup function has also been changed to provide logic to switch
on the database type to allow for easy changing of the backend to a
different database type as needed.  For example, it could be useful to
provide extra testing against new database backends.


  Commit: 2300b357319ccf3c27029ef90da7eb7f9ff792ba
      
https://github.com/btcsuite/btcd/commit/2300b357319ccf3c27029ef90da7eb7f9ff792ba
  Author: Dave Collins <[email protected]>
  Date:   2013-11-12 (Tue, 12 Nov 2013)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Add checkpoint at block height 267300.


  Commit: 8a19f269ca791738258e7ddfd2e6767fcb02b9a4
      
https://github.com/btcsuite/btcd/commit/8a19f269ca791738258e7ddfd2e6767fcb02b9a4
  Author: Owain G. Ainsworth <[email protected]>
  Date:   2013-11-21 (Thu, 21 Nov 2013)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  use passed in parameter and not global in log message.

Should shut up the race detector (and make the printf more correct)


  Commit: f7f51a1e43b56b97c96a273a76397186d666d5ed
      
https://github.com/btcsuite/btcd/commit/f7f51a1e43b56b97c96a273a76397186d666d5ed
  Author: Dave Collins <[email protected]>
  Date:   2013-11-21 (Thu, 21 Nov 2013)

  Changed paths:
    M log.go

  Log Message:
  -----------
  Use btclog for logging.


  Commit: decc1e8c692f63199e4bdd2d54121d2018187f1c
      
https://github.com/btcsuite/btcd/commit/decc1e8c692f63199e4bdd2d54121d2018187f1c
  Author: Dave Collins <[email protected]>
  Date:   2013-12-09 (Mon, 09 Dec 2013)

  Changed paths:
    A .travis.yml
    M README.md

  Log Message:
  -----------
  Add support for TravisCI.

Also add TravisCI build status badge to README.md.


  Commit: 55331de532b4a4749e242cc434f86e7cd0255166
      
https://github.com/btcsuite/btcd/commit/55331de532b4a4749e242cc434f86e7cd0255166
  Author: Dave Collins <[email protected]>
  Date:   2013-12-10 (Tue, 10 Dec 2013)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  Configure TravisCI to pull pkgs needed for tests.


  Commit: 992d11830cdf4455bf2f5074764971e291c4b643
      
https://github.com/btcsuite/btcd/commit/992d11830cdf4455bf2f5074764971e291c4b643
  Author: Dale Rahn <[email protected]>
  Date:   2013-12-12 (Thu, 12 Dec 2013)

  Changed paths:
    M accept.go
    M chain.go
    M chain_test.go
    M doc.go
    M process.go
    M reorganization_test.go

  Log Message:
  -----------
  Implement a fast path for the Initial Block Download.

It is not necessary to do all of the transaction validation on
blocks if they have been confirmed to be in the block chain leading
up to the final checkpoint in a given blockschain.

This algorithm fetches block headers from the peer, then once it has
established the full blockchain connection, it requests blocks.
Any blocks before the final checkpoint pass true for fastAdd on
btcchain operation, which causes it to do less valiation on the block.


  Commit: 18ac5c848a7e3f690719f9afa26b52b886270ced
      
https://github.com/btcsuite/btcd/commit/18ac5c848a7e3f690719f9afa26b52b886270ced
  Author: Dave Collins <[email protected]>
  Date:   2014-01-08 (Wed, 08 Jan 2014)

  Changed paths:
    M LICENSE
    M accept.go
    M blocklocator.go
    M chain.go
    M chain_test.go
    M checkpoints.go
    M common_test.go
    M difficulty.go
    M doc.go
    M internal_test.go
    M log.go
    M merkle.go
    M merkle_test.go
    M notifications.go
    M params.go
    M process.go
    M reorganization_test.go
    M scriptval.go
    M timesorter.go
    M timesorter_test.go
    M txlookup.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Add 2014 to copyright dates.


  Commit: 28f485a1d1163b378972708cd478f24e64384b3d
      
https://github.com/btcsuite/btcd/commit/28f485a1d1163b378972708cd478f24e64384b3d
  Author: Dave Collins <[email protected]>
  Date:   2014-01-09 (Thu, 09 Jan 2014)

  Changed paths:
    M accept.go
    M chain.go

  Log Message:
  -----------
  Fix a couple of style nits.


  Commit: 84f6089bc911ada900537040b49eb7a3684ec2a8
      
https://github.com/btcsuite/btcd/commit/84f6089bc911ada900537040b49eb7a3684ec2a8
  Author: Dave Collins <[email protected]>
  Date:   2014-01-16 (Thu, 16 Jan 2014)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  Rework and improve async script validation logic.

The previous script validation logic entailed starting up a hard-coded
number of goroutines to process the transaction scripts in parallel.  In
particular, one goroutine (up to 8 max) was started per transaction in a
block and another one was started for each input script pair in the
each transaction.  This resulted in 64 goroutines simultaneously running
scripts and verifying cryptographic signatures.  This could easily lead to
the overall system feeling sluggish.

Further the previous design could also result in bursty behavior since the
number of inputs to a transaction as well as its complexity can vary
widely between transactions.  For example, starting 2 goroutines (one to
process the transaction and one for actual script pair validation) to
verify a transaction with a single input was not desirable.

Finally, the previous design validated all transactions and inputs
regardless of a failure in one of the other scripts.  This really didn't
have a big impact since it's quite rare that blocks with invalid
verifications are being processed, but it was a potential way DoS vector.

This commit changes the logic in a few ways to improve things:

- The max number of validation goroutines is now based on the number of
  cores in the system
- All transaction inputs from all transactions in the block are collated
  into a single list which is fed through the aforementioned validation
  goroutines
- The validation CPU usage is much more consistent due to the collation of
  inputs
- A validation error in any goroutine immediately stops validation of all
  remaining inputs
- The errors have been improved to include context about what tx script
  pair failed as opposed to showing the information as a warning

This closes conformal/btcd#59.


  Commit: 03394d6309531e18282de0c53277f9548d6760c5
      
https://github.com/btcsuite/btcd/commit/03394d6309531e18282de0c53277f9548d6760c5
  Author: Dave Collins <[email protected]>
  Date:   2014-01-17 (Fri, 17 Jan 2014)

  Changed paths:
    M README.md
    M doc.go

  Log Message:
  -----------
  Bring README.md and doc.go examples up to date.

Since sqlite is now deprecated, update the examples to use levelb.  Also,
add false to the ProcessBlock calls for the fastAdd parameter.


  Commit: 4c13410e62a396874b3b64eeb0c60c3e41754dfb
      
https://github.com/btcsuite/btcd/commit/4c13410e62a396874b3b64eeb0c60c3e41754dfb
  Author: Dave Collins <[email protected]>
  Date:   2014-01-17 (Fri, 17 Jan 2014)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Update README.md TODO.


  Commit: 1b54badde1b8ef67a3963230ec70a77e7a2c34bc
      
https://github.com/btcsuite/btcd/commit/1b54badde1b8ef67a3963230ec70a77e7a2c34bc
  Author: Dave Collins <[email protected]>
  Date:   2014-01-17 (Fri, 17 Jan 2014)

  Changed paths:
    M chain.go
    M checkpoints.go

  Log Message:
  -----------
  Improve efficiency of checkpoint tracking.

Previously the code performed a database query for every checkpoint (going
backwards) to find the latest known checkpoint on every block.  This was
particularly noticabled near the beginning of the block chain when there
are still several checkpoints that haven't been reached yet.

This commit changes the logic to cache the latest known checkpoint while
keeping track of when it needs to be updated once a new later known
checkpoint has been reached.

While here, also add a log message when a checkpoint has been reached and
verified.


  Commit: be277b7230125aabfd87f8db4e5dd93f4fd03d9d
      
https://github.com/btcsuite/btcd/commit/be277b7230125aabfd87f8db4e5dd93f4fd03d9d
  Author: Dave Collins <[email protected]>
  Date:   2014-01-19 (Sun, 19 Jan 2014)

  Changed paths:
    M validate_test.go

  Log Message:
  -----------
  Update for recent btcwire API changes.


  Commit: 1626994433f20b65d6f8da7603a0f70ffb15c2aa
      
https://github.com/btcsuite/btcd/commit/1626994433f20b65d6f8da7603a0f70ffb15c2aa
  Author: Dave Collins <[email protected]>
  Date:   2014-01-19 (Sun, 19 Jan 2014)

  Changed paths:
    M accept.go
    M process.go
    M validate.go

  Log Message:
  -----------
  Avoid copying block headers in convenience locals.

This commit modifies local variables that are used for more convenient
access to a block's header to use pointers.  This avoids copying the
header multiple times.


  Commit: 583406ee5115c3123405b1e68ea275039e6bf15f
      
https://github.com/btcsuite/btcd/commit/583406ee5115c3123405b1e68ea275039e6bf15f
  Author: Dave Collins <[email protected]>
  Date:   2014-01-19 (Sun, 19 Jan 2014)

  Changed paths:
    M accept.go
    M chain.go

  Log Message:
  -----------
  Use block headers to generate node index.

This commit changes the node index creation to use block headers instead
of full blocks.  This speeds up the initial node index generation since it
doesn't require loading a bunch of full blocks at startup.


  Commit: e2dba2a07490cf10a317c96cdaa58d1f3ed2bb88
      
https://github.com/btcsuite/btcd/commit/e2dba2a07490cf10a317c96cdaa58d1f3ed2bb88
  Author: Dave Collins <[email protected]>
  Date:   2014-01-19 (Sun, 19 Jan 2014)

  Changed paths:
    M common_test.go

  Log Message:
  -----------
  Update for recent btcdb API changes.


  Commit: d0d74b4e3e7c8826f8c7003007938ef283d4eaa7
      
https://github.com/btcsuite/btcd/commit/d0d74b4e3e7c8826f8c7003007938ef283d4eaa7
  Author: Dave Collins <[email protected]>
  Date:   2014-01-20 (Mon, 20 Jan 2014)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Add checkpoint at block height 279000.


  Commit: ad65bee735e7a4f0695ae3ee98586eb9f1fced41
      
https://github.com/btcsuite/btcd/commit/ad65bee735e7a4f0695ae3ee98586eb9f1fced41
  Author: David Hill <[email protected]>
  Date:   2014-01-22 (Wed, 22 Jan 2014)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  fix typo


  Commit: 7390a62a8df9b9b03a46e24b66f3cf228edea322
      
https://github.com/btcsuite/btcd/commit/7390a62a8df9b9b03a46e24b66f3cf228edea322
  Author: Dave Collins <[email protected]>
  Date:   2014-01-28 (Tue, 28 Jan 2014)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Correct internal node children on reorg.

Previously the code was only adding a new block node as a child in the
inernal node index for the cases it extended the main chain or a side
chain and not for a node which caused a reorg.  This resulted in the block
node pruning code not clearing the parent link of reorged nodes which
ultimately led to a sanity check error accordingly.

This commit resolves the issue by ensuring new block nodes are added as
children of their respective parents in all cases.

Closes #4.


  Commit: 6a9997583ac655cfb2096afc799463036444b1fd
      
https://github.com/btcsuite/btcd/commit/6a9997583ac655cfb2096afc799463036444b1fd
  Author: Dave Collins <[email protected]>
  Date:   2014-01-28 (Tue, 28 Jan 2014)

  Changed paths:
    M accept.go

  Log Message:
  -----------
  Prune the block node index in fast add mode too.

The recent addition of the fast add path to support headers first was not
running the block node index pruning code which removes unneeded block
nodes from memory.  This resulted in higher memory usage than needed in
fast add mode.


  Commit: be2e4c5860bdbd2db42c473bb6c31c1954d14022
      
https://github.com/btcsuite/btcd/commit/be2e4c5860bdbd2db42c473bb6c31c1954d14022
  Author: Dave Collins <[email protected]>
  Date:   2014-01-31 (Fri, 31 Jan 2014)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Add new function to get the checkpoints.

Previously there was only a function to get the latest checkpoint.  This
commit exposes a new function named Checkpoints which returns a slice of
checkpoints ordered by height for the active network or nil when
checkpoints are disabled.


  Commit: b7ef1f0946d3e41b4cb1880a3f06568152376d7e
      
https://github.com/btcsuite/btcd/commit/b7ef1f0946d3e41b4cb1880a3f06568152376d7e
  Author: Dave Collins <[email protected]>
  Date:   2014-02-03 (Mon, 03 Feb 2014)

  Changed paths:
    M scriptval.go
    M validate.go

  Log Message:
  -----------
  Include transaction hash in failed input val error.


  Commit: bb4ea7d59ab14e27eeac9ebce1fcd9b3b1b16b2c
      
https://github.com/btcsuite/btcd/commit/bb4ea7d59ab14e27eeac9ebce1fcd9b3b1b16b2c
  Author: Dave Collins <[email protected]>
  Date:   2014-02-03 (Mon, 03 Feb 2014)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  Include in/out script bytes in script val error.


  Commit: e1f66f6103a8775f5a21bf2c531d0167a8789100
      
https://github.com/btcsuite/btcd/commit/e1f66f6103a8775f5a21bf2c531d0167a8789100
  Author: David Hill <[email protected]>
  Date:   2014-02-04 (Tue, 04 Feb 2014)

  Changed paths:
    M validate_test.go

  Log Message:
  -----------
  gofmt


  Commit: 190ef70aced3bb1892060f72e5fd1b99b6d461d5
      
https://github.com/btcsuite/btcd/commit/190ef70aced3bb1892060f72e5fd1b99b6d461d5
  Author: Dave Collins <[email protected]>
  Date:   2014-02-07 (Fri, 07 Feb 2014)

  Changed paths:
    M chain.go
    M difficulty.go

  Log Message:
  -----------
  Export CalcWork and BlocksPerRetarget.

This commit makes the CalcWork function and BlocksPerRetarget variable
available to external packages.


  Commit: 149d8176b0ff0b1fc848bca46ab8bca2079b7ab8
      
https://github.com/btcsuite/btcd/commit/149d8176b0ff0b1fc848bca46ab8bca2079b7ab8
  Author: Dave Collins <[email protected]>
  Date:   2014-02-09 (Sun, 09 Feb 2014)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Fix an issue causing excessive memory consumption.

This commit resolves an issue where the block node index was forcing
entire blocks to be kept in memory thereby forcing excessive memory usage.
For example, prior to this change, the memory usage could consume upwards
of 1.5GB while importing bootstrap.dat via the addblock utility.  With
this change the entire import takes <150MB.  This also has the same memory
reduction to btcd since it uses the same code path.


  Commit: 50b6e10b5781772b0f6a506535f575d81a95dc7a
      
https://github.com/btcsuite/btcd/commit/50b6e10b5781772b0f6a506535f575d81a95dc7a
  Author: Dave Collins <[email protected]>
  Date:   2014-02-21 (Fri, 21 Feb 2014)

  Changed paths:
    M accept.go
    M process.go

  Log Message:
  -----------
  Reject blocks that fork before previous checkpoint.

This commit adds an additional check to the block acceptance rules which
prevents new blocks that fork the main chain before the previous known
good checkpoint.  This prevents storage of new, otherwise valid, blocks
from building off of old blocks which are likely at a much easier
difficulty and therefore could be used to waste cache and disk space.

Note this is slightly different than the other existing check which
prevents blocks with a timestamp before the timestamp of the latest known
good checkpoint since that check effectively prevents old side chain
blocks that already existed (per the claimed timestamp).

ok drahn@


  Commit: b25bf566b09bde9144a08af8ba1a693c5dd03c74
      
https://github.com/btcsuite/btcd/commit/b25bf566b09bde9144a08af8ba1a693c5dd03c74
  Author: Dave Collins <[email protected]>
  Date:   2014-02-21 (Fri, 21 Feb 2014)

  Changed paths:
    M accept.go
    M checkpoints.go
    M process.go

  Log Message:
  -----------
  Rename findLatestKnownCheckpoint.

The name findLatestKnownCheckpoint is confusing and doesn't really convey
the fact the purpose of the function is to the find the checkpoint prior
to the current known block.

Therefore, rename the function to findPreviousCheckpoint for clarity.

Also, update some comments to follow suit.


  Commit: bfef4e4a317c2bc7b867e7922f21c2fbcd1db2b0
      
https://github.com/btcsuite/btcd/commit/bfef4e4a317c2bc7b867e7922f21c2fbcd1db2b0
  Author: Dave Collins <[email protected]>
  Date:   2014-02-23 (Sun, 23 Feb 2014)

  Changed paths:
    M params.go
    M validate.go

  Log Message:
  -----------
  Make regtest subsidy halving interval 150.

This commit moves the subsidy halving interval to the chain params so it
can be configured per network.  With that change it sets the regression
test halving interval to 150 to match the regression test params of the
reference implementation.

This was pointed out by @flammit.


  Commit: 1c052a01d802535900812ac1c55a6b585ecd8fc8
      
https://github.com/btcsuite/btcd/commit/1c052a01d802535900812ac1c55a6b585ecd8fc8
  Author: Dave Collins <[email protected]>
  Date:   2014-02-24 (Mon, 24 Feb 2014)

  Changed paths:
    M test_coverage.txt
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Reject blocks with high precision timestamps.

This commit adds an additional sanity check to ensure the block that is
being processed does not contain a timestamp with a precision higher than
one second.  This is necessary because the consensus rules only deal with
whole seconds in the time comparisons whereas the internal data structures
make use of Go time.Time values which support up to nanosecond precision.

Also, add a test to ensure the new functionality works as expected.

ok @owainga


  Commit: a56dfc7ff4395a4d4e795c9aa6726ad595d06b9d
      
https://github.com/btcsuite/btcd/commit/a56dfc7ff4395a4d4e795c9aa6726ad595d06b9d
  Author: Dave Collins <[email protected]>
  Date:   2014-02-25 (Tue, 25 Feb 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export CalcBlockSubsidy function.


  Commit: 87ecac2072f701693b8f97008830ef6b67c1051e
      
https://github.com/btcsuite/btcd/commit/87ecac2072f701693b8f97008830ef6b67c1051e
  Author: Dave Collins <[email protected]>
  Date:   2014-02-28 (Fri, 28 Feb 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export CountSigOps function.


  Commit: 82edb203e53e71a0766f298ec86499cc71c5ff46
      
https://github.com/btcsuite/btcd/commit/82edb203e53e71a0766f298ec86499cc71c5ff46
  Author: Dave Collins <[email protected]>
  Date:   2014-02-28 (Fri, 28 Feb 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export MaxSigOpsPerBlock.


  Commit: ec641751a8be3b3f2e72e271de1092f0427508e5
      
https://github.com/btcsuite/btcd/commit/ec641751a8be3b3f2e72e271de1092f0427508e5
  Author: Dave Collins <[email protected]>
  Date:   2014-03-01 (Sat, 01 Mar 2014)

  Changed paths:
    M merkle.go
    M merkle_test.go
    M validate.go

  Log Message:
  -----------
  Change BuildMerkleTreeStore to accept transactions.

This commit modifies the BuildMerkleTreeStore function to accept a slice
of btcutil.Tx transactions as opposed to a full block.  This allows more
flexibility when calculating merkle roots since a full block may not be
created yet (particularly when generating blocks that need to be solved in
mining).

Previously, the BuildMerkleTreeStore function accepted a btcutil.Block
because originally the block itself cached the transaction hashes and it
was necessary to have access to the block to make use of the cached
transactions.  However, the code has since been improved such that it
caches transaction hashes directly in each btcutil.Tx.  This means the
code can remain as efficient as before while allowing the individual
transacitons to be passed.


  Commit: b59a15d07eeb0d396040ac9c6e1bed061ed1eed5
      
https://github.com/btcsuite/btcd/commit/b59a15d07eeb0d396040ac9c6e1bed061ed1eed5
  Author: Dave Collins <[email protected]>
  Date:   2014-03-01 (Sat, 01 Mar 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export CountP2SHSigOps.


  Commit: b041971ca88d3d61106f6b5f6006201b89cda93a
      
https://github.com/btcsuite/btcd/commit/b041971ca88d3d61106f6b5f6006201b89cda93a
  Author: Dave Collins <[email protected]>
  Date:   2014-03-02 (Sun, 02 Mar 2014)

  Changed paths:
    M accept.go
    M difficulty.go

  Log Message:
  -----------
  Export CalcNextRequiredDifficutly function.

This commit exports a new variant of the existing internal
calcNextRequiredDifficulty function which calculates and returns the next
required difficulty for a block after the end of the current best chain
based on the difficulty retarget rules.

In order to support the exported function the internal one was slightly
modified to accept the block timestamp instead of an entire block since
the timestamp is all that is needed and the caller of the exported
function might next have a full block yet.


  Commit: acdce27f9f6b9c275af9c1b6f8ab762b20adf335
      
https://github.com/btcsuite/btcd/commit/acdce27f9f6b9c275af9c1b6f8ab762b20adf335
  Author: Dave Collins <[email protected]>
  Date:   2014-03-09 (Sun, 09 Mar 2014)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Defer unlock of orphan mutex in addOrphanBlock.

This was pointed out by saracen on the btcd IRC channel.


  Commit: 1676ecd7a6b3ccc3bc75e427b4d6a497e406a198
      
https://github.com/btcsuite/btcd/commit/1676ecd7a6b3ccc3bc75e427b4d6a497e406a198
  Author: Dave Collins <[email protected]>
  Date:   2014-03-11 (Tue, 11 Mar 2014)

  Changed paths:
    M chain.go
    M test_coverage.txt
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Export CheckConnectBlock function.

This commit makes a slight variant of the existing checkConnectBlock
function available to external callers.  The new exported version checks
if the passed block will connect to the end of the current main chain.

In order to support this, a few other small modifications have been made
to the initial index generation and the existing checkConnectBlock since
it previously made some assumptions about the state of genesis block which
can no longer be assumed due accepting blocks from callers directly.

Also, add a quick test to ensure the new function fails when checking if
the genesis block will connect again when it's already inserted.


  Commit: 936b4eaa2d3c557ee71dd97fc75572b34316537c
      
https://github.com/btcsuite/btcd/commit/936b4eaa2d3c557ee71dd97fc75572b34316537c
  Author: David Hill <[email protected]>
  Date:   2014-03-11 (Tue, 11 Mar 2014)

  Changed paths:
    A difficulty_test.go
    M test_coverage.txt

  Log Message:
  -----------
  add unit testing for BigToCompact, CompactToBig, and CalcWork


  Commit: 6dd7785276d5537e16ae546e9d19f32edb7c3591
      
https://github.com/btcsuite/btcd/commit/6dd7785276d5537e16ae546e9d19f32edb7c3591
  Author: Dave Collins <[email protected]>
  Date:   2014-03-15 (Sat, 15 Mar 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export coinbase script length limits.

This commit exports the MinCoinbaseScriptLen and MaxCoinbaseScriptLen
constants.


  Commit: 96f9b8893562d9dad9163f6bd9f09125e3e5bb94
      
https://github.com/btcsuite/btcd/commit/96f9b8893562d9dad9163f6bd9f09125e3e5bb94
  Author: Dave Collins <[email protected]>
  Date:   2014-03-15 (Sat, 15 Mar 2014)

  Changed paths:
    M chain.go

  Log Message:
  -----------
  Export CalcPastMedianTime function.

This commit makes a slight variant of the existing calcPastMedianTime
function available to external callers.  The new exported version
calculates the past median time from the end of the current main chain
versus an arbitrary block node.


  Commit: 67ebfa0e80f4711bd19f99525b3c47bbfd71ad91
      
https://github.com/btcsuite/btcd/commit/67ebfa0e80f4711bd19f99525b3c47bbfd71ad91
  Author: Dave Collins <[email protected]>
  Date:   2014-03-24 (Mon, 24 Mar 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Update checkBIP0030 to not use deprecated function.

Rather than using the deprecated TxShas function on a btcutil.Block,
convert the checkBIP0030 to use the newer preferred method of ranging over
the Transactions to obtain the cached hash of each transaction.

This is also a little more efficient since it can avoid creating and
caching an extra slice to keep the hashes in addition to having the hash
cached with each transaction.


  Commit: 38a694e309737c1c18366f8d592ac9160fcf0a88
      
https://github.com/btcsuite/btcd/commit/38a694e309737c1c18366f8d592ac9160fcf0a88
  Author: Dave Collins <[email protected]>
  Date:   2014-03-28 (Fri, 28 Mar 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Correct maturity debug print.

This commit corrects the debug log print to use the hash of referenced
coinbase transaction instead of the hash of the current transation when a
coinbase maturity is not met.


  Commit: 958ea38fdd8aca1b7ad9b8fe36bb7edc1259171f
      
https://github.com/btcsuite/btcd/commit/958ea38fdd8aca1b7ad9b8fe36bb7edc1259171f
  Author: Dave Collins <[email protected]>
  Date:   2014-03-28 (Fri, 28 Mar 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export CheckProofOfWork function.


  Commit: 79beb22aef5e72bebd924bc3c64dc2d64c8c2ff9
      
https://github.com/btcsuite/btcd/commit/79beb22aef5e72bebd924bc3c64dc2d64c8c2ff9
  Author: Josh Rickmar <[email protected]>
  Date:   2014-04-14 (Mon, 14 Apr 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export CoinbaseMaturity as a const.

The unexported variable is still kept so that tests may modify it.

ok @davecgh


  Commit: 0cdaefd4cca34f40d90553606295e3bbd6196481
      
https://github.com/btcsuite/btcd/commit/0cdaefd4cca34f40d90553606295e3bbd6196481
  Author: David Hill <[email protected]>
  Date:   2014-05-22 (Thu, 22 May 2014)

  Changed paths:
    M merkle.go
    M test_coverage.txt

  Log Message:
  -----------
  export HashMerkleBranches

ok @davecgh


  Commit: d4082e4f24fa58fd910b6e2bf23f6ba64e06d1c9
      
https://github.com/btcsuite/btcd/commit/d4082e4f24fa58fd910b6e2bf23f6ba64e06d1c9
  Author: Dave Collins <[email protected]>
  Date:   2014-05-23 (Fri, 23 May 2014)

  Changed paths:
    M checkpoints.go

  Log Message:
  -----------
  Add checkpoint at block height 300255.


  Commit: 4579cfb71b79ce14d26b7aac67d4a67bbefd2dad
      
https://github.com/btcsuite/btcd/commit/4579cfb71b79ce14d26b7aac67d4a67bbefd2dad
  Author: Dave Collins <[email protected]>
  Date:   2014-05-27 (Tue, 27 May 2014)

  Changed paths:
    M accept.go
    M blocklocator.go
    M chain.go
    M checkpoints.go
    M common_test.go
    M difficulty.go
    M doc.go
    R params.go
    M process.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Refactor several network-specific params to btcnet.

This commit refactors the code to make use of the btcnet package for
network-specific parameters instead of switching on the specific network.

For example, the percentage of the network that needs to run version 2
blocks is different between testnet and mainnet.  Previously the code was
using a switch to choose these values.  With this refactor, those
parameters are part of the network parameters provided when creating a new
chain instance.

Another example is checkpoints, which have been moved to btcnet so they
can be specified by the caller instead of hard coded into this package.
As a result, the checkpoints for the standard networks are now specified
in the btcnet package.

This makes it easier to add new networks such as a testnet4 should it
become needed.  It also allows callers to define their own custom network
parameters without having to modify the code of the package to add new
switch cases for the custom network.


  Commit: f37a5e76b5213538ce800385c4e7f2d8e38c191c
      
https://github.com/btcsuite/btcd/commit/f37a5e76b5213538ce800385c4e7f2d8e38c191c
  Author: Dave Collins <[email protected]>
  Date:   2014-05-27 (Tue, 27 May 2014)

  Changed paths:
    M common_test.go
    M test_coverage.txt

  Log Message:
  -----------
  Update tests for recent API changes.


  Commit: b0b090009a7037c05b4c74899aa57b11cc5e3349
      
https://github.com/btcsuite/btcd/commit/b0b090009a7037c05b4c74899aa57b11cc5e3349
  Author: Dave Collins <[email protected]>
  Date:   2014-05-28 (Wed, 28 May 2014)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Update README.md for btcnet changes.

The sample code in doc.go was updated for the recent btcnet changes,
however the sample code in the README.md was not.


  Commit: 87bef61b3058e028088359f8557f755e483b70de
      
https://github.com/btcsuite/btcd/commit/87bef61b3058e028088359f8557f755e483b70de
  Author: Dave Collins <[email protected]>
  Date:   2014-05-28 (Wed, 28 May 2014)

  Changed paths:
    M chain_test.go
    M common_test.go
    M validate_test.go

  Log Message:
  -----------
  Update tests to use btcnet genesis params.


  Commit: 6e0aab52df3e3495939fbe6112d2fc5eb161792e
      
https://github.com/btcsuite/btcd/commit/6e0aab52df3e3495939fbe6112d2fc5eb161792e
  Author: Dave Collins <[email protected]>
  Date:   2014-06-24 (Tue, 24 Jun 2014)

  Changed paths:
    M accept.go
    M doc.go
    A error.go
    M process.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Improve the RuleError type to include error codes.

This commit changes the RuleError type to a struct which consists of an
error code and human-readable description.

>From a usage perspective, existing code should not break since type
asserting an error to a RuleError still works in the same manner.  The
difference is the caller can now take that type asserted RuleError and
access the .ErrorCode field on it to programmatically identify the
specific rule that was violated.

ok @jrick


  Commit: 0550bbbdc5ea39f8c5e8490580dc03f0e7d9121d
      
https://github.com/btcsuite/btcd/commit/0550bbbdc5ea39f8c5e8490580dc03f0e7d9121d
  Author: Dave Collins <[email protected]>
  Date:   2014-06-24 (Tue, 24 Jun 2014)

  Changed paths:
    A error_test.go
    M test_coverage.txt

  Log Message:
  -----------
  Add tests for new RuleError and ErrorCode types.


  Commit: 415ac4596a109c288611195bce8be9bc0e50f355
      
https://github.com/btcsuite/btcd/commit/415ac4596a109c288611195bce8be9bc0e50f355
  Author: Dave Collins <[email protected]>
  Date:   2014-06-25 (Wed, 25 Jun 2014)

  Changed paths:
    M chain_test.go
    M doc.go
    M notifications.go
    M process.go
    M reorganization_test.go

  Log Message:
  -----------
  Make orphan ntfns to a return val on ProcessBlock.

This commit changes the way that orphan blocks are identified by adding a
new boolean return value on ProcessBlock and removing the notification for
NTOrphanBlock.

This allows the calling code to identify orphan blocks immediately instead
of having to setup a seperate callback handler and implementing some type
of state tracking.  This, in turn, allows cleaner code for handling them.

In addition, the tests have been updated for the new function signature
and also now check that each block is or is not an orphan as expected
which makes the tests more robust.

ok @jrick


  Commit: 7d84d801d7cd54c747e5e3904d25604eab401444
      
https://github.com/btcsuite/btcd/commit/7d84d801d7cd54c747e5e3904d25604eab401444
  Author: Dave Collins <[email protected]>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Make golint happy.


  Commit: 67394ec45d5c16d4d4a664d979fb82bfc7b974d5
      
https://github.com/btcsuite/btcd/commit/67394ec45d5c16d4d4a664d979fb82bfc7b974d5
  Author: Dave Collins <[email protected]>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M accept.go
    M chain.go
    M chain_test.go
    M doc.go
    M process.go
    M reorganization_test.go

  Log Message:
  -----------
  Modify ProcessBlock to accept behavior flags.

This commit change the ProcessBlock function to accept a new type named
BehaviorFlags in place of the current fastAdd parameter.

This has been done to pave the way for adding more control over the checks
that are performed such as avoiding the proof of work checks which will be
in an upcoming commit.  A bitmask was chosen because it will allow the
ProcessBlock API to remain a little more stable since new flag additions
that change the behavior are only likely to be used by new code because
adding flags does not change the existing behavior.

ok @jrick


  Commit: ad275b34a8d6e34f1fbd36eb2ed0e4e350e69322
      
https://github.com/btcsuite/btcd/commit/ad275b34a8d6e34f1fbd36eb2ed0e4e350e69322
  Author: Dave Collins <[email protected]>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M process.go
    M validate.go

  Log Message:
  -----------
  Add a new behavior flag to disable the pow check.

This commit adds a new behavior flag, BFNoPoWCheck which allows the caller
to indicate the check which ensures a block hashes to a value less than
required target should not be performed.


  Commit: cf3ad14d4df79fec5f41f1f0d5672b216c5c8556
      
https://github.com/btcsuite/btcd/commit/cf3ad14d4df79fec5f41f1f0d5672b216c5c8556
  Author: Dave Collins <[email protected]>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M accept.go

  Log Message:
  -----------
  Remove TODO that is complete.


  Commit: a22da99f91ec1823ccb7c91a730416a96f7b744b
      
https://github.com/btcsuite/btcd/commit/a22da99f91ec1823ccb7c91a730416a96f7b744b
  Author: Dave Collins <[email protected]>
  Date:   2014-06-26 (Thu, 26 Jun 2014)

  Changed paths:
    M error.go
    M error_test.go
    M scriptval.go

  Log Message:
  -----------
  Convert script errors to RuleErrors.

This commit modifies the error return type for errors during script
validation to use the RuleError so they are consistent with the rest of
the errors.  This also helps the calling code differentiate blocks
rejected due to script parsing and validation errors as opposed to
internal issues such as inability to read from the disk.

To accomplish this, two new two new RuleErrors, ErrScriptMalformed and
ErrScriptValidation, have been added.

Also, the errors for script parsing issues and script validation errors
have been improved to include both transaction hashes and indexes involved
in the validation effort.  Previously script parsing issues had almost no
additional information as to which transaction input/outputs the failing
script came from.


  Commit: ae51c3e6e0f2ff5cc274c2b3e3ec33d4fce49ede
      
https://github.com/btcsuite/btcd/commit/ae51c3e6e0f2ff5cc274c2b3e3ec33d4fce49ede
  Author: Dave Collins <[email protected]>
  Date:   2014-06-27 (Fri, 27 Jun 2014)

  Changed paths:
    M test_coverage.txt

  Log Message:
  -----------
  Update test coverage report.


  Commit: dbca1d59c3dc48088654eaddbadfe038f245ccad
      
https://github.com/btcsuite/btcd/commit/dbca1d59c3dc48088654eaddbadfe038f245ccad
  Author: Dave Collins <[email protected]>
  Date:   2014-06-29 (Sun, 29 Jun 2014)

  Changed paths:
    M accept.go
    M chain.go
    M error.go
    M error_test.go
    M process.go
    M txlookup.go
    M validate.go

  Log Message:
  -----------
  Add a new behavior flag to provide a dry run.

This commit adds a new behavior flag, BFDryRun which allows the caller
to indicate all checks should be performed against the block as normal
except it will not modify any state.  This is useful to test that a block
is valid without actually modifying the current chain or memory state.

This commit also adds a few additional checks which were elided before
since they are implicitly handled by btcwire.  However, with the ability
to propose blocks which didn't necessarily come through the btcwire path,
these checks need to be enforced in the chain code as well.

As a part of adding the checks, three new error codes named
ErrBlockTooBig, ErrTooManyTransactions, and ErrTxTooBig have been
introduced.

Closes #5.


  Commit: 933cdf50e8f7539c51e7c9c545fa43a5a87ffdce
      
https://github.com/btcsuite/btcd/commit/933cdf50e8f7539c51e7c9c545fa43a5a87ffdce
  Author: Dave Collins <[email protected]>
  Date:   2014-06-30 (Mon, 30 Jun 2014)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Export constant for the maximum time offset.

This commit creates and exports a new constant, MaxTimeOffsetSeconds,
which is the maximum number of seconds a block timestamp is allowed to be
ahead of the current time.

Previously this value was hard coded into the consensus rule path, however
it is useful better to have it defined as a constant and exported so other
callers can access it.

No consensus rules have been changed with this commit.


  Commit: e29f40274df668b52733ba419edb937dc5f6df05
      
https://github.com/btcsuite/btcd/commit/e29f40274df668b52733ba419edb937dc5f6df05
  Author: Tomás Senart <[email protected]>
  Date:   2014-07-02 (Wed, 02 Jul 2014)

  Changed paths:
    M reorganization_test.go
    M txlookup.go
    M validate.go

  Log Message:
  -----------
  Replace map[a]bool with map[a]struct{}

The later uses no memory storage for values and provides the same
functionality.


  Commit: 73ed07bd8552aa72629c62cd0e12f802a4bf06f1
      
https://github.com/btcsuite/btcd/commit/73ed07bd8552aa72629c62cd0e12f802a4bf06f1
  Author: Tomás Senart <[email protected]>
  Date:   2014-07-02 (Wed, 02 Jul 2014)

  Changed paths:
    M scriptval.go

  Log Message:
  -----------
  Use chan struct{} for semaphores

With semaphores we don't actually care about the value passed in. It
makes sense to use a 0 bytes type in these cases.
There is also the added benefit of compiler optimisations for this
specific use case as described here:
https://docs.google.com/document/d/1yIAYmbvL3JxOKOjuCyon7JhW4cSv1wy5hC0ApeGMV9s/pub


  Commit: 4772d4a1a444ee224091790f74464707ed07820f
      
https://github.com/btcsuite/btcd/commit/4772d4a1a444ee224091790f74464707ed07820f
  Author: Tomás Senart <[email protected]>
  Date:   2014-07-02 (Wed, 02 Jul 2014)

  Changed paths:
    M accept.go
    M chain.go
    M chain_test.go
    M checkpoints.go
    M common_test.go
    M difficulty.go
    M difficulty_test.go
    M error_test.go
    M internal_test.go
    M log.go
    M merkle.go
    M merkle_test.go
    M process.go
    M reorganization_test.go
    M scriptval.go
    M timesorter_test.go
    M txlookup.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  goimports -w .


  Commit: 73228aaebe3312d7a5cbe000f40c4a749e72e195
      
https://github.com/btcsuite/btcd/commit/73228aaebe3312d7a5cbe000f40c4a749e72e195
  Author: Dave Collins <[email protected]>
  Date:   2014-07-07 (Mon, 07 Jul 2014)

  Changed paths:
    M chain.go
    M chain_test.go
    M checkpoints.go
    M process.go

  Log Message:
  -----------
  Update for recent btcdb API changes.

Since the underlying database driver can now return an error when looking
up if blocks and transactions exist, the HaveBlock function now includes
an error return to allow any underlying errors to be exposed.


  Commit: 5a4242cb03fd791c5c7deb502be56ed1ba9831aa
      
https://github.com/btcsuite/btcd/commit/5a4242cb03fd791c5c7deb502be56ed1ba9831aa
  Author: Dave Collins <[email protected]>
  Date:   2014-07-07 (Mon, 07 Jul 2014)

  Changed paths:
    M README.md
    M doc.go

  Log Message:
  -----------
  Update doc.go and README.md examples to use memdb.

Since the code is only intended to be example code, there is no reason to
use a database which actually writes to disk.


  Commit: 7e875e7952388f63ab13c93b7452e6c015d9a2b1
      
https://github.com/btcsuite/btcd/commit/7e875e7952388f63ab13c93b7452e6c015d9a2b1
  Author: Dave Collins <[email protected]>
  Date:   2014-07-07 (Mon, 07 Jul 2014)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Add godoc reference badge to README.md.


  Commit: 94845326b5ccd208ef357a6958f23ff3572f46d8
      
https://github.com/btcsuite/btcd/commit/94845326b5ccd208ef357a6958f23ff3572f46d8
  Author: Dave Collins <[email protected]>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M README.md
    M doc.go
    A example_test.go

  Log Message:
  -----------
  Use testable example and update doc.go README.md.

This commit moves the ProcessBlock example to a test file so it integrates
nicely with Go's example tooling.

This allows the example output to be tested as a part of running the
normal Go tests to help ensure it doesn't get out of date with the code.
It is also nice to have the example in one place rather than repeating it
in doc.go and README.md.

Links and information about the example have been incldued in doc.go and
README.md in place of the example.


  Commit: 62c14b70014cc78127ac90c7d952d1498fe82859
      
https://github.com/btcsuite/btcd/commit/62c14b70014cc78127ac90c7d952d1498fe82859
  Author: Dave Collins <[email protected]>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M README.md
    M example_test.go

  Log Message:
  -----------
  Name new example so it shows up properly on godoc.


  Commit: 1a2baa3099511003a53fc11407043182e93977c1
      
https://github.com/btcsuite/btcd/commit/1a2baa3099511003a53fc11407043182e93977c1
  Author: Dave Collins <[email protected]>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M README.md
    M doc.go
    M example_test.go

  Log Message:
  -----------
  Add CompactToBig example.


  Commit: 01fa7fa069e22a851e0377ff786ef947275e265c
      
https://github.com/btcsuite/btcd/commit/01fa7fa069e22a851e0377ff786ef947275e265c
  Author: Dave Collins <[email protected]>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M README.md
    M example_test.go

  Log Message:
  -----------
  Add BigToCompact example.


  Commit: cc315d045e0e7664ecc34b377fe9a21115b2b9d6
      
https://github.com/btcsuite/btcd/commit/cc315d045e0e7664ecc34b377fe9a21115b2b9d6
  Author: Dave Collins <[email protected]>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Use a more specific license adjective in README.md.


  Commit: ff4d01765f6e853ad826d36a87424312797bc331
      
https://github.com/btcsuite/btcd/commit/ff4d01765f6e853ad826d36a87424312797bc331
  Author: Dave Collins <[email protected]>
  Date:   2014-07-11 (Fri, 11 Jul 2014)

  Changed paths:
    M error.go
    M error_test.go
    M process.go

  Log Message:
  -----------
  Split time too old error into two distinct errors.

This commit splits the two rule validation errors related to the timestamp
being too old into two distince errors rather than grouping them under the
same one.  Thus there is now a new ErrCheckpointTimeTooNew in addition to
the existing ErrTimeTooNew error.

This allows the caller to detect the when a block is rejected due to a
time-related checkpoint failure whereas before the combined error did not.


  Commit: c3abafc7eb86f90f17daa064782f4e5faad10ce3
      
https://github.com/btcsuite/btcd/commit/c3abafc7eb86f90f17daa064782f4e5faad10ce3
  Author: David Hill <[email protected]>
  Date:   2014-08-28 (Thu, 28 Aug 2014)

  Changed paths:
    M example_test.go

  Log Message:
  -----------
  Println -> Printf when using formatting directives.

This makes go vet happy.


  Commit: 351a2a5f5eb0ef12acf101fe7635e2f4076b88ed
      
https://github.com/btcsuite/btcd/commit/351a2a5f5eb0ef12acf101fe7635e2f4076b88ed
  Author: John C. Vernaleo <[email protected]>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  Add vet, lint, and 1.2 builds to travis.


  Commit: f5f03e8172ab3ebbb9934142ef757833c0d62300
      
https://github.com/btcsuite/btcd/commit/f5f03e8172ab3ebbb9934142ef757833c0d62300
  Author: John C. Vernaleo <[email protected]>
  Date:   2014-09-16 (Tue, 16 Sep 2014)

  Changed paths:
    M txlookup.go
    M validate.go

  Log Message:
  -----------
  Match error names to btcdb updates.


  Commit: f60e503308bfb41b6fa84e4d2d3f6a56b8e539f6
      
https://github.com/btcsuite/btcd/commit/f60e503308bfb41b6fa84e4d2d3f6a56b8e539f6
  Author: Jonathan Gillham <[email protected]>
  Date:   2014-10-01 (Wed, 01 Oct 2014)

  Changed paths:
    M scriptval.go
    M txlookup.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Changed TxIn.PreviousOutpoint to TxIn.PreviousOutPoint after btcwire API 
change.


  Commit: df065eee1903cead496672d968a44bb7d585e078
      
https://github.com/btcsuite/btcd/commit/df065eee1903cead496672d968a44bb7d585e078
  Author: Dave Collins <[email protected]>
  Date:   2014-10-10 (Fri, 10 Oct 2014)

  Changed paths:
    M chain.go
    M chain_test.go
    M example_test.go
    A mediantime.go
    M process.go
    M reorganization_test.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Provide a new median time source API.

This commit provides a new interface, MedianTimeSource, along with a
concrete implementation which allows improved accuracy of time by making
use of the median network time as calculated from multiple time samples.

The time samples are to be provided by callers and are intended to come
from remote clients.

The calculations performed in this implementation exactly mirror those in
Bitcoin Core because time calculations are part of the consensus rules and
hence need to match exactly.


  Commit: 208d4d79d7b732d651a1682424c7402503933615
      
https://github.com/btcsuite/btcd/commit/208d4d79d7b732d651a1682424c7402503933615
  Author: Dave Collins <[email protected]>
  Date:   2014-10-10 (Fri, 10 Oct 2014)

  Changed paths:
    M internal_test.go
    A mediantime_test.go

  Log Message:
  -----------
  Add 100% test coverage for new median time code.


  Commit: e1c622c4cfd1bf2e27448a0f0940407d35022343
      
https://github.com/btcsuite/btcd/commit/e1c622c4cfd1bf2e27448a0f0940407d35022343
  Author: Dave Collins <[email protected]>
  Date:   2014-10-11 (Sat, 11 Oct 2014)

  Changed paths:
    M internal_test.go

  Log Message:
  -----------
  Modify the time sorter tests to make golint happy.

This commit changes the internal testing mechanism from returning the
unexported timeSorter type directly to insted returning sort.Interface.
This has been done because the latest version of golint complains about
return unexported types.


  Commit: b4c55aee281e90baad00ee210f330d06ccb04093
      
https://github.com/btcsuite/btcd/commit/b4c55aee281e90baad00ee210f330d06ccb04093
  Author: Dave Collins <[email protected]>
  Date:   2014-10-11 (Sat, 11 Oct 2014)

  Changed paths:
    M mediantime_test.go

  Log Message:
  -----------
  Update new time tests to prevent false positives.

The new median time tests perform a comparsion of the adjusted time
returned from the median time source to the expected value.  However,
since time is always moving, it is possible the current time between the
call to the adjusted time function and the current time taken in the tests
for comparison just after the call differ by a second due to a boundary
condition.  So, this commit modifies the tests to allow for this
condition.


  Commit: 6af93023744264c2d49de0d21588604c62d0b60c
      
https://github.com/btcsuite/btcd/commit/6af93023744264c2d49de0d21588604c62d0b60c
  Author: Dave Collins <[email protected]>
  Date:   2014-10-11 (Sat, 11 Oct 2014)

  Changed paths:
    M mediantime.go
    M mediantime_test.go

  Log Message:
  -----------
  More false positive prevention in new time tests.

This commit extends the same logic in the previous commit to the
comparison of offsets returned from the median time source in the tests.

In particular it modifies the tests to allow for the offsets to differ by
a second due to a boundary condition to prevent false positives.


  Commit: 8945620a8494f69764777638c314291a02b9ecfa
      
https://github.com/btcsuite/btcd/commit/8945620a8494f69764777638c314291a02b9ecfa
  Author: Josh Rickmar <[email protected]>
  Date:   2015-01-06 (Tue, 06 Jan 2015)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Improve double spend error strings.

The error message now includes both the previous tx hash and output
index, rather than simply the transaction with the already spent
output.


  Commit: d58ea754f338d2cb917f7b0d2d140884ab51758e
      
https://github.com/btcsuite/btcd/commit/d58ea754f338d2cb917f7b0d2d140884ab51758e
  Author: Dave Collins <[email protected]>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M common_test.go
    M example_test.go
    M internal_test.go
    M mediantime.go
    M mediantime_test.go
    M scriptval.go
    A scriptval_test.go
    A testdata/277647.dat.bz2
    A testdata/277647.txstore.bz2
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Add test and infrastructure for block scripts.

This commit adds a test for checking known good block scripts in a block
are valid.  As a part of this, it adds the infastructure needed to load a
saved transaction store from a file which contains all of the input
transactions needed.

It also contains some changes from running goimports as well as some other
cleanup.


  Commit: bf3195e4ae905b4f7b1a1516342971b5e551f434
      
https://github.com/btcsuite/btcd/commit/bf3195e4ae905b4f7b1a1516342971b5e551f434
  Author: Dave Collins <[email protected]>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M .travis.yml
    A goclean.sh

  Log Message:
  -----------
  Update TravisCI to goclean script.

- Also update to use the new container-based builds


  Commit: be91008dc546323bece271902242bc165f0338fe
      
https://github.com/btcsuite/btcd/commit/be91008dc546323bece271902242bc165f0338fe
  Author: Dave Collins <[email protected]>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M README.md
    M goclean.sh

  Log Message:
  -----------
  Update badges in README.md to SVG.

Also add a license badge while here.


  Commit: 4e41922fe87d2233a3b290020398cf0ee817957a
      
https://github.com/btcsuite/btcd/commit/4e41922fe87d2233a3b290020398cf0ee817957a
  Author: Dave Collins <[email protected]>
  Date:   2015-01-08 (Thu, 08 Jan 2015)

  Changed paths:
    M validate.go

  Log Message:
  -----------
  Merge branch 'jrick_double_spend_err' of https://github.com/jrick/btcchain 
into jrick-jrick_double_spend_err


  Commit: ee945cdeec35c76a151535ef66aba573048acce9
      
https://github.com/btcsuite/btcd/commit/ee945cdeec35c76a151535ef66aba573048acce9
  Author: Dave Collins <[email protected]>
  Date:   2015-01-15 (Thu, 15 Jan 2015)

  Changed paths:
    M accept.go
    M chain.go
    M chain_test.go
    M checkpoints.go
    M common_test.go
    M example_test.go
    M merkle.go
    M merkle_test.go
    M process.go
    M reorganization_test.go
    M scriptval.go
    M txlookup.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Update btcutil import paths to new location.


  Commit: 81b60312363f28cfad801d412eaf1be49eb2c961
      
https://github.com/btcsuite/btcd/commit/81b60312363f28cfad801d412eaf1be49eb2c961
  Author: David Hill <[email protected]>
  Date:   2015-01-15 (Thu, 15 Jan 2015)

  Changed paths:
    M goclean.sh

  Log Message:
  -----------
  Enable the race detector for TravisCI.


  Commit: 37d0e1918bd22dbbd1708c558b614812419be350
      
https://github.com/btcsuite/btcd/commit/37d0e1918bd22dbbd1708c558b614812419be350
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M log.go

  Log Message:
  -----------
  Update btclog import paths to new location.


  Commit: 3a35b009ac033dbd932f938e1a8f96630a038e6f
      
https://github.com/btcsuite/btcd/commit/3a35b009ac033dbd932f938e1a8f96630a038e6f
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M blocklocator.go
    M chain.go
    M chain_test.go
    M checkpoints.go
    M common_test.go
    M difficulty.go
    M merkle.go
    M process.go
    M reorganization_test.go
    M scriptval.go
    M txlookup.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Update btcwire import paths to new location.


  Commit: 9bb251f530fd71c370861d893363b361e824a75e
      
https://github.com/btcsuite/btcd/commit/9bb251f530fd71c370861d893363b361e824a75e
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M chain.go
    M chain_test.go
    M checkpoints.go
    M common_test.go
    M example_test.go
    M validate.go
    M validate_test.go

  Log Message:
  -----------
  Update btcnet import paths to new location.


  Commit: 14056ad2cab5b34318e707fbdb1aa01f378c8b49
      
https://github.com/btcsuite/btcd/commit/14056ad2cab5b34318e707fbdb1aa01f378c8b49
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M chain.go
    M common_test.go
    M example_test.go
    M txlookup.go
    M validate.go

  Log Message:
  -----------
  Update btcdb import paths to new location.


  Commit: 3951e75a3fb7a60f0d3d52a0f7a6d3d7d93e4c28
      
https://github.com/btcsuite/btcd/commit/3951e75a3fb7a60f0d3d52a0f7a6d3d7d93e4c28
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M README.md
    M chain_test.go
    M common_test.go
    M difficulty_test.go
    M error_test.go
    M example_test.go
    M mediantime_test.go
    M merkle_test.go
    M reorganization_test.go
    M scriptval_test.go
    M timesorter_test.go
    M validate_test.go

  Log Message:
  -----------
  Update btcchain import paths to new location.


  Commit: e90d95358d3c9c091da1ccca2d3e54bdcbe38fd4
      
https://github.com/btcsuite/btcd/commit/e90d95358d3c9c091da1ccca2d3e54bdcbe38fd4
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M checkpoints.go
    M scriptval.go
    M validate.go

  Log Message:
  -----------
  Update btcscript import paths to new location.


  Commit: 31fe0eac0833187e6d84161d096a4cbd6caa1961
      
https://github.com/btcsuite/btcd/commit/31fe0eac0833187e6d84161d096a4cbd6caa1961
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Update to new location in README.md too.


  Commit: 0565be965aaf577934eafc85f03cf1ef95bda6a3
      
https://github.com/btcsuite/btcd/commit/0565be965aaf577934eafc85f03cf1ef95bda6a3
  Author: Dave Collins <[email protected]>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Correct godoc badge in README.md


  Commit: dd512e7315f5e2ecdd65bd338dc645a6bca86a36
      
https://github.com/btcsuite/btcd/commit/dd512e7315f5e2ecdd65bd338dc645a6bca86a36
  Author: Dave Collins <[email protected]>
  Date:   2015-01-27 (Tue, 27 Jan 2015)

  Changed paths:
    M chain.go
    M common_test.go
    M example_test.go
    M txlookup.go
    M validate.go

  Log Message:
  -----------
  Update database import paths to new location.


  Commit: 3f177c98955746df6b8f80dd1ed3592116f28a91
      
https://github.com/btcsuite/btcd/commit/3f177c98955746df6b8f80dd1ed3592116f28a91
  Author: Dave Collins <[email protected]>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    M checkpoints.go
    M scriptval.go
    M validate.go

  Log Message:
  -----------
  Update btcscript import paths to new location.


  Commit: b69a849114ea871b49a27bda2ebad36d460f8137
      
https://github.com/btcsuite/btcd/commit/b69a849114ea871b49a27bda2ebad36d460f8137
  Author: Dave Collins <[email protected]>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    R .gitignore
    R .travis.yml
    R LICENSE
    R README.md
    R accept.go
    A blockchain/README.md
    A blockchain/accept.go
    A blockchain/blocklocator.go
    A blockchain/chain.go
    A blockchain/chain_test.go
    A blockchain/checkpoints.go
    A blockchain/common_test.go
    A blockchain/difficulty.go
    A blockchain/difficulty_test.go
    A blockchain/doc.go
    A blockchain/error.go
    A blockchain/error_test.go
    A blockchain/example_test.go
    A blockchain/internal_test.go
    A blockchain/log.go
    A blockchain/mediantime.go
    A blockchain/mediantime_test.go
    A blockchain/merkle.go
    A blockchain/merkle_test.go
    A blockchain/notifications.go
    A blockchain/process.go
    A blockchain/reorganization_test.go
    A blockchain/scriptval.go
    A blockchain/scriptval_test.go
    A blockchain/testdata/277647.dat.bz2
    A blockchain/testdata/277647.txstore.bz2
    A blockchain/testdata/blk_0_to_4.dat.bz2
    A blockchain/testdata/blk_3A.dat.bz2
    A blockchain/testdata/blk_4A.dat.bz2
    A blockchain/testdata/blk_5A.dat.bz2
    A blockchain/testdata/reorgtest.hex
    A blockchain/timesorter.go
    A blockchain/timesorter_test.go
    A blockchain/txlookup.go
    A blockchain/validate.go
    A blockchain/validate_test.go
    R blocklocator.go
    R chain.go
    R chain_test.go
    R checkpoints.go
    R common_test.go
    R cov_report.sh
    R difficulty.go
    R difficulty_test.go
    R doc.go
    R error.go
    R error_test.go
    R example_test.go
    R goclean.sh
    R internal_test.go
    R log.go
    R mediantime.go
    R mediantime_test.go
    R merkle.go
    R merkle_test.go
    R notifications.go
    R process.go
    R reorganization_test.go
    R scriptval.go
    R scriptval_test.go
    R test_coverage.txt
    R testdata/277647.dat.bz2
    R testdata/277647.txstore.bz2
    R testdata/blk_0_to_4.dat.bz2
    R testdata/blk_3A.dat.bz2
    R testdata/blk_4A.dat.bz2
    R testdata/blk_5A.dat.bz2
    R testdata/reorgtest.hex
    R timesorter.go
    R timesorter_test.go
    R txlookup.go
    R validate.go
    R validate_test.go

  Log Message:
  -----------
  Import btcchain repo into blockchain directory.

This commit contains the entire btcchain repository along with several
changes needed to move all of the files into the blockchain directory in
order to prepare it for merging.  This does NOT update btcd or any of the
other packages to use the new location as that will be done separately.

- All import paths in the old btcchain test files have been changed to
  the new location
- All references to btcchain as the package name have been changed to
  blockchain


  Commit: 74ae61f04821800a176de55868d887deaaece65c
      
https://github.com/btcsuite/btcd/commit/74ae61f04821800a176de55868d887deaaece65c
  Author: Dave Collins <[email protected]>
  Date:   2015-01-30 (Fri, 30 Jan 2015)

  Changed paths:
    A blockchain/README.md
    A blockchain/accept.go
    A blockchain/blocklocator.go
    A blockchain/chain.go
    A blockchain/chain_test.go
    A blockchain/checkpoints.go
    A blockchain/common_test.go
    A blockchain/difficulty.go
    A blockchain/difficulty_test.go
    A blockchain/doc.go
    A blockchain/error.go
    A blockchain/error_test.go
    A blockchain/example_test.go
    A blockchain/internal_test.go
    A blockchain/log.go
    A blockchain/mediantime.go
    A blockchain/mediantime_test.go
    A blockchain/merkle.go
    A blockchain/merkle_test.go
    A blockchain/notifications.go
    A blockchain/process.go
    A blockchain/reorganization_test.go
    A blockchain/scriptval.go
    A blockchain/scriptval_test.go
    A blockchain/testdata/277647.dat.bz2
    A blockchain/testdata/277647.txstore.bz2
    A blockchain/testdata/blk_0_to_4.dat.bz2
    A blockchain/testdata/blk_3A.dat.bz2
    A blockchain/testdata/blk_4A.dat.bz2
    A blockchain/testdata/blk_5A.dat.bz2
    A blockchain/testdata/reorgtest.hex
    A blockchain/timesorter.go
    A blockchain/timesorter_test.go
    A blockchain/txlookup.go
    A blockchain/validate.go
    A blockchain/validate_test.go

  Log Message:
  -----------
  Merge btcchain repo into blockchain directory.


Compare: https://github.com/btcsuite/btcd/compare/c01d175fde53...74ae61f04821

Reply via email to