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