Chris Stewart
|
966c8d1c83
|
Increasing more test coverage - 85% now
|
2016-03-31 18:59:36 -05:00 |
|
Chris Stewart
|
ae573b0658
|
Fixing bug in how OP_RETURN is evaluated by the ControlOperationsInterpreter
|
2016-03-31 11:28:23 -05:00 |
|
Chris Stewart
|
a71b62808f
|
fixing various bugs, increasing test coverage
|
2016-03-31 10:09:03 -05:00 |
|
Chris Stewart
|
d7f236d2db
|
Deleting some uneeded complexity inside of Transaction
|
2016-03-30 14:37:43 -05:00 |
|
Chris Stewart
|
3279e5c45f
|
Adding test cases to LockTimeInterpreter
|
2016-03-30 12:45:31 -05:00 |
|
Chris Stewart
|
716758cd64
|
Removing script types from ScriptPubKey's - this was redundant
|
2016-03-30 12:06:22 -05:00 |
|
Chris Stewart
|
816205e5f5
|
Removing the 'n' field from our TransactionOutput definition. This should not have been here - it is not in the bitcoin developer reference
|
2016-03-30 10:07:48 -05:00 |
|
Chris Stewart
|
6fa21f4d85
|
Refactoring factories for Transaction components to explicitly use their factories instead of implictly using them through Transaction companion objects
|
2016-03-30 09:52:27 -05:00 |
|
Chris Stewart
|
122f119f6c
|
All tests pass in script_valid.json as of this point - starting script_invalid.json
|
2016-03-30 08:51:12 -05:00 |
|
Chris Stewart
|
aa622b2009
|
Adding more error handling inside of decodeSignature to handle improperly encoded DER Signatures found in script_valid.json
|
2016-03-30 08:47:13 -05:00 |
|
Chris Stewart
|
2b5379ba14
|
Fixing a couple bugs with signature checking non standard txs, adding a object to hold our crypto params
|
2016-03-29 09:59:27 -05:00 |
|
Chris Stewart
|
4e63ce2079
|
Adding StackPushOperationFactory - this contains all of the push operations inside of the Script language
|
2016-03-28 20:12:30 -05:00 |
|
Chris Stewart
|
ff0b117c0e
|
Adding code to implement the script flag NULLDUMMy, changing how mulsignature script sigs are assigned in the factory. Now it can be ANY script number operation. When the script is evaluated it checks the NULLDUMMY flag and if the scriptsig starts with an OP_0
|
2016-03-28 09:22:52 -05:00 |
|
Chris Stewart
|
2a1f8742ce
|
Changing SIGHASH_ALL to be a case class so it can hold the byte of whatever the last byte in a signature is. This is needed because if the last byte does not match any other hash types it is classified as a SIGHASH_ALL
|
2016-03-27 12:05:41 -05:00 |
|
Chris Stewart
|
89b9c7f29f
|
Factoring out TransactionSignatureCheckerResult into it's own file
|
2016-03-27 10:48:42 -05:00 |
|
Chris Stewart
|
0af48b52f6
|
Changing hash type factory to default to SIGHASH_ALL if the input does not match any other SIGHASH types
|
2016-03-27 10:35:45 -05:00 |
|
Chris Stewart
|
2b1395ce1d
|
Adding three result types for transaction signature checker - can succeeed, can fail because of der encoding, and can fail because of incorrect signatures. This takes care of issues of BIP66 examples
|
2016-03-26 15:01:18 -05:00 |
|
Chris Stewart
|
46eb3eb7ea
|
Fixing bug of finding hash type of the empty digital signature
|
2016-03-26 14:34:02 -05:00 |
|
Chris Stewart
|
932705595b
|
Fixing more bugs with calculating maxSigs & requiredSigs inside of multisignatureScriptPubKey
|
2016-03-25 17:58:19 -05:00 |
|
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 |
|