* An initial (not yet working) implementation with test
* Added custom (non-bip-340) verification for now
* Made KeySet a case class
* Got MuSig2 working with BIP340 verification passing
* Responds to Ben's review
* Fixed hash tags and added parital signature verification
* Added point multiplication that allows infinity and did some refactoring
* Refactored type defs into case classes
* Added tests for more signers and fixed single-party bug
* Added key aggregation test vectors from BIP
* Added nonce generation test vectors from BIP
* Added nonce aggregation test vectors from BIP
* Made nonce aggregation test vectors pass by having MultiNoncePub wrap SecpPoints
* Added remaining static test vectors from BIP
* Implements tweaking support and adds tests, including all of the remaining BIP tests
* Added factory objects for nonce types
* Refactored things into multiple files with renaming and restructuring
* Some minor renaming
* Introduced ParityMultiplier ADT to remove unneccesary computations
* Added scaladocs
* Added messages to invariants
* Fixed a typo
* Nonce generation now takes a SchnorrPublicKey instead of raw bytes
* Made point multiplication more robust
* Responded to Ben nits
* Added musig.md
* Updated the instructions for installing the Suredbits wallet app
* Changed npm make to npm run make in instructions
* removed npm run make from the instructions as it is already run in the bash file
* add support to find and switch peers
* fix compile on 2.12
* allow empty config peers in regtest
* fix test
* minor fixes
changes timeouts, fix issue with ipv6 dns seeds, initDisconnect when disconnected bug, dbPeers order fix
* fix: not removing peers on initialization timeout
* fix: query again when previous failed
* fix: wrong condition for deferred peers
* restore log levels
* clean up
* add PeerStack to allow trying peers based on priority values
* fix migrations
* changes from comments
* use StartStopAsync
* changes from comments
* fix switch if peer down test
* changes from comments
* DLC <-> contact mapping
* updated docs
* populate dlc/contact mapping automatically
* typo
* respond to the PR comments
* rename `contact` to `peer`
* fix unit tests
* create a contact when an incoming offers gets created
* drop dlc_contact_mapping table
* fix build
* update the docs
* Revert "update the docs"
This reverts commit 2386adadcd.
* revert dlc-contact-* endpoints
t Please enter the commit message for your changes. Lines starting
* HashType now uses Int instead of Int32
* Moved HashType from core to crypto
* Added HashType helper functions to ECDigitalSignature
* Added tests
* Fixed compile
* Added createDLCOffer endpoint which doesn't take a locktime and uses current block height instead
* Made cetLocktime an option instead of an argument to the CLI, updated docs
* fix compile
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Contact list
* fix unit tests
* Add contact rpc tests
* Add documentation
* Refactor ConsoleCli into app-commons
* Add commands to bitcoin-s-cli
* Fix timeout for rescan
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* DLCMessage.totalCollateral -> DLCMessage.collateral
* Fix bad names of {DLCOfferTLV,DLCAcceptTLV}.totalCollateralSatoshis, its not the total collateral, rather the collateral being contributed by the offerer and acceptor
* Fix rebase
* Fix appServerTest
* Fix docs
* Rename existing getaddresslabels -> getaddresslabel
* Fix missing rename of GetAddressLabel
* Modify pk constraint on wallet_address_tags to be tag_name rather than tag_type
* Add dropaddresslabel for a specific address
* Fix migrations
* Add unit tests and fix existing tests
* Add docs
* Get things compiling and tests passing
* Fix bug where we weren't using filter height correctly
* Fix docs
* Move creationTime into KeyManagerAppConfig
* Fix nodeTest/test test fixtures
* Make example configuration better so that the node starts up if you just copy and paste the example configuration into your bitcoin-s.conf file
* More clarificatoin
* Remove download binary scripts from CI, try to make binary downloads contingent on tests being run in a project
* Cleanup docs to remove unecessary downloadBitcoind
* RPC password authentication
* fix compiler error
* add more unit tests
* change default behavior
* Cleanup and add unit test for sad path for rpc authentication
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Add port 19999 to bitcoin-s-server exposed ports, Add port 19999 to documentation
* Get docker containers working correctly with websockets
Co-authored-by: Ivan <erickson.ivan@gmail.com>
* Add invariant to CETSignaturesTLV so we don't have empty adaptor sigs
* Add invariant to make sure FundingSignaturesTLV witnesses are not empty
* Add invariant that contractOraclePairs aren't empty
* Add fundingInputs and ordered announcement invariants
* fix docs
* Move invaraints from TLVs to in memory data structures
* WIP
* WIP2
* Modify return type of DLCDataManagement.executorAndSetupFromDb() to return an Option. The None case represents when we have pruned CET signatures from the database
* Add some comments, clean up a bit
* more cleanup
* Implemented general payout curves including hyperbola curve piece support
WIP
Get GUI compiling
* WIP
* Get backward compatible serialization working, everything is equivalent except for in memory Scala data structures
* Get numeric contracts backward compatible
* Get rest of codebase compiling
* Add test case for old contract info
* Add sanity test vector for old enum contract descriptors
* Fix docs
* Remove comment
* Scalafmt
* Add DLCSerializationVersion, replace isOldSerialization
* Remove ValueIterator.takeNoSkip()
* Fix docs
Co-authored-by: nkohen <nadavk25@gmail.com>
* WIP
* Get basic websocket working (sort of)
* Push websocket fixes
* WIP: Implementing SpendingInfoDb json serializer
* Implement onreserved callbacks, add json serializers for SpendingInfoDb
* Get first unit test working for websockets when a address is generated
* Rework WalletNotification to have case classes, get unit test working for receiving addresses over the websocket
* WIP
* Add websocket callback for when a wallet processes a block
* Cleanup
* basic updates to unit test
* Fix compile
* Fix submodule
* Fix compile
* Get both unit tests passing when run by themselves
* Fix so both test cases can be run
* Implement unit tests for blockpressed and reservedutxos websockets
* Fix RoutesSpec get a block header test
* Implement configuration for wsbind and wsport via bitcoin-s.conf
* Add some nonblocking sleeps on all WebsocketTests
* Add documentation
* Properly close the server with .terminate() rather than .unbind()
* Add BitcoinSServerMainBitcoindFixture.afterAll()
* Add println
* Add more println
* Try to downgrade bitcoind version
* Fix datadir bug
* Cleanup callbacks so they don't have nested futures
* Fix SpendingInfoDb.apply() pattern match
* Add spendingInfoDb json serializer test, does not pass
* Fix SpendingInfoDb json serializer
* Make small refactors
* Fix compile
* Add maxBufferSize, change overflow strategy to OverflowStrategy.dropHead
* Address Nadav's code review
* Address ben's code review
* Implement DLC wallet callbacks
Add callbacks and tests for Claimed/RemoteClaimed
Add unit test for confirmed state
* Add some docs
* Address ben's code review
* Fix scalafmt