* Handle negative and zero getnetworksolsps arguments correctly
* Simplify the solsps loop structure
* Simplify loop by avoiding manual iteration and peeking
* Avoid division by zero
* Use min and max times rather than first and last times
* Refactor block iterators so they are more efficient
* Make finding chains easier
* Simplify block iteration code
* Remove implemented TODO comments
* Simplify internal iterator state
* Implement iteration by any chain item
* Iterate block headers rather than full blocks
* Ignore code that is (sometimes) dead
* Fix a dead code warning
* Add a no blocks in state error constant
* Check result values in the RPC test
* Fix invalid calculation handling
* upgrade docs for new lightwalletd repo zebra is using now
* Update book/src/user/lightwalletd.md
Co-authored-by: Marek <mail@marek.onl>
---------
Co-authored-by: Marek <mail@marek.onl>
* Move RPC method constants into their own module
* Rename RPC compatibility modules to avoid confusion
* Rename RPC middleware to include its new functionality
* Use FutureExt::inspect() for logging, and only format on failure
* Log all RPC errors at info level
* Make "invalid parameters" RPC error code match `zcashd`