Skip to content

Commit 2144477

Browse files
committed
Expose CBF through UniFFI bindings
1 parent 9d8a6ef commit 2144477

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

.github/workflows/rust.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,11 @@ jobs:
8080
- name: Test on Rust ${{ matrix.toolchain }}
8181
if: "matrix.platform != 'windows-latest'"
8282
run: |
83-
RUSTFLAGS="--cfg no_download --cfg cycle_tests" cargo test
83+
RUSTFLAGS="--cfg no_download --cfg cycle_tests" cargo test -- --skip cbf
84+
- name: Test CBF on Rust ${{ matrix.toolchain }}
85+
if: "matrix.platform != 'windows-latest'"
86+
run: |
87+
RUSTFLAGS="--cfg no_download --cfg cycle_tests" cargo test cbf -- --test-threads=1
8488
- name: Test with UniFFI support on Rust ${{ matrix.toolchain }}
8589
if: "matrix.platform != 'windows-latest' && matrix.build-uniffi"
8690
run: |

bindings/ldk_node.udl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ typedef dictionary EsploraSyncConfig;
99

1010
typedef dictionary ElectrumSyncConfig;
1111

12+
typedef dictionary CbfSyncConfig;
13+
1214
typedef interface NodeEntropy;
1315

1416
typedef enum WordCount;
@@ -36,6 +38,7 @@ interface Builder {
3638
constructor(Config config);
3739
void set_chain_source_esplora(string server_url, EsploraSyncConfig? config);
3840
void set_chain_source_electrum(string server_url, ElectrumSyncConfig? config);
41+
void set_chain_source_cbf(sequence<string> peers, CbfSyncConfig? sync_config);
3942
void set_chain_source_bitcoind_rpc(string rpc_host, u16 rpc_port, string rpc_user, string rpc_password);
4043
void set_chain_source_bitcoind_rest(string rest_host, u16 rest_port, string rpc_host, u16 rpc_port, string rpc_user, string rpc_password);
4144
void set_gossip_source_p2p();

src/config.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,7 @@ impl Default for ElectrumSyncConfig {
483483
/// Background syncing is enabled by default, using the default values specified in
484484
/// [`BackgroundSyncConfig`].
485485
#[derive(Debug, Clone, PartialEq, Eq)]
486+
#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
486487
pub struct CbfSyncConfig {
487488
/// Background sync configuration.
488489
///

src/ffi/types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ impl VssClientHeaderProvider for VssHeaderProviderAdapter {
142142
}
143143

144144
use crate::builder::sanitize_alias;
145-
pub use crate::config::{default_config, ElectrumSyncConfig, EsploraSyncConfig};
145+
pub use crate::config::{default_config, CbfSyncConfig, ElectrumSyncConfig, EsploraSyncConfig};
146146
pub use crate::entropy::{generate_entropy_mnemonic, NodeEntropy, WordCount};
147147
use crate::error::Error;
148148
pub use crate::liquidity::LSPS1OrderStatus;

0 commit comments

Comments
 (0)