bdkffi::kyoto

Struct CbfClient

Source
pub struct CbfClient { /* private fields */ }
Expand description

A CbfClient handles wallet updates from a CbfNode.

Implementations§

Source§

impl CbfClient

Source

pub async fn next_info(&self) -> Result<Info, CbfError>

Return the next available info message from a node. If none is returned, the node has stopped.

Source

pub async fn next_warning(&self) -> Result<Warning, CbfError>

Return the next available warning message from a node. If none is returned, the node has stopped.

Source

pub async fn update(&self) -> Result<Update, CbfError>

Return an Update. This is method returns once the node syncs to the rest of the network or a new block has been gossiped.

Source

pub async fn broadcast( &self, transaction: &Transaction, ) -> Result<Arc<Wtxid>, CbfError>

Broadcast a transaction to the network, erroring if the node has stopped running.

Source

pub async fn min_broadcast_feerate(&self) -> Result<Arc<FeeRate>, CbfError>

The minimum fee rate required to broadcast a transcation to all connected peers.

Source

pub async fn average_fee_rate( &self, blockhash: Arc<BlockHash>, ) -> Result<Arc<FeeRate>, CbfError>

Fetch the average fee rate for a block by requesting it from a peer. Not recommend for resource-limited devices.

Source

pub fn connect(&self, peer: Peer) -> Result<(), CbfError>

Add another Peer to attempt a connection with.

Source

pub fn lookup_host(&self, hostname: String) -> Vec<Arc<IpAddress>>

Query a Bitcoin DNS seeder using the configured resolver.

This is not a generic DNS implementation. Host names are prefixed with a x849 to filter for compact block filter nodes from the seeder. For example dns.myseeder.com will be queried as x849.dns.myseeder.com. This has no guarantee to return any IpAddr.

Source

pub fn is_running(&self) -> bool

Check if the node is still running in the background.

Source

pub fn shutdown(&self) -> Result<(), CbfError>

Stop the CbfNode. Errors if the node is already stopped.

Trait Implementations§

Source§

impl Debug for CbfClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<UT> LiftRef<UT> for CbfClient

Source§

impl<UT> LowerError<UT> for CbfClient

Source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
Source§

impl<UT> LowerReturn<UT> for CbfClient

Source§

type ReturnType = <Arc<CbfClient> as LowerReturn<UniFfiTag>>::ReturnType

The type that should be returned by scaffolding functions for this type. Read more
Source§

fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>

Lower the return value from an scaffolding call Read more
§

fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>

Lower the return value for failed argument lifts Read more
Source§

impl<UT> TypeId<UT> for CbfClient

Source§

const TYPE_ID_META: MetadataBuffer

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V