Add the simple indexer component.
Add the reference server component.
Remove the electrumx component (it is replaced by the simple indexer and the reference server).
Remove the peer channels component (it is replaced by the reference server).
Add full and strict type annotations and static analysis to the SDK code-base with mypy
Fix a bug where boolean values passed to the node rpc via command line were not handled correctly.
Upgrade Merchant API to version 1.3.0 and remove all SSL configuration requirements.
Fixed SIGINT (Ctrl + C) on windows such that the ElectrumSV wallet is given a chance to shut down gracefully.
Fixed an issue where rapid killing and restarting of ElectrumX server resulted in errors due to the port still being on cooldown (TCP TIME_WAIT). Actually fixed by patching ElectrumX to set
Minor maintenance to docker-images
Added a new
configsubcommand with –sdk-home-dir option for changing SDK_HOME_DIR location
Python libraries for python-based components are now installed to SDK_HOME_DIR/python_libs/<component_name>.
Produced bundled cross-platform python wheels for the leveldb C Extension library ‘plyvel’: https://pypi.org/project/plyvel-wheels/#files to avoid the need for mac users to manually install leveldb
The SDK adds the SDK_HOME_DIR/python_libs/<component_name> dir and SDK_HOME_DIR/remote_repos/component_name to PYTHONPATH at runtime (and passes this into the subsequently spawned process - this is fundamentally aimed at avoiding dependency version conflicts and paving the way forward to a one-click-installation with an embedded python.
Use latest aiorpcx
Fixed a typo in help menu
Stop dynamically downgrading requests dependency to cater to electrumsv.
Updated to only officially support python 3.9
Pinned ElectrumX version until we can handle the latest aiorpcX library
Substantial updates to documentation which is now hosted at https://electrumsv-sdk.readthedocs.io/
Multiple changes to make the SDK more useable as a library (aimed at generating reorg blocks)
Add commands.py for exposing public methods for using the main SDK entrypoints as a library
Update ‘status’ command to allow filtering by component_type or component_id
Add reorg scripts to contrib/ to document reproducible methodology.
Add the –deterministic-seed option for electrumsv
Added the –regtest and –testnet cli option to node and electrumx components
Simplify logic around mixing –id and <component_type> to always require <component_type> (simplifies the code and user interface). ‘reset’ and ‘stop’ commands still allow no args and will reset or stop all components.
Fix pipeline by installing postgres via homebrew rather than using docker
Make logging less verbose by default
Removed electrumsv-indexer (deferred)
Include electrumsv-server (BIP270 testing server) directory in pypi package and add it as a plugin
Convert electrumsv-server (BIP270 testing server) from curio to aiohttp web framework
Add broadcasting feature to the BIP270 testing server (to mAPI endpoints on all public networks & locally on RegTest)