cf2ed509b4
- `bitstring` started depending on `bitarray` in version 4.1 [0] - that would mean one additional dependency for us (from yet another maintainer), which is not even pure python - we only use bitstring for bolt11-parsing - hence this PR rewrites the bolt11-parsing and removes `bitstring` as dependency - note: I benchmarked lndecode using [1], and the new code performs better, taking around 80% time needed for old code (when using bitstring 3.1.9, pure python). Though the variance is quite large in both cases. [0]: https://github.com/scott-griffiths/bitstring/blob/95ee533ee4040b4480da1ead548eab2459e8e573/release_notes.txt#L108 [1]: https://github.com/spesmilo/electrum/commit/d7597d96d0c336838adb32e3e175d3ea6f9763e8
Notes
The frozen dependency lists in this folder are generated files.
- Starting from
contrib/requirements/requirements*.txt, - we use the
contrib/freeze_packages.shscript, - to generate
contrib/deterministic-build/requirements*.txt.
The source files list direct dependencies with loose version requirements, while the output files list all transitive dependencies with exact version+hash pins.
The build scripts only use these hash pinned requirement files.