Repository navigation
feat(kyoto): bump bdk_kyoto to 0.18.0, add new-wallet sync - #1140
Closed
Romansage6 wants to merge 1 commit into
Closed
Romansage6 wants to merge 1 commit into
Romansage6 wants to merge 1 commit into
Conversation
bdk_kyoto 0.18.0 replaces `ScanType` with a type-state `SyncConfig` builder and, via the updated bip157 0.7.0 dependency, removes `Builder::data_dir` entirely (no persistence occurs in the node anymore). Port `CbfBuilder::build` to the new API and drop the now unsupported `data_dir` option. Also expose the new headers-only "fresh wallet" sync path as `ScanType::New`, mapped to `SyncConfig::new_wallet_sync()`: it syncs block headers to the active chain tip without downloading filters, which is the efficiency improvement this bump is for. Fixes bitcoindevkit#1139 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Member
|
We do not appreciate AI bots scanning our issues and one-shotting full solutions. If we don't know you, please start by interacting with us on the issues, reviewing other people's PRs, and generally be useful. This library is used in production, and is not a vibe-coded AI-slopped merging-happy library where we just click merge on any rando's PR just because. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Bumps
bdk_kyotofrom0.17.1to0.18.0. The new release replacesthe
ScanTypeenum with a type-stateSyncConfigbuilder(
sync_from_last_checkpoint,new_wallet_sync,wallet_recovery_sync)and, via the updated
bip1570.7.0 dependency, dropsBuilder::data_diroutright — the node no longer persists anything to disk.
CbfBuilder::buildis ported to build the rightSyncConfig<P>perscan type. The bdk-ffi-level
ScanTypeenum gains aNewvariantwired to
SyncConfig::new_wallet_sync(): a headers-only sync to theactive chain tip with filter downloads skipped, intended for wallets
with no revealed scripts. This is the "simpler and more efficient way
to use CBF for fresh wallets" referenced in the issue.
Notes to the reviewers
CbfBuilder::data_dir()is removed since bip157 0.7.0 no longersupports any node-side persistence (see its changelog: "
data_dirhas been removed. No persistence occurs in the node"). This is a
breaking FFI change, consistent with the issue's own expectation
("I think breaking though").
CbfBuilderalready read "Sync, recover, orstart a new wallet" before this change, so the
ScanType::Newaddition fills in behavior that was already documented but not yet
implemented.
bdk-android'sCbfSyncTest.kt, the only other place inthe repo calling the now-removed
.dataDir(...).Documentation
bdk_kyoto0.18.0SyncConfig), bip157 CHANGELOG (data_dirremoval)Changelog
changelog: breaking(removesCbfBuilder::data_dir)Checklists
All Submissions:
cargo fmtandcargo clippybefore committingchangelog:*label — no push access to add labels directly; flagged above aschangelog: breakingBugfixes:
How it was tested
From
bdk-ffi/:cargo build --lockedcargo fmt --all -- --config format_code_in_doc_comments=true --checkcargo clippy --locked --all-targets --features "uniffi/bindgen-tests"CLASSPATH=./tests/jna/jna-5.14.0.jar cargo test --locked --features uniffi/bindgen-tests— 83 passed, 0 failed, 6 ignored (require live MutinyNet Esplora access, pre-existing)cargo check --lockedto confirmCargo.lockisn't staleFixes #1139
🤖 Generated with Claude Code