Commit graph

4591 commits

Author SHA1 Message Date
Chris Stewart
ba3f5dcd13 Merge pull request #138 from Christewart/refactor_tx_builder_future
Refactor tx builder future
2018-04-11 11:03:47 -04:00
Chris Stewart
b691cd041e refactoring the execution context stuff in Signer, ECPrivateKey, ECPublicKey 2018-04-08 09:32:06 -05:00
Chris Stewart
ac323fb165 Refactor TxBuilder api to return a Future rather than a Either
removing superflous utxoMap in EscrowTimeoutHelper

Refactoring TxBuilder api to return a Future[Transaction] rather than a Either[Transaction, TxBuilderError

Removing TxBuilderSpec type aliases
2018-04-08 09:32:06 -05:00
Chris Stewart
24af345146 Merge pull request #143 from Christewart/ec_pubkey_compress_decompress
Ec pubkey compress decompress
2018-04-05 13:25:27 -04:00
Chris Stewart
4e7ff58b0c Adding funcitonality in ECPublicKey to return the decompressed version of the pubkey 2018-04-05 11:57:22 -05:00
Chris Stewart
583d2eb5ff Merge pull request #142 from Christewart/address_fromBase58
Adding  functions into all address types
2018-04-05 12:56:33 -04:00
Chris Stewart
5ee167e60d Merge pull request #141 from Christewart/interpreter_run_verify
Add runVerify, runAll, and runAllVerify helper methods in ScriptInter…
2018-04-05 11:59:42 -04:00
Chris Stewart
d4eea28d72 Adding functions into all address types
Adding fromString into Address object
2018-04-05 10:50:39 -05:00
Chris Stewart
9c93c58954 Add runVerify, runAll, and runAllVerify helper methods in ScriptInterpreter
Fixing bug in ScriptInterpreter.runAllVerify
2018-04-05 09:27:48 -05:00
Chris Stewart
743820cf8a Merge pull request #140 from Christewart/compressed_pubkey_segwit_bug
Fixing bug where we were enforcing ScriptErrorWitnessTypePubKey on no…
2018-04-03 20:29:38 -04:00
Chris Stewart
84aa8678e7 Fixing bug where we were enforcing ScriptErrorWitnessTypePubKey on non segwit public keys 2018-04-03 16:38:56 -05:00
Chris Stewart
8cd3f7b207 Merge pull request #137 from Christewart/add_Script_fromAsmBytes
Creating 'fromAsmBytes' and 'fromAsmHex' in ScriptFactory
2018-03-29 10:04:19 -04:00
Chris Stewart
69f7580ce9 Creating 'fromAsmBytes' and 'fromAsmHex' in ScriptFactory 2018-03-28 20:01:54 -05:00
Chris Stewart
4157b05465 Merge pull request #134 from Christewart/master
Reformatting with new scalariform version for sbt 0.13.17
2018-03-28 12:37:29 -04:00
Chris Stewart
f8a13fa3ab Reformatting with new scalariform version for sbt 0.13.17 2018-03-28 10:23:02 -05:00
Chris Stewart
45fe16ab5f Merge pull request #132 from mecampbellsoup/bump-sbt-version
Bump SBT version to 0.13.17
2018-03-28 07:44:24 -04:00
mecampbellsoup
8f23b963c9 Bump SBT version to 0.13.17 2018-03-27 14:03:56 -04:00
Chris Stewart
55bb4fceae Merge pull request #131 from Christewart/master
Add gitter tag
2018-03-27 13:47:12 -04:00
Chris Stewart
6400dfba50 Add gitter tag 2018-03-27 10:56:43 -05:00
Chris Stewart
9a2f626ff0 Merge pull request #128 from mecampbellsoup/reformat-with-scalariform-plugin
Reformatting using scalariform
2018-03-26 14:26:04 -04:00
mecampbellsoup
c6cac3eae9 Reformatting using scalariform 2018-03-26 12:27:23 -04:00
Chris Stewart
3d2a4a55a2 Merge pull request #130 from Christewart/spongcastle_to_bouncycastle
Spongcastle to bouncycastle
2018-03-25 09:35:55 -04:00
Chris Stewart
3f895d4673 Changing verison to snapshot 2018-03-24 17:44:00 -05:00
Chris Stewart
146d76658d Changing spongycastle crypto dependency to the bouncy castle crypto dependnecy 2018-03-24 17:44:00 -05:00
Chris Stewart
9a754b9ac1 Merge pull request #129 from Christewart/build_scala_to_build_sbt
Removing Build.scala file and moving things into build.sbt
2018-03-24 18:43:14 -04:00
Chris Stewart
37a6f366e8 Removing Build.scala file and moving things into build.sbt
Adding appName to project root
2018-03-24 12:40:02 -05:00
Chris Stewart
5bce950932 Merge pull request #126 from Christewart/rm_size_requirements_for_address
remove size requirements for address
2018-03-21 20:40:23 -04:00
Chris Stewart
2a2cf38a71 fixing bug in WIF parsing for multiple networks 2018-03-21 19:05:57 -05:00
Chris Stewart
bc648ebdc4 Merge pull request #123 from mecampbellsoup/submodule-secp256k1
Submodule secp256k1 instead of copying files
2018-03-21 19:12:00 -04:00
Chris Stewart
e6b64bcd47 remove size requirements for address 2018-03-21 15:12:14 -05:00
Chris Stewart
442f0d2ae5 Making address code more robust to match network bytes 2018-03-21 12:45:34 -05:00
mecampbellsoup
50a0980da5 Use parse branch of secp256k1 2018-03-21 13:39:19 -04:00
Chris Stewart
4ac5aa0d8c Refactoring network bytes to Seq[Byte] instead of just Byte 2018-03-21 11:59:49 -05:00
mecampbellsoup
3c6a476875 Submodule secp256k1 instead of copying files 2018-03-20 21:03:40 -04:00
Chris Stewart
92d0ee28e8 Merge pull request #120 from Christewart/pm47_secp256k1
Pm47 secp256k1
2018-03-20 17:46:31 -04:00
Chris Stewart
9ddbf087a7 integrating secp256k1's java api enhancements
Adding missing secp256k1 files
2018-03-19 13:02:07 -05:00
Chris Stewart
bd2271db63 Merge pull request #113 from Christewart/tx_builder
Tx builder
2018-03-13 11:48:46 -05:00
Chris Stewart
79f92a4802 Uncommenting tx_invalid.json test cases 2018-03-13 10:57:42 -05:00
Chris Stewart
b88acaab94 Adding fuzz test to coverage hard to reach branches on TxBuilder 2018-03-12 16:39:45 -05:00
Chris Stewart
5ab1a33aa2 removing old code, adding a few missing cases in TxBuilder 2018-03-12 13:04:53 -05:00
Chris Stewart
4fdd7b95ae Moving implementation down to 'BitcoinTxBuilder', this allows us to create other TxBuilders for different networks like bcash or litecoin 2018-03-10 17:12:50 -06:00
Chris Stewart
3507ca6557 adding TxBuilderError.{OutputBelowDustThreshold, UnknownError 2018-03-09 12:40:52 -06:00
Chris Stewart
5d02e70eda Adding TxBuilderError.{WrongWitness, WrongRedeemScript, WrongPublicKey} for the case where we have a pre-image that does not hash to the right commitment in the spk 2018-03-09 10:09:18 -06:00
Chris Stewart
9a36ef92f2 Fixing nits
another nit
2018-03-08 14:49:00 -06:00
Chris Stewart
85fc99b1d6 Refactoring TxBuilder to use FeeUnit 2018-03-08 12:30:52 -06:00
Chris Stewart
2f521b69c3 Adding TxBuilderError.IncompatibleLockTimes -- we can only spend locktime outputs of the same type in a single tx 2018-03-08 10:59:17 -06:00
Chris Stewart
6e0c3548b6 Adding isRBFEnabled param to TxBuilder.sign, adding TxBuilderError.HighFee & TxBuilderError.LowFee 2018-03-07 15:11:58 -06:00
Chris Stewart
8711e1794a Refactoring TxBuilder to use a 'Signer' abstraction, this means we do not need to have access to the private key in memory -- only a function of type 'Seq[Byte] => ECDigitalSignature'. This makes TxBuilder work with hardware wallets 2018-03-07 15:11:58 -06:00
Chris Stewart
bed82d5e65 Adding code to deduct network fee from creditingOutputs, adding sanityChecks 2018-03-07 15:11:58 -06:00
Chris Stewart
128bb8d890 Successfully signing nested CLTV/CSV spks inside of p2wsh/p2sh with tx builder 2018-03-07 15:11:58 -06:00