What changed, and why it matters
This commit updates build configuration scripts for two app variants (Campfire and Stack Duo) and restructures a shared template that lists software dependencies. It wraps optional cryptocurrency and privacy features (such as Firo, Xelis, Epic Cash, Tor, Monero, Salvium, and Mimblewimble) in conditional placeholders so each app variant can enable only the components it needs. There is no direct evidence in the commit of a security vulnerability or malicious change; it appears to be a build-system cleanup.
Treat as a routine build-configuration change. Reviewers may optionally verify that process_pubspec_deps.dart and gen_interfaces.dart correctly handle the placeholder markers and do not introduce unintended dependencies, but no immediate security action is required based on this commit alone.
Security signals we found
No direct security fix or vulnerability present in the diff
Build scripts now call external Dart tooling with feature flags
Template dependencies are gated by placeholder markers for optional crypto/privacy plugins
No changes to runtime permissions, authentication, encryption, or network code
Evidence from the diff
The diff modifies three files under scripts/app_config. configure_campfire.sh and configure_stack_duo.sh now invoke two Dart tools (process_pubspec_deps.dart and gen_interfaces.dart) with per-variant feature flags (TOR/FIRO for Campfire; XMR/TOR/FROST for Stack Duo). The pubspec.template.yaml replaces unconditional dependency declarations with commented-out %%ENABLE_*%% blocks. This lets the configuration scripts strip or keep dependencies based on the target app. No code logic, cryptographic handling, or network behavior is changed in the diff itself.
Changed components
scripts/app_config/configure_campfire.shscripts/app_config/configure_stack_duo.shscripts/app_config/templates/pubspec.template.yamlInspect captured patch +72 / −32
diff --git a/scripts/app_config/configure_campfire.sh b/scripts/app_config/configure_campfire.sh
index 258058a..8f25938 100755
--- a/scripts/app_config/configure_campfire.sh
+++ b/scripts/app_config/configure_campfire.sh
@@ -29,6 +29,17 @@ else
sed -i "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" "${PUBSPEC_FILE}"
fi
+dart "${APP_PROJECT_ROOT_DIR}/tool/process_pubspec_deps.dart" \
+ "${PUBSPEC_FILE}" \
+ TOR \
+ FIRO
+
+dart "${APP_PROJECT_ROOT_DIR}/tool/gen_interfaces.dart" \
+ "${APP_PROJECT_ROOT_DIR}/tool/wl_templates" \
+ "${APP_PROJECT_ROOT_DIR}/lib/wl_gen/generated" \
+ TOR \
+ FIRO
+
pushd "${APP_PROJECT_ROOT_DIR}"
BUILT_COMMIT_HASH=$(git log -1 --pretty=format:"%H")
popd
diff --git a/scripts/app_config/configure_stack_duo.sh b/scripts/app_config/configure_stack_duo.sh
index 4c871ff..17de39b 100755
--- a/scripts/app_config/configure_stack_duo.sh
+++ b/scripts/app_config/configure_stack_duo.sh
@@ -23,6 +23,19 @@ else
sed -i "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" "${PUBSPEC_FILE}"
fi
+dart "${APP_PROJECT_ROOT_DIR}/tool/process_pubspec_deps.dart" \
+ "${PUBSPEC_FILE}" \
+ XMR \
+ TOR \
+ FROST
+
+dart "${APP_PROJECT_ROOT_DIR}/tool/gen_interfaces.dart" \
+ "${APP_PROJECT_ROOT_DIR}/tool/wl_templates" \
+ "${APP_PROJECT_ROOT_DIR}/lib/wl_gen/generated" \
+ XMR \
+ TOR \
+ FROST
+
pushd "${APP_PROJECT_ROOT_DIR}"
BUILT_COMMIT_HASH=$(git log -1 --pretty=format:"%H")
popd
diff --git a/scripts/app_config/templates/pubspec.template.yaml b/scripts/app_config/templates/pubspec.template.yaml
index 98a63db..39da588 100644
--- a/scripts/app_config/templates/pubspec.template.yaml
+++ b/scripts/app_config/templates/pubspec.template.yaml
@@ -24,18 +24,56 @@ dependencies:
mutex: ^3.0.0
web_socket_channel: ^2.4.0
- frostdart:
- path: ./crypto_plugins/frostdart
+# %%ENABLE_FROST%%
+# frostdart:
+# path: ./crypto_plugins/frostdart
+# %%END_ENABLE_FROST%%
+
+# %%ENABLE_XEL%%
+# xelis_flutter:
+# git:
+# url: https://github.com/cypherstack/xelis-flutter-ffi.git
+# ref: 5dd5c50713160fa15fb06ff44886ae035eed62fd
+# %%END_ENABLE_XEL%%
+
+# %%ENABLE_FIRO%%
+# flutter_libsparkmobile:
+# git:
+# url: https://github.com/cypherstack/flutter_libsparkmobile.git
+# ref: 84a139a25ab1691762002fafcae351e3d444a5c7
+# %%END_ENABLE_FIRO%%
+
+# %%ENABLE_EPIC%%
+# flutter_libepiccash:
+# path: ./crypto_plugins/flutter_libepiccash
+# %%END_ENABLE_EPIC%%
- xelis_flutter:
- git:
- url: https://github.com/cypherstack/xelis-flutter-ffi.git
- ref: 5dd5c50713160fa15fb06ff44886ae035eed62fd
+# %%ENABLE_MWC%%
+# flutter_libmwc:
+# path: ./crypto_plugins/flutter_libmwc
+# %%END_ENABLE_MWC%%
- flutter_libsparkmobile:
- git:
- url: https://github.com/cypherstack/flutter_libsparkmobile.git
- ref: 84a139a25ab1691762002fafcae351e3d444a5c7
+# %%ENABLE_TOR%%
+# tor_ffi_plugin:
+# git:
+# url: https://github.com/cypherstack/tor.git
+# ref: 21077186e6bf773ec8a7cd57ef149b2cee5daa7b
+# %%END_ENABLE_TOR%%
+
+# %%ENABLE_XMR%%
+# cs_monero: 1.0.0-pre.3
+# cs_monero_flutter_libs: 1.0.0-pre.0
+# monero_rpc: ^2.0.0
+# %%END_ENABLE_XMR%%
+
+# %%ENABLE_SAL%%
+# cs_salvium: ^1.2.1
+# cs_salvium_flutter_libs: ^1.0.4
+# %%END_ENABLE_SAL%%
+
+# %%ENABLE_MWEB%%
+# flutter_mwebd: ^0.0.1-pre.8
+# %%END_ENABLE_MWEB%%
# cs_monero compat (unpublished)
compat:
@@ -44,14 +82,6 @@ dependencies:
path: compat
ref: 44b8c0f8e1cc7ddbfa33c0b3f11279e64646138
- flutter_libepiccash:
- path: ./crypto_plugins/flutter_libepiccash
-
-# %%ENABLE_MWC%%
-# flutter_libmwc:
-# path: ./crypto_plugins/flutter_libmwc
-# %%END_ENABLE_MWC%%
-
bitcoindart:
git:
url: https://github.com/cypherstack/bitcoindart.git
@@ -67,11 +97,6 @@ dependencies:
url: https://github.com/cypherstack/bip47.git
ref: a6e7941b98a43a613708b1a12564bc17e712cfc7
- tor_ffi_plugin:
- git:
- url: https://github.com/cypherstack/tor.git
- ref: 21077186e6bf773ec8a7cd57ef149b2cee5daa7b
-
fusiondart:
git:
url: https://github.com/cypherstack/fusiondart.git
@@ -192,7 +217,6 @@ dependencies:
calendar_date_picker2: ^1.0.2
sqlite3: 2.9.0
sqlite3_flutter_libs: 0.5.25
-# camera_linux: ^0.0.8
camera_linux:
git:
url: https://github.com/cypherstack/camera-linux
@@ -207,11 +231,7 @@ dependencies:
blockchain_utils: ^3.3.0
on_chain: ^4.0.1
cbor: ^6.3.3
- cs_monero: 1.0.0-pre.3
- cs_monero_flutter_libs: 1.0.0-pre.0
- monero_rpc: ^2.0.0
digest_auth: ^1.0.1
-# logger: ^2.5.0
logger:
git:
url: https://github.com/cypherstack/logger
@@ -223,9 +243,6 @@ dependencies:
drift: ^2.28.2
drift_flutter: ^0.2.7
path: ^1.9.1
- cs_salvium: ^1.2.1
- cs_salvium_flutter_libs: ^1.0.4
- flutter_mwebd: ^0.0.1-pre.8
mweb_client: ^0.2.0
fixnum: ^1.1.1
@@ -241,7 +258,6 @@ dev_dependencies:
hive_test: ^1.0.1
mockito: ^5.4.6
mockingjay: ^0.2.0
-# lint: ^1.10.0
analyzer: ^8.2.2
import_sorter: ^4.6.0
flutter_lints: ^3.0.1
Why this scored 17/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.