Skip to content

Commit

Permalink
Reset words when verify incorrect seed (#66)
Browse files Browse the repository at this point in the history
  • Loading branch information
KingGorrin committed Feb 29, 2024
1 parent 0ae0f31 commit b6ac68a
Showing 1 changed file with 33 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -263,11 +263,27 @@ class _NewWalletConfirmSeedScreenState
!seedGridElement.isValid;
},
onAccept: (String data) {
_foundMissingRandomElementsIndexes
.add(widget.seedWords.indexOf(data));
_seedGridElements[seedGridElementIndex].word = data;
if (_randomIndexes.length ==
_foundMissingRandomElementsIndexes.length) {}
var element = _seedGridElements[seedGridElementIndex];
var i = -1;
if (element.word != '') {
while ((i =
widget.seedWords.indexOf(element.word, i + 1)) !=
-1) {
if (_foundMissingRandomElementsIndexes.contains(i)) {
_foundMissingRandomElementsIndexes.remove(i);
break;
}
}
}
i = -1;
while ((i = widget.seedWords.indexOf(data, i + 1)) != -1) {
if (!_foundMissingRandomElementsIndexes.contains(i) &&
_randomIndexes.contains(i)) {
_foundMissingRandomElementsIndexes.add(i);
break;
}
}
element.word = data;
setState(() {
_textCursor = seedGridElementIndex;
});
Expand Down Expand Up @@ -350,16 +366,22 @@ class _NewWalletConfirmSeedScreenState
for (var element in _seedGridElements) {
int i = _seedGridElements.indexOf(element);
element.isValid = element.word == widget.seedWords[i];
if (!element.isValid) {
_seedError = true;
}
}
for (var item in _seedGridElements) {
if (!item.isValid) {
setState(() {
_seedError = true;
});
break;
if (_seedError) {
for (var element in _seedGridElements) {
int i = _seedGridElements.indexOf(element);
if (_randomIndexes.contains(i)) {
element.isValid = false;
element.word = '';
}
}
}

setState(() {
_seedError = true;
_foundMissingRandomElementsIndexes = _randomIndexes
.where((index) => _seedGridElements[index].isValid)
.toList();
Expand Down

0 comments on commit b6ac68a

Please sign in to comment.