fix: particl transactionVersion property to return 160
What changed, and why it matters
This commit changes a single number used when building Particl cryptocurrency transactions. The previous value (1) was replaced with 160, which appears to be the correct transaction version for the Particl network. Using the wrong version could cause transactions to be rejected by the network or behave unexpectedly, but the commit itself is a straightforward fix rather than an attack or vulnerability patch.
Verify that 160 is the correct and current Particl transaction version by checking the upstream Particl Core source or official documentation. Review related transaction serialization code to ensure no other Particl-specific version fields are inconsistent. Consider adding a regression test for Particl transaction version.
Security signals we found
Incorrect transaction version could lead to transaction rejection or wallet malfunction
Single-constant change suggests a bug fix rather than a complex security patch
No explicit security context provided in commit message or diff
Evidence from the diff
The patch updates the transactionVersion getter in lib/wallets/crypto_currency/coins/particl.dart from 1 to 160. In Bitcoin-derived protocols, transaction version is a field in the serialized transaction. Particl uses a non-standard version (160) for its transaction format. The old value would have produced invalid or non-standard transactions for Particl, likely leading to broadcast failures or wallet operation errors. The change aligns the wallet code with the expected network constant.
Changed components
lib/wallets/crypto_currency/coins/particl.dartParticl wallet transaction constructionInspect captured patch +1 / −1
diff --git a/lib/wallets/crypto_currency/coins/particl.dart b/lib/wallets/crypto_currency/coins/particl.dart
index 2b07aad..a631e94 100644
--- a/lib/wallets/crypto_currency/coins/particl.dart
+++ b/lib/wallets/crypto_currency/coins/particl.dart
@@ -233,7 +233,7 @@ class Particl extends Bip39HDCurrency with ElectrumXCurrencyInterface {
}
@override
- int get transactionVersion => 1;
+ int get transactionVersion => 160;
@override
BigInt get defaultFeeRate => BigInt.from(20000);
Why this scored 31/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.