Commit fd76b8f
committed
feat: Introduce BitVault Common Module
This commit establishes the BitVault Common module, a foundational component of the BitVault Bitcoin wallet, designed to support secure and efficient Bitcoin operations.
Key Features:
- **Sensitive Data Handling**: Implements `SensitiveString` and `SensitiveBytes` types to automatically zero out sensitive data upon drop, enhancing memory protection and reducing the risk of data leaks.
- **Bitcoin Utilities**: Provides functions for Bitcoin address validation, transaction ID verification, and amount formatting, ensuring correct handling of Bitcoin-specific operations and data types.
- **Configuration Management**: Utilizes TOML for configuration files, offering a human-readable format with strong validation capabilities to ensure secure and consistent application settings.
- **Secure Logging**: Introduces a structured logging system that sanitizes sensitive data, categorizes logs by security context, and provides both human-readable and machine-parseable output.
- **Testing Strategy**: Establishes a comprehensive testing strategy, including unit tests, integration tests, and doctests, to validate functionality and ensure code reliability and security.
- **Security Architecture**: Designed with security boundaries in mind, ensuring safe data passage between UI, wallet logic, and IPC communication processes. The module leverages BDK for core Bitcoin functionality, ensuring robust and secure Bitcoin operations.
- **Error Handling**: Defines `WalletError` for consistent error management across wallet operations, avoiding sensitive information leaks.
- **Fee Management**: Implements `FeePriority` and `FeeEstimates` for managing transaction fees efficiently.
- **Address Metadata**: Introduces `AddressInfo` to extend Bitcoin addresses with metadata like labels and derivation paths.
This initial commit lays the groundwork for the BitVault wallet, focusing on security, reliability, and adherence to Bitcoin best practices.1 parent ed0aba1 commit fd76b8f
File tree
33 files changed
+5801
-3084
lines changed- .github/workflows
- bin
- bitvault-app
- src
- bitvault-common
- src
- tests
- bitvault-core/src
- bitvault-ipc/src
- docs/design
33 files changed
+5801
-3084
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
0 commit comments