Commit graph

3090 commits

Author SHA1 Message Date
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
Chris Stewart
0a43d8a5aa Successfully checking the signature of a p2pkh output script 2016-03-03 15:47:47 -06:00
Chris Stewart
a20325713a Fixing serialization bug for p2pkh script types and adding rule for serializing multsignature script 2016-03-03 11:40:36 -06:00
Chris Stewart
ca81008edb Adding functionality to check if the type of a ScriptPubKey is a Multisignature script 2016-03-03 11:04:38 -06:00
Chris Stewart
b7436731b5 Adding unit tests to check address types in a scriptPubKey - also adding unit tests for TransactionSignatureSerialization of p2pkh outputs 2016-03-03 10:33:05 -06:00
Chris Stewart
2ad2bcd037 Adding utility function to serialize asm scripts to their byte/hex value - fixing bug in TransactionSerializer that caused issues with serializing/hashing txs for signing 2016-03-02 11:36:08 -06:00
Chris Stewart
69fd641b87 Adding some scaladocs for ECFactory - removing redudant factory functions 2016-03-01 09:16:31 -06:00
Chris Stewart
4b9a203786 Removing inheritance for ScriptPubKeyFactory from ScriptSignature - these are unique enough to not warrant inheritance 2016-02-29 15:44:37 -06:00
Chris Stewart
fa31877758 Doing basic digital signature signing & validation - uses bitcoinj as the underlying elliptic curve implementation 2016-02-29 12:47:30 -06:00
Chris Stewart
d74fdcfd8c Changing more instances of ScalacoinUtil to BitcoinSUtil 2016-02-28 19:55:18 -06:00
Chris Stewart
2d30310c69 Adding some more scaladocs, changing some references of ScalacoinUtil to BitcoinSUtil 2016-02-28 18:22:24 -06:00
Chris Stewart
cc95d6c514 Implementing hashing for combinations of hash types with SIGHASH_ANYONECANPAY 2016-02-27 12:10:26 -06:00
Chris Stewart
9787cfe772 Factoring out SIGHASH implementations inside of TransactionSignatureSerializer into their own functions 2016-02-27 11:52:50 -06:00
Chris Stewart
fdc4b9fb9f Adding SIGHASH types combined with SIGHASH_ANYONECANPAY 2016-02-27 10:42:58 -06:00
Chris Stewart
0d340d33b8 Removing BaseSignatureSerializer class - transaction now need to be passed explicitly to TransactionSignatureSerializer 2016-02-26 15:36:42 -06:00
Chris Stewart
14172a966c Adding Factory trait to overlay all of our factory traits 2016-02-26 14:33:49 -06:00
Chris Stewart
9ccc7be853 Adding factory method to build a ScriptSignature from a list of digtal signatures and a redeem script 2016-02-26 14:04:23 -06:00
Chris Stewart
f17ef4ee40 Implementing factory function to create a scriptSig for a pay to pubkey hash output 2016-02-26 13:17:02 -06:00
Chris Stewart
73cbf4db33 Adding BitcoinSUtil that mirrors ScalacoinUtil - ScalacoinUtil will be removed in the future 2016-02-26 12:34:58 -06:00
Chris Stewart
8ee5dcefc3 Serializing and hashing a signature for a tx when ONLY SIGHASH_ANYONECANPAY hash type is set 2016-02-26 11:08:08 -06:00
Chris Stewart
c60befd21d Adding some scaladocs for hashForSignature and serializeForSignature 2016-02-25 11:17:47 -06:00
Chris Stewart
a87907585e Serializing and hashing for transactions using SIGHASH_NONE hash type 2016-02-24 17:36:56 -06:00
Chris Stewart
e2cd93798d Serialzing and hashing transaction correctly for a SIGHASH_SINGLE transaction 2016-02-24 17:25:59 -06:00
Chris Stewart
a20521da06 Adding bitcoinj util to serialize a transaction for a signature hash - makes for easier testing of the different HashType's 2016-02-24 17:21:11 -06:00
Chris Stewart
7a94cb3976 Adding bitcoinj util to serialize a transaction for a signature hash - makes for easier testing of the different HashType's 2016-02-24 17:21:01 -06:00
Chris Stewart
a859d8342d Successfully hashing multisig transaction to sign - tested against bitcoinj 2016-02-23 20:55:59 -06:00
Chris Stewart
2b88e270db Fixing merge conflicts 2016-02-23 14:15:05 -06:00
Chris Stewart
094c09b191 Deriving scriptSigCompactUInt from the script signature inside of TransactionInput 2016-02-23 13:54:18 -06:00
Chris Stewart
8a39a55431 Renaming scriptSigVarInt & VarInt classes to CompactSizeUInt 2016-02-23 13:02:00 -06:00
Chris Stewart
07699d2e4c Fixing bug of parsing empty script sigs 2016-02-23 09:40:53 -06:00
Chris Stewart
5c85d57be2 Fixing bug with serializing single small VarInts 2016-02-22 20:18:52 -06:00
Chris Stewart
151c2220f5 Adding TranasctionInputFactory 2016-02-22 15:21:37 -06:00
Chris Stewart
dd19248eff Adding factories for OutPoints, modifying many other factories to add more functionality 2016-02-22 14:50:11 -06:00
Chris Stewart
1b5ee89929 Adding TransactionOutputFactory 2016-02-22 09:19:11 -06:00
Chris Stewart
4bc28b5d37 Adding some scaladocs for util functions 2016-02-21 21:31:15 -06:00
Chris Stewart
463988169e Adding functionality to TransactionFactory to update inputs and outputs 2016-02-21 17:05:48 -06:00
Chris Stewart
4702de636f Adding TransactionFactory 2016-02-21 16:24:09 -06:00
Chris Stewart
0f9a87f971 implementing first parts of serializing a transaction to be signed by an ECKey 2016-02-21 16:16:41 -06:00
Chris Stewart
a94fe6393f Optimizing findFirstDfs to a tail recursive function 2016-02-20 12:44:46 -06:00
Chris Stewart
ad7383bac5 Optimizing toSeq inside of BinaryTree to a tail recursive function 2016-02-20 12:03:43 -06:00
Chris Stewart
bf813287d4 Adding functionality to parse a VarInt from a scriptSig, adding TransactionInputFactory 2016-02-19 15:55:14 -06:00
Chris Stewart
50e6aa0d9d SIGHASH_ALL is now matched in HashTypeFactory due to bug in the bitcoin mainnet blockchain 2016-02-19 13:26:01 -06:00
Chris Stewart
9fe50e670d Applying stash 2016-02-19 12:21:56 -06:00
Chris Stewart
578e18f53d Merge branch 'script' into checksig_implementation 2016-02-19 12:18:12 -06:00
Chris Stewart
86588c9c46 Adding functions inside of RawTransactionInputParser & RawTransactionOutputParser to serialize a single input/output instead of Seq's of inputs/outputs 2016-02-19 12:15:23 -06:00
Chris Stewart
b4b47b6ecf Implementing serializeScriptCode inside of TransactionSignatureSerializer 2016-02-19 10:43:01 -06:00
Chris Stewart
db473a5473 Adding scaladocs to ScriptSignature functions 2016-02-18 10:02:22 -06:00
Chris Stewart
788ad2d8dd Merge branch 'script' into checksig_implementation 2016-02-18 08:56:25 -06:00