Skip to content
Snippets Groups Projects
Commit 8301008d authored by poka's avatar poka
Browse files

fix 5.dart mnemonic Null check operator used on a null value

parent b0479b82
No related branches found
No related tags found
No related merge requests found
Pipeline #40125 waiting for manual action
......@@ -150,8 +150,9 @@ class GenerateWalletsProvider with ChangeNotifier {
notifyListeners();
}
Future<List<String>> generateWordList(BuildContext context) async {
Future<List<String>?> generateWordList(BuildContext context) async {
final sub = Provider.of<SubstrateSdk>(context, listen: false);
if (!sub.sdkReady) return null;
generatedMnemonic = await sub.generateMnemonic(lang: appLang);
List<String> wordsList = [];
......@@ -328,9 +329,11 @@ class GenerateWalletsProvider with ChangeNotifier {
}
Future<bool> scanRootBalance(SubstrateSdk sub, int currentChestNumber, String pinCode) async {
if (sub.currencyParameters['ss58'] == null || generatedMnemonic == null) return false;
final addressData =
await sub.sdk.api.keyring.addressFromMnemonic(sub.currencyParameters['ss58']!, cryptoType: CryptoType.sr25519, mnemonic: generatedMnemonic!);
if (addressData.address == null) return false;
final balance = await sub.getBalance(addressData.address!).timeout(
const Duration(seconds: 1),
onTimeout: () => {},
......
......@@ -32,6 +32,8 @@ class OnboardingStepFive extends StatefulWidget {
class _ChooseChestState extends State<OnboardingStepFive> {
List<String>? mnemonicList;
bool isLoading = false;
final generateWalletProvider = Provider.of<GenerateWalletsProvider>(homeContext, listen: false);
bool get isMnemonicGenerated => generateWalletProvider.generatedMnemonic != null;
@override
void initState() {
......@@ -40,11 +42,10 @@ class _ChooseChestState extends State<OnboardingStepFive> {
}
Future<void> _generateMnemonicList() async {
final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false);
final list = await generateWalletProvider.generateWordList(context);
if (mounted) {
setState(() {
mnemonicList = list.cast<String>();
mnemonicList = list?.cast<String>();
isLoading = false;
});
}
......@@ -140,8 +141,6 @@ class _ChooseChestState extends State<OnboardingStepFive> {
@override
Widget build(BuildContext context) {
final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false);
return Scaffold(
backgroundColor: backgroundColor,
appBar: GeckoAppBar('yourMnemonic'.tr()),
......@@ -171,10 +170,12 @@ class _ChooseChestState extends State<OnboardingStepFive> {
backgroundColor: orangeC,
elevation: 1,
),
onPressed: () {
Clipboard.setData(ClipboardData(text: generateWalletProvider.generatedMnemonic!));
snackCopySeed(context);
},
onPressed: isMnemonicGenerated
? () {
Clipboard.setData(ClipboardData(text: generateWalletProvider.generatedMnemonic!));
snackCopySeed(context);
}
: null,
child: Row(children: <Widget>[
Image.asset(
'assets/walletOptions/copy-white.png',
......@@ -252,44 +253,45 @@ class _ChooseChestState extends State<OnboardingStepFive> {
),
);
}
}
Widget nextButton(BuildContext context, String text, bool isFast, bool skipIntro) {
final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false);
final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false);
return ScaledSizedBox(
width: 350,
height: 55,
child: ElevatedButton(
key: keyGoNext,
style: ElevatedButton.styleFrom(
foregroundColor: Colors.white,
backgroundColor: orangeC,
elevation: 2,
padding: const EdgeInsets.symmetric(vertical: 8),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
Widget nextButton(BuildContext context, String text, bool isFast, bool skipIntro) {
final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false);
return ScaledSizedBox(
width: 350,
height: 55,
child: ElevatedButton(
key: keyGoNext,
style: ElevatedButton.styleFrom(
foregroundColor: Colors.white,
backgroundColor: orangeC,
elevation: 2,
padding: const EdgeInsets.symmetric(vertical: 8),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
shadowColor: orangeC.withValues(alpha: 0.3),
),
shadowColor: orangeC.withValues(alpha: 0.3),
),
onPressed: () {
generateWalletProvider.nbrWord = generateWalletProvider.getRandomInt();
generateWalletProvider.nbrWordAlpha = generateWalletProvider.intToString(generateWalletProvider.nbrWord + 1);
myWalletProvider.mnemonic = generateWalletProvider.generatedMnemonic!;
onPressed: isMnemonicGenerated
? () {
generateWalletProvider.nbrWord = generateWalletProvider.getRandomInt();
generateWalletProvider.nbrWordAlpha = generateWalletProvider.intToString(generateWalletProvider.nbrWord + 1);
myWalletProvider.mnemonic = generateWalletProvider.generatedMnemonic!;
Navigator.push(
context,
FaderTransition(page: OnboardingStepSix(generatedMnemonic: generateWalletProvider.generatedMnemonic, skipIntro: skipIntro), isFast: true),
);
},
child: Text(
text,
style: scaledTextStyle(
fontSize: 18,
fontWeight: FontWeight.w500,
color: Colors.white,
Navigator.push(
context,
FaderTransition(page: OnboardingStepSix(generatedMnemonic: generateWalletProvider.generatedMnemonic, skipIntro: skipIntro), isFast: true),
);
}
: null,
child: Text(
text,
style: scaledTextStyle(
fontSize: 18,
fontWeight: FontWeight.w500,
color: Colors.white,
),
),
),
),
);
);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment