Commit Graph

1029 Commits

Author SHA1 Message Date
Chris Stewart
44b9129584 Adding TransactionSignatureCreator.createSig that takes a sign function that returns Future[ECDigitalSignature] 2018-03-05 18:51:46 -06:00
Chris Stewart
71cf537475 Removing public key parameter in TransactionSignatureCreator.createSig 2018-03-05 14:11:14 -06:00
Chris Stewart
156dfb5d9d Adding TransactionSignatureCreator.createSig API that allows for passing in a 'sign' function that is an abstraction of the signing process, useful for hardware wallets 2018-03-05 12:23:21 -06:00
Chris Stewart
65f0f9419c Merge pull request #116 from Christewart/txsigcomponent_refactor
renaming TxSigComponent companion object to 'BaseTxSigComponent'
2018-03-04 11:41:36 -06:00
Chris Stewart
879c5fb8b9 renaming TxSigComponent companion object to 'BaseTxSigComponent' 2018-03-04 10:52:27 -06:00
Chris Stewart
006be15e33 Merge pull request #115 from Christewart/no_r_reusage
Adding invariant that says our signature scheme should NOT reuse r values
2018-03-02 12:08:44 -06:00
Chris Stewart
3636a5c47b Adding invariant that says our signature scheme should reuse r values 2018-03-02 09:07:42 -06:00
Chris Stewart
832909ea9d Merge pull request #114 from Christewart/segwit_other_consensus_changes
Segwit other consensus changes
2018-02-28 10:20:11 -06:00
Chris Stewart
5a5d81b17b implementing new sigops limit & block weight function for BIP141
Refactoring block weight calculating to Block trait

Moving 'weight' calculation into Transaction abstract class

Adding a few more comments, renaming virtualTxSize -> vsize
2018-02-28 09:51:54 -06:00
Chris Stewart
700fe2c568 Merge pull request #112 from Christewart/witspk_separation
Witspk separation
2018-02-18 17:07:31 -06:00
Chris Stewart
ca167cdeaf Breaking 'ScriptWitness' into two ADTs 'P2WPKHWitnessV0,P2WSHWitnessV0' and breaking 'WitnessScriptPubKeyV0' into two ADTs 'P2WPKHWitnessSPKV0, P2WSHWitnessSPKV0'
Adding abilility to create TransactionWitness from a Seq[Option[ScriptWitness]], adding checks to determine if a ScriptWitness is a P2WPKHWitnessV0 or a P2WSHWitnessV0

Deprecating some Transaction constructors that are dangerous

removing usages of deprecated Transaction constructors in bitcoin-s-core codebase

fixing nits
2018-02-18 16:19:28 -06:00
Chris Stewart
368826ccbf Merge pull request #110 from Christewart/address_refactor
Address refactor
2018-02-08 07:03:21 -06:00
Chris Stewart
041c67fbd9 Refactoring NetworkParameters/ChainParams and BitcoinAddress code to be more flexible
fixing nits, changing traits to abstract classes
2018-02-07 14:03:44 -06:00
Chris Stewart
7c7f4e5cc9 Merge pull request #109 from Christewart/master
Update README.md
2018-01-31 15:41:47 -06:00
Chris Stewart
f465b79590 Update README.md 2018-01-31 15:17:58 -06:00
Chris Stewart
2df52bf4cc Merge pull request #108 from Christewart/features_for_rpc_client
Add 'toBigDecimal' method to CurrencyUnit api
2018-01-24 10:59:41 -06:00
Chris Stewart
9f9751e102 Add 'toBigDecimal' method to CurrencyUnit api
removing no tests in assembly
2018-01-23 15:03:39 -06:00
Chris Stewart
ad686d4e97 Merge pull request #107 from Christewart/file_name_to_long_bug
fix file name to long on encrypted directories
2018-01-22 10:44:46 -06:00
Chris Stewart
bedfacffb5 fix file name to long on encrypted directories 2018-01-22 10:15:12 -06:00
Chris Stewart
8e89bd270b Merge pull request #106 from Christewart/master
updating license
2018-01-18 11:03:12 -06:00
Chris Stewart
8f9ca8ac45 updating license
Add word developers
2018-01-17 17:15:18 -06:00
Chris Stewart
edfbd96818 Merge pull request #105 from Christewart/update_script_tests
updating script_tests.json, tx_{in}valid.json, fixing bug with SINGLE…
2018-01-04 12:37:46 -06:00
Chris Stewart
fd528462cc Uncommenting tx_valid.json file 2018-01-03 14:27:46 -06:00
Chris Stewart
7b855873be updating script_tests.json, tx_{in}valid.json, fixing bug with SINGLE|ANYONECANPAY 2018-01-03 14:24:43 -06:00
Chris Stewart
334986faf8 Merge pull request #101 from Christewart/fix_input_output_serialization
Make serialization code better
2017-12-18 14:21:23 -06:00
Chris Stewart
9b57ad4ab9 Re-working serialization code
Cleaning up some nits, removing some superflous flipEndianness calls

rebasing on top of master, modifying BloomFilter/MerkleBlock to support new serialization code

Changing NetworkElement to abstract class, sealing a few abstract classes, adding NetworkElement to CompactSizeUInt

Fixing last nits
2017-12-18 14:00:40 -06:00
Chris Stewart
510e53c908 Merge pull request #66 from Christewart/add_merkle_block
Add merkle block
2017-12-08 18:17:09 -06:00
Chris Stewart
a5260b2e93 Transfering all bloom filter and merkle block files from spv-node to core
Fixing bug in how we extract matches on PartialMerkleTrees -- we can have two sub nodes have the same match IF we are at maxHeight

Fixing bug in test case where hashes weren't getting correct type

Modifying generators to be more flexible

Fixing bug in generator for merkle blocks with specific txs

Adding more flexibility to block header generators

Modifying merkle block generator to only include txs that are specfied

Fixing bug

Removing a bunch of logs, refactoring merkle block properties

rebasing on master, fixing some nits
2017-12-08 12:21:40 -06:00
Chris Stewart
6ac1eef5b5 Merge pull request #100 from Christewart/update_readme
updating README.md
2017-12-05 14:21:48 -06:00
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