Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump to v1.4.0 #249

Merged
merged 15 commits into from Nov 10, 2023
1 change: 1 addition & 0 deletions assets/style/style.css
Expand Up @@ -2296,6 +2296,7 @@ a {

.dcWallet-activity {
/*border: 2px solid rgba(255, 255, 255, 12%);*/
max-width: 95svw;
padding: 14px 16px;
background-color: rgba(255, 255, 255, 12%);
border-radius: 10px;
Expand Down
29 changes: 16 additions & 13 deletions changelog.md
@@ -1,17 +1,20 @@
# New Feature
Cold Staking: customisable owner addresses for Advanced Mode users.
# New Features
- TX Database and Network Rewrite.
- Ability to delete an MPW wallet.

You'll notice that MPW now requires a small amount of 'syncing time' during your first use of v1.4.0, as MPW now synchronises your full TX history to your machine, so the next time you open the wallet, it instantly resumes using the chain data it previously synced.

This system will save massive amounts of bandwidth long-term, speed up operations, and allow MPW to implement more advanced features that PIVX Core have.

# New Language
- 🇳🇱 Dutch (by BreadJS).

# Improvements
- Ledger stability has been vastly improved.
- A major under-the-hood wallet refactor.
- Added a Testnet Explorer (duddino.com).
- Added a Testnet Cold Pool (Sparrow Pool).
- Ported Balance and Activity GUI to Vue.
- i18n now only loads languages at runtime.
- Safer Address validation (B58Check).
- Better under-the-hood Coin Locking.
- Dashboard fully ported to Vue.js.
- Encryption is now actively prompted to users with unencrypted wallets.

# Bug Fixes
- Fixed Ledger alert 'spam'.
- Fixed Identicons being visually squished.
- Fixed proposals passing when consensus disallows it.
- Fixed Cold Addresses conflicting between chains.
- Fixed UI errors for Legacy Key MN collaterals.
- Fixed various bugs in Chain Switching.
- Fixed various linting and fork-repo issues.
48 changes: 24 additions & 24 deletions locale/de/translation.toml
Expand Up @@ -7,15 +7,15 @@ yes = "Ja" # Yes
no = "Nein" # No
navDashboard = "Übersicht" # Dashboard
navStake = "Staking" # Stake
navMasternode = "Masternode" # Masternode
navMasternode = "Masternodes" # Masternode
navGovernance = "Regieren" # Governance
navSettings = "Einstellungen" # Settings
footerBuiltWithPivxLabs = "Mit 💜 erstellt - PIVX Labs 🇩🇪" # Built with 💜 by PIVX Labs
loading = "...lädt..." # Loading
loadingTitle = "Meine PIVX Geldbörse" # My PIVX Wallet is
dashboardTitle = "Übersicht" # Dashboard
dCardOneTitle = "Erstelle eine" # Create a
dCardOneSubTitle = "neue Geldbörse" # New Wallet
dCardOneSubTitle = "Neue Geldbörse" # New Wallet
dCardOneDesc = "Erstelle eine neue PIVX Geldbörse, unter verwendung neuester Sicherheits- & Backupmethoden." # Create a new PIVX wallet, offering the most secure backup & security methods.
dCardOneButton = "Erstelle eine neue Geldbörse" # Create A New Wallet
dCardTwoTitle = "Erstelle eine neue" # Create a new
Expand Down Expand Up @@ -63,7 +63,7 @@ redeemOrCreateCode = "Erstelle Codes, oder löse Codes ein" # Redeem or Create C
address = "Adresse" # Address
receivingAddress = "Empfänger Adresse" # Receiving address
sendAmountCoinsMax = "Maximal" # MAX
paymentRequestMessage = "Beschreibung (vom Händler)" # Description (from the merchant)
paymentRequestMessage = "Beschreibung (des Händlers)" # Description (from the merchant)
send = "Senden" # Send
receive = "Erhalten" # Receive
contacts = "Kontakte" # Contacts
Expand Down Expand Up @@ -118,17 +118,17 @@ contestedProposalsDesc = "Dies sind Anträge, welche aufgrund der erdrückend ne
settingsCurrency = "Wähle die angezeigte Währung" # Choose a display currency:
priceProvidedBy = "Preisinformationen von" # Price data provided by
settingsDecimals = "Nachkommastellen" # Balance Decimals:
settingsExplorer = "Wähle einen Explorer" # Choose an explorer:
settingsLanguage = "Wähle eine Sprache" # Choose a Language:
settingsPivxNode = "Wähle einen PIVX Knoten" # Choose a PIVX node:
settingsExplorer = "Wähle einen Explorer:" # Choose an explorer:
settingsLanguage = "Wähle eine Sprache:" # Choose a Language:
settingsPivxNode = "Wähle einen PIVX Knoten:" # Choose a PIVX node:
settingsAutoSelectNet = "Wähle Explorer und Knoten automatisch" # Auto-select Explorers and Nodes
settingsAnalytics = "Wähle die verwendeten Analysedaten dieser Sitzung" # Choose your analytics contribution level:
settingsAnalytics = "Wähle die verwendeten Analysedaten dieser Sitzung:" # Choose your analytics contribution level:
settingsToggleDebug = "Debug Modus" # Debug Mode
settingsToggleTestnet = "Testnet Modus" # Testnet Mode
settingsToggleAdvancedMode = "Erweiterte Ansicht" # Advanced Mode
settingsToggleAdvancedModeSubtext = "Dies aktiviert tiefere Funktionen und Anpassungen, welche für unerfahrene Nutzer potentiell gefährlich sein können." # This unlocks deeper functionality and customisation, but may be overwhelming and potentially dangerous for unexperienced users!
transparencyReport = "Transparenz-Bericht" # Transparency Report
hit = "Ein Ping, welcher das laden der APP darstellt. keine spezifischen Daten werden gesendet." # A ping indicating an app load, no unique data is sent.
hit = "Ein Ping, welcher das laden der APP darstellt. Keine spezifischen Daten werden gesendet." # A ping indicating an app load, no unique data is sent.
time_to_sync = "Die Zeit in Sekunden, die MPW für den letzten Abgleich gebraucht hat" # The time in seconds it took for MPW to last synchronise.
transaction = "Ein Ping, welcher eine Transaktion darstellt. Keine spezifischen werden gesendet, könnten aber durch Informationen der Blockchain geschlussfolgert werden." # A ping indicating a Tx, no unique data is sent, but may be inferred from on-chain time.
analyticDisabled = "Deaktiviert" # Disabled
Expand Down Expand Up @@ -186,7 +186,7 @@ proposalFailing = "Scheiternd" # FAILING
proposalTooYoung = "noch zu Jung" # TOO YOUNG
proposalFunded = "Finanziert" # FUNDED
proposalNotFunded = "nicht Finanziert" # NOT FUNDED
proposalPaymentsRemaining = "Ausstehende Transaktionen<br>" # installment(s) remaining<br>of
proposalPaymentsRemaining = "Ausstehende Transaktion(en)<br>" # installment(s) remaining<br>of
proposalPaymentTotal = "Insgesamt" # total
proposalNetYes = "Netto Ja" # Net Yes
popupConfirm = "Bestätigen" # Confirm
Expand All @@ -198,17 +198,17 @@ timeHours = "Stunden" # Hours
timeMinutes = "Minuten" # Minutes
timeSeconds = "Sekunden" # Seconds
unhandledException = "Unerwarteter Sonderfall" # Unhandled exception.
syncStatusHistoryProgress = "" # Syncing History Chunks {current} of {total}
syncStatusStarting = "" # <b>Your wallet is syncing!</b><br>You'll be able to use it fully once this is complete.
syncStatusFinished = "" # <b>Sync Finished!</b><br>Your wallet is ready to use!
contestedProposalsTitle = "" # Contested Proposals
netSwitchUnsavedWarningTitle = "" # Your {network} wallet isn't saved!
netSwitchUnsavedWarningSubtitle = "" # Your {network} account is at risk!
netSwitchUnsavedWarningSubtext = "" # If you switch to {network} before saving it, you'll lose the account!
netSwitchUnsavedWarningConfirmation = "" # Are you really sure?
accountDeleted = "" # Your account has been successfully deleted!
activitySelf = "" # self
activityReceivedWith = "" # Received with {s}
syncStatusHistoryProgress = "Synchronisiere vergangene Blöcke - {current} von {total}." # Syncing History Chunks {current} of {total}
syncStatusStarting = "<b>Deine Geldbörse synchronisiert!</b><br>Volle Funktionalität ist erst anschließend verfügbar." # <b>Your wallet is syncing!</b><br>You'll be able to use it fully once this is complete.
syncStatusFinished = "<b>Synchronisation beendet!</b><br>Deine Geldbörse ist für die Benutzung bereit!" # <b>Sync Finished!</b><br>Your wallet is ready to use!
contestedProposalsTitle = "Umstrittene Anträge" # Contested Proposals
netSwitchUnsavedWarningTitle = "Deine {network} Geldbörse ist nicht gespeichert!" # Your {network} wallet isn't saved!
netSwitchUnsavedWarningSubtitle = "Dein {network} Konto ist in gefahr!" # Your {network} account is at risk!
netSwitchUnsavedWarningSubtext = "Wenn du jetzt zu {network} wechselst, bevor du speicherst, verlierst du das aktuelle Konto!" # If you switch to {network} before saving it, you'll lose the account!
netSwitchUnsavedWarningConfirmation = "Bist du wirklich sicher?" # Are you really sure?
accountDeleted = "Deine Geldbörse wurde erfolgreich gelöscht" # Your account has been successfully deleted!
activitySelf = "Eigenüberweisung" # self
activityReceivedWith = "Erhalten über {s}" # Received with {s}

[ALERTS]
INTERNAL_ERROR = "Interner Fehler, bitte versuche es später erneut" # Internal error, please try again later
Expand Down Expand Up @@ -259,8 +259,8 @@ MN_RESTART_FAILED = "<b>Masternode Neustart fehlgeschlagen!</b>" # <b>Masternode
MN_DESTROYED = "<b>Masternode destroyed!</b><br>Your coins are now spendable." # <b>Masternode destroyed!</b><br>Your coins are now spendable.
MN_STATUS_IS = "Der Status der Masternode ist" # Your masternode status is
MN_STATE = "Die Masternode hat den Status <b>{state}</b>" # Your masternode is in <b>{state}</b> state
MN_BAD_IP = "Die IP-Adresse ist ungültig" # The IP address is invalid!
MN_BAD_PRIVKEY = "" # The private key is invalid
MN_BAD_IP = "Die IP-Adresse ist ungültig!" # The IP address is invalid!
MN_BAD_PRIVKEY = "Der private Schlüssel ist nicht korrekt!" # The private key is invalid
MN_NOT_ENOUGH_COLLAT = "Du benötigst <b>{amount} mehr {ticker}</b> um eine Masternode zu erstellen!" # You need <b>{amount} more {ticker}</b> to create a Masternode!
MN_ENOUGH_BUT_NO_COLLAT = "Du hast zwar genug Guthaben für eine Masternode, aber keine gültige UTXO über {amount} {ticker}" # You have enough balance for a Masternode, but no valid collateral UTXO of {amount} {ticker}
MN_COLLAT_NOT_SUITABLE = "Dies ist keine gültige UTXO für eine Masternode" # This is not a suitable UTXO for a Masternode
Expand Down Expand Up @@ -313,6 +313,6 @@ CONFIRM_POPUP_VERIFY_ADDR = "Überprüfe die Adresse" # Verify your address
MIGRATION_MASTERNODE_FAILURE = "Wiederherstellen der Masternode fehlgeschlagen. Bitte importiere sie erneut." # Failed to recover your masternode. Please reimport it.
MIGRATION_ACCOUNT_FAILURE = "Wiederherstellen deines Accounts fehlgeschlagen. Bitte importiere ihn erneut." # Failed to recover your account. Please reimport it.
APP_INSTALLED = "Anwendung installiert!" # App Installed!
CONFIRM_POPUP_DELETE_ACCOUNT = "" # This will delete all your data, including masternodes contacts and private keys!
CONFIRM_POPUP_DELETE_ACCOUNT_TITLE = "" # Are you sure?
CONFIRM_POPUP_DELETE_ACCOUNT = "Dies wird alle deine Daten löschen. Eingeschlossen Masternode, Kontakte und private Schlüssel!" # This will delete all your data, including masternodes contacts and private keys!
CONFIRM_POPUP_DELETE_ACCOUNT_TITLE = "Bist du wirklich sicher?" # Are you sure?
WALLET_NOT_SYNCED = "" # Please try again when wallet finishes syncing!
42 changes: 21 additions & 21 deletions locale/fr/translation.toml
Expand Up @@ -203,12 +203,12 @@ timeHours = "Heures" # Hours
timeMinutes = "Minutes" # Minutes
timeSeconds = "Secondes" # Seconds
unhandledException = "Exception non traitée." # Unhandled exception.
syncStatusHistoryProgress = "" # Syncing History Chunks {current} of {total}
syncStatusStarting = "" # <b>Your wallet is syncing!</b><br>You'll be able to use it fully once this is complete.
syncStatusFinished = "" # <b>Sync Finished!</b><br>Your wallet is ready to use!
contestedProposalsTitle = "" # Contested Proposals
syncStatusHistoryProgress = "Syncing History Chunks {current} of {total}" # Syncing History Chunks {current} of {total}
syncStatusStarting = "<b>Votre portefeuille est en cours de synchronisationxa0!</b><br>Vous pourrez l'utiliser pleinement une fois cette opération terminée." # <b>Your wallet is syncing!</b><br>You'll be able to use it fully once this is complete.
syncStatusFinished = "<b>Synchronisation terminéexa0!</b><br>Votre portefeuille est prêt à être utiliséxa0!" # <b>Sync Finished!</b><br>Your wallet is ready to use!
contestedProposalsTitle = "Propositions contestées" # Contested Proposals
accountDeleted = "" # Your account has been successfully deleted!
activityReceivedWith = "" # Received with {s}
activityReceivedWith = "Reçu avec {s}" # Received with {s}

[ALERTS]
INTERNAL_ERROR = "Erreur interne, veuillez réessayer plus tard" # Internal error, please try again later
Expand Down Expand Up @@ -260,7 +260,7 @@ MN_DESTROYED = "<b>Masternode détruit!</b><br>Vous pouvez maintenant dépenser
MN_STATUS_IS = "L'état de votre masternode est" # Your masternode status is
MN_STATE = "L'état de votre masternode est <b>{state}</b>" # Your masternode is in <b>{state}</b> state
MN_BAD_IP = "L'adresse IP n'est pas valide!" # The IP address is invalid!
MN_BAD_PRIVKEY = "" # The private key is invalid
MN_BAD_PRIVKEY = "La clé privée n'est pas valide" # The private key is invalid
MN_NOT_ENOUGH_COLLAT = "Vous avez besoin <b>{amount} plus {ticker}</b> pour créer un Masternode!" # You need <b>{amount} more {ticker}</b> to create a Masternode!
MN_ENOUGH_BUT_NO_COLLAT = "Vous disposez d'un solde suffisant pour un Masternode, mais pas d'UTXO comme garantie valide de {amount} {ticker}" # You have enough balance for a Masternode, but no valid collateral UTXO of {amount} {ticker}
MN_COLLAT_NOT_SUITABLE = "Il ne s'agit pas d'une UTXO appropriée pour un Masternode" # This is not a suitable UTXO for a Masternode
Expand All @@ -287,7 +287,7 @@ WALLET_FIREFOX_UNSUPPORTED = "<b>O Firefox ne supporte pas cela !</b><br>Malheur
WALLET_HARDWARE_WALLET = "<b>Portefeuille de Hardware prêt!</b><br>Gardez votre {hardwareWallet} connecté, déverrouillé et dans l'application PIVX" # <b>Hardware wallet ready!</b><br>Please keep your {hardwareWallet} plugged in, unlocked, and in the PIVX app
WALLET_CONFIRM_L = "Confirmez l'importation dans votre Ledger" # Confirm the import on your Ledger
WALLET_NO_HARDWARE = "<b>Aucun dispositif disponible</b><br>Il n'a pas été possible de trouver un portefeuille de hardware; brancher et déverrouiller!" # <b>No device available</b><br>Couldn't find a hardware wallet; please plug it in and unlock!
WALLET_HARDWARE_UDEV = "" # <b>The OS denied access</b> Did you add the udev rules?
WALLET_HARDWARE_UDEV = "<b>Le système d'exploitation a refusé l'accès</b> Avez-vous ajouté les règles udevxa0?" # <b>The OS denied access</b> Did you add the udev rules?
WALLET_HARDWARE_NO_ACCESS = "<b>Le système d'exploitation refuse l'accès</b> Veuillez vérifier les paramètres de votre système d'exploitation." # <b>The OS denied access</b> Please check your Operating System settings.
WALLET_HARDWARE_CONNECTION_LOST = "<b>Perte de connexion avec le {hardwareWallet} </b><br>Oops! Il semble que {hardwareWalletProductionName} a été déconnecté au milieu de l'opération." # <b>Lost connection to {hardwareWallet} </b><br>It seems the {hardwareWallet} was unplugged mid-operation, oops!
WALLET_HARDWARE_BUSY = "<b>{hardwareWallet} est en mode veille</b><br>Veuillez débloquer le vôtre {hardwareWalletProductionName} ou compléter l'introduction actuelle" # <b>{hardwareWallet} is waiting</b><br>Please unlock your {hardwareWallet} or finish it's current prompt
Expand All @@ -301,18 +301,18 @@ CONFIRM_POPUP_VERIFY_ADDR = "Vérifiez votre adresse" # Verify your address
MIGRATION_MASTERNODE_FAILURE = "Échec de la récupération de votre masternode. S'il vous plaît, le réimporter." # Failed to recover your masternode. Please reimport it.
MIGRATION_ACCOUNT_FAILURE = "Échec de la récupération de votre compte. S'il vous plaît, le réimporter." # Failed to recover your account. Please reimport it.
APP_INSTALLED = "Application installée!" # App Installed!
PROPOSAL_FINALISED = "" # Proposal Launched!
PROPOSAL_UNCONFIRMED = "" # The proposal hasn't confirmed yet
PROPOSAL_EXPIRED = "" # The proposal has expired. Create a new one.
PROPOSAL_FINALISE_FAIL = "" # Failed to finalize proposal.
PROPOSAL_IMPORT_FIRST = "" # Create or import your wallet to continue
PROPOSAL_NOT_ENOUGH_FUNDS = "" # Not enough funds to create a proposal.
PROPOSAL_INVALID_ERROR = "" # Proposal is invalid. Error:
PROPOSAL_CREATED = "" # <b>Proposal Created!</b><br>Wait for confirmations, then finalise your proposal!
PROMO_MIN = "" # Minimum amount is {min} {ticker}!
PROMO_MAX_QUANTITY = "" # Your device can only create {quantity} codes at a time!
PROMO_NOT_ENOUGH = "" # You don't have enough {ticker} to create that code!
PROMO_ALREADY_CREATED = "" # You've already created that code!
CONFIRM_POPUP_DELETE_ACCOUNT = "" # This will delete all your data, including masternodes contacts and private keys!
CONFIRM_POPUP_DELETE_ACCOUNT_TITLE = "" # Are you sure?
PROPOSAL_FINALISED = "Proposal Launched!" # Proposal Launched!
PROPOSAL_UNCONFIRMED = "La proposition n'a pas encore été confirmée" # The proposal hasn't confirmed yet
PROPOSAL_EXPIRED = "La proposition a expiré. Créez-en un nouveau." # The proposal has expired. Create a new one.
PROPOSAL_FINALISE_FAIL = "Échec de la finalisation de la proposition." # Failed to finalize proposal.
PROPOSAL_IMPORT_FIRST = "Créez ou importez votre portefeuille pour continuer" # Create or import your wallet to continue
PROPOSAL_NOT_ENOUGH_FUNDS = "Pas assez de fonds pour créer une proposition." # Not enough funds to create a proposal.
PROPOSAL_INVALID_ERROR = "La proposition n'est pas valide. Erreur:" # Proposal is invalid. Error:
PROPOSAL_CREATED = "<b>Proposition crééexa0!</b><br>Attendez les confirmations, puis finalisez votre propositionxa0!" # <b>Proposal Created!</b><br>Wait for confirmations, then finalise your proposal!
PROMO_MIN = "Le montant minimum est de {min}xa0{ticker}xa0!" # Minimum amount is {min} {ticker}!
PROMO_MAX_QUANTITY = "Votre appareil ne peut créer que {quantité} de codes à la fois !" # Your device can only create {quantity} codes at a time!
PROMO_NOT_ENOUGH = "Vous n'avez pas assez de {ticker} pour créer ce code !" # You don't have enough {ticker} to create that code!
PROMO_ALREADY_CREATED = "Vous avez déjà créé ce code !" # You've already created that code!
CONFIRM_POPUP_DELETE_ACCOUNT = "Cette opération supprimera toutes vos données, y compris les contacts des masternodes et les clés privées !" # This will delete all your data, including masternodes contacts and private keys!
CONFIRM_POPUP_DELETE_ACCOUNT_TITLE = "Êtes-vous sûr ?" # Are you sure?
WALLET_NOT_SYNCED = "" # Please try again when wallet finishes syncing!