Commit graph

4446 commits

Author SHA1 Message Date
Chris Stewart
2a42c9b3f9 Adding WitnessTransaction serialization symmetry spec 2016-11-28 14:08:50 -06:00
Chris Stewart
600597ee45 Adding property for serialization symmetry for TransactionInputWitness 2016-11-28 13:08:47 -06:00
Chris Stewart
9c3b3f0eb2 Removing 'marker' and 'flag' field from witness tx, as bitcoin core does not stores those in CTransaction 2016-11-25 19:42:00 -06:00
Chris Stewart
badca76e98 Fixing serialization bug, stacks are using a FP convention of prepending to a list, so the first, and to extract from the stack you can use cons to in O(1) time 2016-11-25 11:18:58 -06:00
Chris Stewart
b96d4c32c4 Correctly serializing an example witness tx from script_tests.json 2016-11-24 21:44:22 -06:00
Chris Stewart
886b17a76a Refactoring the main factory function inside of 'Transaction' companion object to allocate WitnessTransactions/BaseTransactions 2016-11-23 10:51:09 -06:00
Chris Stewart
7b0bb21404 Creating two distianct algebraic data types for txs, BaseTransaction and WitnessTransaction 2016-11-22 09:07:25 -06:00
Chris Stewart
215d8a1df2 Modifying data structure inside of ScriptWitness to be a Seq[Seq[Byte]] instead of Seq[ScriptConstant] since BIP141 says the witness is NOT Script 2016-11-21 16:25:11 -06:00
Chris Stewart
e90d5acaa7 Refactoring Hashtypes to be simpler 2016-11-21 12:58:59 -06:00
Chris Stewart
eb2beb9b69 Fixing bug in serialization for p2sh signature 2016-11-18 16:46:13 -06:00
Chris Stewart
a83b04e63b Adding BaseTransactionSignatureComponent type and WitnessV0TransactionSignatureComponent type to differentiate the two signature components 2016-11-18 16:28:31 -06:00
Chris Stewart
26b65aec87 Creating 'SigVersion' type, adding it to TxSignatureComponent 2016-11-18 09:59:57 -06:00
Chris Stewart
a4a17c7cb0 Implemented SigErrorNullFail for OP_CHECKSIG/OP_CHECKSIGVERIFY 2016-11-17 15:10:32 -06:00
Chris Stewart
cea410d09f Passing the first segwit test inside of script_tests.json 2016-11-16 15:51:02 -06:00
Chris Stewart
a6912e49ec fixing a bug with creating the scriptPubKey ScriptProgram 2016-11-15 14:04:21 -06:00
Chris Stewart
78d945ccf4 Refactoring ScriptProgram to remove all 'factory' functions 2016-11-15 13:06:48 -06:00
Chris Stewart
94d3fa9b00 All non witness tests inside of script_tests.json passing now 2016-11-14 21:20:15 -06:00
Chris Stewart
63d7f2c24f Fixing bug with max op count inside an unexecuted OP_IF in script 2016-11-14 20:42:58 -06:00
Chris Stewart
a609c66a06 Successfully parsing witness option in script_tests.json 2016-11-14 19:43:23 -06:00
Chris Stewart
a16e0469e8 Adding WitnessVersion and ScriptWitness types 2016-11-10 15:41:49 -06:00
Chris Stewart
2602125134 Adding new ScriptFlags for segwit 2016-11-10 12:08:34 -06:00
Chris Stewart
d2acae4664 Adding new script error types for segwit 2016-11-10 10:19:41 -06:00
Chris Stewart
f24f2a6f55 Adding new script_test.json for segwit, implmeneting is isWitnessProgram 2016-11-10 09:48:29 -06:00
Thomas McCabe
cf406a5fa6 Merge pull request #40 from Christewart/remove_guards_from_pattern_patches
Remove guards from pattern patches
2016-10-10 08:35:21 -05:00
Thomas McCabe
4a83f1866f Merge pull request #39 from Christewart/remove_spray
Moving spray dependency to 'test' scope
2016-10-10 08:28:46 -05:00
Chris Stewart
aaab11d7f1 Fixing issue on pattern matching exhasutiveness being broken by using guard 2016-10-09 16:38:53 -05:00
Chris Stewart
faafebce7f Moving spray dependency to 'test' scope 2016-10-07 10:06:48 -05:00
Thomas McCabe
3114b0a2c5 Merge pull request #38 from Christewart/master
Adding helper function to P2PKHScriptPubKey
2016-09-23 10:38:26 -05:00
Chris Stewart
bba9797b7e Merging master, fixing merge conflicts 2016-09-22 19:30:27 -05:00
Chris Stewart
72dcefdbf9 Adding function to P2PKHScriptPubKey to retreive the pubKeyHash 2016-09-22 19:16:03 -05:00
Chris Stewart
069832d37b Merge pull request #37 from TomMcCabe/fix_endianness_typo
fix endianness typo
2016-09-21 19:34:24 -05:00
Tom McCabe
f7f388c5ea fix endianness typo 2016-09-21 19:18:28 -05:00
Chris Stewart
9af996df54 Merge pull request #31 from TomMcCabe/cltv_and_csv
Add CLTVScriptPubKey and CSVScriptPubKey
2016-09-21 14:38:33 -05:00
Tom McCabe
9de80f17d3 add CLTV/CSVScriptPubKey test files 2016-09-21 14:07:51 -05:00
Thomas McCabe
7eb9e8f348 Merge pull request #36 from Christewart/master
Adds more flexibility to BlockchainElementsGenerator
2016-09-21 13:31:40 -05:00
Chris Stewart
53201a0dfd Addign difficulty threshold val to NetworkParamters 2016-09-21 10:41:45 -05:00
Tom McCabe
563d901ac6 revise locktime values for CLTV/CSVScriptPubKeys, refactor minimalScriptNumberRepresentation to return a ScriptNumber 2016-09-20 14:38:29 -05:00
Tom McCabe
18745d58e0 fix bug with finding underlying scriptPubKeys and locktime inside CLTV/CSVScriptPubKeys 2016-09-20 11:13:24 -05:00
Tom McCabe
98c5007894 Add unit tests for correctScriptNumberRepresentation scriptUtil function, add random cltv/csv scriptSigs to randomScriptSig generator 2016-09-19 14:26:10 -05:00
Tom McCabe
0dbb724749 move correctScriptNumberRepresentation function from ScriptParser to BitcoinScriptUtil 2016-09-16 16:23:01 -05:00
Tom McCabe
6d615b8ee6 added functionality to CLTV/CSVScriptPubKeys to account for ScriptNumbers if underlying number is a ScriptNumberOperation 2016-09-16 16:15:15 -05:00
Tom McCabe
025a293a07 Improve documentation in ScriptProgram, optimize some imports 2016-09-16 11:10:15 -05:00
Tom McCabe
bb806716cb properly generate both spendable and unspendable csv transactions, add factory to CSV/CLTVScriptSignatures 2016-09-15 22:28:56 -05:00
Tom McCabe
10d4041efb debugging cltv scriptInterpreter error 2016-09-14 12:58:50 -05:00
Tom McCabe
7d0ab4ce54 create helper function for generating CLTVTransactions, add documentation to CLTV/CSV transaction-related generator functions 2016-09-09 10:10:40 -05:00
Tom McCabe
f75c1f8cff merge master changes 2016-09-08 14:16:00 -05:00
Tom McCabe
b13d42f9bf Create signedCSVScriptSignature and spendableCSVTransaction generators, add CSVScriptSignature trait and object, added condition to fail CSV if txInput sequence has lockTimeDisableFlag set 2016-09-08 14:10:21 -05:00
Thomas McCabe
6a011af8b6 Merge pull request #34 from Christewart/assembly_file_modification
Modifying build.sbt to exclude files from jar
2016-09-04 15:20:48 -05:00
Chris Stewart
911e1c6051 Modifying assembly.sbt settings to not include relevant files to jar file 2016-09-02 21:01:33 -05:00
Chris Stewart
ffff9c56ed Merge pull request #33 from Christewart/add_hash_to_address
Add hash to address
2016-09-02 11:41:28 -05:00