Keep the fee-rate ceiling below the node's maxfeerate (B-100)

MAX_FEE_RATE_SAT_VB was exactly sendrawtransaction's default maxfeerate
(10 000 sat/vB); with vsize estimated upwards a rate at the ceiling would be
refused. Now 5 000.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
davideandClaude Sonnet 5.5 committed 2026-10-18 00:32:24 +02:00
1 parent 2c0e71a74c
commit cef05943f9
5 files changed
+25 -25

No files matched your search

+13 -15
View File
@@ -53,8 +53,8 @@ leggono dalla rete, non da una tabella:
| Riserva del pool (il "pool" unico di oggi) | `m/84'/746'/0'/1/0` | nessuna tabella; `app/wallet/hd.py:derive_pool_key` |
| Montepremi di un round | `m/84'/746'/0'/2/<round_id>` | `rounds.pool_address` ([DAT-60]) |
Il diagramma descrive lo schema **atteso**; le colonne e la tabella marcate
"da implementare" non esistono ancora (vedi le tabelle di dettaglio).
Il diagramma descrive lo schema **atteso**; ciò che non esiste ancora è
marcato *da implementare* nelle tabelle di dettaglio.
```mermaid
erDiagram
@@ -103,11 +103,11 @@ erDiagram
bigint max_round_pool_sats "snapshot"
int draw_confirmations "snapshot"
string pool_address
string server_seed_enc "cifrato fino alla rivelazione (da implementare)"
string server_seed "in chiaro solo dopo la rivelazione (da implementare)"
string server_seed_hash "da implementare"
string participants_hash "da implementare"
int draw_height "da implementare"
string server_seed_enc "cifrato fino alla rivelazione"
string server_seed "in chiaro solo dopo la rivelazione"
string server_seed_hash
string participants_hash
int draw_height
datetime drawing_started_at
int draw_block_height
string draw_block_hash
@@ -118,7 +118,7 @@ erDiagram
bigint fee_amount_sats
bigint bump_reserve_sats
string payout_txid
datetime payout_blocked_at "da implementare"
datetime payout_blocked_at
}
round_participants {
int id PK
@@ -126,10 +126,10 @@ erDiagram
int user_id FK
bigint bet_amount_sats
string bet_txid
int bet_vout "da implementare"
int bet_vout
datetime broadcast_at
datetime confirmed_at
int draw_position "UK con round_id (da implementare)"
int draw_position "UK con round_id"
string status "building broadcast confirmed reorged_out"
}
round_config {
@@ -142,10 +142,10 @@ erDiagram
int fee_rate_sat_vb
int rbf_timeout_seconds
int deposit_confirmations
int draw_confirmations "da implementare"
int draw_confirmations
bigint max_round_pool_sats
bool paused
string paused_reason "da implementare"
string paused_reason
datetime updated_at
}
pending_transactions {
@@ -709,8 +709,6 @@ Una scommessa: un utente in un round.
`app/tx/reconcile.py:_abandon` · `app/bets/confirmation.py:_on_bet_confirmed` ·
*Test:* `tests/unit/test_bets.py`, `tests/unit/test_confirmation.py`,
`tests/unit/test_reconcile.py`, `tests/unit/test_pool_verification.py`
*Stato:* da implementare (B-76) · *Oggi:* qualunque eccezione del broadcast
cancella la riga come un rifiuto.
- **[DAT-25]** `broadcast_at` è l'istante della fase 1 di `place_bet`, appena
prima del broadcast, e non viene mai riscritto (nemmeno da un bump RBF). Non
@@ -774,7 +772,7 @@ senza riavviare (vedi [limiti-noti.md](limiti-noti.md)).
| `round_duration_seconds` | Integer | `600` | 30 s – 7 giorni | Durata del round | Dal round **successivo** ([RND-05](ciclo-di-vita-del-round.md)) |
| `round_cooldown_seconds` | Integer | `30` | 0 s – 24 h | Pausa dopo la chiusura | Dal round **successivo**: la pausa dopo il round in corso è quella copiata alla sua apertura ([RND-05](ciclo-di-vita-del-round.md)) |
| `draw_animation_seconds` | Integer | `20` | 0 – 600 s | Durata minima dell'animazione dell'estrazione nel frontend; non condiziona l'estrazione vera | Subito (letto da `GET /rounds/current`) |
| `fee_rate_sat_vb` | Integer | `1` | 1 – `MAX_FEE_RATE_SAT_VB` (10 000) | Commissione di rete delle nuove transazioni | Subito, per le transazioni costruite dopo; quelle in volo tengono il proprio `fee_rate_sat_vb` |
| `fee_rate_sat_vb` | Integer | `1` | 1 – `MAX_FEE_RATE_SAT_VB` (5 000) | Commissione di rete delle nuove transazioni | Subito, per le transazioni costruite dopo; quelle in volo tengono il proprio `fee_rate_sat_vb` |
| `rbf_timeout_seconds` | Integer | `900` | 60 s – 7 giorni | Dopo quanto senza conferme si fa un bump RBF | Subito, anche per le transazioni già in volo (il bumper lo rilegge a ogni giro) |
| `deposit_confirmations` | Integer | `6` | 1 – 100 | Conferme richieste per accreditare un deposito ([DAT-62]) | Subito, per gli accrediti successivi; gli output già accreditati restano |
| `draw_confirmations` | Integer | `3` | 1 – 20 | Conferme richieste sul blocco di estrazione ([DAT-62]) | Dal round **successivo**, copiato all'apertura ([DAT-61]) |