• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

btcsuite / btcd / 19090331563
56%
master: 55%

Build:
Build:
LAST BUILD BRANCH: fix-addrv2-address-validation
DEFAULT BRANCH: master
Ran 05 Nov 2025 03:31AM UTC
Jobs 4
Files 293
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Oct 2025 11:47PM UTC coverage: 56.243%. First build
19090331563

push

github

Roasbeef
integration: add comprehensive BIP 431 TRUC policy tests

This commit adds end-to-end integration tests for BIP 431 (TRUC) policy
enforcement using the rpctest harness. The tests verify all six TRUC rules
plus security properties using real btcd nodes and transaction submission.

The test infrastructure enhancements to rpctest include v3 transaction
creation helpers (CreateV3Transaction, CreateV3Child) that properly handle
transaction version selection through functional options. The AddUnconfirmedTx
method on MemWallet now tracks outputs by keyIndex to enable proper UTXO
management for test scenarios involving multiple children spending different
outputs from the same parent.

The TRUC policy test suite covers:

Rule 1 (replaceability): Verifies v3 transactions signal RBF even without
BIP 125 sequence numbers, enabling reliable replacement for fee-bumping.

Rule 2 (all-or-none): Tests that v3 transactions correctly reject unconfirmed
v2 parents while accepting confirmed v2 parents, enforcing the all-or-none
TRUC requirement.

Rule 3 (topology): Validates the 1-parent-1-child constraint by testing both
valid 1P1C acceptance and rejection of long v3 chains (grandparent→parent→
child) that violate the ancestor limit.

Rules 4-5 (size limits): Confirms transactions within the size limits are
accepted. Precise size testing is deferred to unit tests where exact byte
control is easier.

Rule 6 (zero-fee): Marked as pending future package relay RPC support.

Security tests verify the topology restrictions prevent common pinning
vectors, specifically that multiple children and long chains are both
rejected.

These integration tests complement the unit tests by exercising the full
mempool acceptance pipeline with real transactions, RPC submission, and
multi-node scenarios. All tests pass, confirming the TRUC implementation is
correct and ready for production use.

12 of 70 new or added lines in 3 files covered. (17.14%)

33779 of 60059 relevant lines covered (56.24%)

396900.99 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
44.86
integration/rpctest/rpc_harness.go
55
38.02
integration/rpctest/memwallet.go
Jobs
ID Job ID Ran Files Coverage
1 btcutilpsbt - 19090331563.1 05 Nov 2025 03:31AM UTC 98
21.79
GitHub Action Run
2 btcutil - 19090331563.2 05 Nov 2025 03:31AM UTC 120
18.86
GitHub Action Run
3 btcd - 19090331563.3 05 Nov 2025 03:31AM UTC 261
51.38
GitHub Action Run
4 btcec - 19090331563.4 05 Nov 2025 03:31AM UTC 18
80.46
GitHub Action Run
Source Files on build 19090331563
  • Tree
  • List 293
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #19090331563
  • 90bf8848 on github
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc