* 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
* Start pulling over accept serializers from dlc message spec PR
* Get sign tlv json serialization working
* Implement decodeaccept,decodesign in CoreRoutes
* Move messages to DLCTestUtil, add documentation
* Implemented Disjoint Union DLC related data structures with dlcTest passing
Broke DLCClientTest up into multiple test files
Optimized DLC execution unit tests by checking all outcomes on a single setup DLC
Refactored DLCTest to allow for Disjoint Union DLC construction and validation, added tests
Responded to review
Fixed after cherry-pick
Fixed docs
* Fixed things after rebase
* Rebase
* Fix json serializer
* Finish fixing compile
* Start trying to make APIs better for multi oracle contract infos
* Clean things up in the GUI, try to make failures on disjoint union contracts as explicit as possible
* Use less numDigits as optimization for non secp CI test cases
* Fix compile
* Refactor BroadcastDLCDialog
* Fix test case optimization
* Clean up comment
Co-authored-by: nkohen <nadavk25@gmail.com>
* Implement payout function reader and tlv points reader/writer
* Add support for numeric contract infos in the createcontractinfo rpc
* Adjust logging level
* Remove unused endpoint
* Add new format to site
* WIP
* Add contract info/offer section
* Start accept section
* Add example to sidebar
* Adjust locktimes on the exmaples to 0
* Implement payout function reader and tlv points reader/writer
* Add support for numeric contract infos in the createcontractinfo rpc
* Adjust logging level
* Remove unused endpoint
* Add new format to site
Write intro and requirements section
start contractinfo section
Finish offer section
Finish first draft of the wallet election example writeup
Add page to sidebar
* WIP createcontractinfo
* Fix ordering issue
* Use existing contract descriptor serializer, begin fixing test case
* Get DLCRoutesSpec createcontrafctinfo passing again
* Finish implementing createcontractinfo
* Add doc
* Fix native image build by adding hard coded static private key for OracleAnnouncementV0TLV.dummy
* Update ConsoleCli endpoints, update docs
* Rename methods in DLCOracleApi from signAnnouncement -> createAttestation
* Fix dates on deprecation
* WIP, createattestation rpc not working for some reason
* Fix misspelling
* Rename endpoint from createattestation -> signenum
* Fix docs
* Fix use of deprecated method after rebase
* Implement delete attestations
* Add DLCOracleApi.deleteAnnouncements()
* Make sure we don't have attestations before deleting announcements
* Add endpoint in OracleRoutes for delete announcement
* Add ConsoleCli implementation
* deleteattestations -> deleteattestation
* Document endpoints and add warnings
* Wire up ConsoleCli with deleteannouncement/deleteattestation
* Fix use of deprecated methods
* Deprecate things with the Event suffix in DLCOracleApi
* Rename classes used in OracleRoutes
* Rename endpoints
* Update docs
* listevents -> listannouncements
* Encapsulate initialization of DLCOracle.start() method
* Use internal WalletAppConfig.kmConf rather than passing in custom key manager parameters
* Add KeyManagerAppConfig.defaultAccountType
* Get all tests passing besides TrezorAddressTest
* Get TrezorAddressTest passing with provided entropy
* Add unit test to make sure we can always derive the seed
* Get docs compiling
* Fix dlcWalletTest test cases
* Add more test cases to keymanager
* Add the new configuration to the example configuration
* Add more test cases
* Remove coverage on 2.12 as it isn't accurate
* Rework DLCOracleAppConfig.start() to call kmConf.start() so the oracle can use entropy provided via bitcoin-s.conf
* Update tor.md
Typo correction and further clarification for mac users
* Update tor.md
Moved torrc CooieAuthFile setting to the newly created 'optional settings section' and added extra clarity for the issue described here (https://github.com/bitcoin-s/bitcoin-s/issues/3547) which is similar to the issue I experienced.
* DLC P2P WIP
* P2PClient refactor (#10)
* Add to CI
* Remove unused
* Attempt to create DLCNode and Tests
* Full Tor support
* Get DLCNegotiationTest passing
* Config options, connect & send func
* Test for DLCNode
* Add createDLCNode to config
* Fix formatting
* Update DLC state after all other data is set
* Remove unneeded line
* Respond to some review
* 2021 07 26 dlc node code review (#13)
* WIP
* WIP2
* Rewrite tests not use Await.result()
* Skip Tor test on CI
* Cleanup threadpool leaks in tests
* Handle actor pattern matching better
* Respond to review
* Implement DLCNode.stop
* sock5 -> socks5
* Use Tcp.Unbind
* Respond to review
* Implement postStop
* Switch to unbind
Co-authored-by: rorp <rorp@users.noreply.github.com>
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* relay flag in version message made configurable
* modified test classes as well
* Update configuration.md
* reverted few files and cleaned up format
* fixed mistake
* Add more explicit instructions for install java9+ for getting-setup.md
* Add installation instructions for node.js
* Take ivan's suggestions
* Remove excess words
It seems like the bitcoin-s-cli build is under ```./app/cli/target/universal/stage/bin/bitcoin-s-cli``` rather than ```./app/cli/target/universal/stage/bitcoin-s-cli```