Chris Stewart
|
e075a239a4
|
Adding restrictions inside of ScriptPubKeyFactory for MultiSignaturePubKeys, now need to have atleast 2 ScriptNumberOperations
|
2016-03-25 14:22:23 -05:00 |
|
Chris Stewart
|
c891d220ac
|
Refactoring functionality inside of TranasctionSignatureChecker to reuse the same code for both p2sh multisig redeem scripts & regular multisig scripts. Also redoing how maxSigs is calculated for MultiSignatureScriptPubKeys
|
2016-03-25 13:48:03 -05:00 |
|
Chris Stewart
|
c495261f3a
|
Adding empty signature to ECDigitalSignature, adding unit tests for empty signature. Factoring DER signature encoding out of TransactionSignatureChecker
|
2016-03-25 12:03:47 -05:00 |
|
Chris Stewart
|
c141bbda7d
|
Putting band aid on bip66 example 6 right now using a Try type if public key verification fails inside of bitcoinj
|
2016-03-24 21:02:14 -05:00 |
|
Chris Stewart
|
b2332596e2
|
Fixing bug where isStrictDerEncoding was not working for the empty signature
|
2016-03-24 20:20:55 -05:00 |
|
Chris Stewart
|
4b7eb99836
|
Adding functionality inside of OP_CHECKSIG to see if the DERSIG flag is set
|
2016-03-24 19:35:16 -05:00 |
|
Chris Stewart
|
215cdddf20
|
Adding function to detect if a signature is strictly der encoded according to BIP66
|
2016-03-24 17:43:18 -05:00 |
|
Chris Stewart
|
7d8699e822
|
Adding ScriptVerifyFlag to indicate if CLTV is enforced or not
|
2016-03-24 11:23:19 -05:00 |
|
Chris Stewart
|
91feb92709
|
Creating ScriptFlagFactory to parse script flags and create them from strings
|
2016-03-23 15:25:57 -05:00 |
|
Chris Stewart
|
be8ae500c7
|
Adding ScriptVerify flags for script evaluation
|
2016-03-23 13:40:54 -05:00 |
|
Chris Stewart
|
07c2ed3669
|
Decoding (r,s) from DER signatures
|
2016-03-23 11:25:48 -05:00 |
|
Chris Stewart
|
72657b898f
|
Adding functionality to check if a signature isDEREncoded'
|
2016-03-22 20:05:45 -05:00 |
|
Chris Stewart
|
b9197a8613
|
Adding spongycastle as a dependency, cleaning up more usages of ScalacoinUtil
|
2016-03-22 08:15:16 -05:00 |
|
Chris Stewart
|
82d5713549
|
Fixing bug where single OP_0 was being classified as a MultiSignatureScriptSig
|
2016-03-21 15:41:15 -05:00 |
|
Chris Stewart
|
df085162a4
|
Switching to explicitly parsing redeemScripts now instead of parsing them while they are running through ScriptParser - this is how bitcoin core treats redeemScripts. This will make it easier for evaluating scriptSigs with redeemScripts in them
|
2016-03-21 14:02:04 -05:00 |
|
Chris Stewart
|
26ba8d956e
|
Slightly modifying line in script_valid.json to separate an OP_PUSHDATA op from the size of the data being pushed
|
2016-03-21 09:39:24 -05:00 |
|
Chris Stewart
|
55ae249f52
|
Adding new hash types to the available hashtypes inside of HashTypeFactory
|
2016-03-20 13:04:12 -05:00 |
|
Chris Stewart
|
e3f96968b2
|
Successfully building crediting tx and spending tx for bitcoin core tests inside of script_valid.json
|
2016-03-19 21:12:40 -05:00 |
|
Chris Stewart
|
cbac956ba7
|
adding requirement to buildSpendingTransaction to make sure it is the same as bitcoin core's buildSpendingTransaction
|
2016-03-19 15:12:32 -05:00 |
|
Chris Stewart
|
a9c52728f3
|
Adding code to mimic how transactions are built for script_valid.json inside of bitcoin core
|
2016-03-18 13:12:42 -05:00 |
|
Chris Stewart
|
86c7841cac
|
Fixing bug in how p2pk are evaluated in opCheckSig
|
2016-03-17 11:26:59 -05:00 |
|
Chris Stewart
|
f90b5d15d5
|
Fixing bug where p2pk scriptPubKeys were not being assigned the correct case class
|
2016-03-16 13:14:56 -05:00 |
|
Chris Stewart
|
f2f849f23b
|
Adding functionality to parse a p2pk scriptSig into the correct case class
|
2016-03-16 13:01:33 -05:00 |
|
Chris Stewart
|
82eac5ea15
|
Refactoring codebase back to use explicit ScriptPubKeyFactory & ScriptSignatureFactory - I think this will be better for long term maintainability
|
2016-03-16 09:46:34 -05:00 |
|
Chris Stewart
|
207674c6f9
|
Fixing bug in finding requiredSigs for MultiSignatureScriptPubKey - the number of sigs always follows the OP_0 that has to be placed in the scriptPubKey
|
2016-03-15 13:05:29 -05:00 |
|
Chris Stewart
|
c8ed1662d7
|
Addign case object to represent the empty script sig
|
2016-03-15 12:07:23 -05:00 |
|
Chris Stewart
|
0efe9d970b
|
Adding case inside of ECDigitalSignature for empty digital signatures - these are used inside of Bitcoin Core's script_valid.json test cases
|
2016-03-15 10:09:12 -05:00 |
|
Chris Stewart
|
00fde6fe56
|
Refactoring interface for script interpreter - now clients are responsible for building ScriptPrograms. Also adding another parameter for scriptSigs/scriptPubKeys to pass in the parsed asm representation along with the hexadecimal representation
|
2016-03-14 15:56:28 -05:00 |
|
Chris Stewart
|
4843ee5c5e
|
Adding a wrapper scriptSig/scriptPubKey from core test cases
|
2016-03-14 12:52:23 -05:00 |
|
Chris Stewart
|
26d827cde9
|
Merge pull request #2 from Christewart/checksig_implementation
Checksig implementation
|
2016-03-14 10:13:14 -05:00 |
|
Chris Stewart
|
a4a4b0bea4
|
Cleaning up some compiler warnings
|
2016-03-14 10:08:48 -05:00 |
|
Chris Stewart
|
2e9d362a83
|
Validating 2/3 p2sh scriptSig and making sure it fails to validate a 2/3 scriptSig that doesn't have enough sigs
|
2016-03-14 09:46:52 -05:00 |
|
Chris Stewart
|
aa25c4d199
|
Adding scaladocs for traits
|
2016-03-13 19:37:00 -05:00 |
|
Chris Stewart
|
df73627ae5
|
Removing ScriptSignatureFactory companion object - creating dependency inside of ScriptSignatureFactory to be injected with a ScriptSignature
|
2016-03-12 07:02:32 -06:00 |
|
Chris Stewart
|
57920765dc
|
Fixing compiler warnings about matching exhaustiveness inside of TransactionSignatureChecker - adding BitcoinSLogger trait for common logging across the implementation
|
2016-03-11 10:24:58 -06:00 |
|
Chris Stewart
|
588737eec8
|
Removing ScriptPubKeyFactory companion objecting - creating dependency of ScriptPubKeyFactory to be injected with a ScriptPubKey
|
2016-03-11 09:44:39 -06:00 |
|
Chris Stewart
|
23dfba3788
|
Adding case to handle p2pk scriptSignature type inside of TransactionSignatureChecker
|
2016-03-10 07:08:10 -06:00 |
|
Chris Stewart
|
db0355a453
|
Successfully verifying a 2 of 2 p2sh scriptSig against its scriptPubKey - next is validating m/n where m != n
|
2016-03-09 19:12:40 -06:00 |
|
Chris Stewart
|
c800777981
|
Fixing bug in SIGHASH_SINGLE implementation - now added a regression test in the translated bitcoinj hashForSignature & my home grown translated version to make sure the hashes are identical
|
2016-03-09 18:19:12 -06:00 |
|
Chris Stewart
|
22fa7af6dc
|
Changing type of redeemScript inside of P2SHScriptSignature from Seq[ScriptToken] to ScriptPubKey
|
2016-03-08 19:51:06 -06:00 |
|
Chris Stewart
|
629c65cd7b
|
Refactoring test cases from scriptPubkeys/scriptSigs into their own files
|
2016-03-08 09:53:24 -06:00 |
|
Chris Stewart
|
dbfb367fac
|
Successfully validating a multisignature script signature is spending a multi signature scriptPubKey correctly
|
2016-03-07 15:59:17 -06:00 |
|
Chris Stewart
|
f5063bc8c2
|
Implementing function to find public keys, required sigs, and maximum signatures inside a multisignature scriptPubKey output
|
2016-03-07 15:28:58 -06:00 |
|
Chris Stewart
|
002d1111f3
|
Creating product types for scriptPubKeys
|
2016-03-07 14:49:05 -06:00 |
|
Chris Stewart
|
30821f32bd
|
Creating product types for scriptSignatures
|
2016-03-07 14:04:36 -06:00 |
|
Chris Stewart
|
71a3a5d707
|
Fixing bug in ECFactory to change dumped private key's from bitcoin-cli into native Bitcoin-S ECPrivateKeys
|
2016-03-07 11:13:39 -06:00 |
|
Chris Stewart
|
bbedc9b5e3
|
Major refactor in scriptPubKey - the byte size of the scriptPubKey is now in the TransactionOutput NOT the scriptPubKey.
|
2016-03-06 19:59:23 -06:00 |
|
Chris Stewart
|
c5b3590dff
|
partially refactoring the ScriptPubKey parsing - now everything goes through ScriptPubKeyFactory - need to figure out how to handle the scriptPubKey size - does the bytes/hex need to contain the script size or not? Right now it does which has issues with compatability with bitcionj
|
2016-03-05 11:01:41 -06:00 |
|
Chris Stewart
|
ebc5ebe1cf
|
Explicitly parsing the redeem script to a list of script tokens inside of a scriptSignature - previously was just placed into a ScriptConstant
|
2016-03-04 11:24:52 -06:00 |
|
Chris Stewart
|
69d6cc58b1
|
Creating bitcoinj test util
|
2016-03-03 16:28:58 -06:00 |
|