Commit Graph

1208 Commits

Author SHA1 Message Date
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
Chris Stewart
c855851ca6 Adding invariant to EscrowTimeoutHelper.closeWithTimeout to require that the escrowTimeoutSPK.timeout branch has a nested SPK of P2PKH 2017-06-15 11:25:11 -05:00
Chris Stewart
98bc0d01b0 Fixing nits, adding invariant to 'ClosedChannelWithTimeout' that requires the funds to be paid to the clientSPK 2017-06-14 19:46:19 -05:00
Chris Stewart
056b53c159 Adding 'closeWithTimeout' function to Channel, refactoring 'spendableCSVValues' in TransactionGenerator, refactoring LockTimeInterpreter 2017-06-13 20:10:38 -05:00
Chris Stewart
b9817d0a14 Add companion object helper for 'Address' 2017-06-12 10:48:46 -05:00
Chris Stewart
d6717dc8e2 Adding 'scriptPubKey' field to address so it easy to recreate the script the address represents 2017-06-12 09:57:08 -05:00
Chris Stewart
8af8cff73c Adding payment_channel invariants, now double check the fee and that the full amounts add up 2017-06-06 20:46:55 -05:00
Chris Stewart
f132c3b959 Merge pull request #78 from Christewart/payment_channels_sighash_refactor
Unidirectional Payment Channels
2017-06-04 16:24:26 -05:00
Chris Stewart
3ab85b47dc Fixing bug in ScriptSignature.fromScriptPubKey function wrt EscrowTimeoutSPK, refactoring BaseTxSigComponent -> TxSigComponent in Channels 2017-06-04 13:44:32 -05:00
Chris Stewart
94d9bed6a0 Refactoring 'PaymentChannel' -> 'Channel' for conciseness 2017-06-02 10:40:30 -05:00
Chris Stewart
c08d3fc70a Adding EscrowTimeScriptSignature to ScriptSignature.fromAsm -- we can now correctly type EscrowTimeoutScriptSignature from the only the asm 2017-05-31 09:17:53 -05:00
Chris Stewart
c457a957db Refactoring PaymentChannelInProgressClientSigned.serverSign 2017-05-29 11:28:02 -05:00
Chris Stewart
b5619c0e2c Fixing bug in EscrowTimeoutHelper.serverSign where we weren't puting the p2shScriptPubKey as the scriptPubKey we are spending in the TxSigComponent 2017-05-29 10:50:53 -05:00
Chris Stewart
488586914c Adding invariant stating the amount for the server output must be >= Policy.dustThreshold 2017-05-29 10:50:53 -05:00
Chris Stewart
4c304d6dfd Refactoring payment channels to not use witness transactions 2017-05-29 10:50:53 -05:00
Chris Stewart
214e433c97 Creating LockTimeScriptPubKey type to generecize different locktime types, refactoring EscrowTimeout to accept LockTimeScriptPubKeys instead of only CSVScriptPubKeys 2017-05-29 10:50:10 -05:00
Chris Stewart
e817293490 fixing bug to use 'nestedScriptPubKey' 2017-05-29 10:50:10 -05:00
Chris Stewart
cec4a76969 adding hashType parameter to 'serverSign' a payment channel 2017-05-29 10:50:10 -05:00
Chris Stewart
5bfedce8ba Fixing bug with creating witness txs with 0 required signatures spending a EscrowTimeoutScriptPubKey 2017-05-29 10:50:10 -05:00
Chris Stewart
44901cb482 Creating 'PaymentChannelInProgressClientSigned' to represent a payment channel when we have the clients signature, but not the servers. Added 'clientSign' and 'serverSign' functions to sign the new tx according to who needs to sign it 2017-05-29 10:50:10 -05:00
Chris Stewart
8fe60681d7 Adding invariants about payment channels, also adding helper functions to transfer a channel from AwaitingTx -> InProgress -> Closed 2017-05-29 10:50:10 -05:00
Chris Stewart
9762f95379 Adding spec to make sure we can spend from the 'AnchorTransaction' on a payment channel 2017-05-29 10:50:10 -05:00
Chris Stewart
eda7ae59f9 Adding generator for timeout branch of P2WSH(CsvEscrowTimeoutScript) 2017-05-29 10:50:10 -05:00
Chris Stewart
c2641afe31 Adding P2WSH(EscrowTimeoutScriptPubKey) tx generator, adding spec to check the digital signature 2017-05-29 10:50:09 -05:00
Chris Stewart
a338b0f09a Rebasing ontop of new master, adding property for spendableEscrowTimeoutTxs 2017-05-29 10:50:09 -05:00
Chris Stewart
1bf292852c Refactoring Transaction/Script Genertors to be easier to use 2017-05-29 10:50:09 -05:00
Chris Stewart
341451a094 Adding LockTimeScriptSignature type, refactoring generators to be more clean 2017-05-29 10:50:09 -05:00
Chris Stewart
13c8960a04 Creating LockTimeScriptPubKey type to generecize different locktime types, refactoring EscrowTimeout to accept LockTimeScriptPubKeys instead of only CSVScriptPubKeys 2017-05-29 10:50:09 -05:00
Chris Stewart
365c0a698b Adding property to make sure timeout works in CSVEscrowTimeoutScriptPubKey 2017-05-29 10:50:09 -05:00
Chris Stewart
948b0021fe Adding property to make sure multisig works in CSVEscrowTimeoutScriptPubKey 2017-05-29 10:50:09 -05:00
Chris Stewart
02e94ba1b6 Merge pull request #71 from Christewart/p2pkh_script_sig_bug_rd2
P2pkh script sig bug rd2
2017-05-29 10:48:30 -05:00
Chris Stewart
cab77ed835 Hopefully finally fixed the P2PKHScriptSignature bug 2017-05-29 10:18:14 -05:00
Chris Stewart
cfa5baec72 Adding new secp256k1 functionality 2017-05-29 10:18:14 -05:00
Chris Stewart
f089bff810 Merge pull request #69 from Christewart/secp256k1_api_enhancement
Adding new secp256k1 functionality
2017-05-29 10:16:32 -05:00
Chris Stewart
b3bcc1d99d Adding new secp256k1 functionality 2017-05-29 09:50:46 -05:00
Chris Stewart
8d99b4cc65 Merge pull request #76 from Christewart/use_scriptsig_from_scriptPubKey_for_p2sh_scriptsig
Using 'Try' return type when using ScriptSignature.fromScriptPubKey
2017-05-17 18:42:22 -05:00
Chris Stewart
25e5b108c6 Using 'Try' return type when using ScriptSignature.fromScriptPubKey 2017-05-17 18:16:22 -05:00
Chris Stewart
e5f9887db7 Merge pull request #75 from Christewart/add_bitcoin_currency_unit
Add bitcoin currency unit
2017-05-03 13:48:36 -05:00
Chris Stewart
7346bd467e Refactoring defintion of '==' in CurrencyUnit -- now convert to satoshis and then check the underlying Int64s 2017-05-03 10:34:54 -05:00
Chris Stewart
1bf3558cf5 Adding 'Bitconis' Currency unit type, adding unary '-' operator to negate the underlying values of CurrencyUnits / Int32s / Int64s 2017-05-02 12:01:44 -05:00
Chris Stewart
2ca4627ca7 Merge pull request #73 from Christewart/tweak_network_params
Adding 'name' and 'rpcPort' fields to NetworkParameters
2017-05-01 12:25:44 -05:00
Chris Stewart
ba496479ab Adding 'name' and 'rpcPort' fields to NetworkParameters 2017-05-01 12:19:48 -05:00
Chris Stewart
d551c553df Merge pull request #72 from Christewart/refactor_wtxsigcomponent
Refactoring WitnessTransactionSignatureComponent to contain a 'Witnes…
2017-04-17 12:07:32 -05:00