What changed, and why it matters
This commit raises the per-transaction cap on sending Firo from a Spark (privacy) address to a regular transparent address from 10,000 Firo to 50,000 Firo. It is a configuration/limit change, not a code flaw. There is no indication it fixes a vulnerability; it simply aligns the wallet with a higher protocol-level limit.
No security action required. Treat as a routine limit increase. If reviewing for compliance, verify the new 50,000 Firo limit matches the current upstream Spark protocol specification.
Security signals we found
Client-side limit raised from 10,000 to 50,000 Firo for Spark-to-transparent spends
Exception message updated to reflect new threshold
No cryptographic, network, or access-control changes
Evidence from the diff
The change updates a client-side validation check in spark_interface.dart. The threshold for transparentSumOut is increased from 10,000 to 50,000 Firo, and the exception message is updated accordingly. The comments reference upstream Spark constants and note the new value is 5x the previous one. No logic, cryptographic, or network code is modified.
Changed components
lib/wallets/wallet/wallet_mixin_interfaces/spark_interface.dartInspect captured patch +4 / −2
diff --git a/lib/wallets/wallet/wallet_mixin_interfaces/spark_interface.dart b/lib/wallets/wallet/wallet_mixin_interfaces/spark_interface.dart
index 138b58d..3b4e819 100644
--- a/lib/wallets/wallet/wallet_mixin_interfaces/spark_interface.dart
+++ b/lib/wallets/wallet/wallet_mixin_interfaces/spark_interface.dart
@@ -499,13 +499,15 @@ mixin SparkInterface<T extends ElectrumXCurrencyInterface>
// See SPARK_VALUE_SPEND_LIMIT_PER_TRANSACTION at https://github.com/firoorg/sparkmobile/blob/ef2e39aae18ecc49e0ddc63a3183e9764b96012e/include/spark.h#L17
// and COIN https://github.com/firoorg/sparkmobile/blob/ef2e39aae18ecc49e0ddc63a3183e9764b96012e/bitcoin/amount.h#L17
// Note that as MAX_MONEY is greater than this limit, we can ignore it. See https://github.com/firoorg/sparkmobile/blob/ef2e39aae18ecc49e0ddc63a3183e9764b96012e/bitcoin/amount.h#L31
+ // NOTE: This was updated to 5x what is was before (previously 10k)
if (transparentSumOut >
Amount.fromDecimal(
- Decimal.parse("10000"),
+ Decimal.parse("50000"),
fractionDigits: cryptoCurrency.fractionDigits,
)) {
throw Exception(
- "Spend to transparent address limit exceeded (10,000 Firo per transaction).",
+ "Spend to transparent address limit exceeded "
+ "(50,000 Firo per transaction).",
);
}
Why this scored 19/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.