fix: no need of nullable defaultWallet

This commit is contained in:
poka 2022-06-02 15:43:22 +02:00
parent 6143a05596
commit e7e4bca4e3
9 changed files with 38 additions and 18 deletions

View File

@ -71,13 +71,13 @@ class MyWalletsProvider with ChangeNotifier {
return _targetedWallet; return _targetedWallet;
} }
WalletData? getDefaultWallet([int? chest]) { WalletData getDefaultWallet([int? chest]) {
if (chestBox.isEmpty) { if (chestBox.isEmpty) {
return WalletData(chest: 0, number: 0); return WalletData(chest: 0, number: 0);
} else { } else {
chest ??= getCurrentChest(); chest ??= getCurrentChest();
int? defaultWalletNumber = chestBox.get(chest)!.defaultWallet; int? defaultWalletNumber = chestBox.get(chest)!.defaultWallet;
return getWalletDataById([chest, defaultWalletNumber]); return getWalletDataById([chest, defaultWalletNumber])!;
} }
} }
@ -122,7 +122,7 @@ class MyWalletsProvider with ChangeNotifier {
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false); SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
WalletData defaultWallet = getDefaultWallet()!; WalletData defaultWallet = getDefaultWallet();
final address = await _sub.derive( final address = await _sub.derive(
context, defaultWallet.address!, _newDerivationNbr, pinCode); context, defaultWallet.address!, _newDerivationNbr, pinCode);
@ -160,7 +160,7 @@ class MyWalletsProvider with ChangeNotifier {
} }
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false); SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
WalletData defaultWallet = _myWalletProvider.getDefaultWallet()!; WalletData defaultWallet = _myWalletProvider.getDefaultWallet();
final address = final address =
await _sub.generateRootKeypair(defaultWallet.address!, pinCode); await _sub.generateRootKeypair(defaultWallet.address!, pinCode);

View File

@ -105,7 +105,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier {
), ),
onPressed: () async { onPressed: () async {
WalletData defaultWallet = WalletData defaultWallet =
_myWalletProvider.getDefaultWallet()!; _myWalletProvider.getDefaultWallet();
String? _pin; String? _pin;
if (_myWalletProvider.pinCode == '') { if (_myWalletProvider.pinCode == '') {

View File

@ -79,7 +79,7 @@ class ChooseWalletScreen extends StatelessWidget {
final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); final bool isWalletsExists = _myWalletProvider.checkIfWalletExist();
WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); WalletData? defaultWallet = _myWalletProvider.getDefaultWallet();
selectedWallet ??= defaultWallet!; selectedWallet ??= defaultWallet;
_myWalletProvider.readAllWallets(currentChest); _myWalletProvider.readAllWallets(currentChest);
if (!isWalletsExists) { if (!isWalletsExists) {

View File

@ -23,14 +23,13 @@ class ShowSeed extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
MyWalletsProvider _myWalletProvider = MyWalletsProvider _myWalletProvider =
Provider.of<MyWalletsProvider>(context, listen: false); Provider.of<MyWalletsProvider>(context, listen: false);
CommonElements common = CommonElements(); CommonElements common = CommonElements();
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false); SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
WalletData defaultWallet = WalletData defaultWallet = _myWalletProvider.getDefaultWallet();
_myWalletProvider.getDefaultWallet()!;
return Scaffold( return Scaffold(
backgroundColor: backgroundColor, backgroundColor: backgroundColor,
@ -44,7 +43,8 @@ WalletData defaultWallet =
child: Column(children: <Widget>[ child: Column(children: <Widget>[
const Spacer(flex: 1), const Spacer(flex: 1),
FutureBuilder( FutureBuilder(
future: _sub.getSeed(defaultWallet.address!, walletProvider.pinCode), future: _sub.getSeed(
defaultWallet.address!, walletProvider.pinCode),
builder: (BuildContext context, AsyncSnapshot<String?> _seed) { builder: (BuildContext context, AsyncSnapshot<String?> _seed) {
if (_seed.connectionState != ConnectionState.done || if (_seed.connectionState != ConnectionState.done ||
_seed.hasError) { _seed.hasError) {
@ -122,7 +122,27 @@ WalletData defaultWallet =
]), ]),
]); ]);
}), }),
const Spacer(flex: 3), const Spacer(flex: 2),
SizedBox(
width: 380 * ratio,
height: 60 * ratio,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
elevation: 4,
primary: orangeC, // background
onPrimary: Colors.white, // foreground
),
onPressed: () {
Navigator.pop(context);
},
child: Text(
'Fermer',
style: TextStyle(
fontSize: 23 * ratio, fontWeight: FontWeight.w600),
),
),
),
const Spacer(flex: 2),
]), ]),
)); ));
} }

View File

@ -219,7 +219,7 @@ class UnlockingWallet extends StatelessWidget {
onCompleted: (_pin) async { onCompleted: (_pin) async {
_myWalletProvider.pinCode = _pin.toUpperCase(); _myWalletProvider.pinCode = _pin.toUpperCase();
final isValid = await _sub.checkPassword( final isValid = await _sub.checkPassword(
defaultWallet!.address!, _pin.toUpperCase()); defaultWallet.address!, _pin.toUpperCase());
if (!isValid) { if (!isValid) {
await Future.delayed(const Duration(milliseconds: 50)); await Future.delayed(const Duration(milliseconds: 50));

View File

@ -354,7 +354,7 @@ class WalletOptions extends StatelessWidget {
MyWalletsProvider _myWalletProvider, MyWalletsProvider _myWalletProvider,
WalletOptionsProvider _walletOptions, WalletOptionsProvider _walletOptions,
int _currentChest) { int _currentChest) {
WalletData defaultWallet = _myWalletProvider.getDefaultWallet()!; WalletData defaultWallet = _myWalletProvider.getDefaultWallet();
_walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id()[1]); _walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id()[1]);
return InkWell( return InkWell(

View File

@ -239,7 +239,7 @@ class WalletsHome extends StatelessWidget {
), ),
)), )),
balanceBuilder(context, _repository.address!, balanceBuilder(context, _repository.address!,
_repository.address == defaultWallet!.address), _repository.address == defaultWallet.address),
ListTile( ListTile(
shape: const RoundedRectangleBorder( shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.vertical( borderRadius: BorderRadius.vertical(

View File

@ -30,7 +30,7 @@ class TransactionInProgress extends StatelessWidget {
log.d(_walletViewProvider.address!); log.d(_walletViewProvider.address!);
final from = _myWalletProvider.getDefaultWallet()!.name!; final from = _myWalletProvider.getDefaultWallet().name!;
final to = getShortPubkey(_walletViewProvider.address!); final to = getShortPubkey(_walletViewProvider.address!);
final amount = _walletViewProvider.payAmount.text; final amount = _walletViewProvider.payAmount.text;
String _actionName = ''; String _actionName = '';

View File

@ -39,7 +39,7 @@ class WalletViewScreen extends StatelessWidget {
MyWalletsProvider _myWalletProvider = MyWalletsProvider _myWalletProvider =
Provider.of<MyWalletsProvider>(context, listen: false); Provider.of<MyWalletsProvider>(context, listen: false);
WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); WalletData? defaultWallet = _myWalletProvider.getDefaultWallet();
_sub.setCurrentWallet(defaultWallet!); _sub.setCurrentWallet(defaultWallet);
return Scaffold( return Scaffold(
backgroundColor: backgroundColor, backgroundColor: backgroundColor,
@ -108,7 +108,7 @@ class WalletViewScreen extends StatelessWidget {
WalletData? _defaultWallet = WalletData? _defaultWallet =
_myWalletProvider.getDefaultWallet(); _myWalletProvider.getDefaultWallet();
return FutureBuilder( return FutureBuilder(
future: _sub.isMember(_defaultWallet!.address!), future: _sub.isMember(_defaultWallet.address!),
builder: (context, AsyncSnapshot<bool?> snapshot) { builder: (context, AsyncSnapshot<bool?> snapshot) {
return Visibility( return Visibility(
visible: (snapshot.data ?? false), visible: (snapshot.data ?? false),
@ -282,7 +282,7 @@ class WalletViewScreen extends StatelessWidget {
const double shapeSize = 20; const double shapeSize = 20;
WalletData? defaultWallet = _myWalletProvider.getDefaultWallet(); WalletData? defaultWallet = _myWalletProvider.getDefaultWallet();
log.d(defaultWallet!.address); log.d(defaultWallet.address);
bool canValidate = false; bool canValidate = false;