Skip to content

Conversation

@F1r3Hydr4nt
Copy link
Collaborator

@F1r3Hydr4nt F1r3Hydr4nt commented Nov 19, 2025

Description of Changes

Added

  • Complete Wallet infrastructure with serializers, substrates, and implementations for full wallet functionality
  • Authentication system including peer authentication, certificates, session management, and HTTP transport
  • Enhanced BEEF infrastructure with dedicated builder, serializer, and validator modules
  • Script interpreter with comprehensive opcode support, stack operations, and script execution engine
  • Storage interfaces and implementations for data upload/download with encryption support
  • Overlay tools including lookup resolver, SHIP broadcaster, historian, and host reputation tracker
  • Registry client for overlay network management
  • Identity client with contacts manager for identity and contact management
  • Headers client for blockchain header synchronization
  • Keystore with local key-value store implementation supporting encrypted storage
  • Additional cryptographic primitives: Schnorr signatures, DRBG (Deterministic Random Bit Generator), AES-GCM encryption
  • Compatibility modules for BSM (Bitcoin Signed Message) and ECIES encryption
  • TOTP (Time-based One-Time Password) support for two-factor authentication
  • BIP-276 payment destination encoding support
  • PushDrop token protocol implementation
  • Teranode broadcaster support

Testing Procedure

Testing, along with coverage has been upgraded to a better structure. Legacy tests were ensured still pass.

  • I have added new unit tests
  • All tests pass locally
  • I have tested manually in my local environment

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have updated CHANGELOG.md with my changes
  • I have run the linter

jo7ueb and others added 30 commits August 13, 2025 11:58
…ption, master_certificate, peer_session, requested_certificate_set, verifiable_certificate) and remove sys.path hack in keys
…llet integration and callbacks\n\n- Closes #55, #54, #53, #52, #51, #50, #49, #48\n- Implement session manager + helpers and re-export PeerSession\n- Handshake (nonce-based), general message sign/verify, cert req/resp\n- Integrate wallet interface for HMAC/sign/verify + encryption hooks\n- Callback registration APIs and safer invocation (snapshot)\n- Reduce cognitive complexity and add defensive checks\n- Best-effort stop() and secure_send() delegate
Refactor SimplifiedHTTPTransport: improve error handling and payload …
fix(utils): Update utils module with latest changes and absolute imports
feat(auth/clients): Add and update client modules under auth/clients
feat(auth/transports): Add and update modules under auth/transports
refactor(chaintrackers): update imports to absolute paths and clean u…
chore(registry): translate comments to English and clean up code
Resolved conflicts:
- .gitignore: Merged both versions (kept .wallet, .venv/, .env*)
- bsv/__init__.py: Updated version to 1.0.10
- bsv/fee_models/live_policy.py: Accepted master's superior implementation
  - Made current_rate_sat_per_kb() private (_current_rate_sat_per_kb)
  - Aligns with TS/Go SDK design where only compute_fee() is public
  - Thread-safe caching, better error handling, logging, configurable HTTP client
- bsv/script/script.py: Accepted master's BRC-106 compliant implementation
- bsv/transaction.py: Accepted master's improved fee calculation with async support
- tests: Updated test_live_policy.py to only test public compute_fee() API
- tests/bsv/broadcasters/test_broadcaster_arc_ef_or_rawhex.py: Accepted master's pytest version

All conflicts resolved. Tests updated to align with private API design.
- Fixed test_cache_expiry to use await asyncio.sleep() instead of time.sleep()
- Proper async/await usage in async test function
Replace inaccessible commit SHA with v9 version tag for better reliability
- Update tests/test_live_policy.py to use private _current_rate_sat_per_kb() method
- Fix test_transaction_fee_with_default_rate to use synchronous SatoshisPerKilobyte instead of async LivePolicy default
- Update test_get_public_key_with_debug_enabled to check for redacted debug output format

All previously failing tests now pass.
Use commit SHA 61a88be553afe4206585b31aa72d388864cbe0d5 (v9.1.4) instead of version tag for better security and reliability
@F1r3Hydr4nt F1r3Hydr4nt marked this pull request as ready for review November 25, 2025 03:26
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants