Commit Graph

1029 Commits

Author SHA1 Message Date
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
Chris Stewart
b4f918857d Removing sealed keywords on ScriptPubKey's 2016-09-02 11:19:18 -05:00
Chris Stewart
a2caf6c3b4 Removing sealed keywords on ScriptPubKey's 2016-09-02 11:09:49 -05:00
Tom McCabe
f7b209709b Create CLTVScriptSignature trait and object, create CLTV generators for CLTVScriptPubKey, CLTVScriptSignature, CLTV transactions (both valid/invalid), and add Specs 2016-09-01 17:48:52 -05:00
Chris Stewart
0c6ad67a6e Adding some documention, removing uneeded code 2016-08-31 13:53:56 -05:00
Chris Stewart
f5bfacad4a Adding functionality to derive the base58 representation of an address instead of have it hard coded 2016-08-31 11:08:01 -05:00
Chris Stewart
ea6866c3ac Refactoring Address type to have a networkParameters, hash and address value, removing AssetAddress - we can support these later if needed 2016-08-31 10:31:09 -05:00
Tom McCabe
ad943821d9 remove apply functions inside CLTV/CSVScriptPubKeys that would produce a P2PKH-formatted ScriptPubKey 2016-08-26 09:27:17 -05:00
Tom McCabe
ac0bc69c69 create CLTVScriptPubKey and CSVScriptPubKey traits and respective companion objects
begin CLTVScriptPubKey implementation, improve hashType function in ScriptSignature trait, add functions to return a scriptPubKey's address

Add RelativeLockTimeScriptPubKey trait and companion object, add generators/specs for CLTV/CSV ScriptPubKeys, add p2shAddress function for each ScriptPubKey type

rename RelativeLockTimeScriptPubKey to CSVScriptPubKey, implement cltv/csv scriptPubKeys inside ScriptGenerators, add apply functions to each scriptPubKey's fromAsm function, add nestedScriptPubKey function for cltv/csv ScriptPubKeys

remove hashType functions from ScriptSignature traits, remove encodeHashToAddress function in Base58, remove p2shAddress in ScriptPubKey trait
2016-08-26 09:21:41 -05:00
Chris Stewart
54e8eb52b3 Merge pull request #30 from TomMcCabe/build_readme
add build readme file
2016-08-25 12:08:37 -05:00
Tom McCabe
65e5aaebc8 add build readme file 2016-08-25 10:22:01 -05:00
Thomas McCabe
00acabba14 Merge pull request #29 from Christewart/der_encoding_bug
Der encoding bug
2016-08-22 09:14:17 -05:00
Chris Stewart
2a2780bfd4 Refactoring lowS functionality to DERSignatureUtil 2016-08-17 20:01:35 -05:00
Chris Stewart
278a24f4ea Adding BitcoinSLogger to RawBitcoinSerializer 2016-08-17 13:04:37 -05:00
Chris Stewart
56c4108513 Adding lowS, der encoding invariant to any signature created using the 'sign' function in BaseECKey, renaming a couple functions 2016-08-16 15:41:59 -05:00
Chris Stewart
59fbf04919 Remaining 'isStrictDEREncoding' to 'isValidSignatureEncoding' because valid bitcoin signatures contain extra data (hash type) along with a DER encoded signature 2016-08-16 14:26:31 -05:00
Thomas McCabe
7cee065214 Merge pull request #27 from Christewart/master
Adding utility function to convert a byte to a bit vector and vice versa
2016-08-15 13:51:18 -05:00
Chris Stewart
e90e38de0e Adding utility function to convert a byte to a bit vector and vice versa 2016-08-15 13:11:10 -05:00