pub struct Config {
pub server_address: String,
pub esplora_address: Option<String>,
pub bitcoind_address: Option<String>,
pub bitcoind_cookiefile: Option<PathBuf>,
pub bitcoind_user: Option<String>,
pub bitcoind_pass: Option<String>,
pub vtxo_refresh_expiry_threshold: BlockHeight,
pub vtxo_exit_margin: BlockDelta,
pub htlc_recv_claim_delta: BlockDelta,
pub fallback_fee_rate: Option<FeeRate>,
pub deep_round_confirmations: BlockDelta,
}Expand description
Configuration of the Bark wallet.
- Config::esplora_address or Config::bitcoind_address must be provided.
- If you use Config::bitcoind_address, you must also provide:
- Other optional fields can be omitted.
§Example
Configure the wallet using defaults, then override endpoints for public signet:
use bark::Config;
let cfg = Config {
server_address: "https://ark.signet.2nd.dev".into(),
esplora_address: Some("https://esplora.signet.2nd.dev".into()),
..Config::network_default(bitcoin::Network::Bitcoin)
};
// cfg now has all other fields from the default configurationFields§
§server_address: StringThe address of your ark server.
esplora_address: Option<String>The address of the Esplora HTTP REST server to use.
Either this or the bitcoind_address field has to be provided.
bitcoind_address: Option<String>The address of the bitcoind RPC server to use.
Either this or the esplora_address field has to be provided.
Either bitcoind_cookiefile or bitcoind_user and bitcoind_pass has to be provided.
The path to the bitcoind rpc cookie file.
Only used with bitcoind_address.
bitcoind_user: Option<String>The bitcoind RPC username.
Only used with bitcoind_address.
bitcoind_pass: Option<String>The bitcoind RPC password.
Only used with bitcoind_address.
vtxo_refresh_expiry_threshold: BlockHeightThe number of blocks before expiration to refresh vtxos.
Default value: 288 (48 hrs)
vtxo_exit_margin: BlockDeltaAn upper limit of the number of blocks we expect to need to safely exit the vtxos.
Default value: 12
htlc_recv_claim_delta: BlockDeltaThe number of blocks to claim a HTLC-recv VTXO.
Default value: 18
fallback_fee_rate: Option<FeeRate>A fallback fee rate to use in sat/kWu when we fail to retrieve a fee rate from the configured bitcoind/esplora connection.
Example for 1 sat/vB: –fallback-fee-rate 250
deep_round_confirmations: BlockDeltaThe number of blocks after which a round tx is considered deeply confirmed.
Default value: 0 (disabled)
Implementations§
Source§impl Config
impl Config
Sourcepub fn network_default(network: Network) -> Self
pub fn network_default(network: Network) -> Self
A network-dependent default config that sets some useful defaults
The Default::default provides a sane default for mainnet
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request