aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--app/_locales/en/messages.json176
-rw-r--r--app/_locales/fr/messages.json749
-rw-r--r--app/_locales/ko/messages.json14
-rw-r--r--app/scripts/controllers/network/createInfuraClient.js10
-rw-r--r--app/scripts/controllers/network/createJsonRpcClient.js4
-rw-r--r--app/scripts/controllers/network/createLocalhostClient.js4
-rw-r--r--app/scripts/inpage.js13
-rw-r--r--app/scripts/lib/message-manager.js2
-rw-r--r--app/scripts/lib/personal-message-manager.js2
-rw-r--r--app/scripts/metamask-controller.js20
-rw-r--r--development/verify-locale-strings.js5
-rw-r--r--docs/porting_to_new_environment.md2
-rw-r--r--docs/state_dump.md2
-rw-r--r--docs/translating-guide.md2
-rw-r--r--package-lock.json320
-rw-r--r--package.json12
-rw-r--r--test/lib/mock-encryptor.js2
-rw-r--r--test/unit/components/binary-renderer-test.js2
-rw-r--r--test/unit/development/sample-changelog.md4
20 files changed, 1080 insertions, 266 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 971758e22..aef455127 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
## Current Develop Branch
- Update transaction statuses when switching networks.
+- [#5470](https://github.com/MetaMask/metamask-extension/pull/5470) 100% coverage in French locale, fixed the procedure to verify proposed locale.
## 4.12.0 Thursday September 27 2018
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 14ba158df..66f378ab8 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -3,7 +3,7 @@
"message": "Accept"
},
"accessingYourCamera": {
- "message": "Accesing your camera..."
+ "message": "Accessing your camera..."
},
"account": {
"message": "Account"
@@ -99,7 +99,7 @@
"message": "Borrow With Dharma (Beta)"
},
"browserNotSupported": {
- "message": "Your Browser is not supported..."
+ "message": "Your Browser is not supported..."
},
"builtInCalifornia": {
"message": "MetaMask is designed and built in California."
@@ -167,6 +167,21 @@
"connecting": {
"message": "Connecting..."
},
+ "connectingToKovan": {
+ "message": "Connecting to Kovan Test Network"
+ },
+ "connectingToMainnet": {
+ "message": "Connecting to Main Ethereum Network"
+ },
+ "connectingToRopsten": {
+ "message": "Connecting to Ropsten Test Network"
+ },
+ "connectingToRinkeby": {
+ "message": "Connecting to Rinkeby Test Network"
+ },
+ "connectingToUnknown": {
+ "message": "Connecting to Unknown Network"
+ },
"connectToLedger": {
"message": "Connect to Ledger"
},
@@ -234,6 +249,9 @@
"currentNetwork": {
"message": "Current Network"
},
+ "currentRpc": {
+ "message": "Current RPC"
+ },
"customGas": {
"message": "Customize Gas"
},
@@ -340,15 +358,6 @@
"enterPasswordContinue": {
"message": "Enter password to continue"
},
- "parameters": {
- "message": "Parameters"
- },
- "passwordNotLongEnough": {
- "message": "Password not long enough"
- },
- "passwordsDontMatch": {
- "message": "Passwords Don't Match"
- },
"etherscanView": {
"message": "View account on Etherscan"
},
@@ -504,6 +513,9 @@
"importUsingSeed": {
"message": "Import using account seed phrase"
},
+ "info": {
+ "message": "Info"
+ },
"infoHelp": {
"message": "Info & Help"
},
@@ -532,7 +544,7 @@
"message": "Invalid Request"
},
"invalidRPC": {
- "message": "Invalid RPC URI"
+ "message": "Invalid RPC URL"
},
"invalidSeedPhrase": {
"message": "Invalid seed phrase"
@@ -656,6 +668,9 @@
"newPassword": {
"message": "New Password (min 8 chars)"
},
+ "newPassword8Chars": {
+ "message": "New Password (min 8 chars)"
+ },
"newRecipient": {
"message": "New Recipient"
},
@@ -698,6 +713,13 @@
"oldUIMessage": {
"message": "You have returned to the old UI. You can switch back to the New UI through the option in the top right dropdown menu."
},
+ "onlySendToEtherAddress": {
+ "message": "Only send ETH to an Ethereum address."
+ },
+ "onlySendTokensToAccountAddress": {
+ "message": "Only send $1 to an Ethereum account address.",
+ "description": "displays token symbol"
+ },
"openInTab": {
"message": "Open in tab"
},
@@ -705,9 +727,24 @@
"message": "or",
"description": "choice between creating or importing a new account"
},
+ "orderOneHere": {
+ "message": "Order a Trezor or Ledger and keep your funds in cold storage"
+ },
"origin": {
"message": "Origin"
},
+ "outgoing": {
+ "message": "Outgoing"
+ },
+ "parameters": {
+ "message": "Parameters"
+ },
+ "passwordNotLongEnough": {
+ "message": "Password not long enough"
+ },
+ "passwordsDontMatch": {
+ "message": "Passwords Don't Match"
+ },
"password": {
"message": "Password"
},
@@ -865,24 +902,6 @@
"rpc": {
"message": "Custom RPC"
},
- "currentRpc": {
- "message": "Current RPC"
- },
- "connectingToMainnet": {
- "message": "Connecting to Main Ethereum Network"
- },
- "connectingToRopsten": {
- "message": "Connecting to Ropsten Test Network"
- },
- "connectingToKovan": {
- "message": "Connecting to Kovan Test Network"
- },
- "connectingToRinkeby": {
- "message": "Connecting to Rinkeby Test Network"
- },
- "connectingToUnknown": {
- "message": "Connecting to Unknown Network"
- },
"sampleAccountName": {
"message": "E.g. My new account",
"description": "Help user understand concept of adding a human-readable name to their account"
@@ -890,15 +909,6 @@
"save": {
"message": "Save"
},
- "speedUp": {
- "message": "speed up"
- },
- "speedUpTitle": {
- "message": "Speed Up Transaction"
- },
- "speedUpSubtitle": {
- "message": "Increase your gas price to attempt to overwrite and speed up your transaction"
- },
"saveAsCsvFile": {
"message": "Save as CSV File"
},
@@ -909,6 +919,12 @@
"saveSeedAsFile": {
"message": "Save Seed Words As File"
},
+ "scanInstructions": {
+ "message": "Place the QR code in front of your camera"
+ },
+ "scanQrCode": {
+ "message": "Scan QR Code"
+ },
"search": {
"message": "Search"
},
@@ -918,15 +934,6 @@
"secretPhrase": {
"message": "Enter your secret twelve word phrase here to restore your vault."
},
- "showHexData": {
- "message": "Show Hex Data"
- },
- "showHexDataDescription": {
- "message": "Select this to show the hex data field on the send screen"
- },
- "newPassword8Chars": {
- "message": "New Password (min 8 chars)"
- },
"seedPhraseReq": {
"message": "Seed phrases are 12 words long"
},
@@ -963,19 +970,6 @@
"separateEachWord": {
"message": "Separate each word with a single space"
},
- "onlySendToEtherAddress": {
- "message": "Only send ETH to an Ethereum address."
- },
- "onlySendTokensToAccountAddress": {
- "message": "Only send $1 to an Ethereum account address.",
- "description": "displays token symbol"
- },
- "orderOneHere": {
- "message": "Order a Trezor or Ledger and keep your funds in cold storage"
- },
- "outgoing": {
- "message": "Outgoing"
- },
"searchTokens": {
"message": "Search Tokens"
},
@@ -1000,33 +994,6 @@
"settings": {
"message": "Settings"
},
- "step1HardwareWallet": {
- "message": "1. Connect Hardware Wallet"
- },
- "step1HardwareWalletMsg": {
- "message": "Connect your hardware wallet directly to your computer."
- },
- "step2HardwareWallet": {
- "message": "2. Select an Account"
- },
- "step2HardwareWalletMsg": {
- "message": "Select the account you want to view. You can only choose one at a time."
- },
- "step3HardwareWallet": {
- "message": "3. Start using dApps and more!"
- },
- "step3HardwareWalletMsg": {
- "message": "Use your hardware account like you would with any Ethereum account. Log in to dApps, send Eth, buy and store ERC20 tokens and Non-Fungible tokens like CryptoKitties."
- },
- "info": {
- "message": "Info"
- },
- "scanInstructions": {
- "message": "Place the QR code in front of your camera"
- },
- "scanQrCode": {
- "message": "Scan QR Code"
- },
"shapeshiftBuy": {
"message": "Buy with Shapeshift"
},
@@ -1036,6 +1003,12 @@
"showQRCode": {
"message": "Show QR Code"
},
+ "showHexData": {
+ "message": "Show Hex Data"
+ },
+ "showHexDataDescription": {
+ "message": "Select this to show the hex data field on the send screen"
+ },
"sign": {
"message": "Sign"
},
@@ -1060,6 +1033,15 @@
"spaceBetween": {
"message": "there can only be a space between words"
},
+ "speedUp": {
+ "message": "speed up"
+ },
+ "speedUpTitle": {
+ "message": "Speed Up Transaction"
+ },
+ "speedUpSubtitle": {
+ "message": "Increase your gas price to attempt to overwrite and speed up your transaction"
+ },
"status": {
"message": "Status"
},
@@ -1072,6 +1054,24 @@
"stateLogError": {
"message": "Error in retrieving state logs."
},
+ "step1HardwareWallet": {
+ "message": "1. Connect Hardware Wallet"
+ },
+ "step1HardwareWalletMsg": {
+ "message": "Connect your hardware wallet directly to your computer."
+ },
+ "step2HardwareWallet": {
+ "message": "2. Select an Account"
+ },
+ "step2HardwareWalletMsg": {
+ "message": "Select the account you want to view. You can only choose one at a time."
+ },
+ "step3HardwareWallet": {
+ "message": "3. Start using dApps and more!"
+ },
+ "step3HardwareWalletMsg": {
+ "message": "Use your hardware account like you would with any Ethereum account. Log in to dApps, send Eth, buy and store ERC20 tokens and Non-Fungible tokens like CryptoKitties."
+ },
"submit": {
"message": "Submit"
},
diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json
index 6f850d89b..55a7582ce 100644
--- a/app/_locales/fr/messages.json
+++ b/app/_locales/fr/messages.json
@@ -2,6 +2,9 @@
"accept": {
"message": "Accepter"
},
+ "accessingYourCamera": {
+ "message": "Accès à votre appareil photo..."
+ },
"account": {
"message": "Compte"
},
@@ -11,12 +14,30 @@
"accountName": {
"message": "Nom du compte"
},
+ "accountSelectionRequired": {
+ "message": "Vous devez selectionner un compte !"
+ },
+ "activityLog": {
+ "message": "Log d'activité"
+ },
"address": {
"message": "Adresse"
},
+ "addCustomToken": {
+ "message": "Ajouter un jeton personnalisé"
+ },
"addToken": {
"message": "Ajouter un jeton"
},
+ "addTokens": {
+ "message": "Ajouter des jetons"
+ },
+ "addSuggestedTokens": {
+ "message": "Ajouter les jetons suggérés"
+ },
+ "addAcquiredTokens": {
+ "message": "Ajouter les jetons que vous avez acquis par l'intermédiaire de MetaMask"
+ },
"amount": {
"message": "Montant"
},
@@ -31,8 +52,23 @@
"message": "MetaMask",
"description": "Le nom de l'application"
},
+ "approve": {
+ "message": "Approuver"
+ },
+ "approved": {
+ "message": "Approuvé"
+ },
"attemptingConnect": {
- "message": "Tentative de connexion à blockchain."
+ "message": "Tentative de connexion au réseau"
+ },
+ "attemptToCancel": {
+ "message": "Tenter d'annuler ?"
+ },
+ "attemptToCancelDescription": {
+ "message": "Faire une demande d'annulation ne garantit pas que votre transaction originale sera bien annulée. Dans le cas où l'annulation réussit, vous payerez les frais de transaction indiqués ci-dessus."
+ },
+ "attributions": {
+ "message": "Attributions"
},
"available": {
"message": "Disponible"
@@ -43,6 +79,9 @@
"balance": {
"message": "Balance:"
},
+ "balances": {
+ "message": "Balance(s) de(s) jeton(s)"
+ },
"balanceIsInsufficientGas": {
"message": "Solde insuffisant pour le total actuel de gaz"
},
@@ -53,9 +92,18 @@
"message": "doit être supérieur ou égal à $1 et inférieur ou égal à $2",
"description": "helper pour la saisie hexadécimale en entrée décimale"
},
+ "blockiesIdenticon": {
+ "message": "Utiliser les Identicon Blockies"
+ },
"borrowDharma": {
"message": "Emprunter avec Dharma (Bêta)"
},
+ "browserNotSupported": {
+ "message": "Votre navigateur internet n'est pas supporté..."
+ },
+ "builtInCalifornia": {
+ "message": "MetaMask est designé et developpé en Californie."
+ },
"buy": {
"message": "Acheter"
},
@@ -63,17 +111,44 @@
"message": "Acheter sur Coinbase"
},
"buyCoinbaseExplainer": {
- "message": "Coinbase est le moyen le plus populaire au monde d'acheter et de vendre du Bitcoin, de l'Ethereum et du Litecoin."
+ "message": "Coinbase est le moyen le plus populaire d'acheter et de vendre des Ethers."
+ },
+ "bytes": {
+ "message": "Bytes"
+ },
+ "ok": {
+ "message": "Ok"
},
"cancel": {
"message": "Annuler"
},
+ "cancelAttempt": {
+ "message": "Annuler la tentative."
+ },
+ "cancellationGasFee": {
+ "message": "Frais en gas de l'annulation"
+ },
+ "cancelN": {
+ "message": "Annuler toutes les transactions $1"
+ },
+ "classicInterface": {
+ "message": "Utiliser l'interface classique"
+ },
"clickCopy": {
"message": "Cliquer pour copier"
},
+ "close": {
+ "message": "Fermer"
+ },
+ "chromeRequiredForHardwareWallets":{
+ "message": "Pour connecter votre portefeuille hardware, vous devez utiliser MetaMask pour Google Chrome."
+ },
"confirm": {
"message": "Confirmer"
},
+ "confirmed": {
+ "message": "Confirmé"
+ },
"confirmContract": {
"message": "Confirmer le contrat"
},
@@ -83,6 +158,39 @@
"confirmTransaction": {
"message": "Confirmer la transaction"
},
+ "connectHardwareWallet": {
+ "message": "Connecter un portefeuille hardware"
+ },
+ "connect": {
+ "message": "Connecter"
+ },
+ "connecting": {
+ "message": "Connection..."
+ },
+ "connectingToKovan": {
+ "message": "Connection au réseau de test Kovan"
+ },
+ "connectingToMainnet": {
+ "message": "Connection au Réseau principal Ethereum"
+ },
+ "connectingToRopsten": {
+ "message": "Connection au réseau de test Ropsten"
+ },
+ "connectingToRinkeby": {
+ "message": "Connection au réseau de test Rinkeby"
+ },
+ "connectingToUnknown": {
+ "message": "Connection à un réseau inconnu"
+ },
+ "connectToLedger": {
+ "message": "Connecter un Ledger"
+ },
+ "connectToTrezor": {
+ "message": "Connecter un Trezor"
+ },
+ "continue": {
+ "message": "Continuer"
+ },
"continueToCoinbase": {
"message": "Continuer vers Coinbase"
},
@@ -101,9 +209,15 @@
"copiedExclamation": {
"message": "Copié!"
},
+ "copiedSafe": {
+ "message": "Copié de manière sécurisé"
+ },
"copy": {
"message": "Copier"
},
+ "copyAddress": {
+ "message": "Copier l'addresse dans le presse-papier"
+ },
"copyToClipboard": {
"message": "Copier dans le presse-papier"
},
@@ -120,14 +234,29 @@
"message": "Créer un compte"
},
"createDen": {
- "message": "Créer"
+ "message": "Créer un antre"
},
"crypto": {
"message": "Crypto",
"description": "Type d'échange (cryptocurrencies)"
},
+ "currentConversion": {
+ "message": "Conversion actuelle"
+ },
+ "currentLanguage": {
+ "message": "Langue actuelle"
+ },
+ "currentNetwork": {
+ "message": "Réseau actuel"
+ },
+ "currentRpc": {
+ "message": "RPC Actuel"
+ },
"customGas": {
- "message": "Personnaliser le Gaz"
+ "message": "Personnaliser le gaz"
+ },
+ "customToken": {
+ "message": "Jeton personnalisé"
},
"customize": {
"message": "Personnaliser"
@@ -135,39 +264,45 @@
"customRPC": {
"message": "RPC personnalisé"
},
+ "decimalsMustZerotoTen": {
+ "message": "Les décimales doivent être plus grandes que 0 et inférieures à 36."
+ },
+ "decimal": {
+ "message": "Décimales de précision"
+ },
"defaultNetwork": {
- "message": "Le réseau par défaut pour les transactions Ether est Main Net."
+ "message": "Le réseau par défaut pour les transactions Ether est le \"Réseau principal Ethereum\"."
},
"denExplainer": {
"message": "Votre DEN est votre stockage crypté par mot de passe dans MetaMask."
},
"deposit": {
- "message": "Dépôt"
+ "message": "Déposer"
},
"depositBTC": {
"message": "Déposez vos BTC à l'adresse ci-dessous:"
},
"depositCoin": {
- "message": "Déposez votre $1 à l'adresse ci-dessous",
- "description": "Indique à l'utilisateur quelle monnaie il a choisi de déposer avec shapeshift"
+ "message": "Déposer votre $1 à l'adresse ci-dessous",
+ "description": "Indique à l'utilisateur quelle monnaie il a choisi de déposer avec Shapeshift"
},
"depositEth": {
- "message": "Dépôt Eth"
+ "message": "Déposer Eth"
},
"depositEther": {
- "message": "Dépôt Ether"
+ "message": "Déposer de l'Ether"
},
"depositFiat": {
- "message": "Dépôt de monnaie-fiat"
+ "message": "Déposer de la monnaie-fiat"
},
"depositFromAccount": {
- "message": "Dépôt d'un autre compte"
+ "message": "Déposer depuis un autre compte"
},
"depositShapeShift": {
- "message": "Déposez avec ShapeShift"
+ "message": "Déposer avec ShapeShift"
},
"depositShapeShiftExplainer": {
- "message": "Si vous possédez d'autres crypto-monnaies, vous pouvez échanger et déposer de l'Ether directement dans votre portefeuille MetaMask. Aucun compte n'est requis."
+ "message": "Si vous possédez d'autres crypto-monnaies, vous pouvez échanger et déposer de l'Ether directement dans votre portefeuille MetaMask via Shapeshift. Aucun compte n'est requis."
},
"details": {
"message": "Détails"
@@ -182,7 +317,19 @@
"message": "Si vous avez déjà de l'Ether, le moyen le plus rapide d'obtenir des Ether dans votre nouveau portefeuille est par dépôt direct."
},
"done": {
- "message": "Fait"
+ "message": "Terminé"
+ },
+ "downloadGoogleChrome": {
+ "message": "Télécharger Google Chrome"
+ },
+ "downloadStateLogs": {
+ "message": "Télécharger les Logs d'état"
+ },
+ "dontHaveAHardwareWallet": {
+ "message": "Vous n'avez pas de portefeuille hardware ?"
+ },
+ "dropped": {
+ "message": "Déconnecté"
},
"edit": {
"message": "Modifier"
@@ -190,12 +337,27 @@
"editAccountName": {
"message": "Modifier le nom du compte"
},
+ "editingTransaction": {
+ "message": "Modifier votre transaction"
+ },
+ "emailUs": {
+ "message": "Envoyez-nous un email !"
+ },
"encryptNewDen": {
"message": "Chiffrer votre nouveau DEN"
},
+ "ensNameNotFound": {
+ "message": "Nom ENS inconnu"
+ },
"enterPassword": {
"message": "Entrer le mot de passe"
},
+ "enterPasswordConfirm": {
+ "message": "Enter your password to confirm"
+ },
+ "enterPasswordContinue": {
+ "message": "Enter password to continue"
+ },
"etherscanView": {
"message": "Afficher le compte sur Etherscan"
},
@@ -219,30 +381,45 @@
"message": "L'importation de fichier ne fonctionne pas? Cliquez ici!",
"description": "Aide l'utilisateur à importer son compte à partir d'un fichier JSON"
},
+ "followTwitter": {
+ "message": "Suivez-nous sur Twitter"
+ },
+ "forgetDevice": {
+ "message": "Oublier cet appareil"
+ },
"from": {
"message": "de"
},
+ "fromToSame": {
+ "message": "Les addresses d'origine et de destination doivent être différentes"
+ },
"fromShapeShift": {
- "message": "ShapeShift de"
+ "message": "de ShapeShift"
+ },
+ "functionType": {
+ "message": "Type de fonction"
},
"gas": {
"message": "Gas",
- "description": "Indication courte du coût du gaz"
+ "description": "Indication brève du coût du gaz"
},
"gasFee": {
- "message": "Frais de gaz"
+ "message": "Coût en gaz"
},
"gasLimit": {
- "message": "Limite de gaz"
+ "message": "Quantité max. de gaz"
},
"gasLimitCalculation": {
- "message": "Nous calculons la limite de gaz suggérée en fonction des taux de réussite du réseau."
+ "message": "Nous calculons la quantité max. de gaz suggérée en fonction du code exécuté."
},
"gasLimitRequired": {
- "message": "Limite de gaz requise"
+ "message": "Quantité max. de gaz requise"
},
"gasLimitTooLow": {
- "message": "La limite de gaz doit être d'au moins 21000"
+ "message": "La quantité max. de gaz doit être d'au moins 21000"
+ },
+ "generatingSeed": {
+ "message": "Generation de la Seed..."
},
"gasPrice": {
"message": "Prix du gaz (GWEI)"
@@ -253,6 +430,9 @@
"gasPriceRequired": {
"message": "Prix du gaz requis"
},
+ "generatingTransaction": {
+ "message": "Préparation de la transaction"
+ },
"getEther": {
"message": "Obtenir des Ether"
},
@@ -260,14 +440,38 @@
"message": "Obtenir de l'Ether d'une faucet pour $1",
"description": "Affiche le nom du réseau pour la faucet d'Ether"
},
+ "getHelp": {
+ "message": "Obtenir de l'aide."
+ },
"greaterThanMin": {
"message": "doit être supérieur ou égal à $1.",
"description": "helper pour la saisie hexadécimale en entrée décimale"
},
+ "hardware": {
+ "message": "hardware"
+ },
+ "hardwareWalletConnected": {
+ "message": "Portefeuille hardware connecté"
+ },
+ "hardwareWallets": {
+ "message": "Connecter un portefeuille hardware"
+ },
+ "hardwareWalletsMsg": {
+ "message": "Selectionnez le portefeuille hardware que vous voulez utiliser avec MetaMask"
+ },
+ "havingTroubleConnecting": {
+ "message": "Un problème de connection ?"
+ },
"here": {
"message": "ici",
"description": "comme dans -cliquer ici- pour plus d'informations (en rapport avec troubleTokenBalances)"
},
+ "hereList": {
+ "message": "Voici une liste !!!!"
+ },
+ "hexData": {
+ "message": "Data Hex"
+ },
"hide": {
"message": "Cacher"
},
@@ -277,15 +481,24 @@
"hideTokenPrompt": {
"message": "Masquer le jeton?"
},
+ "history": {
+ "message": "Historique"
+ },
"howToDeposit": {
"message": "Comment voulez-vous déposer de l'Ether?"
},
+ "holdEther": {
+ "message": "Cela vous permet de conserver vos Ethers et vos jetons afin d'utiliser directement des applications décentralisées."
+ },
"import": {
"message": "Importer",
"description": "Bouton pour importer un compte à partir d'un fichier sélectionné"
},
"importAccount": {
- "message": "Importer compte"
+ "message": "Importer un compte"
+ },
+ "importAccountMsg": {
+ "message":" Les comptes importés ne seront pas associés avec votre phrase Seed que vous avez créé au départ dans MetaMask. Obtenir plus d'information sur les comptes importés"
},
"importAnAccount": {
"message": "Importer un compte"
@@ -297,32 +510,80 @@
"message": "Importé",
"description": "statut indiquant qu'un compte a été entièrement chargé dans le trousseau de clés"
},
+ "importUsingSeed": {
+ "message": "Importer à partir de la phrase Seed du compte"
+ },
+ "info": {
+ "message": "Info"
+ },
"infoHelp": {
"message": "Info & Aide"
},
+ "initialTransactionConfirmed": {
+ "message": "Votre transaction initiale a été confirmée par le réseau. Cliquez sur OK pour retourner à l'écran précédent."
+ },
+ "insufficientFunds": {
+ "message": "Insufficient funds."
+ },
+ "insufficientTokens": {
+ "message": "Insufficient tokens."
+ },
"invalidAddress": {
"message": "Adresse invalide"
},
+ "invalidAddressRecipient": {
+ "message": "L'adresse du destinataire n'est pas valide"
+ },
"invalidGasParams": {
"message": "Paramètres de gaz invalides"
},
"invalidInput": {
- "message": "Entrée non valide."
+ "message": "Saisie non valide."
},
"invalidRequest": {
"message": "Requête invalide"
},
+ "invalidRPC": {
+ "message": "URL RPC invalide"
+ },
+ "invalidSeedPhrase": {
+ "message": "Phrase Seed invalide"
+ },
+ "jsonFail": {
+ "message": "Il y a eu un problème. Veuillez vérifier que votre fichier json a le bon format."
+ },
"jsonFile": {
"message": "Fichier JSON",
"description": "format d'importation d'un compte"
},
+ "keepTrackTokens": {
+ "message": "Garder la trace des jetons que vous avez acheté avec votre compte MetaMask."
+ },
"kovan": {
"message": "Réseau de test Kovan"
},
+ "knowledgeDataBase": {
+ "message": "Visitez notre base de connaissances"
+ },
+ "max": {
+ "message": "Max"
+ },
+ "learnMore": {
+ "message": "En savoir plus"
+ },
+ "ledgerAccountRestriction": {
+ "message": "Vous devez d'abord utiliser le dernier compte que vous avez créé avant de pouvoir en créer un autre."
+ },
"lessThanMax": {
"message": "doit être inférieur ou égal à $1.",
"description": "helper pour la saisie hexadécimale en entrée décimale"
},
+ "likeToAddTokens": {
+ "message": "Souhaitez-vous ajouter ces jetons ?"
+ },
+ "links": {
+ "message": "Liens"
+ },
"limit": {
"message": "Limite"
},
@@ -335,26 +596,47 @@
"localhost": {
"message": "Localhost 8545"
},
+ "login": {
+ "message": "Connexion"
+ },
"logout": {
"message": "Déconnexion"
},
"loose": {
"message": "Vacant"
},
+ "loweCaseWords": {
+ "message": "Les mots seed n'ont que des caractères en minuscules"
+ },
"mainnet": {
"message": "Réseau principal Ethereum"
},
+ "menu": {
+ "message": "Menu"
+ },
"message": {
"message": "Message"
},
+ "metamaskDescription": {
+ "message": "MetaMask est un coffre sécurisé pour votre identité sur Ethereum."
+ },
+ "metamaskSeedWords": {
+ "message": "Mots Seed pour MetaMask"
+ },
+ "metamaskVersion": {
+ "message": "Version de MetaMask"
+ },
"min": {
"message": "Minimum"
},
"myAccounts": {
"message": "Mes comptes"
},
+ "mustSelectOne": {
+ "message": "Vous devez selectionner au moins 1 jeton."
+ },
"needEtherInWallet": {
- "message": "Pour interagir avec des applications décentralisées à l'aide de MetaMask, vous aurez besoin d'Ether dans votre portefeuille."
+ "message": "Pour interagir avec des applications décentralisées à l'aide de MetaMask, vous avez besoin d'Ether dans votre portefeuille."
},
"needImportFile": {
"message": "Vous devez sélectionner un fichier à importer.",
@@ -364,9 +646,15 @@
"message": "Vous devez entrer un mot de passe pour le fichier sélectionné.",
"description": "Mot de passe et fichier requis pour importer un compte"
},
+ "negativeETH": {
+ "message": "Vous ne pouvez envoyer des montants négatifs d'ETH."
+ },
"networks": {
"message": "Réseaux"
},
+ "nevermind": {
+ "message": "Abandonner"
+ },
"newAccount": {
"message": "Nouveau compte"
},
@@ -380,9 +668,15 @@
"newPassword": {
"message": "Nouveau mot de passe (min 8 caractères)"
},
+ "newPassword8Chars": {
+ "message": "Nouveau mot de passe (min 8 caractères)"
+ },
"newRecipient": {
"message": "Nouveau destinataire"
},
+ "newRPC": {
+ "message": "Nouvelle URL RPC"
+ },
"next": {
"message": "Suivant"
},
@@ -392,31 +686,77 @@
"noDeposits": {
"message": "Aucun dépôt reçu"
},
+ "noConversionRateAvailable":{
+ "message": "Aucun taux de conversion disponible"
+ },
"noTransactionHistory": {
"message": "Aucun historique de transaction."
},
"noTransactions": {
"message": "Aucune transaction"
},
+ "notFound": {
+ "message": "Non trouvé"
+ },
"notStarted": {
"message": "Pas démarré"
},
+ "noWebcamFoundTitle": {
+ "message": "Webcam introuvable"
+ },
+ "noWebcamFound": {
+ "message": "La caméra de votre ordinateur n'a pas été trouvée. Veuillez réessayer."
+ },
"oldUI": {
"message": "Ancienne interface utilisateur"
},
"oldUIMessage": {
- "message": "Vous êtes revenu à l'ancienne interface utilisateur.Vous pouvez revenir à la nouvelle interface via l'option dans le menu déroulant en haut à droite."
+ "message": "Vous êtes revenu à l'ancienne interface utilisateur. Vous pouvez revenir à la nouvelle interface via l'option dans le menu déroulant en haut à droite."
+ },
+ "onlySendToEtherAddress": {
+ "message": "N'envoyez de l'Ether que sur une adresse Ethereum."
+ },
+ "onlySendTokensToAccountAddress": {
+ "message": "N'envoyez des $1 que sur une adresse Ethereum.",
+ "description": "displays token symbol"
+ },
+ "openInTab": {
+ "message": "Ouvrir dans un onglet"
},
"or": {
"message": "ou",
"description": "choix entre la création ou l'importation d'un nouveau compte"
},
+ "orderOneHere": {
+ "message": "Commander un Trezor ou un Ledger et conserver vos fonds en \"cold storage\""
+ },
+ "origin": {
+ "message": "Origine"
+ },
+ "outgoing": {
+ "message": "Sortie"
+ },
+ "parameters": {
+ "message": "Paramètres"
+ },
+ "passwordNotLongEnough": {
+ "message": "Mot de passe trop court"
+ },
+ "passwordsDontMatch": {
+ "message": "Les mots de passe ne correspondent pas"
+ },
+ "password": {
+ "message": "Mot de passe"
+ },
+ "passwordCorrect": {
+ "message": "Veuillez vérifier votre mot de passe."
+ },
"passwordMismatch": {
"message": "les mots de passe ne correspondent pas",
- "description": "dans le processus de création de mot de passe, les deux nouveaux champs de mot de passe ne correspondent pas"
+ "description": "dans le processus de création de mot de passe, les deux mot de passe saisis ne sont pas identiques."
},
"passwordShort": {
- "message": "mot de passe pas assez long",
+ "message": "Mot de passe trop court",
"description": "dans le processus de création de mot de passe, le mot de passe n'est pas assez long pour être sécurisé"
},
"pastePrivateKey": {
@@ -426,9 +766,24 @@
"pasteSeed": {
"message": "Collez votre seed phrase ici!"
},
+ "pending": {
+ "message": "En attente"
+ },
+ "personalAddressDetected": {
+ "message": "Votre adresse personnelle a été détectée. Veuillez saisir à la place l'adresse du contrat du jeton."
+ },
"pleaseReviewTransaction": {
"message": "Veuillez vérifier votre transaction."
},
+ "popularTokens": {
+ "message": "Jetons populaires"
+ },
+ "prev": {
+ "message": "Préc."
+ },
+ "privacyMsg": {
+ "message": "Politique de Confidentialité"
+ },
"privateKey": {
"message": "Clé privée",
"description": "sélectionnez ce type de fichier à utiliser pour importer un compte"
@@ -442,12 +797,18 @@
"qrCode": {
"message": "Afficher le QR Code"
},
+ "queue": {
+ "message": "File d'attente"
+ },
"readdToken": {
- "message": "Vous pouvez ajouter ce jeton dans le futur en allant sur “Ajouter un jeton” dans le menu des options de votre compte."
+ "message": "Vous pourrez ajouter à nouveau ce jeton en allant sur “Ajouter un jeton” dans le menu des options de votre compte."
},
"readMore": {
"message": "En savoir plus ici."
},
+ "readMore2": {
+ "message": "En savoir plus."
+ },
"receive": {
"message": "Recevoir"
},
@@ -457,44 +818,176 @@
"refundAddress": {
"message": "Votre adresse de remboursement"
},
+ "reject": {
+ "message": "Rejeter"
+ },
+ "rejectAll": {
+ "message": "Tout rejeter"
+ },
+ "rejectTxsN": {
+ "message": "Rejeter les transactions $1"
+ },
+ "rejectTxsDescription": {
+ "message": "Vous êtes sur le point de rejetter en groupe les transactions $1."
+ },
"rejected": {
"message": "Rejeté"
},
+ "reset": {
+ "message": "Reinitialiser"
+ },
+ "resetAccount": {
+ "message": "Reinitialiser le compte"
+ },
+ "resetAccountDescription": {
+ "message": "Reinitialiser votre compte va effacer votre historique de transactions."
+ },
+ "restoreFromSeed": {
+ "message": "Restaurer le compte ?"
+ },
+ "restoreVault": {
+ "message": "Restaurer le Coffre"
+ },
+ "restoreAccountWithSeed": {
+ "message": "Restaurer votre compte avec une phrase Seed."
+ },
"required": {
"message": "Obligatoire"
},
"retryWithMoreGas": {
- "message": "Réessayez avec un prix plus élevé du gaz ici"
+ "message": "Réessayer avec un prix de gaz plus élevé"
+ },
+ "walletSeed": {
+ "message": "Seed du portefeuille"
+ },
+ "restore": {
+ "message": "Restaurer"
+ },
+ "revealSeedWords": {
+ "message": "Révéler les mots Seed"
+ },
+ "revealSeedWordsTitle": {
+ "message": "Phrase Seed"
+ },
+ "revealSeedWordsDescription": {
+ "message": "Si jamais vous changez de navigateur ou d'ordinateur, vos aurez besoin de cette phrase seed pour accéder à vos comptes. Sauvegardez la quelque part de sûr et secret."
+ },
+ "revealSeedWordsWarningTitle": {
+ "message": "Ne communiquez PAS cette phrase à quelqu'un !"
+ },
+ "revealSeedWordsWarning": {
+ "message": "Ces mots peuvent être utilisés pour voler tous vos comptes."
},
"revert": {
"message": "Rétablir"
},
+ "remove": {
+ "message": "Supprimer"
+ },
+ "removeAccount": {
+ "message": "Suprimer le compte"
+ },
+ "removeAccountDescription": {
+ "message": "Ce compte va être supprimé de votre portefeuille. Veuillez vérifier que vous avez la phrase Seed originale de ce compte ou la clé privée pour ce compte importé avant de continuer. Vous pouvez importer ou créer à nouveau des comptes à partir du menu des comptes."
+ },
+ "readyToConnect": {
+ "message": "Prêt à se connecter ?"
+ },
"rinkeby": {
"message": "Réseau de test Rinkeby"
},
"ropsten": {
"message": "Réseau de test Ropsten"
},
+ "rpc": {
+ "message": "RPC Personnalisé"
+ },
"sampleAccountName": {
- "message": "Par exemple mon nouveau compte",
+ "message": "Par exemple: \"mon nouveau compte\" ",
"description": "Aidez l'utilisateur à comprendre le concept d'ajout d'un nom lisible par un humain à son compte"
},
"save": {
"message": "Enregistrer"
},
+ "saveAsCsvFile": {
+ "message": "Enregistrer comme fichier CSV"
+ },
"saveAsFile": {
"message": "Enregistrer dans un fichier",
"description": "Processus d'exportation de compte"
},
+ "saveSeedAsFile": {
+ "message": "Enregistrer la phrase Seed dans un fichier"
+ },
+ "scanInstructions": {
+ "message": "Placez le QR code devant votre appareil photo"
+ },
+ "scanQrCode": {
+ "message": "Scannez le QR Code"
+ },
+ "search": {
+ "message": "Rechercher"
+ },
+ "searchResults": {
+ "message": "Resultats de la recherche"
+ },
+ "secretPhrase": {
+ "message": "Entrez vos 12 mots secrets de votre phrase Seed pour restaurer votre coffre."
+ },
+ "seedPhraseReq": {
+ "message": "Les phrases Seed sont composées de 12 mots"
+ },
+ "select": {
+ "message": "Selectionner"
+ },
+ "selectCurrency": {
+ "message": "Selectionner Devise"
+ },
+ "selectLocale": {
+ "message": "Selectionner la localisation"
+ },
"selectService": {
"message": "Sélectionner un service"
},
+ "selectType": {
+ "message": "Selectionner le type"
+ },
"send": {
"message": "Envoyer"
},
+ "sendETH": {
+ "message": "Envoyer des ETH"
+ },
"sendTokens": {
"message": "Envoyer des jetons"
},
+ "sentEther": {
+ "message": "Ether envoyé"
+ },
+ "sentTokens": {
+ "message": "Jetons envoyés"
+ },
+ "separateEachWord": {
+ "message": "Separez chaque mot avec un espace simple"
+ },
+ "searchTokens": {
+ "message": "Rechercher des jetons"
+ },
+ "selectAnAddress": {
+ "message": "Selectionner une adresse"
+ },
+ "selectAnAccount": {
+ "message": "Selectionner un compte"
+ },
+ "selectAnAccountHelp": {
+ "message": "Selectionner le compte à afficher dans MetaMask"
+ },
+ "selectHdPath": {
+ "message": "Selectioner le \"Path HD\""
+ },
+ "selectPathHelp": {
+ "message": "Si vos comptes Ledger n'apparaissent pas ci-dessous, essayez de selectionner le path \"Legacy (MEW / MyCrypto)\""
+ },
"sendTokensAnywhere": {
"message": "Envoyer des jetons à toute personne possédant un compte Ethereum"
},
@@ -510,9 +1003,21 @@
"showQRCode": {
"message": "Afficher le QR Code"
},
+ "showHexData": {
+ "message": "Afficher les données Hex"
+ },
+ "showHexDataDescription": {
+ "message": "Selectionner ici pour afficher le champs de données hex dans l'écran d'envoi"
+ },
"sign": {
"message": "Signer"
},
+ "signatureRequest": {
+ "message": "Demande de Signature"
+ },
+ "signed": {
+ "message": "Signé"
+ },
"signMessage": {
"message": "Signer le message"
},
@@ -525,17 +1030,68 @@
"sigRequested": {
"message": "Signature demandée"
},
+ "spaceBetween": {
+ "message": "il ne peut y avoir qu'un seul espace entre les mots"
+ },
+ "speedUp": {
+ "message": "accélérer"
+ },
+ "speedUpTitle": {
+ "message": "Accélérer la Transaction"
+ },
+ "speedUpSubtitle": {
+ "message": "Augmenter le prix du gas pour tenter de remplacer et d'accélérer votre transaction"
+ },
"status": {
"message": "Statut"
},
+ "stateLogs": {
+ "message": "Logs d'Etat"
+ },
+ "stateLogsDescription": {
+ "message": "Les logs d'Etat contiennent les adresses publiques de vos comptes et vos transactions envoyées."
+ },
+ "stateLogError": {
+ "message": "Erreur lors du chargement des logs d'Etat."
+ },
+ "step1HardwareWallet": {
+ "message": "1. Connecter le portefeuille hardware"
+ },
+ "step1HardwareWalletMsg": {
+ "message": "Connectez votre portefeuille hardware directement à votre ordinateur."
+ },
+ "step2HardwareWallet": {
+ "message": "2. Selectionnez un compte"
+ },
+ "step2HardwareWalletMsg": {
+ "message": "Selectionnez le compte que vous voulez afficher. Vous ne pouvez en afficher qu'un seul à la fois."
+ },
+ "step3HardwareWallet": {
+ "message": "3. Vous pouvez maintenant utiliser des dApps et autres... !"
+ },
+ "step3HardwareWalletMsg": {
+ "message": "Utilisez ce compte de votre portefeuille hardware comme n'importe quel compte Ethereum. Connectez vous à des dApps, envoyez de l'Eth, achetez et conservez des jetons ERC20 et Non-Fungible comme CryptoKitties."
+ },
"submit": {
"message": "Soumettre"
},
+ "submitted": {
+ "message": "Envoyé"
+ },
+ "supportCenter": {
+ "message": "Visitez notre centre d'aide"
+ },
+ "symbolBetweenZeroTen": {
+ "message": "Le symbol doit avoir entre 0 et 10 caractères."
+ },
"takesTooLong": {
- "message": "Prend trop de temps?"
+ "message": "Cela prend trop de temps ?"
+ },
+ "terms": {
+ "message": "Conditions d'Utilisation"
},
"testFaucet": {
- "message": "Test Faucet"
+ "message": "Faucet Testnet"
},
"to": {
"message": "Destinataire"
@@ -544,25 +1100,88 @@
"message": "$1 à ETH via ShapeShift",
"description": "le système remplira le type de dépôt au début du message"
},
+ "token": {
+ "message": "Jeton"
+ },
+ "tokenAddress": {
+ "message": "Addresse du Jeton"
+ },
+ "tokenAlreadyAdded": {
+ "message": "Ce Jeton a déjà été ajouté."
+ },
"tokenBalance": {
- "message": "Votre solde de jeton est:"
+ "message": "Votre solde de jeton est :"
+ },
+ "tokenSelection": {
+ "message": "Recherchez des tokens or sélectionnez en parmi notre liste de jetons populaires."
+ },
+ "tokenSymbol": {
+ "message": "Symbole du Jeton"
+ },
+ "tokenWarning1": {
+ "message": "Garder la trace des jetons achetésvia MetaMask. Si vous en avez acheté avec un autre compte, ces jetons n'apparaîtront pas ici."
},
"total": {
"message": "Total"
},
+ "transaction": {
+ "message": "transaction"
+ },
+ "transactionConfirmed": {
+ "message": "Transaction confirmée sur $2."
+ },
+ "transactionCreated": {
+ "message": "Transaction crée avec une valeur de $1 sur $2."
+ },
+ "transactionWithNonce": {
+ "message": "Transaction $1"
+ },
+ "transactionDropped": {
+ "message": "Transaction abandonnée sur $2."
+ },
+ "transactionSubmitted": {
+ "message": "Transaction envoyée sur $2."
+ },
+ "transactionUpdated": {
+ "message": "Transaction mise à jour sur $2."
+ },
+ "transactionUpdatedGas": {
+ "message": "Transaction mise à jour avec un prix de gaz de $1 sur $2."
+ },
+ "transactions": {
+ "message": "transactions"
+ },
+ "transactionError": {
+ "message": "Erreur de Transaction. Une Exception a été rencontrée dans l'exécution du code du contrat."
+ },
"transactionMemo": {
"message": "Mémo de transaction (optionnel)"
},
"transactionNumber": {
"message": "Numéro de transaction"
},
+ "transfer": {
+ "message": "Transfert"
+ },
+ "transferFrom": {
+ "message": "Transfert Depuis"
+ },
"transfers": {
"message": "Transferts"
},
+ "trezorHardwareWallet": {
+ "message": "Portefeuille hardware TREZOR"
+ },
"troubleTokenBalances": {
- "message": "Nous avons eu du mal à charger votre balance de jetons, vous pouvez la consulter ",
+ "message": "Nous avons eu du mal à charger votre balance de jetons, vous pouvez la consulter ici :",
"description": "Suivi par un lien (ici) pour voir les soldes des jetons"
},
+ "tryAgain": {
+ "message": "Essayez à nouveau"
+ },
+ "twelveWords": {
+ "message": "Ces 12 mots sont la seule manière de restaurer vos comptes MetaMask.\nEnregistrez les quelquepart de sûr et secret."
+ },
"typePassword": {
"message": "Entrez votre mot de passe"
},
@@ -572,18 +1191,48 @@
"uiWelcomeMessage": {
"message": "Vous utilisez maintenant la nouvelle interface utilisateur MetaMask. Jetez un coup d'oeil, essayez de nouvelles fonctionnalités comme l'envoi de jetons, et faites-nous savoir si vous avez des problèmes."
},
+ "unapproved": {
+ "message": "Non autorisé"
+ },
"unavailable": {
"message": "Indisponible"
},
+ "units": {
+ "message": "unités"
+ },
"unknown": {
"message": "Inconnu"
},
+ "unknownFunction": {
+ "message": "Fonction inconnue"
+ },
"unknownNetwork": {
"message": "Réseau privé inconnu"
},
"unknownNetworkId": {
"message": "ID réseau inconnu"
},
+ "unknownQrCode": {
+ "message": "Erreur: Nous n'avons pas pu identifier le QR code"
+ },
+ "unknownCameraErrorTitle": {
+ "message": "Ooops ! Il y a eu un problème...."
+ },
+ "unknownCameraError": {
+ "message": "Une erreur s'est produite lors de l'accès à votre appareil photo. Veuillez reessayer..."
+ },
+ "unlock": {
+ "message": "Déverrouiller"
+ },
+ "unlockMessage": {
+ "message": "Le web décentralisé vous attend"
+ },
+ "updatedWithDate": {
+ "message": "Mis à jour $1"
+ },
+ "uriErrorMsg": {
+ "message": "Les URLs requièrent un préfixe HTTP/HTTPS approprié."
+ },
"usaOnly": {
"message": "Etats-Unis seulement",
"description": "Utiliser cet échange est limité aux personnes à l'intérieur des Etats-Unis"
@@ -591,19 +1240,49 @@
"usedByClients": {
"message": "Utilisé par une variété de clients différents"
},
+ "useOldUI": {
+ "message": "Utiliser l'ancienne interface."
+ },
+ "validFileImport": {
+ "message": "Vous devez selectionner un fichier valide à importer."
+ },
+ "vaultCreated": {
+ "message": "Coffre créé"
+ },
"viewAccount": {
"message": "Afficher le compte"
},
+ "viewOnEtherscan": {
+ "message": "Voir sur Etherscan"
+ },
+ "visitWebSite": {
+ "message": "Visitez notre site web"
+ },
"warning": {
"message": "Avertissement"
},
+ "welcomeBack": {
+ "message": "Bienvenue à nouveau !"
+ },
+ "welcomeBeta": {
+ "message": "Bienvenue dans la Beta de MetaMask"
+ },
"whatsThis": {
"message": "Qu'est-ce que c'est?"
},
+ "yesLetsTry": {
+ "message": "Oui, essayons"
+ },
+ "youNeedToAllowCameraAccess": {
+ "message": "Vous devez autoriser l'accès à votre appareil pour utiliser cette fonctionnalité."
+ },
"yourSigRequested": {
"message": "Votre signature est demandée"
},
"youSign": {
"message": "Vous signez"
+ },
+ "yourPrivateSeedPhrase": {
+ "message": "Votre phrase Seed privée"
}
}
diff --git a/app/_locales/ko/messages.json b/app/_locales/ko/messages.json
index 754aeca6e..5bc539e70 100644
--- a/app/_locales/ko/messages.json
+++ b/app/_locales/ko/messages.json
@@ -34,11 +34,11 @@
},
"appDescription": {
"message": "이더리움 브라우저 확장 프로그램",
- "description": "어플리케이션 설명"
+ "description": "애플리케이션 설명"
},
"appName": {
"message": "메타마스크",
- "description": "어플리케이션 이름"
+ "description": "애플리케이션 이름"
},
"approved": {
"message": "수락"
@@ -202,7 +202,7 @@
"message": "입금"
},
"depositBTC": {
- "message": "다음 주소로 BTC를 입급해주세요."
+ "message": "다음 주소로 BTC를 입금해주세요."
},
"depositCoin": {
"message": "다음 주소로 $1 만큼 입금해주세요.",
@@ -468,10 +468,10 @@
"message": "한도"
},
"loading": {
- "message": "로딩중..."
+ "message": "로딩 중..."
},
"loadingTokens": {
- "message": "토큰 로딩중..."
+ "message": "토큰 로딩 중..."
},
"localhost": {
"message": "로컬호스트 8545"
@@ -845,7 +845,7 @@
"message": "심볼은 0에서 10개 사이의 문자여야 합니다."
},
"takesTooLong": {
- "message": "너무 오래걸리나요?"
+ "message": "너무 오래 걸리나요?"
},
"terms": {
"message": "사용 지침"
@@ -900,7 +900,7 @@
"message": "전송"
},
"troubleTokenBalances": {
- "message": "토큰 잔액을 가져오는데에 문제가 생겼습니다. 링크에서 상세내용을 볼 수 있습니다.",
+ "message": "토큰 잔액을 가져오는 데에 문제가 생겼습니다. 링크에서 상세내용을 볼 수 있습니다.",
"description": "토큰 잔액을 보려면 (here) 링크를 따라가세요"
},
"twelveWords": {
diff --git a/app/scripts/controllers/network/createInfuraClient.js b/app/scripts/controllers/network/createInfuraClient.js
index 41af4d9f9..326bcb355 100644
--- a/app/scripts/controllers/network/createInfuraClient.js
+++ b/app/scripts/controllers/network/createInfuraClient.js
@@ -1,5 +1,6 @@
const mergeMiddleware = require('json-rpc-engine/src/mergeMiddleware')
-const createBlockReEmitMiddleware = require('eth-json-rpc-middleware/block-reemit')
+const createBlockReRefMiddleware = require('eth-json-rpc-middleware/block-ref')
+const createRetryOnEmptyMiddleware = require('eth-json-rpc-middleware/retryOnEmpty')
const createBlockCacheMiddleware = require('eth-json-rpc-middleware/block-cache')
const createInflightMiddleware = require('eth-json-rpc-middleware/inflight-cache')
const createBlockTrackerInspectorMiddleware = require('eth-json-rpc-middleware/block-tracker-inspector')
@@ -11,13 +12,14 @@ module.exports = createInfuraClient
function createInfuraClient ({ network }) {
const infuraMiddleware = createInfuraMiddleware({ network })
- const blockProvider = providerFromMiddleware(infuraMiddleware)
- const blockTracker = new BlockTracker({ provider: blockProvider })
+ const infuraProvider = providerFromMiddleware(infuraMiddleware)
+ const blockTracker = new BlockTracker({ provider: infuraProvider })
const networkMiddleware = mergeMiddleware([
createBlockCacheMiddleware({ blockTracker }),
createInflightMiddleware(),
- createBlockReEmitMiddleware({ blockTracker, provider: blockProvider }),
+ createBlockReRefMiddleware({ blockTracker, provider: infuraProvider }),
+ createRetryOnEmptyMiddleware({ blockTracker, provider: infuraProvider }),
createBlockTrackerInspectorMiddleware({ blockTracker }),
infuraMiddleware,
])
diff --git a/app/scripts/controllers/network/createJsonRpcClient.js b/app/scripts/controllers/network/createJsonRpcClient.js
index 40c353f7f..a8cbf2aaf 100644
--- a/app/scripts/controllers/network/createJsonRpcClient.js
+++ b/app/scripts/controllers/network/createJsonRpcClient.js
@@ -1,6 +1,6 @@
const mergeMiddleware = require('json-rpc-engine/src/mergeMiddleware')
const createFetchMiddleware = require('eth-json-rpc-middleware/fetch')
-const createBlockRefMiddleware = require('eth-json-rpc-middleware/block-ref')
+const createBlockRefRewriteMiddleware = require('eth-json-rpc-middleware/block-ref-rewrite')
const createBlockCacheMiddleware = require('eth-json-rpc-middleware/block-cache')
const createInflightMiddleware = require('eth-json-rpc-middleware/inflight-cache')
const createBlockTrackerInspectorMiddleware = require('eth-json-rpc-middleware/block-tracker-inspector')
@@ -15,7 +15,7 @@ function createJsonRpcClient ({ rpcUrl }) {
const blockTracker = new BlockTracker({ provider: blockProvider })
const networkMiddleware = mergeMiddleware([
- createBlockRefMiddleware({ blockTracker }),
+ createBlockRefRewriteMiddleware({ blockTracker }),
createBlockCacheMiddleware({ blockTracker }),
createInflightMiddleware(),
createBlockTrackerInspectorMiddleware({ blockTracker }),
diff --git a/app/scripts/controllers/network/createLocalhostClient.js b/app/scripts/controllers/network/createLocalhostClient.js
index fecc512e8..09b1d3c1c 100644
--- a/app/scripts/controllers/network/createLocalhostClient.js
+++ b/app/scripts/controllers/network/createLocalhostClient.js
@@ -1,6 +1,6 @@
const mergeMiddleware = require('json-rpc-engine/src/mergeMiddleware')
const createFetchMiddleware = require('eth-json-rpc-middleware/fetch')
-const createBlockRefMiddleware = require('eth-json-rpc-middleware/block-ref')
+const createBlockRefRewriteMiddleware = require('eth-json-rpc-middleware/block-ref-rewrite')
const createBlockTrackerInspectorMiddleware = require('eth-json-rpc-middleware/block-tracker-inspector')
const providerFromMiddleware = require('eth-json-rpc-middleware/providerFromMiddleware')
const BlockTracker = require('eth-block-tracker')
@@ -13,7 +13,7 @@ function createLocalhostClient () {
const blockTracker = new BlockTracker({ provider: blockProvider, pollingInterval: 1000 })
const networkMiddleware = mergeMiddleware([
- createBlockRefMiddleware({ blockTracker }),
+ createBlockRefRewriteMiddleware({ blockTracker }),
createBlockTrackerInspectorMiddleware({ blockTracker }),
fetchMiddleware,
])
diff --git a/app/scripts/inpage.js b/app/scripts/inpage.js
index d924be516..431702d63 100644
--- a/app/scripts/inpage.js
+++ b/app/scripts/inpage.js
@@ -5,6 +5,7 @@ const log = require('loglevel')
const LocalMessageDuplexStream = require('post-message-stream')
const setupDappAutoReload = require('./lib/auto-reload.js')
const MetamaskInpageProvider = require('metamask-inpage-provider')
+
restoreContextAfterImports()
log.setDefaultLevel(process.env.METAMASK_DEBUG ? 'debug' : 'warn')
@@ -44,7 +45,15 @@ inpageProvider.enable = function (options = {}) {
})
}
-window.ethereum = inpageProvider
+// Work around for web3@1.0 deleting the bound `sendAsync` but not the unbound
+// `sendAsync` method on the prototype, causing `this` reference issues with drizzle
+const proxiedInpageProvider = new Proxy(inpageProvider, {
+ // straight up lie that we deleted the property so that it doesnt
+ // throw an error in strict mode
+ deleteProperty: () => true,
+})
+
+window.ethereum = proxiedInpageProvider
//
// setup web3
@@ -58,7 +67,7 @@ if (typeof window.web3 !== 'undefined') {
and try again.`)
}
-var web3 = new Web3(inpageProvider)
+var web3 = new Web3(proxiedInpageProvider)
web3.setProvider = function () {
log.debug('MetaMask - overrode web3.setProvider')
}
diff --git a/app/scripts/lib/message-manager.js b/app/scripts/lib/message-manager.js
index 47925b94b..e86629590 100644
--- a/app/scripts/lib/message-manager.js
+++ b/app/scripts/lib/message-manager.js
@@ -272,6 +272,6 @@ function normalizeMsgData (data) {
return data
} else {
// data is unicode, convert to hex
- return ethUtil.bufferToHex(new Buffer(data, 'utf8'))
+ return ethUtil.bufferToHex(Buffer.from(data, 'utf8'))
}
}
diff --git a/app/scripts/lib/personal-message-manager.js b/app/scripts/lib/personal-message-manager.js
index fc2cccdf1..fdb94f5ec 100644
--- a/app/scripts/lib/personal-message-manager.js
+++ b/app/scripts/lib/personal-message-manager.js
@@ -285,7 +285,7 @@ module.exports = class PersonalMessageManager extends EventEmitter {
log.debug(`Message was not hex encoded, interpreting as utf8.`)
}
- return ethUtil.bufferToHex(new Buffer(data, 'utf8'))
+ return ethUtil.bufferToHex(Buffer.from(data, 'utf8'))
}
}
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index a04c63da6..493877345 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -15,6 +15,7 @@ const RpcEngine = require('json-rpc-engine')
const debounce = require('debounce')
const createEngineStream = require('json-rpc-middleware-stream/engineStream')
const createFilterMiddleware = require('eth-json-rpc-filters')
+const createSubscriptionManager = require('eth-json-rpc-filters/subscriptionManager')
const createOriginMiddleware = require('./lib/createOriginMiddleware')
const createLoggerMiddleware = require('./lib/createLoggerMiddleware')
const createProviderMiddleware = require('./lib/createProviderMiddleware')
@@ -1248,24 +1249,33 @@ module.exports = class MetamaskController extends EventEmitter {
setupProviderConnection (outStream, origin) {
// setup json rpc engine stack
const engine = new RpcEngine()
+ const provider = this.provider
+ const blockTracker = this.blockTracker
// create filter polyfill middleware
- const filterMiddleware = createFilterMiddleware({
- provider: this.provider,
- blockTracker: this.blockTracker,
- })
+ const filterMiddleware = createFilterMiddleware({ provider, blockTracker })
+ // create subscription polyfill middleware
+ const subscriptionManager = createSubscriptionManager({ provider, blockTracker })
+ subscriptionManager.events.on('notification', (message) => engine.emit('notification', message))
+ // metadata
engine.push(createOriginMiddleware({ origin }))
engine.push(createLoggerMiddleware({ origin }))
+ // filter and subscription polyfills
engine.push(filterMiddleware)
+ engine.push(subscriptionManager.middleware)
+ // watch asset
engine.push(this.preferencesController.requestWatchAsset.bind(this.preferencesController))
+ // sign typed data middleware
engine.push(this.createTypedDataMiddleware('eth_signTypedData', 'V1').bind(this))
engine.push(this.createTypedDataMiddleware('eth_signTypedData_v1', 'V1').bind(this))
engine.push(this.createTypedDataMiddleware('eth_signTypedData_v3', 'V3', true).bind(this))
- engine.push(createProviderMiddleware({ provider: this.provider }))
+ // forward to metamask primary provider
+ engine.push(createProviderMiddleware({ provider }))
// setup connection
const providerStream = createEngineStream({ engine })
+
pump(
outStream,
providerStream,
diff --git a/development/verify-locale-strings.js b/development/verify-locale-strings.js
index 0eef2b35d..0f408ea39 100644
--- a/development/verify-locale-strings.js
+++ b/development/verify-locale-strings.js
@@ -20,7 +20,7 @@ const specifiedLocale = process.argv[2]
if (specifiedLocale) {
console.log(`Verifying selected locale "${specifiedLocale}":\n\n`)
const locale = localeIndex.find(localeMeta => localeMeta.code === specifiedLocale)
- verifyLocale({ locale })
+ verifyLocale(locale)
} else {
console.log('Verifying all locales:\n\n')
localeIndex.forEach(localeMeta => {
@@ -30,11 +30,10 @@ if (specifiedLocale) {
}
-function verifyLocale ({ localeMeta }) {
+function verifyLocale (localeMeta) {
const localeCode = localeMeta.code
const localeName = localeMeta.name
let targetLocale, englishLocale
-
try {
const localeFilePath = path.join(process.cwd(), 'app', '_locales', localeCode, 'messages.json')
targetLocale = JSON.parse(fs.readFileSync(localeFilePath, 'utf8'))
diff --git a/docs/porting_to_new_environment.md b/docs/porting_to_new_environment.md
index 975d9e32e..d901f2b78 100644
--- a/docs/porting_to_new_environment.md
+++ b/docs/porting_to_new_environment.md
@@ -21,7 +21,7 @@ The core functionality of MetaMask all lives in what we call [The MetaMask Contr
When calling `new MetaMask(opts)`, many platform-specific options are configured. The keys on `opts` are as follows:
- initState: The last emitted state, used for restoring persistent state between sessions.
-- platform: The `platform` object defines a variety of platform-specific functions, including opening the confirmation view, and opening web sites.
+- platform: The `platform` object defines a variety of platform-specific functions, including opening the confirmation view, and opening websites.
- encryptor - An object that provides access to the desired encryption methods.
##### Encryptor
diff --git a/docs/state_dump.md b/docs/state_dump.md
index ecb863982..855445dca 100644
--- a/docs/state_dump.md
+++ b/docs/state_dump.md
@@ -11,5 +11,5 @@ To take a state dump, follow these steps:
3. In case it isn't already selected, click the "Console" tab in the new Developer Tools window.
4. In the console, type this command exactly: `logState()`. This should print a bunch of JSON text into your console.
5. Copy that printed JSON text
-6. *Optional*: Annonymize that text if you'd like (you may change all instances of an account address to another valid account address, for example) We may automate the anonymization in the future.
+6. *Optional*: Anonymize that text if you'd like (you may change all instances of an account address to another valid account address, for example) We may automate the anonymization in the future.
7. Send that JSON text to the developer, ideally pasting it in the issue regarding the bug.
diff --git a/docs/translating-guide.md b/docs/translating-guide.md
index 8b2bc1785..684316e4f 100644
--- a/docs/translating-guide.md
+++ b/docs/translating-guide.md
@@ -8,7 +8,7 @@ The MetaMask browser extension supports new translations added in the form of ne
- Each supported language is represented by a folder in `app/_locales` whose name is that language's subtag (example: `app/_locales/es/`). (look up a language subtag using the [r12a "Find" tool](https://r12a.github.io/app-subtags/) or this [wikipedia list](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)).
- Inside that folder there should be a `messages.json`.
-- An easy way to start your translation is to first **make a copy** of `app/_locales/en/messages.json` (the english translation), and then **translate the `message` key** for each in-app message.
+- An easy way to start your translation is to first **make a copy** of `app/_locales/en/messages.json` (the English translation), and then **translate the `message` key** for each in-app message.
- **The `description` key** is just to add context for what the translation is about, it **does not need to be translated**.
- Add the language to the [locales index](https://github.com/MetaMask/metamask-extension/blob/master/app/_locales/index.json) `app/_locales/index.json`
diff --git a/package-lock.json b/package-lock.json
index 75c64cd8c..a617d2de4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5469,8 +5469,7 @@
"btoa": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
- "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
- "dev": true
+ "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="
},
"buffer": {
"version": "5.1.0",
@@ -9571,14 +9570,15 @@
}
},
"eth-block-tracker": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.0.2.tgz",
- "integrity": "sha512-5DHm+9zLOSnUNYUXv1TaZMgGPmT3fuOyPxEnqBrOIVxICbt/AjXypkHnrp+6yIWWWFDhpq58boMdzWb+8Rmt9g==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-4.0.3.tgz",
+ "integrity": "sha512-Uy+5hEvOT1/C6N1Lw/uQ10v03ArnNEQEkM0yhJQWwpd8Ymy3sw4jk75SE58s1spfOBBtnr8JaSAFioAFSeg6HA==",
"requires": {
- "eth-json-rpc-infura": "^3.1.0",
+ "eth-json-rpc-infura": "^3.1.2",
"eth-query": "^2.1.0",
"events": "^3.0.0",
- "pify": "^3.0.0"
+ "pify": "^3.0.0",
+ "safe-event-emitter": "^1.0.1"
},
"dependencies": {
"cross-fetch": {
@@ -9691,13 +9691,12 @@
"resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz",
"integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
"requires": {
- "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"ethereumjs-util": "^5.1.1"
},
"dependencies": {
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
- "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
@@ -9730,46 +9729,69 @@
}
},
"eth-json-rpc-filters": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-2.1.1.tgz",
- "integrity": "sha512-FSFcCMJ1lRS8az1LhIK5Klima8Hyfv4keKSdW2MA3zwiN/wX1NKb/sQSEFO3nstPUqR2Aa02lVokp85UnnrBlA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-3.0.1.tgz",
+ "integrity": "sha512-F/UbtD47UnZDFILYP5GJLklYQ7witEI9TdCLgw0r4iag8ZLzz5h4Q+9odg2ASVZKkm8E50mrb7PaYCK0thVxfw==",
"requires": {
- "await-semaphore": "^0.1.1",
- "eth-json-rpc-middleware": "^1.6.0",
- "ethjs-query": "^0.3.6",
- "json-rpc-engine": "^3.4.0",
- "lodash.flatmap": "^4.5.0"
+ "await-semaphore": "^0.1.3",
+ "eth-json-rpc-middleware": "^2.6.0",
+ "ethjs-query": "^0.3.8",
+ "json-rpc-engine": "^3.8.0",
+ "lodash.flatmap": "^4.5.0",
+ "safe-event-emitter": "^1.0.1"
},
"dependencies": {
- "babelify": {
- "version": "7.3.0",
- "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
- "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=",
- "requires": {
- "babel-core": "^6.0.14",
- "object-assign": "^4.0.0"
- }
- },
"eth-json-rpc-middleware": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz",
- "integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-2.6.0.tgz",
+ "integrity": "sha512-IziwA0IXzxCVgruvb0KzhypAdRNM6QBC6LOlXQrzr8ddo3in+PGzl9tMV79TGFoRoRfsysnjbvOKwMnQJADkIw==",
"requires": {
"async": "^2.5.0",
+ "btoa": "^1.2.1",
+ "clone": "^2.1.1",
"eth-query": "^2.1.2",
+ "eth-sig-util": "^1.4.2",
"eth-tx-summary": "^3.1.2",
"ethereumjs-block": "^1.6.0",
"ethereumjs-tx": "^1.3.3",
"ethereumjs-util": "^5.1.2",
"ethereumjs-vm": "^2.1.0",
"fetch-ponyfill": "^4.0.0",
- "json-rpc-engine": "^3.6.0",
+ "json-rpc-engine": "^3.6.3",
"json-rpc-error": "^2.0.0",
"json-stable-stringify": "^1.0.1",
+ "pify": "^3.0.0",
"promise-to-callback": "^1.0.0",
+ "safe-event-emitter": "^1.0.1",
"tape": "^4.6.3"
}
},
+ "eth-sig-util": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz",
+ "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
+ "requires": {
+ "ethereumjs-util": "^5.1.1"
+ },
+ "dependencies": {
+ "ethereumjs-abi": {
+ "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
+ "requires": {
+ "bn.js": "^4.10.0",
+ "ethereumjs-util": "^5.0.0"
+ }
+ }
+ }
+ },
+ "ethereumjs-abi": {
+ "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
+ "requires": {
+ "bn.js": "^4.10.0",
+ "ethereumjs-util": "^5.0.0"
+ }
+ },
"ethereumjs-util": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz",
@@ -9802,19 +9824,6 @@
"requires": {
"promise-to-callback": "^1.0.0"
}
- },
- "json-rpc-engine": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.7.3.tgz",
- "integrity": "sha512-+FO3UWu/wafh/+MZ6BXy0HZU+f5plwUn82FgxpC0scJkEh5snOjFrAAtqCITPDfvfLHRUFOG5pQDUx2pspfERQ==",
- "requires": {
- "async": "^2.0.1",
- "babel-preset-env": "^1.3.2",
- "babelify": "^7.3.0",
- "clone": "^2.1.1",
- "json-rpc-error": "^2.0.0",
- "promise-to-callback": "^1.0.0"
- }
}
}
},
@@ -9888,9 +9897,9 @@
}
},
"eth-json-rpc-middleware": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-2.5.0.tgz",
- "integrity": "sha512-SVBP7U23JMd8HBp6uxh4BPbvrbtOsRI+otMCLCTtvH95MlvzuRDJZl5BQNIXZi7CNTEXjQZVcGAKLizlnc7zMQ==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-3.1.1.tgz",
+ "integrity": "sha512-5mRpjmszVQbKaUk3kiKkP9+hyyD3ZIg3mJ+jiydZ46cfNbrFVzfTDvZKnYLPrQPEi4+CaYqF+7XnIHIGztd9JQ==",
"dev": true,
"requires": {
"async": "^2.5.0",
@@ -9909,6 +9918,7 @@
"json-stable-stringify": "^1.0.1",
"pify": "^3.0.0",
"promise-to-callback": "^1.0.0",
+ "safe-event-emitter": "^1.0.1",
"tape": "^4.6.3"
},
"dependencies": {
@@ -9992,13 +10002,12 @@
"resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz",
"integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
"requires": {
- "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"ethereumjs-util": "^5.1.1"
},
"dependencies": {
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
- "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
@@ -10059,13 +10068,12 @@
"resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz",
"integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
"requires": {
- "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"ethereumjs-util": "^5.1.1"
},
"dependencies": {
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
- "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
@@ -10325,13 +10333,12 @@
"resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz",
"integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
"requires": {
- "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"ethereumjs-util": "^5.1.1"
},
"dependencies": {
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
- "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
@@ -10554,13 +10561,12 @@
"resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz",
"integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
"requires": {
- "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"ethereumjs-util": "^5.1.1"
},
"dependencies": {
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
- "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
@@ -10793,13 +10799,12 @@
"resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz",
"integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
"requires": {
- "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"ethereumjs-util": "^5.1.1"
},
"dependencies": {
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
- "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
@@ -13794,14 +13799,12 @@
"integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=",
"dev": true,
"requires": {
- "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"ethereumjs-util": "^5.1.1"
},
"dependencies": {
"ethereumjs-abi": {
"version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
- "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git",
- "dev": true,
+ "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git#00ba8463a7f7a67fcad737ff9c2ebd95643427f7",
"requires": {
"bn.js": "^4.10.0",
"ethereumjs-util": "^5.0.0"
@@ -18023,15 +18026,16 @@
"dev": true
},
"json-rpc-engine": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.7.4.tgz",
- "integrity": "sha512-urQunMR6LYIPhGs6ppLGqdwSVkllaVa70Em9uGYgEi5iqG3/oKYZM0B9C9EaRfih30k+tztDn2GG9eHbuaMmwg==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz",
+ "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==",
"requires": {
"async": "^2.0.1",
- "babel-preset-env": "^1.3.2",
+ "babel-preset-env": "^1.7.0",
"babelify": "^7.3.0",
"json-rpc-error": "^2.0.0",
- "promise-to-callback": "^1.0.0"
+ "promise-to-callback": "^1.0.0",
+ "safe-event-emitter": "^1.0.1"
},
"dependencies": {
"babelify": {
@@ -18054,15 +18058,16 @@
}
},
"json-rpc-middleware-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-1.0.1.tgz",
- "integrity": "sha512-IR6cOO6B21NdLpiYblueB3O+g3UAYLIZd6ZgZfddVPl0z6vSECcpuiYnV5MmIMJY3D0fLYpJqOxYaEmLYQqTtA==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-2.1.0.tgz",
+ "integrity": "sha512-JxX+kbS9sDMHvnADFLlV/QtkgeIYVF/2R8UuxXaiZc7ntVEgi/lkzMGbGkDwdRg36rHnUIvCZk6zR/5Y3bAq1w==",
"requires": {
"end-of-stream": "^1.4.0",
"eth-block-tracker": "^2.1.2",
"ethjs-query": "^0.2.9",
- "json-rpc-engine": "^3.0.1",
- "readable-stream": "^2.3.3"
+ "json-rpc-engine": "^3.8.0",
+ "readable-stream": "^2.3.3",
+ "safe-event-emitter": "^1.0.1"
},
"dependencies": {
"async-eventemitter": {
@@ -18081,11 +18086,6 @@
"object-assign": "^4.0.0"
}
},
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
- },
"eth-block-tracker": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-2.3.1.tgz",
@@ -18126,6 +18126,22 @@
"is-hex-prefixed": "1.0.0",
"number-to-bn": "1.7.0",
"strip-hex-prefix": "1.0.0"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.11.6",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+ "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
+ },
+ "ethjs-util": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz",
+ "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=",
+ "requires": {
+ "is-hex-prefixed": "1.0.0",
+ "strip-hex-prefix": "1.0.0"
+ }
+ }
}
},
"ethjs-query": {
@@ -18142,26 +18158,17 @@
"resolved": "https://registry.npmjs.org/ethjs-schema/-/ethjs-schema-0.1.5.tgz",
"integrity": "sha1-WXQOOzl3vNu5sRvDBoIB6Kzquw0="
},
- "ethjs-util": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz",
- "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=",
- "requires": {
- "is-hex-prefixed": "1.0.0",
- "strip-hex-prefix": "1.0.0"
- }
- },
"json-rpc-engine": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.7.3.tgz",
- "integrity": "sha512-+FO3UWu/wafh/+MZ6BXy0HZU+f5plwUn82FgxpC0scJkEh5snOjFrAAtqCITPDfvfLHRUFOG5pQDUx2pspfERQ==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz",
+ "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==",
"requires": {
"async": "^2.0.1",
- "babel-preset-env": "^1.3.2",
+ "babel-preset-env": "^1.7.0",
"babelify": "^7.3.0",
- "clone": "^2.1.1",
"json-rpc-error": "^2.0.0",
- "promise-to-callback": "^1.0.0"
+ "promise-to-callback": "^1.0.0",
+ "safe-event-emitter": "^1.0.1"
}
},
"pify": {
@@ -20827,6 +20834,13 @@
"pump": "^1.0.2"
},
"dependencies": {
+ "async-eventemitter": {
+ "version": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c",
+ "from": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c",
+ "requires": {
+ "async": "^2.4.0"
+ }
+ },
"babelify": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz",
@@ -20836,6 +20850,78 @@
"object-assign": "^4.0.0"
}
},
+ "eth-block-tracker": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-2.3.1.tgz",
+ "integrity": "sha512-NamWuMBIl8kmkJFVj8WzGatySTzQPQag4Xr677yFxdVtIxACFbL/dQowk0MzEqIKk93U1TwY3MjVU6mOcwZnKA==",
+ "requires": {
+ "async-eventemitter": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c",
+ "eth-query": "^2.1.0",
+ "ethereumjs-tx": "^1.3.3",
+ "ethereumjs-util": "^5.1.3",
+ "ethjs-util": "^0.1.3",
+ "json-rpc-engine": "^3.6.0",
+ "pify": "^2.3.0",
+ "tape": "^4.6.3"
+ }
+ },
+ "ethereumjs-util": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz",
+ "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==",
+ "requires": {
+ "bn.js": "^4.11.0",
+ "create-hash": "^1.1.2",
+ "ethjs-util": "^0.1.3",
+ "keccak": "^1.0.2",
+ "rlp": "^2.0.0",
+ "safe-buffer": "^5.1.1",
+ "secp256k1": "^3.0.1"
+ }
+ },
+ "ethjs-format": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/ethjs-format/-/ethjs-format-0.2.2.tgz",
+ "integrity": "sha1-1zs6YFwuElcHn3B3/VRI6ZjOD80=",
+ "requires": {
+ "bn.js": "4.11.6",
+ "ethjs-schema": "0.1.5",
+ "ethjs-util": "0.1.3",
+ "is-hex-prefixed": "1.0.0",
+ "number-to-bn": "1.7.0",
+ "strip-hex-prefix": "1.0.0"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "4.11.6",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
+ "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
+ },
+ "ethjs-util": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.3.tgz",
+ "integrity": "sha1-39XqSkANxeQhqInK9H4IGtp4u1U=",
+ "requires": {
+ "is-hex-prefixed": "1.0.0",
+ "strip-hex-prefix": "1.0.0"
+ }
+ }
+ }
+ },
+ "ethjs-query": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/ethjs-query/-/ethjs-query-0.2.9.tgz",
+ "integrity": "sha1-om5rTzhpnpLzSyGE51x4lDKcQvE=",
+ "requires": {
+ "ethjs-format": "0.2.2",
+ "ethjs-rpc": "0.1.5"
+ }
+ },
+ "ethjs-schema": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/ethjs-schema/-/ethjs-schema-0.1.5.tgz",
+ "integrity": "sha1-WXQOOzl3vNu5sRvDBoIB6Kzquw0="
+ },
"json-rpc-engine": {
"version": "3.7.3",
"resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.7.3.tgz",
@@ -20849,6 +20935,18 @@
"promise-to-callback": "^1.0.0"
}
},
+ "json-rpc-middleware-stream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-1.0.1.tgz",
+ "integrity": "sha512-IR6cOO6B21NdLpiYblueB3O+g3UAYLIZd6ZgZfddVPl0z6vSECcpuiYnV5MmIMJY3D0fLYpJqOxYaEmLYQqTtA==",
+ "requires": {
+ "end-of-stream": "^1.4.0",
+ "eth-block-tracker": "^2.1.2",
+ "ethjs-query": "^0.2.9",
+ "json-rpc-engine": "^3.0.1",
+ "readable-stream": "^2.3.3"
+ }
+ },
"obs-store": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/obs-store/-/obs-store-2.4.1.tgz",
@@ -20861,6 +20959,11 @@
"xtend": "^4.0.1"
}
},
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ },
"pump": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
@@ -20873,16 +20976,17 @@
}
},
"metamask-inpage-provider": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/metamask-inpage-provider/-/metamask-inpage-provider-1.1.1.tgz",
- "integrity": "sha512-I7P8mny3e03dwzt0SFsXOmoj1eEz5GpUGiBIAJ4fyXUpx92JkII5ekq/MNkf5muktoJod9cWjDF03//+/DCD2A==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/metamask-inpage-provider/-/metamask-inpage-provider-1.2.2.tgz",
+ "integrity": "sha512-/CZaGf+yN56+fcrNekBSwyxSFVtCrsesQ5S3n8d+0/7RkB6OgghMh9qanKgAKXfdKEYNvEBuLrsICdbgGhBekA==",
"requires": {
"json-rpc-engine": "^3.7.4",
- "json-rpc-middleware-stream": "^1.0.1",
+ "json-rpc-middleware-stream": "^2.0.0",
"loglevel": "^1.6.1",
"obj-multiplex": "^1.0.0",
"obs-store": "^3.0.0",
- "pump": "^3.0.0"
+ "pump": "^3.0.0",
+ "safe-event-emitter": "^1.0.1"
},
"dependencies": {
"loglevel": {
@@ -28584,6 +28688,21 @@
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
},
+ "safe-event-emitter": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz",
+ "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==",
+ "requires": {
+ "events": "^3.0.0"
+ },
+ "dependencies": {
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
+ }
+ }
+ },
"safe-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
@@ -32722,7 +32841,6 @@
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
"requires": {
"is-typedarray": "^1.0.0"
}
@@ -33748,7 +33866,6 @@
"resolved": "https://registry.npmjs.org/web3/-/web3-0.20.3.tgz",
"integrity": "sha1-yqRDc9yIFayHZ73ba6cwc5ZMqos=",
"requires": {
- "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934",
"crypto-js": "^3.1.4",
"utf8": "^2.1.1",
"xhr2": "*",
@@ -33757,7 +33874,7 @@
"dependencies": {
"bignumber.js": {
"version": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934",
- "from": "git+https://github.com/frozeman/bignumber.js-nolookahead.git"
+ "from": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934"
}
}
},
@@ -34155,8 +34272,7 @@
"dev": true,
"requires": {
"underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.34",
- "websocket": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c"
+ "web3-core-helpers": "1.0.0-beta.34"
},
"dependencies": {
"underscore": {
@@ -34167,8 +34283,7 @@
},
"websocket": {
"version": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c",
- "from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible",
- "dev": true,
+ "from": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c",
"requires": {
"debug": "^2.2.0",
"nan": "^2.3.3",
@@ -34782,8 +34897,7 @@
"yaeti": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=",
- "dev": true
+ "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
},
"yallist": {
"version": "2.1.2",
diff --git a/package.json b/package.json
index cd0744260..8131ea1c4 100644
--- a/package.json
+++ b/package.json
@@ -111,11 +111,11 @@
"ensnare": "^1.0.0",
"eslint-plugin-react": "^7.4.0",
"eth-bin-to-ops": "^1.0.1",
- "eth-block-tracker": "^4.0.2",
+ "eth-block-tracker": "^4.0.3",
"eth-contract-metadata": "github:MetaMask/eth-contract-metadata#master",
"eth-ens-namehash": "^2.0.8",
"eth-hd-keyring": "^1.2.2",
- "eth-json-rpc-filters": "^2.1.1",
+ "eth-json-rpc-filters": "^3.0.1",
"eth-json-rpc-infura": "^3.0.0",
"eth-keyring-controller": "^3.1.4",
"eth-ledger-bridge-keyring": "^0.1.0",
@@ -155,8 +155,8 @@
"iframe-stream": "^3.0.0",
"inject-css": "^0.1.1",
"jazzicon": "^1.2.0",
- "json-rpc-engine": "^3.7.4",
- "json-rpc-middleware-stream": "^1.0.1",
+ "json-rpc-engine": "^3.8.0",
+ "json-rpc-middleware-stream": "^2.1.0",
"jsonschema": "^1.2.4",
"lodash.debounce": "^4.0.8",
"lodash.memoize": "^4.1.2",
@@ -164,7 +164,7 @@
"lodash.uniqby": "^4.7.0",
"loglevel": "^1.4.1",
"metamascara": "^2.0.0",
- "metamask-inpage-provider": "^1.1.1",
+ "metamask-inpage-provider": "^1.2.2",
"metamask-logo": "^2.1.4",
"mkdirp": "^0.5.1",
"multihashes": "^0.4.12",
@@ -260,7 +260,7 @@
"eslint-plugin-json": "^1.2.0",
"eslint-plugin-mocha": "^5.0.0",
"eslint-plugin-react": "^7.4.0",
- "eth-json-rpc-middleware": "^2.5.0",
+ "eth-json-rpc-middleware": "^3.1.1",
"eth-keyring-controller": "^3.3.1",
"file-loader": "^1.1.11",
"fs-extra": "^6.0.1",
diff --git a/test/lib/mock-encryptor.js b/test/lib/mock-encryptor.js
index 48aa9e52c..852c536c2 100644
--- a/test/lib/mock-encryptor.js
+++ b/test/lib/mock-encryptor.js
@@ -1,5 +1,5 @@
var mockHex = '0xabcdef0123456789'
-var mockKey = new Buffer(32)
+var mockKey = Buffer.alloc(32)
let cacheVal
module.exports = {
diff --git a/test/unit/components/binary-renderer-test.js b/test/unit/components/binary-renderer-test.js
index 7bf9250cc..e428c26ad 100644
--- a/test/unit/components/binary-renderer-test.js
+++ b/test/unit/components/binary-renderer-test.js
@@ -4,7 +4,7 @@ var BinaryRenderer = require('../../../old-ui/app/components/binary-renderer')
describe('BinaryRenderer', function () {
let binaryRenderer
const message = 'Hello, world!'
- const buffer = new Buffer(message, 'utf8')
+ const buffer = Buffer.from(message, 'utf8')
const hex = buffer.toString('hex')
beforeEach(function () {
diff --git a/test/unit/development/sample-changelog.md b/test/unit/development/sample-changelog.md
index 8fc9d2145..fd980e375 100644
--- a/test/unit/development/sample-changelog.md
+++ b/test/unit/development/sample-changelog.md
@@ -67,7 +67,7 @@
- Estimating gas limit for simple ether sends now faster & cheaper, by avoiding VM usage on recipients with no code.
- Add an extra px to address for Firefox clipping.
- Fix Firefox scrollbar.
-- Open metamask popup for transaction confirmation before gas estimation finishes and add a loading screen over transaction confirmation.
+- Open MetaMask popup for transaction confirmation before gas estimation finishes and add a loading screen over transaction confirmation.
- Fix bug that prevented eth_signTypedData from signing bytes.
- Further improve gas price estimation.
@@ -330,7 +330,7 @@ rollback to 3.10.0 due to bug
## 3.7.7 2017-6-8
-- Fix bug where metamask would show old data after computer being asleep or disconnected from the internet.
+- Fix bug where MetaMask would show old data after computer being asleep or disconnected from the internet.
## 3.7.6 2017-6-5