From 9f9959f72f973dd63975fa70eee0b777ae104fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Olav?= Date: Tue, 30 Sep 2025 20:30:22 +0200 Subject: [PATCH] clients: set bitcoin core blocks dir for enforcer --- sail_ui/lib/rpcs/enforcer_rpc.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sail_ui/lib/rpcs/enforcer_rpc.dart b/sail_ui/lib/rpcs/enforcer_rpc.dart index 3f498b7f0..d707b443b 100644 --- a/sail_ui/lib/rpcs/enforcer_rpc.dart +++ b/sail_ui/lib/rpcs/enforcer_rpc.dart @@ -100,11 +100,27 @@ class EnforcerLive extends EnforcerRPC { '--node-rpc-pass=${mainchainConf.password}', '--node-rpc-user=${mainchainConf.username}', '--node-rpc-addr=$host:${mainchainConf.port}', + '--node-blocks-dir=${coreBlocksDir(mainchainConf)}', '--enable-wallet', if (binary.extraBootArgs.isNotEmpty) ...binary.extraBootArgs, ]; } + String coreBlocksDir(CoreConnectionSettings mainchainConf) { + // Determine the blocks directory + if (mainchainConf.configValues.containsKey('blocksdir')) { + // If blocksdir is explicitly set, use it directly + return path.join(mainchainConf.configValues['blocksdir']!, 'blocks'); + } else if (mainchainConf.configValues.containsKey('datadir')) { + // If datadir is set, use datadir/blocks + return path.join(mainchainConf.configValues['datadir']!, 'blocks'); + } else { + // If neither is set, use default datadir/blocks + final defaultDatadir = BitcoinCore().datadir(); + return path.join(defaultDatadir, 'blocks'); + } + } + @override Map get environment { return {'RUST_BACKTRACE': '1'};