diff --git a/lib/app/shared/extension/extension.dart b/lib/app/shared/extension/extension.dart index fa173ad47..cf7b1b524 100644 --- a/lib/app/shared/extension/extension.dart +++ b/lib/app/shared/extension/extension.dart @@ -1,3 +1,4 @@ export 'credential_status.dart'; export 'iterable_extension.dart'; export 'string_extension.dart'; +export 'unit8List_extension.dart'; diff --git a/lib/app/shared/extension/unit8List_extension.dart b/lib/app/shared/extension/unit8List_extension.dart new file mode 100644 index 000000000..ceb228099 --- /dev/null +++ b/lib/app/shared/extension/unit8List_extension.dart @@ -0,0 +1,21 @@ +import 'dart:typed_data'; + +extension Uint8ListExtension on Uint8List { + Uint8List get filterPayload { + final tester = Uint8List.fromList([5, 1]); + + if (length <= 6) { + return this; + } + + if (this[0] != tester[0]) { + return this; + } + + if (this[1] != tester[1]) { + return this; + } + + return sublist(6); + } +} diff --git a/lib/dashboard/connection/sign_payload/cubit/sign_payload_cubit.dart b/lib/dashboard/connection/sign_payload/cubit/sign_payload_cubit.dart index 1eb68386b..f99c9d073 100644 --- a/lib/dashboard/connection/sign_payload/cubit/sign_payload_cubit.dart +++ b/lib/dashboard/connection/sign_payload/cubit/sign_payload_cubit.dart @@ -71,7 +71,8 @@ class SignPayloadCubit extends Cubit { encodedPayload = stringToHexPrefixedWith05(payload: payload); signingType = SigningType.raw; } - final bytes = hexToBytes(encodedPayload); + final bytes = hexToBytes(encodedPayload).filterPayload; + payloadMessage = utf8.decode(bytes, allowMalformed: true); case ConnectionBridgeType.walletconnect: diff --git a/lib/dashboard/connection/sign_payload/view/sign_payload_page.dart b/lib/dashboard/connection/sign_payload/view/sign_payload_page.dart index 6d3ef996f..f618ebebc 100644 --- a/lib/dashboard/connection/sign_payload/view/sign_payload_page.dart +++ b/lib/dashboard/connection/sign_payload/view/sign_payload_page.dart @@ -187,7 +187,7 @@ class _SignPayloadViewState extends State { textAlign: TextAlign.left, style: Theme.of(context).textTheme.titleLarge, ), - const SizedBox(height: Sizes.spaceXLarge), + const SizedBox(height: Sizes.spaceXSmall), Text( message, textAlign: TextAlign.left,