From 104d00ff7e5afe7490c0a4a1963bac0340a962b9 Mon Sep 17 00:00:00 2001 From: poka Date: Sat, 28 May 2022 00:17:50 +0200 Subject: [PATCH] feat: Change short pubkey format --- lib/providers/substrate_sdk.dart | 15 ++------------- lib/providers/wallet_options.dart | 19 ------------------- lib/providers/wallets_profiles.dart | 21 +-------------------- lib/screens/history.dart | 3 ++- lib/screens/myWallets/wallet_options.dart | 10 ++-------- lib/screens/search_result.dart | 5 +++-- lib/screens/transaction_in_progress.dart | 2 +- lib/screens/wallet_view.dart | 2 +- 8 files changed, 12 insertions(+), 65 deletions(-) diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index 14a583a..367ecfd 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -1,7 +1,5 @@ // ignore_for_file: avoid_print -import 'package:crypto/crypto.dart'; -import 'package:fast_base58/fast_base58.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; @@ -54,7 +52,6 @@ class SubstrateSdk with ChangeNotifier { n.ss58 = ss58; node.add(n); } - int timeout = 10000; // if (n.endpoint!.startsWith('ws://')) { @@ -520,18 +517,10 @@ void snackNode(BuildContext context, bool isConnected) { } String getShortPubkey(String pubkey) { - List pubkeyByte = Base58Decode(pubkey); - Digest pubkeyS256 = sha256.convert(sha256.convert(pubkeyByte).bytes); - String pubkeyCheksum = Base58Encode(pubkeyS256.bytes); - String pubkeyChecksumShort = - truncate(pubkeyCheksum, 3, omission: "", position: TruncatePosition.end); - - String pubkeyShort = truncate(pubkey, 5, + String pubkeyShort = truncate(pubkey, 7, omission: String.fromCharCode(0x2026), position: TruncatePosition.end) + - truncate(pubkey, 4, omission: "", position: TruncatePosition.start) + - ':$pubkeyChecksumShort'; - + truncate(pubkey, 6, omission: "", position: TruncatePosition.start); return pubkeyShort; } diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart index 178c9a9..553f149 100644 --- a/lib/providers/wallet_options.dart +++ b/lib/providers/wallet_options.dart @@ -1,6 +1,4 @@ import 'dart:io'; -import 'package:crypto/crypto.dart'; -import 'package:fast_base58/fast_base58.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; @@ -9,7 +7,6 @@ import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/providers/substrate_sdk.dart'; import 'package:image_picker/image_picker.dart'; import 'package:provider/provider.dart'; -import 'package:truncate/truncate.dart'; class WalletOptionsProvider with ChangeNotifier { TextEditingController address = TextEditingController(); @@ -108,22 +105,6 @@ class WalletOptionsProvider with ChangeNotifier { ); } - String getShortPubkey(String pubkey) { - List pubkeyByte = Base58Decode(pubkey); - Digest pubkeyS256 = sha256.convert(sha256.convert(pubkeyByte).bytes); - String pubkeyCheksum = Base58Encode(pubkeyS256.bytes); - String pubkeyChecksumShort = truncate(pubkeyCheksum, 3, - omission: "", position: TruncatePosition.end); - - String pubkeyShort = truncate(pubkey, 5, - omission: String.fromCharCode(0x2026), - position: TruncatePosition.end) + - truncate(pubkey, 4, omission: "", position: TruncatePosition.start) + - ':$pubkeyChecksumShort'; - - return pubkeyShort; - } - void bluringBalance() { isBalanceBlur = !isBalanceBlur; notifyListeners(); diff --git a/lib/providers/wallets_profiles.dart b/lib/providers/wallets_profiles.dart index 27ac874..564c20f 100644 --- a/lib/providers/wallets_profiles.dart +++ b/lib/providers/wallets_profiles.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; +import 'package:gecko/providers/substrate_sdk.dart'; import 'package:gecko/screens/wallet_view.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:jdenticon_dart/jdenticon_dart.dart'; @@ -8,9 +9,6 @@ import 'package:permission_handler/permission_handler.dart'; import 'package:qrscan/qrscan.dart' as scanner; import 'dart:math'; import 'package:intl/intl.dart'; -import 'package:truncate/truncate.dart'; -import 'package:crypto/crypto.dart'; -import 'package:fast_base58/fast_base58.dart'; class WalletsProfilesProvider with ChangeNotifier { WalletsProfilesProvider(this.pubkey); @@ -105,23 +103,6 @@ class WalletsProfilesProvider with ChangeNotifier { } } - String getShortPubkey(String pubkey) { - // log.d(pubkey); - List pubkeyByte = Base58Decode(pubkey); - Digest pubkeyS256 = sha256.convert(sha256.convert(pubkeyByte).bytes); - String pubkeyCheksum = Base58Encode(pubkeyS256.bytes); - String pubkeyChecksumShort = truncate(pubkeyCheksum, 3, - omission: "", position: TruncatePosition.end); - - pubkeyShort = truncate(pubkey, 5, - omission: String.fromCharCode(0x2026), - position: TruncatePosition.end) + - truncate(pubkey, 4, omission: "", position: TruncatePosition.start) + - ':$pubkeyChecksumShort'; - - return pubkeyShort; - } - // poka: Do99s6wQR2JLfhirPdpAERSjNbmjjECzGxHNJMiNKT3P // Pi: D2meevcAHFTS2gQMvmRW5Hzi25jDdikk4nC4u1FkwRaU // For debug // Boris: JE6mkuzSpT3ePciCPRTpuMT9fqPUVVLJz2618d33p7tn diff --git a/lib/screens/history.dart b/lib/screens/history.dart index a3b5c44..5f96254 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -2,6 +2,7 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/providers/cesium_plus.dart'; import 'package:gecko/models/queries.dart'; +import 'package:gecko/providers/substrate_sdk.dart'; import 'package:gecko/providers/wallets_profiles.dart'; import 'package:flutter/material.dart'; import 'package:gecko/screens/avatar_fullscreen.dart'; @@ -406,7 +407,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { snackCopyKey(context); }, child: Text( - _historyProvider.getShortPubkey(pubkey!), + getShortPubkey(pubkey!), style: const TextStyle( fontSize: 30, fontWeight: FontWeight.w800, diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index bc65d66..7e313c9 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -239,8 +239,7 @@ class WalletOptions extends StatelessWidget { } Widget pubkeyWidget(WalletOptionsProvider walletProvider, BuildContext ctx) { - final String shortPubkey = - walletProvider.getShortPubkey(walletProvider.address.text); + final String shortPubkey = getShortPubkey(walletProvider.address.text); return GestureDetector( key: const Key('copyPubkey'), onTap: () { @@ -256,17 +255,12 @@ class WalletOptions extends StatelessWidget { height: 45, ), const SizedBox(width: 20), - Text("${shortPubkey.split(':')[0]}:", + Text(shortPubkey, style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w800, fontFamily: 'Monospace', color: Colors.black)), - Text(shortPubkey.split(':')[1], - style: const TextStyle( - fontSize: 22, - fontWeight: FontWeight.w800, - fontFamily: 'Monospace')), const SizedBox(width: 15), SizedBox( height: 40, diff --git a/lib/screens/search_result.dart b/lib/screens/search_result.dart index d619d70..b626d8e 100644 --- a/lib/screens/search_result.dart +++ b/lib/screens/search_result.dart @@ -3,6 +3,7 @@ import 'package:gecko/globals.dart'; import 'package:flutter/material.dart'; import 'package:gecko/providers/cesium_plus.dart'; import 'package:gecko/models/g1_wallets_list.dart'; +import 'package:gecko/providers/substrate_sdk.dart'; import 'package:gecko/providers/wallet_options.dart'; import 'package:gecko/providers/wallets_profiles.dart'; import 'package:gecko/providers/search.dart'; @@ -126,8 +127,8 @@ class SearchResultScreen extends StatelessWidget { }), title: Row(children: [ Text( - _walletsProfilesClass - .getShortPubkey(g1Wallet.pubkey!), + + getShortPubkey(g1Wallet.pubkey!), style: const TextStyle( fontSize: 18, fontFamily: 'Monospace', diff --git a/lib/screens/transaction_in_progress.dart b/lib/screens/transaction_in_progress.dart index 9a275a3..8cb179e 100644 --- a/lib/screens/transaction_in_progress.dart +++ b/lib/screens/transaction_in_progress.dart @@ -31,7 +31,7 @@ class TransactionInProgress extends StatelessWidget { log.d(_walletViewProvider.pubkey!); final from = _myWalletProvider.getDefaultWallet()!.name!; - final to = _walletViewProvider.getShortPubkey(_walletViewProvider.pubkey!); + final to = getShortPubkey(_walletViewProvider.pubkey!); final amount = _walletViewProvider.payAmount.text; String _actionName = ''; diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart index 4ff7190..b5cefa0 100644 --- a/lib/screens/wallet_view.dart +++ b/lib/screens/wallet_view.dart @@ -519,7 +519,7 @@ class WalletViewScreen extends StatelessWidget { snackCopyKey(context); }, child: Text( - _historyProvider.getShortPubkey(pubkey!), + getShortPubkey(pubkey!), style: const TextStyle( fontSize: 30, fontWeight: FontWeight.w800,