Commit Graph

91 Commits

Author SHA1 Message Date
Chris Stewart
355974b853 Adding ArithemeticInterpreter, implementing OP_ADD 2016-01-25 14:04:41 -06:00
Chris Stewart
d79c92cf59 fixing a bug wrt to empty byte vectors and OP_PUSHDATA ops 2016-01-25 12:30:14 -06:00
Chris Stewart
92bb70b8f8 implementation done for OP_PUSHDATA1, OP_PUSHDATA2, and OP_PUSHDATA4 2016-01-25 12:05:46 -06:00
Chris Stewart
ea517312ab Adding arithmetic operations to ScriptNumbers 2016-01-25 08:03:36 -06:00
Chris Stewart
bac228808a Adding ConstantInterpreter 2016-01-24 13:25:38 -06:00
Chris Stewart
10fdcbf849 Fixing issue with parsing test data from script_valid.json - now correctly interpreting all test cases from script_valid.json except last 2 2016-01-23 19:11:20 -06:00
Chris Stewart
a16f732981 Adding unused op codes for tests in bitcoin core's scrip_valid.json tests 2016-01-22 19:30:48 -06:00
Chris Stewart
8039a72dfc Adding reserved operations 2016-01-22 16:25:25 -06:00
Chris Stewart
60bb8e0e6b refactoring the parsing algorithm into functions that can be reused across data types 2016-01-22 13:23:12 -06:00
Chris Stewart
d12cc97e21 Adding Splice operations for bitcoin core test cases 2016-01-22 09:47:42 -06:00
Chris Stewart
e99d253f89 Adding disabled arithmetic operations for parsing the bitcoin core script tests 2016-01-21 20:49:40 -06:00
Chris Stewart
ce57fa5780 Parsing more core test cases, up to parsing test case with very scriptSignature 0x417a7a....a7a7a 2016-01-21 16:50:34 -06:00
Chris Stewart
eebb604cbb Adding ScalacoinUtil test case 2016-01-21 10:44:38 -06:00
Chris Stewart
55eab41044 fixing issue with matching hex and byte representations in ScriptOperationsFactory 2016-01-20 15:51:37 -06:00
Chris Stewart
d5eff75956 Successfully running the first grouping of tests from bicoin core - the ones to do with whitespaces 2016-01-19 20:20:24 -06:00
Chris Stewart
8a17165d03 fixing bugs relating to ScripBooleans and adding OP_0 to the ScriptNumberFactory, also succesfully passing the first test case from bitcoin core 2016-01-19 18:18:47 -06:00
Chris Stewart
fe149cc0d5 Adding ScriptTrue and ScriptFalse boolean objects for script 2016-01-19 11:00:17 -06:00
Chris Stewart
d0462820e5 Test framework for script tests from bitcoin core successfully setup 2016-01-19 09:15:28 -06:00
Chris Stewart
bb0f4e8821 Adding ScriptPubkeyFactory 2016-01-19 09:02:01 -06:00
Chris Stewart
c621ec9356 Adding ScriptSignatureFactory, working on parsing script json test cases from Bitcoin Core 2016-01-19 08:52:55 -06:00
Chris Stewart
b8ff3836f5 Adding script tests from bitcoin core 2016-01-18 21:18:22 -06:00
Chris Stewart
c2cec26675 Adding HashTypes and unit tests 2016-01-18 13:48:27 -06:00
Chris Stewart
2b642deb32 renaming fromOpCode to fromByte inside of ScriptOperationFactory 2016-01-18 12:46:30 -06:00
Chris Stewart
6f4687c50e Cleaning up the code base a bit, finished writing code to parse and write raw bitcoin transactions 2016-01-15 15:18:15 -06:00
Chris Stewart
40d15cd260 Successfully parsing raw bitcoin transactions, fixing a variety of bugs throughout the raw parsing api, and adding helpers inside of RawBitcoinSerializer 2016-01-15 14:45:01 -06:00
Chris Stewart
472e712daf fixing .toInt bug inside of TransactionInputParser 2016-01-14 14:18:35 -06:00
Chris Stewart
6afe7dcbac Fixing bug in outpoint parser, wasn't correctly parsing vout numbers 2016-01-14 10:56:41 -06:00
Chris Stewart
e8be4e413a merging in logging capabilites 2016-01-14 10:16:29 -06:00
Chris Stewart
7d5b413fd7 Adding logging capability 2016-01-14 10:14:51 -06:00
Chris Stewart
21cf91b5d0 Adding transaction input raw serializer, fixing bugs with ScriptSignature parser 2016-01-13 21:02:08 -06:00
Chris Stewart
bbff4ee676 Successfully serializing and deserializing a raw bitcoin output 2016-01-13 13:57:45 -06:00
Chris Stewart
eac24ded52 Adding AddressType 2016-01-13 09:27:09 -06:00
Chris Stewart
63a0b5cfaf Adding RawScriptSignature parser 2016-01-12 09:57:10 -06:00
Chris Stewart
bf0caf4371 Refactoring script parser into marshallers package 2016-01-11 15:32:03 -06:00
Chris Stewart
a6e7f24871 Adding byte serialization for TransactionOutpoints, starting to add RawTransactionOutput serialization 2016-01-11 15:19:28 -06:00
Chris Stewart
84982d8b95 Adding ability to serialize and unserialize raw outpoints 2016-01-11 14:39:51 -06:00
Chris Stewart
17770f6495 Adding more unit tests for parsing p2sh inputs and outputs from byte arrays 2016-01-11 09:56:27 -06:00
Chris Stewart
fdc502acba Successfully parsing a byte array into an asm output script 2016-01-09 18:20:50 -06:00
Chris Stewart
1242ad83f3 Adding constants 1-75 as ScriptNumbers - the represent the amount of bytes to push onto the stack 2016-01-09 16:05:40 -06:00
Chris Stewart
cb2bd86700 Adding fromOpCode to match byte with its op code 2016-01-09 12:58:20 -06:00
Chris Stewart
3f48efd664 Parsing scripts when they are marshalled from json 2016-01-09 11:10:29 -06:00
Chris Stewart
a55b7b64ce Parsing scriptSigs and scriptPubKeys for both p2sh and p2pkh 2016-01-08 15:02:12 -06:00
Chris Stewart
731648ece1 Major refactor of types for ScriptOperations, overarching type is now ScriptToken 2016-01-08 14:40:27 -06:00
Chris Stewart
b70bf70dd2 Adding companion objects for script operation factories 2016-01-08 10:44:27 -06:00
Chris Stewart
60ca80e0e8 Adding arithmetic operations factory 2016-01-08 10:22:38 -06:00
Chris Stewart
c018e24087 Adding Bitwise operations factory 2016-01-08 10:16:22 -06:00
Chris Stewart
928b87e7e1 Adding control operations factory 2016-01-08 10:12:32 -06:00
Chris Stewart
0130088a2d Adding crypto operations factory 2016-01-08 10:04:51 -06:00
Chris Stewart
6a824e6ff9 Adding locktime factory 2016-01-08 10:00:36 -06:00
Chris Stewart
e6e8f356a6 Adding StackOperationFactory 2016-01-08 09:56:20 -06:00