Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8a6e894
chore: remove uniffi-dart submodule from bdk-dart
chavic Sep 22, 2025
8f4ce44
chore(bdk-dart): migrate Dart package in-repo, add generator script, …
chavic Oct 1, 2025
7dfb7e7
chore(bdk-dart): add local uniffi-dart codegen binary; update generat…
chavic Oct 1, 2025
9322165
chore(bdk-dart): remove unused local Rust scaffolding (src/ and build…
chavic Oct 2, 2025
e424857
ci: run tests normally (currently failing) to surface issues
chavic Oct 2, 2025
de370f4
fix: wire root crate to bdk-ffi library sources
chavic Oct 6, 2025
901b090
generated first clean bdk bindings
chavic Oct 6, 2025
f07118e
chore: align build pipeline with upstream bdk-ffi
chavic Oct 23, 2025
b79ba38
chore: temp align to specific uniffi version
chavic Oct 25, 2025
f36571d
chore: generated dart code, but we have sequence converter error, thi…
chavic Oct 25, 2025
8fdea0f
checkpoint... tests passed
chavic Oct 27, 2025
d83dbe6
checkpoint with memory profilings upstream
chavic Oct 28, 2025
df9f724
checkpoint, reverted memory profiling in upstream code
chavic Oct 28, 2025
6ab5c20
chore: added simple ci, and removed bdk.dart from version history
chavic Oct 28, 2025
f762e68
chore: point to uniffi-dart main repo
chavic Nov 4, 2025
2b235ec
chore: formatted file
chavic Nov 4, 2025
da17b49
fix: scope dart-only args and refresh CI step label
chavic Nov 16, 2025
d2bf08e
chore: formatted test files
chavic Nov 16, 2025
b681e6c
feat: replace network example with wallet bootstrap demo
chavic Nov 16, 2025
47de04c
chore: drop `|| true` guard so `dart analyze --fatal-*` fails the bui…
chavic Nov 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: CI

on:
push:
branches: [ main, "**" ]
pull_request:
branches: [ main ]

jobs:
build-and-test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Setup Dart
uses: dart-lang/setup-dart@v1

- name: Install lipo (macOS)
if: matrix.os == 'macos-latest'
run: |
which lipo || echo 'lipo available in Xcode toolchain'

- name: Generate bindings and native library
run: |
chmod +x scripts/generate_bindings.sh
./scripts/generate_bindings.sh

- name: Ensure generated bindings exist
run: test -f lib/bdk.dart

- name: Pub get
run: dart pub get

- name: Format check
run: dart format --output=none --set-exit-if-changed .

- name: Analyze
run: dart analyze --fatal-infos --fatal-warnings

- name: Run tests
run: |
dart test
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,10 @@ Cargo.lock
Thumbs.db

# Logs
*.log
*.log

# Native libs built locally
libbdkffi.*
test_output.txt
test output.txt
lib/bdk.dart
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "uniffi-dart"]
path = uniffi-dart
url = https://github.com/NiallBunting/uniffi-rs-dart.git
[submodule "bdk-ffi"]
path = bdk-ffi
url = https://github.com/bitcoindevkit/bdk-ffi.git
21 changes: 12 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ license = "MIT OR Apache-2.0"
[lib]
crate-type = ["lib", "staticlib", "cdylib"]
name = "bdkffi"
path = "bdk-ffi/bdk-ffi/src/lib.rs"

[[bin]]
name = "uniffi-bindgen"
Expand All @@ -18,19 +19,21 @@ path = "uniffi-bindgen.rs"
default = ["uniffi/cli"]

[dependencies]
bdk_wallet = { version = "2.0.0", features = ["all-keys", "keys-bip39", "rusqlite"] }
bdk_esplora = { version = "0.22.0", default-features = false, features = ["std", "blocking", "blocking-https-rustls"] }
bdk_electrum = { version = "0.23.0", default-features = false, features = ["use-rustls-ring"] }
bdk_kyoto = { version = "0.13.1" }
bdk_wallet = { version = "2.2.0", features = ["all-keys", "keys-bip39", "rusqlite"] }
bdk_esplora = { version = "0.22.1", default-features = false, features = ["std", "blocking", "blocking-https-rustls"] }
bdk_electrum = { version = "0.23.2", default-features = false, features = ["use-rustls-ring"] }
bdk_kyoto = { version = "0.15.1" }

uniffi = { version = "=0.29.1" }
thiserror = "1.0.58"
uniffi = { version = "=0.29.4" }
uniffi-dart = { git = "https://github.com/Uniffi-Dart/uniffi-dart.git", rev = "946c5642c0521a184c4b52dcf0d203edb97f1ffc" }
thiserror = "1.0.65"

[build-dependencies]
uniffi = { version = "=0.29.1", features = ["build"] }
uniffi = { version = "=0.29.4", features = ["build"] }
uniffi-dart = { git = "https://github.com/Uniffi-Dart/uniffi-dart.git", rev = "946c5642c0521a184c4b52dcf0d203edb97f1ffc", features = ["build"] }

[dev-dependencies]
uniffi = { version = "=0.29.1", features = ["bindgen-tests"] }
uniffi = { version = "=0.29.4", features = ["bindgen-tests"] }
assert_matches = "1.5.0"

[profile.release-smaller]
Expand All @@ -39,4 +42,4 @@ opt-level = 'z' # Optimize for size.
lto = true # Enable Link Time Optimization
codegen-units = 1 # Reduce number of codegen units to increase optimizations.
panic = "abort" # Abort on panic
strip = "debuginfo" # Partially strip symbols from binary
strip = "debuginfo" # Partially strip symbols from binary
4 changes: 4 additions & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
analyzer:
exclude:
- lib/bdk.dart

2 changes: 1 addition & 1 deletion bdk-ffi
Submodule bdk-ffi updated 129 files
3 changes: 0 additions & 3 deletions build.rs

This file was deleted.

Loading