Commit graph

393 commits

Author SHA1 Message Date
Tom McCabe
fa1238a94f add .iml to gitignore 2016-04-28 15:58:12 -05:00
Tom McCabe
f73639d23f rename package to bitcoins 2016-04-28 15:54:09 -05:00
Tom McCabe
2efaf14f49 remove duplicates 2016-04-28 15:47:18 -05:00
Tom McCabe
f0f1fd1f78 merge script implementation with rpc-client 2016-04-28 15:43:55 -05:00
Tom McCabe
5299a8c584 remove dash from directory name 2016-04-28 09:59:18 -05:00
Tom McCabe
2ec0f323e8 tests for rpc client, moved rpc package from protocol to scalacoin parent package 2016-04-26 14:56:39 -05:00
Tom McCabe
1604a28b5c fix merge conflicts 2016-04-25 16:24:07 -05:00
Tom McCabe
93f5eee1b7 factories deprecated: bitwiseOp, controlOp, cryptoOp, reservedOp, spliceOp 2016-04-25 15:56:59 -05:00
Tom McCabe
19f552dd15 deprecate/improve some factories: arithmetic, scriptConstant, locktimeOperation, StackOperation 2016-04-25 15:21:48 -05:00
Chris Stewart
5de5573938 Refactoring return type of 'loop' inside of ScriptInterpreter 2016-04-25 14:08:34 -05:00
Tom McCabe
148675c546 deprecated BytesToPushOntoStackFactory 2016-04-25 14:02:38 -05:00
Chris Stewart
63716bf838 Removing 'ScriptFalse' & 'ScriptTrue' operations from bitcoin-s 2016-04-25 12:57:03 -05:00
Tom McCabe
1f95b6aa21 deprecated ScriptNumberFactory, fixed test cases 2016-04-25 12:38:50 -05:00
Chris Stewart
3f13879343 Fixing bug where digital signatures were not keeping their underlying byte representation 2016-04-25 10:39:34 -05:00
Chris Stewart
756d7740b3 Adding functionality to test pubkey encoding, fails the script with appropriate error if the pubkey is not encoded correctly 2016-04-25 09:56:03 -05:00
Chris Stewart
f5c7ed0345 Fixing some broken unit tests inside of CryptoInterpreterTest & ArithmeticInterpreterTest 2016-04-24 13:23:26 -05:00
Chris Stewart
915bade46d Fixing more MINIMALDATA bugs - now the failing script_invalid.json test cases are realted to pubkey encoding in OP_CHECKMULTISIG 2016-04-24 12:16:02 -05:00
Chris Stewart
9d264c2e62 Merge pull request #6 from TomMcCabe/rpc-merge
This pull request implements an RPC client for bitcoin. This gives us the functionality to make calls to a running instance of bitcoin-cli and marshal the returned string into a native Scala objects.
2016-04-23 21:12:29 -05:00
Chris Stewart
9c8458a45c Finishing implementation for MINIMALDATA - making sure that all scripts pass that should, and scripts that fail should fail with the MINIMALDATA flag 2016-04-23 20:21:34 -05:00
Tom McCabe
bf4a0915ae add .idea to .gitignore and rm uiDesigner.xml 2016-04-23 12:10:04 -05:00
Chris Stewart
84d9cf505f Enforcing p2sh scriptSigs can only contain push operations 2016-04-22 09:11:30 -05:00
Chris Stewart
f45823df76 Adding functionality to error if we have more than the maximum amount of public keys around or if we have more sigs than public keys in OP_CHECKMULTISIG 2016-04-22 08:08:38 -05:00
Chris Stewart
2c68f90236 Adding script op check for every script operation run during an OP_CHECKMULTISIG or OP_CHECKMULTISIGVERIFY op 2016-04-21 17:23:23 -05:00
Chris Stewart
ee39a2f815 Merge pull request #5 from Christewart/script_program_refactoring
Script program refactoring
2016-04-20 14:32:47 -05:00
Chris Stewart
5b3096b76a ScriptProgram is now working to where the script branch in script_valid.json 2016-04-20 14:24:35 -05:00
Chris Stewart
2c86075961 All script_valid.json scripts pass again after ScriptProgram refactoring 2016-04-20 14:03:48 -05:00
Chris Stewart
2c3a734376 fixing compilation errors in test cases for ScriptProgram 2016-04-20 11:15:22 -05:00
Chris Stewart
8a45232d22 Src files now compile on using ScriptProgram's new factory functions 2016-04-19 19:30:06 -05:00
Chris Stewart
87beb9ec8d Refactoring ArithmeticInterpreter, BitwiseInterpreter, ConstantInterpreter, ControlOperationsInterpreter, and CryptoInterpreter to set ScriptErrors 2016-04-19 10:27:54 -05:00
Chris Stewart
481173dd3a Refactoring SpliceInterpreter and LocktimeInterpreter to set script errors on the ScriptProgram 2016-04-19 10:05:45 -05:00
Chris Stewart
6286300c70 Fixing StackInterpreter to set script errors inside a script program now 2016-04-19 09:57:47 -05:00
Chris Stewart
8f11393f68 Refactoring ScriptProgram into sum types - PreExecutionScriptProgram, ExecutionInProgressScriptProggram and ExecutedScriptProgram to represent the three states of a script program 2016-04-19 09:19:25 -05:00
Chris Stewart
00f792c6e6 Adding ScriptError types and a ScriptError companion object to be a factory 2016-04-18 19:32:50 -05:00
Chris Stewart
3099051e78 Fixing merge conflict in CryptoInterpreter 2016-04-18 19:30:36 -05:00
Chris Stewart
fe9225ba97 Merge pull request #4 from TomMcCabe/factory_refactoring
Factory refactoring
2016-04-18 19:11:38 -05:00
Tom McCabe
2d621f9c83 refactored ScriptProgramFactory with ScriptProgram companion object 2016-04-18 18:23:35 -05:00
Tom McCabe
17e9061215 refactored TransactionOutputFactory with TransactionOutput companion object 2016-04-18 14:38:32 -05:00
Tom McCabe
455f980e38 refactored TransactionInputFactory with TransactionInput companion object 2016-04-18 14:29:49 -05:00
Tom McCabe
28c97a6772 refactored AddressFactory with Address companion object 2016-04-18 14:12:23 -05:00
Tom McCabe
e857ad2085 refactored TransactionFactory to use Transaction companion object 2016-04-18 13:43:04 -05:00
Tom McCabe
d8b6211334 refactored TransactionOutPointFactory to use TransactionOutPoint companion object 2016-04-18 13:43:04 -05:00
Tom McCabe
fdde131d29 refactored ScriptSignatureFactory to use ScriptSignature companion object 2016-04-18 13:43:02 -05:00
Tom McCabe
46617658b9 refactored ScriptPubKeyFactory to use ScriptPubKey companion object 2016-04-18 13:42:43 -05:00
Tom McCabe
79d8277e2c refactored ScriptPubKeyFactory to use ScriptPubKey companion object 2016-04-18 11:44:14 -05:00
Chris Stewart
3a9736aa21 Adding new TransactionSignatureInvalid type to represent when we don't have enough sigs to meet the required signature threshold - fixing bug in ECPublicKey 2016-04-18 08:48:02 -05:00
Chris Stewart
994c73062a Refactoring old requirements on stack sizes to log errors and return script programs that are marked invalid 2016-04-17 21:02:24 -05:00
Chris Stewart
a25ed9aaef Implementing functionality to mark script as invalid if we see a script op code that is not defined by the Script documentation 2016-04-17 19:57:17 -05:00
Chris Stewart
48b0e4ad80 Fixing bug in OP_TOALTSTACK implementation, adding restriction to allow a max of 10,000 byte script to be run through the interpreter 2016-04-17 19:14:44 -05:00
Chris Stewart
89010e0e6d Merge pull request #3 from Christewart/script_parsing_refactor
Script parsing refactor
2016-04-17 15:39:59 -05:00
Chris Stewart
2046146e0b Cleaning up the codebase 2016-04-17 15:04:47 -05:00