From b890fe61dbb6c1a3d1bb860efcea16084c82012a Mon Sep 17 00:00:00 2001 From: likho <likhojiba@gmail.com> Date: Tue, 6 Dec 2022 20:22:14 +0200 Subject: [PATCH] Fix trailing bytes issue --- .../coins/particl/particl_wallet.dart | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/lib/services/coins/particl/particl_wallet.dart b/lib/services/coins/particl/particl_wallet.dart index 9a0f5da36..f837b3839 100644 --- a/lib/services/coins/particl/particl_wallet.dart +++ b/lib/services/coins/particl/particl_wallet.dart @@ -3134,9 +3134,22 @@ class ParticlWallet extends CoinServiceAPI { String hexBefore = builtTx.toHex().toString(); - String strippedTrailingBytes = - hexBefore.replaceAll(RegExp(r"([.]*0+)(?!.*\d)"), ""); - return {"hex": strippedTrailingBytes, "vSize": vSize}; + // String strippedTrailingBytes = + // hexBefore.replaceAll(RegExp(r"([.]*0+)(?!.*\d)"), ""); + // return {"hex": strippedTrailingBytes, "vSize": vSize}; + + if (hexBefore.endsWith('000000')) { + String stripped = hexBefore.substring(0, hexBefore.length - 6); + return {"hex": stripped, "vSize": vSize}; + } else if (hexBefore.endsWith('0000')) { + String stripped = hexBefore.substring(0, hexBefore.length - 4); + return {"hex": stripped, "vSize": vSize}; + } else if (hexBefore.endsWith('00')) { + String stripped = hexBefore.substring(0, hexBefore.length - 2); + return {"hex": stripped, "vSize": vSize}; + } else { + return {"hex": hexBefore, "vSize": vSize}; + } } @override