You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chain_data_source: constructor param on Client — injectable chain
data provider for local blockchain queries without a remote substrate
sync_utxos restored — discovers on-chain UTXOs via the chain data
source and imports them into storage as :spendable with derivation_type: :identity. Deduplicates transaction fetches and
validates UTXO API values against transaction outputs (#599)
get_height restored with local chain data fallback — returns { height: Integer } without requiring a substrate (#597)
get_header_for_height restored with local chain data fallback —
returns WoC block header JSON (#598)
BEEF SPV merkle root verification restored in internalize_action
when a chain data source with valid_root_for_height? is available;
error messages now distinguish SPV rejection from structural
invalidity (#600)
Store conformance shared examples extracted to lib/bsv/wallet/testing/ — downstream adapter gems can now require 'bsv/wallet/testing/store_conformance' for interface and
wallet-level test coverage (#591)
Changed
MemoryStore guarded in Client.new — raises ArgumentError unless allow_memory_store: true is passed, preventing accidental data loss
in production
Wallet-level dual-store specs refactored to use shared examples via it_behaves_like; no test coverage lost (1281 examples preserved)
Fixed
sync_utxos deduplicates UTXO response entries before processing
and caches fetched transactions by txid to minimise WoC API calls
internalize_action chain tracker guard uses explicit nil check for
clarity
Consistent error message wording across get_height and get_header_for_height