Commit graph

2665 commits

Author SHA1 Message Date
nkohen
fc4691d45a Fixed test vectors 2020-12-23 19:36:06 -06:00
Ben Carman
fcf60ecc4d Introduces Adaptor Signature based Discreet Log Contracts to Bitcoin-S
Fixed things after rebase

Fix adaptor dlc compile issue (#2188)

No more Maps in ContractInfo (#2215)

Co-authored-by: Ben Carman <benthecarman@live.com>

Remove Unneeded Escaped param for DLC Cli (#2213)

Fixed backward stack usage in dlc things (#2218)

Made test for DLCMessage Json serialization symmetry (#2225)

2020 10 31 Fix indeterminism with pairing dlc funding puts with funding transactions (#2227)

* WIP

* Fix indeterminism with matching DLCFundingInputDb with their funding transactions

* Remove unused imports

* Replace all other instances of .zip() in DLCWallet

Properly track DLC transactions in wallet (#2201)

* Properly track DLC transactions in wallet

* Small cleanups

DLCStatus Table in GUI (#2203)

* DLC Table View & Inspect DLC

* Move to new file, clean up asInstanceOfs

* Update DLCs on View

* Rebase fixes

Generalize dlc builders (#2206)

Co-authored-by: nkohen <nadavk25@gmail.com>
Co-authored-by: Ben Carman <benthecarman@live.com>

DLC Wallet & GUI touch ups (#2305)

* DLC Wallet & GUI touch ups

* Rename back to DLCStatus

* Only create dummy oracle on test networks

* Bring up Oracle TLVs

* Use announcement instead of oracle info

* Fix names, compile issue, assert we can safely delete sigs

* Fix TLV parsing for non-standard strings

* Fix RoutesSpec

Give raw tx, tx data, and link to broadcast for txs (#2340)

* Give raw tx, tx data, and link to broadcast for txs

* Change format

Add extra info and links for closing a DLC (#2362)

Fixed bug in DLCTxSigner.signCET where too many s values were being used (#2412)
2020-12-23 19:36:06 -06:00
Nadav Kohen
671eccc6d8 BIP 340 Update (#1998)
* Rebased all secp256k1 work on top of most recent BIP 340 (with even tie-breakers and new tags in hashes)

* Built windows binaries

* Added mac binaries
2020-12-23 18:17:37 -06:00
Ben Carman
ba43b6abe0 Use safeRewind for schnorr and adaptor sig functions (#1775) 2020-12-23 18:17:37 -06:00
nkohen
3021a5aa91 Added secp bindings for ECDSA Adaptor signatures and a bouncy castle implementation that is compatible
Added a bunch of requirements that nonces not be zero in ecdsa adaptor signature protocol

Built rebased binaries with ECDSA signWithEntropy and everything else

Removed padding from tagged hashes in ECDSA Adaptor sigs to match secp change
2020-12-23 18:17:37 -06:00
nkohen
d3d042defa Added secp256k1_schnorrsig_sign to JNI
Added secp256k1_schnorrsig_verify to the JNI

Added new schnorrSignWithNonce

Fixed schnorr signing and added a test making sure schnorrSign and schnorrSignWithNonce agree

Fixed binding, doesn't work yet

Added tests, they fail

Added BIP 340 test vectors

Implemented sigpoint computation using group operators. I believe the nonce is being incorrectly parsed half the time as it should not be treated as an xonly_pubkey

Added tests

Added Bouncy Castle implementation and further integration

Implemented bouncy castle fallback for all secp schnorr functions

Implemented FieldElement to abstract modular BigInt computations in the Secp256k1 field

Implemented sig in SchnorrDigitalSignature as a FieldElement

Vamped up testing

Added windows binaries

Added osx binaries

added windows binaries

Responded to review

Cleaned up secp commits

Responded to review

Replaced custom modInverse implementation in FieldElement with java.math.BigInteger.modInverse

Cleaned up a couple things for coverage purposes

Set bitcoin-s-schnorr to secp branch
2020-12-23 18:17:37 -06:00
Nadav Kohen
528b4e01ee
Outstanding DLC branch diff (#2432) 2020-12-23 18:13:57 -06:00
Ben Carman
c33f88eb05
Add old release notes (#2385) 2020-12-23 14:17:37 -06:00
Ben Carman
90e2a4b6f1
Account for rounding of fee rate in CPFP test (#2423) 2020-12-23 07:18:42 -06:00
Ben Carman
3f18ba18d7
Bitcoind Version from String (#2421) 2020-12-23 07:16:54 -06:00
Scala Steward
41b1c4a88d
Update bcprov-jdk15on to 1.68 (#2422) 2020-12-23 07:16:01 -06:00
Ben Carman
847981317a
Add getblockheader cli command (#2424) 2020-12-23 07:15:35 -06:00
Nadav Kohen
036d714563
Made TLV serialization and deserialization uniform under a succinct and expressive API (#2420) 2020-12-23 02:42:30 -06:00
Ben Carman
7409bae8f9
Remove need for params in RPC request (#2418) 2020-12-22 16:08:51 -06:00
Ben Carman
f135322c09
Bump Fee Cli commands (#2415)
* Bump Fee Cli commands

* Clarify fee rate, add to docs
2020-12-22 14:19:46 -06:00
Nadav Kohen
13c4b0d955
Added length prefixes to contract_info and cet_signatures TLVs (#2419) 2020-12-22 14:13:55 -06:00
Ben Carman
92ac986baa
Add extra checks for RBF transactions (#2416)
* Add extra checks for RBF transactions

* Move to util function, don't allow CPFP of confirmed txs
2020-12-22 14:12:15 -06:00
Chris Stewart
eaecc1c377
Implement rpcbind to allow for binding to a different interface (#2409) 2020-12-22 07:25:50 -06:00
Chris Stewart
de5041ee27
Fix server configuration for the app server (#2413) 2020-12-22 06:18:39 -06:00
Ben Carman
b5d6216150
Windows Secp Update & fix for parsing Windows paths (#2398)
* Windows Secp Update

* Add docs about errors

* Fix paths in config

* Bump timeout
2020-12-21 16:34:53 -06:00
Nadav Kohen
70d014f7b2
Fixed Low R signing (#2408)
* Fixed Low R signing and added a test

* Made separate test for comparing bitcoin-s and bitcoind

* Fixed PSBTUnitTest
2020-12-21 14:50:34 -06:00
Ben Carman
89222eb766
Add wallet function to bump fee with CPFP (#2399)
* Add wallet function to bump fee with CPFP

* Add bump fee integration tests
2020-12-21 07:04:01 -06:00
Ben Carman
a2b54eef30
Import Seed cli commands (#2376)
* Import Seed cli commands

* Respond to review
2020-12-21 06:53:20 -06:00
Chris Stewart
8ed30e72a8
2020 12 20 root dependson (#2404)
* Make bitcoin-s root project depend on all other modules

* remove unused import

* Remove crossScalaVersion in root project
2020-12-21 06:47:04 -06:00
Ben Carman
64a6b6bbc5
Add wallet function to bump fee with RBF (#2392)
* Add wallet function to bump fee

* Bump sequence number

* Respond to review

* Fix test
2020-12-20 07:43:18 -06:00
Scala Steward
bc6561465e
Update scala-collection-compat to 2.3.2 (#2401) 2020-12-20 07:36:19 -06:00
Ben Carman
905491fe0e
Fix getPeerInfo for v0.20 (#2402) 2020-12-20 07:19:35 -06:00
Chris Stewart
bb4a2667d1
2020 12 19 enable test compileropts (#2400)
* Fix bug where test compiler opts were not enabled

* Fix all exsting compiler warnings in test project

* Add scalaCollectionCompat dependency to bitcoindRpcTest so we can use @nowarn annotation on scala 2.12
2020-12-20 07:09:07 -06:00
Chris Stewart
719ccbe932
PoC: Attempt to enable parallel execution on CI now that we have github ac… (#2396)
* Attempt to enable parallel execution on CI now that we have github actions

* Try removing 'testWithDbSettings' to simplify build
2020-12-19 17:00:30 -06:00
Chris Stewart
0f037f3fb9
Remove autoScalaLibrary := false, this was not being used correctly and now is hindering builds on intellij (#2397) 2020-12-18 18:52:37 -06:00
Chris Stewart
719fab23b7
Remove CompatEither, it was needed for historical purposes to support… (#2394)
* Remove CompatEither, it was needed for historical purposes to support Scala 2.11.x

* Revert files from another change
2020-12-18 09:51:28 -06:00
Ben Carman
2db21fc3d2
Add get transaction cli command (#2370)
* Add get transaction cli command

* Fix return, add to docs
2020-12-18 07:18:13 -06:00
Scala Steward
0f56ab2113
Update scodec-bits to 1.1.23 (#2391) 2020-12-18 07:16:26 -06:00
Ben Carman
901fb2af17
Rescan Improvements (#2379)
* Rescan Improvements

* Make test use fetchFilters instead
2020-12-18 07:05:59 -06:00
Scala Steward
307ba23d0d
Update sbt-native-packager to 1.8.0 (#2382) 2020-12-17 17:47:53 -06:00
Scala Steward
a080fc6730
Update scalacheck to 1.15.2 (#2378) 2020-12-17 17:47:26 -06:00
Scala Steward
44d54ff5a5
Update sbt-mdoc to 2.2.14 (#2383) 2020-12-17 17:46:53 -06:00
Chris Stewart
ac374780c1
Ignore DLCPayoutCurveTest until issue 2369 is resolved (#2388) 2020-12-17 16:10:05 -06:00
Ben Carman
9aa4d0fcd1
Fail broadcasting transaction when disconnected (#2336)
* Fail broadcasting transaction when disconnected

* Wait until disconnected

* Move test

* Move to separate file

* Attempt fix

* Make test never have a peer

* Improve reliablity
2020-12-17 13:28:32 -06:00
Ben Carman
0e9449d9a1
Add ability to store ExtPrivateKey instead of Mnemonic (#2372)
* Add ability to store ExtPrivateKey instead of Mnemonic

* Use private vals, change name

* Fix docs

* private to km

* Correct scaladocs
2020-12-17 13:25:04 -06:00
Ben Carman
a08fc0c8a2
Fix BitGo fee provider parser (#2381) 2020-12-17 11:47:31 -06:00
Nadav Kohen
378c51991b
DLC Data Structures on Master Cleanup (#2375)
* Moved dlc data structures from commons to core

* Renamed DLC payout curve classes

* Split OutcomeValuePoint up into an ADT

* Added utility for computing Schnorr multiple-signature points

* Replaced tuples in RoundingIntervals with types

* Replaced tuples in DLCPayoutCurve with Indexed

* Fixed a compile bug
2020-12-17 09:09:57 -06:00
Ben Carman
18755df3d1
Multi Wallet support (#2345)
* Multi Wallet support

* Fix Oracle tests

* Fix some CI errors

* Increase KeyManagerAppConfig code coverage

* Add test for multiple seeds in seed folder

* Move things in reference.conf files

* Lower key manager coverage requirement

* Fix postgres test issues

* Create DbAppConfig

* Add some docs, fix hardcoded postgres db name

* Clarify db vs schema

* Add character types

* Fix chaindb in conf

* Always copy default seed

* Remove need for driverName config
2020-12-16 17:27:56 -06:00
Ben Carman
49871df0c3
Require CJDNS starts with 0xFC (#2356) 2020-12-15 14:18:52 -06:00
Ben Carman
e5225993c3
Change CI Status to use Github Actions badge (#2364) 2020-12-15 12:16:14 -06:00
Chris Stewart
a1862cb648
Bump sbt to 1.4.5 (#2358) 2020-12-15 07:42:34 -06:00
Ben Carman
c43e78adf3
Move CI into indiviual workflows (#2353) 2020-12-14 06:37:09 -06:00
Ben Carman
48cb939976
Don't allow fee unit gen to be 0 (#2346)
* Don't allow fee unit gen to be 0

* Fix other 0

* Fix always 0 fee unit gen
2020-12-12 07:34:26 -06:00
Nadav Kohen
49a281acaf
Pulled down work from adaptor-dlc onto master (#2339)
* Pulled down work from adaptor-dlc onto master

* Reverted some accidental deletions

* Removed unused import

* Added scaladocs

* Responded to Ben's review

* Added some scaladocs and invariants

* Responded to chris' review

* Responded to more review

* Added some comments
2020-12-11 17:32:35 -06:00
Chris Stewart
bd3584eb43
Mask BIP39 password in the BIP39KeyManager (#2350)
* Mask BIP39 password in the BIP39KeyManager

* Add toString test
2020-12-11 16:15:44 -06:00