Dave Collins
4e6b649be6
Add constant for regression test netowrk port.
2013-07-25 19:04:02 -05:00
Owain G. Ainsworth
e7f9415e4f
Return 0 for bad scripts from sigops code instead of an error.
...
matches how bitcoind behaves.
2013-07-25 14:27:58 +01:00
Dave Collins
9787f46f6a
Implement testnet specific rules.
...
This commit adds support for testnet specific rules when a new BlockChain
is created against testnet.
2013-07-24 17:03:29 -05:00
Dave Collins
1deeb05627
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.
2013-07-24 12:31:14 -05:00
Dave Collins
f219ed5baf
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.
2013-07-24 12:26:17 -05:00
Dave Collins
3c4292fae3
Add parent to info print when adding orphans.
2013-07-24 11:12:25 -05:00
Dave Collins
60dfddc9d0
Use common coinbase transaction for Genesis blocks.
...
Since the same coinbase transaction is used for the genesis blocks of
all three currently supposed networks, separate it into its own var and
use a reference to it in each of the genesis block defintions.
2013-07-24 09:09:18 -05:00
Dave Collins
ab064fd4d4
Add tests for genesis block of testnet (version 3).
2013-07-24 01:47:11 -05:00
Dave Collins
166123ae79
Add genesis block for the test network (version 3).
2013-07-24 01:45:30 -05:00
Dave Collins
b8f80da512
Add tests for genesis block of regression testnet.
2013-07-24 01:33:24 -05:00
Dave Collins
a90a8bf341
Add genesis block for the regression test network.
2013-07-24 01:32:43 -05:00
Dave Collins
65eae18285
Remove a couple of incorrect comments.
2013-07-24 00:35:16 -05:00
Dave Collins
ebd4af80f0
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.
2013-07-22 03:20:00 -05:00
Dave Collins
f3e542ff92
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.
2013-07-22 01:06:53 -05:00
Dave Collins
d6d2b15901
Clarify BIP0034 is supported in package doco.
2013-07-20 02:39:07 -05:00
Dale Rahn
92651c6d13
Fix spent computation on a multiple of 8 txout tx.
2013-07-19 15:49:02 -05:00
Dave Collins
20f7c2ecd0
Add tests for TimeSorter.
2013-07-19 12:49:11 -05:00
Dave Collins
355502c970
Update documentation for IsCheckpointCandidate.
...
The bulleted list was not indented which caused godoc to show the
documentation improperly.
2013-07-19 10:08:09 -05:00
Dave Collins
aa5847f3cc
Initial implementation.
2013-07-19 08:50:13 -05:00
Dale Rahn
bee05db603
Exunge debug code.
2013-07-18 18:19:57 -04:00
Dale Rahn
66731c1a1e
Implement TxOut Spend tracking.
...
Return spent data in TxListReply.
Unspend coins when blocks are removed during DropAfterBlock.
2013-07-18 18:11:37 -04:00
Dave Collins
180c827db3
Initial commit.
2013-07-18 09:39:30 -05:00
John C. Vernaleo
f8fdabe53b
Fix some error formatting from go vet.
2013-07-16 16:10:35 -04:00
John C. Vernaleo
3b6c9b6d78
Simplify some code and increase test coverage.
2013-07-16 16:05:38 -04:00
John C. Vernaleo
ed7214afda
Add types for a few more commands.
...
Add types for getmininginfo, getrawmempool, stop, and settxfee along
with tests.
2013-07-16 15:49:31 -04:00
John C. Vernaleo
7a1a05d695
Clarify comment and add command to concrete type list.
2013-07-15 10:51:58 -04:00
John C. Vernaleo
a0dd367cd9
Add a few more commands with known types.
2013-07-12 12:39:12 -04:00
John C. Vernaleo
796df5b105
Tests and typos.
...
Increase test coverage.
Fix spelling and typos in a comment.
Minor update to todo in README.md
2013-07-12 11:04:00 -04:00
John C. Vernaleo
e3c9ebd26f
Add more concrete types.
...
Add concrete return type for getaddressesbyaccount and make some of
the other command type handeling more explicit in the code.
2013-07-11 10:40:02 -04:00
John C. Vernaleo
39a1be8682
Increase test coverage.
2013-07-11 10:15:27 -04:00
Owain G. Ainsworth
a7a9023bc1
Add ExistsTxSha to db interface.
...
This function may be used to check for existance of a tx sha without having to
fetch the data from the db.
2013-07-10 00:11:02 +01:00
Owain G. Ainsworth
1f773006f0
fix tests building from 166a546078
2013-07-09 22:49:58 +01:00
John C. Vernaleo
86f848ddd4
Convert floats to int64.
...
Following the example of bitcoind and the bitcoin wiki, provide a
function to convert floats (which are returned by the json-rpc server)
to int64 (which is the normal representation for most values involving
bitcoins).
2013-07-08 17:20:41 -04:00
John C. Vernaleo
39cef5e76a
Fix typo in command name getaddressesbyaccount.
...
Caught by jrick@
2013-07-08 17:12:16 -04:00
Dave Collins
eb5de559ff
Fix a couple of comment typos for the word execute.
2013-07-06 11:59:07 -05:00
Owain G. Ainsworth
bedaddb790
add GetScriptClass to return the internal script type of a script.
...
To be used to tell which class a script is (multisig, scripthash, pubkey,
pkhash, or nonstandard)
2013-07-05 15:23:02 +01:00
Owain G. Ainsworth
4d31b2c850
Remove blurb about 100% coverage and replace with comprehensive.
...
btcscript contains an amount of debug logging that is very useful to
have. We have agreed that testing this isn't realy practical or indeed
really useful and thus is rather unlikely to grow test coverage any time
soon.
2013-06-28 01:15:10 +01:00
Owain G. Ainsworth
c41330e772
Add basic test for if internal opcode definitions are buggy.
2013-06-28 00:46:34 +01:00
Owain G. Ainsworth
89578c985a
add basic test for OP_SHA1
...
yup, it produces the sha of the data.
2013-06-27 16:15:32 +01:00
Owain G. Ainsworth
e5a2756795
Test empty scripts and out of bounds for DisasmScript()
...
give disasmscript a defined error return for out of bounds.
2013-06-27 15:07:37 +01:00
Owain G. Ainsworth
244ce4b96e
add IsPayToScriptHash api
...
To tell ifa bytestream matches teh p2sh pattern.
2013-06-27 14:20:08 +01:00
Owain G. Ainsworth
bcd8c9d227
gofmt
2013-06-27 14:20:08 +01:00
Owain G. Ainsworth
dd216cef29
Test pushing at and beyond the boundary for largest stack item.
2013-06-26 23:57:49 +01:00
Owain G. Ainsworth
df898ae1dd
test a few non-standards script types to hit some edge cases.
2013-06-26 23:28:44 +01:00
Owain G. Ainsworth
d6161f0d41
fix ScriptToAddress when called with 0 length script.
...
It did work by luck before, but now it works no matter what the template
tables say. Add tests for the other error cases and internal data
assertions.
2013-06-26 22:11:54 +01:00
Owain G. Ainsworth
7ae307abfd
Fix case where we have an empty script that isn't the first.
...
Silly check needed to confirm it was the first script. Add test for this case.
2013-06-26 14:16:00 +01:00
Dave Collins
166a546078
Modify DropAfterBlockBySha to accept a pointer.
...
Since all other functions take pointers, this makes the interface more
consistent.
2013-06-25 10:15:58 -05:00
Owain G. Ainsworth
7e937fae75
testing for the case where a p2sh sigscript isn't pushonly.
...
Also providing a defined error (from NewScript) for that case.
2013-06-25 13:12:15 +01:00
Owain G. Ainsworth
4a87e6e3a7
Test a few failure cases of p2sh txs.
2013-06-25 00:12:08 +01:00
Owain G. Ainsworth
ba51aa8934
partially revert afc2e8100a
...
Turns out that there are some signatures in the bitcoin blockchain that have
trailing 0s, for example
12a1b29fd6c295075b6a66f5fd90f0126ceb1fda4f15e4b44d92518bd52a5cdf has a signature
length of 0x45 where there are 0x47 bytes following that length check (one is
hashtype and is supposed to be trimmed out prior to calling the function). We
relax the paranoid length check to permit traling data, but not to permit
buffers that are too short. Change the test to passing with a big comment
stating why this is now considered a valid case.
2013-06-24 18:15:25 +01:00