Commit graph

2441 commits

Author SHA1 Message Date
Scala Steward
89fe847dbb
Update sbt-bloop to 1.4.4 (#1954) 2020-09-15 07:51:10 -05:00
rorp
23a8b1fbbd
OSX native libsecp256k1 (#2014)
* OSX native libsecp256k1

* Add core and crypto tests to mac matrix

Co-authored-by: Ben Carman <benthecarman@live.com>
2020-09-14 17:45:55 -05:00
Ben Carman
603e3db93f
Update Website Deps (#2011) 2020-09-14 17:22:00 -05:00
Chris Stewart
2f6ff1d955
Make ChainApi.getHeadersBetween() be inclusive on the 'from' parameter (#2009)
* Make ChainApi.getHeadersBetween() be inclusive on the 'from' parameter

* Use ben's suggestion of comparing hashes
2020-09-12 11:13:03 -05:00
Ben Carman
d819dd0322
trivial: add trivial phase to travis (#2008)
* trivial: add trivial phase to travis

* trivial: fix
2020-09-11 13:53:16 -05:00
Chris Stewart
449e205b8b
Introduce 'FilterSyncMarker' to ChainApi, make it clearier what exact… (#2003)
* Introduce 'FilterSyncMarker' to ChainApi, make it clearier what exactly the (Int,DoubleSha256Digest) tuple is returned from ChainApi.nextBlockHeaderRange()

* Fix doc

* Add scaladoc to FilterSyncMarker

* Rebase onto master, fix conflicts to use FilterSyncMarker
2020-09-11 13:48:40 -05:00
Chris Stewart
72cfd4bd4c
Make BlockHeader, BlockHeaderDb have better toStrings (#2007)
* Make BlockHeader, BlockHeaderDb have better toStrings

* Address ben's code review
2020-09-11 13:46:26 -05:00
Chris Stewart
7b4b4a290f
Resolve issues with reorgs and syncing filters (#1969)
* Pull over test cases, WIP

* Rework ChainHandler.nextBlockHeaderRange() to use hashes rather than heights to very integrity of header chain, add test case

* Modify test case to make sure we are generating the 'heaviest chain work' header as first in the tuple that is used in reorg test cases

* Refactor to helper method called 'findNextHeader()' to make things simpler

* Add scaladoc to ChainHandler.findNextHeader()

* WIP

* Fix bugs in ChainApi.nextBlockHeaderRange(), now return (startHeight,stopHash) rather than (stopHeight,stopHash)

* Get chain handler tests passing, remove genesis filter header/fitler from default chain project fixture, make it a specialized one to have genesis filter header/filter in the database. Use that specialized fixture in ChainHandlerTest for now

* FilterSync work without having the genesis filter and filter header inserted into the database

* fix bug in DataMessageHandler where we were using sendNextGetCompactFilterHeadersCommand rather than using peerMsgSender.sendGetCompactFilterHeadersMessage

* Refactor ChainHandler.findNextHeader() to centralize where chains are fetched

* Address ben's code review
2020-09-11 12:41:25 -05:00
Chris Stewart
3e86438327
Rename parameter names from 'duration' -> 'interval' just like our ActorSystem.schedule() names the parameter (#2005) 2020-09-11 11:10:59 -05:00
Scala Steward
79ca91029c
Update sbt-mdoc to 2.2.8 (#2001) 2020-09-11 08:56:29 -05:00
Ben Carman
e353d2181f
Throw errors that occurr in startup (#1950)
* Throw errors that occurr in startup

* Add testing ability to runMain
2020-09-10 08:11:46 -05:00
Scala Steward
47fb9e0530
Update slick, slick-hikaricp to 3.3.3 (#1987) 2020-09-10 06:47:55 -05:00
Scala Steward
4343a4b4de
Update scodec-bits to 1.1.20 (#1960) 2020-09-10 06:46:04 -05:00
Ben Carman
24dfa7200a
Create FeeUnitFactory and functions to calculate tx fee rates (#1990)
* Create FeeUnitFactory and functions to calculate tx fee rates

* Remove useless override, use factory

* doc

* Scaladocs + use vals

* Fix scaleFactor being set as default value
2020-09-10 06:45:25 -05:00
Scala Steward
e560159b54
Update play-json to 2.9.1 (#1994) 2020-09-10 06:44:02 -05:00
Scala Steward
1b0113f1c4
Update sbt-mdoc to 2.2.7 (#1995) 2020-09-10 06:43:28 -05:00
Chris Stewart
ff878c532b
Use randomized fee rates for wallet tests (#1977)
Co-authored-by: Ben Carman <benthecarman@live.com>
2020-09-09 16:46:33 -05:00
rorp
8d1d0fcba8
Update callbacks for LN support (#1938)
Update callbacks for LN support
2020-09-09 11:02:31 -07:00
Chris Stewart
19bbe25197
Segregate mainnet chainhandler tests and regtest chainhandler tests (#1988) 2020-09-09 09:50:24 -05:00
Ben Carman
bf1799d573
Fix Two KeyManagers in scope for fundRawTransactionInternal (#1986)
* Fix Two KeyManagers in scope for fundRawTransactionInternal

* Only fetch txs once
2020-09-09 09:40:38 -05:00
Ben Carman
f14eeb3a6c
Optimize findClosestToTime (#1959)
* Optimize findClosestToTime

* Fix Test

* Rename function, change execption type
2020-09-08 09:23:41 -05:00
Ben Carman
149e5190f7
Fix RoutesSpec to assert results (#1979) 2020-09-07 15:52:23 -05:00
Ben Carman
2da714999d
Don't spend immature coinbases, fix tests (#1981) 2020-09-07 15:08:41 -05:00
Ben Carman
a7c06a11cb
Add chainHash to ChainParams (#1972)
* Add chainHash to ChainParams

* Rename to genesisHash
2020-09-04 12:15:06 -05:00
Chris Stewart
6fd23b46c6
Remove uncessary import (#1968)
* Remove uncessary import

* Attempt to fix compile
2020-09-03 09:00:37 -05:00
Chris Stewart
1b788d05be
Move getBestFilterHeader() use the best chain by chainwork for determining the fitler header (#1964) 2020-09-02 19:41:52 -05:00
Ben Carman
b36ad557dd
Change maxBy and minBys to use maxByOption and minByOption (#1961)
* Change maxBy and minBys to use maxByOption and minByOption

* Fix compile issue
2020-09-02 16:03:57 -05:00
Chris Stewart
893d036ab6
Rename ChainApi.nextHeaderBatchRange -> ChainApi.nextBlockHeaderBatchrnage (#1957) 2020-09-02 13:19:20 -05:00
Ben Carman
a4dc8053a2
Validate key manager matches account db on wallet startup (#1948) 2020-09-02 07:33:40 -05:00
Ben Carman
45c11f25ec
Fix max by for getBlockCount (#1951)
* Fix max by for getBlockCount

* Add helper func to package
2020-09-01 19:38:15 -05:00
Ben Carman
bd94ff15f9
Only mark utxos as reserved on successful coin selection (#1944)
* Only mark utxos as reserved on successful coin selection

* Add recoverWith

* Fix compile for 2.12.12
2020-09-01 06:34:46 -05:00
Ben Carman
4d6d96c9e7
Fix getBestFilterHeader for headers 2016 or more blocks away from tip (#1943) 2020-08-31 17:00:42 -05:00
Chris Stewart
e08fd2c137
Clean up imports (#1942) 2020-08-31 14:24:09 -05:00
Ben Carman
56937f7728
Give gui command line arguments (#1931) 2020-08-31 12:25:56 -05:00
Chris Stewart
5909a57f09
Make sure both filter ehaders and filters are empty before sending fi… (#1936)
* Make sure both filter ehaders and filters are empty before sending first filterheader sync message

* Address nit
2020-08-31 06:32:01 -05:00
Chris Stewart
5785f0c1a8
Fix maxBy() exception in the case of empty Blockchain in ChainHandler… (#1934)
* Fix maxBy() exception in the case of empty Blockchain in ChainHandler.bestFilterHeaderSearch()

* Add another unit test to CompactFilterHeaderDAO for coverage
2020-08-29 15:29:09 -05:00
Chris Stewart
453e02b58b
Implement getBestFilterHeader based on a number of block headers that… (#1926)
* Implement getBestFilterHeader based on a number of block headers that can be passed in as a parameter. These headers can be used to indicate what your current best chain is

* Bring back compiler opts

* Fix compiler error for maxByOption as it isn't in the 2.12 std library

* Implement a context free best filter headers search. The basic strategy is to look at headers in the _future_ of our current best filter header

* Fix bug in sql query were we were doing max chainWork too early on block headers, we needed to filter out headers in our set and _then_ we get the max chain work

* Add more unit tests
2020-08-29 08:13:38 -05:00
Chris Stewart
739288fef5
Cache DoubleSha256Digest.hex (#1932)
* Cache DoubleSha256Digest.hex

* Cache little endian versino too
2020-08-29 07:35:40 -05:00
Ben Carman
f734e002be
Calculate correct TxoState when processing a transaction (#1929)
* Calculate correct TxoState when processing a transaction

* Test balance
2020-08-28 15:31:48 -05:00
Ben Carman
09556a072d
docs: Fix broken links in Docs + minor touchups (#1908) 2020-08-27 14:11:24 -05:00
Ben Carman
4104e0c973
Fix rescans that are larger than the batch size (#1916)
* Fix rescans that are larger than the batch size

* Add test
2020-08-27 14:09:25 -05:00
Ben Carman
e8c28de421
Warn if peer does not support services we need (#1921) 2020-08-27 13:57:58 -05:00
Ben Carman
f471119880
Create DatabaseDriver ADT instead of booleans (#1902) 2020-08-27 12:41:52 -05:00
Chris Stewart
be891596b6
Improve logging in DataMessageHandler (#1922)
* Improve logging in DataMessageHandler

* Make hashes in logs big endian

* One more big endian conversion i forgot
2020-08-27 12:39:45 -05:00
Ben Carman
267cf06fa7
Fix log to output correct function (#1913) 2020-08-27 07:20:58 -05:00
Chris Stewart
9a1dfdfdbd
Remove AppConfig.initialize() in favor of AppConfig.start() (#1907)
* Remove AppConfig.initialize() in favor of AppConfig.start()

* Fix docs
2020-08-26 16:24:38 -05:00
rorp
1c84dc330f
Add an ability to one Postgres database for all sub-projects (#1897)
* Add an ability to one Postgres database for all sub-projects
2020-08-26 12:20:18 -07:00
Ben Carman
0f5929d65e
Clean up calls in Node and Chain (#1896)
* Clean up calls in Node and Chain

* Remove parens on non-modifying call
2020-08-26 13:04:34 -05:00
Ben Carman
79f757311e
Send get filters message if we haven't cached any yet (#1900) 2020-08-26 12:56:19 -05:00
Chris Stewart
e345227561
docs: Remove e2e dlc info from documentation, add some notes about using gui bundled with node (#1905) 2020-08-26 12:31:08 -05:00