feat(chain)!: KeychainTxOutIndex uses a universal lookahead
The wallet is currently created without setting any lookahead value for the keychain. This implicitly makes it a lookahead of 0. As this is a high-level interface we should avoid footguns and aim for a reasonable default. Instead of simply patching it for wallet, we alter `KeychainTxOutIndex` to have a default lookahead value. Additionally, instead of a per-keychain lookahead, the constructor asks for a `lookahead` value. This avoids the footguns of having methods which allows the caller the decrease the `lookahead` (and therefore panicing). This also simplifies the API. Co-authored-by: Antoine Poisot <darosior@protonmail.com> Co-authored-by: 志宇 <hello@evanlinjin.me>
This commit is contained in:
@@ -64,9 +64,6 @@ struct RpcArgs {
|
||||
/// Starting block height to fallback to if no point of agreement if found
|
||||
#[clap(env = "FALLBACK_HEIGHT", long, default_value = "0")]
|
||||
fallback_height: u32,
|
||||
/// The unused-scripts lookahead will be kept at this size
|
||||
#[clap(long, default_value = "10")]
|
||||
lookahead: u32,
|
||||
}
|
||||
|
||||
impl From<RpcArgs> for Auth {
|
||||
@@ -161,13 +158,9 @@ fn main() -> anyhow::Result<()> {
|
||||
match rpc_cmd {
|
||||
RpcCommands::Sync { rpc_args } => {
|
||||
let RpcArgs {
|
||||
fallback_height,
|
||||
lookahead,
|
||||
..
|
||||
fallback_height, ..
|
||||
} = rpc_args;
|
||||
|
||||
graph.lock().unwrap().index.set_lookahead_for_all(lookahead);
|
||||
|
||||
let chain_tip = chain.lock().unwrap().tip();
|
||||
let rpc_client = rpc_args.new_client()?;
|
||||
let mut emitter = Emitter::new(&rpc_client, chain_tip, fallback_height);
|
||||
@@ -233,13 +226,10 @@ fn main() -> anyhow::Result<()> {
|
||||
}
|
||||
RpcCommands::Live { rpc_args } => {
|
||||
let RpcArgs {
|
||||
fallback_height,
|
||||
lookahead,
|
||||
..
|
||||
fallback_height, ..
|
||||
} = rpc_args;
|
||||
let sigterm_flag = start_ctrlc_handler();
|
||||
|
||||
graph.lock().unwrap().index.set_lookahead_for_all(lookahead);
|
||||
let last_cp = chain.lock().unwrap().tip();
|
||||
|
||||
println!(
|
||||
|
||||
Reference in New Issue
Block a user