Decouple business and hardware layers #183
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Decoupling business layer from hardware layer in Signer component (#177)
- Added HAL headers
- Added HAL implementation for Ledger
- Refactored necessary common sources
- Refactored necessary Signer sources
- Updated Signer Makefile to include HAL code
- Removed HSM_SIMULATOR define in favor of HSM_PLATFORM_* defines
- Included X86 (partial) implemenations of some HAL modules (exceptions, logging, hashing)
- Renamed UI communication module to avoid name clashing with HAL
- Changed platform define in Makefile
Decoupling business layer from hardware layer in TCPSigner (#179)
- Implementing HAL for x86 based on the existing TCPSigner implementation
- Additional x86-only functions for HAL implementation
- Updating TCPSigner implementation to use HAL
- Added TCPSigner-specific UI dependencies to implement functions needed by UI only code
- Factoring HAL constants into a constants file
- New BIP32 parser for TCPSigner seed file
- Ensuring Firmware tests pass both on Ledger Nano S and TCPSigner
- Linting
Updating directory structure to accomodate for multiple platforms (#180)
- Moved 'ledger' directory to 'firmware'
- Unified Makefile, source and tests directory structure
- Updated Makefiles to account for new (unified) directory structure
- Updated paths within scripts
- Updated github workflows
- Updated script names to account for underlying platform
- Updated documentation references
- New 'run all' script for tcpsigner unit tests
- Incidentally fixing cross-module responsibility includes
- Incidentally fixing version number in Ledger app deployment scripts
Firmware unit test fixing (#181)
- Fixing existing unit tests
- New unit tests for the TCPSigner BIP32 library
- Moving TCPSigner unit tests to HAL (TCPSigner is now basically a shell)
- Moving Signer unit tests to PowHSM
- Fixing code coverage generation to:
- Forcibly terminate the TCPSigner after tests run
- Ignore unit test sources
- Unifying firmware .gitignore files
- Organising common unit test Makefile rules into common.mk files
- Removed unnecessary testing comments
- Incidentally fixing some include style (angle bracket x quotes)
Updating documentation to reflect the possibility of multiple platform implementations (#182)