Skip to content
Closed
Show file tree
Hide file tree
Changes from 104 commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
5d04e7d
Repair synchronization contract proof edges
metaphorics Oct 23, 2026
2481c6b
Document non-UTF-8 snapshot host prerequisite
metaphorics Oct 23, 2026
b9a2ad0
Delete ApplyScratch from block apply
metaphorics Oct 23, 2026
7a56b43
Compare undo bytes in capture_rawtx regression
metaphorics Oct 23, 2026
bd713d2
Remove duplicate package structure pass
metaphorics Oct 23, 2026
0a6285c
Deduplicate RPC block lookups and confirmations
metaphorics Oct 23, 2026
00b4e38
Remove redundant NodeState accessors
metaphorics Oct 24, 2026
6b5fb42
Unify compact-block fallback and fetch ownership
metaphorics Oct 24, 2026
9420c92
feat(rpc): submit scoped CPFP packages through the gateway
gosunuts Oct 22, 2026
089e487
Attribute package fee credits and close the RPC report gaps
metaphorics Oct 22, 2026
58a4784
Record the pre-script fee-cap exception and package proofs
metaphorics Oct 22, 2026
ba8bb49
Price each effective set at its own modified rate
metaphorics Oct 22, 2026
ae50a8a
fix(mempool): report the package's effective set on every committed m…
Oct 23, 2026
8cea2f9
Parse RPC amounts exactly and clamp modified fees
metaphorics Oct 24, 2026
e36546f
Reject malformed decimal points in RPC amounts
metaphorics Oct 24, 2026
6bbb005
Add optional BIP337 compressed transaction RPCs
metaphorics Oct 24, 2026
d97f82b
fix(rpc): validate JSON-RPC envelopes and map Core HTTP statuses
DPS0340 Oct 18, 2026
8543921
fix(rpc): use Core's exact envelope messages and correct the API-02 c…
DPS0340 Oct 18, 2026
84f2bdd
test(rpc): pin the all-notification batch reply and drop a Core attri…
DPS0340 Oct 18, 2026
4b71c34
fix(rpc): keep the v2 envelope on post-classification envelope failures
Oct 22, 2026
8348db7
fix(rpc): answer envelope refusals at HTTP 400 and Core's scalar/empt…
Oct 21, 2026
d8f7fde
Track active RPC calls and instrument proof scans
metaphorics Oct 24, 2026
14c1eb7
Expand bounded public descriptor scans
metaphorics Oct 24, 2026
5c8e071
Isolate public queries from management RPC
metaphorics Oct 24, 2026
82abd58
Introduce typed overlay peer identity
metaphorics Oct 24, 2026
9318479
Format the tree with rustfmt
metaphorics Oct 24, 2026
bd65aef
Format remaining files with rustfmt
metaphorics Oct 24, 2026
d30ba8b
Repair typed peer identity in sync benchmark
metaphorics Oct 25, 2026
638751b
Update ctutils to address security advisory
metaphorics Oct 25, 2026
63bdd36
Assert restart behavior instead of log text
metaphorics Oct 25, 2026
aaa488f
Add Tor and I2P overlay transports
metaphorics Oct 25, 2026
1b1b3f6
Record bounded overlay interoperability runs
metaphorics Oct 25, 2026
7775936
Negotiate BIP434 peer features
metaphorics Oct 25, 2026
9978def
Relay negotiated stale chain tips
metaphorics Oct 25, 2026
281443b
Add negotiated BIP331 package relay
metaphorics Oct 25, 2026
174ec73
Attribute retained block staging memory
metaphorics Oct 25, 2026
4ecd634
Attribute window pipeline execution time
metaphorics Oct 25, 2026
2491f7e
Bound prefix scans and account index rows
metaphorics Oct 25, 2026
94eb6e2
Export Core v2 UTXO snapshots
metaphorics Oct 25, 2026
03f1c55
Import and export portable index bundles
metaphorics Oct 25, 2026
537cfca
Document and probe Lightning interoperability
metaphorics Oct 25, 2026
b529663
Isolate SAM fixtures from unrelated probes
metaphorics Oct 25, 2026
a05ee7e
Solicit packages for negotiated orphan peers
metaphorics Oct 25, 2026
74dfd6c
Report actual window benchmark build identity
metaphorics Oct 25, 2026
05737c5
Place byte-path snapshot fixtures on Unix tmp
metaphorics Oct 25, 2026
7795ce5
Keep portable manifests and artifacts consistent
metaphorics Oct 25, 2026
09a62fe
Exercise portable index worker recovery
metaphorics Oct 25, 2026
123e57a
Format portable publication regression checks
metaphorics Oct 25, 2026
f897a59
Format portable worker lifecycle fixtures
metaphorics Oct 25, 2026
ce94561
Accept Core-compatible legacy broadcast fees
metaphorics Oct 25, 2026
4aeb37e
Publish admitted mempool transactions over ZMQ
metaphorics Oct 25, 2026
d08a26e
Retry unavailable blocks through the sync owner
metaphorics Oct 25, 2026
d924b5f
Keep corruption fixture callbacks unit-valued
metaphorics Oct 25, 2026
e796e25
Add native mining pools with durable PPLNS
metaphorics Oct 26, 2026
aab50bd
Retain valid side branches across checkpoint restart
metaphorics Oct 26, 2026
5487e36
Record real CLN backend refusal and comparison
metaphorics Oct 26, 2026
1573ebb
Require owned RPC bind proof during process readiness
metaphorics Oct 26, 2026
07632d6
Isolate curated acceptance from unrelated peer probes
metaphorics Oct 26, 2026
e87d869
Serve locator ranges from the applied chain
metaphorics Oct 26, 2026
b3fdfc5
Retry initial stale tips until send acknowledgement
metaphorics Oct 26, 2026
22a00a4
Retire mining jobs when the node applies a block
metaphorics Oct 26, 2026
919d3dd
Account for ScriptLive seed batch bytes
metaphorics Oct 26, 2026
2ee6117
Install metrics before starting index workers
metaphorics Oct 26, 2026
8f8975e
Recognize pool RPCs in the shipped inventory
metaphorics Oct 26, 2026
0b39494
Add queries over a verified historical prefix
metaphorics Oct 26, 2026
a0aff1e
Define canonical state and query boundaries
metaphorics Oct 26, 2026
f70e407
Run overlay checks on isolated pinned fixtures
metaphorics Oct 26, 2026
34e2cc5
Correct window toolchain gate documentation
metaphorics Oct 26, 2026
b608cc3
Format the window diagnostics regression
metaphorics Oct 26, 2026
3a37f70
Document portable bundle lifecycle proofs
metaphorics Oct 26, 2026
9d6ac3c
Retain fixed staging after horizon evaluation
metaphorics Oct 26, 2026
d644429
Restore bundles below recovered receiver tips
metaphorics Oct 26, 2026
d358693
Merge upstream dependency and triage updates
metaphorics Oct 26, 2026
c739891
Refresh contract clause and proof references
metaphorics Oct 26, 2026
13302cf
Repair generated RPC contract fragments
metaphorics Oct 26, 2026
c8ed25b
Align glossary references with current owners
metaphorics Oct 26, 2026
5e998e8
Restore script and Lightning documentation entries
metaphorics Oct 26, 2026
1eec0f6
Refresh the standalone template provider lock
metaphorics Oct 26, 2026
6542c7b
Centralize the checkpoint filename grammar
metaphorics Oct 26, 2026
765a61c
Reuse canonical redb write conditions
metaphorics Oct 26, 2026
fc97d91
Remove the redundant reply reservation hop
metaphorics Oct 26, 2026
7ceef0a
Centralize reset claim liveness
metaphorics Oct 26, 2026
b680157
Keep descriptor conveniences in test builds
metaphorics Oct 26, 2026
21476a0
Share the Stratum response envelope
metaphorics Oct 26, 2026
eb207c0
Keep portable chain capture cancellable
metaphorics Oct 26, 2026
0ab0d04
Introduce the exact block payload owner
metaphorics Oct 27, 2026
cb77da7
Share the witness-fill predicate
metaphorics Oct 27, 2026
26a0914
Add witnessed snapshot artifacts and seed ownership
metaphorics Oct 27, 2026
06da2f5
Report filesystem write-counter scope
metaphorics Oct 27, 2026
6d69bcd
Add an indexed corpus representation
metaphorics Oct 27, 2026
0a4c691
Document filesystem measurement limits
metaphorics Oct 27, 2026
01be473
Unify block payloads and snapshot seed recovery
metaphorics Oct 27, 2026
37b7a8c
Publish implemented payload and seed architecture
metaphorics Oct 27, 2026
3cb1500
Repair corpus test type boundaries
metaphorics Oct 27, 2026
117d9b1
Format RPC payload compatibility test
metaphorics Oct 27, 2026
4bc94fc
Prove snapshot seed acceptance transitions
metaphorics Oct 27, 2026
1f7eeb7
Support indexed corpus custody in comparator
metaphorics Oct 27, 2026
d15d5fb
Add validated offline block importer
metaphorics Oct 27, 2026
a10eaf4
Seal verified snapshot ownership through activation
metaphorics Oct 26, 2026
b1b4181
Move query API tests behind test boundary
metaphorics Oct 27, 2026
7256a1e
Accept produced corpus manifests in offline import
metaphorics Oct 27, 2026
42307c5
refactor(mining): own native pool protocols and ledger
gosunuts Oct 27, 2026
69626f0
Merge main into feat/resolve-node-issues
gosunuts Oct 27, 2026
414bfdb
Merge upstream public listener capacity
metaphorics Oct 27, 2026
17d85f5
Refuse local DNS under privacy routes
metaphorics Oct 27, 2026
6671a3e
Check scientific amount exponent subtraction
metaphorics Oct 27, 2026
47d2a27
fix(index): verify prefix anchor height, hold one seed lease, refresh…
metaphorics Oct 27, 2026
beabc4d
Merge branch 'main' into feat/resolve-node-issues
metaphoric-dev Oct 27, 2026
b225553
fix(sync,tools): unblock CI and Greptile findings
Oct 28, 2026
467e343
Accept explicit I2P port zero in address handling
metaphorics Oct 28, 2026
80fc90c
Normalize Core-form Tor onion key prefixes
metaphorics Oct 28, 2026
09e80a8
Merge remote integration branch into feat/resolve-node-issues
metaphorics Oct 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog

## Unreleased

- Verified snapshot state for AssumeUTXO import (`crates/utxo/src/core_snapshot.rs`, `crates/chainstate/src/assumeutxo.rs`, `crates/node/src/snapshot.rs`). `read_verified` seals the decoded portable set with its base hash, height, commitment and coin statistics, so portable activation performs no second commitment pass or statistics scan. Sets that arrive without proof (native v4 input) are verified exactly once under the lifecycle lock. Caller digests and snapshot trailers still establish no trust. Recorded compatibility boundary: files repeating txid groups are refused (`TransactionOrder`, RPC `-22`); Core 31.1 accepts such a file. No performance gain is claimed.
16 changes: 9 additions & 7 deletions CONCEPTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -291,12 +291,14 @@ or restart re-establishes a consistent gateway.
### Admission origin
The `AdmissionOrigin` enum on `MutationEnvelope` that identifies how a
transaction entered the node (`crates/mempool/src/mutation.rs`): `Rpc`
(submitted through `sendrawtransaction`), `Peer` (relayed from a network
peer, carrying a `PeerToken`), `Reorg` (re-admitted by a disconnect walk via
`reconsider_disconnected`), or `Block` (confirmed by block application). The
observer receives the origin alongside the committed `MutationResult` so
downstream consumers (ZMQ publisher, metrics) can distinguish relay from
reorg re-admission without inspecting call sites.
(submitted through `sendrawtransaction`), `Esplora` (submitted through an
Esplora raw-transaction broadcast route), `Snapshot` (revalidated from the
optional restart snapshot before services start), `Peer` (relayed from a
network peer, carrying a `PeerToken`), `Reorg` (re-admitted by a disconnect
walk via `reconsider_disconnected`), or `Block` (confirmed by block
application). The observer receives the origin alongside the committed
`MutationResult` so downstream consumers (ZMQ publisher, metrics) can
distinguish relay from reorg re-admission without inspecting call sites.

### Chainstate facade
The in-process owner of applied-tip mutation (`bitcoin_rs_chainstate::Chainstate`).
Expand Down Expand Up @@ -333,7 +335,7 @@ The durable record that an authoritative disconnect started and how far it got.
The per-block inverse of a UTXO commit, queued before later apply mutations and made durable by the clean checkpoint rather than a per-block fsync. Keyed by height **and** block hash so an abandoned-branch record cannot replay against another block at the same height. Retained after a disconnect because branch flip-flop is normal.

### Owed derived state
State that connection writes and disconnection must account for. `coin_stats` needs an explicit inverse for its block-level fields (the default node recomputes them at checkpoint and stable reads). `TxIndex` is durable derived state outside the authoritative transaction (see *TxIndex capability watermarks*). `switch_to_branch` (`crates/node/src/reorg_effects.rs`) is the production disconnect caller: it preloads all disconnect bodies and the available contiguous connect prefix, and a `ChainTransition` requires the authoritative plan to equal the preloaded plan before mutation. A permanent connect failure invalidates the failed header and descendants; an operational failure leaves the branch eligible for retry.
State that connection writes and disconnection must account for. `coin_stats` needs an explicit inverse for its block-level fields (the default node recomputes them at checkpoint and stable reads). `TxIndex` is durable derived state outside the authoritative transaction (see *TxIndex capability watermarks*). `switch_to_branch` (`crates/node/src/reorg.rs`) is the production disconnect caller: it preloads all disconnect bodies and the available contiguous connect prefix, and a `ChainTransition` requires the authoritative plan to equal the preloaded plan before mutation. A permanent connect failure invalidates the failed header and descendants; an operational failure leaves the branch eligible for retry.

## Derived indexes

Expand Down
Loading
Loading