Commit graph

950 commits

Author SHA1 Message Date
Chris Stewart
7df05b882d updating README.md
Fixing typos
2017-12-05 13:26:20 -06:00
Chris Stewart
64427b3a35 Merge pull request #98 from Christewart/bip32
Bip32 Hierarchial Deterministic Keys
2017-11-29 15:45:14 -06:00
Chris Stewart
4e0766538c Implmenetation of ExtPrivateKey, passing BIP32 test vectors
ExtKey serialization symmetry spec passing

Derivation symmetry for non hardened indices

implement ExtKey.deriveChildPubKey

implementing invariants as they are specified in bip32, adding comments

Moving all ECKeys types into one file so we can create an ADT
2017-11-29 15:01:30 -06:00
Chris Stewart
11f46fc248 Merge pull request #99 from Christewart/refactor_number_types
Moving all numeric operations into org.bitcoins.core.number.Number
2017-11-28 14:21:52 -06:00
Chris Stewart
7d666f934a Moving all numeric operations into org.bitcoins.core.number.Number
Hiding underlying implementation types from code that is not inside the same package

Fixing shift right bug, remove redundant code, changing trait -> abstract class

Changing currency types from trait -> abstract class
2017-11-28 13:50:21 -06:00
Chris Stewart
a1e8f5f16a Merge pull request #97 from Christewart/uint32_bug
Making it easier to calculate an unsigned number from a sequece of bytes
2017-11-25 15:37:53 -06:00
Chris Stewart
32798f58fa Making it easier to calculate an unsigned number from a sequece of bytes
removing NumberUtil.calculateUnsignedNumberFromByte

Making numeric types abstract classes, creating 'toLong' on numeric classes

Adding invariants to Int32, Int64
2017-11-19 18:14:28 -06:00
Chris Stewart
585386a033 Merge pull request #95 from Christewart/bech32
Bech32 implementation (BIP173)
2017-11-12 13:17:07 -06:00
Chris Stewart
49b0b1387b Adding property for NumberUtil.convertBits 2017-11-12 12:55:38 -06:00
Chris Stewart
d88c4f22a8 Adding invariant to bech32 address, lower log level 2017-11-09 11:41:49 -06:00
Chris Stewart
69ec84325e Fixing bug where we were only testing witV0 for serialization symmetry in Bech32Spec 2017-11-07 12:33:56 -06:00
Chris Stewart
dba3997b3e Removing useless code, making checkHrpValidity cleaner 2017-11-04 14:05:13 -05:00
Chris Stewart
c7f5bf6017 Adding bip173 test vectors 2017-10-31 17:28:19 -05:00
Chris Stewart
2255115a3b Adding properties for bitwise operations in UInt8,UInt32 2017-10-30 10:20:18 -05:00
Chris Stewart
94c42d814f Adding support to serialize all witSPKs to bech32 addresses 2017-10-30 09:24:04 -05:00
Chris Stewart
e3311b6694 Adding properties to make sure address from string fails if we have mixed case or we replace a random char in the string 2017-10-27 12:47:51 -05:00
Chris Stewart
661b25acbb Adding Bec32Spec, redesigning Address interface 2017-10-26 15:49:03 -05:00
Chris Stewart
ce5ae1a69a Correctly decoding bech32 address to spks 2017-10-26 14:28:54 -05:00
Chris Stewart
4643d46256 Encoding rest of spk -> bech32 examples in BIP173 2017-10-26 08:59:33 -05:00
Chris Stewart
886461d9d7 Successfully encoding and decoding a p2wpkh -> bech32 address in BIP173 2017-10-25 15:58:43 -05:00
Chris Stewart
bee2ad2303 Merge pull request #93 from Christewart/fix_control_flow_bug
Fix control flow bug
2017-09-25 15:58:45 -05:00
Chris Stewart
063632fb9c Refactoring ScriptInterpreter to have 'has a' relationship with sub interpreters instead of inheriting directly from the various interpreters 2017-09-25 13:28:50 -05:00
Chris Stewart
bc9280af1e Implementing OP_NOTIF by inverting the stack top and calling OP_IF afterwards 2017-09-25 11:24:55 -05:00
Chris Stewart
e035a63173 Renaming helper functions, changing logging level 2017-09-22 13:25:12 -05:00
Chris Stewart
c7a0cded92 All tests passing in ControlOperationsInterpreterTest 2017-09-22 12:59:26 -05:00
Chris Stewart
59186e08d5 Adding rule for OP_ENDIFs to 'insertSubTree' so we can correctly parse partial scripts with OP_ENDIFs when their corresponding IF/NOTIF has already been evaluated 2017-09-22 12:45:47 -05:00
Chris Stewart
5901cfe25e Fixing bug in removeFirstOpElse() 2017-09-22 11:35:29 -05:00
Chris Stewart
5caffdc1db Parsing most examples in ControlOperationsInterpreterTest with new control flow in 'parseBinaryTree' 2017-09-21 19:17:51 -05:00
Chris Stewart
63dba1abc8 Reworking control flow into 'parseBinaryTree' instead of doing it inside of the OP_IF case in 'loop' 2017-09-21 14:09:05 -05:00
Chris Stewart
28e455519d refactoring OP_ELSE to be more simple. Now just parses all of the given tokens inserts into the right sub branch 2017-09-20 14:53:11 -05:00
Chris Stewart
bc5e6d8dbc Fixing bug where we weren't accounting for off by 1 index when parsing an even amount of ENDIFs in OP_ELSE 2017-09-18 13:11:11 -05:00
Chris Stewart
4cfcd63257 Refactoring code to insert OP_ENDIF on the opIf recursion instead of doing it after the recursion is complete 2017-09-18 11:29:25 -05:00
Chris Stewart
aa3bfdf61b Refactoring OP_IF parsing code, now it is cleaner 2017-09-14 10:38:34 -05:00
Chris Stewart
5058abac74 Able to parse a List[ScriptToken] -> binary tree -> List[ScriptToken] for one set of test cases inside of ControlOperationsInterpreterTet -- this includes nested OP_IFs 2017-09-07 15:41:01 -05:00
Chris Stewart
78683ed956 Merge pull request #91 from Christewart/refactor_fromBytes_to_ScriptFactory
refactor 'fromBytes' into ScriptFactory for SPK/ScriptSig
2017-08-23 11:55:06 -05:00
Chris Stewart
9ddaa88434 refactor 'fromBytes' into ScriptFactory for SPK/ScriptSig 2017-08-23 11:38:37 -05:00
Chris Stewart
fc1c75ece9 Merge pull request #90 from Christewart/refactor_logger
Refactoring codebase from using BitcoinSLogger as a mixin trait -- re…
2017-08-23 08:45:17 -05:00
Chris Stewart
090d848ebc Refactoring codebase from using BitcoinSLogger as a mixin trait -- refactoring BitcoinSLogger as abstract class 2017-08-22 21:09:08 -05:00
Chris Stewart
60be687211 Merge pull request #89 from Christewart/upgrade_sbt_assembly
Updating sbt assembly plugin to 0.14.5
2017-08-21 15:23:38 -05:00
Chris Stewart
905b3a53ae Updating sbt assembly plugin to 0.14.5
removing discard strategy for library.properties
2017-08-21 15:09:57 -05:00
Chris Stewart
4a128e4d0d Merge pull request #88 from Christewart/fix_channels_amount_bug
Fixing channels amount bug where we weren't able to close chan with e…
2017-08-19 09:02:41 -05:00
Chris Stewart
40f1ac0414 Fixing channels amount bug where we weren't able to close chan with escrow, removing some logging 2017-08-17 14:00:17 -05:00
Chris Stewart
3f6ac709d6 Merge pull request #87 from Christewart/update_channel_code_with_segwit
Update channel code with segwit
2017-08-11 15:52:15 -05:00
Chris Stewart
da94fb95ea Fixing nits 2017-08-11 11:27:12 -05:00
Chris Stewart
beafa86372 refactoring Channel code to use WitnessTransactions instead of BaseTransactions 2017-08-10 13:13:34 -05:00
Chris Stewart
e4a81f0a2f Merge pull request #84 from Christewart/update_readme
Update README.md
2017-07-20 14:58:54 -05:00
Chris Stewart
7f66ff5ca3 Update README.md
Fixing typo, adding fat jar build instructions

Re adding EnvironmentPaths.md
2017-07-20 14:10:35 -05:00
Chris Stewart
42aa9c7489 Merge pull request #82 from Christewart/master
Creating 'BaseInProgress'
2017-06-23 16:13:41 -05:00
Chris Stewart
4e60ecd4ec Fixing bug in EscrowTimeoutHelper.closeWithTimeout where we weren't wrapping the escrowTimeSPK in a P2SHSPK in the TxSigComponent that is returned 2017-06-16 23:36:07 -05:00
Chris Stewart
0bf30dab89 Merge pull request #81 from Christewart/channel_close_with_timeout
Channel close with timeout
2017-06-15 12:46:40 -05:00