Commit Graph

829 Commits

Author SHA1 Message Date
Chris Stewart
0030b9612f libsecp256k1 'verify' digital signature working, except in the case where we don't have a strictly encoded der signature 2017-02-17 12:06:06 -06:00
Chris Stewart
a2db6b5488 Adding junit test dependency, at test annotations for Secp256k1 test cases to sbt tests 2017-02-16 14:43:24 -06:00
Chris Stewart
84e290d099 Adding libsecp256k1 files from libsecp256k1 repo 2017-02-16 12:19:09 -06:00
Chris Stewart
3d8e35162b Merge pull request #45 from bitcoin-s/segwit
[WIP] Segwit implementation
2017-01-06 09:35:11 -06:00
Chris Stewart
360c8af123 Merge pull request #51 from TomMcCabe/segwit
nits for segwit
2017-01-05 19:23:04 -06:00
Tom McCabe
6baf414c0a reduce nullFailCheck, change serializeForSig doc from BIP141->BIP143, add scalaDoc braces to links throughout code 2017-01-05 13:37:33 -06:00
Chris Stewart
983d2ed946 Fixing last round of nits for segwit pull request 2017-01-04 20:23:24 -06:00
Chris Stewart
7acae410d3 Adding WitnessCommitment spec and adding witness commitment to scriptPubKey generators 2017-01-03 17:09:00 -06:00
Chris Stewart
a6d717e3ac Fixing most nits on first review of pull request, these fixes does not include a fix for hacky WitnessTransaction serialization 2017-01-03 16:44:46 -06:00
Chris Stewart
28614ac39e Refactoring TransactionSignatureCheckerResult names from 'Failure' -> 'Error' 2016-12-29 13:45:02 -06:00
Chris Stewart
9b8205bcf2 Renaming some TransactionSignatureCheckerResult types from 'ScriptValidationFailure' -> 'SignatureValidationFailure' 2016-12-29 12:13:11 -06:00
Chris Stewart
c5aabd39f7 Merge pull request #47 from Christewart/refactor_flag_checks_to_sig_checker
Refactor flag checks to sig checker
2016-12-29 11:17:52 -06:00
Chris Stewart
48d7b474b5 Modidfying 'toString' function on ScriptWitness 2016-12-28 12:28:31 -06:00
Chris Stewart
897719a854 was missing a couple pattern matches on the new scriptPubKey type, WitnessCommitment 2016-12-28 09:51:25 -06:00
Chris Stewart
a7a38881db Refacotring NULLFAIL logic into one place 2016-12-27 20:58:06 -06:00
Chris Stewart
72047ebb92 removed redundant signature checks in OP_CHECKSIG implementation 2016-12-27 16:06:13 -06:00
Thomas McCabe
66757cf65a Merge pull request #46 from Christewart/wtxid_and_commitment_structure
Wtxid and commitment structure
2016-12-26 16:38:14 -06:00
Chris Stewart
10bce4eb7f Adding commitmentHeader constant, adding TODO: inside of RawScriptSignatureParser about using .toInt with UInt64 2016-12-26 15:56:30 -06:00
Chris Stewart
5021934824 Adding constant to indicate minimum commitment size 2016-12-24 09:23:07 -06:00
Chris Stewart
7b2714d443 Adding 'WitnessCommitment' scriptPubKey type to represent the new scriptPubKey that commits to all wtxids in the coinbase tx 2016-12-23 15:41:59 -06:00
Chris Stewart
80d843e6a0 Successfully calculating the wtxid merkle root, and the commitment header inside of a coinbase output 2016-12-22 15:41:18 -06:00
Chris Stewart
95cd5df9a9 Implementing wtxid and txid inside of WitnessTransaction 2016-12-21 12:49:32 -06:00
Chris Stewart
2895899660 fixing merge conflicts for merging w/ master 2016-12-21 10:59:50 -06:00
Chris Stewart
250d64a3ae Merge pull request #44 from Christewart/segwit_sighash_tests
Segwit sighash tests
2016-12-20 20:38:12 -06:00
Chris Stewart
b2ff382a38 Merge branch 'segwit' into segwit_sighash_tests 2016-12-20 15:33:58 -06:00
Chris Stewart
713401fe2e Merge pull request #43 from Christewart/segwit_tx_tests
Segwit tx tests
2016-12-20 15:31:01 -06:00
Chris Stewart
f474197f34 Adding some log statements to TransactionSpec 2016-12-20 15:04:20 -06:00
Chris Stewart
6ebf3fab71 Fixing review comments 2016-12-20 14:37:05 -06:00
Chris Stewart
9012c9acc7 merging in segwit branch changes 2016-12-20 12:12:28 -06:00
Thomas McCabe
18a43fa028 Merge pull request #42 from Christewart/segwit
Segwit - script_tests.json passing
2016-12-20 11:53:20 -06:00
Chris Stewart
32b75c9010 Merge pull request #9 from TomMcCabe/segwit
[Minor] more clean up w/ whitespaces and docs
2016-12-20 07:40:45 -06:00
Tom McCabe
1f3bffe4fb more clean up w/ whitespaces and docs 2016-12-19 16:21:53 -06:00
Chris Stewart
4df100b635 Ushing hash type generator inside of signedCSVScriptSig, signedCLTVScriptSig 2016-12-19 11:43:49 -06:00
Chris Stewart
b11a024e0a Using hash type generator inside of signedP2PK, signedP2PKH, and signedMultiSig scriptSigs ScriptGenerators 2016-12-19 10:58:37 -06:00
Chris Stewart
465f42d5f5 All tx_invalid.json tests are passing 2016-12-19 09:02:28 -06:00
Chris Stewart
622c59e50e Implementing max push size of 520 bytes for a segwit script 2016-12-18 18:33:49 -06:00
Chris Stewart
9ae3d12c5b All tx_valid.json test cases passing 2016-12-17 13:51:56 -06:00
Chris Stewart
27d23b1ca9 Refactoring WitnessTransactionSignatureComponent to take in a 'Transaction' type instead of a 'WitnessTransaction' type -- this is needed for the case of trying to spend a witness scriptPubKey with a base transaction. This won't succeed, but should be possible to try and run through the interpreter 2016-12-16 15:21:18 -06:00
Chris Stewart
df18ddec51 Fixing bug inside of hasUnexpectedWitness wrt to BaseTransactionSignatureComponent having a witness tx with non segwit input with a unused witness 2016-12-16 09:46:10 -06:00
Chris Stewart
96a736bf4d Merge branch 'segwit' into segwit_tx_tests 2016-12-16 08:31:02 -06:00
Chris Stewart
8183d3764c Merge pull request #8 from TomMcCabe/segwit
[Minor] Revise/improve doc notes to reduce unnecessary white spaces and add references
2016-12-15 20:06:54 -06:00
Tom McCabe
6c54f53628 add program stack size check to OP_PICK and OP_ROLL 2016-12-15 19:04:37 -06:00
Chris Stewart
a16cb40836 Adding SigVersion parameter to serializeForSignature -- this is needed for witness txs with inputs using old scriptPubKey/scriptSig types 2016-12-15 18:01:22 -06:00
Tom McCabe
eb948328a5 missed some opCode require statements w/ multiple clauses 2016-12-15 17:56:34 -06:00
Chris Stewart
12caa94cd2 Fixing bug with how to handle UnassignedWitness versions when ScriptErrorDiscourageUpgradableNOPs flag is NOT set 2016-12-15 11:05:17 -06:00
Chris Stewart
ab54cdab67 Fixing bug in transaction serialization for SIGHASH_SINGLE|SIGHASH_ALL of segwit txs 2016-12-15 09:02:09 -06:00
Tom McCabe
c1ae07b5a1 change true/false match to if/else in SpliceInterpreter, combine multiple opCode require clauses into a single clause 2016-12-15 08:47:52 -06:00
Tom McCabe
c939fe3d3e throughout script directory: optimize doc notes, add references, remove unneccessary white spaces, refactor 'case true/false' pattern matching to 'if/else' statements 2016-12-14 19:31:58 -06:00
Chris Stewart
9a5864c3bf fixing bug in 'hasUnexpectedWitness' inside of ScriptInterpreter 2016-12-14 14:19:32 -06:00
Tom McCabe
8b1f4db05f Merge branch 'segwit' of https://github.com/Christewart/bitcoin-s-core into segwit 2016-12-14 13:25:56 -06:00