fedimint / fedimint

Federated E-Cash Mint
https://fedimint.org/
MIT License
536 stars 209 forks source link

fix(wallet-client): ignores rpc env var settings #5113

Open dpc opened 3 weeks ago

dpc commented 3 weeks ago

Edit: See note below.

At least in devimint wallet-client will ignore env vars because it's bitcoind, only to switch to defaults from config ... which are also bitcoind.

dpc commented 3 weeks ago

Oh. I see. We set in devimint the Federation to contain:

        .attach_config_gen_params(
            WalletInit::kind(),
            WalletGenParams {
                local: WalletGenParamsLocal {
                    bitcoin_rpc: bitcoin_rpc.clone(),
                },
                consensus: WalletGenParamsConsensus {
                    network,
                    // TODO this is not very elegant, but I'm planning to get rid of it in a next
                    // commit anyway
                    finality_delay,
                    client_default_bitcoin_rpc: default_esplora_server(
                        bitcoin29_to_bitcoin30_network(network),
                    ),
                    fee_consensus: Default::default(),
                },
            },
        );

Because bitcoind is borked.

Bummer, why do we need so many hacks? :D

AFAIK, we could fix that bitcoind backend by just importing address descriptor for every individual address, or something like that.

But also - is client_default_bitcoin_rpc supposed to be a thing, or is it just a hack? Is Federation supposed to tell the client what backend to use by default?

elsirion commented 2 weeks ago

But also - is client_default_bitcoin_rpc supposed to be a thing, or is it just a hack? Is Federation supposed to tell the client what backend to use by default?

It's a hack to avoid needing modularized, user-provided config for the client :sob: I'd say ideally integrators should just choose a sensible default or make it configurable.