Commit graph

658 commits

Author SHA1 Message Date
Chris Stewart
9755ed4461 Adding support for compressed vs uncompressed public keys, adding invariant to private keys requiring them to be 32 bytes 2016-08-05 12:03:03 -05:00
Chris Stewart
55f0476083 Simplifying tests in ECPrivateKeyTest 2016-08-02 15:49:32 -05:00
Chris Stewart
d5d4151b33 removing unused CryptoTestUtil functions 2016-08-02 15:42:05 -05:00
Chris Stewart
d81e7305b0 Fixing a few nits 2016-08-02 12:15:01 -05:00
Chris Stewart
3d4e6ce7b0 Removing mutability from ScriptInterpreter, this should fix concurrency issues with running tests 2016-08-02 11:14:19 -05:00
Chris Stewart
c27548cc20 Fixing a few nits 2016-07-29 09:02:06 -05:00
Chris Stewart
cd874c92d2 Fixing an anti-pattern inside of ScriptPubKey companion object, now ScriptPubKey case classes reside in the companion object of the subtype - i.e. P2PKHScriptPubKey instead of the generic ScriptPubKey companion object 2016-07-28 20:40:48 -05:00
Chris Stewart
962833c350 Fixing an anti-pattern inside of ScriptSignature companion object, now ScriptSignature case classes reside in the companion object of the subtype - i.e. P2PKHScriptSig instead of the generic ScriptSignature companion object 2016-07-28 20:09:45 -05:00
Chris Stewart
087c80ef4b Allowing for MultiSignatureScriptSignatures to have 0 requiredSigs, cleaning up comments 2016-07-28 15:26:22 -05:00
Chris Stewart
e14e037542 Fixing issues in generators where we were not generating the max/min amount of public keys for a MultiSignatureScriptPubKey 2016-07-28 13:21:22 -05:00
Chris Stewart
58efa9c8c7 Adding generator for p2sh transactions of standard scriptSig/scriptPubKey types, writing property that says they should evaluate to true in the interpreter 2016-07-28 09:04:52 -05:00
Chris Stewart
c53c97e9c0 Refactoring generators, now generating signed scriptSigs inside of ScriptGenerators. Creating generators for single input transactions inside of TransactionGenerators 2016-07-27 09:41:26 -05:00
Chris Stewart
ec49753e53 Adding test to create signed p2shScriptSig, then make sure that scriptSig evaluates to true through the ScriptInterpreter 2016-07-25 14:42:58 -05:00
Chris Stewart
8f37e950eb Fixing issue with 33 byte representation of private keys 2016-07-25 13:35:25 -05:00
Chris Stewart
31a419445d Successfully replicating the creation of a digital signature that bitcoin core produced 2016-07-25 11:24:13 -05:00
Chris Stewart
71a50be511 Successfully creating p2pk and multisignature scriptSig digital signatures - they evaluate to true when run through the ScriptInterpreter 2016-07-22 20:58:23 -05:00
Chris Stewart
40697b23e0 Adding BitcoinAddressSpec, adding convienience factory functions inside of P2PKHAddress and P2SHAddress 2016-07-21 08:49:42 -05:00
Chris Stewart
24748494bc Fixing bug in creating a P2SHScriptPubKey, factoring out P2PKHAddress & P2SHAddress into their own companion objects 2016-07-21 08:27:42 -05:00
Chris Stewart
34d4d75624 refactoring address types in to algebraic data types 2016-07-20 20:39:27 -05:00
Chris Stewart
abfcf3b694 Moving enocePubKeyHashAddress to BitcoinAddress 2016-07-20 19:49:17 -05:00
Chris Stewart
f0e9534657 Merge pull request #17 from Christewart/refactor_number_system
Refactor number system
2016-07-17 19:46:33 -05:00
Chris Stewart
6f89f622f7 Merge pull request #7 from TomMcCabe/refactor_number_system
increase test coverage for CompactSizeUInt
2016-07-17 19:20:39 -05:00
Tom McCabe
0e391944fe increase test coverage for CompactSizeUInt 2016-07-17 18:58:39 -05:00
Chris Stewart
c758452972 Fixing bug in LockTimeInterpreter with checkking locktimes on txs, uncommenting tx_invalid.json tests 2016-07-17 15:57:29 -05:00
Chris Stewart
9c5069057e Refactoring uneeded hex parameter inside of Int32 & Int64, calculating pushOps inside of ScriptSignature & ScriptPubKey factories in a more robust way 2016-07-17 13:09:29 -05:00
Chris Stewart
c5cf2f9964 Removing gen package from test coverage report 2016-07-17 10:35:03 -05:00
Chris Stewart
2690230c60 Refactoring the underlying number type for CompactSizeUInt to be UInt64 2016-07-17 10:01:14 -05:00
Chris Stewart
d901448207 Fixing bug in parsing multiple transactions and their locktimes inside of RawTransactionSerializer 2016-07-16 20:44:05 -05:00
Chris Stewart
4e37c7fa05 Cleaning up codebase for pull request, fixing a few minor issues 2016-07-15 12:05:59 -05:00
Chris Stewart
52dea04028 Trying to kick off CI 2016-07-12 12:40:24 -05:00
Chris Stewart
f2941cb24c Adding lowerbounds invariant on .toInt inside of NumberTypes 2016-07-12 10:44:28 -05:00
Chris Stewart
8cb8bcc0f2 Merge pull request #6 from TomMcCabe/refactor_number_system
Refactor number system
2016-07-12 10:21:18 -05:00
Tom McCabe
a33beaab87 refactor some instances of underlying.toInt that were missed in previous commit 2016-07-12 10:07:38 -05:00
Tom McCabe
723156467a Simplify toInt function with require statement 2016-07-12 09:44:40 -05:00
Tom McCabe
ebdb29f832 fix transaction generator, clean up spacing in Constants 2016-07-11 11:07:15 -05:00
Tom McCabe
1e3bcc1435 fix serialization symmetry for Specs of Block, BlockHeader and CompactSizeUInt 2016-07-08 12:58:41 -05:00
Tom McCabe
6914a2e102 refactor underlying.toInt in TransactionTestUtil 2016-07-06 15:55:26 -05:00
Tom McCabe
3c6ccf510d remove incorrect import causing travis CI build to break 2016-07-06 15:50:36 -05:00
Tom McCabe
350a41b5be change logback level to warn, implement | for UInt32 and add spec, replace underlying.toInt with override toInt function 2016-07-06 15:41:31 -05:00
Tom McCabe
32b2da3f28 add respective generators and specs for ScriptNumber, Block, BlockHeader, CompactSizeUInt 2016-07-06 15:04:50 -05:00
Tom McCabe
6d4763acf4 implement toInt function for all signed/unsigned numbers, add Int64 boolean operators to ScriptNumber 2016-07-05 15:00:27 -05:00
Tom McCabe
de999ab03b Merge branch 'refactor_number_system' of https://github.com/Christewart/bitcoin-s-core into refactor_number_system 2016-07-05 13:05:23 -05:00
Tom McCabe
0947484e03 refactor num to underlying 2016-07-05 13:02:18 -05:00
Chris Stewart
48316f4505 Merge branch 'master' into refactor_number_system 2016-07-05 12:57:44 -05:00
Tom McCabe
fa80a1096e add Int64 in LockTimeInterpreter 2016-07-01 21:27:04 -05:00
Tom McCabe
cc5c00d613 Merge branch 'refactor_number_system' of https://github.com/Christewart/bitcoin-s-core into refactor_number_system 2016-07-01 11:57:06 -05:00
Tom McCabe
739e1b11b6 replacing appropriate native scala numbers with UInt32s 2016-07-01 11:56:40 -05:00
Chris Stewart
fe352c8a59 Fixing bug in creating CompactSizeUInt from num, also extending Factory from CompactSizeUInt factory object 2016-06-30 09:20:42 -05:00
Chris Stewart
9b57cdef0b Adding CompactSizeUIntSpec, adding function to create CompactSizeUInt from a number 2016-06-29 15:38:39 -05:00
Tom McCabe
efc3d41437 refactor numbers in BlockHeader and Block 2016-06-28 15:08:26 -05:00