Skip to content
Snippets Groups Projects
Commit c5e3ccbc authored by Vincent Texier's avatar Vincent Texier
Browse files

[fix] fix bugs in import V1 to V2 wizard

fix bad free derivation selected on page 3
fix source account not updated if deleted on page 4
fix page 4 complete conditions

fix transfer.py duplicate numbering even if name is None

fix French translation
address labels are selectable
improve tests
parent fd189774
Branches
Tags
No related merge requests found
Pipeline #18674 waiting for manual action
......@@ -26,7 +26,7 @@ from tikka.slots.pyqt.windows.v1_account_import_wizard import (
)
def test_v1_root_account_import(
def test_v1_import_wizard_with_identity(
qtbot: QtBot,
application: Application,
wallet_mnemonic: str,
......@@ -46,7 +46,9 @@ def test_v1_root_account_import(
name="root account",
password=wallet_password,
)
# destination address for //0 derivation
destination_account_address = "5GTFXi3akAMpdgpPq1VXEY5sMVH5h5nESebQ1TWtqS6tEzYz"
assert application.accounts.get_by_address(destination_account_address) is None
assert account is not None
......@@ -269,3 +271,251 @@ def test_v1_root_account_import(
window.application.accounts.get_by_address(window.destination_account.address)
is not None
)
assert window.wizardPage4.isComplete() is True
destination_account = application.accounts.get_by_address(
destination_account_address
)
assert destination_account is not None
assert destination_account.balance == 2000
assert destination_account.identity_index == 10000
assert destination_account.root == account.address
assert destination_account.path == "//0"
def test_v1_import_wizard_without_identity(
qtbot: QtBot,
application: Application,
wallet_mnemonic: str,
wallet_password: str,
monkeypatch,
): # pylint: disable=missing-function-docstring
secret_id = password_id = "test"
address_v1 = "DCovzCEnQm9GUWe6mr8u42JR1JAuoj3HbQUGdCkfTzSr"
address = "5GAT6CJW8yVKwUuQc7sM5Kk9GZVTpbZYk9PfjNXtvnNgAJZ1"
# create new V2 root account + password + wallet
account = application.accounts.create_new_account(
mnemonic=wallet_mnemonic,
language_code="en",
derivation="",
name="root account",
password=wallet_password,
)
# destination address for //2 derivation
destination_account_address = "5D2YjANfzuGvJWc3gykeFokJoboi57WAqbaVdo8VJzduFNsB"
assert application.accounts.get_by_address(destination_account_address) is None
assert account is not None
window = V1AccountImportWizardWindow(application, QMutex())
qtbot.addWidget(window)
# skip PAGE 1 (explanations)
window.next()
# PAGE 2 -----------------------------------------------------
# password display mode on/off
assert window.sourceSecretIDLineEdit.echoMode() == QLineEdit.Password
assert window.sourcePasswordIDLineEdit.echoMode() == QLineEdit.Password
window.sourceShowButton.click()
assert window.sourceSecretIDLineEdit.echoMode() == QLineEdit.Normal
assert window.sourcePasswordIDLineEdit.echoMode() == QLineEdit.Normal
# mock an unknown account with balance None
monkeypatch.setattr(application.accounts.network, "get_balance", lambda *args: None)
with qtbot.waitSignal(
window.fetch_source_from_network_async_qworker.finished, timeout=2000
) as _:
# blocker.connect(app.worker.failed) # Can add other signals to blocker
# Test will block at this point until either the "finished" or the
# "failed" signal is emitted. If 10 seconds passed without a signal,
# TimeoutError will be raised.
# type in V1 account credentials
window.sourceSecretIDLineEdit.setText(secret_id)
window.sourcePasswordIDLineEdit.setText(password_id)
assert window.sourceV1AddressValueLabel.text() == address_v1
assert window.sourceAddressValueLabel.text() == address
assert window.wizardPage2.isComplete() is False
assert window.sourceBalanceValueLabel.text() == ""
assert window.sourceErrorLabel.text() != ""
assert window.sourceIdentityValueLabel.text() == ""
# mock an existing account with not None balance
monkeypatch.setattr(application.accounts.network, "get_balance", lambda *args: 1000)
monkeypatch.setattr(
application.identities.network, "get_identity_index", lambda *args: None
)
with qtbot.waitSignal(
window.fetch_source_from_network_async_qworker.finished, timeout=2000
) as _:
# blocker.connect(app.worker.failed) # Can add other signals to blocker
# Test will block at this point until either the "finished" or the
# "failed" signal is emitted. If 10 seconds passed without a signal,
# TimeoutError will be raised.
# type in V1 account credentials
window.sourceSecretIDLineEdit.setText("")
window.sourcePasswordIDLineEdit.setText("")
window.sourceSecretIDLineEdit.setText(secret_id)
window.sourcePasswordIDLineEdit.setText(password_id)
assert window.sourceV1AddressValueLabel.text() == address_v1
assert window.sourceAddressValueLabel.text() == address
assert window.sourceBalanceValueLabel.text() != ""
assert window.sourceErrorLabel.text() != ""
assert window.sourceIdentityValueLabel.text() != ""
assert window.wizardPage2.isComplete() is True
assert window.source_account is not None
assert window.source_account.balance == 1000
assert window.source_account.identity_index is None
window.next()
# PAGE 3 -----------------------------------------------------
assert window.destinationRootNameOrAddressComboBox.currentText() == account.name
# password display mode on/off
assert window.destinationMnemonicLineEdit.echoMode() == QLineEdit.Password
assert window.storedPasswordLineEdit.echoMode() == QLineEdit.Password
window.destinationShowButton.click()
assert window.destinationMnemonicLineEdit.echoMode() == QLineEdit.Normal
assert window.storedPasswordLineEdit.echoMode() == QLineEdit.Normal
# mock an existing account with not None balance
monkeypatch.setattr(application.accounts.network, "get_balance", lambda *args: 1000)
monkeypatch.setattr(
application.identities.network, "get_identity_index", lambda *args: None
)
with qtbot.waitSignal(
window.fetch_destination_from_network_async_qworker.finished, timeout=2000
) as _:
# blocker.connect(app.worker.failed) # Can add other signals to blocker
# Test will block at this point until either the "finished" or the
# "failed" signal is emitted. If 10 seconds passed without a signal,
# TimeoutError will be raised.
# type in V2 credentials
window.destinationMnemonicLineEdit.setText(wallet_mnemonic)
window.destinationMnemonicLanguageComboBox.setCurrentIndex(0)
assert window.destinationRootAddressValueLabel.text() == account.address
assert window.destinationDerivationValueLabel.text() == "//2"
assert window.destinationAddressValueLabel.text() == destination_account_address
assert window.destinationBalanceValueLabel.text() != ""
assert window.destinationErrorLabel.text() != ""
assert window.wizardPage3.isComplete() is True
# PAGE 4 ----------------------------------------------------
assert window.sourceAddressValueImportLabel.text() == address_v1
assert (
window.sourceBalanceValueImportLabel.text()
== window.sourceBalanceValueLabel.text()
)
assert (
window.sourceIdentityValueImportLabel.text()
== window.sourceIdentityValueLabel.text()
)
assert (
window.destinationAddressValueImportLabel.text() == destination_account_address
)
assert (
window.destinationBalanceValueImportLabel.text()
== window.destinationBalanceValueLabel.text()
)
assert window.destinationIdentityValueImportLabel.text() == window._("None")
def get_balance(*args):
# source address
if args[0] == address:
return None
# destination address
return 2000
def get_identity_index(*args):
# source address
if args[0] == address:
return None
# destination address
return 10000
monkeypatch.setattr(application.accounts.network, "get_balance", get_balance)
monkeypatch.setattr(
application.identities.network, "get_identity_index", lambda *args: None
)
# transfer network response mock success
extrinsic_receipt = Mock(ExtrinsicReceipt)
extrinsic_receipt.is_success = True
monkeypatch.setattr(
application.transfers.network, "send", lambda *args: extrinsic_receipt
)
monkeypatch.setattr(
application.identities.network, "change_owner_key", lambda *args: True
)
with qtbot.waitSignal(
window.import_source_into_destination_on_network_async_qworker.finished,
timeout=2000,
) as _:
# blocker.connect(app.worker.failed) # Can add other signals to blocker
# Test will block at this point until either the "finished" or the
# "failed" signal is emitted. If 10 seconds passed without a signal,
# TimeoutError will be raised.
# click on import button
window.importButton.click()
assert window.sourceAddressValueImportLabel.text() == address_v1
assert (
window.sourceBalanceValueImportLabel.text()
!= window.sourceBalanceValueLabel.text()
)
assert (
window.sourceIdentityValueImportLabel.text()
== window.sourceIdentityValueLabel.text()
)
assert (
window.destinationAddressValueImportLabel.text() == destination_account_address
)
assert (
window.destinationBalanceValueImportLabel.text()
!= window.destinationBalanceValueLabel.text()
)
assert window.destinationIdentityValueImportLabel.text() == window._("None")
assert window.source_account.balance is None
assert window.source_account.identity_index is None
assert window.destination_account.balance == 2000
assert window.destination_account.identity_index is None
assert "green" in window.importErrorLabel.styleSheet()
assert (
window.application.accounts.get_by_address(window.destination_account.address)
is not None
)
assert window.wizardPage4.isComplete() is True
destination_account = application.accounts.get_by_address(
destination_account_address
)
assert destination_account is not None
assert destination_account.balance == 2000
assert destination_account.identity_index is None
assert destination_account.root == account.address
assert destination_account.path == "//2"
......@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-13 18:17+0100\n"
"POT-Creation-Date: 2023-02-16 17:25+0100\n"
"PO-Revision-Date: 2020-12-16 14:59+CET\n"
"Last-Translator: Vincent Texier <vit@free.fr>\n"
"Language-Team: fr_FR <vit@li.org>\n"
......@@ -46,7 +46,7 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_rc.py:187
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:222
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:506
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:511
msgid "Secret ID"
msgstr ""
......@@ -66,8 +66,8 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:221
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:224
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:226
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:505
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:519
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:510
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:524
msgid "Password"
msgstr ""
......@@ -81,7 +81,7 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:190
#: tikka/slots/pyqt/resources/gui/windows/v1_file_import_rc.py:166
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:218
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:516
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:521
#: tikka/slots/pyqt/resources/gui/widgets/currency_rc.py:105
#: tikka/slots/pyqt/models/account_table.py:381
msgid "Name"
......@@ -98,10 +98,10 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:189
#: tikka/slots/pyqt/resources/gui/windows/v1_file_import_rc.py:165
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:220
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:504
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:512
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:522
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:526
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:509
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:517
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:527
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:531
#: tikka/slots/pyqt/resources/gui/windows/address_add_rc.py:60
#: tikka/slots/pyqt/models/account_table.py:389
msgid "Address"
......@@ -115,8 +115,8 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:191
#: tikka/slots/pyqt/resources/gui/windows/v1_file_import_rc.py:161
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:223
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:503
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:511
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:508
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:516
#: tikka/slots/pyqt/windows/account_import.py:160
#: tikka/slots/pyqt/windows/v1_wallet_restore_from_file.py:125
#: tikka/slots/pyqt/windows/wallet_restore.py:215
......@@ -176,7 +176,7 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:227
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:194
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:225
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:520
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:525
msgid "Wallet will be locked with the current password"
msgstr ""
......@@ -207,7 +207,7 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:224
#: tikka/slots/pyqt/resources/gui/windows/account_create_rc.py:194
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:187
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:517
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:522
msgid "Mnemonic"
msgstr ""
......@@ -221,7 +221,7 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:219
#: tikka/slots/pyqt/resources/gui/windows/account_create_rc.py:193
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:185
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:518
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:523
msgid "Mnemonic language"
msgstr ""
......@@ -233,7 +233,7 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:221
#: tikka/slots/pyqt/resources/gui/windows/account_create_rc.py:190
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:188
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:515
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:520
#: tikka/slots/pyqt/models/account_table.py:397
msgid "Derivation"
msgstr ""
......@@ -538,11 +538,11 @@ msgstr ""
msgid "Block"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:485
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:490
msgid "Wizard to import V1 account in V2 account"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:486
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:491
msgid ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/"
"REC-html40/strict.dtd\">\n"
......@@ -588,53 +588,53 @@ msgid ""
"\"><br /></p></body></html>"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:500
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:505
msgid "Please enter the credentials of the V1 source account."
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:501
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:506
msgid "V1 Source Account"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:502
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:507
msgid "V1 Address"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:507
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:524
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:528
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:512
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:529
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:533
#: tikka/slots/pyqt/models/account_table.py:363
msgid "Identity"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:508
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:514
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:523
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:527
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:513
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:519
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:528
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:532
msgid "Balance"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:509
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:514
msgid ""
"Select a V2 destination account already created and confirm with the "
"restoration mnemonic."
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:510
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:515
msgid "V2 Destination Account"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:513
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:518
msgid "Root account"
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:521
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:526
msgid ""
"Click on the import button and wait for the status message. The V1 source "
"account will be deleted from the blockchain on success."
msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:525
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:530
msgid "Import"
msgstr ""
......@@ -708,10 +708,10 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/widgets/account_rc.py:122
#: tikka/slots/pyqt/windows/category_add.py:44
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:310
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:653
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:665
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:782
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:804
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:657
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:669
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:794
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:819
#: tikka/slots/pyqt/widgets/account.py:200
msgid "None"
msgstr ""
......@@ -809,9 +809,9 @@ msgstr ""
#: tikka/slots/pyqt/windows/account_derivation_create.py:165
#: tikka/slots/pyqt/windows/account_derivation_create.py:178
#: tikka/slots/pyqt/windows/account_derivation_create.py:199
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:504
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:519
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:545
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:505
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:520
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:546
msgid "Mnemonic or language not valid!"
msgstr ""
......@@ -903,28 +903,28 @@ msgstr ""
msgid "Balance too low to send value"
msgstr ""
#: tikka/slots/pyqt/windows/transfer.py:310
#: tikka/slots/pyqt/windows/transfer.py:356
#: tikka/slots/pyqt/windows/transfer.py:386
#: tikka/slots/pyqt/windows/transfer.py:422
#: tikka/slots/pyqt/windows/transfer.py:323
#: tikka/slots/pyqt/windows/transfer.py:369
#: tikka/slots/pyqt/windows/transfer.py:399
#: tikka/slots/pyqt/windows/transfer.py:435
msgid "Invalid address! Please check it again."
msgstr ""
#: tikka/slots/pyqt/windows/transfer.py:463
#: tikka/slots/pyqt/windows/transfer.py:476
msgid "Unknown!"
msgstr ""
#: tikka/slots/pyqt/windows/transfer.py:466
#: tikka/slots/pyqt/windows/transfer.py:479
msgid ""
"Account balance unknown! Send only one unit and make sure the owner can get "
"it"
msgstr ""
#: tikka/slots/pyqt/windows/transfer.py:593
#: tikka/slots/pyqt/windows/transfer.py:606
msgid "Transfer failed. Please check logs to understand why"
msgstr ""
#: tikka/slots/pyqt/windows/transfer.py:602
#: tikka/slots/pyqt/windows/transfer.py:615
msgid "Transfer done"
msgstr ""
......@@ -939,7 +939,7 @@ msgid "Impossible to connect"
msgstr ""
#: tikka/slots/pyqt/windows/account_derivation_create.py:185
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:527
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:528
msgid "Mnemonic address is not the root account address!"
msgstr ""
......@@ -972,23 +972,23 @@ msgid "This account does not exists"
msgstr ""
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:312
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:613
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:617
msgid "Account is valid"
msgstr ""
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:609
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:613
msgid "Account has already an identity!"
msgstr ""
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:811
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:826
msgid "Account imported successfully!"
msgstr ""
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:825
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:843
msgid "Error importing money!"
msgstr ""
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:827
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:845
msgid "Error importing identity!"
msgstr ""
......
......@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-13 18:17+0100\n"
"PO-Revision-Date: 2023-02-13 18:18+0100\n"
"POT-Creation-Date: 2023-02-16 17:25+0100\n"
"PO-Revision-Date: 2023-02-16 17:27+0100\n"
"Last-Translator: Vincent Texier <vit@free.fr>\n"
"Language-Team: fr_FR <vit@li.org>\n"
"Language: fr_FR\n"
......@@ -48,7 +48,7 @@ msgstr "Adresse V1"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_rc.py:187
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:222
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:506
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:511
msgid "Secret ID"
msgstr "ID secret"
......@@ -68,8 +68,8 @@ msgstr "ID secret"
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:221
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:224
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:226
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:505
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:519
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:510
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:524
msgid "Password"
msgstr "Mot de passe"
......@@ -83,7 +83,7 @@ msgstr "Mot de passe"
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:190
#: tikka/slots/pyqt/resources/gui/windows/v1_file_import_rc.py:166
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:218
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:516
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:521
#: tikka/slots/pyqt/resources/gui/widgets/currency_rc.py:105
#: tikka/slots/pyqt/models/account_table.py:381
msgid "Name"
......@@ -100,10 +100,10 @@ msgstr "Nom"
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:189
#: tikka/slots/pyqt/resources/gui/windows/v1_file_import_rc.py:165
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:220
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:504
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:512
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:522
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:526
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:509
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:517
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:527
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:531
#: tikka/slots/pyqt/resources/gui/windows/address_add_rc.py:60
#: tikka/slots/pyqt/models/account_table.py:389
msgid "Address"
......@@ -117,8 +117,8 @@ msgstr "Adresse"
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:191
#: tikka/slots/pyqt/resources/gui/windows/v1_file_import_rc.py:161
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:223
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:503
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:511
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:508
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:516
#: tikka/slots/pyqt/windows/account_import.py:160
#: tikka/slots/pyqt/windows/v1_wallet_restore_from_file.py:125
#: tikka/slots/pyqt/windows/wallet_restore.py:215
......@@ -178,7 +178,7 @@ msgstr "Chemin"
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:227
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:194
#: tikka/slots/pyqt/resources/gui/windows/v1_wallet_restore_rc.py:225
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:520
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:525
msgid "Wallet will be locked with the current password"
msgstr "Le trousseau sera verrouillé avec le mot de passe actuel"
......@@ -211,7 +211,7 @@ msgstr ""
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:224
#: tikka/slots/pyqt/resources/gui/windows/account_create_rc.py:194
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:187
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:517
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:522
msgid "Mnemonic"
msgstr "Mnémonique"
......@@ -225,7 +225,7 @@ msgstr "12 mots séparés par des espaces"
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:219
#: tikka/slots/pyqt/resources/gui/windows/account_create_rc.py:193
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:185
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:518
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:523
msgid "Mnemonic language"
msgstr "Langue mnémonique"
......@@ -237,7 +237,7 @@ msgstr "chemin de dérivation (ex. //0 ou //2)"
#: tikka/slots/pyqt/resources/gui/windows/wallet_restore_rc.py:221
#: tikka/slots/pyqt/resources/gui/windows/account_create_rc.py:190
#: tikka/slots/pyqt/resources/gui/windows/account_derivation_create_rc.py:188
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:515
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:520
#: tikka/slots/pyqt/models/account_table.py:397
msgid "Derivation"
msgstr "Dérivation"
......@@ -550,11 +550,11 @@ msgstr "Logiciel"
msgid "Block"
msgstr "Bloc"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:485
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:490
msgid "Wizard to import V1 account in V2 account"
msgstr "Assistant d'import de compte V1 dans un compte V2"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:486
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:491
msgid ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/"
"REC-html40/strict.dtd\">\n"
......@@ -619,42 +619,41 @@ msgstr ""
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-"
"right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-"
"weight:600; font-style:italic;\">Compte V1 :</span><span style=\" font-style:"
"italic;\"> Compte V1 : Un compte V1 est un compte Ğ1 généré par un "
"identifiant secret et un mot de passe (avec Cesium V1).</span></p>\n"
"italic;\"> Un compte V1 est un compte Ğ1 généré par un identifiant secret et "
"un mot de passe (avec Cesium V1).</span></p>\n"
"<p style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-"
"right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-"
"weight:600; font-style:italic;\">Compte V2 :</span><span style=\" font-style:"
"italic;\"> Compte V2 : Un compte V2 est un compte généré par un code de "
"restauration de douze mots (également appelé mnémonique).</span></p></body></"
"html>"
"italic;\"> Un compte V2 est un compte généré par un code de restauration de "
"douze mots (également appelé mnémonique).</span></p></body></html>"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:500
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:505
msgid "Please enter the credentials of the V1 source account."
msgstr "Veuillez entrer les identifiants secrets du compte source V1."
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:501
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:506
msgid "V1 Source Account"
msgstr "Compte Source V1"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:502
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:507
msgid "V1 Address"
msgstr "Adresse V1"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:507
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:524
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:528
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:512
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:529
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:533
#: tikka/slots/pyqt/models/account_table.py:363
msgid "Identity"
msgstr "Identité"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:508
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:514
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:523
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:527
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:513
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:519
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:528
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:532
msgid "Balance"
msgstr "Solde"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:509
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:514
msgid ""
"Select a V2 destination account already created and confirm with the "
"restoration mnemonic."
......@@ -662,23 +661,23 @@ msgstr ""
"Sélectionnez un compte V2 de destination déjà créé et confirmez avec le "
"mnémonique de restauration."
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:510
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:515
msgid "V2 Destination Account"
msgstr "Compte V2 de Destination"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:513
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:518
msgid "Root account"
msgstr "Compte racine"
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:521
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:526
msgid ""
"Click on the import button and wait for the status message. The V1 source "
"account will be deleted from the blockchain on success."
msgstr ""
"Cliquez sur le bouton d'importation et attendez le message d'. Létate compte "
"source V1 sera supprimé de la blockchain en cas de succès."
"Cliquez sur le bouton d'importation et attendez le message du résultat. Le "
"compte source V1 sera supprimé de la blockchain en cas de succès."
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:525
#: tikka/slots/pyqt/resources/gui/windows/v1_account_import_wizard_rc.py:530
msgid "Import"
msgstr "Importer"
......@@ -752,10 +751,10 @@ msgstr "Virement vers"
#: tikka/slots/pyqt/resources/gui/widgets/account_rc.py:122
#: tikka/slots/pyqt/windows/category_add.py:44
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:310
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:653
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:665
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:782
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:804
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:657
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:669
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:794
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:819
#: tikka/slots/pyqt/widgets/account.py:200
msgid "None"
msgstr "Aucune"
......@@ -853,9 +852,9 @@ msgstr "Espagnol"
#: tikka/slots/pyqt/windows/account_derivation_create.py:165
#: tikka/slots/pyqt/windows/account_derivation_create.py:178
#: tikka/slots/pyqt/windows/account_derivation_create.py:199
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:504
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:519
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:545
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:505
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:520
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:546
msgid "Mnemonic or language not valid!"
msgstr "Mnémonique ou langue non valide !"
......@@ -950,18 +949,18 @@ msgstr "Le Virement/Paiement supprimerait le compte"
msgid "Balance too low to send value"
msgstr "Solde trop bas pour ce montant"
#: tikka/slots/pyqt/windows/transfer.py:310
#: tikka/slots/pyqt/windows/transfer.py:356
#: tikka/slots/pyqt/windows/transfer.py:386
#: tikka/slots/pyqt/windows/transfer.py:422
#: tikka/slots/pyqt/windows/transfer.py:323
#: tikka/slots/pyqt/windows/transfer.py:369
#: tikka/slots/pyqt/windows/transfer.py:399
#: tikka/slots/pyqt/windows/transfer.py:435
msgid "Invalid address! Please check it again."
msgstr "Adresse invalide ! Veuillez la vérifier."
#: tikka/slots/pyqt/windows/transfer.py:463
#: tikka/slots/pyqt/windows/transfer.py:476
msgid "Unknown!"
msgstr "Inconnu !"
#: tikka/slots/pyqt/windows/transfer.py:466
#: tikka/slots/pyqt/windows/transfer.py:479
msgid ""
"Account balance unknown! Send only one unit and make sure the owner can get "
"it"
......@@ -969,12 +968,12 @@ msgstr ""
"Solde du compte inconnu ! Envoyer une seule unité et assurez-vous que le "
"propriétaire peut la récupérer"
#: tikka/slots/pyqt/windows/transfer.py:593
#: tikka/slots/pyqt/windows/transfer.py:606
msgid "Transfer failed. Please check logs to understand why"
msgstr ""
"Échec du virement. Veuillez vérifier les logs pour comprendre la raison"
#: tikka/slots/pyqt/windows/transfer.py:602
#: tikka/slots/pyqt/windows/transfer.py:615
msgid "Transfer done"
msgstr "Virement effectué"
......@@ -989,7 +988,7 @@ msgid "Impossible to connect"
msgstr "Connexion impossible"
#: tikka/slots/pyqt/windows/account_derivation_create.py:185
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:527
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:528
msgid "Mnemonic address is not the root account address!"
msgstr "L'adresse du mnémonique n'est pas l'adresse du compte racine !"
......@@ -1022,23 +1021,23 @@ msgid "This account does not exists"
msgstr "Ce compte n'existe pas"
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:312
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:613
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:617
msgid "Account is valid"
msgstr "Le compte est valide"
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:609
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:613
msgid "Account has already an identity!"
msgstr "Le compte a déjà une identité !"
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:811
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:826
msgid "Account imported successfully!"
msgstr "Compte importé avec succès !"
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:825
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:843
msgid "Error importing money!"
msgstr "Erreur d'importation de la monnaie !"
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:827
#: tikka/slots/pyqt/windows/v1_account_import_wizard.py:845
msgid "Error importing identity!"
msgstr "Erreur d'importation de l'identité !"
......
......@@ -107,6 +107,9 @@ p, li { white-space: pre-wrap; }
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="2" column="0">
......@@ -144,13 +147,6 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="sourceV1AddressValueLabel">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="sourceAddressLabel">
<property name="font">
......@@ -269,6 +265,16 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="sourceV1AddressValueLabel">
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
......@@ -477,6 +483,9 @@ p, li { white-space: pre-wrap; }
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="3" column="0">
......@@ -645,6 +654,9 @@ p, li { white-space: pre-wrap; }
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="0" column="0">
......@@ -799,6 +811,9 @@ p, li { white-space: pre-wrap; }
<property name="text">
<string/>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="2" column="1">
......
......@@ -147,13 +147,21 @@ class TransferWindow(QDialog, Ui_TransferDialog):
# todo: create a model to fetch only a filtered list from database on edit
self.account_address_by_name: Dict[str, str] = {}
account_address_by_name_duplicate_count = 1
for account_ in self.application.accounts.get_list():
if account_.name in self.account_address_by_name:
for account_instance in self.application.accounts.get_list():
if (
account_instance.name in self.account_address_by_name
and account_instance.name is not None
):
self.account_address_by_name[
f"{account_.name} ({account_address_by_name_duplicate_count})"
] = account_.address
f"{account_instance.name} ({account_address_by_name_duplicate_count})"
] = account_instance.address
else:
self.account_address_by_name[account_.name] = account_.address
if account_instance.name is None:
self.account_address_by_name[""] = account_instance.address
else:
self.account_address_by_name[
account_instance.name
] = account_instance.address
# sender autocomplete only on accounts with wallet
self.sender_account_wordlist = []
......
......@@ -460,24 +460,25 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
)
# select derivation: //0 if source account is member, first even number if not
destination_derivation = None
if (
self.source_account is not None
and self.source_account.identity_index is not None
):
self.destination_derivation = DERIVATION_PATH_MEMBER
else:
if self.destination_root_account is not None:
destination_derivation = DERIVATION_PATH_MEMBER
if self.destination_root_account is not None and destination_derivation is None:
available_derivation_list = (
self.application.accounts.get_available_derivation_list(
self.destination_root_account
)
)
if self.destination_derivation == DERIVATION_PATH_MEMBER:
self.destination_derivation = available_derivation_list[1]
if available_derivation_list[0] == DERIVATION_PATH_MEMBER:
destination_derivation = available_derivation_list[1]
else:
self.destination_derivation = available_derivation_list[0]
destination_derivation = available_derivation_list[0]
self.destinationDerivationValueLabel.setText(self.destination_derivation)
self.destinationDerivationValueLabel.setText(destination_derivation)
# if account name displayed in combobox...
if (
......@@ -498,7 +499,7 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
self.destination_mnemonic = sanitize_mnemonic_string(
self.destinationMnemonicLineEdit.text()
)
suri = self.destination_mnemonic + self.destination_derivation
suri = self.destination_mnemonic + destination_derivation
if not Keypair.validate_mnemonic(self.destination_mnemonic, language_code):
self.destinationErrorLabel.setText(
self._("Mnemonic or language not valid!")
......@@ -558,6 +559,9 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
self.destination_keypair.ss58_address,
self.destinationNameLineEdit.text().strip(),
)
self.destination_account.crypto_type = KeypairType.SR25519
self.destination_account.root = self.destination_root_account.address
self.destination_account.path = destination_derivation
self.destinationAddressValueLabel.setText(self.destination_account.address)
# fetch if v2 account exists on network
......@@ -687,7 +691,9 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
if (
self.source_account is not None
and self.source_account.balance == 0
and (
self.source_account.balance == 0 or self.source_account.balance is None
)
and self.source_account.identity_index is None
):
result = True
......@@ -733,6 +739,7 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
self.source_account.address
)
)
self.source_account.identity_index = (
self.application.identities.fetch_index_from_network(
self.source_account.address
......@@ -744,6 +751,7 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
self.destination_account.address
)
)
self.destination_account.identity_index = (
self.application.identities.fetch_index_from_network(
self.destination_account.address
......@@ -766,6 +774,10 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
self.amount.symbol(),
)
)
else:
# empty account deleted from blockchain
self.sourceBalanceValueImportLabel.setText("")
if self.source_account.identity_index is not None:
identity = self.application.identities.get(
self.source_account.identity_index
......@@ -788,6 +800,9 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
self.amount.symbol(),
)
)
else:
self.destinationBalanceValueImportLabel.setText("")
if self.destination_account.identity_index is not None:
identity = self.application.identities.get(
self.destination_account.identity_index
......@@ -821,7 +836,10 @@ class V1AccountImportWizardWindow(QWizard, Ui_importAccountV1Wizard):
else:
self.importButton.setDisabled(False)
self.importErrorLabel.setStyleSheet("color: red;")
if self.source_account.balance != 0:
if (
self.source_account.balance is not None
and self.source_account.balance > 0
):
self.importErrorLabel.setText(self._("Error importing money!"))
elif self.destination_account.identity_index is None:
self.importErrorLabel.setText(self._("Error importing identity!"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment