Releases: sgbett/bsv-wallet
Releases · sgbett/bsv-wallet
bsv-wallet 0.100.0
First release of the Ruby BRC-100 wallet — ground-up implementation.
Added
- BRC-100 Engine — full transaction lifecycle: createAction, signAction, internalizeAction, abortAction, listActions, listOutputs, relinquishOutput
- Key derivation — BRC-42 ECDH key derivation, BRC-43 symmetric encryption, HMAC, ECDSA sign/verify
- Certificates — BRC-52 identity certificates with field-level encryption and selective revelation
- Auto-funded transactions — UTXO selection, fee estimation, change outputs with split-eagerness
- SPV verification — incoming BEEF validated via SDK Transaction#verify with chain tracker
- BSV::Network::ChainTracker — write-through block header cache (DB + network services)
- BSV::Network::Services — porcelain routing layer with fallback, rate limiting, response normalization
- Pushable/Fetchable modules — entity-driven network interaction for broadcast and proof lifecycle
- Daemon — background polling loop driving push!/fetch! on unresolved entities
- UTXOPool — sizing strategy with limp mode safety threshold
- Porcelain CLI — bin/create, bin/receive, bin/import, bin/send_payment
- wtxid/dtxid convention — binary wire-order internally, display hex at boundaries
bsv-wallet-postgres 0.100.0
First release of the PostgreSQL adapter for the Ruby BRC-100 wallet.
Added
- Schema — actions, outputs, inputs, spendable, baskets, labels, tags, certificates, tx_proofs, blocks, broadcasts
- Store — full BRC-100 action lifecycle: create, sign, promote, abort, reap, list, query
- ProofStore — merkle proof persistence with block normalization
- UTXOPool — UTXO selection with sizing strategy and limp mode
- BroadcastQueue — broadcast lifecycle management
- Pushable/Fetchable — Broadcast and Action adopt entity-driven network interaction
- Migrations — sequential schema migrations with constraint enforcement
- Database trigger — prevents outbound outputs from entering the spendable set
Changed
- blocks table — normalized from tx_proofs; stores block headers independently
- tx_reqs removed — replaced by structural queries via Fetchable pattern