use std::time::Duration;
#[derive(Clone, Debug)]
pub struct Config {
pub funding_timeout: Duration,
pub coop_timeout: Duration,
pub poll_interval: Duration,
pub fee_conf_target: u32,
pub refund_timeout: Duration,
pub trust_unsigned: bool,
}
impl Default for Config {
fn default() -> Self {
Self {
funding_timeout: Duration::from_secs(1200),
coop_timeout: Duration::from_secs(300),
poll_interval: Duration::from_secs(15),
fee_conf_target: 3,
refund_timeout: Duration::from_secs(3600),
trust_unsigned: false,
}
}
}
#[derive(Clone, Copy, Debug)]
pub struct ChainConfig {
pub min_confs: u32,
pub claim_margin: u32,
pub max_refund_csv: u32,
pub max_htlc_hold: u32,
pub max_fee_rate: f64,
pub block_time: u64,
}
impl ChainConfig {
pub fn bitcoin() -> Self {
Self {
min_confs: 3,
claim_margin: 252,
max_refund_csv: 1008,
max_htlc_hold: 504,
max_fee_rate: 100.0,
block_time: 600,
}
}
pub fn liquid() -> Self {
Self {
min_confs: 2,
claim_margin: 2520,
max_refund_csv: 10080,
max_htlc_hold: 5040,
max_fee_rate: 1.0,
block_time: 60,
}
}
}