bsv-wallet-postgres 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69980501d8a03bd6552190800aba40a65f3c34d2b6633a3a59d58030a11d54e3
4
- data.tar.gz: 7ee7f4c26fc294d9f227cdae83e3c9d9dcc7cce64592dda289db8c223c6b34ec
3
+ metadata.gz: 37e390c1a01dfcca455d47cd9f7f9f50d7ccaa7dc8ebed8b6cde03c7037efaac
4
+ data.tar.gz: cbb545f0833e6f43dde28ed1fb8677de53874f06fea8798052da8cdfb4172868
5
5
  SHA512:
6
- metadata.gz: 5fa70d4686c6f55d782578f9f7c2b6bb290c113ebdd2a8e05a11d8062e56ba21337a2ce3bf8d96af32a13ac60d05d8328f6608d560f6b2dce3b1514045f6b1ef
7
- data.tar.gz: 371d0d3ccc53cf8c247aed4fa449a232b0a9f3ce46e8c7ebfbc311f5f23eae7043a186e0678c14fe5f3693ced12e3458965d3a93e471fcdbc2f46a1661961eac
6
+ metadata.gz: 9861cc380e77b9d726ab69ce61d9c2401962540ed1617512d615197e123bf1c451b30d4028a9c781abe27c89eee41243b72473410ac613d3dfbac6f129255a5f
7
+ data.tar.gz: 9d05a5dac568c660f86963e90d7b2deb0852126b63678395574154f819241e791413ccba139eaaea67ee8009175ba71095d1a58b64dd82332ddfa6b6b0699c9e
data/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ All notable changes to the `bsv-wallet-postgres` gem are documented here.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
6
6
  and this gem adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 0.5.0 — 2026-04-16
9
+
10
+ ### Changed — **Breaking**
11
+
12
+ - `SolidQueueAdapter` now sets the wallet action status to `'unproven'` instead of `'completed'` on successful broadcast. Aligns with the status taxonomy change in bsv-wallet 0.9.0 (HLR #455). The `wallet_broadcast_jobs` row status is unchanged (job queue lifecycle is a separate domain).
13
+
14
+ ### Added
15
+
16
+ - `BroadcastQueue#broadcast_enabled?` interface method; `SolidQueueAdapter` returns `true` (broadcaster required at construction time). Enables `WalletClient#broadcast_enabled?` to detect a queue-embedded broadcaster.
17
+
18
+ ### Changed
19
+
20
+ - Minimum `bsv-wallet` version raised from `>= 0.6.0` to `>= 0.9.0`. Required for the new status taxonomy and `broadcast_enabled?` interface.
21
+
8
22
  ## 0.4.0 — 2026-04-12
9
23
 
10
24
  ### Added
@@ -82,6 +82,15 @@ module BSV
82
82
  true
83
83
  end
84
84
 
85
+ # Returns +true+ — +SolidQueueAdapter+ requires a broadcaster at
86
+ # construction time (+ArgumentError+ is raised if +nil+ is passed), so
87
+ # broadcast is always available.
88
+ #
89
+ # @return [Boolean]
90
+ def broadcast_enabled?
91
+ !@broadcaster.nil?
92
+ end
93
+
85
94
  # Persists a transaction to the broadcast job queue and returns immediately.
86
95
  #
87
96
  # Inserts a row into +wallet_broadcast_jobs+ with status +unsent+. If a row
@@ -280,8 +289,10 @@ module BSV
280
289
  # Promotes UTXO state after a successful broadcast.
281
290
  #
282
291
  # Marks inputs as +:spent+, change as +:spendable+, and updates the action
283
- # status to +completed+. When outpoints are +nil+ (finalize path), UTXO
284
- # transitions are skipped.
292
+ # status to +unproven+. The transaction has been accepted by the network but
293
+ # is not yet proven on-chain — status advances to +completed+ once a merkle
294
+ # proof arrives. When outpoints are +nil+ (finalize path), UTXO transitions
295
+ # are skipped.
285
296
  #
286
297
  # @param input_outpoints [Array<String>, nil]
287
298
  # @param change_outpoints [Array<String>, nil]
@@ -289,7 +300,7 @@ module BSV
289
300
  def promote(input_outpoints, change_outpoints, txid)
290
301
  Array(input_outpoints).each { |op| @storage.update_output_state(op, :spent) }
291
302
  Array(change_outpoints).each { |op| @storage.update_output_state(op, :spendable) }
292
- @storage.update_action_status(txid, 'completed') if txid
303
+ @storage.update_action_status(txid, 'unproven') if txid
293
304
  end
294
305
 
295
306
  # Rolls back wallet state after a failed broadcast.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module BSV
4
4
  module WalletPostgres
5
- VERSION = '0.4.0'
5
+ VERSION = '0.5.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bsv-wallet-postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Bettison
@@ -15,7 +15,7 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 0.6.0
18
+ version: 0.9.0
19
19
  - - "<"
20
20
  - !ruby/object:Gem::Version
21
21
  version: '1.0'
@@ -25,7 +25,7 @@ dependencies:
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 0.6.0
28
+ version: 0.9.0
29
29
  - - "<"
30
30
  - !ruby/object:Gem::Version
31
31
  version: '1.0'