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

btcsuite / btcd
57%
master: 55%

Build:
Build:
LAST BUILD BRANCH: p2a
DEFAULT BRANCH: master
Repo Added 08 Jul 2020 04:54PM UTC
Token 65UIOKCVtiKf79lUbGhy4oTQ2nKiGIHv2 regen
Build 1268 Last
Files 282
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

LAST BUILD ON BRANCH 2024-02-15-dont-rely-on-height-fetching
branch: 2024-02-15-dont-rely-on-height-fetching
CHANGE BRANCH
x
Reset
Sync Branches
  • 2024-02-15-dont-rely-on-height-fetching
  • #2106
  • 2020-10-06-wallet-rpcs
  • 2022-02-10-1587
  • 2022-04-30-decode-for-net
  • 2022-11-06-implement-getchaintips
  • 2023-05-16-run-gofmt
  • 2023-09-25-change-is-sync-candidate-behavior
  • 2023-10-12-add-integration-test-for-prune
  • 2023-12-update-pkt-dns-seed
  • 2024-01-03-add-last-flush-time-on-initconsistentstate
  • 2024-01-22-dont-update-mempool
  • 2024-02-15-no-utxocache-loading-on-reorgs
  • 2024-02-27-no-panic-for-subscription-callback-errors
  • 2024-03-05-fix-intermittent-addrmgr-bug
  • 2024-03-07-make-duplicate-entries-on-mapslice-impossible
  • 2024-04-01-parallel-ibd
  • 2024-04-02-add-is-ancestor
  • 2024-04-02-invalidate-block
  • 2024-04-23-add-darwin-arm
  • 2024-04-23-update-dnsseeds
  • 2024-04-30-add-reconsiderblock
  • 2024-05-01-fix-logs
  • 2024-05-05-add-rpccalls-for-invalidate-and-reconsiderblock
  • 2024-07-01-close-blockfiles
  • 2024-07-17-increase-flush-time
  • 2024-08-06-execution-trace-flag
  • 2024-08-fix-unmarshaljson
  • 2024-10-29-dont-accept-txs-when-were-not-current
  • 2024-11-29-fix-ibd-not-working
  • 2024-12-10-meet-peer-query-interface
  • 2024-12-26-add-checkpointed-blocks-query
  • 2024-12-26-add-connected-peers
  • 2024-12-26-add-peer-subscribers
  • 2024-12-26-refactor-handle-block-msg
  • 2024-12-30-add-prune-to-sample-btcd.conf
  • 2025-01-16-dont-ask-for-blocks-from-same-height-peers
  • 2025-02-17-exit-when-running-out-of-disk-space
  • 2025-07-remove-alert
  • 2025-09-16-new-parallel-block-downloads
  • 2181_eugene
  • 2183_eugene
  • 2372-fix-bip32-derivation-overflow-bug
  • DecodeNoLimitVersioned
  • FixCoverallCoverage
  • LICENSE-btcsuite
  • TestGetBestBlockHashAsync
  • a-little-taproot
  • add-blockindex-parentskips
  • add-connections-in-out-field-to-getnetworkinforesult
  • add-gemini-style-guide
  • add-gettxspendingprevout
  • add-json-support
  • add-memory-profiling
  • add-msgtx-txid
  • add-nextavailableport
  • add-pruning
  • add-pubkey-serialized-type
  • add-signrawtransactionwithwallet
  • add-tests-witness-limits
  • add-tokenizer
  • addBIP0322SignedMessageTag
  • addGeminiCodeAssist
  • add_gettxfee
  • addr-rw-lock
  • base58-fix
  • bchd-retract
  • bg
  • bip-340-signing
  • bip-8-prep
  • bip-musig2-psbt
  • bip125-inherited-replacement
  • bip324-modules
  • bip340
  • bip340-schnorr-verification
  • bitcoind-v30-error
  • block-count
  • bloom-update
  • btcctl-config-error
  • btcd-24
  • btcd-24-0-2-rc1
  • btcd-calcsighash-optimizations
  • btcd_addrv2
  • btcec-fix
  • btcec-no-chainhash
  • btcec-v2-1-0
  • btcec-v2-no-circular-dep
  • btcec-v2.2-branch
  • btcec/v2.3.5
  • btcutil
  • btcutil-move
  • btcutil-psbt-update-dec-2023
  • btcutil-tag-updates
  • bugfix/rpctest_ports_race
  • build-improvements
  • bulk
  • bump-btcutils-versions
  • bump-go-version
  • bumpWithnessItemPerInputMax
  • catch-shutdown
  • chainhash-v-1-1-0-btcutil
  • chainhash_json
  • chainhash_json_unmarshal
  • changes-0.22
  • check-signature
  • chore/update_psbt_deps
  • config-disable-stall-handler
  • converttopsbt
  • create-rawtransaction-replaceable
  • create-wallet-functional-opts
  • ctrl-block-error
  • dcr-ec
  • deepCopyPk
  • derive-addresses-rpcclient
  • doc-link
  • dockerbuild
  • docs-update-go-version-contrib-guidelines
  • docupdate
  • dont-serialize-tx-for-txhash
  • ebiiim-patch-1
  • ellswift
  • encrypt-decrypt
  • error-matching
  • exportCheckStandardnessFunc
  • exportMuSigSignOptions
  • exportNumFuncs
  • export_header_funcs
  • expose-newfutureerror
  • external-peer-testing
  • extreme-tests
  • fallback-to-GOPATH-bin-dir
  • feat/add-testnet4-support
  • feature/bump-go-version
  • feature/fix-ci
  • feature/pebble
  • feature/utxocache-swissmap
  • feeRate-BTCkvB
  • fix
  • fix-batch-mem-leak
  • fix-config-doc
  • fix-docs-rfc6979
  • fix-err-match
  • fix-err-str
  • fix-mempool-estimatefee-bug
  • fix-minimalif-comment
  • fix-non-root-hosts
  • fix-protocol
  • fix-psbtopts-feerate-type
  • fix-readme-min-version
  • fix-shutdown-itest
  • fix-test-peer-listeners
  • fix-typos
  • fix/batch-data-race
  • fix/dockerfile-go-version
  • fix/err
  • fix/link
  • fixInvalidRpc
  • fix_comment
  • flag-types
  • fundrawtx-bech32m
  • fuzz-FuzzParsePubKey
  • getaddressinfo
  • getblocktemplate-server-update
  • getnetworkhashps-float64
  • getnetworkinfo-warnings
  • getnewaddress-rpcclient-revert
  • getnodeaddresses
  • getwalletinfo
  • gh-1651
  • go-1-18
  • go-mod-pain-relief
  • go1.15
  • go11modules
  • gogc
  • gogc-maxprocs-config
  • guiand888-Docker-doc-update
  • hash-unmarshal
  • hashcache-flake
  • http-retries
  • ignore_unknown_messages
  • implement-pool
  • improve-gc-isunspendable
  • improved-der-signature-validation
  • indexinfo
  • integration-harness-fixes
  • isDust_export_08022021
  • itest-fixes
  • jakesyl-patch-1
  • jcv_irc
  • jcv_nomsi
  • jcv_typo
  • jcv_version
  • jsonrpcerr
  • label_and_account_apis_for_wallet
  • log_compress_zstd
  • marco/wtxidrelay
  • martin/externalip-by-file
  • master
  • memory-efficient-txhash
  • mempool/check-p2wsh-standard
  • mempool_dust_threshold_08162021
  • merkle-calc-fast
  • miniscript
  • musig2
  • musig2-1-0
  • musig2-benchmark-fix
  • musig2Adaptor
  • musig2_0.3.0
  • musig2_fix_early_nonce_gen
  • musig2_update
  • naveen/feat/fix-github-action-permissions
  • naveen/feat/upgrade-docker
  • nb/include-unsafe
  • nested-witness-sign
  • neutrino-opt
  • notls4all
  • op_cat
  • op_txhash
  • opt_SignCompact
  • optimize_buffer
  • over-2-hours
  • p2a
  • patch-1
  • patch-2
  • pkg-update-checkmarx-cve
  • pledge
  • post-taproot-module-updates
  • pow-no-retargeting
  • pr/845
  • priority-queue
  • psbt-empty-deriv-path
  • psbt-export
  • psbt-global-xpub
  • psbt-nil-pointer-bug
  • psbt-serialization-fix
  • psbt-size-check
  • public-sendcmd
  • receive-tests
  • refactor
  • refactor/make-help
  • refactor/obyte-great-than-zero
  • refactor/parsefloat
  • refs/tags/btcec/v2.0.0
  • refs/tags/btcec/v2.1.0
  • refs/tags/btcec/v2.1.2
  • refs/tags/btcec/v2.1.3
  • refs/tags/btcec/v2.2.0
  • refs/tags/btcec/v2.2.1
  • refs/tags/btcec/v2.2.2
  • refs/tags/btcec/v2.3.0
  • refs/tags/btcec/v2.3.1
  • refs/tags/btcec/v2.3.2
  • refs/tags/btcec/v2.3.3
  • refs/tags/btcec/v2.3.4
  • refs/tags/btcutil/psbt/v1.0.0
  • refs/tags/btcutil/psbt/v1.1.0
  • refs/tags/btcutil/psbt/v1.1.1
  • refs/tags/btcutil/psbt/v1.1.10
  • refs/tags/btcutil/psbt/v1.1.2
  • refs/tags/btcutil/psbt/v1.1.3
  • refs/tags/btcutil/psbt/v1.1.4
  • refs/tags/btcutil/psbt/v1.1.5
  • refs/tags/btcutil/psbt/v1.1.6
  • refs/tags/btcutil/psbt/v1.1.7
  • refs/tags/btcutil/psbt/v1.1.8
  • refs/tags/btcutil/psbt/v1.1.9
  • refs/tags/btcutil/v1.1.0
  • refs/tags/btcutil/v1.1.1
  • refs/tags/btcutil/v1.1.2
  • refs/tags/btcutil/v1.1.3
  • refs/tags/btcutil/v1.1.4
  • refs/tags/btcutil/v1.1.5
  • refs/tags/btcutil/v1.1.6
  • refs/tags/chaincfg/chainhash/v1.0.1
  • refs/tags/chaincfg/chainhash/v1.0.2
  • refs/tags/chaincfg/chainhash/v1.0.3
  • refs/tags/chaincfg/chainhash/v1.1.0
  • refs/tags/v0.22.0-beta
  • refs/tags/v0.22.1
  • refs/tags/v0.23.0
  • refs/tags/v0.23.1
  • refs/tags/v0.23.2
  • refs/tags/v0.23.3
  • refs/tags/v0.23.4
  • refs/tags/v0.24.0
  • refs/tags/v0.24.2
  • refs/tags/v0.24.2-beta.rc1
  • remove-bip9-stray-logs
  • remove-err-match
  • reorg
  • replace-imports
  • replaceioutil
  • revive-1294
  • rm_trailing_continue
  • roylee/remove-deprecated-rpcs
  • roylee/update-gbt-to-return-witness-script
  • rpc-address-align
  • rpc-getblockstats
  • rpc-gettxoutsetinfo
  • rpc-jsonerror-msg
  • rpcbulk
  • rpcclient-GetChainTxStatsAsync-tests
  • rpcclient-fix
  • rpcclient-signet
  • rpccliet-fix2
  • run-the-numbers
  • safe-addr-accessors
  • safe-ka-accessors
  • santa5
  • schnorr
  • schnorrSig-simplify-r-bytes
  • script-builder-alloc
  • script-callback
  • script-template
  • scriptpubkeyresult-address
  • searchrawtransactionsverbose-null-test
  • segwit-rpc
  • sendaddrv2
  • sig_hash_type
  • sighash-taproot-keyspend-bug-fix
  • sighash-typos
  • sign-mutate
  • signet
  • signet-deployment
  • signet-forward-port
  • silent-payments
  • size_on_disk
  • standardness-cleanup
  • statusbytes_08062024
  • submitpackage
  • taproot-dev-net-activation
  • taproot-impl
  • taproot-psbt
  • taptweak-mutation
  • testmempoolaccept
  • testnet4-bip9
  • timeout-https-client
  • tor_ipv6
  • tor_resolver_fix
  • trailing-zeroes
  • tx-not-found-error-bug
  • tx-version-type
  • txid_string_check
  • txscript_alloc_cb_change
  • txscript_zero_alloc_optimization_refactor
  • txwithkey
  • unix
  • unmarshal-networkhashps
  • update-btcecv2-no-dep
  • update-btcutil
  • update-changes
  • update-checkpoints
  • update-ci
  • update-getmempoolentry-cmd
  • update-goleveldb
  • update-goleveldb-0
  • update-gomod-btcec
  • update-guides
  • update-isMainChain-according-to-orphan
  • uptime-fix
  • use-fqdn
  • utxocache-original
  • utxoview-use-slices
  • v-0-24-2
  • v-0-25-0-rc1
  • v0-23-2-branch
  • v0-23-3-branch
  • v0.22
  • v0.25.0-beta.rc1
  • v0_22_use_chainhash_module
  • v2-module-fix
  • v2-transport-module
  • v2_transport
  • v2transport/v0.0.1-alpha
  • v2transport/v1.0.0
  • v2transport/v1.0.1
  • v3-tx-standard
  • version-bump-23
  • version-bump-23-1
  • version_0_23_0
  • vinayakb/fix_empty_tx_in_GetBlockVerboseTx
  • wire-opts
  • wire-signet
  • wire/outpoint-parse-string
  • witness-commitment-rpctest
  • witness-wire-hot-fix

05 Mar 2024 05:15PM UTC coverage: 56.763% (-0.01%) from 56.776%
8160298701

Pull #2122

github

kcalvinalvin
blockchain: don't rely on BlockHeightByHash for prune height
calculations

Since BlockHeightByHash only returns the heights for blocks that are in
the main chain, when a block that is stale gets pruned, this will cause
an error in the block height lookup and cause an error in block
processing.

Look up the node directly from the index and if the node isn't found,
just skip that node. For utxoCache.lastFlushHash, if that isn't found,
just force a flush.
Pull Request #2122: blockchain: don't rely on BlockHeightByHash for prune height calculations

9 of 23 new or added lines in 1 file covered. (39.13%)

16 existing lines in 4 files now uncovered.

29298 of 51615 relevant lines covered (56.76%)

453391.26 hits per line

Relevant lines Covered
Build:
Build:
51615 RELEVANT LINES 29298 COVERED LINES
453391.26 HITS PER LINE
Source Files on 2024-02-15-dont-rely-on-height-fetching
  • Tree
  • List 235
  • Changed 60
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
8160298701 2024-02-15-dont-rely-on-height-fetching blockchain: don't rely on BlockHeightByHash for prune height calculations Since BlockHeightByHash only returns the heights for blocks that are in the main chain, when a block that is stale gets pruned, this will cause an error in the block height... Pull #2122 05 Mar 2024 05:17PM UTC kcalvinalvin github
56.76
7990163316 2024-02-15-dont-rely-on-height-fetching blockchain: don't rely on BlockHeightByHash for prune height calculations Since BlockHeightByHash only returns the heights for blocks that are in the main chain, when a block that is stale gets pruned, this will cause an error in the block height... Pull #2122 21 Feb 2024 01:56PM UTC kcalvinalvin github
56.76
7927312115 2024-02-15-dont-rely-on-height-fetching blockchain: don't rely on BlockHeightByHash for prune height calculations Since BlockHeightByHash only returns the heights for blocks that are in the main chain, when a block that is stale gets pruned, this will cause an error in the block height... Pull #2122 16 Feb 2024 07:19AM UTC kcalvinalvin github
56.77
7927091961 2024-02-15-dont-rely-on-height-fetching blockchain: add case for pruning stale blocks Pruning stale blocks will make the block validation fail for the block that the prune was triggered on as BlockHeightByHash will not return the height for blocks that are not in the main chain. We ad... Pull #2122 16 Feb 2024 06:53AM UTC kcalvinalvin github
56.76
7913597292 2024-02-15-dont-rely-on-height-fetching blockchain: don't rely on BlockHeightByHash for prune height calculations Since BlockHeightByHash only returns the heights for blocks that are in the main chain, when a block that is stale gets pruned, this will cause an error in the block height... Pull #2122 15 Feb 2024 09:18AM UTC kcalvinalvin github
56.75
See All Builds (1020)
  • Settings
  • Repo on GitHub
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

© 2025 Coveralls, Inc